@uwdata/mosaic-spec 0.7.1 → 0.9.0
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.
- package/dist/mosaic-schema.json +192673 -0
- package/dist/mosaic-spec.js +5077 -5774
- package/dist/mosaic-spec.min.js +23 -23
- package/dist/types/ast/ASTNode.d.ts +26 -0
- package/dist/types/ast/DataNode.d.ts +60 -0
- package/dist/types/ast/ExpressionNode.d.ts +15 -0
- package/dist/types/ast/HConcatNode.d.ts +10 -0
- package/dist/types/ast/HSpaceNode.d.ts +11 -0
- package/dist/types/ast/InputNode.d.ts +8 -0
- package/dist/types/ast/LiteralNode.d.ts +7 -0
- package/dist/types/ast/OptionsNode.d.ts +10 -0
- package/dist/types/ast/ParamNode.d.ts +9 -0
- package/dist/types/ast/ParamRefNode.d.ts +8 -0
- package/dist/types/ast/PlotAttributeNode.d.ts +18 -0
- package/dist/types/ast/PlotFromNode.d.ts +9 -0
- package/dist/types/ast/PlotInteractorNode.d.ts +8 -0
- package/dist/types/ast/PlotLegendNode.d.ts +10 -0
- package/dist/types/ast/PlotMarkNode.d.ts +10 -0
- package/dist/types/ast/PlotNode.d.ts +11 -0
- package/dist/types/ast/SelectionNode.d.ts +12 -0
- package/dist/types/ast/SpecNode.d.ts +10 -0
- package/dist/types/ast/TransformNode.d.ts +13 -0
- package/dist/types/ast/VConcatNode.d.ts +10 -0
- package/dist/types/ast/VSpaceNode.d.ts +11 -0
- package/dist/types/ast-to-dom.d.ts +38 -0
- package/dist/types/ast-to-esm.d.ts +64 -0
- package/dist/types/config/components.d.ts +4 -0
- package/dist/types/config/extensions.d.ts +9 -0
- package/dist/types/config/inputs.d.ts +5 -0
- package/dist/types/config/plots.d.ts +34 -0
- package/dist/types/config/transforms.d.ts +4 -0
- package/dist/types/constants.d.ts +30 -0
- package/dist/types/index.d.ts +29 -0
- package/dist/types/parse-spec.d.ts +86 -0
- package/dist/types/spec/CSSStyles.d.ts +3 -0
- package/dist/types/spec/Data.d.ts +165 -0
- package/dist/types/spec/Expression.d.ts +27 -0
- package/dist/types/spec/HConcat.d.ts +8 -0
- package/dist/types/spec/HSpace.d.ts +9 -0
- package/dist/types/spec/Input.d.ts +207 -0
- package/dist/types/spec/Param.d.ts +51 -0
- package/dist/types/spec/Plot.d.ts +14 -0
- package/dist/types/spec/PlotAttribute.d.ts +1522 -0
- package/dist/types/spec/PlotFrom.d.ts +20 -0
- package/dist/types/spec/PlotInteractor.d.ts +8 -0
- package/dist/types/spec/PlotLegend.d.ts +68 -0
- package/dist/types/spec/PlotMark.d.ts +27 -0
- package/dist/types/spec/PlotTypes.d.ts +293 -0
- package/dist/types/spec/Spec.d.ts +52 -0
- package/dist/types/spec/Transform.d.ts +314 -0
- package/dist/types/spec/VConcat.d.ts +8 -0
- package/dist/types/spec/VSpace.d.ts +9 -0
- package/dist/types/spec/interactors/Highlight.d.ts +37 -0
- package/dist/types/spec/interactors/Interval1D.d.ts +63 -0
- package/dist/types/spec/interactors/Interval2D.d.ts +46 -0
- package/dist/types/spec/interactors/Nearest.d.ts +44 -0
- package/dist/types/spec/interactors/PanZoom.d.ts +58 -0
- package/dist/types/spec/interactors/Toggle.d.ts +59 -0
- package/dist/types/spec/marks/Area.d.ts +139 -0
- package/dist/types/spec/marks/Arrow.d.ts +94 -0
- package/dist/types/spec/marks/Axis.d.ts +281 -0
- package/dist/types/spec/marks/Bar.d.ts +150 -0
- package/dist/types/spec/marks/Cell.d.ts +57 -0
- package/dist/types/spec/marks/Contour.d.ts +23 -0
- package/dist/types/spec/marks/Delaunay.d.ts +86 -0
- package/dist/types/spec/marks/DenseLine.d.ts +27 -0
- package/dist/types/spec/marks/Density.d.ts +121 -0
- package/dist/types/spec/marks/Dot.d.ts +133 -0
- package/dist/types/spec/marks/ErrorBar.d.ts +82 -0
- package/dist/types/spec/marks/Frame.d.ts +21 -0
- package/dist/types/spec/marks/Geo.d.ts +53 -0
- package/dist/types/spec/marks/Hexbin.d.ts +30 -0
- package/dist/types/spec/marks/Hexgrid.d.ts +25 -0
- package/dist/types/spec/marks/Image.d.ts +89 -0
- package/dist/types/spec/marks/Line.d.ts +82 -0
- package/dist/types/spec/marks/Link.d.ts +60 -0
- package/dist/types/spec/marks/Marks.d.ts +905 -0
- package/dist/types/spec/marks/Raster.d.ts +124 -0
- package/dist/types/spec/marks/Rect.d.ts +166 -0
- package/dist/types/spec/marks/Regression.d.ts +58 -0
- package/dist/types/spec/marks/Rule.d.ts +100 -0
- package/dist/types/spec/marks/Text.d.ts +110 -0
- package/dist/types/spec/marks/Tick.d.ts +61 -0
- package/dist/types/spec/marks/Vector.d.ts +99 -0
- package/dist/types/util.d.ts +12 -0
- package/jsconfig.json +10 -0
- package/package.json +14 -9
- package/src/ast/ASTNode.js +23 -2
- package/src/ast/DataNode.js +79 -21
- package/src/ast/HSpaceNode.js +1 -1
- package/src/ast/InputNode.js +1 -2
- package/src/ast/ParamNode.js +1 -2
- package/src/ast/PlotAttributeNode.js +1 -2
- package/src/ast/PlotInteractorNode.js +1 -2
- package/src/ast/PlotLegendNode.js +1 -2
- package/src/ast/PlotMarkNode.js +3 -2
- package/src/ast/TransformNode.js +1 -2
- package/src/ast/VSpaceNode.js +1 -1
- package/src/ast-to-dom.js +9 -3
- package/src/ast-to-esm.js +41 -12
- package/src/config/inputs.js +1 -0
- package/src/config/plots.js +4 -0
- package/src/config/transforms.js +6 -0
- package/src/index.js +4 -0
- package/src/parse-spec.js +38 -5
- package/src/spec/CSSStyles.ts +9 -0
- package/src/spec/Data.ts +184 -0
- package/src/spec/Expression.ts +31 -0
- package/src/spec/HConcat.ts +9 -0
- package/src/spec/HSpace.ts +9 -0
- package/src/spec/Input.ts +204 -0
- package/src/spec/Param.ts +68 -0
- package/src/spec/Plot.ts +15 -0
- package/src/spec/PlotAttribute.ts +1783 -0
- package/src/spec/PlotFrom.ts +23 -0
- package/src/spec/PlotInteractor.ts +25 -0
- package/src/spec/PlotLegend.ts +70 -0
- package/src/spec/PlotMark.ts +53 -0
- package/src/spec/PlotTypes.ts +519 -0
- package/src/spec/Spec.ts +70 -0
- package/src/spec/Transform.ts +446 -0
- package/src/spec/VConcat.ts +9 -0
- package/src/spec/VSpace.ts +9 -0
- package/src/spec/interactors/Highlight.ts +38 -0
- package/src/spec/interactors/Interval1D.ts +67 -0
- package/src/spec/interactors/Interval2D.ts +48 -0
- package/src/spec/interactors/Nearest.ts +48 -0
- package/src/spec/interactors/PanZoom.ts +65 -0
- package/src/spec/interactors/Toggle.ts +65 -0
- package/src/spec/marks/Area.ts +154 -0
- package/src/spec/marks/Arrow.ts +108 -0
- package/src/spec/marks/Axis.ts +305 -0
- package/src/spec/marks/Bar.ts +160 -0
- package/src/spec/marks/Cell.ts +62 -0
- package/src/spec/marks/Contour.ts +25 -0
- package/src/spec/marks/Delaunay.ts +95 -0
- package/src/spec/marks/DenseLine.ts +30 -0
- package/src/spec/marks/Density.ts +145 -0
- package/src/spec/marks/Dot.ts +152 -0
- package/src/spec/marks/ErrorBar.ts +91 -0
- package/src/spec/marks/Frame.ts +23 -0
- package/src/spec/marks/Geo.ts +58 -0
- package/src/spec/marks/Hexbin.ts +34 -0
- package/src/spec/marks/Hexgrid.ts +27 -0
- package/src/spec/marks/Image.ts +101 -0
- package/src/spec/marks/Line.ts +93 -0
- package/src/spec/marks/Link.ts +70 -0
- package/src/spec/marks/Marks.ts +1088 -0
- package/src/spec/marks/Raster.ts +145 -0
- package/src/spec/marks/Rect.ts +183 -0
- package/src/spec/marks/Regression.ts +63 -0
- package/src/spec/marks/Rule.ts +113 -0
- package/src/spec/marks/Text.ts +127 -0
- package/src/spec/marks/Tick.ts +69 -0
- package/src/spec/marks/Vector.ts +113 -0
- package/src/util.js +8 -0
- package/tsconfig.json +11 -0
- package/LICENSE +0 -47
package/dist/mosaic-spec.min.js
CHANGED
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
var dz=Object.create;var I_=Object.defineProperty;var hz=Object.getOwnPropertyDescriptor;var pz=Object.getOwnPropertyNames;var mz=Object.getPrototypeOf,yz=Object.prototype.hasOwnProperty;var ND=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Ir=(e,t)=>{for(var n in t)I_(e,n,{get:t[n],enumerable:!0})},gz=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of pz(t))!yz.call(e,i)&&i!==n&&I_(e,i,{get:()=>t[i],enumerable:!(r=hz(t,i))||r.enumerable});return e};var xz=(e,t,n)=>(n=e!=null?dz(mz(e)):{},gz(t||!e||!e.__esModule?I_(n,"default",{value:e,enumerable:!0}):n,e));var lP=ND((W9t,cP)=>{"use strict";function Wtt(e,t,n,r,i){for(var o=i+1;r<=i;){var s=r+i>>>1,a=e[s],c=n!==void 0?n(a,t):a-t;c>=0?(o=s,i=s-1):r=s+1}return o}function Htt(e,t,n,r,i){for(var o=i+1;r<=i;){var s=r+i>>>1,a=e[s],c=n!==void 0?n(a,t):a-t;c>0?(o=s,i=s-1):r=s+1}return o}function Ztt(e,t,n,r,i){for(var o=r-1;r<=i;){var s=r+i>>>1,a=e[s],c=n!==void 0?n(a,t):a-t;c<0?(o=s,r=s+1):i=s-1}return o}function Jtt(e,t,n,r,i){for(var o=r-1;r<=i;){var s=r+i>>>1,a=e[s],c=n!==void 0?n(a,t):a-t;c<=0?(o=s,r=s+1):i=s-1}return o}function Qtt(e,t,n,r,i){for(;r<=i;){var o=r+i>>>1,s=e[o],a=n!==void 0?n(s,t):s-t;if(a===0)return o;a<=0?r=o+1:i=o-1}return-1}function Ay(e,t,n,r,i,o){return typeof n=="function"?o(e,t,n,r===void 0?0:r|0,i===void 0?e.length-1:i|0):o(e,t,void 0,n===void 0?0:n|0,r===void 0?e.length-1:r|0)}cP.exports={ge:function(e,t,n,r,i){return Ay(e,t,n,r,i,Wtt)},gt:function(e,t,n,r,i){return Ay(e,t,n,r,i,Htt)},lt:function(e,t,n,r,i){return Ay(e,t,n,r,i,Ztt)},le:function(e,t,n,r,i){return Ay(e,t,n,r,i,Jtt)},eq:function(e,t,n,r,i){return Ay(e,t,n,r,i,Qtt)}}});var gP=ND((H9t,yP)=>{"use strict";var Tv=lP(),pd=0,zl=1,Av=2;yP.exports=tet;function O3(e,t,n,r,i){this.mid=e,this.left=t,this.right=n,this.leftPoints=r,this.rightPoints=i,this.count=(t?t.count:0)+(n?n.count:0)+r.length}var Ty=O3.prototype;function N3(e,t){e.mid=t.mid,e.left=t.left,e.right=t.right,e.leftPoints=t.leftPoints,e.rightPoints=t.rightPoints,e.count=t.count}function dP(e,t){var n=md(t);e.mid=n.mid,e.left=n.left,e.right=n.right,e.leftPoints=n.leftPoints,e.rightPoints=n.rightPoints,e.count=n.count}function uP(e,t){var n=e.intervals([]);n.push(t),dP(e,n)}function fP(e,t){var n=e.intervals([]),r=n.indexOf(t);return r<0?pd:(n.splice(r,1),dP(e,n),zl)}Ty.intervals=function(e){return e.push.apply(e,this.leftPoints),this.left&&this.left.intervals(e),this.right&&this.right.intervals(e),e};Ty.insert=function(e){var t=this.count-this.leftPoints.length;if(this.count+=1,e[1]<this.mid)this.left?4*(this.left.count+1)>3*(t+1)?uP(this,e):this.left.insert(e):this.left=md([e]);else if(e[0]>this.mid)this.right?4*(this.right.count+1)>3*(t+1)?uP(this,e):this.right.insert(e):this.right=md([e]);else{var n=Tv.ge(this.leftPoints,e,B3),r=Tv.ge(this.rightPoints,e,L3);this.leftPoints.splice(n,0,e),this.rightPoints.splice(r,0,e)}};Ty.remove=function(e){var t=this.count-this.leftPoints;if(e[1]<this.mid){if(!this.left)return pd;var n=this.right?this.right.count:0;if(4*n>3*(t-1))return fP(this,e);var r=this.left.remove(e);return r===Av?(this.left=null,this.count-=1,zl):(r===zl&&(this.count-=1),r)}else if(e[0]>this.mid){if(!this.right)return pd;var i=this.left?this.left.count:0;if(4*i>3*(t-1))return fP(this,e);var r=this.right.remove(e);return r===Av?(this.right=null,this.count-=1,zl):(r===zl&&(this.count-=1),r)}else{if(this.count===1)return this.leftPoints[0]===e?Av:pd;if(this.leftPoints.length===1&&this.leftPoints[0]===e){if(this.left&&this.right){for(var o=this,s=this.left;s.right;)o=s,s=s.right;if(o===this)s.right=this.right;else{var a=this.left,r=this.right;o.count-=s.count,o.right=s.left,s.left=a,s.right=r}N3(this,s),this.count=(this.left?this.left.count:0)+(this.right?this.right.count:0)+this.leftPoints.length}else this.left?N3(this,this.left):N3(this,this.right);return zl}for(var a=Tv.ge(this.leftPoints,e,B3);a<this.leftPoints.length&&this.leftPoints[a][0]===e[0];++a)if(this.leftPoints[a]===e){this.count-=1,this.leftPoints.splice(a,1);for(var r=Tv.ge(this.rightPoints,e,L3);r<this.rightPoints.length&&this.rightPoints[r][1]===e[1];++r)if(this.rightPoints[r]===e)return this.rightPoints.splice(r,1),zl}return pd}};function hP(e,t,n){for(var r=0;r<e.length&&e[r][0]<=t;++r){var i=n(e[r]);if(i)return i}}function pP(e,t,n){for(var r=e.length-1;r>=0&&e[r][1]>=t;--r){var i=n(e[r]);if(i)return i}}function mP(e,t){for(var n=0;n<e.length;++n){var r=t(e[n]);if(r)return r}}Ty.queryPoint=function(e,t){if(e<this.mid){if(this.left){var n=this.left.queryPoint(e,t);if(n)return n}return hP(this.leftPoints,e,t)}else if(e>this.mid){if(this.right){var n=this.right.queryPoint(e,t);if(n)return n}return pP(this.rightPoints,e,t)}else return mP(this.leftPoints,t)};Ty.queryInterval=function(e,t,n){if(e<this.mid&&this.left){var r=this.left.queryInterval(e,t,n);if(r)return r}if(t>this.mid&&this.right){var r=this.right.queryInterval(e,t,n);if(r)return r}return t<this.mid?hP(this.leftPoints,t,n):e>this.mid?pP(this.rightPoints,e,n):mP(this.leftPoints,n)};function Ktt(e,t){return e-t}function B3(e,t){var n=e[0]-t[0];return n||e[1]-t[1]}function L3(e,t){var n=e[1]-t[1];return n||e[0]-t[0]}function md(e){if(e.length===0)return null;for(var t=[],n=0;n<e.length;++n)t.push(e[n][0],e[n][1]);t.sort(Ktt);for(var r=t[t.length>>1],i=[],o=[],s=[],n=0;n<e.length;++n){var a=e[n];a[1]<r?i.push(a):r<a[0]?o.push(a):s.push(a)}var c=s,l=s.slice();return c.sort(B3),l.sort(L3),new O3(r,md(i),md(o),c,l)}function D3(e){this.root=e}var yd=D3.prototype;yd.insert=function(e){this.root?this.root.insert(e):this.root=new O3(e[0],null,null,[e],[e])};yd.remove=function(e){if(this.root){var t=this.root.remove(e);return t===Av&&(this.root=null),t!==pd}return!1};yd.queryPoint=function(e,t){if(this.root)return this.root.queryPoint(e,t)};yd.queryInterval=function(e,t,n){if(e<=t&&this.root)return this.root.queryInterval(e,t,n)};Object.defineProperty(yd,"count",{get:function(){return this.root?this.root.count:0}});Object.defineProperty(yd,"intervals",{get:function(){return this.root?this.root.intervals([]):[]}});function tet(e){return!e||e.length===0?new D3(null):new D3(md(e))}});var DD={};function kd(e,t=!1){let n,r,i=DD;function o(l){n=e(l).then(()=>{if(r){let{value:u}=r;r=null,o(u)}else n=null})}function s(l){r={event:l}}function a(l){n?s(l):o(l)}function c(l){i!==l&&requestAnimationFrame(()=>{let u=i;i=DD,a(u)}),i=l}return t?c:a}var ur=class{constructor(t){this._filterBy=t,this._requestUpdate=kd(()=>this.requestQuery(),!0),this._coordinator=null}get coordinator(){return this._coordinator}set coordinator(t){this._coordinator=t}get filterBy(){return this._filterBy}get filterIndexable(){return!0}fields(){return null}fieldInfo(){return this}query(){return null}queryPending(){return this}queryResult(){return this}queryError(t){return console.error(t),this}requestQuery(t){let n=t||this.query(this.filterBy?.predicate(this));return this._coordinator.requestQuery(this,n)}requestUpdate(){this._requestUpdate()}update(){return this}};function BD(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n}function Z(e,t,n,r){function i(o){return o instanceof n?o:new n(function(s){s(o)})}return new(n||(n=Promise))(function(o,s){function a(u){try{l(r.next(u))}catch(f){s(f)}}function c(u){try{l(r.throw(u))}catch(f){s(f)}}function l(u){u.done?o(u.value):i(u.value).then(a,c)}l((r=r.apply(e,t||[])).next())})}function OD(e){var t=typeof Symbol=="function"&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&typeof e.length=="number")return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function Ft(e){return this instanceof Ft?(this.v=e,this):new Ft(e)}function Mr(e,t,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r=n.apply(e,t||[]),i,o=[];return i={},s("next"),s("throw"),s("return"),i[Symbol.asyncIterator]=function(){return this},i;function s(d){r[d]&&(i[d]=function(h){return new Promise(function(p,m){o.push([d,h,p,m])>1||a(d,h)})})}function a(d,h){try{c(r[d](h))}catch(p){f(o[0][3],p)}}function c(d){d.value instanceof Ft?Promise.resolve(d.value.v).then(l,u):f(o[0][2],d)}function l(d){a("next",d)}function u(d){a("throw",d)}function f(d,h){d(h),o.shift(),o.length&&a(o[0][0],o[0][1])}}function Zl(e){var t,n;return t={},r("next"),r("throw",function(i){throw i}),r("return"),t[Symbol.iterator]=function(){return this},t;function r(i,o){t[i]=e[i]?function(s){return(n=!n)?{value:Ft(e[i](s)),done:!1}:o?o(s):s}:o}}function bi(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t=e[Symbol.asyncIterator],n;return t?t.call(e):(e=typeof OD=="function"?OD(e):e[Symbol.iterator](),n={},r("next"),r("throw"),r("return"),n[Symbol.asyncIterator]=function(){return this},n);function r(o){n[o]=e[o]&&function(s){return new Promise(function(a,c){s=e[o](s),i(a,c,s.done,s.value)})}}function i(o,s,a,c){Promise.resolve(c).then(function(l){o({value:l,done:a})},s)}}var D_={};Ir(D_,{compareArrayLike:()=>N_,joinUint8Arrays:()=>Tr,memcpy:()=>$d,rebaseValueOffsets:()=>hg,toArrayBufferView:()=>Pt,toArrayBufferViewAsyncIterator:()=>vi,toArrayBufferViewIterator:()=>Ji,toBigInt64Array:()=>dg,toBigUint64Array:()=>Tz,toFloat32Array:()=>Ez,toFloat32ArrayAsyncIterator:()=>Vz,toFloat32ArrayIterator:()=>Fz,toFloat64Array:()=>Nz,toFloat64ArrayAsyncIterator:()=>Yz,toFloat64ArrayIterator:()=>Rz,toInt16Array:()=>Iz,toInt16ArrayAsyncIterator:()=>Uz,toInt16ArrayIterator:()=>Bz,toInt32Array:()=>bc,toInt32ArrayAsyncIterator:()=>zz,toInt32ArrayIterator:()=>Lz,toInt8Array:()=>Sz,toInt8ArrayAsyncIterator:()=>Pz,toInt8ArrayIterator:()=>Oz,toUint16Array:()=>Mz,toUint16ArrayAsyncIterator:()=>qz,toUint16ArrayIterator:()=>Cz,toUint32Array:()=>Az,toUint32ArrayAsyncIterator:()=>jz,toUint32ArrayIterator:()=>kz,toUint8Array:()=>_t,toUint8ArrayAsyncIterator:()=>E_,toUint8ArrayIterator:()=>T_,toUint8ClampedArray:()=>Dz,toUint8ClampedArrayAsyncIterator:()=>Xz,toUint8ClampedArrayIterator:()=>$z});var bz=new TextDecoder("utf-8"),Fd=e=>bz.decode(e),wz=new TextEncoder,Zi=e=>wz.encode(e);var vz=e=>typeof e=="number",LD=e=>typeof e=="boolean",en=e=>typeof e=="function",Yn=e=>e!=null&&Object(e)===e,Ar=e=>Yn(e)&&en(e.then);var wi=e=>Yn(e)&&en(e[Symbol.iterator]),Wr=e=>Yn(e)&&en(e[Symbol.asyncIterator]),sg=e=>Yn(e)&&Yn(e.schema);var ag=e=>Yn(e)&&"done"in e&&"value"in e;var cg=e=>Yn(e)&&en(e.stat)&&vz(e.fd);var lg=e=>Yn(e)&&Rd(e.body),ug=e=>"_getDOMStream"in e&&"_getNodeStream"in e,CD=e=>Yn(e)&&en(e.abort)&&en(e.getWriter)&&!ug(e),Rd=e=>Yn(e)&&en(e.cancel)&&en(e.getReader)&&!ug(e),kD=e=>Yn(e)&&en(e.end)&&en(e.write)&&LD(e.writable)&&!ug(e),fg=e=>Yn(e)&&en(e.read)&&en(e.pipe)&&LD(e.readable)&&!ug(e),FD=e=>Yn(e)&&en(e.clear)&&en(e.bytes)&&en(e.position)&&en(e.setPosition)&&en(e.capacity)&&en(e.getBufferIdentifier)&&en(e.createLong);var A_=typeof SharedArrayBuffer<"u"?SharedArrayBuffer:ArrayBuffer;function _z(e){let t=e[0]?[e[0]]:[],n,r,i,o;for(let s,a,c=0,l=0,u=e.length;++c<u;){if(s=t[l],a=e[c],!s||!a||s.buffer!==a.buffer||a.byteOffset<s.byteOffset){a&&(t[++l]=a);continue}if({byteOffset:n,byteLength:i}=s,{byteOffset:r,byteLength:o}=a,n+i<r||r+o<n){a&&(t[++l]=a);continue}t[l]=new Uint8Array(s.buffer,n,r-n+o)}return t}function $d(e,t,n=0,r=t.byteLength){let i=e.byteLength,o=new Uint8Array(e.buffer,e.byteOffset,i),s=new Uint8Array(t.buffer,t.byteOffset,Math.min(r,i));return o.set(s,n),e}function Tr(e,t){let n=_z(e),r=n.reduce((u,f)=>u+f.byteLength,0),i,o,s,a=0,c=-1,l=Math.min(t||Number.POSITIVE_INFINITY,r);for(let u=n.length;++c<u;){if(i=n[c],o=i.subarray(0,Math.min(i.length,l-a)),l<=a+o.length){o.length<i.length?n[c]=i.subarray(o.length):o.length===i.length&&c++,s?$d(s,o,a):s=o;break}$d(s||(s=new Uint8Array(l)),o,a),a+=o.length}return[s||new Uint8Array(0),n.slice(c),r-(s?s.byteLength:0)]}function Pt(e,t){let n=ag(t)?t.value:t;return n instanceof e?e===Uint8Array?new e(n.buffer,n.byteOffset,n.byteLength):n:n?(typeof n=="string"&&(n=Zi(n)),n instanceof ArrayBuffer?new e(n):n instanceof A_?new e(n):FD(n)?Pt(e,n.bytes()):ArrayBuffer.isView(n)?n.byteLength<=0?new e(0):new e(n.buffer,n.byteOffset,n.byteLength/e.BYTES_PER_ELEMENT):e.from(n)):new e(0)}var Sz=e=>Pt(Int8Array,e),Iz=e=>Pt(Int16Array,e),bc=e=>Pt(Int32Array,e),dg=e=>Pt(BigInt64Array,e),_t=e=>Pt(Uint8Array,e),Mz=e=>Pt(Uint16Array,e),Az=e=>Pt(Uint32Array,e),Tz=e=>Pt(BigUint64Array,e),Ez=e=>Pt(Float32Array,e),Nz=e=>Pt(Float64Array,e),Dz=e=>Pt(Uint8ClampedArray,e),M_=e=>(e.next(),e);function*Ji(e,t){let n=function*(i){yield i},r=typeof t=="string"||ArrayBuffer.isView(t)||t instanceof ArrayBuffer||t instanceof A_?n(t):wi(t)?t:n(t);return yield*M_(function*(i){let o=null;do o=i.next(yield Pt(e,o));while(!o.done)}(r[Symbol.iterator]())),new e}var Oz=e=>Ji(Int8Array,e),Bz=e=>Ji(Int16Array,e),Lz=e=>Ji(Int32Array,e),T_=e=>Ji(Uint8Array,e),Cz=e=>Ji(Uint16Array,e),kz=e=>Ji(Uint32Array,e),Fz=e=>Ji(Float32Array,e),Rz=e=>Ji(Float64Array,e),$z=e=>Ji(Uint8ClampedArray,e);function vi(e,t){return Mr(this,arguments,function*(){if(Ar(t))return yield Ft(yield Ft(yield*Zl(bi(vi(e,yield Ft(t))))));let r=function(s){return Mr(this,arguments,function*(){yield yield Ft(yield Ft(s))})},i=function(s){return Mr(this,arguments,function*(){yield Ft(yield*Zl(bi(M_(function*(a){let c=null;do c=a.next(yield c?.value);while(!c.done)}(s[Symbol.iterator]())))))})},o=typeof t=="string"||ArrayBuffer.isView(t)||t instanceof ArrayBuffer||t instanceof A_?r(t):wi(t)?i(t):Wr(t)?t:r(t);return yield Ft(yield*Zl(bi(M_(function(s){return Mr(this,arguments,function*(){let a=null;do a=yield Ft(s.next(yield yield Ft(Pt(e,a))));while(!a.done)})}(o[Symbol.asyncIterator]()))))),yield Ft(new e)})}var Pz=e=>vi(Int8Array,e),Uz=e=>vi(Int16Array,e),zz=e=>vi(Int32Array,e),E_=e=>vi(Uint8Array,e),qz=e=>vi(Uint16Array,e),jz=e=>vi(Uint32Array,e),Vz=e=>vi(Float32Array,e),Yz=e=>vi(Float64Array,e),Xz=e=>vi(Uint8ClampedArray,e);function hg(e,t,n){if(e!==0){n=n.slice(0,t);for(let r=-1,i=n.length;++r<i;)n[r]+=e}return n.subarray(0,t)}function N_(e,t){let n=0,r=e.length;if(r!==t.length)return!1;if(r>0)do if(e[n]!==t[n])return!1;while(++n<r);return!0}var bn={fromIterable(e){return pg(Gz(e))},fromAsyncIterable(e){return pg(Wz(e))},fromDOMStream(e){return pg(Hz(e))},fromNodeStream(e){return pg(Zz(e))},toDOMStream(e,t){throw new Error('"toDOMStream" not available in this environment')},toNodeStream(e,t){throw new Error('"toNodeStream" not available in this environment')}},pg=e=>(e.next(),e);function*Gz(e){let t,n=!1,r=[],i,o,s,a=0;function c(){return o==="peek"?Tr(r,s)[0]:([i,r,a]=Tr(r,s),i)}({cmd:o,size:s}=(yield null)||{cmd:"read",size:0});let l=T_(e)[Symbol.iterator]();try{do if({done:t,value:i}=Number.isNaN(s-a)?l.next():l.next(s-a),!t&&i.byteLength>0&&(r.push(i),a+=i.byteLength),t||s<=a)do({cmd:o,size:s}=yield c());while(s<a);while(!t)}catch(u){(n=!0)&&typeof l.throw=="function"&&l.throw(u)}finally{n===!1&&typeof l.return=="function"&&l.return(null)}return null}function Wz(e){return Mr(this,arguments,function*(){let n,r=!1,i=[],o,s,a,c=0;function l(){return s==="peek"?Tr(i,a)[0]:([o,i,c]=Tr(i,a),o)}({cmd:s,size:a}=(yield yield Ft(null))||{cmd:"read",size:0});let u=E_(e)[Symbol.asyncIterator]();try{do if({done:n,value:o}=Number.isNaN(a-c)?yield Ft(u.next()):yield Ft(u.next(a-c)),!n&&o.byteLength>0&&(i.push(o),c+=o.byteLength),n||a<=c)do({cmd:s,size:a}=yield yield Ft(l()));while(a<c);while(!n)}catch(f){(r=!0)&&typeof u.throw=="function"&&(yield Ft(u.throw(f)))}finally{r===!1&&typeof u.return=="function"&&(yield Ft(u.return(new Uint8Array(0))))}return yield Ft(null)})}function Hz(e){return Mr(this,arguments,function*(){let n=!1,r=!1,i=[],o,s,a,c=0;function l(){return s==="peek"?Tr(i,a)[0]:([o,i,c]=Tr(i,a),o)}({cmd:s,size:a}=(yield yield Ft(null))||{cmd:"read",size:0});let u=new B_(e);try{do if({done:n,value:o}=Number.isNaN(a-c)?yield Ft(u.read()):yield Ft(u.read(a-c)),!n&&o.byteLength>0&&(i.push(_t(o)),c+=o.byteLength),n||a<=c)do({cmd:s,size:a}=yield yield Ft(l()));while(a<c);while(!n)}catch(f){(r=!0)&&(yield Ft(u.cancel(f)))}finally{r===!1?yield Ft(u.cancel()):e.locked&&u.releaseLock()}return yield Ft(null)})}var B_=class{constructor(t){this.source=t,this.reader=null,this.reader=this.source.getReader(),this.reader.closed.catch(()=>{})}get closed(){return this.reader?this.reader.closed.catch(()=>{}):Promise.resolve()}releaseLock(){this.reader&&this.reader.releaseLock(),this.reader=null}cancel(t){return Z(this,void 0,void 0,function*(){let{reader:n,source:r}=this;n&&(yield n.cancel(t).catch(()=>{})),r&&r.locked&&this.releaseLock()})}read(t){return Z(this,void 0,void 0,function*(){if(t===0)return{done:this.reader==null,value:new Uint8Array(0)};let n=yield this.reader.read();return!n.done&&(n.value=_t(n)),n})}},O_=(e,t)=>{let n=i=>r([t,i]),r;return[t,n,new Promise(i=>(r=i)&&e.once(t,n))]};function Zz(e){return Mr(this,arguments,function*(){let n=[],r="error",i=!1,o=null,s,a,c=0,l=[],u;function f(){return s==="peek"?Tr(l,a)[0]:([u,l,c]=Tr(l,a),u)}if({cmd:s,size:a}=(yield yield Ft(null))||{cmd:"read",size:0},e.isTTY)return yield yield Ft(new Uint8Array(0)),yield Ft(null);try{n[0]=O_(e,"end"),n[1]=O_(e,"error");do{if(n[2]=O_(e,"readable"),[r,o]=yield Ft(Promise.race(n.map(h=>h[2]))),r==="error")break;if((i=r==="end")||(Number.isFinite(a-c)?(u=_t(e.read(a-c)),u.byteLength<a-c&&(u=_t(e.read()))):u=_t(e.read()),u.byteLength>0&&(l.push(u),c+=u.byteLength)),i||a<=c)do({cmd:s,size:a}=yield yield Ft(f()));while(a<c)}while(!i)}finally{yield Ft(d(n,r==="error"?o:null))}return yield Ft(null);function d(h,p){return u=l=null,new Promise((m,g)=>{for(let[y,x]of h)e.off(y,x);try{let y=e.destroy;y&&y.call(e,p),p=void 0}catch(y){p=y||p}finally{p!=null?g(p):m()}})}})}var ce;(function(e){e[e.V1=0]="V1",e[e.V2=1]="V2",e[e.V3=2]="V3",e[e.V4=3]="V4",e[e.V5=4]="V5"})(ce||(ce={}));var ge;(function(e){e[e.Sparse=0]="Sparse",e[e.Dense=1]="Dense"})(ge||(ge={}));var he;(function(e){e[e.HALF=0]="HALF",e[e.SINGLE=1]="SINGLE",e[e.DOUBLE=2]="DOUBLE"})(he||(he={}));var Ve;(function(e){e[e.DAY=0]="DAY",e[e.MILLISECOND=1]="MILLISECOND"})(Ve||(Ve={}));var ct;(function(e){e[e.SECOND=0]="SECOND",e[e.MILLISECOND=1]="MILLISECOND",e[e.MICROSECOND=2]="MICROSECOND",e[e.NANOSECOND=3]="NANOSECOND"})(ct||(ct={}));var an;(function(e){e[e.YEAR_MONTH=0]="YEAR_MONTH",e[e.DAY_TIME=1]="DAY_TIME",e[e.MONTH_DAY_NANO=2]="MONTH_DAY_NANO"})(an||(an={}));var Qi=new Int32Array(2),mg=new Float32Array(Qi.buffer),yg=new Float64Array(Qi.buffer),Jl=new Uint16Array(new Uint8Array([1,0]).buffer)[0]===1;var Pd;(function(e){e[e.UTF8_BYTES=1]="UTF8_BYTES",e[e.UTF16_STRING=2]="UTF16_STRING"})(Pd||(Pd={}));var Er=class e{constructor(t){this.bytes_=t,this.position_=0,this.text_decoder_=new TextDecoder}static allocate(t){return new e(new Uint8Array(t))}clear(){this.position_=0}bytes(){return this.bytes_}position(){return this.position_}setPosition(t){this.position_=t}capacity(){return this.bytes_.length}readInt8(t){return this.readUint8(t)<<24>>24}readUint8(t){return this.bytes_[t]}readInt16(t){return this.readUint16(t)<<16>>16}readUint16(t){return this.bytes_[t]|this.bytes_[t+1]<<8}readInt32(t){return this.bytes_[t]|this.bytes_[t+1]<<8|this.bytes_[t+2]<<16|this.bytes_[t+3]<<24}readUint32(t){return this.readInt32(t)>>>0}readInt64(t){return BigInt.asIntN(64,BigInt(this.readUint32(t))+(BigInt(this.readUint32(t+4))<<BigInt(32)))}readUint64(t){return BigInt.asUintN(64,BigInt(this.readUint32(t))+(BigInt(this.readUint32(t+4))<<BigInt(32)))}readFloat32(t){return Qi[0]=this.readInt32(t),mg[0]}readFloat64(t){return Qi[Jl?0:1]=this.readInt32(t),Qi[Jl?1:0]=this.readInt32(t+4),yg[0]}writeInt8(t,n){this.bytes_[t]=n}writeUint8(t,n){this.bytes_[t]=n}writeInt16(t,n){this.bytes_[t]=n,this.bytes_[t+1]=n>>8}writeUint16(t,n){this.bytes_[t]=n,this.bytes_[t+1]=n>>8}writeInt32(t,n){this.bytes_[t]=n,this.bytes_[t+1]=n>>8,this.bytes_[t+2]=n>>16,this.bytes_[t+3]=n>>24}writeUint32(t,n){this.bytes_[t]=n,this.bytes_[t+1]=n>>8,this.bytes_[t+2]=n>>16,this.bytes_[t+3]=n>>24}writeInt64(t,n){this.writeInt32(t,Number(BigInt.asIntN(32,n))),this.writeInt32(t+4,Number(BigInt.asIntN(32,n>>BigInt(32))))}writeUint64(t,n){this.writeUint32(t,Number(BigInt.asUintN(32,n))),this.writeUint32(t+4,Number(BigInt.asUintN(32,n>>BigInt(32))))}writeFloat32(t,n){mg[0]=n,this.writeInt32(t,Qi[0])}writeFloat64(t,n){yg[0]=n,this.writeInt32(t,Qi[Jl?0:1]),this.writeInt32(t+4,Qi[Jl?1:0])}getBufferIdentifier(){if(this.bytes_.length<this.position_+4+4)throw new Error("FlatBuffers: ByteBuffer is too short to contain an identifier.");let t="";for(let n=0;n<4;n++)t+=String.fromCharCode(this.readInt8(this.position_+4+n));return t}__offset(t,n){let r=t-this.readInt32(t);return n<this.readInt16(r)?this.readInt16(r+n):0}__union(t,n){return t.bb_pos=n+this.readInt32(n),t.bb=this,t}__string(t,n){t+=this.readInt32(t);let r=this.readInt32(t);t+=4;let i=this.bytes_.subarray(t,t+r);return n===Pd.UTF8_BYTES?i:this.text_decoder_.decode(i)}__union_with_string(t,n){return typeof t=="string"?this.__string(n):this.__union(t,n)}__indirect(t){return t+this.readInt32(t)}__vector(t){return t+this.readInt32(t)+4}__vector_len(t){return this.readInt32(t+this.readInt32(t))}__has_identifier(t){if(t.length!=4)throw new Error("FlatBuffers: file identifier must be length "+4);for(let n=0;n<4;n++)if(t.charCodeAt(n)!=this.readInt8(this.position()+4+n))return!1;return!0}createScalarList(t,n){let r=[];for(let i=0;i<n;++i){let o=t(i);o!==null&&r.push(o)}return r}createObjList(t,n){let r=[];for(let i=0;i<n;++i){let o=t(i);o!==null&&r.push(o.unpack())}return r}};var wc=class e{constructor(t){this.minalign=1,this.vtable=null,this.vtable_in_use=0,this.isNested=!1,this.object_start=0,this.vtables=[],this.vector_num_elems=0,this.force_defaults=!1,this.string_maps=null,this.text_encoder=new TextEncoder;let n;t?n=t:n=1024,this.bb=Er.allocate(n),this.space=n}clear(){this.bb.clear(),this.space=this.bb.capacity(),this.minalign=1,this.vtable=null,this.vtable_in_use=0,this.isNested=!1,this.object_start=0,this.vtables=[],this.vector_num_elems=0,this.force_defaults=!1,this.string_maps=null}forceDefaults(t){this.force_defaults=t}dataBuffer(){return this.bb}asUint8Array(){return this.bb.bytes().subarray(this.bb.position(),this.bb.position()+this.offset())}prep(t,n){t>this.minalign&&(this.minalign=t);let r=~(this.bb.capacity()-this.space+n)+1&t-1;for(;this.space<r+t+n;){let i=this.bb.capacity();this.bb=e.growByteBuffer(this.bb),this.space+=this.bb.capacity()-i}this.pad(r)}pad(t){for(let n=0;n<t;n++)this.bb.writeInt8(--this.space,0)}writeInt8(t){this.bb.writeInt8(this.space-=1,t)}writeInt16(t){this.bb.writeInt16(this.space-=2,t)}writeInt32(t){this.bb.writeInt32(this.space-=4,t)}writeInt64(t){this.bb.writeInt64(this.space-=8,t)}writeFloat32(t){this.bb.writeFloat32(this.space-=4,t)}writeFloat64(t){this.bb.writeFloat64(this.space-=8,t)}addInt8(t){this.prep(1,0),this.writeInt8(t)}addInt16(t){this.prep(2,0),this.writeInt16(t)}addInt32(t){this.prep(4,0),this.writeInt32(t)}addInt64(t){this.prep(8,0),this.writeInt64(t)}addFloat32(t){this.prep(4,0),this.writeFloat32(t)}addFloat64(t){this.prep(8,0),this.writeFloat64(t)}addFieldInt8(t,n,r){(this.force_defaults||n!=r)&&(this.addInt8(n),this.slot(t))}addFieldInt16(t,n,r){(this.force_defaults||n!=r)&&(this.addInt16(n),this.slot(t))}addFieldInt32(t,n,r){(this.force_defaults||n!=r)&&(this.addInt32(n),this.slot(t))}addFieldInt64(t,n,r){(this.force_defaults||n!==r)&&(this.addInt64(n),this.slot(t))}addFieldFloat32(t,n,r){(this.force_defaults||n!=r)&&(this.addFloat32(n),this.slot(t))}addFieldFloat64(t,n,r){(this.force_defaults||n!=r)&&(this.addFloat64(n),this.slot(t))}addFieldOffset(t,n,r){(this.force_defaults||n!=r)&&(this.addOffset(n),this.slot(t))}addFieldStruct(t,n,r){n!=r&&(this.nested(n),this.slot(t))}nested(t){if(t!=this.offset())throw new TypeError("FlatBuffers: struct must be serialized inline.")}notNested(){if(this.isNested)throw new TypeError("FlatBuffers: object serialization must not be nested.")}slot(t){this.vtable!==null&&(this.vtable[t]=this.offset())}offset(){return this.bb.capacity()-this.space}static growByteBuffer(t){let n=t.capacity();if(n&3221225472)throw new Error("FlatBuffers: cannot grow buffer beyond 2 gigabytes.");let r=n<<1,i=Er.allocate(r);return i.setPosition(r-n),i.bytes().set(t.bytes(),r-n),i}addOffset(t){this.prep(4,0),this.writeInt32(this.offset()-t+4)}startObject(t){this.notNested(),this.vtable==null&&(this.vtable=[]),this.vtable_in_use=t;for(let n=0;n<t;n++)this.vtable[n]=0;this.isNested=!0,this.object_start=this.offset()}endObject(){if(this.vtable==null||!this.isNested)throw new Error("FlatBuffers: endObject called without startObject");this.addInt32(0);let t=this.offset(),n=this.vtable_in_use-1;for(;n>=0&&this.vtable[n]==0;n--);let r=n+1;for(;n>=0;n--)this.addInt16(this.vtable[n]!=0?t-this.vtable[n]:0);let i=2;this.addInt16(t-this.object_start);let o=(r+i)*2;this.addInt16(o);let s=0,a=this.space;t:for(n=0;n<this.vtables.length;n++){let c=this.bb.capacity()-this.vtables[n];if(o==this.bb.readInt16(c)){for(let l=2;l<o;l+=2)if(this.bb.readInt16(a+l)!=this.bb.readInt16(c+l))continue t;s=this.vtables[n];break}}return s?(this.space=this.bb.capacity()-t,this.bb.writeInt32(this.space,s-t)):(this.vtables.push(this.offset()),this.bb.writeInt32(this.bb.capacity()-t,this.offset()-t)),this.isNested=!1,t}finish(t,n,r){let i=r?4:0;if(n){let o=n;if(this.prep(this.minalign,8+i),o.length!=4)throw new TypeError("FlatBuffers: file identifier must be length "+4);for(let s=3;s>=0;s--)this.writeInt8(o.charCodeAt(s))}this.prep(this.minalign,4+i),this.addOffset(t),i&&this.addInt32(this.bb.capacity()-this.space),this.bb.setPosition(this.space)}finishSizePrefixed(t,n){this.finish(t,n,!0)}requiredField(t,n){let r=this.bb.capacity()-t,i=r-this.bb.readInt32(r);if(!(n<this.bb.readInt16(i)&&this.bb.readInt16(i+n)!=0))throw new TypeError("FlatBuffers: field "+n+" must be set")}startVector(t,n,r){this.notNested(),this.vector_num_elems=n,this.prep(4,t*n),this.prep(r,t*n)}endVector(){return this.writeInt32(this.vector_num_elems),this.offset()}createSharedString(t){if(!t)return 0;if(this.string_maps||(this.string_maps=new Map),this.string_maps.has(t))return this.string_maps.get(t);let n=this.createString(t);return this.string_maps.set(t,n),n}createString(t){if(t==null)return 0;let n;t instanceof Uint8Array?n=t:n=this.text_encoder.encode(t),this.addInt8(0),this.startVector(1,n.length,1),this.bb.setPosition(this.space-=n.length);for(let r=0,i=this.space,o=this.bb.bytes();r<n.length;r++)o[i++]=n[r];return this.endVector()}createObjectOffset(t){return t===null?0:typeof t=="string"?this.createString(t):t.pack(this)}createObjectOffsetList(t){let n=[];for(let r=0;r<t.length;++r){let i=t[r];if(i!==null)n.push(this.createObjectOffset(i));else throw new TypeError("FlatBuffers: Argument for createObjectOffsetList cannot contain null.")}return n}createStructOffsetList(t,n){return n(this,t.length),this.createObjectOffsetList(t.slice().reverse()),this.endVector()}};var Ud;(function(e){e[e.BUFFER=0]="BUFFER"})(Ud||(Ud={}));var zd;(function(e){e[e.LZ4_FRAME=0]="LZ4_FRAME",e[e.ZSTD=1]="ZSTD"})(zd||(zd={}));var xg=class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,n){return this.bb_pos=t,this.bb=n,this}static getRootAsBodyCompression(t,n){return(n||new e).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsBodyCompression(t,n){return t.setPosition(t.position()+4),(n||new e).__init(t.readInt32(t.position())+t.position(),t)}codec(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt8(this.bb_pos+t):zd.LZ4_FRAME}method(){let t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readInt8(this.bb_pos+t):Ud.BUFFER}static startBodyCompression(t){t.startObject(2)}static addCodec(t,n){t.addFieldInt8(0,n,zd.LZ4_FRAME)}static addMethod(t,n){t.addFieldInt8(1,n,Ud.BUFFER)}static endBodyCompression(t){return t.endObject()}static createBodyCompression(t,n,r){return e.startBodyCompression(t),e.addCodec(t,n),e.addMethod(t,r),e.endBodyCompression(t)}};var Ql=class{constructor(){this.bb=null,this.bb_pos=0}__init(t,n){return this.bb_pos=t,this.bb=n,this}offset(){return this.bb.readInt64(this.bb_pos)}length(){return this.bb.readInt64(this.bb_pos+8)}static sizeOf(){return 16}static createBuffer(t,n,r){return t.prep(8,16),t.writeInt64(BigInt(r??0)),t.writeInt64(BigInt(n??0)),t.offset()}};var Kl=class{constructor(){this.bb=null,this.bb_pos=0}__init(t,n){return this.bb_pos=t,this.bb=n,this}length(){return this.bb.readInt64(this.bb_pos)}nullCount(){return this.bb.readInt64(this.bb_pos+8)}static sizeOf(){return 16}static createFieldNode(t,n,r){return t.prep(8,16),t.writeInt64(BigInt(r??0)),t.writeInt64(BigInt(n??0)),t.offset()}};var Nr=class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,n){return this.bb_pos=t,this.bb=n,this}static getRootAsRecordBatch(t,n){return(n||new e).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsRecordBatch(t,n){return t.setPosition(t.position()+4),(n||new e).__init(t.readInt32(t.position())+t.position(),t)}length(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt64(this.bb_pos+t):BigInt("0")}nodes(t,n){let r=this.bb.__offset(this.bb_pos,6);return r?(n||new Kl).__init(this.bb.__vector(this.bb_pos+r)+t*16,this.bb):null}nodesLength(){let t=this.bb.__offset(this.bb_pos,6);return t?this.bb.__vector_len(this.bb_pos+t):0}buffers(t,n){let r=this.bb.__offset(this.bb_pos,8);return r?(n||new Ql).__init(this.bb.__vector(this.bb_pos+r)+t*16,this.bb):null}buffersLength(){let t=this.bb.__offset(this.bb_pos,8);return t?this.bb.__vector_len(this.bb_pos+t):0}compression(t){let n=this.bb.__offset(this.bb_pos,10);return n?(t||new xg).__init(this.bb.__indirect(this.bb_pos+n),this.bb):null}static startRecordBatch(t){t.startObject(4)}static addLength(t,n){t.addFieldInt64(0,n,BigInt("0"))}static addNodes(t,n){t.addFieldOffset(1,n,0)}static startNodesVector(t,n){t.startVector(16,n,8)}static addBuffers(t,n){t.addFieldOffset(2,n,0)}static startBuffersVector(t,n){t.startVector(16,n,8)}static addCompression(t,n){t.addFieldOffset(3,n,0)}static endRecordBatch(t){return t.endObject()}};var Wo=class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,n){return this.bb_pos=t,this.bb=n,this}static getRootAsDictionaryBatch(t,n){return(n||new e).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsDictionaryBatch(t,n){return t.setPosition(t.position()+4),(n||new e).__init(t.readInt32(t.position())+t.position(),t)}id(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt64(this.bb_pos+t):BigInt("0")}data(t){let n=this.bb.__offset(this.bb_pos,6);return n?(t||new Nr).__init(this.bb.__indirect(this.bb_pos+n),this.bb):null}isDelta(){let t=this.bb.__offset(this.bb_pos,8);return t?!!this.bb.readInt8(this.bb_pos+t):!1}static startDictionaryBatch(t){t.startObject(3)}static addId(t,n){t.addFieldInt64(0,n,BigInt("0"))}static addData(t,n){t.addFieldOffset(1,n,0)}static addIsDelta(t,n){t.addFieldInt8(2,+n,0)}static endDictionaryBatch(t){return t.endObject()}};var da;(function(e){e[e.Little=0]="Little",e[e.Big=1]="Big"})(da||(da={}));var qd;(function(e){e[e.DenseArray=0]="DenseArray"})(qd||(qd={}));var Si=class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,n){return this.bb_pos=t,this.bb=n,this}static getRootAsInt(t,n){return(n||new e).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsInt(t,n){return t.setPosition(t.position()+4),(n||new e).__init(t.readInt32(t.position())+t.position(),t)}bitWidth(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt32(this.bb_pos+t):0}isSigned(){let t=this.bb.__offset(this.bb_pos,6);return t?!!this.bb.readInt8(this.bb_pos+t):!1}static startInt(t){t.startObject(2)}static addBitWidth(t,n){t.addFieldInt32(0,n,0)}static addIsSigned(t,n){t.addFieldInt8(1,+n,0)}static endInt(t){return t.endObject()}static createInt(t,n,r){return e.startInt(t),e.addBitWidth(t,n),e.addIsSigned(t,r),e.endInt(t)}};var Ki=class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,n){return this.bb_pos=t,this.bb=n,this}static getRootAsDictionaryEncoding(t,n){return(n||new e).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsDictionaryEncoding(t,n){return t.setPosition(t.position()+4),(n||new e).__init(t.readInt32(t.position())+t.position(),t)}id(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt64(this.bb_pos+t):BigInt("0")}indexType(t){let n=this.bb.__offset(this.bb_pos,6);return n?(t||new Si).__init(this.bb.__indirect(this.bb_pos+n),this.bb):null}isOrdered(){let t=this.bb.__offset(this.bb_pos,8);return t?!!this.bb.readInt8(this.bb_pos+t):!1}dictionaryKind(){let t=this.bb.__offset(this.bb_pos,10);return t?this.bb.readInt16(this.bb_pos+t):qd.DenseArray}static startDictionaryEncoding(t){t.startObject(4)}static addId(t,n){t.addFieldInt64(0,n,BigInt("0"))}static addIndexType(t,n){t.addFieldOffset(1,n,0)}static addIsOrdered(t,n){t.addFieldInt8(2,+n,0)}static addDictionaryKind(t,n){t.addFieldInt16(3,n,qd.DenseArray)}static endDictionaryEncoding(t){return t.endObject()}};var nn=class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,n){return this.bb_pos=t,this.bb=n,this}static getRootAsKeyValue(t,n){return(n||new e).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsKeyValue(t,n){return t.setPosition(t.position()+4),(n||new e).__init(t.readInt32(t.position())+t.position(),t)}key(t){let n=this.bb.__offset(this.bb_pos,4);return n?this.bb.__string(this.bb_pos+n,t):null}value(t){let n=this.bb.__offset(this.bb_pos,6);return n?this.bb.__string(this.bb_pos+n,t):null}static startKeyValue(t){t.startObject(2)}static addKey(t,n){t.addFieldOffset(0,n,0)}static addValue(t,n){t.addFieldOffset(1,n,0)}static endKeyValue(t){return t.endObject()}static createKeyValue(t,n,r){return e.startKeyValue(t),e.addKey(t,n),e.addValue(t,r),e.endKeyValue(t)}};var jd=class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,n){return this.bb_pos=t,this.bb=n,this}static getRootAsBinary(t,n){return(n||new e).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsBinary(t,n){return t.setPosition(t.position()+4),(n||new e).__init(t.readInt32(t.position())+t.position(),t)}static startBinary(t){t.startObject(0)}static endBinary(t){return t.endObject()}static createBinary(t){return e.startBinary(t),e.endBinary(t)}};var Vd=class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,n){return this.bb_pos=t,this.bb=n,this}static getRootAsBool(t,n){return(n||new e).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsBool(t,n){return t.setPosition(t.position()+4),(n||new e).__init(t.readInt32(t.position())+t.position(),t)}static startBool(t){t.startObject(0)}static endBool(t){return t.endObject()}static createBool(t){return e.startBool(t),e.endBool(t)}};var ha=class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,n){return this.bb_pos=t,this.bb=n,this}static getRootAsDate(t,n){return(n||new e).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsDate(t,n){return t.setPosition(t.position()+4),(n||new e).__init(t.readInt32(t.position())+t.position(),t)}unit(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):Ve.MILLISECOND}static startDate(t){t.startObject(1)}static addUnit(t,n){t.addFieldInt16(0,n,Ve.MILLISECOND)}static endDate(t){return t.endObject()}static createDate(t,n){return e.startDate(t),e.addUnit(t,n),e.endDate(t)}};var to=class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,n){return this.bb_pos=t,this.bb=n,this}static getRootAsDecimal(t,n){return(n||new e).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsDecimal(t,n){return t.setPosition(t.position()+4),(n||new e).__init(t.readInt32(t.position())+t.position(),t)}precision(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt32(this.bb_pos+t):0}scale(){let t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readInt32(this.bb_pos+t):0}bitWidth(){let t=this.bb.__offset(this.bb_pos,8);return t?this.bb.readInt32(this.bb_pos+t):128}static startDecimal(t){t.startObject(3)}static addPrecision(t,n){t.addFieldInt32(0,n,0)}static addScale(t,n){t.addFieldInt32(1,n,0)}static addBitWidth(t,n){t.addFieldInt32(2,n,128)}static endDecimal(t){return t.endObject()}static createDecimal(t,n,r,i){return e.startDecimal(t),e.addPrecision(t,n),e.addScale(t,r),e.addBitWidth(t,i),e.endDecimal(t)}};var pa=class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,n){return this.bb_pos=t,this.bb=n,this}static getRootAsDuration(t,n){return(n||new e).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsDuration(t,n){return t.setPosition(t.position()+4),(n||new e).__init(t.readInt32(t.position())+t.position(),t)}unit(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):ct.MILLISECOND}static startDuration(t){t.startObject(1)}static addUnit(t,n){t.addFieldInt16(0,n,ct.MILLISECOND)}static endDuration(t){return t.endObject()}static createDuration(t,n){return e.startDuration(t),e.addUnit(t,n),e.endDuration(t)}};var ma=class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,n){return this.bb_pos=t,this.bb=n,this}static getRootAsFixedSizeBinary(t,n){return(n||new e).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsFixedSizeBinary(t,n){return t.setPosition(t.position()+4),(n||new e).__init(t.readInt32(t.position())+t.position(),t)}byteWidth(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt32(this.bb_pos+t):0}static startFixedSizeBinary(t){t.startObject(1)}static addByteWidth(t,n){t.addFieldInt32(0,n,0)}static endFixedSizeBinary(t){return t.endObject()}static createFixedSizeBinary(t,n){return e.startFixedSizeBinary(t),e.addByteWidth(t,n),e.endFixedSizeBinary(t)}};var ya=class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,n){return this.bb_pos=t,this.bb=n,this}static getRootAsFixedSizeList(t,n){return(n||new e).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsFixedSizeList(t,n){return t.setPosition(t.position()+4),(n||new e).__init(t.readInt32(t.position())+t.position(),t)}listSize(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt32(this.bb_pos+t):0}static startFixedSizeList(t){t.startObject(1)}static addListSize(t,n){t.addFieldInt32(0,n,0)}static endFixedSizeList(t){return t.endObject()}static createFixedSizeList(t,n){return e.startFixedSizeList(t),e.addListSize(t,n),e.endFixedSizeList(t)}};var ga=class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,n){return this.bb_pos=t,this.bb=n,this}static getRootAsFloatingPoint(t,n){return(n||new e).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsFloatingPoint(t,n){return t.setPosition(t.position()+4),(n||new e).__init(t.readInt32(t.position())+t.position(),t)}precision(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):he.HALF}static startFloatingPoint(t){t.startObject(1)}static addPrecision(t,n){t.addFieldInt16(0,n,he.HALF)}static endFloatingPoint(t){return t.endObject()}static createFloatingPoint(t,n){return e.startFloatingPoint(t),e.addPrecision(t,n),e.endFloatingPoint(t)}};var xa=class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,n){return this.bb_pos=t,this.bb=n,this}static getRootAsInterval(t,n){return(n||new e).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsInterval(t,n){return t.setPosition(t.position()+4),(n||new e).__init(t.readInt32(t.position())+t.position(),t)}unit(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):an.YEAR_MONTH}static startInterval(t){t.startObject(1)}static addUnit(t,n){t.addFieldInt16(0,n,an.YEAR_MONTH)}static endInterval(t){return t.endObject()}static createInterval(t,n){return e.startInterval(t),e.addUnit(t,n),e.endInterval(t)}};var Yd=class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,n){return this.bb_pos=t,this.bb=n,this}static getRootAsLargeBinary(t,n){return(n||new e).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsLargeBinary(t,n){return t.setPosition(t.position()+4),(n||new e).__init(t.readInt32(t.position())+t.position(),t)}static startLargeBinary(t){t.startObject(0)}static endLargeBinary(t){return t.endObject()}static createLargeBinary(t){return e.startLargeBinary(t),e.endLargeBinary(t)}};var Xd=class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,n){return this.bb_pos=t,this.bb=n,this}static getRootAsLargeUtf8(t,n){return(n||new e).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsLargeUtf8(t,n){return t.setPosition(t.position()+4),(n||new e).__init(t.readInt32(t.position())+t.position(),t)}static startLargeUtf8(t){t.startObject(0)}static endLargeUtf8(t){return t.endObject()}static createLargeUtf8(t){return e.startLargeUtf8(t),e.endLargeUtf8(t)}};var Gd=class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,n){return this.bb_pos=t,this.bb=n,this}static getRootAsList(t,n){return(n||new e).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsList(t,n){return t.setPosition(t.position()+4),(n||new e).__init(t.readInt32(t.position())+t.position(),t)}static startList(t){t.startObject(0)}static endList(t){return t.endObject()}static createList(t){return e.startList(t),e.endList(t)}};var ba=class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,n){return this.bb_pos=t,this.bb=n,this}static getRootAsMap(t,n){return(n||new e).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsMap(t,n){return t.setPosition(t.position()+4),(n||new e).__init(t.readInt32(t.position())+t.position(),t)}keysSorted(){let t=this.bb.__offset(this.bb_pos,4);return t?!!this.bb.readInt8(this.bb_pos+t):!1}static startMap(t){t.startObject(1)}static addKeysSorted(t,n){t.addFieldInt8(0,+n,0)}static endMap(t){return t.endObject()}static createMap(t,n){return e.startMap(t),e.addKeysSorted(t,n),e.endMap(t)}};var Wd=class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,n){return this.bb_pos=t,this.bb=n,this}static getRootAsNull(t,n){return(n||new e).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsNull(t,n){return t.setPosition(t.position()+4),(n||new e).__init(t.readInt32(t.position())+t.position(),t)}static startNull(t){t.startObject(0)}static endNull(t){return t.endObject()}static createNull(t){return e.startNull(t),e.endNull(t)}};var Hd=class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,n){return this.bb_pos=t,this.bb=n,this}static getRootAsStruct_(t,n){return(n||new e).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsStruct_(t,n){return t.setPosition(t.position()+4),(n||new e).__init(t.readInt32(t.position())+t.position(),t)}static startStruct_(t){t.startObject(0)}static endStruct_(t){return t.endObject()}static createStruct_(t){return e.startStruct_(t),e.endStruct_(t)}};var Ho=class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,n){return this.bb_pos=t,this.bb=n,this}static getRootAsTime(t,n){return(n||new e).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsTime(t,n){return t.setPosition(t.position()+4),(n||new e).__init(t.readInt32(t.position())+t.position(),t)}unit(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):ct.MILLISECOND}bitWidth(){let t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readInt32(this.bb_pos+t):32}static startTime(t){t.startObject(2)}static addUnit(t,n){t.addFieldInt16(0,n,ct.MILLISECOND)}static addBitWidth(t,n){t.addFieldInt32(1,n,32)}static endTime(t){return t.endObject()}static createTime(t,n,r){return e.startTime(t),e.addUnit(t,n),e.addBitWidth(t,r),e.endTime(t)}};var Zo=class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,n){return this.bb_pos=t,this.bb=n,this}static getRootAsTimestamp(t,n){return(n||new e).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsTimestamp(t,n){return t.setPosition(t.position()+4),(n||new e).__init(t.readInt32(t.position())+t.position(),t)}unit(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):ct.SECOND}timezone(t){let n=this.bb.__offset(this.bb_pos,6);return n?this.bb.__string(this.bb_pos+n,t):null}static startTimestamp(t){t.startObject(2)}static addUnit(t,n){t.addFieldInt16(0,n,ct.SECOND)}static addTimezone(t,n){t.addFieldOffset(1,n,0)}static endTimestamp(t){return t.endObject()}static createTimestamp(t,n,r){return e.startTimestamp(t),e.addUnit(t,n),e.addTimezone(t,r),e.endTimestamp(t)}};var Ii=class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,n){return this.bb_pos=t,this.bb=n,this}static getRootAsUnion(t,n){return(n||new e).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsUnion(t,n){return t.setPosition(t.position()+4),(n||new e).__init(t.readInt32(t.position())+t.position(),t)}mode(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):ge.Sparse}typeIds(t){let n=this.bb.__offset(this.bb_pos,6);return n?this.bb.readInt32(this.bb.__vector(this.bb_pos+n)+t*4):0}typeIdsLength(){let t=this.bb.__offset(this.bb_pos,6);return t?this.bb.__vector_len(this.bb_pos+t):0}typeIdsArray(){let t=this.bb.__offset(this.bb_pos,6);return t?new Int32Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}static startUnion(t){t.startObject(2)}static addMode(t,n){t.addFieldInt16(0,n,ge.Sparse)}static addTypeIds(t,n){t.addFieldOffset(1,n,0)}static createTypeIdsVector(t,n){t.startVector(4,n.length,4);for(let r=n.length-1;r>=0;r--)t.addInt32(n[r]);return t.endVector()}static startTypeIdsVector(t,n){t.startVector(4,n,4)}static endUnion(t){return t.endObject()}static createUnion(t,n,r){return e.startUnion(t),e.addMode(t,n),e.addTypeIds(t,r),e.endUnion(t)}};var Zd=class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,n){return this.bb_pos=t,this.bb=n,this}static getRootAsUtf8(t,n){return(n||new e).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsUtf8(t,n){return t.setPosition(t.position()+4),(n||new e).__init(t.readInt32(t.position())+t.position(),t)}static startUtf8(t){t.startObject(0)}static endUtf8(t){return t.endObject()}static createUtf8(t){return e.startUtf8(t),e.endUtf8(t)}};var pe;(function(e){e[e.NONE=0]="NONE",e[e.Null=1]="Null",e[e.Int=2]="Int",e[e.FloatingPoint=3]="FloatingPoint",e[e.Binary=4]="Binary",e[e.Utf8=5]="Utf8",e[e.Bool=6]="Bool",e[e.Decimal=7]="Decimal",e[e.Date=8]="Date",e[e.Time=9]="Time",e[e.Timestamp=10]="Timestamp",e[e.Interval=11]="Interval",e[e.List=12]="List",e[e.Struct_=13]="Struct_",e[e.Union=14]="Union",e[e.FixedSizeBinary=15]="FixedSizeBinary",e[e.FixedSizeList=16]="FixedSizeList",e[e.Map=17]="Map",e[e.Duration=18]="Duration",e[e.LargeBinary=19]="LargeBinary",e[e.LargeUtf8=20]="LargeUtf8",e[e.LargeList=21]="LargeList",e[e.RunEndEncoded=22]="RunEndEncoded"})(pe||(pe={}));var Cn=class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,n){return this.bb_pos=t,this.bb=n,this}static getRootAsField(t,n){return(n||new e).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsField(t,n){return t.setPosition(t.position()+4),(n||new e).__init(t.readInt32(t.position())+t.position(),t)}name(t){let n=this.bb.__offset(this.bb_pos,4);return n?this.bb.__string(this.bb_pos+n,t):null}nullable(){let t=this.bb.__offset(this.bb_pos,6);return t?!!this.bb.readInt8(this.bb_pos+t):!1}typeType(){let t=this.bb.__offset(this.bb_pos,8);return t?this.bb.readUint8(this.bb_pos+t):pe.NONE}type(t){let n=this.bb.__offset(this.bb_pos,10);return n?this.bb.__union(t,this.bb_pos+n):null}dictionary(t){let n=this.bb.__offset(this.bb_pos,12);return n?(t||new Ki).__init(this.bb.__indirect(this.bb_pos+n),this.bb):null}children(t,n){let r=this.bb.__offset(this.bb_pos,14);return r?(n||new e).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+t*4),this.bb):null}childrenLength(){let t=this.bb.__offset(this.bb_pos,14);return t?this.bb.__vector_len(this.bb_pos+t):0}customMetadata(t,n){let r=this.bb.__offset(this.bb_pos,16);return r?(n||new nn).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+t*4),this.bb):null}customMetadataLength(){let t=this.bb.__offset(this.bb_pos,16);return t?this.bb.__vector_len(this.bb_pos+t):0}static startField(t){t.startObject(7)}static addName(t,n){t.addFieldOffset(0,n,0)}static addNullable(t,n){t.addFieldInt8(1,+n,0)}static addTypeType(t,n){t.addFieldInt8(2,n,pe.NONE)}static addType(t,n){t.addFieldOffset(3,n,0)}static addDictionary(t,n){t.addFieldOffset(4,n,0)}static addChildren(t,n){t.addFieldOffset(5,n,0)}static createChildrenVector(t,n){t.startVector(4,n.length,4);for(let r=n.length-1;r>=0;r--)t.addOffset(n[r]);return t.endVector()}static startChildrenVector(t,n){t.startVector(4,n,4)}static addCustomMetadata(t,n){t.addFieldOffset(6,n,0)}static createCustomMetadataVector(t,n){t.startVector(4,n.length,4);for(let r=n.length-1;r>=0;r--)t.addOffset(n[r]);return t.endVector()}static startCustomMetadataVector(t,n){t.startVector(4,n,4)}static endField(t){return t.endObject()}};var fr=class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,n){return this.bb_pos=t,this.bb=n,this}static getRootAsSchema(t,n){return(n||new e).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsSchema(t,n){return t.setPosition(t.position()+4),(n||new e).__init(t.readInt32(t.position())+t.position(),t)}endianness(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):da.Little}fields(t,n){let r=this.bb.__offset(this.bb_pos,6);return r?(n||new Cn).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+t*4),this.bb):null}fieldsLength(){let t=this.bb.__offset(this.bb_pos,6);return t?this.bb.__vector_len(this.bb_pos+t):0}customMetadata(t,n){let r=this.bb.__offset(this.bb_pos,8);return r?(n||new nn).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+t*4),this.bb):null}customMetadataLength(){let t=this.bb.__offset(this.bb_pos,8);return t?this.bb.__vector_len(this.bb_pos+t):0}features(t){let n=this.bb.__offset(this.bb_pos,10);return n?this.bb.readInt64(this.bb.__vector(this.bb_pos+n)+t*8):BigInt(0)}featuresLength(){let t=this.bb.__offset(this.bb_pos,10);return t?this.bb.__vector_len(this.bb_pos+t):0}static startSchema(t){t.startObject(4)}static addEndianness(t,n){t.addFieldInt16(0,n,da.Little)}static addFields(t,n){t.addFieldOffset(1,n,0)}static createFieldsVector(t,n){t.startVector(4,n.length,4);for(let r=n.length-1;r>=0;r--)t.addOffset(n[r]);return t.endVector()}static startFieldsVector(t,n){t.startVector(4,n,4)}static addCustomMetadata(t,n){t.addFieldOffset(2,n,0)}static createCustomMetadataVector(t,n){t.startVector(4,n.length,4);for(let r=n.length-1;r>=0;r--)t.addOffset(n[r]);return t.endVector()}static startCustomMetadataVector(t,n){t.startVector(4,n,4)}static addFeatures(t,n){t.addFieldOffset(3,n,0)}static createFeaturesVector(t,n){t.startVector(8,n.length,8);for(let r=n.length-1;r>=0;r--)t.addInt64(n[r]);return t.endVector()}static startFeaturesVector(t,n){t.startVector(8,n,8)}static endSchema(t){return t.endObject()}static finishSchemaBuffer(t,n){t.finish(n)}static finishSizePrefixedSchemaBuffer(t,n){t.finish(n,void 0,!0)}static createSchema(t,n,r,i,o){return e.startSchema(t),e.addEndianness(t,n),e.addFields(t,r),e.addCustomMetadata(t,i),e.addFeatures(t,o),e.endSchema(t)}};var qt;(function(e){e[e.NONE=0]="NONE",e[e.Schema=1]="Schema",e[e.DictionaryBatch=2]="DictionaryBatch",e[e.RecordBatch=3]="RecordBatch",e[e.Tensor=4]="Tensor",e[e.SparseTensor=5]="SparseTensor"})(qt||(qt={}));var B;(function(e){e[e.NONE=0]="NONE",e[e.Null=1]="Null",e[e.Int=2]="Int",e[e.Float=3]="Float",e[e.Binary=4]="Binary",e[e.Utf8=5]="Utf8",e[e.Bool=6]="Bool",e[e.Decimal=7]="Decimal",e[e.Date=8]="Date",e[e.Time=9]="Time",e[e.Timestamp=10]="Timestamp",e[e.Interval=11]="Interval",e[e.List=12]="List",e[e.Struct=13]="Struct",e[e.Union=14]="Union",e[e.FixedSizeBinary=15]="FixedSizeBinary",e[e.FixedSizeList=16]="FixedSizeList",e[e.Map=17]="Map",e[e.Duration=18]="Duration",e[e.LargeBinary=19]="LargeBinary",e[e.LargeUtf8=20]="LargeUtf8",e[e.Dictionary=-1]="Dictionary",e[e.Int8=-2]="Int8",e[e.Int16=-3]="Int16",e[e.Int32=-4]="Int32",e[e.Int64=-5]="Int64",e[e.Uint8=-6]="Uint8",e[e.Uint16=-7]="Uint16",e[e.Uint32=-8]="Uint32",e[e.Uint64=-9]="Uint64",e[e.Float16=-10]="Float16",e[e.Float32=-11]="Float32",e[e.Float64=-12]="Float64",e[e.DateDay=-13]="DateDay",e[e.DateMillisecond=-14]="DateMillisecond",e[e.TimestampSecond=-15]="TimestampSecond",e[e.TimestampMillisecond=-16]="TimestampMillisecond",e[e.TimestampMicrosecond=-17]="TimestampMicrosecond",e[e.TimestampNanosecond=-18]="TimestampNanosecond",e[e.TimeSecond=-19]="TimeSecond",e[e.TimeMillisecond=-20]="TimeMillisecond",e[e.TimeMicrosecond=-21]="TimeMicrosecond",e[e.TimeNanosecond=-22]="TimeNanosecond",e[e.DenseUnion=-23]="DenseUnion",e[e.SparseUnion=-24]="SparseUnion",e[e.IntervalDayTime=-25]="IntervalDayTime",e[e.IntervalYearMonth=-26]="IntervalYearMonth",e[e.DurationSecond=-27]="DurationSecond",e[e.DurationMillisecond=-28]="DurationMillisecond",e[e.DurationMicrosecond=-29]="DurationMicrosecond",e[e.DurationNanosecond=-30]="DurationNanosecond"})(B||(B={}));var Mi;(function(e){e[e.OFFSET=0]="OFFSET",e[e.DATA=1]="DATA",e[e.VALIDITY=2]="VALIDITY",e[e.TYPE=3]="TYPE"})(Mi||(Mi={}));var J_={};Ir(J_,{clampIndex:()=>Rq,clampRange:()=>th,createElementComparator:()=>_a});var L_={};Ir(L_,{valueToString:()=>Ai});function Ai(e){if(e===null)return"null";if(e===void 0)return"undefined";switch(typeof e){case"number":return`${e}`;case"bigint":return`${e}`;case"string":return`"${e}"`}return typeof e[Symbol.toPrimitive]=="function"?e[Symbol.toPrimitive]("string"):ArrayBuffer.isView(e)?e instanceof BigInt64Array||e instanceof BigUint64Array?`[${[...e].map(t=>Ai(t))}]`:`[${e}]`:ArrayBuffer.isView(e)?`[${e}]`:JSON.stringify(e,(t,n)=>typeof n=="bigint"?`${n}`:n)}var k_={};Ir(k_,{BN:()=>Qd,bigNumToBigInt:()=>PD,bigNumToString:()=>nu,isArrowBigNumSymbol:()=>RD});var RD=Symbol.for("isArrowBigNum");function Ti(e,...t){return t.length===0?Object.setPrototypeOf(Pt(this.TypedArray,e),this.constructor.prototype):Object.setPrototypeOf(new this.TypedArray(e,...t),this.constructor.prototype)}Ti.prototype[RD]=!0;Ti.prototype.toJSON=function(){return`"${nu(this)}"`};Ti.prototype.valueOf=function(){return $D(this)};Ti.prototype.toString=function(){return nu(this)};Ti.prototype[Symbol.toPrimitive]=function(e="default"){switch(e){case"number":return $D(this);case"string":return nu(this);case"default":return PD(this)}return nu(this)};function tu(...e){return Ti.apply(this,e)}function eu(...e){return Ti.apply(this,e)}function Jd(...e){return Ti.apply(this,e)}Object.setPrototypeOf(tu.prototype,Object.create(Int32Array.prototype));Object.setPrototypeOf(eu.prototype,Object.create(Uint32Array.prototype));Object.setPrototypeOf(Jd.prototype,Object.create(Uint32Array.prototype));Object.assign(tu.prototype,Ti.prototype,{constructor:tu,signed:!0,TypedArray:Int32Array,BigIntArray:BigInt64Array});Object.assign(eu.prototype,Ti.prototype,{constructor:eu,signed:!1,TypedArray:Uint32Array,BigIntArray:BigUint64Array});Object.assign(Jd.prototype,Ti.prototype,{constructor:Jd,signed:!0,TypedArray:Uint32Array,BigIntArray:BigUint64Array});function $D(e){let{buffer:t,byteOffset:n,length:r,signed:i}=e,o=new BigUint64Array(t,n,r),s=i&&o.at(-1)&BigInt(1)<<BigInt(63),a=BigInt(s?1:0),c=BigInt(0);if(s){for(let l of o)a+=~l*(BigInt(1)<<BigInt(32)*c++);a*=BigInt(-1)}else for(let l of o)a+=l*(BigInt(1)<<BigInt(32)*c++);return a}var nu=e=>{if(e.byteLength===8)return`${new e.BigIntArray(e.buffer,e.byteOffset,1)[0]}`;if(!e.signed)return C_(e);let t=new Uint16Array(e.buffer,e.byteOffset,e.byteLength/2);if(new Int16Array([t.at(-1)])[0]>=0)return C_(e);t=t.slice();let r=1;for(let o=0;o<t.length;o++){let s=t[o],a=~s+r;t[o]=a,r&=s===0?1:0}return`-${C_(t)}`},PD=e=>e.byteLength===8?new e.BigIntArray(e.buffer,e.byteOffset,1)[0]:nu(e);function C_(e){let t="",n=new Uint32Array(2),r=new Uint16Array(e.buffer,e.byteOffset,e.byteLength/2),i=new Uint32Array((r=new Uint16Array(r).reverse()).buffer),o=-1,s=r.length-1;do{for(n[0]=r[o=0];o<s;)r[o++]=n[1]=n[0]/10,n[0]=(n[0]-n[1]*10<<16)+r[o];r[o]=n[1]=n[0]/10,n[0]=n[0]-n[1]*10,t=`${n[0]}${t}`}while(i[0]||i[1]||i[2]||i[3]);return t??"0"}var Qd=class e{static new(t,n){switch(n){case!0:return new tu(t);case!1:return new eu(t)}switch(t.constructor){case Int8Array:case Int16Array:case Int32Array:case BigInt64Array:return new tu(t)}return t.byteLength===16?new Jd(t):new eu(t)}static signed(t){return new tu(t)}static unsigned(t){return new eu(t)}static decimal(t){return new Jd(t)}constructor(t,n){return e.new(t,n)}};function De(e){if(typeof e=="bigint"&&(e<Number.MIN_SAFE_INTEGER||e>Number.MAX_SAFE_INTEGER))throw new TypeError(`${e} is not safe to convert to a number.`);return Number(e)}var UD,zD,qD,jD,VD,YD,XD,GD,WD,HD,ZD,JD,QD,KD,tO,eO,nO,rO,iO,oO,sO,aO,st=class e{static isNull(t){return t?.typeId===B.Null}static isInt(t){return t?.typeId===B.Int}static isFloat(t){return t?.typeId===B.Float}static isBinary(t){return t?.typeId===B.Binary}static isLargeBinary(t){return t?.typeId===B.LargeBinary}static isUtf8(t){return t?.typeId===B.Utf8}static isLargeUtf8(t){return t?.typeId===B.LargeUtf8}static isBool(t){return t?.typeId===B.Bool}static isDecimal(t){return t?.typeId===B.Decimal}static isDate(t){return t?.typeId===B.Date}static isTime(t){return t?.typeId===B.Time}static isTimestamp(t){return t?.typeId===B.Timestamp}static isInterval(t){return t?.typeId===B.Interval}static isDuration(t){return t?.typeId===B.Duration}static isList(t){return t?.typeId===B.List}static isStruct(t){return t?.typeId===B.Struct}static isUnion(t){return t?.typeId===B.Union}static isFixedSizeBinary(t){return t?.typeId===B.FixedSizeBinary}static isFixedSizeList(t){return t?.typeId===B.FixedSizeList}static isMap(t){return t?.typeId===B.Map}static isDictionary(t){return t?.typeId===B.Dictionary}static isDenseUnion(t){return e.isUnion(t)&&t.mode===ge.Dense}static isSparseUnion(t){return e.isUnion(t)&&t.mode===ge.Sparse}constructor(t){this.typeId=t}};UD=Symbol.toStringTag;st[UD]=(e=>(e.children=null,e.ArrayType=Array,e.OffsetArrayType=Int32Array,e[Symbol.toStringTag]="DataType"))(st.prototype);var Xn=class extends st{constructor(){super(B.Null)}toString(){return"Null"}};zD=Symbol.toStringTag;Xn[zD]=(e=>e[Symbol.toStringTag]="Null")(Xn.prototype);var Pe=class extends st{constructor(t,n){super(B.Int),this.isSigned=t,this.bitWidth=n}get ArrayType(){switch(this.bitWidth){case 8:return this.isSigned?Int8Array:Uint8Array;case 16:return this.isSigned?Int16Array:Uint16Array;case 32:return this.isSigned?Int32Array:Uint32Array;case 64:return this.isSigned?BigInt64Array:BigUint64Array}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}toString(){return`${this.isSigned?"I":"Ui"}nt${this.bitWidth}`}};qD=Symbol.toStringTag;Pe[qD]=(e=>(e.isSigned=null,e.bitWidth=null,e[Symbol.toStringTag]="Int"))(Pe.prototype);var bg=class extends Pe{constructor(){super(!0,8)}get ArrayType(){return Int8Array}},wg=class extends Pe{constructor(){super(!0,16)}get ArrayType(){return Int16Array}},eo=class extends Pe{constructor(){super(!0,32)}get ArrayType(){return Int32Array}},vg=class extends Pe{constructor(){super(!0,64)}get ArrayType(){return BigInt64Array}},_g=class extends Pe{constructor(){super(!1,8)}get ArrayType(){return Uint8Array}},Sg=class extends Pe{constructor(){super(!1,16)}get ArrayType(){return Uint16Array}},Ig=class extends Pe{constructor(){super(!1,32)}get ArrayType(){return Uint32Array}},Mg=class extends Pe{constructor(){super(!1,64)}get ArrayType(){return BigUint64Array}};Object.defineProperty(bg.prototype,"ArrayType",{value:Int8Array});Object.defineProperty(wg.prototype,"ArrayType",{value:Int16Array});Object.defineProperty(eo.prototype,"ArrayType",{value:Int32Array});Object.defineProperty(vg.prototype,"ArrayType",{value:BigInt64Array});Object.defineProperty(_g.prototype,"ArrayType",{value:Uint8Array});Object.defineProperty(Sg.prototype,"ArrayType",{value:Uint16Array});Object.defineProperty(Ig.prototype,"ArrayType",{value:Uint32Array});Object.defineProperty(Mg.prototype,"ArrayType",{value:BigUint64Array});var dr=class extends st{constructor(t){super(B.Float),this.precision=t}get ArrayType(){switch(this.precision){case he.HALF:return Uint16Array;case he.SINGLE:return Float32Array;case he.DOUBLE:return Float64Array}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}toString(){return`Float${this.precision<<5||16}`}};jD=Symbol.toStringTag;dr[jD]=(e=>(e.precision=null,e[Symbol.toStringTag]="Float"))(dr.prototype);var Ag=class extends dr{constructor(){super(he.HALF)}},Tg=class extends dr{constructor(){super(he.SINGLE)}},Eg=class extends dr{constructor(){super(he.DOUBLE)}};Object.defineProperty(Ag.prototype,"ArrayType",{value:Uint16Array});Object.defineProperty(Tg.prototype,"ArrayType",{value:Float32Array});Object.defineProperty(Eg.prototype,"ArrayType",{value:Float64Array});var Jo=class extends st{constructor(){super(B.Binary)}toString(){return"Binary"}};VD=Symbol.toStringTag;Jo[VD]=(e=>(e.ArrayType=Uint8Array,e[Symbol.toStringTag]="Binary"))(Jo.prototype);var Qo=class extends st{constructor(){super(B.LargeBinary)}toString(){return"LargeBinary"}};YD=Symbol.toStringTag;Qo[YD]=(e=>(e.ArrayType=Uint8Array,e.OffsetArrayType=BigInt64Array,e[Symbol.toStringTag]="LargeBinary"))(Qo.prototype);var Ko=class extends st{constructor(){super(B.Utf8)}toString(){return"Utf8"}};XD=Symbol.toStringTag;Ko[XD]=(e=>(e.ArrayType=Uint8Array,e[Symbol.toStringTag]="Utf8"))(Ko.prototype);var ts=class extends st{constructor(){super(B.LargeUtf8)}toString(){return"LargeUtf8"}};GD=Symbol.toStringTag;ts[GD]=(e=>(e.ArrayType=Uint8Array,e.OffsetArrayType=BigInt64Array,e[Symbol.toStringTag]="LargeUtf8"))(ts.prototype);var es=class extends st{constructor(){super(B.Bool)}toString(){return"Bool"}};WD=Symbol.toStringTag;es[WD]=(e=>(e.ArrayType=Uint8Array,e[Symbol.toStringTag]="Bool"))(es.prototype);var ns=class extends st{constructor(t,n,r=128){super(B.Decimal),this.scale=t,this.precision=n,this.bitWidth=r}toString(){return`Decimal[${this.precision}e${this.scale>0?"+":""}${this.scale}]`}};HD=Symbol.toStringTag;ns[HD]=(e=>(e.scale=null,e.precision=null,e.ArrayType=Uint32Array,e[Symbol.toStringTag]="Decimal"))(ns.prototype);var rs=class extends st{constructor(t){super(B.Date),this.unit=t}toString(){return`Date${(this.unit+1)*32}<${Ve[this.unit]}>`}};ZD=Symbol.toStringTag;rs[ZD]=(e=>(e.unit=null,e.ArrayType=Int32Array,e[Symbol.toStringTag]="Date"))(rs.prototype);var Ei=class extends st{constructor(t,n){super(B.Time),this.unit=t,this.bitWidth=n}toString(){return`Time${this.bitWidth}<${ct[this.unit]}>`}get ArrayType(){switch(this.bitWidth){case 32:return Int32Array;case 64:return BigInt64Array}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}};JD=Symbol.toStringTag;Ei[JD]=(e=>(e.unit=null,e.bitWidth=null,e[Symbol.toStringTag]="Time"))(Ei.prototype);var is=class extends st{constructor(t,n){super(B.Timestamp),this.unit=t,this.timezone=n}toString(){return`Timestamp<${ct[this.unit]}${this.timezone?`, ${this.timezone}`:""}>`}};QD=Symbol.toStringTag;is[QD]=(e=>(e.unit=null,e.timezone=null,e.ArrayType=Int32Array,e[Symbol.toStringTag]="Timestamp"))(is.prototype);var os=class extends st{constructor(t){super(B.Interval),this.unit=t}toString(){return`Interval<${an[this.unit]}>`}};KD=Symbol.toStringTag;os[KD]=(e=>(e.unit=null,e.ArrayType=Int32Array,e[Symbol.toStringTag]="Interval"))(os.prototype);var ss=class extends st{constructor(t){super(B.Duration),this.unit=t}toString(){return`Duration<${ct[this.unit]}>`}};tO=Symbol.toStringTag;ss[tO]=(e=>(e.unit=null,e.ArrayType=BigInt64Array,e[Symbol.toStringTag]="Duration"))(ss.prototype);var Ni=class extends st{constructor(t){super(B.List),this.children=[t]}toString(){return`List<${this.valueType}>`}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get ArrayType(){return this.valueType.ArrayType}};eO=Symbol.toStringTag;Ni[eO]=(e=>(e.children=null,e[Symbol.toStringTag]="List"))(Ni.prototype);var be=class extends st{constructor(t){super(B.Struct),this.children=t}toString(){return`Struct<{${this.children.map(t=>`${t.name}:${t.type}`).join(", ")}}>`}};nO=Symbol.toStringTag;be[nO]=(e=>(e.children=null,e[Symbol.toStringTag]="Struct"))(be.prototype);var Di=class extends st{constructor(t,n,r){super(B.Union),this.mode=t,this.children=r,this.typeIds=n=Int32Array.from(n),this.typeIdToChildIndex=n.reduce((i,o,s)=>(i[o]=s)&&i||i,Object.create(null))}toString(){return`${this[Symbol.toStringTag]}<${this.children.map(t=>`${t.type}`).join(" | ")}>`}};rO=Symbol.toStringTag;Di[rO]=(e=>(e.mode=null,e.typeIds=null,e.children=null,e.typeIdToChildIndex=null,e.ArrayType=Int8Array,e[Symbol.toStringTag]="Union"))(Di.prototype);var as=class extends st{constructor(t){super(B.FixedSizeBinary),this.byteWidth=t}toString(){return`FixedSizeBinary[${this.byteWidth}]`}};iO=Symbol.toStringTag;as[iO]=(e=>(e.byteWidth=null,e.ArrayType=Uint8Array,e[Symbol.toStringTag]="FixedSizeBinary"))(as.prototype);var Oi=class extends st{constructor(t,n){super(B.FixedSizeList),this.listSize=t,this.children=[n]}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get ArrayType(){return this.valueType.ArrayType}toString(){return`FixedSizeList[${this.listSize}]<${this.valueType}>`}};oO=Symbol.toStringTag;Oi[oO]=(e=>(e.children=null,e.listSize=null,e[Symbol.toStringTag]="FixedSizeList"))(Oi.prototype);var Bi=class extends st{constructor(t,n=!1){var r,i,o;if(super(B.Map),this.children=[t],this.keysSorted=n,t&&(t.name="entries",!((r=t?.type)===null||r===void 0)&&r.children)){let s=(i=t?.type)===null||i===void 0?void 0:i.children[0];s&&(s.name="key");let a=(o=t?.type)===null||o===void 0?void 0:o.children[1];a&&(a.name="value")}}get keyType(){return this.children[0].type.children[0].type}get valueType(){return this.children[0].type.children[1].type}get childType(){return this.children[0].type}toString(){return`Map<{${this.children[0].type.children.map(t=>`${t.name}:${t.type}`).join(", ")}}>`}};sO=Symbol.toStringTag;Bi[sO]=(e=>(e.children=null,e.keysSorted=null,e[Symbol.toStringTag]="Map_"))(Bi.prototype);var Jz=(e=>()=>++e)(-1),Dr=class extends st{constructor(t,n,r,i){super(B.Dictionary),this.indices=n,this.dictionary=t,this.isOrdered=i||!1,this.id=r==null?Jz():De(r)}get children(){return this.dictionary.children}get valueType(){return this.dictionary}get ArrayType(){return this.dictionary.ArrayType}toString(){return`Dictionary<${this.indices}, ${this.dictionary}>`}};aO=Symbol.toStringTag;Dr[aO]=(e=>(e.id=null,e.indices=null,e.isOrdered=null,e.dictionary=null,e[Symbol.toStringTag]="Dictionary"))(Dr.prototype);function Or(e){let t=e;switch(e.typeId){case B.Decimal:return e.bitWidth/32;case B.Timestamp:return 2;case B.Date:return 1+t.unit;case B.Interval:return 1+t.unit;case B.FixedSizeList:return t.listSize;case B.FixedSizeBinary:return t.byteWidth;default:return 1}}var mt=class{visitMany(t,...n){return t.map((r,i)=>this.visit(r,...n.map(o=>o[i])))}visit(...t){return this.getVisitFn(t[0],!1).apply(this,t)}getVisitFn(t,n=!0){return Qz(this,t,n)}getVisitFnByTypeId(t,n=!0){return ru(this,t,n)}visitNull(t,...n){return null}visitBool(t,...n){return null}visitInt(t,...n){return null}visitFloat(t,...n){return null}visitUtf8(t,...n){return null}visitLargeUtf8(t,...n){return null}visitBinary(t,...n){return null}visitLargeBinary(t,...n){return null}visitFixedSizeBinary(t,...n){return null}visitDate(t,...n){return null}visitTimestamp(t,...n){return null}visitTime(t,...n){return null}visitDecimal(t,...n){return null}visitList(t,...n){return null}visitStruct(t,...n){return null}visitUnion(t,...n){return null}visitDictionary(t,...n){return null}visitInterval(t,...n){return null}visitDuration(t,...n){return null}visitFixedSizeList(t,...n){return null}visitMap(t,...n){return null}};function Qz(e,t,n=!0){return typeof t=="number"?ru(e,t,n):typeof t=="string"&&t in B?ru(e,B[t],n):t&&t instanceof st?ru(e,cO(t),n):t?.type&&t.type instanceof st?ru(e,cO(t.type),n):ru(e,B.NONE,n)}function ru(e,t,n=!0){let r=null;switch(t){case B.Null:r=e.visitNull;break;case B.Bool:r=e.visitBool;break;case B.Int:r=e.visitInt;break;case B.Int8:r=e.visitInt8||e.visitInt;break;case B.Int16:r=e.visitInt16||e.visitInt;break;case B.Int32:r=e.visitInt32||e.visitInt;break;case B.Int64:r=e.visitInt64||e.visitInt;break;case B.Uint8:r=e.visitUint8||e.visitInt;break;case B.Uint16:r=e.visitUint16||e.visitInt;break;case B.Uint32:r=e.visitUint32||e.visitInt;break;case B.Uint64:r=e.visitUint64||e.visitInt;break;case B.Float:r=e.visitFloat;break;case B.Float16:r=e.visitFloat16||e.visitFloat;break;case B.Float32:r=e.visitFloat32||e.visitFloat;break;case B.Float64:r=e.visitFloat64||e.visitFloat;break;case B.Utf8:r=e.visitUtf8;break;case B.LargeUtf8:r=e.visitLargeUtf8;break;case B.Binary:r=e.visitBinary;break;case B.LargeBinary:r=e.visitLargeBinary;break;case B.FixedSizeBinary:r=e.visitFixedSizeBinary;break;case B.Date:r=e.visitDate;break;case B.DateDay:r=e.visitDateDay||e.visitDate;break;case B.DateMillisecond:r=e.visitDateMillisecond||e.visitDate;break;case B.Timestamp:r=e.visitTimestamp;break;case B.TimestampSecond:r=e.visitTimestampSecond||e.visitTimestamp;break;case B.TimestampMillisecond:r=e.visitTimestampMillisecond||e.visitTimestamp;break;case B.TimestampMicrosecond:r=e.visitTimestampMicrosecond||e.visitTimestamp;break;case B.TimestampNanosecond:r=e.visitTimestampNanosecond||e.visitTimestamp;break;case B.Time:r=e.visitTime;break;case B.TimeSecond:r=e.visitTimeSecond||e.visitTime;break;case B.TimeMillisecond:r=e.visitTimeMillisecond||e.visitTime;break;case B.TimeMicrosecond:r=e.visitTimeMicrosecond||e.visitTime;break;case B.TimeNanosecond:r=e.visitTimeNanosecond||e.visitTime;break;case B.Decimal:r=e.visitDecimal;break;case B.List:r=e.visitList;break;case B.Struct:r=e.visitStruct;break;case B.Union:r=e.visitUnion;break;case B.DenseUnion:r=e.visitDenseUnion||e.visitUnion;break;case B.SparseUnion:r=e.visitSparseUnion||e.visitUnion;break;case B.Dictionary:r=e.visitDictionary;break;case B.Interval:r=e.visitInterval;break;case B.IntervalDayTime:r=e.visitIntervalDayTime||e.visitInterval;break;case B.IntervalYearMonth:r=e.visitIntervalYearMonth||e.visitInterval;break;case B.Duration:r=e.visitDuration;break;case B.DurationSecond:r=e.visitDurationSecond||e.visitDuration;break;case B.DurationMillisecond:r=e.visitDurationMillisecond||e.visitDuration;break;case B.DurationMicrosecond:r=e.visitDurationMicrosecond||e.visitDuration;break;case B.DurationNanosecond:r=e.visitDurationNanosecond||e.visitDuration;break;case B.FixedSizeList:r=e.visitFixedSizeList;break;case B.Map:r=e.visitMap;break}if(typeof r=="function")return r;if(!n)return()=>null;throw new Error(`Unrecognized type '${B[t]}'`)}function cO(e){switch(e.typeId){case B.Null:return B.Null;case B.Int:{let{bitWidth:t,isSigned:n}=e;switch(t){case 8:return n?B.Int8:B.Uint8;case 16:return n?B.Int16:B.Uint16;case 32:return n?B.Int32:B.Uint32;case 64:return n?B.Int64:B.Uint64}return B.Int}case B.Float:switch(e.precision){case he.HALF:return B.Float16;case he.SINGLE:return B.Float32;case he.DOUBLE:return B.Float64}return B.Float;case B.Binary:return B.Binary;case B.LargeBinary:return B.LargeBinary;case B.Utf8:return B.Utf8;case B.LargeUtf8:return B.LargeUtf8;case B.Bool:return B.Bool;case B.Decimal:return B.Decimal;case B.Time:switch(e.unit){case ct.SECOND:return B.TimeSecond;case ct.MILLISECOND:return B.TimeMillisecond;case ct.MICROSECOND:return B.TimeMicrosecond;case ct.NANOSECOND:return B.TimeNanosecond}return B.Time;case B.Timestamp:switch(e.unit){case ct.SECOND:return B.TimestampSecond;case ct.MILLISECOND:return B.TimestampMillisecond;case ct.MICROSECOND:return B.TimestampMicrosecond;case ct.NANOSECOND:return B.TimestampNanosecond}return B.Timestamp;case B.Date:switch(e.unit){case Ve.DAY:return B.DateDay;case Ve.MILLISECOND:return B.DateMillisecond}return B.Date;case B.Interval:switch(e.unit){case an.DAY_TIME:return B.IntervalDayTime;case an.YEAR_MONTH:return B.IntervalYearMonth}return B.Interval;case B.Duration:switch(e.unit){case ct.SECOND:return B.DurationSecond;case ct.MILLISECOND:return B.DurationMillisecond;case ct.MICROSECOND:return B.DurationMicrosecond;case ct.NANOSECOND:return B.DurationNanosecond}return B.Duration;case B.Map:return B.Map;case B.List:return B.List;case B.Struct:return B.Struct;case B.Union:switch(e.mode){case ge.Dense:return B.DenseUnion;case ge.Sparse:return B.SparseUnion}return B.Union;case B.FixedSizeBinary:return B.FixedSizeBinary;case B.FixedSizeList:return B.FixedSizeList;case B.Dictionary:return B.Dictionary}throw new Error(`Unrecognized type '${B[e.typeId]}'`)}mt.prototype.visitInt8=null;mt.prototype.visitInt16=null;mt.prototype.visitInt32=null;mt.prototype.visitInt64=null;mt.prototype.visitUint8=null;mt.prototype.visitUint16=null;mt.prototype.visitUint32=null;mt.prototype.visitUint64=null;mt.prototype.visitFloat16=null;mt.prototype.visitFloat32=null;mt.prototype.visitFloat64=null;mt.prototype.visitDateDay=null;mt.prototype.visitDateMillisecond=null;mt.prototype.visitTimestampSecond=null;mt.prototype.visitTimestampMillisecond=null;mt.prototype.visitTimestampMicrosecond=null;mt.prototype.visitTimestampNanosecond=null;mt.prototype.visitTimeSecond=null;mt.prototype.visitTimeMillisecond=null;mt.prototype.visitTimeMicrosecond=null;mt.prototype.visitTimeNanosecond=null;mt.prototype.visitDenseUnion=null;mt.prototype.visitSparseUnion=null;mt.prototype.visitIntervalDayTime=null;mt.prototype.visitIntervalYearMonth=null;mt.prototype.visitDuration=null;mt.prototype.visitDurationSecond=null;mt.prototype.visitDurationMillisecond=null;mt.prototype.visitDurationMicrosecond=null;mt.prototype.visitDurationNanosecond=null;var F_={};Ir(F_,{float64ToUint16:()=>Kd,uint16ToFloat64:()=>Ng});var lO=new Float64Array(1),iu=new Uint32Array(lO.buffer);function Ng(e){let t=(e&31744)>>10,n=(e&1023)/1024,r=Math.pow(-1,(e&32768)>>15);switch(t){case 31:return r*(n?Number.NaN:1/0);case 0:return r*(n?6103515625e-14*n:0)}return r*Math.pow(2,t-15)*(1+n)}function Kd(e){if(e!==e)return 32256;lO[0]=e;let t=(iu[1]&2147483648)>>16&65535,n=iu[1]&2146435072,r=0;return n>=1089470464?iu[0]>0?n=31744:(n=(n&2080374784)>>16,r=(iu[1]&1048575)>>10):n<=1056964608?(r=1048576+(iu[1]&1048575),r=1048576+(r<<(n>>20)-998)>>21,n=0):(n=n-1056964608>>10,r=(iu[1]&1048575)+512>>10),t|n|r&65535}var vt=class extends mt{};function Tt(e){return(t,n,r)=>{if(t.setValid(n,r!=null))return e(t,n,r)}}var Kz=(e,t,n)=>{e[t]=Math.trunc(n/864e5)},R_=(e,t,n)=>{e[t]=Math.trunc(n%4294967296),e[t+1]=Math.trunc(n/4294967296)},tq=(e,t,n)=>{e[t]=Math.trunc(n*1e3%4294967296),e[t+1]=Math.trunc(n*1e3/4294967296)},eq=(e,t,n)=>{e[t]=Math.trunc(n*1e6%4294967296),e[t+1]=Math.trunc(n*1e6/4294967296)},uO=(e,t,n,r)=>{if(n+1<t.length){let i=De(t[n]),o=De(t[n+1]);e.set(r.subarray(0,o-i),i)}},nq=({offset:e,values:t},n,r)=>{let i=e+n;r?t[i>>3]|=1<<i%8:t[i>>3]&=~(1<<i%8)},cs=({values:e},t,n)=>{e[t]=n},$_=({values:e},t,n)=>{e[t]=n},fO=({values:e},t,n)=>{e[t]=Kd(n)},rq=(e,t,n)=>{switch(e.type.precision){case he.HALF:return fO(e,t,n);case he.SINGLE:case he.DOUBLE:return $_(e,t,n)}},Dg=({values:e},t,n)=>{Kz(e,t,n.valueOf())},Og=({values:e},t,n)=>{R_(e,t*2,n.valueOf())},P_=({stride:e,values:t},n,r)=>{t.set(r.subarray(0,e),e*n)},dO=({values:e,valueOffsets:t},n,r)=>uO(e,t,n,r),hO=({values:e,valueOffsets:t},n,r)=>uO(e,t,n,Zi(r)),U_=(e,t,n)=>{e.type.unit===Ve.DAY?Dg(e,t,n):Og(e,t,n)},Bg=({values:e},t,n)=>R_(e,t*2,n/1e3),Lg=({values:e},t,n)=>R_(e,t*2,n),Cg=({values:e},t,n)=>tq(e,t*2,n),kg=({values:e},t,n)=>eq(e,t*2,n),z_=(e,t,n)=>{switch(e.type.unit){case ct.SECOND:return Bg(e,t,n);case ct.MILLISECOND:return Lg(e,t,n);case ct.MICROSECOND:return Cg(e,t,n);case ct.NANOSECOND:return kg(e,t,n)}},Fg=({values:e},t,n)=>{e[t]=n},Rg=({values:e},t,n)=>{e[t]=n},$g=({values:e},t,n)=>{e[t]=n},Pg=({values:e},t,n)=>{e[t]=n},q_=(e,t,n)=>{switch(e.type.unit){case ct.SECOND:return Fg(e,t,n);case ct.MILLISECOND:return Rg(e,t,n);case ct.MICROSECOND:return $g(e,t,n);case ct.NANOSECOND:return Pg(e,t,n)}},j_=({values:e,stride:t},n,r)=>{e.set(r.subarray(0,t),t*n)},iq=(e,t,n)=>{let r=e.children[0],i=e.valueOffsets,o=wn.getVisitFn(r);if(Array.isArray(n))for(let s=-1,a=i[t],c=i[t+1];a<c;)o(r,a++,n[++s]);else for(let s=-1,a=i[t],c=i[t+1];a<c;)o(r,a++,n.get(++s))},oq=(e,t,n)=>{let r=e.children[0],{valueOffsets:i}=e,o=wn.getVisitFn(r),{[t]:s,[t+1]:a}=i,c=n instanceof Map?n.entries():Object.entries(n);for(let l of c)if(o(r,s,l),++s>=a)break},sq=(e,t)=>(n,r,i,o)=>r&&n(r,e,t[o]),aq=(e,t)=>(n,r,i,o)=>r&&n(r,e,t.get(o)),cq=(e,t)=>(n,r,i,o)=>r&&n(r,e,t.get(i.name)),lq=(e,t)=>(n,r,i,o)=>r&&n(r,e,t[i.name]),uq=(e,t,n)=>{let r=e.type.children.map(o=>wn.getVisitFn(o.type)),i=n instanceof Map?cq(t,n):n instanceof Xt?aq(t,n):Array.isArray(n)?sq(t,n):lq(t,n);e.type.children.forEach((o,s)=>i(r[s],e.children[s],o,s))},fq=(e,t,n)=>{e.type.mode===ge.Dense?pO(e,t,n):mO(e,t,n)},pO=(e,t,n)=>{let r=e.type.typeIdToChildIndex[e.typeIds[t]],i=e.children[r];wn.visit(i,e.valueOffsets[t],n)},mO=(e,t,n)=>{let r=e.type.typeIdToChildIndex[e.typeIds[t]],i=e.children[r];wn.visit(i,t,n)},dq=(e,t,n)=>{var r;(r=e.dictionary)===null||r===void 0||r.set(e.values[t],n)},V_=(e,t,n)=>{e.type.unit===an.DAY_TIME?Ug(e,t,n):zg(e,t,n)},Ug=({values:e},t,n)=>{e.set(n.subarray(0,2),2*t)},zg=({values:e},t,n)=>{e[t]=n[0]*12+n[1]%12},qg=({values:e},t,n)=>{e[t]=n},jg=({values:e},t,n)=>{e[t]=n},Vg=({values:e},t,n)=>{e[t]=n},Yg=({values:e},t,n)=>{e[t]=n},Y_=(e,t,n)=>{switch(e.type.unit){case ct.SECOND:return qg(e,t,n);case ct.MILLISECOND:return jg(e,t,n);case ct.MICROSECOND:return Vg(e,t,n);case ct.NANOSECOND:return Yg(e,t,n)}},hq=(e,t,n)=>{let{stride:r}=e,i=e.children[0],o=wn.getVisitFn(i);if(Array.isArray(n))for(let s=-1,a=t*r;++s<r;)o(i,a+s,n[s]);else for(let s=-1,a=t*r;++s<r;)o(i,a+s,n.get(s))};vt.prototype.visitBool=Tt(nq);vt.prototype.visitInt=Tt(cs);vt.prototype.visitInt8=Tt(cs);vt.prototype.visitInt16=Tt(cs);vt.prototype.visitInt32=Tt(cs);vt.prototype.visitInt64=Tt(cs);vt.prototype.visitUint8=Tt(cs);vt.prototype.visitUint16=Tt(cs);vt.prototype.visitUint32=Tt(cs);vt.prototype.visitUint64=Tt(cs);vt.prototype.visitFloat=Tt(rq);vt.prototype.visitFloat16=Tt(fO);vt.prototype.visitFloat32=Tt($_);vt.prototype.visitFloat64=Tt($_);vt.prototype.visitUtf8=Tt(hO);vt.prototype.visitLargeUtf8=Tt(hO);vt.prototype.visitBinary=Tt(dO);vt.prototype.visitLargeBinary=Tt(dO);vt.prototype.visitFixedSizeBinary=Tt(P_);vt.prototype.visitDate=Tt(U_);vt.prototype.visitDateDay=Tt(Dg);vt.prototype.visitDateMillisecond=Tt(Og);vt.prototype.visitTimestamp=Tt(z_);vt.prototype.visitTimestampSecond=Tt(Bg);vt.prototype.visitTimestampMillisecond=Tt(Lg);vt.prototype.visitTimestampMicrosecond=Tt(Cg);vt.prototype.visitTimestampNanosecond=Tt(kg);vt.prototype.visitTime=Tt(q_);vt.prototype.visitTimeSecond=Tt(Fg);vt.prototype.visitTimeMillisecond=Tt(Rg);vt.prototype.visitTimeMicrosecond=Tt($g);vt.prototype.visitTimeNanosecond=Tt(Pg);vt.prototype.visitDecimal=Tt(j_);vt.prototype.visitList=Tt(iq);vt.prototype.visitStruct=Tt(uq);vt.prototype.visitUnion=Tt(fq);vt.prototype.visitDenseUnion=Tt(pO);vt.prototype.visitSparseUnion=Tt(mO);vt.prototype.visitDictionary=Tt(dq);vt.prototype.visitInterval=Tt(V_);vt.prototype.visitIntervalDayTime=Tt(Ug);vt.prototype.visitIntervalYearMonth=Tt(zg);vt.prototype.visitDuration=Tt(Y_);vt.prototype.visitDurationSecond=Tt(qg);vt.prototype.visitDurationMillisecond=Tt(jg);vt.prototype.visitDurationMicrosecond=Tt(Vg);vt.prototype.visitDurationNanosecond=Tt(Yg);vt.prototype.visitFixedSizeList=Tt(hq);vt.prototype.visitMap=Tt(oq);var wn=new vt;var Li=Symbol.for("parent"),ou=Symbol.for("rowIndex"),wa=class{constructor(t,n){return this[Li]=t,this[ou]=n,new Proxy(this,new G_)}toArray(){return Object.values(this.toJSON())}toJSON(){let t=this[ou],n=this[Li],r=n.type.children,i={};for(let o=-1,s=r.length;++o<s;)i[r[o].name]=Ye.visit(n.children[o],t);return i}toString(){return`{${[...this].map(([t,n])=>`${Ai(t)}: ${Ai(n)}`).join(", ")}}`}[Symbol.for("nodejs.util.inspect.custom")](){return this.toString()}[Symbol.iterator](){return new X_(this[Li],this[ou])}},X_=class{constructor(t,n){this.childIndex=0,this.children=t.children,this.rowIndex=n,this.childFields=t.type.children,this.numChildren=this.childFields.length}[Symbol.iterator](){return this}next(){let t=this.childIndex;return t<this.numChildren?(this.childIndex=t+1,{done:!1,value:[this.childFields[t].name,Ye.visit(this.children[t],this.rowIndex)]}):{done:!0,value:null}}};Object.defineProperties(wa.prototype,{[Symbol.toStringTag]:{enumerable:!1,configurable:!1,value:"Row"},[Li]:{writable:!0,enumerable:!1,configurable:!1,value:null},[ou]:{writable:!0,enumerable:!1,configurable:!1,value:-1}});var G_=class{isExtensible(){return!1}deleteProperty(){return!1}preventExtensions(){return!0}ownKeys(t){return t[Li].type.children.map(n=>n.name)}has(t,n){return t[Li].type.children.findIndex(r=>r.name===n)!==-1}getOwnPropertyDescriptor(t,n){if(t[Li].type.children.findIndex(r=>r.name===n)!==-1)return{writable:!0,enumerable:!0,configurable:!0}}get(t,n){if(Reflect.has(t,n))return t[n];let r=t[Li].type.children.findIndex(i=>i.name===n);if(r!==-1){let i=Ye.visit(t[Li].children[r],t[ou]);return Reflect.set(t,n,i),i}}set(t,n,r){let i=t[Li].type.children.findIndex(o=>o.name===n);return i!==-1?(wn.visit(t[Li].children[i],t[ou],r),Reflect.set(t,n,r)):Reflect.has(t,n)||typeof n=="symbol"?Reflect.set(t,n,r):!1}};var yt=class extends mt{};function It(e){return(t,n)=>t.getValid(n)?e(t,n):null}var pq=(e,t)=>864e5*e[t],W_=(e,t)=>4294967296*e[t+1]+(e[t]>>>0),mq=(e,t)=>4294967296*(e[t+1]/1e3)+(e[t]>>>0)/1e3,yq=(e,t)=>4294967296*(e[t+1]/1e6)+(e[t]>>>0)/1e6,yO=e=>new Date(e),gq=(e,t)=>yO(pq(e,t)),xq=(e,t)=>yO(W_(e,t)),bq=(e,t)=>null,gO=(e,t,n)=>{if(n+1>=t.length)return null;let r=De(t[n]),i=De(t[n+1]);return e.subarray(r,i)},wq=({offset:e,values:t},n)=>{let r=e+n;return(t[r>>3]&1<<r%8)!==0},xO=({values:e},t)=>gq(e,t),bO=({values:e},t)=>xq(e,t*2),va=({stride:e,values:t},n)=>t[e*n],vq=({stride:e,values:t},n)=>Ng(t[e*n]),wO=({values:e},t)=>e[t],_q=({stride:e,values:t},n)=>t.subarray(e*n,e*(n+1)),vO=({values:e,valueOffsets:t},n)=>gO(e,t,n),_O=({values:e,valueOffsets:t},n)=>{let r=gO(e,t,n);return r!==null?Fd(r):null},Sq=({values:e},t)=>e[t],Iq=({type:e,values:t},n)=>e.precision!==he.HALF?t[n]:Ng(t[n]),Mq=(e,t)=>e.type.unit===Ve.DAY?xO(e,t):bO(e,t),SO=({values:e},t)=>1e3*W_(e,t*2),IO=({values:e},t)=>W_(e,t*2),MO=({values:e},t)=>mq(e,t*2),AO=({values:e},t)=>yq(e,t*2),Aq=(e,t)=>{switch(e.type.unit){case ct.SECOND:return SO(e,t);case ct.MILLISECOND:return IO(e,t);case ct.MICROSECOND:return MO(e,t);case ct.NANOSECOND:return AO(e,t)}},TO=({values:e},t)=>e[t],EO=({values:e},t)=>e[t],NO=({values:e},t)=>e[t],DO=({values:e},t)=>e[t],Tq=(e,t)=>{switch(e.type.unit){case ct.SECOND:return TO(e,t);case ct.MILLISECOND:return EO(e,t);case ct.MICROSECOND:return NO(e,t);case ct.NANOSECOND:return DO(e,t)}},Eq=({values:e,stride:t},n)=>Qd.decimal(e.subarray(t*n,t*(n+1))),Nq=(e,t)=>{let{valueOffsets:n,stride:r,children:i}=e,{[t*r]:o,[t*r+1]:s}=n,c=i[0].slice(o,s-o);return new Xt([c])},Dq=(e,t)=>{let{valueOffsets:n,children:r}=e,{[t]:i,[t+1]:o}=n,s=r[0];return new no(s.slice(i,o-i))},Oq=(e,t)=>new wa(e,t),Bq=(e,t)=>e.type.mode===ge.Dense?OO(e,t):BO(e,t),OO=(e,t)=>{let n=e.type.typeIdToChildIndex[e.typeIds[t]],r=e.children[n];return Ye.visit(r,e.valueOffsets[t])},BO=(e,t)=>{let n=e.type.typeIdToChildIndex[e.typeIds[t]],r=e.children[n];return Ye.visit(r,t)},Lq=(e,t)=>{var n;return(n=e.dictionary)===null||n===void 0?void 0:n.get(e.values[t])},Cq=(e,t)=>e.type.unit===an.DAY_TIME?LO(e,t):CO(e,t),LO=({values:e},t)=>e.subarray(2*t,2*(t+1)),CO=({values:e},t)=>{let n=e[t],r=new Int32Array(2);return r[0]=Math.trunc(n/12),r[1]=Math.trunc(n%12),r},kO=({values:e},t)=>e[t],FO=({values:e},t)=>e[t],RO=({values:e},t)=>e[t],$O=({values:e},t)=>e[t],kq=(e,t)=>{switch(e.type.unit){case ct.SECOND:return kO(e,t);case ct.MILLISECOND:return FO(e,t);case ct.MICROSECOND:return RO(e,t);case ct.NANOSECOND:return $O(e,t)}},Fq=(e,t)=>{let{stride:n,children:r}=e,o=r[0].slice(t*n,n);return new Xt([o])};yt.prototype.visitNull=It(bq);yt.prototype.visitBool=It(wq);yt.prototype.visitInt=It(Sq);yt.prototype.visitInt8=It(va);yt.prototype.visitInt16=It(va);yt.prototype.visitInt32=It(va);yt.prototype.visitInt64=It(wO);yt.prototype.visitUint8=It(va);yt.prototype.visitUint16=It(va);yt.prototype.visitUint32=It(va);yt.prototype.visitUint64=It(wO);yt.prototype.visitFloat=It(Iq);yt.prototype.visitFloat16=It(vq);yt.prototype.visitFloat32=It(va);yt.prototype.visitFloat64=It(va);yt.prototype.visitUtf8=It(_O);yt.prototype.visitLargeUtf8=It(_O);yt.prototype.visitBinary=It(vO);yt.prototype.visitLargeBinary=It(vO);yt.prototype.visitFixedSizeBinary=It(_q);yt.prototype.visitDate=It(Mq);yt.prototype.visitDateDay=It(xO);yt.prototype.visitDateMillisecond=It(bO);yt.prototype.visitTimestamp=It(Aq);yt.prototype.visitTimestampSecond=It(SO);yt.prototype.visitTimestampMillisecond=It(IO);yt.prototype.visitTimestampMicrosecond=It(MO);yt.prototype.visitTimestampNanosecond=It(AO);yt.prototype.visitTime=It(Tq);yt.prototype.visitTimeSecond=It(TO);yt.prototype.visitTimeMillisecond=It(EO);yt.prototype.visitTimeMicrosecond=It(NO);yt.prototype.visitTimeNanosecond=It(DO);yt.prototype.visitDecimal=It(Eq);yt.prototype.visitList=It(Nq);yt.prototype.visitStruct=It(Oq);yt.prototype.visitUnion=It(Bq);yt.prototype.visitDenseUnion=It(OO);yt.prototype.visitSparseUnion=It(BO);yt.prototype.visitDictionary=It(Lq);yt.prototype.visitInterval=It(Cq);yt.prototype.visitIntervalDayTime=It(LO);yt.prototype.visitIntervalYearMonth=It(CO);yt.prototype.visitDuration=It(kq);yt.prototype.visitDurationSecond=It(kO);yt.prototype.visitDurationMillisecond=It(FO);yt.prototype.visitDurationMicrosecond=It(RO);yt.prototype.visitDurationNanosecond=It($O);yt.prototype.visitFixedSizeList=It(Fq);yt.prototype.visitMap=It(Dq);var Ye=new yt;var Zr=Symbol.for("keys"),su=Symbol.for("vals"),no=class{constructor(t){return this[Zr]=new Xt([t.children[0]]).memoize(),this[su]=t.children[1],new Proxy(this,new Z_)}[Symbol.iterator](){return new H_(this[Zr],this[su])}get size(){return this[Zr].length}toArray(){return Object.values(this.toJSON())}toJSON(){let t=this[Zr],n=this[su],r={};for(let i=-1,o=t.length;++i<o;)r[t.get(i)]=Ye.visit(n,i);return r}toString(){return`{${[...this].map(([t,n])=>`${Ai(t)}: ${Ai(n)}`).join(", ")}}`}[Symbol.for("nodejs.util.inspect.custom")](){return this.toString()}},H_=class{constructor(t,n){this.keys=t,this.vals=n,this.keyIndex=0,this.numKeys=t.length}[Symbol.iterator](){return this}next(){let t=this.keyIndex;return t===this.numKeys?{done:!0,value:null}:(this.keyIndex++,{done:!1,value:[this.keys.get(t),Ye.visit(this.vals,t)]})}},Z_=class{isExtensible(){return!1}deleteProperty(){return!1}preventExtensions(){return!0}ownKeys(t){return t[Zr].toArray().map(String)}has(t,n){return t[Zr].includes(n)}getOwnPropertyDescriptor(t,n){if(t[Zr].indexOf(n)!==-1)return{writable:!0,enumerable:!0,configurable:!0}}get(t,n){if(Reflect.has(t,n))return t[n];let r=t[Zr].indexOf(n);if(r!==-1){let i=Ye.visit(Reflect.get(t,su),r);return Reflect.set(t,n,i),i}}set(t,n,r){let i=t[Zr].indexOf(n);return i!==-1?(wn.visit(Reflect.get(t,su),i,r),Reflect.set(t,n,r)):Reflect.has(t,n)?Reflect.set(t,n,r):!1}};Object.defineProperties(no.prototype,{[Symbol.toStringTag]:{enumerable:!1,configurable:!1,value:"Row"},[Zr]:{writable:!0,enumerable:!1,configurable:!1,value:null},[su]:{writable:!0,enumerable:!1,configurable:!1,value:null}});function Rq(e,t,n){let r=e.length,i=t>-1?t:r+t%r;return n?n(e,i):i}var PO;function th(e,t,n,r){let{length:i=0}=e,o=typeof t!="number"?0:t,s=typeof n!="number"?i:n;return o<0&&(o=(o%i+i)%i),s<0&&(s=(s%i+i)%i),s<o&&(PO=o,o=s,s=PO),s>i&&(s=i),r?r(e,o,s):[o,s]}var UO=e=>e!==e;function _a(e){if(typeof e!=="object"||e===null)return UO(e)?UO:n=>n===e;if(e instanceof Date){let n=e.valueOf();return r=>r instanceof Date?r.valueOf()===n:!1}return ArrayBuffer.isView(e)?n=>n?N_(e,n):!1:e instanceof Map?Pq(e):Array.isArray(e)?$q(e):e instanceof Xt?Uq(e):zq(e,!0)}function $q(e){let t=[];for(let n=-1,r=e.length;++n<r;)t[n]=_a(e[n]);return Xg(t)}function Pq(e){let t=-1,n=[];for(let r of e.values())n[++t]=_a(r);return Xg(n)}function Uq(e){let t=[];for(let n=-1,r=e.length;++n<r;)t[n]=_a(e.get(n));return Xg(t)}function zq(e,t=!1){let n=Object.keys(e);if(!t&&n.length===0)return()=>!1;let r=[];for(let i=-1,o=n.length;++i<o;)r[i]=_a(e[n[i]]);return Xg(r,n)}function Xg(e,t){return n=>{if(!n||typeof n!="object")return!1;switch(n.constructor){case Array:return qq(e,n);case Map:return zO(e,n,n.keys());case no:case wa:case Object:case void 0:return zO(e,n,t||Object.keys(n))}return n instanceof Xt?jq(e,n):!1}}function qq(e,t){let n=e.length;if(t.length!==n)return!1;for(let r=-1;++r<n;)if(!e[r](t[r]))return!1;return!0}function jq(e,t){let n=e.length;if(t.length!==n)return!1;for(let r=-1;++r<n;)if(!e[r](t.get(r)))return!1;return!0}function zO(e,t,n){let r=n[Symbol.iterator](),i=t instanceof Map?t.keys():Object.keys(t)[Symbol.iterator](),o=t instanceof Map?t.values():Object.values(t)[Symbol.iterator](),s=0,a=e.length,c=o.next(),l=r.next(),u=i.next();for(;s<a&&!l.done&&!u.done&&!c.done&&!(l.value!==u.value||!e[s](c.value));++s,l=r.next(),u=i.next(),c=o.next());return s===a&&l.done&&u.done&&c.done?!0:(r.return&&r.return(),i.return&&i.return(),o.return&&o.return(),!1)}var Q_={};Ir(Q_,{BitIterator:()=>vc,getBit:()=>qO,getBool:()=>Wg,packBools:()=>Sc,popcnt_array:()=>jO,popcnt_bit_range:()=>eh,popcnt_uint32:()=>Gg,setBool:()=>Vq,truncateBitmap:()=>_c});function Wg(e,t,n,r){return(n&1<<r)!==0}function qO(e,t,n,r){return(n&1<<r)>>r}function Vq(e,t,n){return n?!!(e[t>>3]|=1<<t%8)||!0:!(e[t>>3]&=~(1<<t%8))&&!1}function _c(e,t,n){let r=n.byteLength+7&-8;if(e>0||n.byteLength<r){let i=new Uint8Array(r);return i.set(e%8===0?n.subarray(e>>3):Sc(new vc(n,e,t,null,Wg)).subarray(0,r)),i}return n}function Sc(e){let t=[],n=0,r=0,i=0;for(let s of e)s&&(i|=1<<r),++r===8&&(t[n++]=i,i=r=0);(n===0||r>0)&&(t[n++]=i);let o=new Uint8Array(t.length+7&-8);return o.set(t),o}var vc=class{constructor(t,n,r,i,o){this.bytes=t,this.length=r,this.context=i,this.get=o,this.bit=n%8,this.byteIndex=n>>3,this.byte=t[this.byteIndex++],this.index=0}next(){return this.index<this.length?(this.bit===8&&(this.bit=0,this.byte=this.bytes[this.byteIndex++]),{value:this.get(this.context,this.index++,this.byte,this.bit++)}):{done:!0,value:null}}[Symbol.iterator](){return this}};function eh(e,t,n){if(n-t<=0)return 0;if(n-t<8){let o=0;for(let s of new vc(e,t,n-t,e,qO))o+=s;return o}let r=n>>3<<3,i=t+(t%8===0?0:8-t%8);return eh(e,t,i)+eh(e,r,n)+jO(e,i>>3,r-i>>3)}function jO(e,t,n){let r=0,i=Math.trunc(t),o=new DataView(e.buffer,e.byteOffset,e.byteLength),s=n===void 0?e.byteLength:i+n;for(;s-i>=4;)r+=Gg(o.getUint32(i)),i+=4;for(;s-i>=2;)r+=Gg(o.getUint16(i)),i+=2;for(;s-i>=1;)r+=Gg(o.getUint8(i)),i+=1;return r}function Gg(e){let t=Math.trunc(e);return t=t-(t>>>1&1431655765),t=(t&858993459)+(t>>>2&858993459),(t+(t>>>4)&252645135)*16843009>>>24}var Yq=-1,te=class e{get typeId(){return this.type.typeId}get ArrayType(){return this.type.ArrayType}get buffers(){return[this.valueOffsets,this.values,this.nullBitmap,this.typeIds]}get nullable(){if(this._nullCount!==0){let{type:t}=this;return st.isSparseUnion(t)?this.children.some(n=>n.nullable):st.isDenseUnion(t)?this.children.some(n=>n.nullable):this.nullBitmap&&this.nullBitmap.byteLength>0}return!0}get byteLength(){let t=0,{valueOffsets:n,values:r,nullBitmap:i,typeIds:o}=this;return n&&(t+=n.byteLength),r&&(t+=r.byteLength),i&&(t+=i.byteLength),o&&(t+=o.byteLength),this.children.reduce((s,a)=>s+a.byteLength,t)}get nullCount(){if(st.isUnion(this.type))return this.children.reduce((r,i)=>r+i.nullCount,0);let t=this._nullCount,n;return t<=Yq&&(n=this.nullBitmap)&&(this._nullCount=t=this.length-eh(n,this.offset,this.offset+this.length)),t}constructor(t,n,r,i,o,s=[],a){this.type=t,this.children=s,this.dictionary=a,this.offset=Math.floor(Math.max(n||0,0)),this.length=Math.floor(Math.max(r||0,0)),this._nullCount=Math.floor(Math.max(i||0,-1));let c;o instanceof e?(this.stride=o.stride,this.values=o.values,this.typeIds=o.typeIds,this.nullBitmap=o.nullBitmap,this.valueOffsets=o.valueOffsets):(this.stride=Or(t),o&&((c=o[0])&&(this.valueOffsets=c),(c=o[1])&&(this.values=c),(c=o[2])&&(this.nullBitmap=c),(c=o[3])&&(this.typeIds=c)))}getValid(t){let{type:n}=this;if(st.isUnion(n)){let r=n,i=this.children[r.typeIdToChildIndex[this.typeIds[t]]],o=r.mode===ge.Dense?this.valueOffsets[t]:t;return i.getValid(o)}if(this.nullable&&this.nullCount>0){let r=this.offset+t;return(this.nullBitmap[r>>3]&1<<r%8)!==0}return!0}setValid(t,n){let r,{type:i}=this;if(st.isUnion(i)){let o=i,s=this.children[o.typeIdToChildIndex[this.typeIds[t]]],a=o.mode===ge.Dense?this.valueOffsets[t]:t;r=s.getValid(a),s.setValid(a,n)}else{let{nullBitmap:o}=this,{offset:s,length:a}=this,c=s+t,l=1<<c%8,u=c>>3;(!o||o.byteLength<=u)&&(o=new Uint8Array((s+a+63&-64)>>3).fill(255),this.nullCount>0&&o.set(_c(s,a,this.nullBitmap),0),Object.assign(this,{nullBitmap:o,_nullCount:-1}));let f=o[u];r=(f&l)!==0,n?o[u]=f|l:o[u]=f&~l}return r!==!!n&&(this._nullCount=this.nullCount+(n?-1:1)),n}clone(t=this.type,n=this.offset,r=this.length,i=this._nullCount,o=this,s=this.children){return new e(t,n,r,i,o,s,this.dictionary)}slice(t,n){let{stride:r,typeId:i,children:o}=this,s=+(this._nullCount===0)-1,a=i===16?r:1,c=this._sliceBuffers(t,n,r,i);return this.clone(this.type,this.offset+t,n,s,c,o.length===0||this.valueOffsets?o:this._sliceChildren(o,a*t,a*n))}_changeLengthAndBackfillNullBitmap(t){if(this.typeId===B.Null)return this.clone(this.type,0,t,0);let{length:n,nullCount:r}=this,i=new Uint8Array((t+63&-64)>>3).fill(255,0,n>>3);i[n>>3]=(1<<n-(n&-8))-1,r>0&&i.set(_c(this.offset,n,this.nullBitmap),0);let o=this.buffers;return o[Mi.VALIDITY]=i,this.clone(this.type,0,t,r+(t-n),o)}_sliceBuffers(t,n,r,i){let o,{buffers:s}=this;return(o=s[Mi.TYPE])&&(s[Mi.TYPE]=o.subarray(t,t+n)),(o=s[Mi.OFFSET])&&(s[Mi.OFFSET]=o.subarray(t,t+n+1))||(o=s[Mi.DATA])&&(s[Mi.DATA]=i===6?o:o.subarray(r*t,r*(t+n))),s}_sliceChildren(t,n,r){return t.map(i=>i.slice(n,r))}};te.prototype.children=Object.freeze([]);var K_=class e extends mt{visit(t){return this.getVisitFn(t.type).call(this,t)}visitNull(t){let{["type"]:n,["offset"]:r=0,["length"]:i=0}=t;return new te(n,r,i,i)}visitBool(t){let{["type"]:n,["offset"]:r=0}=t,i=_t(t.nullBitmap),o=Pt(n.ArrayType,t.data),{["length"]:s=o.length>>3,["nullCount"]:a=t.nullBitmap?-1:0}=t;return new te(n,r,s,a,[void 0,o,i])}visitInt(t){let{["type"]:n,["offset"]:r=0}=t,i=_t(t.nullBitmap),o=Pt(n.ArrayType,t.data),{["length"]:s=o.length,["nullCount"]:a=t.nullBitmap?-1:0}=t;return new te(n,r,s,a,[void 0,o,i])}visitFloat(t){let{["type"]:n,["offset"]:r=0}=t,i=_t(t.nullBitmap),o=Pt(n.ArrayType,t.data),{["length"]:s=o.length,["nullCount"]:a=t.nullBitmap?-1:0}=t;return new te(n,r,s,a,[void 0,o,i])}visitUtf8(t){let{["type"]:n,["offset"]:r=0}=t,i=_t(t.data),o=_t(t.nullBitmap),s=bc(t.valueOffsets),{["length"]:a=s.length-1,["nullCount"]:c=t.nullBitmap?-1:0}=t;return new te(n,r,a,c,[s,i,o])}visitLargeUtf8(t){let{["type"]:n,["offset"]:r=0}=t,i=_t(t.data),o=_t(t.nullBitmap),s=dg(t.valueOffsets),{["length"]:a=s.length-1,["nullCount"]:c=t.nullBitmap?-1:0}=t;return new te(n,r,a,c,[s,i,o])}visitBinary(t){let{["type"]:n,["offset"]:r=0}=t,i=_t(t.data),o=_t(t.nullBitmap),s=bc(t.valueOffsets),{["length"]:a=s.length-1,["nullCount"]:c=t.nullBitmap?-1:0}=t;return new te(n,r,a,c,[s,i,o])}visitLargeBinary(t){let{["type"]:n,["offset"]:r=0}=t,i=_t(t.data),o=_t(t.nullBitmap),s=dg(t.valueOffsets),{["length"]:a=s.length-1,["nullCount"]:c=t.nullBitmap?-1:0}=t;return new te(n,r,a,c,[s,i,o])}visitFixedSizeBinary(t){let{["type"]:n,["offset"]:r=0}=t,i=_t(t.nullBitmap),o=Pt(n.ArrayType,t.data),{["length"]:s=o.length/Or(n),["nullCount"]:a=t.nullBitmap?-1:0}=t;return new te(n,r,s,a,[void 0,o,i])}visitDate(t){let{["type"]:n,["offset"]:r=0}=t,i=_t(t.nullBitmap),o=Pt(n.ArrayType,t.data),{["length"]:s=o.length/Or(n),["nullCount"]:a=t.nullBitmap?-1:0}=t;return new te(n,r,s,a,[void 0,o,i])}visitTimestamp(t){let{["type"]:n,["offset"]:r=0}=t,i=_t(t.nullBitmap),o=Pt(n.ArrayType,t.data),{["length"]:s=o.length/Or(n),["nullCount"]:a=t.nullBitmap?-1:0}=t;return new te(n,r,s,a,[void 0,o,i])}visitTime(t){let{["type"]:n,["offset"]:r=0}=t,i=_t(t.nullBitmap),o=Pt(n.ArrayType,t.data),{["length"]:s=o.length/Or(n),["nullCount"]:a=t.nullBitmap?-1:0}=t;return new te(n,r,s,a,[void 0,o,i])}visitDecimal(t){let{["type"]:n,["offset"]:r=0}=t,i=_t(t.nullBitmap),o=Pt(n.ArrayType,t.data),{["length"]:s=o.length/Or(n),["nullCount"]:a=t.nullBitmap?-1:0}=t;return new te(n,r,s,a,[void 0,o,i])}visitList(t){let{["type"]:n,["offset"]:r=0,["child"]:i}=t,o=_t(t.nullBitmap),s=bc(t.valueOffsets),{["length"]:a=s.length-1,["nullCount"]:c=t.nullBitmap?-1:0}=t;return new te(n,r,a,c,[s,void 0,o],[i])}visitStruct(t){let{["type"]:n,["offset"]:r=0,["children"]:i=[]}=t,o=_t(t.nullBitmap),{length:s=i.reduce((c,{length:l})=>Math.max(c,l),0),nullCount:a=t.nullBitmap?-1:0}=t;return new te(n,r,s,a,[void 0,void 0,o],i)}visitUnion(t){let{["type"]:n,["offset"]:r=0,["children"]:i=[]}=t,o=Pt(n.ArrayType,t.typeIds),{["length"]:s=o.length,["nullCount"]:a=-1}=t;if(st.isSparseUnion(n))return new te(n,r,s,a,[void 0,void 0,void 0,o],i);let c=bc(t.valueOffsets);return new te(n,r,s,a,[c,void 0,void 0,o],i)}visitDictionary(t){let{["type"]:n,["offset"]:r=0}=t,i=_t(t.nullBitmap),o=Pt(n.indices.ArrayType,t.data),{["dictionary"]:s=new Xt([new e().visit({type:n.dictionary})])}=t,{["length"]:a=o.length,["nullCount"]:c=t.nullBitmap?-1:0}=t;return new te(n,r,a,c,[void 0,o,i],[],s)}visitInterval(t){let{["type"]:n,["offset"]:r=0}=t,i=_t(t.nullBitmap),o=Pt(n.ArrayType,t.data),{["length"]:s=o.length/Or(n),["nullCount"]:a=t.nullBitmap?-1:0}=t;return new te(n,r,s,a,[void 0,o,i])}visitDuration(t){let{["type"]:n,["offset"]:r=0}=t,i=_t(t.nullBitmap),o=Pt(n.ArrayType,t.data),{["length"]:s=o.length,["nullCount"]:a=t.nullBitmap?-1:0}=t;return new te(n,r,s,a,[void 0,o,i])}visitFixedSizeList(t){let{["type"]:n,["offset"]:r=0,["child"]:i=new e().visit({type:n.valueType})}=t,o=_t(t.nullBitmap),{["length"]:s=i.length/Or(n),["nullCount"]:a=t.nullBitmap?-1:0}=t;return new te(n,r,s,a,[void 0,void 0,o],[i])}visitMap(t){let{["type"]:n,["offset"]:r=0,["child"]:i=new e().visit({type:n.childType})}=t,o=_t(t.nullBitmap),s=bc(t.valueOffsets),{["length"]:a=s.length-1,["nullCount"]:c=t.nullBitmap?-1:0}=t;return new te(n,r,a,c,[s,void 0,o],[i])}},Xq=new K_;function Nt(e){return Xq.visit(e)}var nh=class{constructor(t=0,n){this.numChunks=t,this.getChunkIterator=n,this.chunkIndex=0,this.chunkIterator=this.getChunkIterator(0)}next(){for(;this.chunkIndex<this.numChunks;){let t=this.chunkIterator.next();if(!t.done)return t;++this.chunkIndex<this.numChunks&&(this.chunkIterator=this.getChunkIterator(this.chunkIndex))}return{done:!0,value:null}}[Symbol.iterator](){return this}};function VO(e){return e.some(t=>t.nullable)}function Hg(e){return e.reduce((t,n)=>t+n.nullCount,0)}function Zg(e){return e.reduce((t,n,r)=>(t[r+1]=t[r]+n.length,t),new Uint32Array(e.length+1))}function Jg(e,t,n,r){let i=[];for(let o=-1,s=e.length;++o<s;){let a=e[o],c=t[o],{length:l}=a;if(c>=r)break;if(n>=c+l)continue;if(c>=n&&c+l<=r){i.push(a);continue}let u=Math.max(0,n-c),f=Math.min(r-c,l);i.push(a.slice(u,f-u))}return i.length===0&&i.push(e[0].slice(0,0)),i}function t2(e,t,n,r){let i=0,o=0,s=t.length-1;do{if(i>=s-1)return n<t[s]?r(e,i,n-t[i]):null;o=i+Math.trunc((s-i)*.5),n<t[o]?s=o:i=o}while(i<s)}function rh(e,t){return e.getValid(t)}function au(e){function t(n,r,i){return e(n[r],i)}return function(n){let r=this.data;return t2(r,this._offsets,n,t)}}function Qg(e){let t;function n(r,i,o){return e(r[i],o,t)}return function(r,i){let o=this.data;t=i;let s=t2(o,this._offsets,r,n);return t=void 0,s}}function Kg(e){let t;function n(r,i,o){let s=o,a=0,c=0;for(let l=i-1,u=r.length;++l<u;){let f=r[l];if(~(a=e(f,t,s)))return c+a;s=0,c+=f.length}return-1}return function(r,i){t=r;let o=this.data,s=typeof i!="number"?n(o,0,0):t2(o,this._offsets,i,n);return t=void 0,s}}var gt=class extends mt{};function Gq(e,t){return t===null&&e.length>0?0:-1}function Wq(e,t){let{nullBitmap:n}=e;if(!n||e.nullCount<=0)return-1;let r=0;for(let i of new vc(n,e.offset+(t||0),e.length,n,Wg)){if(!i)return r;++r}return-1}function Dt(e,t,n){if(t===void 0)return-1;if(t===null)switch(e.typeId){case B.Union:break;case B.Dictionary:break;default:return Wq(e,n)}let r=Ye.getVisitFn(e),i=_a(t);for(let o=(n||0)-1,s=e.length;++o<s;)if(i(r(e,o)))return o;return-1}function YO(e,t,n){let r=Ye.getVisitFn(e),i=_a(t);for(let o=(n||0)-1,s=e.length;++o<s;)if(i(r(e,o)))return o;return-1}gt.prototype.visitNull=Gq;gt.prototype.visitBool=Dt;gt.prototype.visitInt=Dt;gt.prototype.visitInt8=Dt;gt.prototype.visitInt16=Dt;gt.prototype.visitInt32=Dt;gt.prototype.visitInt64=Dt;gt.prototype.visitUint8=Dt;gt.prototype.visitUint16=Dt;gt.prototype.visitUint32=Dt;gt.prototype.visitUint64=Dt;gt.prototype.visitFloat=Dt;gt.prototype.visitFloat16=Dt;gt.prototype.visitFloat32=Dt;gt.prototype.visitFloat64=Dt;gt.prototype.visitUtf8=Dt;gt.prototype.visitLargeUtf8=Dt;gt.prototype.visitBinary=Dt;gt.prototype.visitLargeBinary=Dt;gt.prototype.visitFixedSizeBinary=Dt;gt.prototype.visitDate=Dt;gt.prototype.visitDateDay=Dt;gt.prototype.visitDateMillisecond=Dt;gt.prototype.visitTimestamp=Dt;gt.prototype.visitTimestampSecond=Dt;gt.prototype.visitTimestampMillisecond=Dt;gt.prototype.visitTimestampMicrosecond=Dt;gt.prototype.visitTimestampNanosecond=Dt;gt.prototype.visitTime=Dt;gt.prototype.visitTimeSecond=Dt;gt.prototype.visitTimeMillisecond=Dt;gt.prototype.visitTimeMicrosecond=Dt;gt.prototype.visitTimeNanosecond=Dt;gt.prototype.visitDecimal=Dt;gt.prototype.visitList=Dt;gt.prototype.visitStruct=Dt;gt.prototype.visitUnion=Dt;gt.prototype.visitDenseUnion=YO;gt.prototype.visitSparseUnion=YO;gt.prototype.visitDictionary=Dt;gt.prototype.visitInterval=Dt;gt.prototype.visitIntervalDayTime=Dt;gt.prototype.visitIntervalYearMonth=Dt;gt.prototype.visitDuration=Dt;gt.prototype.visitDurationSecond=Dt;gt.prototype.visitDurationMillisecond=Dt;gt.prototype.visitDurationMicrosecond=Dt;gt.prototype.visitDurationNanosecond=Dt;gt.prototype.visitFixedSizeList=Dt;gt.prototype.visitMap=Dt;var Ic=new gt;var xt=class extends mt{};function Mt(e){let{type:t}=e;if(e.nullCount===0&&e.stride===1&&(t.typeId===B.Timestamp||t instanceof Pe&&t.bitWidth!==64||t instanceof Ei&&t.bitWidth!==64||t instanceof dr&&t.precision!==he.HALF))return new nh(e.data.length,r=>{let i=e.data[r];return i.values.subarray(0,i.length)[Symbol.iterator]()});let n=0;return new nh(e.data.length,r=>{let o=e.data[r].length,s=e.slice(n,n+o);return n+=o,new e2(s)})}var e2=class{constructor(t){this.vector=t,this.index=0}next(){return this.index<this.vector.length?{value:this.vector.get(this.index++)}:{done:!0,value:null}}[Symbol.iterator](){return this}};xt.prototype.visitNull=Mt;xt.prototype.visitBool=Mt;xt.prototype.visitInt=Mt;xt.prototype.visitInt8=Mt;xt.prototype.visitInt16=Mt;xt.prototype.visitInt32=Mt;xt.prototype.visitInt64=Mt;xt.prototype.visitUint8=Mt;xt.prototype.visitUint16=Mt;xt.prototype.visitUint32=Mt;xt.prototype.visitUint64=Mt;xt.prototype.visitFloat=Mt;xt.prototype.visitFloat16=Mt;xt.prototype.visitFloat32=Mt;xt.prototype.visitFloat64=Mt;xt.prototype.visitUtf8=Mt;xt.prototype.visitLargeUtf8=Mt;xt.prototype.visitBinary=Mt;xt.prototype.visitLargeBinary=Mt;xt.prototype.visitFixedSizeBinary=Mt;xt.prototype.visitDate=Mt;xt.prototype.visitDateDay=Mt;xt.prototype.visitDateMillisecond=Mt;xt.prototype.visitTimestamp=Mt;xt.prototype.visitTimestampSecond=Mt;xt.prototype.visitTimestampMillisecond=Mt;xt.prototype.visitTimestampMicrosecond=Mt;xt.prototype.visitTimestampNanosecond=Mt;xt.prototype.visitTime=Mt;xt.prototype.visitTimeSecond=Mt;xt.prototype.visitTimeMillisecond=Mt;xt.prototype.visitTimeMicrosecond=Mt;xt.prototype.visitTimeNanosecond=Mt;xt.prototype.visitDecimal=Mt;xt.prototype.visitList=Mt;xt.prototype.visitStruct=Mt;xt.prototype.visitUnion=Mt;xt.prototype.visitDenseUnion=Mt;xt.prototype.visitSparseUnion=Mt;xt.prototype.visitDictionary=Mt;xt.prototype.visitInterval=Mt;xt.prototype.visitIntervalDayTime=Mt;xt.prototype.visitIntervalYearMonth=Mt;xt.prototype.visitDuration=Mt;xt.prototype.visitDurationSecond=Mt;xt.prototype.visitDurationMillisecond=Mt;xt.prototype.visitDurationMicrosecond=Mt;xt.prototype.visitDurationNanosecond=Mt;xt.prototype.visitFixedSizeList=Mt;xt.prototype.visitMap=Mt;var cu=new xt;var XO,GO={},WO={},Xt=class e{constructor(t){var n,r,i;let o=t[0]instanceof e?t.flatMap(a=>a.data):t;if(o.length===0||o.some(a=>!(a instanceof te)))throw new TypeError("Vector constructor expects an Array of Data instances.");let s=(n=o[0])===null||n===void 0?void 0:n.type;switch(o.length){case 0:this._offsets=[0];break;case 1:{let{get:a,set:c,indexOf:l}=GO[s.typeId],u=o[0];this.isValid=f=>rh(u,f),this.get=f=>a(u,f),this.set=(f,d)=>c(u,f,d),this.indexOf=f=>l(u,f),this._offsets=[0,u.length];break}default:Object.setPrototypeOf(this,WO[s.typeId]),this._offsets=Zg(o);break}this.data=o,this.type=s,this.stride=Or(s),this.numChildren=(i=(r=s.children)===null||r===void 0?void 0:r.length)!==null&&i!==void 0?i:0,this.length=this._offsets.at(-1)}get byteLength(){return this.data.reduce((t,n)=>t+n.byteLength,0)}get nullable(){return VO(this.data)}get nullCount(){return Hg(this.data)}get ArrayType(){return this.type.ArrayType}get[Symbol.toStringTag](){return`${this.VectorName}<${this.type[Symbol.toStringTag]}>`}get VectorName(){return`${B[this.type.typeId]}Vector`}isValid(t){return!1}get(t){return null}set(t,n){}indexOf(t,n){return-1}includes(t,n){return this.indexOf(t,n)>-1}[Symbol.iterator](){return cu.visit(this)}concat(...t){return new e(this.data.concat(t.flatMap(n=>n.data).flat(Number.POSITIVE_INFINITY)))}slice(t,n){return new e(th(this,t,n,({data:r,_offsets:i},o,s)=>Jg(r,i,o,s)))}toJSON(){return[...this]}toArray(){let{type:t,data:n,length:r,stride:i,ArrayType:o}=this;switch(t.typeId){case B.Int:case B.Float:case B.Decimal:case B.Time:case B.Timestamp:switch(n.length){case 0:return new o;case 1:return n[0].values.subarray(0,r*i);default:return n.reduce((s,{values:a,length:c})=>(s.array.set(a.subarray(0,c*i),s.offset),s.offset+=c*i,s),{array:new o(r*i),offset:0}).array}}return[...this]}toString(){return`[${[...this].join(",")}]`}getChild(t){var n;return this.getChildAt((n=this.type.children)===null||n===void 0?void 0:n.findIndex(r=>r.name===t))}getChildAt(t){return t>-1&&t<this.numChildren?new e(this.data.map(({children:n})=>n[t])):null}get isMemoized(){return st.isDictionary(this.type)?this.data[0].dictionary.isMemoized:!1}memoize(){if(st.isDictionary(this.type)){let t=new t0(this.data[0].dictionary),n=this.data.map(r=>{let i=r.clone();return i.dictionary=t,i});return new e(n)}return new t0(this)}unmemoize(){if(st.isDictionary(this.type)&&this.isMemoized){let t=this.data[0].dictionary.unmemoize(),n=this.data.map(r=>{let i=r.clone();return i.dictionary=t,i});return new e(n)}return this}};XO=Symbol.toStringTag;Xt[XO]=(e=>{e.type=st.prototype,e.data=[],e.length=0,e.stride=1,e.numChildren=0,e._offsets=new Uint32Array([0]),e[Symbol.isConcatSpreadable]=!0;let t=Object.keys(B).map(n=>B[n]).filter(n=>typeof n=="number"&&n!==B.NONE);for(let n of t){let r=Ye.getVisitFnByTypeId(n),i=wn.getVisitFnByTypeId(n),o=Ic.getVisitFnByTypeId(n);GO[n]={get:r,set:i,indexOf:o},WO[n]=Object.create(e,{isValid:{value:au(rh)},get:{value:au(Ye.getVisitFnByTypeId(n))},set:{value:Qg(wn.getVisitFnByTypeId(n))},indexOf:{value:Kg(Ic.getVisitFnByTypeId(n))}})}return"Vector"})(Xt.prototype);var t0=class e extends Xt{constructor(t){super(t.data);let n=this.get,r=this.set,i=this.slice,o=new Array(this.length);Object.defineProperty(this,"get",{value(s){let a=o[s];if(a!==void 0)return a;let c=n.call(this,s);return o[s]=c,c}}),Object.defineProperty(this,"set",{value(s,a){r.call(this,s,a),o[s]=a}}),Object.defineProperty(this,"slice",{value:(s,a)=>new e(i.call(this,s,a))}),Object.defineProperty(this,"isMemoized",{value:!0}),Object.defineProperty(this,"unmemoize",{value:()=>new Xt(this.data)}),Object.defineProperty(this,"memoize",{value:()=>this})}};function HO(e){if(!e||e.length<=0)return function(i){return!0};let t="",n=e.filter(r=>r===r);return n.length>0&&(t=`
|
|
1
|
+
var Hz=Object.create;var X_=Object.defineProperty;var Zz=Object.getOwnPropertyDescriptor;var Jz=Object.getOwnPropertyNames;var Qz=Object.getPrototypeOf,Kz=Object.prototype.hasOwnProperty;var uO=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Tr=(e,t)=>{for(var n in t)X_(e,n,{get:t[n],enumerable:!0})},tq=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Jz(t))!Kz.call(e,i)&&i!==n&&X_(e,i,{get:()=>t[i],enumerable:!(r=Zz(t,i))||r.enumerable});return e};var eq=(e,t,n)=>(n=e!=null?Hz(Qz(e)):{},tq(t||!e||!e.__esModule?X_(n,"default",{value:e,enumerable:!0}):n,e));var HP=uO((rUt,WP)=>{"use strict";function rnt(e,t,n,r,i){for(var o=i+1;r<=i;){var s=r+i>>>1,a=e[s],c=n!==void 0?n(a,t):a-t;c>=0?(o=s,i=s-1):r=s+1}return o}function int(e,t,n,r,i){for(var o=i+1;r<=i;){var s=r+i>>>1,a=e[s],c=n!==void 0?n(a,t):a-t;c>0?(o=s,i=s-1):r=s+1}return o}function ont(e,t,n,r,i){for(var o=r-1;r<=i;){var s=r+i>>>1,a=e[s],c=n!==void 0?n(a,t):a-t;c<0?(o=s,r=s+1):i=s-1}return o}function snt(e,t,n,r,i){for(var o=r-1;r<=i;){var s=r+i>>>1,a=e[s],c=n!==void 0?n(a,t):a-t;c<=0?(o=s,r=s+1):i=s-1}return o}function ant(e,t,n,r,i){for(;r<=i;){var o=r+i>>>1,s=e[o],a=n!==void 0?n(s,t):s-t;if(a===0)return o;a<=0?r=o+1:i=o-1}return-1}function Wy(e,t,n,r,i,o){return typeof n=="function"?o(e,t,n,r===void 0?0:r|0,i===void 0?e.length-1:i|0):o(e,t,void 0,n===void 0?0:n|0,r===void 0?e.length-1:r|0)}WP.exports={ge:function(e,t,n,r,i){return Wy(e,t,n,r,i,rnt)},gt:function(e,t,n,r,i){return Wy(e,t,n,r,i,int)},lt:function(e,t,n,r,i){return Wy(e,t,n,r,i,ont)},le:function(e,t,n,r,i){return Wy(e,t,n,r,i,snt)},eq:function(e,t,n,r,i){return Wy(e,t,n,r,i,ant)}}});var rU=uO((iUt,nU)=>{"use strict";var Vv=HP(),bh=0,Gl=1,jv=2;nU.exports=lnt;function n6(e,t,n,r,i){this.mid=e,this.left=t,this.right=n,this.leftPoints=r,this.rightPoints=i,this.count=(t?t.count:0)+(n?n.count:0)+r.length}var Hy=n6.prototype;function t6(e,t){e.mid=t.mid,e.left=t.left,e.right=t.right,e.leftPoints=t.leftPoints,e.rightPoints=t.rightPoints,e.count=t.count}function QP(e,t){var n=wh(t);e.mid=n.mid,e.left=n.left,e.right=n.right,e.leftPoints=n.leftPoints,e.rightPoints=n.rightPoints,e.count=n.count}function ZP(e,t){var n=e.intervals([]);n.push(t),QP(e,n)}function JP(e,t){var n=e.intervals([]),r=n.indexOf(t);return r<0?bh:(n.splice(r,1),QP(e,n),Gl)}Hy.intervals=function(e){return e.push.apply(e,this.leftPoints),this.left&&this.left.intervals(e),this.right&&this.right.intervals(e),e};Hy.insert=function(e){var t=this.count-this.leftPoints.length;if(this.count+=1,e[1]<this.mid)this.left?4*(this.left.count+1)>3*(t+1)?ZP(this,e):this.left.insert(e):this.left=wh([e]);else if(e[0]>this.mid)this.right?4*(this.right.count+1)>3*(t+1)?ZP(this,e):this.right.insert(e):this.right=wh([e]);else{var n=Vv.ge(this.leftPoints,e,r6),r=Vv.ge(this.rightPoints,e,i6);this.leftPoints.splice(n,0,e),this.rightPoints.splice(r,0,e)}};Hy.remove=function(e){var t=this.count-this.leftPoints;if(e[1]<this.mid){if(!this.left)return bh;var n=this.right?this.right.count:0;if(4*n>3*(t-1))return JP(this,e);var r=this.left.remove(e);return r===jv?(this.left=null,this.count-=1,Gl):(r===Gl&&(this.count-=1),r)}else if(e[0]>this.mid){if(!this.right)return bh;var i=this.left?this.left.count:0;if(4*i>3*(t-1))return JP(this,e);var r=this.right.remove(e);return r===jv?(this.right=null,this.count-=1,Gl):(r===Gl&&(this.count-=1),r)}else{if(this.count===1)return this.leftPoints[0]===e?jv:bh;if(this.leftPoints.length===1&&this.leftPoints[0]===e){if(this.left&&this.right){for(var o=this,s=this.left;s.right;)o=s,s=s.right;if(o===this)s.right=this.right;else{var a=this.left,r=this.right;o.count-=s.count,o.right=s.left,s.left=a,s.right=r}t6(this,s),this.count=(this.left?this.left.count:0)+(this.right?this.right.count:0)+this.leftPoints.length}else this.left?t6(this,this.left):t6(this,this.right);return Gl}for(var a=Vv.ge(this.leftPoints,e,r6);a<this.leftPoints.length&&this.leftPoints[a][0]===e[0];++a)if(this.leftPoints[a]===e){this.count-=1,this.leftPoints.splice(a,1);for(var r=Vv.ge(this.rightPoints,e,i6);r<this.rightPoints.length&&this.rightPoints[r][1]===e[1];++r)if(this.rightPoints[r]===e)return this.rightPoints.splice(r,1),Gl}return bh}};function KP(e,t,n){for(var r=0;r<e.length&&e[r][0]<=t;++r){var i=n(e[r]);if(i)return i}}function tU(e,t,n){for(var r=e.length-1;r>=0&&e[r][1]>=t;--r){var i=n(e[r]);if(i)return i}}function eU(e,t){for(var n=0;n<e.length;++n){var r=t(e[n]);if(r)return r}}Hy.queryPoint=function(e,t){if(e<this.mid){if(this.left){var n=this.left.queryPoint(e,t);if(n)return n}return KP(this.leftPoints,e,t)}else if(e>this.mid){if(this.right){var n=this.right.queryPoint(e,t);if(n)return n}return tU(this.rightPoints,e,t)}else return eU(this.leftPoints,t)};Hy.queryInterval=function(e,t,n){if(e<this.mid&&this.left){var r=this.left.queryInterval(e,t,n);if(r)return r}if(t>this.mid&&this.right){var r=this.right.queryInterval(e,t,n);if(r)return r}return t<this.mid?KP(this.leftPoints,t,n):e>this.mid?tU(this.rightPoints,e,n):eU(this.leftPoints,n)};function cnt(e,t){return e-t}function r6(e,t){var n=e[0]-t[0];return n||e[1]-t[1]}function i6(e,t){var n=e[1]-t[1];return n||e[0]-t[0]}function wh(e){if(e.length===0)return null;for(var t=[],n=0;n<e.length;++n)t.push(e[n][0],e[n][1]);t.sort(cnt);for(var r=t[t.length>>1],i=[],o=[],s=[],n=0;n<e.length;++n){var a=e[n];a[1]<r?i.push(a):r<a[0]?o.push(a):s.push(a)}var c=s,l=s.slice();return c.sort(r6),l.sort(i6),new n6(r,wh(i),wh(o),c,l)}function e6(e){this.root=e}var vh=e6.prototype;vh.insert=function(e){this.root?this.root.insert(e):this.root=new n6(e[0],null,null,[e],[e])};vh.remove=function(e){if(this.root){var t=this.root.remove(e);return t===jv&&(this.root=null),t!==bh}return!1};vh.queryPoint=function(e,t){if(this.root)return this.root.queryPoint(e,t)};vh.queryInterval=function(e,t,n){if(e<=t&&this.root)return this.root.queryInterval(e,t,n)};Object.defineProperty(vh,"count",{get:function(){return this.root?this.root.count:0}});Object.defineProperty(vh,"intervals",{get:function(){return this.root?this.root.intervals([]):[]}});function lnt(e){return!e||e.length===0?new e6(null):new e6(wh(e))}});var fO={};function Ph(e,t=!1){let n,r,i=fO;function o(l){n=e(l).then(()=>{if(r){let{value:u}=r;r=null,o(u)}else n=null})}function s(l){r={event:l}}function a(l){n?s(l):o(l)}function c(l){i!==l&&requestAnimationFrame(()=>{let u=i;i=fO,a(u)}),i=l}return t?c:a}var hr=class{constructor(t){this._filterBy=t,this._requestUpdate=Ph(()=>this.requestQuery(),!0),this._coordinator=null}get coordinator(){return this._coordinator}set coordinator(t){this._coordinator=t}get filterBy(){return this._filterBy}get filterIndexable(){return!0}fields(){return null}fieldInfo(t){return this}query(t){return null}queryPending(){return this}queryResult(t){return this}queryError(t){return console.error(t),this}requestQuery(t){let n=t||this.query(this.filterBy?.predicate(this));return this._coordinator.requestQuery(this,n)}requestUpdate(){this._requestUpdate()}update(){return this}};function dO(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n}function J(e,t,n,r){function i(o){return o instanceof n?o:new n(function(s){s(o)})}return new(n||(n=Promise))(function(o,s){function a(u){try{l(r.next(u))}catch(f){s(f)}}function c(u){try{l(r.throw(u))}catch(f){s(f)}}function l(u){u.done?o(u.value):i(u.value).then(a,c)}l((r=r.apply(e,t||[])).next())})}function hO(e){var t=typeof Symbol=="function"&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&typeof e.length=="number")return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function Ft(e){return this instanceof Ft?(this.v=e,this):new Ft(e)}function Er(e,t,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r=n.apply(e,t||[]),i,o=[];return i={},s("next"),s("throw"),s("return"),i[Symbol.asyncIterator]=function(){return this},i;function s(h){r[h]&&(i[h]=function(d){return new Promise(function(p,m){o.push([h,d,p,m])>1||a(h,d)})})}function a(h,d){try{c(r[h](d))}catch(p){f(o[0][3],p)}}function c(h){h.value instanceof Ft?Promise.resolve(h.value.v).then(l,u):f(o[0][2],h)}function l(h){a("next",h)}function u(h){a("throw",h)}function f(h,d){h(d),o.shift(),o.length&&a(o[0][0],o[0][1])}}function iu(e){var t,n;return t={},r("next"),r("throw",function(i){throw i}),r("return"),t[Symbol.iterator]=function(){return this},t;function r(i,o){t[i]=e[i]?function(s){return(n=!n)?{value:Ft(e[i](s)),done:!1}:o?o(s):s}:o}}function Ii(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t=e[Symbol.asyncIterator],n;return t?t.call(e):(e=typeof hO=="function"?hO(e):e[Symbol.iterator](),n={},r("next"),r("throw"),r("return"),n[Symbol.asyncIterator]=function(){return this},n);function r(o){n[o]=e[o]&&function(s){return new Promise(function(a,c){s=e[o](s),i(a,c,s.done,s.value)})}}function i(o,s,a,c){Promise.resolve(c).then(function(l){o({value:l,done:a})},s)}}var Q_={};Tr(Q_,{compareArrayLike:()=>J_,joinUint8Arrays:()=>Nr,memcpy:()=>qh,rebaseValueOffsets:()=>Fg,toArrayBufferView:()=>Ut,toArrayBufferViewAsyncIterator:()=>Ai,toArrayBufferViewIterator:()=>to,toBigInt64Array:()=>Rg,toBigUint64Array:()=>uq,toFloat32Array:()=>fq,toFloat32ArrayAsyncIterator:()=>Tq,toFloat32ArrayIterator:()=>bq,toFloat64Array:()=>hq,toFloat64ArrayAsyncIterator:()=>Eq,toFloat64ArrayIterator:()=>wq,toInt16Array:()=>aq,toInt16ArrayAsyncIterator:()=>Sq,toInt16ArrayIterator:()=>mq,toInt32Array:()=>Ic,toInt32ArrayAsyncIterator:()=>Iq,toInt32ArrayIterator:()=>yq,toInt8Array:()=>sq,toInt8ArrayAsyncIterator:()=>_q,toInt8ArrayIterator:()=>pq,toUint16Array:()=>cq,toUint16ArrayAsyncIterator:()=>Mq,toUint16ArrayIterator:()=>gq,toUint32Array:()=>lq,toUint32ArrayAsyncIterator:()=>Aq,toUint32ArrayIterator:()=>xq,toUint8Array:()=>_t,toUint8ArrayAsyncIterator:()=>Z_,toUint8ArrayIterator:()=>H_,toUint8ClampedArray:()=>dq,toUint8ClampedArrayAsyncIterator:()=>Dq,toUint8ClampedArrayIterator:()=>vq});var nq=new TextDecoder("utf-8"),Uh=e=>nq.decode(e),rq=new TextEncoder,Ki=e=>rq.encode(e);var iq=e=>typeof e=="number",pO=e=>typeof e=="boolean",rn=e=>typeof e=="function",Gn=e=>e!=null&&Object(e)===e,Dr=e=>Gn(e)&&rn(e.then);var Mi=e=>Gn(e)&&rn(e[Symbol.iterator]),Hr=e=>Gn(e)&&rn(e[Symbol.asyncIterator]),Ng=e=>Gn(e)&&Gn(e.schema);var Og=e=>Gn(e)&&"done"in e&&"value"in e;var Lg=e=>Gn(e)&&rn(e.stat)&&iq(e.fd);var Bg=e=>Gn(e)&&zh(e.body),Cg=e=>"_getDOMStream"in e&&"_getNodeStream"in e,mO=e=>Gn(e)&&rn(e.abort)&&rn(e.getWriter)&&!Cg(e),zh=e=>Gn(e)&&rn(e.cancel)&&rn(e.getReader)&&!Cg(e),yO=e=>Gn(e)&&rn(e.end)&&rn(e.write)&&pO(e.writable)&&!Cg(e),kg=e=>Gn(e)&&rn(e.read)&&rn(e.pipe)&&pO(e.readable)&&!Cg(e),gO=e=>Gn(e)&&rn(e.clear)&&rn(e.bytes)&&rn(e.position)&&rn(e.setPosition)&&rn(e.capacity)&&rn(e.getBufferIdentifier)&&rn(e.createLong);var W_=typeof SharedArrayBuffer<"u"?SharedArrayBuffer:ArrayBuffer;function oq(e){let t=e[0]?[e[0]]:[],n,r,i,o;for(let s,a,c=0,l=0,u=e.length;++c<u;){if(s=t[l],a=e[c],!s||!a||s.buffer!==a.buffer||a.byteOffset<s.byteOffset){a&&(t[++l]=a);continue}if({byteOffset:n,byteLength:i}=s,{byteOffset:r,byteLength:o}=a,n+i<r||r+o<n){a&&(t[++l]=a);continue}t[l]=new Uint8Array(s.buffer,n,r-n+o)}return t}function qh(e,t,n=0,r=t.byteLength){let i=e.byteLength,o=new Uint8Array(e.buffer,e.byteOffset,i),s=new Uint8Array(t.buffer,t.byteOffset,Math.min(r,i));return o.set(s,n),e}function Nr(e,t){let n=oq(e),r=n.reduce((u,f)=>u+f.byteLength,0),i,o,s,a=0,c=-1,l=Math.min(t||Number.POSITIVE_INFINITY,r);for(let u=n.length;++c<u;){if(i=n[c],o=i.subarray(0,Math.min(i.length,l-a)),l<=a+o.length){o.length<i.length?n[c]=i.subarray(o.length):o.length===i.length&&c++,s?qh(s,o,a):s=o;break}qh(s||(s=new Uint8Array(l)),o,a),a+=o.length}return[s||new Uint8Array(0),n.slice(c),r-(s?s.byteLength:0)]}function Ut(e,t){let n=Og(t)?t.value:t;return n instanceof e?e===Uint8Array?new e(n.buffer,n.byteOffset,n.byteLength):n:n?(typeof n=="string"&&(n=Ki(n)),n instanceof ArrayBuffer?new e(n):n instanceof W_?new e(n):gO(n)?Ut(e,n.bytes()):ArrayBuffer.isView(n)?n.byteLength<=0?new e(0):new e(n.buffer,n.byteOffset,n.byteLength/e.BYTES_PER_ELEMENT):e.from(n)):new e(0)}var sq=e=>Ut(Int8Array,e),aq=e=>Ut(Int16Array,e),Ic=e=>Ut(Int32Array,e),Rg=e=>Ut(BigInt64Array,e),_t=e=>Ut(Uint8Array,e),cq=e=>Ut(Uint16Array,e),lq=e=>Ut(Uint32Array,e),uq=e=>Ut(BigUint64Array,e),fq=e=>Ut(Float32Array,e),hq=e=>Ut(Float64Array,e),dq=e=>Ut(Uint8ClampedArray,e),G_=e=>(e.next(),e);function*to(e,t){let n=function*(i){yield i},r=typeof t=="string"||ArrayBuffer.isView(t)||t instanceof ArrayBuffer||t instanceof W_?n(t):Mi(t)?t:n(t);return yield*G_(function*(i){let o=null;do o=i.next(yield Ut(e,o));while(!o.done)}(r[Symbol.iterator]())),new e}var pq=e=>to(Int8Array,e),mq=e=>to(Int16Array,e),yq=e=>to(Int32Array,e),H_=e=>to(Uint8Array,e),gq=e=>to(Uint16Array,e),xq=e=>to(Uint32Array,e),bq=e=>to(Float32Array,e),wq=e=>to(Float64Array,e),vq=e=>to(Uint8ClampedArray,e);function Ai(e,t){return Er(this,arguments,function*(){if(Dr(t))return yield Ft(yield Ft(yield*iu(Ii(Ai(e,yield Ft(t))))));let r=function(s){return Er(this,arguments,function*(){yield yield Ft(yield Ft(s))})},i=function(s){return Er(this,arguments,function*(){yield Ft(yield*iu(Ii(G_(function*(a){let c=null;do c=a.next(yield c?.value);while(!c.done)}(s[Symbol.iterator]())))))})},o=typeof t=="string"||ArrayBuffer.isView(t)||t instanceof ArrayBuffer||t instanceof W_?r(t):Mi(t)?i(t):Hr(t)?t:r(t);return yield Ft(yield*iu(Ii(G_(function(s){return Er(this,arguments,function*(){let a=null;do a=yield Ft(s.next(yield yield Ft(Ut(e,a))));while(!a.done)})}(o[Symbol.asyncIterator]()))))),yield Ft(new e)})}var _q=e=>Ai(Int8Array,e),Sq=e=>Ai(Int16Array,e),Iq=e=>Ai(Int32Array,e),Z_=e=>Ai(Uint8Array,e),Mq=e=>Ai(Uint16Array,e),Aq=e=>Ai(Uint32Array,e),Tq=e=>Ai(Float32Array,e),Eq=e=>Ai(Float64Array,e),Dq=e=>Ai(Uint8ClampedArray,e);function Fg(e,t,n){if(e!==0){n=n.slice(0,t);for(let r=-1,i=n.length;++r<i;)n[r]+=e}return n.subarray(0,t)}function J_(e,t){let n=0,r=e.length;if(r!==t.length)return!1;if(r>0)do if(e[n]!==t[n])return!1;while(++n<r);return!0}var _n={fromIterable(e){return $g(Nq(e))},fromAsyncIterable(e){return $g(Oq(e))},fromDOMStream(e){return $g(Lq(e))},fromNodeStream(e){return $g(Bq(e))},toDOMStream(e,t){throw new Error('"toDOMStream" not available in this environment')},toNodeStream(e,t){throw new Error('"toNodeStream" not available in this environment')}},$g=e=>(e.next(),e);function*Nq(e){let t,n=!1,r=[],i,o,s,a=0;function c(){return o==="peek"?Nr(r,s)[0]:([i,r,a]=Nr(r,s),i)}({cmd:o,size:s}=(yield null)||{cmd:"read",size:0});let l=H_(e)[Symbol.iterator]();try{do if({done:t,value:i}=Number.isNaN(s-a)?l.next():l.next(s-a),!t&&i.byteLength>0&&(r.push(i),a+=i.byteLength),t||s<=a)do({cmd:o,size:s}=yield c());while(s<a);while(!t)}catch(u){(n=!0)&&typeof l.throw=="function"&&l.throw(u)}finally{n===!1&&typeof l.return=="function"&&l.return(null)}return null}function Oq(e){return Er(this,arguments,function*(){let n,r=!1,i=[],o,s,a,c=0;function l(){return s==="peek"?Nr(i,a)[0]:([o,i,c]=Nr(i,a),o)}({cmd:s,size:a}=(yield yield Ft(null))||{cmd:"read",size:0});let u=Z_(e)[Symbol.asyncIterator]();try{do if({done:n,value:o}=Number.isNaN(a-c)?yield Ft(u.next()):yield Ft(u.next(a-c)),!n&&o.byteLength>0&&(i.push(o),c+=o.byteLength),n||a<=c)do({cmd:s,size:a}=yield yield Ft(l()));while(a<c);while(!n)}catch(f){(r=!0)&&typeof u.throw=="function"&&(yield Ft(u.throw(f)))}finally{r===!1&&typeof u.return=="function"&&(yield Ft(u.return(new Uint8Array(0))))}return yield Ft(null)})}function Lq(e){return Er(this,arguments,function*(){let n=!1,r=!1,i=[],o,s,a,c=0;function l(){return s==="peek"?Nr(i,a)[0]:([o,i,c]=Nr(i,a),o)}({cmd:s,size:a}=(yield yield Ft(null))||{cmd:"read",size:0});let u=new t2(e);try{do if({done:n,value:o}=Number.isNaN(a-c)?yield Ft(u.read()):yield Ft(u.read(a-c)),!n&&o.byteLength>0&&(i.push(_t(o)),c+=o.byteLength),n||a<=c)do({cmd:s,size:a}=yield yield Ft(l()));while(a<c);while(!n)}catch(f){(r=!0)&&(yield Ft(u.cancel(f)))}finally{r===!1?yield Ft(u.cancel()):e.locked&&u.releaseLock()}return yield Ft(null)})}var t2=class{constructor(t){this.source=t,this.reader=null,this.reader=this.source.getReader(),this.reader.closed.catch(()=>{})}get closed(){return this.reader?this.reader.closed.catch(()=>{}):Promise.resolve()}releaseLock(){this.reader&&this.reader.releaseLock(),this.reader=null}cancel(t){return J(this,void 0,void 0,function*(){let{reader:n,source:r}=this;n&&(yield n.cancel(t).catch(()=>{})),r&&r.locked&&this.releaseLock()})}read(t){return J(this,void 0,void 0,function*(){if(t===0)return{done:this.reader==null,value:new Uint8Array(0)};let n=yield this.reader.read();return!n.done&&(n.value=_t(n)),n})}},K_=(e,t)=>{let n=i=>r([t,i]),r;return[t,n,new Promise(i=>(r=i)&&e.once(t,n))]};function Bq(e){return Er(this,arguments,function*(){let n=[],r="error",i=!1,o=null,s,a,c=0,l=[],u;function f(){return s==="peek"?Nr(l,a)[0]:([u,l,c]=Nr(l,a),u)}if({cmd:s,size:a}=(yield yield Ft(null))||{cmd:"read",size:0},e.isTTY)return yield yield Ft(new Uint8Array(0)),yield Ft(null);try{n[0]=K_(e,"end"),n[1]=K_(e,"error");do{if(n[2]=K_(e,"readable"),[r,o]=yield Ft(Promise.race(n.map(d=>d[2]))),r==="error")break;if((i=r==="end")||(Number.isFinite(a-c)?(u=_t(e.read(a-c)),u.byteLength<a-c&&(u=_t(e.read()))):u=_t(e.read()),u.byteLength>0&&(l.push(u),c+=u.byteLength)),i||a<=c)do({cmd:s,size:a}=yield yield Ft(f()));while(a<c)}while(!i)}finally{yield Ft(h(n,r==="error"?o:null))}return yield Ft(null);function h(d,p){return u=l=null,new Promise((m,y)=>{for(let[g,x]of d)e.off(g,x);try{let g=e.destroy;g&&g.call(e,p),p=void 0}catch(g){p=g||p}finally{p!=null?y(p):m()}})}})}var le;(function(e){e[e.V1=0]="V1",e[e.V2=1]="V2",e[e.V3=2]="V3",e[e.V4=3]="V4",e[e.V5=4]="V5"})(le||(le={}));var xe;(function(e){e[e.Sparse=0]="Sparse",e[e.Dense=1]="Dense"})(xe||(xe={}));var pe;(function(e){e[e.HALF=0]="HALF",e[e.SINGLE=1]="SINGLE",e[e.DOUBLE=2]="DOUBLE"})(pe||(pe={}));var Ye;(function(e){e[e.DAY=0]="DAY",e[e.MILLISECOND=1]="MILLISECOND"})(Ye||(Ye={}));var ct;(function(e){e[e.SECOND=0]="SECOND",e[e.MILLISECOND=1]="MILLISECOND",e[e.MICROSECOND=2]="MICROSECOND",e[e.NANOSECOND=3]="NANOSECOND"})(ct||(ct={}));var un;(function(e){e[e.YEAR_MONTH=0]="YEAR_MONTH",e[e.DAY_TIME=1]="DAY_TIME",e[e.MONTH_DAY_NANO=2]="MONTH_DAY_NANO"})(un||(un={}));var eo=new Int32Array(2),Pg=new Float32Array(eo.buffer),Ug=new Float64Array(eo.buffer),ou=new Uint16Array(new Uint8Array([1,0]).buffer)[0]===1;var jh;(function(e){e[e.UTF8_BYTES=1]="UTF8_BYTES",e[e.UTF16_STRING=2]="UTF16_STRING"})(jh||(jh={}));var Or=class e{constructor(t){this.bytes_=t,this.position_=0,this.text_decoder_=new TextDecoder}static allocate(t){return new e(new Uint8Array(t))}clear(){this.position_=0}bytes(){return this.bytes_}position(){return this.position_}setPosition(t){this.position_=t}capacity(){return this.bytes_.length}readInt8(t){return this.readUint8(t)<<24>>24}readUint8(t){return this.bytes_[t]}readInt16(t){return this.readUint16(t)<<16>>16}readUint16(t){return this.bytes_[t]|this.bytes_[t+1]<<8}readInt32(t){return this.bytes_[t]|this.bytes_[t+1]<<8|this.bytes_[t+2]<<16|this.bytes_[t+3]<<24}readUint32(t){return this.readInt32(t)>>>0}readInt64(t){return BigInt.asIntN(64,BigInt(this.readUint32(t))+(BigInt(this.readUint32(t+4))<<BigInt(32)))}readUint64(t){return BigInt.asUintN(64,BigInt(this.readUint32(t))+(BigInt(this.readUint32(t+4))<<BigInt(32)))}readFloat32(t){return eo[0]=this.readInt32(t),Pg[0]}readFloat64(t){return eo[ou?0:1]=this.readInt32(t),eo[ou?1:0]=this.readInt32(t+4),Ug[0]}writeInt8(t,n){this.bytes_[t]=n}writeUint8(t,n){this.bytes_[t]=n}writeInt16(t,n){this.bytes_[t]=n,this.bytes_[t+1]=n>>8}writeUint16(t,n){this.bytes_[t]=n,this.bytes_[t+1]=n>>8}writeInt32(t,n){this.bytes_[t]=n,this.bytes_[t+1]=n>>8,this.bytes_[t+2]=n>>16,this.bytes_[t+3]=n>>24}writeUint32(t,n){this.bytes_[t]=n,this.bytes_[t+1]=n>>8,this.bytes_[t+2]=n>>16,this.bytes_[t+3]=n>>24}writeInt64(t,n){this.writeInt32(t,Number(BigInt.asIntN(32,n))),this.writeInt32(t+4,Number(BigInt.asIntN(32,n>>BigInt(32))))}writeUint64(t,n){this.writeUint32(t,Number(BigInt.asUintN(32,n))),this.writeUint32(t+4,Number(BigInt.asUintN(32,n>>BigInt(32))))}writeFloat32(t,n){Pg[0]=n,this.writeInt32(t,eo[0])}writeFloat64(t,n){Ug[0]=n,this.writeInt32(t,eo[ou?0:1]),this.writeInt32(t+4,eo[ou?1:0])}getBufferIdentifier(){if(this.bytes_.length<this.position_+4+4)throw new Error("FlatBuffers: ByteBuffer is too short to contain an identifier.");let t="";for(let n=0;n<4;n++)t+=String.fromCharCode(this.readInt8(this.position_+4+n));return t}__offset(t,n){let r=t-this.readInt32(t);return n<this.readInt16(r)?this.readInt16(r+n):0}__union(t,n){return t.bb_pos=n+this.readInt32(n),t.bb=this,t}__string(t,n){t+=this.readInt32(t);let r=this.readInt32(t);t+=4;let i=this.bytes_.subarray(t,t+r);return n===jh.UTF8_BYTES?i:this.text_decoder_.decode(i)}__union_with_string(t,n){return typeof t=="string"?this.__string(n):this.__union(t,n)}__indirect(t){return t+this.readInt32(t)}__vector(t){return t+this.readInt32(t)+4}__vector_len(t){return this.readInt32(t+this.readInt32(t))}__has_identifier(t){if(t.length!=4)throw new Error("FlatBuffers: file identifier must be length "+4);for(let n=0;n<4;n++)if(t.charCodeAt(n)!=this.readInt8(this.position()+4+n))return!1;return!0}createScalarList(t,n){let r=[];for(let i=0;i<n;++i){let o=t(i);o!==null&&r.push(o)}return r}createObjList(t,n){let r=[];for(let i=0;i<n;++i){let o=t(i);o!==null&&r.push(o.unpack())}return r}};var Mc=class e{constructor(t){this.minalign=1,this.vtable=null,this.vtable_in_use=0,this.isNested=!1,this.object_start=0,this.vtables=[],this.vector_num_elems=0,this.force_defaults=!1,this.string_maps=null,this.text_encoder=new TextEncoder;let n;t?n=t:n=1024,this.bb=Or.allocate(n),this.space=n}clear(){this.bb.clear(),this.space=this.bb.capacity(),this.minalign=1,this.vtable=null,this.vtable_in_use=0,this.isNested=!1,this.object_start=0,this.vtables=[],this.vector_num_elems=0,this.force_defaults=!1,this.string_maps=null}forceDefaults(t){this.force_defaults=t}dataBuffer(){return this.bb}asUint8Array(){return this.bb.bytes().subarray(this.bb.position(),this.bb.position()+this.offset())}prep(t,n){t>this.minalign&&(this.minalign=t);let r=~(this.bb.capacity()-this.space+n)+1&t-1;for(;this.space<r+t+n;){let i=this.bb.capacity();this.bb=e.growByteBuffer(this.bb),this.space+=this.bb.capacity()-i}this.pad(r)}pad(t){for(let n=0;n<t;n++)this.bb.writeInt8(--this.space,0)}writeInt8(t){this.bb.writeInt8(this.space-=1,t)}writeInt16(t){this.bb.writeInt16(this.space-=2,t)}writeInt32(t){this.bb.writeInt32(this.space-=4,t)}writeInt64(t){this.bb.writeInt64(this.space-=8,t)}writeFloat32(t){this.bb.writeFloat32(this.space-=4,t)}writeFloat64(t){this.bb.writeFloat64(this.space-=8,t)}addInt8(t){this.prep(1,0),this.writeInt8(t)}addInt16(t){this.prep(2,0),this.writeInt16(t)}addInt32(t){this.prep(4,0),this.writeInt32(t)}addInt64(t){this.prep(8,0),this.writeInt64(t)}addFloat32(t){this.prep(4,0),this.writeFloat32(t)}addFloat64(t){this.prep(8,0),this.writeFloat64(t)}addFieldInt8(t,n,r){(this.force_defaults||n!=r)&&(this.addInt8(n),this.slot(t))}addFieldInt16(t,n,r){(this.force_defaults||n!=r)&&(this.addInt16(n),this.slot(t))}addFieldInt32(t,n,r){(this.force_defaults||n!=r)&&(this.addInt32(n),this.slot(t))}addFieldInt64(t,n,r){(this.force_defaults||n!==r)&&(this.addInt64(n),this.slot(t))}addFieldFloat32(t,n,r){(this.force_defaults||n!=r)&&(this.addFloat32(n),this.slot(t))}addFieldFloat64(t,n,r){(this.force_defaults||n!=r)&&(this.addFloat64(n),this.slot(t))}addFieldOffset(t,n,r){(this.force_defaults||n!=r)&&(this.addOffset(n),this.slot(t))}addFieldStruct(t,n,r){n!=r&&(this.nested(n),this.slot(t))}nested(t){if(t!=this.offset())throw new TypeError("FlatBuffers: struct must be serialized inline.")}notNested(){if(this.isNested)throw new TypeError("FlatBuffers: object serialization must not be nested.")}slot(t){this.vtable!==null&&(this.vtable[t]=this.offset())}offset(){return this.bb.capacity()-this.space}static growByteBuffer(t){let n=t.capacity();if(n&3221225472)throw new Error("FlatBuffers: cannot grow buffer beyond 2 gigabytes.");let r=n<<1,i=Or.allocate(r);return i.setPosition(r-n),i.bytes().set(t.bytes(),r-n),i}addOffset(t){this.prep(4,0),this.writeInt32(this.offset()-t+4)}startObject(t){this.notNested(),this.vtable==null&&(this.vtable=[]),this.vtable_in_use=t;for(let n=0;n<t;n++)this.vtable[n]=0;this.isNested=!0,this.object_start=this.offset()}endObject(){if(this.vtable==null||!this.isNested)throw new Error("FlatBuffers: endObject called without startObject");this.addInt32(0);let t=this.offset(),n=this.vtable_in_use-1;for(;n>=0&&this.vtable[n]==0;n--);let r=n+1;for(;n>=0;n--)this.addInt16(this.vtable[n]!=0?t-this.vtable[n]:0);let i=2;this.addInt16(t-this.object_start);let o=(r+i)*2;this.addInt16(o);let s=0,a=this.space;t:for(n=0;n<this.vtables.length;n++){let c=this.bb.capacity()-this.vtables[n];if(o==this.bb.readInt16(c)){for(let l=2;l<o;l+=2)if(this.bb.readInt16(a+l)!=this.bb.readInt16(c+l))continue t;s=this.vtables[n];break}}return s?(this.space=this.bb.capacity()-t,this.bb.writeInt32(this.space,s-t)):(this.vtables.push(this.offset()),this.bb.writeInt32(this.bb.capacity()-t,this.offset()-t)),this.isNested=!1,t}finish(t,n,r){let i=r?4:0;if(n){let o=n;if(this.prep(this.minalign,8+i),o.length!=4)throw new TypeError("FlatBuffers: file identifier must be length "+4);for(let s=3;s>=0;s--)this.writeInt8(o.charCodeAt(s))}this.prep(this.minalign,4+i),this.addOffset(t),i&&this.addInt32(this.bb.capacity()-this.space),this.bb.setPosition(this.space)}finishSizePrefixed(t,n){this.finish(t,n,!0)}requiredField(t,n){let r=this.bb.capacity()-t,i=r-this.bb.readInt32(r);if(!(n<this.bb.readInt16(i)&&this.bb.readInt16(i+n)!=0))throw new TypeError("FlatBuffers: field "+n+" must be set")}startVector(t,n,r){this.notNested(),this.vector_num_elems=n,this.prep(4,t*n),this.prep(r,t*n)}endVector(){return this.writeInt32(this.vector_num_elems),this.offset()}createSharedString(t){if(!t)return 0;if(this.string_maps||(this.string_maps=new Map),this.string_maps.has(t))return this.string_maps.get(t);let n=this.createString(t);return this.string_maps.set(t,n),n}createString(t){if(t==null)return 0;let n;t instanceof Uint8Array?n=t:n=this.text_encoder.encode(t),this.addInt8(0),this.startVector(1,n.length,1),this.bb.setPosition(this.space-=n.length);for(let r=0,i=this.space,o=this.bb.bytes();r<n.length;r++)o[i++]=n[r];return this.endVector()}createObjectOffset(t){return t===null?0:typeof t=="string"?this.createString(t):t.pack(this)}createObjectOffsetList(t){let n=[];for(let r=0;r<t.length;++r){let i=t[r];if(i!==null)n.push(this.createObjectOffset(i));else throw new TypeError("FlatBuffers: Argument for createObjectOffsetList cannot contain null.")}return n}createStructOffsetList(t,n){return n(this,t.length),this.createObjectOffsetList(t.slice().reverse()),this.endVector()}};var Vh;(function(e){e[e.BUFFER=0]="BUFFER"})(Vh||(Vh={}));var Yh;(function(e){e[e.LZ4_FRAME=0]="LZ4_FRAME",e[e.ZSTD=1]="ZSTD"})(Yh||(Yh={}));var qg=class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,n){return this.bb_pos=t,this.bb=n,this}static getRootAsBodyCompression(t,n){return(n||new e).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsBodyCompression(t,n){return t.setPosition(t.position()+4),(n||new e).__init(t.readInt32(t.position())+t.position(),t)}codec(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt8(this.bb_pos+t):Yh.LZ4_FRAME}method(){let t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readInt8(this.bb_pos+t):Vh.BUFFER}static startBodyCompression(t){t.startObject(2)}static addCodec(t,n){t.addFieldInt8(0,n,Yh.LZ4_FRAME)}static addMethod(t,n){t.addFieldInt8(1,n,Vh.BUFFER)}static endBodyCompression(t){return t.endObject()}static createBodyCompression(t,n,r){return e.startBodyCompression(t),e.addCodec(t,n),e.addMethod(t,r),e.endBodyCompression(t)}};var su=class{constructor(){this.bb=null,this.bb_pos=0}__init(t,n){return this.bb_pos=t,this.bb=n,this}offset(){return this.bb.readInt64(this.bb_pos)}length(){return this.bb.readInt64(this.bb_pos+8)}static sizeOf(){return 16}static createBuffer(t,n,r){return t.prep(8,16),t.writeInt64(BigInt(r??0)),t.writeInt64(BigInt(n??0)),t.offset()}};var au=class{constructor(){this.bb=null,this.bb_pos=0}__init(t,n){return this.bb_pos=t,this.bb=n,this}length(){return this.bb.readInt64(this.bb_pos)}nullCount(){return this.bb.readInt64(this.bb_pos+8)}static sizeOf(){return 16}static createFieldNode(t,n,r){return t.prep(8,16),t.writeInt64(BigInt(r??0)),t.writeInt64(BigInt(n??0)),t.offset()}};var Lr=class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,n){return this.bb_pos=t,this.bb=n,this}static getRootAsRecordBatch(t,n){return(n||new e).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsRecordBatch(t,n){return t.setPosition(t.position()+4),(n||new e).__init(t.readInt32(t.position())+t.position(),t)}length(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt64(this.bb_pos+t):BigInt("0")}nodes(t,n){let r=this.bb.__offset(this.bb_pos,6);return r?(n||new au).__init(this.bb.__vector(this.bb_pos+r)+t*16,this.bb):null}nodesLength(){let t=this.bb.__offset(this.bb_pos,6);return t?this.bb.__vector_len(this.bb_pos+t):0}buffers(t,n){let r=this.bb.__offset(this.bb_pos,8);return r?(n||new su).__init(this.bb.__vector(this.bb_pos+r)+t*16,this.bb):null}buffersLength(){let t=this.bb.__offset(this.bb_pos,8);return t?this.bb.__vector_len(this.bb_pos+t):0}compression(t){let n=this.bb.__offset(this.bb_pos,10);return n?(t||new qg).__init(this.bb.__indirect(this.bb_pos+n),this.bb):null}static startRecordBatch(t){t.startObject(4)}static addLength(t,n){t.addFieldInt64(0,n,BigInt("0"))}static addNodes(t,n){t.addFieldOffset(1,n,0)}static startNodesVector(t,n){t.startVector(16,n,8)}static addBuffers(t,n){t.addFieldOffset(2,n,0)}static startBuffersVector(t,n){t.startVector(16,n,8)}static addCompression(t,n){t.addFieldOffset(3,n,0)}static endRecordBatch(t){return t.endObject()}};var ss=class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,n){return this.bb_pos=t,this.bb=n,this}static getRootAsDictionaryBatch(t,n){return(n||new e).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsDictionaryBatch(t,n){return t.setPosition(t.position()+4),(n||new e).__init(t.readInt32(t.position())+t.position(),t)}id(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt64(this.bb_pos+t):BigInt("0")}data(t){let n=this.bb.__offset(this.bb_pos,6);return n?(t||new Lr).__init(this.bb.__indirect(this.bb_pos+n),this.bb):null}isDelta(){let t=this.bb.__offset(this.bb_pos,8);return t?!!this.bb.readInt8(this.bb_pos+t):!1}static startDictionaryBatch(t){t.startObject(3)}static addId(t,n){t.addFieldInt64(0,n,BigInt("0"))}static addData(t,n){t.addFieldOffset(1,n,0)}static addIsDelta(t,n){t.addFieldInt8(2,+n,0)}static endDictionaryBatch(t){return t.endObject()}};var pa;(function(e){e[e.Little=0]="Little",e[e.Big=1]="Big"})(pa||(pa={}));var Xh;(function(e){e[e.DenseArray=0]="DenseArray"})(Xh||(Xh={}));var Ei=class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,n){return this.bb_pos=t,this.bb=n,this}static getRootAsInt(t,n){return(n||new e).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsInt(t,n){return t.setPosition(t.position()+4),(n||new e).__init(t.readInt32(t.position())+t.position(),t)}bitWidth(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt32(this.bb_pos+t):0}isSigned(){let t=this.bb.__offset(this.bb_pos,6);return t?!!this.bb.readInt8(this.bb_pos+t):!1}static startInt(t){t.startObject(2)}static addBitWidth(t,n){t.addFieldInt32(0,n,0)}static addIsSigned(t,n){t.addFieldInt8(1,+n,0)}static endInt(t){return t.endObject()}static createInt(t,n,r){return e.startInt(t),e.addBitWidth(t,n),e.addIsSigned(t,r),e.endInt(t)}};var no=class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,n){return this.bb_pos=t,this.bb=n,this}static getRootAsDictionaryEncoding(t,n){return(n||new e).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsDictionaryEncoding(t,n){return t.setPosition(t.position()+4),(n||new e).__init(t.readInt32(t.position())+t.position(),t)}id(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt64(this.bb_pos+t):BigInt("0")}indexType(t){let n=this.bb.__offset(this.bb_pos,6);return n?(t||new Ei).__init(this.bb.__indirect(this.bb_pos+n),this.bb):null}isOrdered(){let t=this.bb.__offset(this.bb_pos,8);return t?!!this.bb.readInt8(this.bb_pos+t):!1}dictionaryKind(){let t=this.bb.__offset(this.bb_pos,10);return t?this.bb.readInt16(this.bb_pos+t):Xh.DenseArray}static startDictionaryEncoding(t){t.startObject(4)}static addId(t,n){t.addFieldInt64(0,n,BigInt("0"))}static addIndexType(t,n){t.addFieldOffset(1,n,0)}static addIsOrdered(t,n){t.addFieldInt8(2,+n,0)}static addDictionaryKind(t,n){t.addFieldInt16(3,n,Xh.DenseArray)}static endDictionaryEncoding(t){return t.endObject()}};var on=class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,n){return this.bb_pos=t,this.bb=n,this}static getRootAsKeyValue(t,n){return(n||new e).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsKeyValue(t,n){return t.setPosition(t.position()+4),(n||new e).__init(t.readInt32(t.position())+t.position(),t)}key(t){let n=this.bb.__offset(this.bb_pos,4);return n?this.bb.__string(this.bb_pos+n,t):null}value(t){let n=this.bb.__offset(this.bb_pos,6);return n?this.bb.__string(this.bb_pos+n,t):null}static startKeyValue(t){t.startObject(2)}static addKey(t,n){t.addFieldOffset(0,n,0)}static addValue(t,n){t.addFieldOffset(1,n,0)}static endKeyValue(t){return t.endObject()}static createKeyValue(t,n,r){return e.startKeyValue(t),e.addKey(t,n),e.addValue(t,r),e.endKeyValue(t)}};var Gh=class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,n){return this.bb_pos=t,this.bb=n,this}static getRootAsBinary(t,n){return(n||new e).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsBinary(t,n){return t.setPosition(t.position()+4),(n||new e).__init(t.readInt32(t.position())+t.position(),t)}static startBinary(t){t.startObject(0)}static endBinary(t){return t.endObject()}static createBinary(t){return e.startBinary(t),e.endBinary(t)}};var Wh=class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,n){return this.bb_pos=t,this.bb=n,this}static getRootAsBool(t,n){return(n||new e).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsBool(t,n){return t.setPosition(t.position()+4),(n||new e).__init(t.readInt32(t.position())+t.position(),t)}static startBool(t){t.startObject(0)}static endBool(t){return t.endObject()}static createBool(t){return e.startBool(t),e.endBool(t)}};var ma=class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,n){return this.bb_pos=t,this.bb=n,this}static getRootAsDate(t,n){return(n||new e).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsDate(t,n){return t.setPosition(t.position()+4),(n||new e).__init(t.readInt32(t.position())+t.position(),t)}unit(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):Ye.MILLISECOND}static startDate(t){t.startObject(1)}static addUnit(t,n){t.addFieldInt16(0,n,Ye.MILLISECOND)}static endDate(t){return t.endObject()}static createDate(t,n){return e.startDate(t),e.addUnit(t,n),e.endDate(t)}};var ro=class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,n){return this.bb_pos=t,this.bb=n,this}static getRootAsDecimal(t,n){return(n||new e).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsDecimal(t,n){return t.setPosition(t.position()+4),(n||new e).__init(t.readInt32(t.position())+t.position(),t)}precision(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt32(this.bb_pos+t):0}scale(){let t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readInt32(this.bb_pos+t):0}bitWidth(){let t=this.bb.__offset(this.bb_pos,8);return t?this.bb.readInt32(this.bb_pos+t):128}static startDecimal(t){t.startObject(3)}static addPrecision(t,n){t.addFieldInt32(0,n,0)}static addScale(t,n){t.addFieldInt32(1,n,0)}static addBitWidth(t,n){t.addFieldInt32(2,n,128)}static endDecimal(t){return t.endObject()}static createDecimal(t,n,r,i){return e.startDecimal(t),e.addPrecision(t,n),e.addScale(t,r),e.addBitWidth(t,i),e.endDecimal(t)}};var ya=class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,n){return this.bb_pos=t,this.bb=n,this}static getRootAsDuration(t,n){return(n||new e).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsDuration(t,n){return t.setPosition(t.position()+4),(n||new e).__init(t.readInt32(t.position())+t.position(),t)}unit(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):ct.MILLISECOND}static startDuration(t){t.startObject(1)}static addUnit(t,n){t.addFieldInt16(0,n,ct.MILLISECOND)}static endDuration(t){return t.endObject()}static createDuration(t,n){return e.startDuration(t),e.addUnit(t,n),e.endDuration(t)}};var ga=class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,n){return this.bb_pos=t,this.bb=n,this}static getRootAsFixedSizeBinary(t,n){return(n||new e).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsFixedSizeBinary(t,n){return t.setPosition(t.position()+4),(n||new e).__init(t.readInt32(t.position())+t.position(),t)}byteWidth(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt32(this.bb_pos+t):0}static startFixedSizeBinary(t){t.startObject(1)}static addByteWidth(t,n){t.addFieldInt32(0,n,0)}static endFixedSizeBinary(t){return t.endObject()}static createFixedSizeBinary(t,n){return e.startFixedSizeBinary(t),e.addByteWidth(t,n),e.endFixedSizeBinary(t)}};var xa=class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,n){return this.bb_pos=t,this.bb=n,this}static getRootAsFixedSizeList(t,n){return(n||new e).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsFixedSizeList(t,n){return t.setPosition(t.position()+4),(n||new e).__init(t.readInt32(t.position())+t.position(),t)}listSize(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt32(this.bb_pos+t):0}static startFixedSizeList(t){t.startObject(1)}static addListSize(t,n){t.addFieldInt32(0,n,0)}static endFixedSizeList(t){return t.endObject()}static createFixedSizeList(t,n){return e.startFixedSizeList(t),e.addListSize(t,n),e.endFixedSizeList(t)}};var ba=class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,n){return this.bb_pos=t,this.bb=n,this}static getRootAsFloatingPoint(t,n){return(n||new e).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsFloatingPoint(t,n){return t.setPosition(t.position()+4),(n||new e).__init(t.readInt32(t.position())+t.position(),t)}precision(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):pe.HALF}static startFloatingPoint(t){t.startObject(1)}static addPrecision(t,n){t.addFieldInt16(0,n,pe.HALF)}static endFloatingPoint(t){return t.endObject()}static createFloatingPoint(t,n){return e.startFloatingPoint(t),e.addPrecision(t,n),e.endFloatingPoint(t)}};var wa=class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,n){return this.bb_pos=t,this.bb=n,this}static getRootAsInterval(t,n){return(n||new e).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsInterval(t,n){return t.setPosition(t.position()+4),(n||new e).__init(t.readInt32(t.position())+t.position(),t)}unit(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):un.YEAR_MONTH}static startInterval(t){t.startObject(1)}static addUnit(t,n){t.addFieldInt16(0,n,un.YEAR_MONTH)}static endInterval(t){return t.endObject()}static createInterval(t,n){return e.startInterval(t),e.addUnit(t,n),e.endInterval(t)}};var Hh=class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,n){return this.bb_pos=t,this.bb=n,this}static getRootAsLargeBinary(t,n){return(n||new e).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsLargeBinary(t,n){return t.setPosition(t.position()+4),(n||new e).__init(t.readInt32(t.position())+t.position(),t)}static startLargeBinary(t){t.startObject(0)}static endLargeBinary(t){return t.endObject()}static createLargeBinary(t){return e.startLargeBinary(t),e.endLargeBinary(t)}};var Zh=class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,n){return this.bb_pos=t,this.bb=n,this}static getRootAsLargeUtf8(t,n){return(n||new e).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsLargeUtf8(t,n){return t.setPosition(t.position()+4),(n||new e).__init(t.readInt32(t.position())+t.position(),t)}static startLargeUtf8(t){t.startObject(0)}static endLargeUtf8(t){return t.endObject()}static createLargeUtf8(t){return e.startLargeUtf8(t),e.endLargeUtf8(t)}};var Jh=class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,n){return this.bb_pos=t,this.bb=n,this}static getRootAsList(t,n){return(n||new e).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsList(t,n){return t.setPosition(t.position()+4),(n||new e).__init(t.readInt32(t.position())+t.position(),t)}static startList(t){t.startObject(0)}static endList(t){return t.endObject()}static createList(t){return e.startList(t),e.endList(t)}};var va=class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,n){return this.bb_pos=t,this.bb=n,this}static getRootAsMap(t,n){return(n||new e).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsMap(t,n){return t.setPosition(t.position()+4),(n||new e).__init(t.readInt32(t.position())+t.position(),t)}keysSorted(){let t=this.bb.__offset(this.bb_pos,4);return t?!!this.bb.readInt8(this.bb_pos+t):!1}static startMap(t){t.startObject(1)}static addKeysSorted(t,n){t.addFieldInt8(0,+n,0)}static endMap(t){return t.endObject()}static createMap(t,n){return e.startMap(t),e.addKeysSorted(t,n),e.endMap(t)}};var Qh=class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,n){return this.bb_pos=t,this.bb=n,this}static getRootAsNull(t,n){return(n||new e).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsNull(t,n){return t.setPosition(t.position()+4),(n||new e).__init(t.readInt32(t.position())+t.position(),t)}static startNull(t){t.startObject(0)}static endNull(t){return t.endObject()}static createNull(t){return e.startNull(t),e.endNull(t)}};var Kh=class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,n){return this.bb_pos=t,this.bb=n,this}static getRootAsStruct_(t,n){return(n||new e).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsStruct_(t,n){return t.setPosition(t.position()+4),(n||new e).__init(t.readInt32(t.position())+t.position(),t)}static startStruct_(t){t.startObject(0)}static endStruct_(t){return t.endObject()}static createStruct_(t){return e.startStruct_(t),e.endStruct_(t)}};var as=class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,n){return this.bb_pos=t,this.bb=n,this}static getRootAsTime(t,n){return(n||new e).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsTime(t,n){return t.setPosition(t.position()+4),(n||new e).__init(t.readInt32(t.position())+t.position(),t)}unit(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):ct.MILLISECOND}bitWidth(){let t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readInt32(this.bb_pos+t):32}static startTime(t){t.startObject(2)}static addUnit(t,n){t.addFieldInt16(0,n,ct.MILLISECOND)}static addBitWidth(t,n){t.addFieldInt32(1,n,32)}static endTime(t){return t.endObject()}static createTime(t,n,r){return e.startTime(t),e.addUnit(t,n),e.addBitWidth(t,r),e.endTime(t)}};var cs=class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,n){return this.bb_pos=t,this.bb=n,this}static getRootAsTimestamp(t,n){return(n||new e).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsTimestamp(t,n){return t.setPosition(t.position()+4),(n||new e).__init(t.readInt32(t.position())+t.position(),t)}unit(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):ct.SECOND}timezone(t){let n=this.bb.__offset(this.bb_pos,6);return n?this.bb.__string(this.bb_pos+n,t):null}static startTimestamp(t){t.startObject(2)}static addUnit(t,n){t.addFieldInt16(0,n,ct.SECOND)}static addTimezone(t,n){t.addFieldOffset(1,n,0)}static endTimestamp(t){return t.endObject()}static createTimestamp(t,n,r){return e.startTimestamp(t),e.addUnit(t,n),e.addTimezone(t,r),e.endTimestamp(t)}};var Di=class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,n){return this.bb_pos=t,this.bb=n,this}static getRootAsUnion(t,n){return(n||new e).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsUnion(t,n){return t.setPosition(t.position()+4),(n||new e).__init(t.readInt32(t.position())+t.position(),t)}mode(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):xe.Sparse}typeIds(t){let n=this.bb.__offset(this.bb_pos,6);return n?this.bb.readInt32(this.bb.__vector(this.bb_pos+n)+t*4):0}typeIdsLength(){let t=this.bb.__offset(this.bb_pos,6);return t?this.bb.__vector_len(this.bb_pos+t):0}typeIdsArray(){let t=this.bb.__offset(this.bb_pos,6);return t?new Int32Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+t),this.bb.__vector_len(this.bb_pos+t)):null}static startUnion(t){t.startObject(2)}static addMode(t,n){t.addFieldInt16(0,n,xe.Sparse)}static addTypeIds(t,n){t.addFieldOffset(1,n,0)}static createTypeIdsVector(t,n){t.startVector(4,n.length,4);for(let r=n.length-1;r>=0;r--)t.addInt32(n[r]);return t.endVector()}static startTypeIdsVector(t,n){t.startVector(4,n,4)}static endUnion(t){return t.endObject()}static createUnion(t,n,r){return e.startUnion(t),e.addMode(t,n),e.addTypeIds(t,r),e.endUnion(t)}};var td=class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,n){return this.bb_pos=t,this.bb=n,this}static getRootAsUtf8(t,n){return(n||new e).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsUtf8(t,n){return t.setPosition(t.position()+4),(n||new e).__init(t.readInt32(t.position())+t.position(),t)}static startUtf8(t){t.startObject(0)}static endUtf8(t){return t.endObject()}static createUtf8(t){return e.startUtf8(t),e.endUtf8(t)}};var me;(function(e){e[e.NONE=0]="NONE",e[e.Null=1]="Null",e[e.Int=2]="Int",e[e.FloatingPoint=3]="FloatingPoint",e[e.Binary=4]="Binary",e[e.Utf8=5]="Utf8",e[e.Bool=6]="Bool",e[e.Decimal=7]="Decimal",e[e.Date=8]="Date",e[e.Time=9]="Time",e[e.Timestamp=10]="Timestamp",e[e.Interval=11]="Interval",e[e.List=12]="List",e[e.Struct_=13]="Struct_",e[e.Union=14]="Union",e[e.FixedSizeBinary=15]="FixedSizeBinary",e[e.FixedSizeList=16]="FixedSizeList",e[e.Map=17]="Map",e[e.Duration=18]="Duration",e[e.LargeBinary=19]="LargeBinary",e[e.LargeUtf8=20]="LargeUtf8",e[e.LargeList=21]="LargeList",e[e.RunEndEncoded=22]="RunEndEncoded"})(me||(me={}));var kn=class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,n){return this.bb_pos=t,this.bb=n,this}static getRootAsField(t,n){return(n||new e).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsField(t,n){return t.setPosition(t.position()+4),(n||new e).__init(t.readInt32(t.position())+t.position(),t)}name(t){let n=this.bb.__offset(this.bb_pos,4);return n?this.bb.__string(this.bb_pos+n,t):null}nullable(){let t=this.bb.__offset(this.bb_pos,6);return t?!!this.bb.readInt8(this.bb_pos+t):!1}typeType(){let t=this.bb.__offset(this.bb_pos,8);return t?this.bb.readUint8(this.bb_pos+t):me.NONE}type(t){let n=this.bb.__offset(this.bb_pos,10);return n?this.bb.__union(t,this.bb_pos+n):null}dictionary(t){let n=this.bb.__offset(this.bb_pos,12);return n?(t||new no).__init(this.bb.__indirect(this.bb_pos+n),this.bb):null}children(t,n){let r=this.bb.__offset(this.bb_pos,14);return r?(n||new e).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+t*4),this.bb):null}childrenLength(){let t=this.bb.__offset(this.bb_pos,14);return t?this.bb.__vector_len(this.bb_pos+t):0}customMetadata(t,n){let r=this.bb.__offset(this.bb_pos,16);return r?(n||new on).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+t*4),this.bb):null}customMetadataLength(){let t=this.bb.__offset(this.bb_pos,16);return t?this.bb.__vector_len(this.bb_pos+t):0}static startField(t){t.startObject(7)}static addName(t,n){t.addFieldOffset(0,n,0)}static addNullable(t,n){t.addFieldInt8(1,+n,0)}static addTypeType(t,n){t.addFieldInt8(2,n,me.NONE)}static addType(t,n){t.addFieldOffset(3,n,0)}static addDictionary(t,n){t.addFieldOffset(4,n,0)}static addChildren(t,n){t.addFieldOffset(5,n,0)}static createChildrenVector(t,n){t.startVector(4,n.length,4);for(let r=n.length-1;r>=0;r--)t.addOffset(n[r]);return t.endVector()}static startChildrenVector(t,n){t.startVector(4,n,4)}static addCustomMetadata(t,n){t.addFieldOffset(6,n,0)}static createCustomMetadataVector(t,n){t.startVector(4,n.length,4);for(let r=n.length-1;r>=0;r--)t.addOffset(n[r]);return t.endVector()}static startCustomMetadataVector(t,n){t.startVector(4,n,4)}static endField(t){return t.endObject()}};var dr=class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,n){return this.bb_pos=t,this.bb=n,this}static getRootAsSchema(t,n){return(n||new e).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsSchema(t,n){return t.setPosition(t.position()+4),(n||new e).__init(t.readInt32(t.position())+t.position(),t)}endianness(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):pa.Little}fields(t,n){let r=this.bb.__offset(this.bb_pos,6);return r?(n||new kn).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+t*4),this.bb):null}fieldsLength(){let t=this.bb.__offset(this.bb_pos,6);return t?this.bb.__vector_len(this.bb_pos+t):0}customMetadata(t,n){let r=this.bb.__offset(this.bb_pos,8);return r?(n||new on).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+t*4),this.bb):null}customMetadataLength(){let t=this.bb.__offset(this.bb_pos,8);return t?this.bb.__vector_len(this.bb_pos+t):0}features(t){let n=this.bb.__offset(this.bb_pos,10);return n?this.bb.readInt64(this.bb.__vector(this.bb_pos+n)+t*8):BigInt(0)}featuresLength(){let t=this.bb.__offset(this.bb_pos,10);return t?this.bb.__vector_len(this.bb_pos+t):0}static startSchema(t){t.startObject(4)}static addEndianness(t,n){t.addFieldInt16(0,n,pa.Little)}static addFields(t,n){t.addFieldOffset(1,n,0)}static createFieldsVector(t,n){t.startVector(4,n.length,4);for(let r=n.length-1;r>=0;r--)t.addOffset(n[r]);return t.endVector()}static startFieldsVector(t,n){t.startVector(4,n,4)}static addCustomMetadata(t,n){t.addFieldOffset(2,n,0)}static createCustomMetadataVector(t,n){t.startVector(4,n.length,4);for(let r=n.length-1;r>=0;r--)t.addOffset(n[r]);return t.endVector()}static startCustomMetadataVector(t,n){t.startVector(4,n,4)}static addFeatures(t,n){t.addFieldOffset(3,n,0)}static createFeaturesVector(t,n){t.startVector(8,n.length,8);for(let r=n.length-1;r>=0;r--)t.addInt64(n[r]);return t.endVector()}static startFeaturesVector(t,n){t.startVector(8,n,8)}static endSchema(t){return t.endObject()}static finishSchemaBuffer(t,n){t.finish(n)}static finishSizePrefixedSchemaBuffer(t,n){t.finish(n,void 0,!0)}static createSchema(t,n,r,i,o){return e.startSchema(t),e.addEndianness(t,n),e.addFields(t,r),e.addCustomMetadata(t,i),e.addFeatures(t,o),e.endSchema(t)}};var jt;(function(e){e[e.NONE=0]="NONE",e[e.Schema=1]="Schema",e[e.DictionaryBatch=2]="DictionaryBatch",e[e.RecordBatch=3]="RecordBatch",e[e.Tensor=4]="Tensor",e[e.SparseTensor=5]="SparseTensor"})(jt||(jt={}));var B;(function(e){e[e.NONE=0]="NONE",e[e.Null=1]="Null",e[e.Int=2]="Int",e[e.Float=3]="Float",e[e.Binary=4]="Binary",e[e.Utf8=5]="Utf8",e[e.Bool=6]="Bool",e[e.Decimal=7]="Decimal",e[e.Date=8]="Date",e[e.Time=9]="Time",e[e.Timestamp=10]="Timestamp",e[e.Interval=11]="Interval",e[e.List=12]="List",e[e.Struct=13]="Struct",e[e.Union=14]="Union",e[e.FixedSizeBinary=15]="FixedSizeBinary",e[e.FixedSizeList=16]="FixedSizeList",e[e.Map=17]="Map",e[e.Duration=18]="Duration",e[e.LargeBinary=19]="LargeBinary",e[e.LargeUtf8=20]="LargeUtf8",e[e.Dictionary=-1]="Dictionary",e[e.Int8=-2]="Int8",e[e.Int16=-3]="Int16",e[e.Int32=-4]="Int32",e[e.Int64=-5]="Int64",e[e.Uint8=-6]="Uint8",e[e.Uint16=-7]="Uint16",e[e.Uint32=-8]="Uint32",e[e.Uint64=-9]="Uint64",e[e.Float16=-10]="Float16",e[e.Float32=-11]="Float32",e[e.Float64=-12]="Float64",e[e.DateDay=-13]="DateDay",e[e.DateMillisecond=-14]="DateMillisecond",e[e.TimestampSecond=-15]="TimestampSecond",e[e.TimestampMillisecond=-16]="TimestampMillisecond",e[e.TimestampMicrosecond=-17]="TimestampMicrosecond",e[e.TimestampNanosecond=-18]="TimestampNanosecond",e[e.TimeSecond=-19]="TimeSecond",e[e.TimeMillisecond=-20]="TimeMillisecond",e[e.TimeMicrosecond=-21]="TimeMicrosecond",e[e.TimeNanosecond=-22]="TimeNanosecond",e[e.DenseUnion=-23]="DenseUnion",e[e.SparseUnion=-24]="SparseUnion",e[e.IntervalDayTime=-25]="IntervalDayTime",e[e.IntervalYearMonth=-26]="IntervalYearMonth",e[e.DurationSecond=-27]="DurationSecond",e[e.DurationMillisecond=-28]="DurationMillisecond",e[e.DurationMicrosecond=-29]="DurationMicrosecond",e[e.DurationNanosecond=-30]="DurationNanosecond"})(B||(B={}));var Ni;(function(e){e[e.OFFSET=0]="OFFSET",e[e.DATA=1]="DATA",e[e.VALIDITY=2]="VALIDITY",e[e.TYPE=3]="TYPE"})(Ni||(Ni={}));var b2={};Tr(b2,{clampIndex:()=>wj,clampRange:()=>pd,createElementComparator:()=>Ia});var e2={};Tr(e2,{valueToString:()=>Oi});function Oi(e){if(e===null)return"null";if(e===void 0)return"undefined";switch(typeof e){case"number":return`${e}`;case"bigint":return`${e}`;case"string":return`"${e}"`}return typeof e[Symbol.toPrimitive]=="function"?e[Symbol.toPrimitive]("string"):ArrayBuffer.isView(e)?e instanceof BigInt64Array||e instanceof BigUint64Array?`[${[...e].map(t=>Oi(t))}]`:`[${e}]`:ArrayBuffer.isView(e)?`[${e}]`:JSON.stringify(e,(t,n)=>typeof n=="bigint"?`${n}`:n)}var r2={};Tr(r2,{BN:()=>nd,bigNumToBigInt:()=>wO,bigNumToString:()=>uu,isArrowBigNumSymbol:()=>xO});var xO=Symbol.for("isArrowBigNum");function Li(e,...t){return t.length===0?Object.setPrototypeOf(Ut(this.TypedArray,e),this.constructor.prototype):Object.setPrototypeOf(new this.TypedArray(e,...t),this.constructor.prototype)}Li.prototype[xO]=!0;Li.prototype.toJSON=function(){return`"${uu(this)}"`};Li.prototype.valueOf=function(){return bO(this)};Li.prototype.toString=function(){return uu(this)};Li.prototype[Symbol.toPrimitive]=function(e="default"){switch(e){case"number":return bO(this);case"string":return uu(this);case"default":return wO(this)}return uu(this)};function cu(...e){return Li.apply(this,e)}function lu(...e){return Li.apply(this,e)}function ed(...e){return Li.apply(this,e)}Object.setPrototypeOf(cu.prototype,Object.create(Int32Array.prototype));Object.setPrototypeOf(lu.prototype,Object.create(Uint32Array.prototype));Object.setPrototypeOf(ed.prototype,Object.create(Uint32Array.prototype));Object.assign(cu.prototype,Li.prototype,{constructor:cu,signed:!0,TypedArray:Int32Array,BigIntArray:BigInt64Array});Object.assign(lu.prototype,Li.prototype,{constructor:lu,signed:!1,TypedArray:Uint32Array,BigIntArray:BigUint64Array});Object.assign(ed.prototype,Li.prototype,{constructor:ed,signed:!0,TypedArray:Uint32Array,BigIntArray:BigUint64Array});function bO(e){let{buffer:t,byteOffset:n,length:r,signed:i}=e,o=new BigUint64Array(t,n,r),s=i&&o.at(-1)&BigInt(1)<<BigInt(63),a=BigInt(s?1:0),c=BigInt(0);if(s){for(let l of o)a+=~l*(BigInt(1)<<BigInt(32)*c++);a*=BigInt(-1)}else for(let l of o)a+=l*(BigInt(1)<<BigInt(32)*c++);return a}var uu=e=>{if(e.byteLength===8)return`${new e.BigIntArray(e.buffer,e.byteOffset,1)[0]}`;if(!e.signed)return n2(e);let t=new Uint16Array(e.buffer,e.byteOffset,e.byteLength/2);if(new Int16Array([t.at(-1)])[0]>=0)return n2(e);t=t.slice();let r=1;for(let o=0;o<t.length;o++){let s=t[o],a=~s+r;t[o]=a,r&=s===0?1:0}return`-${n2(t)}`},wO=e=>e.byteLength===8?new e.BigIntArray(e.buffer,e.byteOffset,1)[0]:uu(e);function n2(e){let t="",n=new Uint32Array(2),r=new Uint16Array(e.buffer,e.byteOffset,e.byteLength/2),i=new Uint32Array((r=new Uint16Array(r).reverse()).buffer),o=-1,s=r.length-1;do{for(n[0]=r[o=0];o<s;)r[o++]=n[1]=n[0]/10,n[0]=(n[0]-n[1]*10<<16)+r[o];r[o]=n[1]=n[0]/10,n[0]=n[0]-n[1]*10,t=`${n[0]}${t}`}while(i[0]||i[1]||i[2]||i[3]);return t??"0"}var nd=class e{static new(t,n){switch(n){case!0:return new cu(t);case!1:return new lu(t)}switch(t.constructor){case Int8Array:case Int16Array:case Int32Array:case BigInt64Array:return new cu(t)}return t.byteLength===16?new ed(t):new lu(t)}static signed(t){return new cu(t)}static unsigned(t){return new lu(t)}static decimal(t){return new ed(t)}constructor(t,n){return e.new(t,n)}};function Ne(e){if(typeof e=="bigint"&&(e<Number.MIN_SAFE_INTEGER||e>Number.MAX_SAFE_INTEGER))throw new TypeError(`${e} is not safe to convert to a number.`);return Number(e)}var vO,_O,SO,IO,MO,AO,TO,EO,DO,NO,OO,LO,BO,CO,kO,RO,FO,$O,PO,UO,zO,qO,H=class e{static isNull(t){return t?.typeId===B.Null}static isInt(t){return t?.typeId===B.Int}static isFloat(t){return t?.typeId===B.Float}static isBinary(t){return t?.typeId===B.Binary}static isLargeBinary(t){return t?.typeId===B.LargeBinary}static isUtf8(t){return t?.typeId===B.Utf8}static isLargeUtf8(t){return t?.typeId===B.LargeUtf8}static isBool(t){return t?.typeId===B.Bool}static isDecimal(t){return t?.typeId===B.Decimal}static isDate(t){return t?.typeId===B.Date}static isTime(t){return t?.typeId===B.Time}static isTimestamp(t){return t?.typeId===B.Timestamp}static isInterval(t){return t?.typeId===B.Interval}static isDuration(t){return t?.typeId===B.Duration}static isList(t){return t?.typeId===B.List}static isStruct(t){return t?.typeId===B.Struct}static isUnion(t){return t?.typeId===B.Union}static isFixedSizeBinary(t){return t?.typeId===B.FixedSizeBinary}static isFixedSizeList(t){return t?.typeId===B.FixedSizeList}static isMap(t){return t?.typeId===B.Map}static isDictionary(t){return t?.typeId===B.Dictionary}static isDenseUnion(t){return e.isUnion(t)&&t.mode===xe.Dense}static isSparseUnion(t){return e.isUnion(t)&&t.mode===xe.Sparse}constructor(t){this.typeId=t}};vO=Symbol.toStringTag;H[vO]=(e=>(e.children=null,e.ArrayType=Array,e.OffsetArrayType=Int32Array,e[Symbol.toStringTag]="DataType"))(H.prototype);var Rn=class extends H{constructor(){super(B.Null)}toString(){return"Null"}};_O=Symbol.toStringTag;Rn[_O]=(e=>e[Symbol.toStringTag]="Null")(Rn.prototype);var ke=class extends H{constructor(t,n){super(B.Int),this.isSigned=t,this.bitWidth=n}get ArrayType(){switch(this.bitWidth){case 8:return this.isSigned?Int8Array:Uint8Array;case 16:return this.isSigned?Int16Array:Uint16Array;case 32:return this.isSigned?Int32Array:Uint32Array;case 64:return this.isSigned?BigInt64Array:BigUint64Array}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}toString(){return`${this.isSigned?"I":"Ui"}nt${this.bitWidth}`}};SO=Symbol.toStringTag;ke[SO]=(e=>(e.isSigned=null,e.bitWidth=null,e[Symbol.toStringTag]="Int"))(ke.prototype);var rd=class extends ke{constructor(){super(!0,8)}get ArrayType(){return Int8Array}},id=class extends ke{constructor(){super(!0,16)}get ArrayType(){return Int16Array}},Bi=class extends ke{constructor(){super(!0,32)}get ArrayType(){return Int32Array}},od=class extends ke{constructor(){super(!0,64)}get ArrayType(){return BigInt64Array}},sd=class extends ke{constructor(){super(!1,8)}get ArrayType(){return Uint8Array}},ad=class extends ke{constructor(){super(!1,16)}get ArrayType(){return Uint16Array}},cd=class extends ke{constructor(){super(!1,32)}get ArrayType(){return Uint32Array}},ld=class extends ke{constructor(){super(!1,64)}get ArrayType(){return BigUint64Array}};Object.defineProperty(rd.prototype,"ArrayType",{value:Int8Array});Object.defineProperty(id.prototype,"ArrayType",{value:Int16Array});Object.defineProperty(Bi.prototype,"ArrayType",{value:Int32Array});Object.defineProperty(od.prototype,"ArrayType",{value:BigInt64Array});Object.defineProperty(sd.prototype,"ArrayType",{value:Uint8Array});Object.defineProperty(ad.prototype,"ArrayType",{value:Uint16Array});Object.defineProperty(cd.prototype,"ArrayType",{value:Uint32Array});Object.defineProperty(ld.prototype,"ArrayType",{value:BigUint64Array});var Wn=class extends H{constructor(t){super(B.Float),this.precision=t}get ArrayType(){switch(this.precision){case pe.HALF:return Uint16Array;case pe.SINGLE:return Float32Array;case pe.DOUBLE:return Float64Array}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}toString(){return`Float${this.precision<<5||16}`}};IO=Symbol.toStringTag;Wn[IO]=(e=>(e.precision=null,e[Symbol.toStringTag]="Float"))(Wn.prototype);var ud=class extends Wn{constructor(){super(pe.HALF)}},fd=class extends Wn{constructor(){super(pe.SINGLE)}},hd=class extends Wn{constructor(){super(pe.DOUBLE)}};Object.defineProperty(ud.prototype,"ArrayType",{value:Uint16Array});Object.defineProperty(fd.prototype,"ArrayType",{value:Float32Array});Object.defineProperty(hd.prototype,"ArrayType",{value:Float64Array});var io=class extends H{constructor(){super(B.Binary)}toString(){return"Binary"}};MO=Symbol.toStringTag;io[MO]=(e=>(e.ArrayType=Uint8Array,e[Symbol.toStringTag]="Binary"))(io.prototype);var oo=class extends H{constructor(){super(B.LargeBinary)}toString(){return"LargeBinary"}};AO=Symbol.toStringTag;oo[AO]=(e=>(e.ArrayType=Uint8Array,e.OffsetArrayType=BigInt64Array,e[Symbol.toStringTag]="LargeBinary"))(oo.prototype);var so=class extends H{constructor(){super(B.Utf8)}toString(){return"Utf8"}};TO=Symbol.toStringTag;so[TO]=(e=>(e.ArrayType=Uint8Array,e[Symbol.toStringTag]="Utf8"))(so.prototype);var ao=class extends H{constructor(){super(B.LargeUtf8)}toString(){return"LargeUtf8"}};EO=Symbol.toStringTag;ao[EO]=(e=>(e.ArrayType=Uint8Array,e.OffsetArrayType=BigInt64Array,e[Symbol.toStringTag]="LargeUtf8"))(ao.prototype);var co=class extends H{constructor(){super(B.Bool)}toString(){return"Bool"}};DO=Symbol.toStringTag;co[DO]=(e=>(e.ArrayType=Uint8Array,e[Symbol.toStringTag]="Bool"))(co.prototype);var lo=class extends H{constructor(t,n,r=128){super(B.Decimal),this.scale=t,this.precision=n,this.bitWidth=r}toString(){return`Decimal[${this.precision}e${this.scale>0?"+":""}${this.scale}]`}};NO=Symbol.toStringTag;lo[NO]=(e=>(e.scale=null,e.precision=null,e.ArrayType=Uint32Array,e[Symbol.toStringTag]="Decimal"))(lo.prototype);var uo=class extends H{constructor(t){super(B.Date),this.unit=t}toString(){return`Date${(this.unit+1)*32}<${Ye[this.unit]}>`}};OO=Symbol.toStringTag;uo[OO]=(e=>(e.unit=null,e.ArrayType=Int32Array,e[Symbol.toStringTag]="Date"))(uo.prototype);var Jr=class extends H{constructor(t,n){super(B.Time),this.unit=t,this.bitWidth=n}toString(){return`Time${this.bitWidth}<${ct[this.unit]}>`}get ArrayType(){switch(this.bitWidth){case 32:return Int32Array;case 64:return BigInt64Array}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}};LO=Symbol.toStringTag;Jr[LO]=(e=>(e.unit=null,e.bitWidth=null,e[Symbol.toStringTag]="Time"))(Jr.prototype);var fo=class extends H{constructor(t,n){super(B.Timestamp),this.unit=t,this.timezone=n}toString(){return`Timestamp<${ct[this.unit]}${this.timezone?`, ${this.timezone}`:""}>`}};BO=Symbol.toStringTag;fo[BO]=(e=>(e.unit=null,e.timezone=null,e.ArrayType=Int32Array,e[Symbol.toStringTag]="Timestamp"))(fo.prototype);var ho=class extends H{constructor(t){super(B.Interval),this.unit=t}toString(){return`Interval<${un[this.unit]}>`}};CO=Symbol.toStringTag;ho[CO]=(e=>(e.unit=null,e.ArrayType=Int32Array,e[Symbol.toStringTag]="Interval"))(ho.prototype);var po=class extends H{constructor(t){super(B.Duration),this.unit=t}toString(){return`Duration<${ct[this.unit]}>`}};kO=Symbol.toStringTag;po[kO]=(e=>(e.unit=null,e.ArrayType=BigInt64Array,e[Symbol.toStringTag]="Duration"))(po.prototype);var Qr=class extends H{constructor(t){super(B.List),this.children=[t]}toString(){return`List<${this.valueType}>`}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get ArrayType(){return this.valueType.ArrayType}};RO=Symbol.toStringTag;Qr[RO]=(e=>(e.children=null,e[Symbol.toStringTag]="List"))(Qr.prototype);var be=class extends H{constructor(t){super(B.Struct),this.children=t}toString(){return`Struct<{${this.children.map(t=>`${t.name}:${t.type}`).join(", ")}}>`}};FO=Symbol.toStringTag;be[FO]=(e=>(e.children=null,e[Symbol.toStringTag]="Struct"))(be.prototype);var Kr=class extends H{constructor(t,n,r){super(B.Union),this.mode=t,this.children=r,this.typeIds=n=Int32Array.from(n),this.typeIdToChildIndex=n.reduce((i,o,s)=>(i[o]=s)&&i||i,Object.create(null))}toString(){return`${this[Symbol.toStringTag]}<${this.children.map(t=>`${t.type}`).join(" | ")}>`}};$O=Symbol.toStringTag;Kr[$O]=(e=>(e.mode=null,e.typeIds=null,e.children=null,e.typeIdToChildIndex=null,e.ArrayType=Int8Array,e[Symbol.toStringTag]="Union"))(Kr.prototype);var mo=class extends H{constructor(t){super(B.FixedSizeBinary),this.byteWidth=t}toString(){return`FixedSizeBinary[${this.byteWidth}]`}};PO=Symbol.toStringTag;mo[PO]=(e=>(e.byteWidth=null,e.ArrayType=Uint8Array,e[Symbol.toStringTag]="FixedSizeBinary"))(mo.prototype);var ti=class extends H{constructor(t,n){super(B.FixedSizeList),this.listSize=t,this.children=[n]}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get ArrayType(){return this.valueType.ArrayType}toString(){return`FixedSizeList[${this.listSize}]<${this.valueType}>`}};UO=Symbol.toStringTag;ti[UO]=(e=>(e.children=null,e.listSize=null,e[Symbol.toStringTag]="FixedSizeList"))(ti.prototype);var ei=class extends H{constructor(t,n=!1){var r,i,o;if(super(B.Map),this.children=[t],this.keysSorted=n,t&&(t.name="entries",!((r=t?.type)===null||r===void 0)&&r.children)){let s=(i=t?.type)===null||i===void 0?void 0:i.children[0];s&&(s.name="key");let a=(o=t?.type)===null||o===void 0?void 0:o.children[1];a&&(a.name="value")}}get keyType(){return this.children[0].type.children[0].type}get valueType(){return this.children[0].type.children[1].type}get childType(){return this.children[0].type}toString(){return`Map<{${this.children[0].type.children.map(t=>`${t.name}:${t.type}`).join(", ")}}>`}};zO=Symbol.toStringTag;ei[zO]=(e=>(e.children=null,e.keysSorted=null,e[Symbol.toStringTag]="Map_"))(ei.prototype);var Cq=(e=>()=>++e)(-1),pr=class extends H{constructor(t,n,r,i){super(B.Dictionary),this.indices=n,this.dictionary=t,this.isOrdered=i||!1,this.id=r==null?Cq():Ne(r)}get children(){return this.dictionary.children}get valueType(){return this.dictionary}get ArrayType(){return this.dictionary.ArrayType}toString(){return`Dictionary<${this.indices}, ${this.dictionary}>`}};qO=Symbol.toStringTag;pr[qO]=(e=>(e.id=null,e.indices=null,e.isOrdered=null,e.dictionary=null,e[Symbol.toStringTag]="Dictionary"))(pr.prototype);function Br(e){let t=e;switch(e.typeId){case B.Decimal:return e.bitWidth/32;case B.Timestamp:return 2;case B.Date:return 1+t.unit;case B.Interval:return 1+t.unit;case B.FixedSizeList:return t.listSize;case B.FixedSizeBinary:return t.byteWidth;default:return 1}}var mt=class{visitMany(t,...n){return t.map((r,i)=>this.visit(r,...n.map(o=>o[i])))}visit(...t){return this.getVisitFn(t[0],!1).apply(this,t)}getVisitFn(t,n=!0){return kq(this,t,n)}getVisitFnByTypeId(t,n=!0){return fu(this,t,n)}visitNull(t,...n){return null}visitBool(t,...n){return null}visitInt(t,...n){return null}visitFloat(t,...n){return null}visitUtf8(t,...n){return null}visitLargeUtf8(t,...n){return null}visitBinary(t,...n){return null}visitLargeBinary(t,...n){return null}visitFixedSizeBinary(t,...n){return null}visitDate(t,...n){return null}visitTimestamp(t,...n){return null}visitTime(t,...n){return null}visitDecimal(t,...n){return null}visitList(t,...n){return null}visitStruct(t,...n){return null}visitUnion(t,...n){return null}visitDictionary(t,...n){return null}visitInterval(t,...n){return null}visitDuration(t,...n){return null}visitFixedSizeList(t,...n){return null}visitMap(t,...n){return null}};function kq(e,t,n=!0){return typeof t=="number"?fu(e,t,n):typeof t=="string"&&t in B?fu(e,B[t],n):t&&t instanceof H?fu(e,jO(t),n):t?.type&&t.type instanceof H?fu(e,jO(t.type),n):fu(e,B.NONE,n)}function fu(e,t,n=!0){let r=null;switch(t){case B.Null:r=e.visitNull;break;case B.Bool:r=e.visitBool;break;case B.Int:r=e.visitInt;break;case B.Int8:r=e.visitInt8||e.visitInt;break;case B.Int16:r=e.visitInt16||e.visitInt;break;case B.Int32:r=e.visitInt32||e.visitInt;break;case B.Int64:r=e.visitInt64||e.visitInt;break;case B.Uint8:r=e.visitUint8||e.visitInt;break;case B.Uint16:r=e.visitUint16||e.visitInt;break;case B.Uint32:r=e.visitUint32||e.visitInt;break;case B.Uint64:r=e.visitUint64||e.visitInt;break;case B.Float:r=e.visitFloat;break;case B.Float16:r=e.visitFloat16||e.visitFloat;break;case B.Float32:r=e.visitFloat32||e.visitFloat;break;case B.Float64:r=e.visitFloat64||e.visitFloat;break;case B.Utf8:r=e.visitUtf8;break;case B.LargeUtf8:r=e.visitLargeUtf8;break;case B.Binary:r=e.visitBinary;break;case B.LargeBinary:r=e.visitLargeBinary;break;case B.FixedSizeBinary:r=e.visitFixedSizeBinary;break;case B.Date:r=e.visitDate;break;case B.DateDay:r=e.visitDateDay||e.visitDate;break;case B.DateMillisecond:r=e.visitDateMillisecond||e.visitDate;break;case B.Timestamp:r=e.visitTimestamp;break;case B.TimestampSecond:r=e.visitTimestampSecond||e.visitTimestamp;break;case B.TimestampMillisecond:r=e.visitTimestampMillisecond||e.visitTimestamp;break;case B.TimestampMicrosecond:r=e.visitTimestampMicrosecond||e.visitTimestamp;break;case B.TimestampNanosecond:r=e.visitTimestampNanosecond||e.visitTimestamp;break;case B.Time:r=e.visitTime;break;case B.TimeSecond:r=e.visitTimeSecond||e.visitTime;break;case B.TimeMillisecond:r=e.visitTimeMillisecond||e.visitTime;break;case B.TimeMicrosecond:r=e.visitTimeMicrosecond||e.visitTime;break;case B.TimeNanosecond:r=e.visitTimeNanosecond||e.visitTime;break;case B.Decimal:r=e.visitDecimal;break;case B.List:r=e.visitList;break;case B.Struct:r=e.visitStruct;break;case B.Union:r=e.visitUnion;break;case B.DenseUnion:r=e.visitDenseUnion||e.visitUnion;break;case B.SparseUnion:r=e.visitSparseUnion||e.visitUnion;break;case B.Dictionary:r=e.visitDictionary;break;case B.Interval:r=e.visitInterval;break;case B.IntervalDayTime:r=e.visitIntervalDayTime||e.visitInterval;break;case B.IntervalYearMonth:r=e.visitIntervalYearMonth||e.visitInterval;break;case B.Duration:r=e.visitDuration;break;case B.DurationSecond:r=e.visitDurationSecond||e.visitDuration;break;case B.DurationMillisecond:r=e.visitDurationMillisecond||e.visitDuration;break;case B.DurationMicrosecond:r=e.visitDurationMicrosecond||e.visitDuration;break;case B.DurationNanosecond:r=e.visitDurationNanosecond||e.visitDuration;break;case B.FixedSizeList:r=e.visitFixedSizeList;break;case B.Map:r=e.visitMap;break}if(typeof r=="function")return r;if(!n)return()=>null;throw new Error(`Unrecognized type '${B[t]}'`)}function jO(e){switch(e.typeId){case B.Null:return B.Null;case B.Int:{let{bitWidth:t,isSigned:n}=e;switch(t){case 8:return n?B.Int8:B.Uint8;case 16:return n?B.Int16:B.Uint16;case 32:return n?B.Int32:B.Uint32;case 64:return n?B.Int64:B.Uint64}return B.Int}case B.Float:switch(e.precision){case pe.HALF:return B.Float16;case pe.SINGLE:return B.Float32;case pe.DOUBLE:return B.Float64}return B.Float;case B.Binary:return B.Binary;case B.LargeBinary:return B.LargeBinary;case B.Utf8:return B.Utf8;case B.LargeUtf8:return B.LargeUtf8;case B.Bool:return B.Bool;case B.Decimal:return B.Decimal;case B.Time:switch(e.unit){case ct.SECOND:return B.TimeSecond;case ct.MILLISECOND:return B.TimeMillisecond;case ct.MICROSECOND:return B.TimeMicrosecond;case ct.NANOSECOND:return B.TimeNanosecond}return B.Time;case B.Timestamp:switch(e.unit){case ct.SECOND:return B.TimestampSecond;case ct.MILLISECOND:return B.TimestampMillisecond;case ct.MICROSECOND:return B.TimestampMicrosecond;case ct.NANOSECOND:return B.TimestampNanosecond}return B.Timestamp;case B.Date:switch(e.unit){case Ye.DAY:return B.DateDay;case Ye.MILLISECOND:return B.DateMillisecond}return B.Date;case B.Interval:switch(e.unit){case un.DAY_TIME:return B.IntervalDayTime;case un.YEAR_MONTH:return B.IntervalYearMonth}return B.Interval;case B.Duration:switch(e.unit){case ct.SECOND:return B.DurationSecond;case ct.MILLISECOND:return B.DurationMillisecond;case ct.MICROSECOND:return B.DurationMicrosecond;case ct.NANOSECOND:return B.DurationNanosecond}return B.Duration;case B.Map:return B.Map;case B.List:return B.List;case B.Struct:return B.Struct;case B.Union:switch(e.mode){case xe.Dense:return B.DenseUnion;case xe.Sparse:return B.SparseUnion}return B.Union;case B.FixedSizeBinary:return B.FixedSizeBinary;case B.FixedSizeList:return B.FixedSizeList;case B.Dictionary:return B.Dictionary}throw new Error(`Unrecognized type '${B[e.typeId]}'`)}mt.prototype.visitInt8=null;mt.prototype.visitInt16=null;mt.prototype.visitInt32=null;mt.prototype.visitInt64=null;mt.prototype.visitUint8=null;mt.prototype.visitUint16=null;mt.prototype.visitUint32=null;mt.prototype.visitUint64=null;mt.prototype.visitFloat16=null;mt.prototype.visitFloat32=null;mt.prototype.visitFloat64=null;mt.prototype.visitDateDay=null;mt.prototype.visitDateMillisecond=null;mt.prototype.visitTimestampSecond=null;mt.prototype.visitTimestampMillisecond=null;mt.prototype.visitTimestampMicrosecond=null;mt.prototype.visitTimestampNanosecond=null;mt.prototype.visitTimeSecond=null;mt.prototype.visitTimeMillisecond=null;mt.prototype.visitTimeMicrosecond=null;mt.prototype.visitTimeNanosecond=null;mt.prototype.visitDenseUnion=null;mt.prototype.visitSparseUnion=null;mt.prototype.visitIntervalDayTime=null;mt.prototype.visitIntervalYearMonth=null;mt.prototype.visitDuration=null;mt.prototype.visitDurationSecond=null;mt.prototype.visitDurationMillisecond=null;mt.prototype.visitDurationMicrosecond=null;mt.prototype.visitDurationNanosecond=null;var i2={};Tr(i2,{float64ToUint16:()=>dd,uint16ToFloat64:()=>jg});var VO=new Float64Array(1),hu=new Uint32Array(VO.buffer);function jg(e){let t=(e&31744)>>10,n=(e&1023)/1024,r=Math.pow(-1,(e&32768)>>15);switch(t){case 31:return r*(n?Number.NaN:1/0);case 0:return r*(n?6103515625e-14*n:0)}return r*Math.pow(2,t-15)*(1+n)}function dd(e){if(e!==e)return 32256;VO[0]=e;let t=(hu[1]&2147483648)>>16&65535,n=hu[1]&2146435072,r=0;return n>=1089470464?hu[0]>0?n=31744:(n=(n&2080374784)>>16,r=(hu[1]&1048575)>>10):n<=1056964608?(r=1048576+(hu[1]&1048575),r=1048576+(r<<(n>>20)-998)>>21,n=0):(n=n-1056964608>>10,r=(hu[1]&1048575)+512>>10),t|n|r&65535}var vt=class extends mt{};function Tt(e){return(t,n,r)=>{if(t.setValid(n,r!=null))return e(t,n,r)}}var Rq=(e,t,n)=>{e[t]=Math.trunc(n/864e5)},o2=(e,t,n)=>{e[t]=Math.trunc(n%4294967296),e[t+1]=Math.trunc(n/4294967296)},Fq=(e,t,n)=>{e[t]=Math.trunc(n*1e3%4294967296),e[t+1]=Math.trunc(n*1e3/4294967296)},$q=(e,t,n)=>{e[t]=Math.trunc(n*1e6%4294967296),e[t+1]=Math.trunc(n*1e6/4294967296)},YO=(e,t,n,r)=>{if(n+1<t.length){let i=Ne(t[n]),o=Ne(t[n+1]);e.set(r.subarray(0,o-i),i)}},Pq=({offset:e,values:t},n,r)=>{let i=e+n;r?t[i>>3]|=1<<i%8:t[i>>3]&=~(1<<i%8)},ls=({values:e},t,n)=>{e[t]=n},s2=({values:e},t,n)=>{e[t]=n},XO=({values:e},t,n)=>{e[t]=dd(n)},Uq=(e,t,n)=>{switch(e.type.precision){case pe.HALF:return XO(e,t,n);case pe.SINGLE:case pe.DOUBLE:return s2(e,t,n)}},Vg=({values:e},t,n)=>{Rq(e,t,n.valueOf())},Yg=({values:e},t,n)=>{o2(e,t*2,n.valueOf())},a2=({stride:e,values:t},n,r)=>{t.set(r.subarray(0,e),e*n)},GO=({values:e,valueOffsets:t},n,r)=>YO(e,t,n,r),WO=({values:e,valueOffsets:t},n,r)=>YO(e,t,n,Ki(r)),c2=(e,t,n)=>{e.type.unit===Ye.DAY?Vg(e,t,n):Yg(e,t,n)},Xg=({values:e},t,n)=>o2(e,t*2,n/1e3),Gg=({values:e},t,n)=>o2(e,t*2,n),Wg=({values:e},t,n)=>Fq(e,t*2,n),Hg=({values:e},t,n)=>$q(e,t*2,n),l2=(e,t,n)=>{switch(e.type.unit){case ct.SECOND:return Xg(e,t,n);case ct.MILLISECOND:return Gg(e,t,n);case ct.MICROSECOND:return Wg(e,t,n);case ct.NANOSECOND:return Hg(e,t,n)}},Zg=({values:e},t,n)=>{e[t]=n},Jg=({values:e},t,n)=>{e[t]=n},Qg=({values:e},t,n)=>{e[t]=n},Kg=({values:e},t,n)=>{e[t]=n},u2=(e,t,n)=>{switch(e.type.unit){case ct.SECOND:return Zg(e,t,n);case ct.MILLISECOND:return Jg(e,t,n);case ct.MICROSECOND:return Qg(e,t,n);case ct.NANOSECOND:return Kg(e,t,n)}},f2=({values:e,stride:t},n,r)=>{e.set(r.subarray(0,t),t*n)},zq=(e,t,n)=>{let r=e.children[0],i=e.valueOffsets,o=Sn.getVisitFn(r);if(Array.isArray(n))for(let s=-1,a=i[t],c=i[t+1];a<c;)o(r,a++,n[++s]);else for(let s=-1,a=i[t],c=i[t+1];a<c;)o(r,a++,n.get(++s))},qq=(e,t,n)=>{let r=e.children[0],{valueOffsets:i}=e,o=Sn.getVisitFn(r),{[t]:s,[t+1]:a}=i,c=n instanceof Map?n.entries():Object.entries(n);for(let l of c)if(o(r,s,l),++s>=a)break},jq=(e,t)=>(n,r,i,o)=>r&&n(r,e,t[o]),Vq=(e,t)=>(n,r,i,o)=>r&&n(r,e,t.get(o)),Yq=(e,t)=>(n,r,i,o)=>r&&n(r,e,t.get(i.name)),Xq=(e,t)=>(n,r,i,o)=>r&&n(r,e,t[i.name]),Gq=(e,t,n)=>{let r=e.type.children.map(o=>Sn.getVisitFn(o.type)),i=n instanceof Map?Yq(t,n):n instanceof Gt?Vq(t,n):Array.isArray(n)?jq(t,n):Xq(t,n);e.type.children.forEach((o,s)=>i(r[s],e.children[s],o,s))},Wq=(e,t,n)=>{e.type.mode===xe.Dense?HO(e,t,n):ZO(e,t,n)},HO=(e,t,n)=>{let r=e.type.typeIdToChildIndex[e.typeIds[t]],i=e.children[r];Sn.visit(i,e.valueOffsets[t],n)},ZO=(e,t,n)=>{let r=e.type.typeIdToChildIndex[e.typeIds[t]],i=e.children[r];Sn.visit(i,t,n)},Hq=(e,t,n)=>{var r;(r=e.dictionary)===null||r===void 0||r.set(e.values[t],n)},h2=(e,t,n)=>{e.type.unit===un.DAY_TIME?t0(e,t,n):e0(e,t,n)},t0=({values:e},t,n)=>{e.set(n.subarray(0,2),2*t)},e0=({values:e},t,n)=>{e[t]=n[0]*12+n[1]%12},n0=({values:e},t,n)=>{e[t]=n},r0=({values:e},t,n)=>{e[t]=n},i0=({values:e},t,n)=>{e[t]=n},o0=({values:e},t,n)=>{e[t]=n},d2=(e,t,n)=>{switch(e.type.unit){case ct.SECOND:return n0(e,t,n);case ct.MILLISECOND:return r0(e,t,n);case ct.MICROSECOND:return i0(e,t,n);case ct.NANOSECOND:return o0(e,t,n)}},Zq=(e,t,n)=>{let{stride:r}=e,i=e.children[0],o=Sn.getVisitFn(i);if(Array.isArray(n))for(let s=-1,a=t*r;++s<r;)o(i,a+s,n[s]);else for(let s=-1,a=t*r;++s<r;)o(i,a+s,n.get(s))};vt.prototype.visitBool=Tt(Pq);vt.prototype.visitInt=Tt(ls);vt.prototype.visitInt8=Tt(ls);vt.prototype.visitInt16=Tt(ls);vt.prototype.visitInt32=Tt(ls);vt.prototype.visitInt64=Tt(ls);vt.prototype.visitUint8=Tt(ls);vt.prototype.visitUint16=Tt(ls);vt.prototype.visitUint32=Tt(ls);vt.prototype.visitUint64=Tt(ls);vt.prototype.visitFloat=Tt(Uq);vt.prototype.visitFloat16=Tt(XO);vt.prototype.visitFloat32=Tt(s2);vt.prototype.visitFloat64=Tt(s2);vt.prototype.visitUtf8=Tt(WO);vt.prototype.visitLargeUtf8=Tt(WO);vt.prototype.visitBinary=Tt(GO);vt.prototype.visitLargeBinary=Tt(GO);vt.prototype.visitFixedSizeBinary=Tt(a2);vt.prototype.visitDate=Tt(c2);vt.prototype.visitDateDay=Tt(Vg);vt.prototype.visitDateMillisecond=Tt(Yg);vt.prototype.visitTimestamp=Tt(l2);vt.prototype.visitTimestampSecond=Tt(Xg);vt.prototype.visitTimestampMillisecond=Tt(Gg);vt.prototype.visitTimestampMicrosecond=Tt(Wg);vt.prototype.visitTimestampNanosecond=Tt(Hg);vt.prototype.visitTime=Tt(u2);vt.prototype.visitTimeSecond=Tt(Zg);vt.prototype.visitTimeMillisecond=Tt(Jg);vt.prototype.visitTimeMicrosecond=Tt(Qg);vt.prototype.visitTimeNanosecond=Tt(Kg);vt.prototype.visitDecimal=Tt(f2);vt.prototype.visitList=Tt(zq);vt.prototype.visitStruct=Tt(Gq);vt.prototype.visitUnion=Tt(Wq);vt.prototype.visitDenseUnion=Tt(HO);vt.prototype.visitSparseUnion=Tt(ZO);vt.prototype.visitDictionary=Tt(Hq);vt.prototype.visitInterval=Tt(h2);vt.prototype.visitIntervalDayTime=Tt(t0);vt.prototype.visitIntervalYearMonth=Tt(e0);vt.prototype.visitDuration=Tt(d2);vt.prototype.visitDurationSecond=Tt(n0);vt.prototype.visitDurationMillisecond=Tt(r0);vt.prototype.visitDurationMicrosecond=Tt(i0);vt.prototype.visitDurationNanosecond=Tt(o0);vt.prototype.visitFixedSizeList=Tt(Zq);vt.prototype.visitMap=Tt(qq);var Sn=new vt;var Ci=Symbol.for("parent"),du=Symbol.for("rowIndex"),_a=class{constructor(t,n){return this[Ci]=t,this[du]=n,new Proxy(this,new m2)}toArray(){return Object.values(this.toJSON())}toJSON(){let t=this[du],n=this[Ci],r=n.type.children,i={};for(let o=-1,s=r.length;++o<s;)i[r[o].name]=Xe.visit(n.children[o],t);return i}toString(){return`{${[...this].map(([t,n])=>`${Oi(t)}: ${Oi(n)}`).join(", ")}}`}[Symbol.for("nodejs.util.inspect.custom")](){return this.toString()}[Symbol.iterator](){return new p2(this[Ci],this[du])}},p2=class{constructor(t,n){this.childIndex=0,this.children=t.children,this.rowIndex=n,this.childFields=t.type.children,this.numChildren=this.childFields.length}[Symbol.iterator](){return this}next(){let t=this.childIndex;return t<this.numChildren?(this.childIndex=t+1,{done:!1,value:[this.childFields[t].name,Xe.visit(this.children[t],this.rowIndex)]}):{done:!0,value:null}}};Object.defineProperties(_a.prototype,{[Symbol.toStringTag]:{enumerable:!1,configurable:!1,value:"Row"},[Ci]:{writable:!0,enumerable:!1,configurable:!1,value:null},[du]:{writable:!0,enumerable:!1,configurable:!1,value:-1}});var m2=class{isExtensible(){return!1}deleteProperty(){return!1}preventExtensions(){return!0}ownKeys(t){return t[Ci].type.children.map(n=>n.name)}has(t,n){return t[Ci].type.children.findIndex(r=>r.name===n)!==-1}getOwnPropertyDescriptor(t,n){if(t[Ci].type.children.findIndex(r=>r.name===n)!==-1)return{writable:!0,enumerable:!0,configurable:!0}}get(t,n){if(Reflect.has(t,n))return t[n];let r=t[Ci].type.children.findIndex(i=>i.name===n);if(r!==-1){let i=Xe.visit(t[Ci].children[r],t[du]);return Reflect.set(t,n,i),i}}set(t,n,r){let i=t[Ci].type.children.findIndex(o=>o.name===n);return i!==-1?(Sn.visit(t[Ci].children[i],t[du],r),Reflect.set(t,n,r)):Reflect.has(t,n)||typeof n=="symbol"?Reflect.set(t,n,r):!1}};var yt=class extends mt{};function It(e){return(t,n)=>t.getValid(n)?e(t,n):null}var Jq=(e,t)=>864e5*e[t],y2=(e,t)=>4294967296*e[t+1]+(e[t]>>>0),Qq=(e,t)=>4294967296*(e[t+1]/1e3)+(e[t]>>>0)/1e3,Kq=(e,t)=>4294967296*(e[t+1]/1e6)+(e[t]>>>0)/1e6,JO=e=>new Date(e),tj=(e,t)=>JO(Jq(e,t)),ej=(e,t)=>JO(y2(e,t)),nj=(e,t)=>null,QO=(e,t,n)=>{if(n+1>=t.length)return null;let r=Ne(t[n]),i=Ne(t[n+1]);return e.subarray(r,i)},rj=({offset:e,values:t},n)=>{let r=e+n;return(t[r>>3]&1<<r%8)!==0},KO=({values:e},t)=>tj(e,t),t5=({values:e},t)=>ej(e,t*2),Sa=({stride:e,values:t},n)=>t[e*n],ij=({stride:e,values:t},n)=>jg(t[e*n]),e5=({values:e},t)=>e[t],oj=({stride:e,values:t},n)=>t.subarray(e*n,e*(n+1)),n5=({values:e,valueOffsets:t},n)=>QO(e,t,n),r5=({values:e,valueOffsets:t},n)=>{let r=QO(e,t,n);return r!==null?Uh(r):null},sj=({values:e},t)=>e[t],aj=({type:e,values:t},n)=>e.precision!==pe.HALF?t[n]:jg(t[n]),cj=(e,t)=>e.type.unit===Ye.DAY?KO(e,t):t5(e,t),i5=({values:e},t)=>1e3*y2(e,t*2),o5=({values:e},t)=>y2(e,t*2),s5=({values:e},t)=>Qq(e,t*2),a5=({values:e},t)=>Kq(e,t*2),lj=(e,t)=>{switch(e.type.unit){case ct.SECOND:return i5(e,t);case ct.MILLISECOND:return o5(e,t);case ct.MICROSECOND:return s5(e,t);case ct.NANOSECOND:return a5(e,t)}},c5=({values:e},t)=>e[t],l5=({values:e},t)=>e[t],u5=({values:e},t)=>e[t],f5=({values:e},t)=>e[t],uj=(e,t)=>{switch(e.type.unit){case ct.SECOND:return c5(e,t);case ct.MILLISECOND:return l5(e,t);case ct.MICROSECOND:return u5(e,t);case ct.NANOSECOND:return f5(e,t)}},fj=({values:e,stride:t},n)=>nd.decimal(e.subarray(t*n,t*(n+1))),hj=(e,t)=>{let{valueOffsets:n,stride:r,children:i}=e,{[t*r]:o,[t*r+1]:s}=n,c=i[0].slice(o,s-o);return new Gt([c])},dj=(e,t)=>{let{valueOffsets:n,children:r}=e,{[t]:i,[t+1]:o}=n,s=r[0];return new yo(s.slice(i,o-i))},pj=(e,t)=>new _a(e,t),mj=(e,t)=>e.type.mode===xe.Dense?h5(e,t):d5(e,t),h5=(e,t)=>{let n=e.type.typeIdToChildIndex[e.typeIds[t]],r=e.children[n];return Xe.visit(r,e.valueOffsets[t])},d5=(e,t)=>{let n=e.type.typeIdToChildIndex[e.typeIds[t]],r=e.children[n];return Xe.visit(r,t)},yj=(e,t)=>{var n;return(n=e.dictionary)===null||n===void 0?void 0:n.get(e.values[t])},gj=(e,t)=>e.type.unit===un.DAY_TIME?p5(e,t):m5(e,t),p5=({values:e},t)=>e.subarray(2*t,2*(t+1)),m5=({values:e},t)=>{let n=e[t],r=new Int32Array(2);return r[0]=Math.trunc(n/12),r[1]=Math.trunc(n%12),r},y5=({values:e},t)=>e[t],g5=({values:e},t)=>e[t],x5=({values:e},t)=>e[t],b5=({values:e},t)=>e[t],xj=(e,t)=>{switch(e.type.unit){case ct.SECOND:return y5(e,t);case ct.MILLISECOND:return g5(e,t);case ct.MICROSECOND:return x5(e,t);case ct.NANOSECOND:return b5(e,t)}},bj=(e,t)=>{let{stride:n,children:r}=e,o=r[0].slice(t*n,n);return new Gt([o])};yt.prototype.visitNull=It(nj);yt.prototype.visitBool=It(rj);yt.prototype.visitInt=It(sj);yt.prototype.visitInt8=It(Sa);yt.prototype.visitInt16=It(Sa);yt.prototype.visitInt32=It(Sa);yt.prototype.visitInt64=It(e5);yt.prototype.visitUint8=It(Sa);yt.prototype.visitUint16=It(Sa);yt.prototype.visitUint32=It(Sa);yt.prototype.visitUint64=It(e5);yt.prototype.visitFloat=It(aj);yt.prototype.visitFloat16=It(ij);yt.prototype.visitFloat32=It(Sa);yt.prototype.visitFloat64=It(Sa);yt.prototype.visitUtf8=It(r5);yt.prototype.visitLargeUtf8=It(r5);yt.prototype.visitBinary=It(n5);yt.prototype.visitLargeBinary=It(n5);yt.prototype.visitFixedSizeBinary=It(oj);yt.prototype.visitDate=It(cj);yt.prototype.visitDateDay=It(KO);yt.prototype.visitDateMillisecond=It(t5);yt.prototype.visitTimestamp=It(lj);yt.prototype.visitTimestampSecond=It(i5);yt.prototype.visitTimestampMillisecond=It(o5);yt.prototype.visitTimestampMicrosecond=It(s5);yt.prototype.visitTimestampNanosecond=It(a5);yt.prototype.visitTime=It(uj);yt.prototype.visitTimeSecond=It(c5);yt.prototype.visitTimeMillisecond=It(l5);yt.prototype.visitTimeMicrosecond=It(u5);yt.prototype.visitTimeNanosecond=It(f5);yt.prototype.visitDecimal=It(fj);yt.prototype.visitList=It(hj);yt.prototype.visitStruct=It(pj);yt.prototype.visitUnion=It(mj);yt.prototype.visitDenseUnion=It(h5);yt.prototype.visitSparseUnion=It(d5);yt.prototype.visitDictionary=It(yj);yt.prototype.visitInterval=It(gj);yt.prototype.visitIntervalDayTime=It(p5);yt.prototype.visitIntervalYearMonth=It(m5);yt.prototype.visitDuration=It(xj);yt.prototype.visitDurationSecond=It(y5);yt.prototype.visitDurationMillisecond=It(g5);yt.prototype.visitDurationMicrosecond=It(x5);yt.prototype.visitDurationNanosecond=It(b5);yt.prototype.visitFixedSizeList=It(bj);yt.prototype.visitMap=It(dj);var Xe=new yt;var ni=Symbol.for("keys"),pu=Symbol.for("vals"),yo=class{constructor(t){return this[ni]=new Gt([t.children[0]]).memoize(),this[pu]=t.children[1],new Proxy(this,new x2)}[Symbol.iterator](){return new g2(this[ni],this[pu])}get size(){return this[ni].length}toArray(){return Object.values(this.toJSON())}toJSON(){let t=this[ni],n=this[pu],r={};for(let i=-1,o=t.length;++i<o;)r[t.get(i)]=Xe.visit(n,i);return r}toString(){return`{${[...this].map(([t,n])=>`${Oi(t)}: ${Oi(n)}`).join(", ")}}`}[Symbol.for("nodejs.util.inspect.custom")](){return this.toString()}},g2=class{constructor(t,n){this.keys=t,this.vals=n,this.keyIndex=0,this.numKeys=t.length}[Symbol.iterator](){return this}next(){let t=this.keyIndex;return t===this.numKeys?{done:!0,value:null}:(this.keyIndex++,{done:!1,value:[this.keys.get(t),Xe.visit(this.vals,t)]})}},x2=class{isExtensible(){return!1}deleteProperty(){return!1}preventExtensions(){return!0}ownKeys(t){return t[ni].toArray().map(String)}has(t,n){return t[ni].includes(n)}getOwnPropertyDescriptor(t,n){if(t[ni].indexOf(n)!==-1)return{writable:!0,enumerable:!0,configurable:!0}}get(t,n){if(Reflect.has(t,n))return t[n];let r=t[ni].indexOf(n);if(r!==-1){let i=Xe.visit(Reflect.get(t,pu),r);return Reflect.set(t,n,i),i}}set(t,n,r){let i=t[ni].indexOf(n);return i!==-1?(Sn.visit(Reflect.get(t,pu),i,r),Reflect.set(t,n,r)):Reflect.has(t,n)?Reflect.set(t,n,r):!1}};Object.defineProperties(yo.prototype,{[Symbol.toStringTag]:{enumerable:!1,configurable:!1,value:"Row"},[ni]:{writable:!0,enumerable:!1,configurable:!1,value:null},[pu]:{writable:!0,enumerable:!1,configurable:!1,value:null}});function wj(e,t,n){let r=e.length,i=t>-1?t:r+t%r;return n?n(e,i):i}var w5;function pd(e,t,n,r){let{length:i=0}=e,o=typeof t!="number"?0:t,s=typeof n!="number"?i:n;return o<0&&(o=(o%i+i)%i),s<0&&(s=(s%i+i)%i),s<o&&(w5=o,o=s,s=w5),s>i&&(s=i),r?r(e,o,s):[o,s]}var v5=e=>e!==e;function Ia(e){if(typeof e!=="object"||e===null)return v5(e)?v5:n=>n===e;if(e instanceof Date){let n=e.valueOf();return r=>r instanceof Date?r.valueOf()===n:!1}return ArrayBuffer.isView(e)?n=>n?J_(e,n):!1:e instanceof Map?_j(e):Array.isArray(e)?vj(e):e instanceof Gt?Sj(e):Ij(e,!0)}function vj(e){let t=[];for(let n=-1,r=e.length;++n<r;)t[n]=Ia(e[n]);return s0(t)}function _j(e){let t=-1,n=[];for(let r of e.values())n[++t]=Ia(r);return s0(n)}function Sj(e){let t=[];for(let n=-1,r=e.length;++n<r;)t[n]=Ia(e.get(n));return s0(t)}function Ij(e,t=!1){let n=Object.keys(e);if(!t&&n.length===0)return()=>!1;let r=[];for(let i=-1,o=n.length;++i<o;)r[i]=Ia(e[n[i]]);return s0(r,n)}function s0(e,t){return n=>{if(!n||typeof n!="object")return!1;switch(n.constructor){case Array:return Mj(e,n);case Map:return _5(e,n,n.keys());case yo:case _a:case Object:case void 0:return _5(e,n,t||Object.keys(n))}return n instanceof Gt?Aj(e,n):!1}}function Mj(e,t){let n=e.length;if(t.length!==n)return!1;for(let r=-1;++r<n;)if(!e[r](t[r]))return!1;return!0}function Aj(e,t){let n=e.length;if(t.length!==n)return!1;for(let r=-1;++r<n;)if(!e[r](t.get(r)))return!1;return!0}function _5(e,t,n){let r=n[Symbol.iterator](),i=t instanceof Map?t.keys():Object.keys(t)[Symbol.iterator](),o=t instanceof Map?t.values():Object.values(t)[Symbol.iterator](),s=0,a=e.length,c=o.next(),l=r.next(),u=i.next();for(;s<a&&!l.done&&!u.done&&!c.done&&!(l.value!==u.value||!e[s](c.value));++s,l=r.next(),u=i.next(),c=o.next());return s===a&&l.done&&u.done&&c.done?!0:(r.return&&r.return(),i.return&&i.return(),o.return&&o.return(),!1)}var w2={};Tr(w2,{BitIterator:()=>Ac,getBit:()=>S5,getBool:()=>c0,packBools:()=>Ec,popcnt_array:()=>I5,popcnt_bit_range:()=>md,popcnt_uint32:()=>a0,setBool:()=>Tj,truncateBitmap:()=>Tc});function c0(e,t,n,r){return(n&1<<r)!==0}function S5(e,t,n,r){return(n&1<<r)>>r}function Tj(e,t,n){return n?!!(e[t>>3]|=1<<t%8)||!0:!(e[t>>3]&=~(1<<t%8))&&!1}function Tc(e,t,n){let r=n.byteLength+7&-8;if(e>0||n.byteLength<r){let i=new Uint8Array(r);return i.set(e%8===0?n.subarray(e>>3):Ec(new Ac(n,e,t,null,c0)).subarray(0,r)),i}return n}function Ec(e){let t=[],n=0,r=0,i=0;for(let s of e)s&&(i|=1<<r),++r===8&&(t[n++]=i,i=r=0);(n===0||r>0)&&(t[n++]=i);let o=new Uint8Array(t.length+7&-8);return o.set(t),o}var Ac=class{constructor(t,n,r,i,o){this.bytes=t,this.length=r,this.context=i,this.get=o,this.bit=n%8,this.byteIndex=n>>3,this.byte=t[this.byteIndex++],this.index=0}next(){return this.index<this.length?(this.bit===8&&(this.bit=0,this.byte=this.bytes[this.byteIndex++]),{value:this.get(this.context,this.index++,this.byte,this.bit++)}):{done:!0,value:null}}[Symbol.iterator](){return this}};function md(e,t,n){if(n-t<=0)return 0;if(n-t<8){let o=0;for(let s of new Ac(e,t,n-t,e,S5))o+=s;return o}let r=n>>3<<3,i=t+(t%8===0?0:8-t%8);return md(e,t,i)+md(e,r,n)+I5(e,i>>3,r-i>>3)}function I5(e,t,n){let r=0,i=Math.trunc(t),o=new DataView(e.buffer,e.byteOffset,e.byteLength),s=n===void 0?e.byteLength:i+n;for(;s-i>=4;)r+=a0(o.getUint32(i)),i+=4;for(;s-i>=2;)r+=a0(o.getUint16(i)),i+=2;for(;s-i>=1;)r+=a0(o.getUint8(i)),i+=1;return r}function a0(e){let t=Math.trunc(e);return t=t-(t>>>1&1431655765),t=(t&858993459)+(t>>>2&858993459),(t+(t>>>4)&252645135)*16843009>>>24}var Ej=-1,ee=class e{get typeId(){return this.type.typeId}get ArrayType(){return this.type.ArrayType}get buffers(){return[this.valueOffsets,this.values,this.nullBitmap,this.typeIds]}get nullable(){if(this._nullCount!==0){let{type:t}=this;return H.isSparseUnion(t)?this.children.some(n=>n.nullable):H.isDenseUnion(t)?this.children.some(n=>n.nullable):this.nullBitmap&&this.nullBitmap.byteLength>0}return!0}get byteLength(){let t=0,{valueOffsets:n,values:r,nullBitmap:i,typeIds:o}=this;return n&&(t+=n.byteLength),r&&(t+=r.byteLength),i&&(t+=i.byteLength),o&&(t+=o.byteLength),this.children.reduce((s,a)=>s+a.byteLength,t)}get nullCount(){if(H.isUnion(this.type))return this.children.reduce((r,i)=>r+i.nullCount,0);let t=this._nullCount,n;return t<=Ej&&(n=this.nullBitmap)&&(this._nullCount=t=this.length-md(n,this.offset,this.offset+this.length)),t}constructor(t,n,r,i,o,s=[],a){this.type=t,this.children=s,this.dictionary=a,this.offset=Math.floor(Math.max(n||0,0)),this.length=Math.floor(Math.max(r||0,0)),this._nullCount=Math.floor(Math.max(i||0,-1));let c;o instanceof e?(this.stride=o.stride,this.values=o.values,this.typeIds=o.typeIds,this.nullBitmap=o.nullBitmap,this.valueOffsets=o.valueOffsets):(this.stride=Br(t),o&&((c=o[0])&&(this.valueOffsets=c),(c=o[1])&&(this.values=c),(c=o[2])&&(this.nullBitmap=c),(c=o[3])&&(this.typeIds=c)))}getValid(t){let{type:n}=this;if(H.isUnion(n)){let r=n,i=this.children[r.typeIdToChildIndex[this.typeIds[t]]],o=r.mode===xe.Dense?this.valueOffsets[t]:t;return i.getValid(o)}if(this.nullable&&this.nullCount>0){let r=this.offset+t;return(this.nullBitmap[r>>3]&1<<r%8)!==0}return!0}setValid(t,n){let r,{type:i}=this;if(H.isUnion(i)){let o=i,s=this.children[o.typeIdToChildIndex[this.typeIds[t]]],a=o.mode===xe.Dense?this.valueOffsets[t]:t;r=s.getValid(a),s.setValid(a,n)}else{let{nullBitmap:o}=this,{offset:s,length:a}=this,c=s+t,l=1<<c%8,u=c>>3;(!o||o.byteLength<=u)&&(o=new Uint8Array((s+a+63&-64)>>3).fill(255),this.nullCount>0&&o.set(Tc(s,a,this.nullBitmap),0),Object.assign(this,{nullBitmap:o,_nullCount:-1}));let f=o[u];r=(f&l)!==0,n?o[u]=f|l:o[u]=f&~l}return r!==!!n&&(this._nullCount=this.nullCount+(n?-1:1)),n}clone(t=this.type,n=this.offset,r=this.length,i=this._nullCount,o=this,s=this.children){return new e(t,n,r,i,o,s,this.dictionary)}slice(t,n){let{stride:r,typeId:i,children:o}=this,s=+(this._nullCount===0)-1,a=i===16?r:1,c=this._sliceBuffers(t,n,r,i);return this.clone(this.type,this.offset+t,n,s,c,o.length===0||this.valueOffsets?o:this._sliceChildren(o,a*t,a*n))}_changeLengthAndBackfillNullBitmap(t){if(this.typeId===B.Null)return this.clone(this.type,0,t,0);let{length:n,nullCount:r}=this,i=new Uint8Array((t+63&-64)>>3).fill(255,0,n>>3);i[n>>3]=(1<<n-(n&-8))-1,r>0&&i.set(Tc(this.offset,n,this.nullBitmap),0);let o=this.buffers;return o[Ni.VALIDITY]=i,this.clone(this.type,0,t,r+(t-n),o)}_sliceBuffers(t,n,r,i){let o,{buffers:s}=this;return(o=s[Ni.TYPE])&&(s[Ni.TYPE]=o.subarray(t,t+n)),(o=s[Ni.OFFSET])&&(s[Ni.OFFSET]=o.subarray(t,t+n+1))||(o=s[Ni.DATA])&&(s[Ni.DATA]=i===6?o:o.subarray(r*t,r*(t+n))),s}_sliceChildren(t,n,r){return t.map(i=>i.slice(n,r))}};ee.prototype.children=Object.freeze([]);var v2=class e extends mt{visit(t){return this.getVisitFn(t.type).call(this,t)}visitNull(t){let{["type"]:n,["offset"]:r=0,["length"]:i=0}=t;return new ee(n,r,i,i)}visitBool(t){let{["type"]:n,["offset"]:r=0}=t,i=_t(t.nullBitmap),o=Ut(n.ArrayType,t.data),{["length"]:s=o.length>>3,["nullCount"]:a=t.nullBitmap?-1:0}=t;return new ee(n,r,s,a,[void 0,o,i])}visitInt(t){let{["type"]:n,["offset"]:r=0}=t,i=_t(t.nullBitmap),o=Ut(n.ArrayType,t.data),{["length"]:s=o.length,["nullCount"]:a=t.nullBitmap?-1:0}=t;return new ee(n,r,s,a,[void 0,o,i])}visitFloat(t){let{["type"]:n,["offset"]:r=0}=t,i=_t(t.nullBitmap),o=Ut(n.ArrayType,t.data),{["length"]:s=o.length,["nullCount"]:a=t.nullBitmap?-1:0}=t;return new ee(n,r,s,a,[void 0,o,i])}visitUtf8(t){let{["type"]:n,["offset"]:r=0}=t,i=_t(t.data),o=_t(t.nullBitmap),s=Ic(t.valueOffsets),{["length"]:a=s.length-1,["nullCount"]:c=t.nullBitmap?-1:0}=t;return new ee(n,r,a,c,[s,i,o])}visitLargeUtf8(t){let{["type"]:n,["offset"]:r=0}=t,i=_t(t.data),o=_t(t.nullBitmap),s=Rg(t.valueOffsets),{["length"]:a=s.length-1,["nullCount"]:c=t.nullBitmap?-1:0}=t;return new ee(n,r,a,c,[s,i,o])}visitBinary(t){let{["type"]:n,["offset"]:r=0}=t,i=_t(t.data),o=_t(t.nullBitmap),s=Ic(t.valueOffsets),{["length"]:a=s.length-1,["nullCount"]:c=t.nullBitmap?-1:0}=t;return new ee(n,r,a,c,[s,i,o])}visitLargeBinary(t){let{["type"]:n,["offset"]:r=0}=t,i=_t(t.data),o=_t(t.nullBitmap),s=Rg(t.valueOffsets),{["length"]:a=s.length-1,["nullCount"]:c=t.nullBitmap?-1:0}=t;return new ee(n,r,a,c,[s,i,o])}visitFixedSizeBinary(t){let{["type"]:n,["offset"]:r=0}=t,i=_t(t.nullBitmap),o=Ut(n.ArrayType,t.data),{["length"]:s=o.length/Br(n),["nullCount"]:a=t.nullBitmap?-1:0}=t;return new ee(n,r,s,a,[void 0,o,i])}visitDate(t){let{["type"]:n,["offset"]:r=0}=t,i=_t(t.nullBitmap),o=Ut(n.ArrayType,t.data),{["length"]:s=o.length/Br(n),["nullCount"]:a=t.nullBitmap?-1:0}=t;return new ee(n,r,s,a,[void 0,o,i])}visitTimestamp(t){let{["type"]:n,["offset"]:r=0}=t,i=_t(t.nullBitmap),o=Ut(n.ArrayType,t.data),{["length"]:s=o.length/Br(n),["nullCount"]:a=t.nullBitmap?-1:0}=t;return new ee(n,r,s,a,[void 0,o,i])}visitTime(t){let{["type"]:n,["offset"]:r=0}=t,i=_t(t.nullBitmap),o=Ut(n.ArrayType,t.data),{["length"]:s=o.length/Br(n),["nullCount"]:a=t.nullBitmap?-1:0}=t;return new ee(n,r,s,a,[void 0,o,i])}visitDecimal(t){let{["type"]:n,["offset"]:r=0}=t,i=_t(t.nullBitmap),o=Ut(n.ArrayType,t.data),{["length"]:s=o.length/Br(n),["nullCount"]:a=t.nullBitmap?-1:0}=t;return new ee(n,r,s,a,[void 0,o,i])}visitList(t){let{["type"]:n,["offset"]:r=0,["child"]:i}=t,o=_t(t.nullBitmap),s=Ic(t.valueOffsets),{["length"]:a=s.length-1,["nullCount"]:c=t.nullBitmap?-1:0}=t;return new ee(n,r,a,c,[s,void 0,o],[i])}visitStruct(t){let{["type"]:n,["offset"]:r=0,["children"]:i=[]}=t,o=_t(t.nullBitmap),{length:s=i.reduce((c,{length:l})=>Math.max(c,l),0),nullCount:a=t.nullBitmap?-1:0}=t;return new ee(n,r,s,a,[void 0,void 0,o],i)}visitUnion(t){let{["type"]:n,["offset"]:r=0,["children"]:i=[]}=t,o=Ut(n.ArrayType,t.typeIds),{["length"]:s=o.length,["nullCount"]:a=-1}=t;if(H.isSparseUnion(n))return new ee(n,r,s,a,[void 0,void 0,void 0,o],i);let c=Ic(t.valueOffsets);return new ee(n,r,s,a,[c,void 0,void 0,o],i)}visitDictionary(t){let{["type"]:n,["offset"]:r=0}=t,i=_t(t.nullBitmap),o=Ut(n.indices.ArrayType,t.data),{["dictionary"]:s=new Gt([new e().visit({type:n.dictionary})])}=t,{["length"]:a=o.length,["nullCount"]:c=t.nullBitmap?-1:0}=t;return new ee(n,r,a,c,[void 0,o,i],[],s)}visitInterval(t){let{["type"]:n,["offset"]:r=0}=t,i=_t(t.nullBitmap),o=Ut(n.ArrayType,t.data),{["length"]:s=o.length/Br(n),["nullCount"]:a=t.nullBitmap?-1:0}=t;return new ee(n,r,s,a,[void 0,o,i])}visitDuration(t){let{["type"]:n,["offset"]:r=0}=t,i=_t(t.nullBitmap),o=Ut(n.ArrayType,t.data),{["length"]:s=o.length,["nullCount"]:a=t.nullBitmap?-1:0}=t;return new ee(n,r,s,a,[void 0,o,i])}visitFixedSizeList(t){let{["type"]:n,["offset"]:r=0,["child"]:i=new e().visit({type:n.valueType})}=t,o=_t(t.nullBitmap),{["length"]:s=i.length/Br(n),["nullCount"]:a=t.nullBitmap?-1:0}=t;return new ee(n,r,s,a,[void 0,void 0,o],[i])}visitMap(t){let{["type"]:n,["offset"]:r=0,["child"]:i=new e().visit({type:n.childType})}=t,o=_t(t.nullBitmap),s=Ic(t.valueOffsets),{["length"]:a=s.length-1,["nullCount"]:c=t.nullBitmap?-1:0}=t;return new ee(n,r,a,c,[s,void 0,o],[i])}},Dj=new v2;function Dt(e){return Dj.visit(e)}var yd=class{constructor(t=0,n){this.numChunks=t,this.getChunkIterator=n,this.chunkIndex=0,this.chunkIterator=this.getChunkIterator(0)}next(){for(;this.chunkIndex<this.numChunks;){let t=this.chunkIterator.next();if(!t.done)return t;++this.chunkIndex<this.numChunks&&(this.chunkIterator=this.getChunkIterator(this.chunkIndex))}return{done:!0,value:null}}[Symbol.iterator](){return this}};function M5(e){return e.some(t=>t.nullable)}function l0(e){return e.reduce((t,n)=>t+n.nullCount,0)}function u0(e){return e.reduce((t,n,r)=>(t[r+1]=t[r]+n.length,t),new Uint32Array(e.length+1))}function f0(e,t,n,r){let i=[];for(let o=-1,s=e.length;++o<s;){let a=e[o],c=t[o],{length:l}=a;if(c>=r)break;if(n>=c+l)continue;if(c>=n&&c+l<=r){i.push(a);continue}let u=Math.max(0,n-c),f=Math.min(r-c,l);i.push(a.slice(u,f-u))}return i.length===0&&i.push(e[0].slice(0,0)),i}function _2(e,t,n,r){let i=0,o=0,s=t.length-1;do{if(i>=s-1)return n<t[s]?r(e,i,n-t[i]):null;o=i+Math.trunc((s-i)*.5),n<t[o]?s=o:i=o}while(i<s)}function gd(e,t){return e.getValid(t)}function mu(e){function t(n,r,i){return e(n[r],i)}return function(n){let r=this.data;return _2(r,this._offsets,n,t)}}function h0(e){let t;function n(r,i,o){return e(r[i],o,t)}return function(r,i){let o=this.data;t=i;let s=_2(o,this._offsets,r,n);return t=void 0,s}}function d0(e){let t;function n(r,i,o){let s=o,a=0,c=0;for(let l=i-1,u=r.length;++l<u;){let f=r[l];if(~(a=e(f,t,s)))return c+a;s=0,c+=f.length}return-1}return function(r,i){t=r;let o=this.data,s=typeof i!="number"?n(o,0,0):_2(o,this._offsets,i,n);return t=void 0,s}}var gt=class extends mt{};function Nj(e,t){return t===null&&e.length>0?0:-1}function Oj(e,t){let{nullBitmap:n}=e;if(!n||e.nullCount<=0)return-1;let r=0;for(let i of new Ac(n,e.offset+(t||0),e.length,n,c0)){if(!i)return r;++r}return-1}function Nt(e,t,n){if(t===void 0)return-1;if(t===null)switch(e.typeId){case B.Union:break;case B.Dictionary:break;default:return Oj(e,n)}let r=Xe.getVisitFn(e),i=Ia(t);for(let o=(n||0)-1,s=e.length;++o<s;)if(i(r(e,o)))return o;return-1}function A5(e,t,n){let r=Xe.getVisitFn(e),i=Ia(t);for(let o=(n||0)-1,s=e.length;++o<s;)if(i(r(e,o)))return o;return-1}gt.prototype.visitNull=Nj;gt.prototype.visitBool=Nt;gt.prototype.visitInt=Nt;gt.prototype.visitInt8=Nt;gt.prototype.visitInt16=Nt;gt.prototype.visitInt32=Nt;gt.prototype.visitInt64=Nt;gt.prototype.visitUint8=Nt;gt.prototype.visitUint16=Nt;gt.prototype.visitUint32=Nt;gt.prototype.visitUint64=Nt;gt.prototype.visitFloat=Nt;gt.prototype.visitFloat16=Nt;gt.prototype.visitFloat32=Nt;gt.prototype.visitFloat64=Nt;gt.prototype.visitUtf8=Nt;gt.prototype.visitLargeUtf8=Nt;gt.prototype.visitBinary=Nt;gt.prototype.visitLargeBinary=Nt;gt.prototype.visitFixedSizeBinary=Nt;gt.prototype.visitDate=Nt;gt.prototype.visitDateDay=Nt;gt.prototype.visitDateMillisecond=Nt;gt.prototype.visitTimestamp=Nt;gt.prototype.visitTimestampSecond=Nt;gt.prototype.visitTimestampMillisecond=Nt;gt.prototype.visitTimestampMicrosecond=Nt;gt.prototype.visitTimestampNanosecond=Nt;gt.prototype.visitTime=Nt;gt.prototype.visitTimeSecond=Nt;gt.prototype.visitTimeMillisecond=Nt;gt.prototype.visitTimeMicrosecond=Nt;gt.prototype.visitTimeNanosecond=Nt;gt.prototype.visitDecimal=Nt;gt.prototype.visitList=Nt;gt.prototype.visitStruct=Nt;gt.prototype.visitUnion=Nt;gt.prototype.visitDenseUnion=A5;gt.prototype.visitSparseUnion=A5;gt.prototype.visitDictionary=Nt;gt.prototype.visitInterval=Nt;gt.prototype.visitIntervalDayTime=Nt;gt.prototype.visitIntervalYearMonth=Nt;gt.prototype.visitDuration=Nt;gt.prototype.visitDurationSecond=Nt;gt.prototype.visitDurationMillisecond=Nt;gt.prototype.visitDurationMicrosecond=Nt;gt.prototype.visitDurationNanosecond=Nt;gt.prototype.visitFixedSizeList=Nt;gt.prototype.visitMap=Nt;var Dc=new gt;var xt=class extends mt{};function Mt(e){let{type:t}=e;if(e.nullCount===0&&e.stride===1&&(t.typeId===B.Timestamp||t instanceof ke&&t.bitWidth!==64||t instanceof Jr&&t.bitWidth!==64||t instanceof Wn&&t.precision!==pe.HALF))return new yd(e.data.length,r=>{let i=e.data[r];return i.values.subarray(0,i.length)[Symbol.iterator]()});let n=0;return new yd(e.data.length,r=>{let o=e.data[r].length,s=e.slice(n,n+o);return n+=o,new S2(s)})}var S2=class{constructor(t){this.vector=t,this.index=0}next(){return this.index<this.vector.length?{value:this.vector.get(this.index++)}:{done:!0,value:null}}[Symbol.iterator](){return this}};xt.prototype.visitNull=Mt;xt.prototype.visitBool=Mt;xt.prototype.visitInt=Mt;xt.prototype.visitInt8=Mt;xt.prototype.visitInt16=Mt;xt.prototype.visitInt32=Mt;xt.prototype.visitInt64=Mt;xt.prototype.visitUint8=Mt;xt.prototype.visitUint16=Mt;xt.prototype.visitUint32=Mt;xt.prototype.visitUint64=Mt;xt.prototype.visitFloat=Mt;xt.prototype.visitFloat16=Mt;xt.prototype.visitFloat32=Mt;xt.prototype.visitFloat64=Mt;xt.prototype.visitUtf8=Mt;xt.prototype.visitLargeUtf8=Mt;xt.prototype.visitBinary=Mt;xt.prototype.visitLargeBinary=Mt;xt.prototype.visitFixedSizeBinary=Mt;xt.prototype.visitDate=Mt;xt.prototype.visitDateDay=Mt;xt.prototype.visitDateMillisecond=Mt;xt.prototype.visitTimestamp=Mt;xt.prototype.visitTimestampSecond=Mt;xt.prototype.visitTimestampMillisecond=Mt;xt.prototype.visitTimestampMicrosecond=Mt;xt.prototype.visitTimestampNanosecond=Mt;xt.prototype.visitTime=Mt;xt.prototype.visitTimeSecond=Mt;xt.prototype.visitTimeMillisecond=Mt;xt.prototype.visitTimeMicrosecond=Mt;xt.prototype.visitTimeNanosecond=Mt;xt.prototype.visitDecimal=Mt;xt.prototype.visitList=Mt;xt.prototype.visitStruct=Mt;xt.prototype.visitUnion=Mt;xt.prototype.visitDenseUnion=Mt;xt.prototype.visitSparseUnion=Mt;xt.prototype.visitDictionary=Mt;xt.prototype.visitInterval=Mt;xt.prototype.visitIntervalDayTime=Mt;xt.prototype.visitIntervalYearMonth=Mt;xt.prototype.visitDuration=Mt;xt.prototype.visitDurationSecond=Mt;xt.prototype.visitDurationMillisecond=Mt;xt.prototype.visitDurationMicrosecond=Mt;xt.prototype.visitDurationNanosecond=Mt;xt.prototype.visitFixedSizeList=Mt;xt.prototype.visitMap=Mt;var yu=new xt;var T5,E5={},D5={},Gt=class e{constructor(t){var n,r,i;let o=t[0]instanceof e?t.flatMap(a=>a.data):t;if(o.length===0||o.some(a=>!(a instanceof ee)))throw new TypeError("Vector constructor expects an Array of Data instances.");let s=(n=o[0])===null||n===void 0?void 0:n.type;switch(o.length){case 0:this._offsets=[0];break;case 1:{let{get:a,set:c,indexOf:l}=E5[s.typeId],u=o[0];this.isValid=f=>gd(u,f),this.get=f=>a(u,f),this.set=(f,h)=>c(u,f,h),this.indexOf=f=>l(u,f),this._offsets=[0,u.length];break}default:Object.setPrototypeOf(this,D5[s.typeId]),this._offsets=u0(o);break}this.data=o,this.type=s,this.stride=Br(s),this.numChildren=(i=(r=s.children)===null||r===void 0?void 0:r.length)!==null&&i!==void 0?i:0,this.length=this._offsets.at(-1)}get byteLength(){return this.data.reduce((t,n)=>t+n.byteLength,0)}get nullable(){return M5(this.data)}get nullCount(){return l0(this.data)}get ArrayType(){return this.type.ArrayType}get[Symbol.toStringTag](){return`${this.VectorName}<${this.type[Symbol.toStringTag]}>`}get VectorName(){return`${B[this.type.typeId]}Vector`}isValid(t){return!1}get(t){return null}set(t,n){}indexOf(t,n){return-1}includes(t,n){return this.indexOf(t,n)>-1}[Symbol.iterator](){return yu.visit(this)}concat(...t){return new e(this.data.concat(t.flatMap(n=>n.data).flat(Number.POSITIVE_INFINITY)))}slice(t,n){return new e(pd(this,t,n,({data:r,_offsets:i},o,s)=>f0(r,i,o,s)))}toJSON(){return[...this]}toArray(){let{type:t,data:n,length:r,stride:i,ArrayType:o}=this;switch(t.typeId){case B.Int:case B.Float:case B.Decimal:case B.Time:case B.Timestamp:switch(n.length){case 0:return new o;case 1:return n[0].values.subarray(0,r*i);default:return n.reduce((s,{values:a,length:c})=>(s.array.set(a.subarray(0,c*i),s.offset),s.offset+=c*i,s),{array:new o(r*i),offset:0}).array}}return[...this]}toString(){return`[${[...this].join(",")}]`}getChild(t){var n;return this.getChildAt((n=this.type.children)===null||n===void 0?void 0:n.findIndex(r=>r.name===t))}getChildAt(t){return t>-1&&t<this.numChildren?new e(this.data.map(({children:n})=>n[t])):null}get isMemoized(){return H.isDictionary(this.type)?this.data[0].dictionary.isMemoized:!1}memoize(){if(H.isDictionary(this.type)){let t=new p0(this.data[0].dictionary),n=this.data.map(r=>{let i=r.clone();return i.dictionary=t,i});return new e(n)}return new p0(this)}unmemoize(){if(H.isDictionary(this.type)&&this.isMemoized){let t=this.data[0].dictionary.unmemoize(),n=this.data.map(r=>{let i=r.clone();return i.dictionary=t,i});return new e(n)}return this}};T5=Symbol.toStringTag;Gt[T5]=(e=>{e.type=H.prototype,e.data=[],e.length=0,e.stride=1,e.numChildren=0,e._offsets=new Uint32Array([0]),e[Symbol.isConcatSpreadable]=!0;let t=Object.keys(B).map(n=>B[n]).filter(n=>typeof n=="number"&&n!==B.NONE);for(let n of t){let r=Xe.getVisitFnByTypeId(n),i=Sn.getVisitFnByTypeId(n),o=Dc.getVisitFnByTypeId(n);E5[n]={get:r,set:i,indexOf:o},D5[n]=Object.create(e,{isValid:{value:mu(gd)},get:{value:mu(Xe.getVisitFnByTypeId(n))},set:{value:h0(Sn.getVisitFnByTypeId(n))},indexOf:{value:d0(Dc.getVisitFnByTypeId(n))}})}return"Vector"})(Gt.prototype);var p0=class e extends Gt{constructor(t){super(t.data);let n=this.get,r=this.set,i=this.slice,o=new Array(this.length);Object.defineProperty(this,"get",{value(s){let a=o[s];if(a!==void 0)return a;let c=n.call(this,s);return o[s]=c,c}}),Object.defineProperty(this,"set",{value(s,a){r.call(this,s,a),o[s]=a}}),Object.defineProperty(this,"slice",{value:(s,a)=>new e(i.call(this,s,a))}),Object.defineProperty(this,"isMemoized",{value:!0}),Object.defineProperty(this,"unmemoize",{value:()=>new Gt(this.data)}),Object.defineProperty(this,"memoize",{value:()=>this})}};function N5(e){if(!e||e.length<=0)return function(i){return!0};let t="",n=e.filter(r=>r===r);return n.length>0&&(t=`
|
|
2
2
|
switch (x) {${n.map(r=>`
|
|
3
|
-
case ${
|
|
3
|
+
case ${Lj(r)}:`).join("")}
|
|
4
4
|
return false;
|
|
5
5
|
}`),e.length!==n.length&&(t=`if (x !== x) return false;
|
|
6
6
|
${t}`),new Function("x",`${t}
|
|
7
|
-
return true;`)}function Hq(e){return typeof e!="bigint"?Ai(e):`${Ai(e)}n`}function n2(e,t){let n=Math.ceil(e)*t-1;return(n-n%64+64||64)/t}function ZO(e,t=0){return e.length>=t?e.subarray(0,t):$d(new e.constructor(t),e,0)}var Ci=class{constructor(t,n=0,r=1){this.length=Math.ceil(n/r),this.buffer=new t(this.length),this.stride=r,this.BYTES_PER_ELEMENT=t.BYTES_PER_ELEMENT,this.ArrayType=t}get byteLength(){return Math.ceil(this.length*this.stride)*this.BYTES_PER_ELEMENT}get reservedLength(){return this.buffer.length/this.stride}get reservedByteLength(){return this.buffer.byteLength}set(t,n){return this}append(t){return this.set(this.length,t)}reserve(t){if(t>0){this.length+=t;let n=this.stride,r=this.length*n,i=this.buffer.length;r>=i&&this._resize(i===0?n2(r*1,this.BYTES_PER_ELEMENT):n2(r*2,this.BYTES_PER_ELEMENT))}return this}flush(t=this.length){t=n2(t*this.stride,this.BYTES_PER_ELEMENT);let n=ZO(this.buffer,t);return this.clear(),n}clear(){return this.length=0,this.buffer=new this.ArrayType,this}_resize(t){return this.buffer=ZO(this.buffer,t)}},ls=class extends Ci{last(){return this.get(this.length-1)}get(t){return this.buffer[t]}set(t,n){return this.reserve(t-this.length+1),this.buffer[t*this.stride]=n,this}},lu=class extends ls{constructor(){super(Uint8Array,0,1/8),this.numValid=0}get numInvalid(){return this.length-this.numValid}get(t){return this.buffer[t>>3]>>t%8&1}set(t,n){let{buffer:r}=this.reserve(t-this.length+1),i=t>>3,o=t%8,s=r[i]>>o&1;return n?s===0&&(r[i]|=1<<o,++this.numValid):s===1&&(r[i]&=~(1<<o),--this.numValid),this}clear(){return this.numValid=0,super.clear()}},uu=class extends ls{constructor(t){super(t.OffsetArrayType,1,1)}append(t){return this.set(this.length-1,t)}set(t,n){let r=this.length-1,i=this.reserve(t-r+1).buffer;return r<t++&&r>=0&&i.fill(i[r],r,t),i[t]=i[t-1]+n,this}flush(t=this.length-1){return t>this.length&&this.set(t-1,this.BYTES_PER_ELEMENT>4?BigInt(0):0),super.flush(t+1)}};var ve=class{static throughNode(t){throw new Error('"throughNode" not available in this environment')}static throughDOM(t){throw new Error('"throughDOM" not available in this environment')}constructor({type:t,nullValues:n}){this.length=0,this.finished=!1,this.type=t,this.children=[],this.nullValues=n,this.stride=Or(t),this._nulls=new lu,n&&n.length>0&&(this._isValid=HO(n))}toVector(){return new Xt([this.flush()])}get ArrayType(){return this.type.ArrayType}get nullCount(){return this._nulls.numInvalid}get numChildren(){return this.children.length}get byteLength(){let t=0,{_offsets:n,_values:r,_nulls:i,_typeIds:o,children:s}=this;return n&&(t+=n.byteLength),r&&(t+=r.byteLength),i&&(t+=i.byteLength),o&&(t+=o.byteLength),s.reduce((a,c)=>a+c.byteLength,t)}get reservedLength(){return this._nulls.reservedLength}get reservedByteLength(){let t=0;return this._offsets&&(t+=this._offsets.reservedByteLength),this._values&&(t+=this._values.reservedByteLength),this._nulls&&(t+=this._nulls.reservedByteLength),this._typeIds&&(t+=this._typeIds.reservedByteLength),this.children.reduce((n,r)=>n+r.reservedByteLength,t)}get valueOffsets(){return this._offsets?this._offsets.buffer:null}get values(){return this._values?this._values.buffer:null}get nullBitmap(){return this._nulls?this._nulls.buffer:null}get typeIds(){return this._typeIds?this._typeIds.buffer:null}append(t){return this.set(this.length,t)}isValid(t){return this._isValid(t)}set(t,n){return this.setValid(t,this.isValid(n))&&this.setValue(t,n),this}setValue(t,n){this._setValue(this,t,n)}setValid(t,n){return this.length=this._nulls.set(t,+n).length,n}addChild(t,n=`${this.numChildren}`){throw new Error(`Cannot append children to non-nested type "${this.type}"`)}getChildAt(t){return this.children[t]||null}flush(){let t,n,r,i,{type:o,length:s,nullCount:a,_typeIds:c,_offsets:l,_values:u,_nulls:f}=this;(n=c?.flush(s))?i=l?.flush(s):(i=l?.flush(s))?t=u?.flush(l.last()):t=u?.flush(s),a>0&&(r=f?.flush(s));let d=this.children.map(h=>h.flush());return this.clear(),Nt({type:o,length:s,nullCount:a,children:d,child:d[0],data:t,typeIds:n,nullBitmap:r,valueOffsets:i})}finish(){this.finished=!0;for(let t of this.children)t.finish();return this}clear(){var t,n,r,i;this.length=0,(t=this._nulls)===null||t===void 0||t.clear(),(n=this._values)===null||n===void 0||n.clear(),(r=this._offsets)===null||r===void 0||r.clear(),(i=this._typeIds)===null||i===void 0||i.clear();for(let o of this.children)o.clear();return this}};ve.prototype.length=1;ve.prototype.stride=1;ve.prototype.children=null;ve.prototype.finished=!1;ve.prototype.nullValues=null;ve.prototype._isValid=()=>!0;var Xe=class extends ve{constructor(t){super(t),this._values=new ls(this.ArrayType,0,this.stride)}setValue(t,n){let r=this._values;return r.reserve(t-r.length+1),super.setValue(t,n)}},hr=class extends ve{constructor(t){super(t),this._pendingLength=0,this._offsets=new uu(t.type)}setValue(t,n){let r=this._pending||(this._pending=new Map),i=r.get(t);i&&(this._pendingLength-=i.length),this._pendingLength+=n instanceof no?n[Zr].length:n.length,r.set(t,n)}setValid(t,n){return super.setValid(t,n)?!0:((this._pending||(this._pending=new Map)).set(t,void 0),!1)}clear(){return this._pendingLength=0,this._pending=void 0,super.clear()}flush(){return this._flush(),super.flush()}finish(){return this._flush(),super.finish()}_flush(){let t=this._pending,n=this._pendingLength;return this._pendingLength=0,this._pending=void 0,t&&t.size>0&&this._flushPending(t,n),this}};var Mc=class{constructor(){this.bb=null,this.bb_pos=0}__init(t,n){return this.bb_pos=t,this.bb=n,this}offset(){return this.bb.readInt64(this.bb_pos)}metaDataLength(){return this.bb.readInt32(this.bb_pos+8)}bodyLength(){return this.bb.readInt64(this.bb_pos+16)}static sizeOf(){return 24}static createBlock(t,n,r,i){return t.prep(8,24),t.writeInt64(BigInt(i??0)),t.pad(4),t.writeInt32(r),t.writeInt64(BigInt(n??0)),t.offset()}};var Br=class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,n){return this.bb_pos=t,this.bb=n,this}static getRootAsFooter(t,n){return(n||new e).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsFooter(t,n){return t.setPosition(t.position()+4),(n||new e).__init(t.readInt32(t.position())+t.position(),t)}version(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):ce.V1}schema(t){let n=this.bb.__offset(this.bb_pos,6);return n?(t||new fr).__init(this.bb.__indirect(this.bb_pos+n),this.bb):null}dictionaries(t,n){let r=this.bb.__offset(this.bb_pos,8);return r?(n||new Mc).__init(this.bb.__vector(this.bb_pos+r)+t*24,this.bb):null}dictionariesLength(){let t=this.bb.__offset(this.bb_pos,8);return t?this.bb.__vector_len(this.bb_pos+t):0}recordBatches(t,n){let r=this.bb.__offset(this.bb_pos,10);return r?(n||new Mc).__init(this.bb.__vector(this.bb_pos+r)+t*24,this.bb):null}recordBatchesLength(){let t=this.bb.__offset(this.bb_pos,10);return t?this.bb.__vector_len(this.bb_pos+t):0}customMetadata(t,n){let r=this.bb.__offset(this.bb_pos,12);return r?(n||new nn).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+t*4),this.bb):null}customMetadataLength(){let t=this.bb.__offset(this.bb_pos,12);return t?this.bb.__vector_len(this.bb_pos+t):0}static startFooter(t){t.startObject(5)}static addVersion(t,n){t.addFieldInt16(0,n,ce.V1)}static addSchema(t,n){t.addFieldOffset(1,n,0)}static addDictionaries(t,n){t.addFieldOffset(2,n,0)}static startDictionariesVector(t,n){t.startVector(24,n,8)}static addRecordBatches(t,n){t.addFieldOffset(3,n,0)}static startRecordBatchesVector(t,n){t.startVector(24,n,8)}static addCustomMetadata(t,n){t.addFieldOffset(4,n,0)}static createCustomMetadataVector(t,n){t.startVector(4,n.length,4);for(let r=n.length-1;r>=0;r--)t.addOffset(n[r]);return t.endVector()}static startCustomMetadataVector(t,n){t.startVector(4,n,4)}static endFooter(t){return t.endObject()}static finishFooterBuffer(t,n){t.finish(n)}static finishSizePrefixedFooterBuffer(t,n){t.finish(n,void 0,!0)}};var oe=class e{constructor(t=[],n,r,i=ce.V5){this.fields=t||[],this.metadata=n||new Map,r||(r=r2(t)),this.dictionaries=r,this.metadataVersion=i}get[Symbol.toStringTag](){return"Schema"}get names(){return this.fields.map(t=>t.name)}toString(){return`Schema<{ ${this.fields.map((t,n)=>`${n}: ${t}`).join(", ")} }>`}select(t){let n=new Set(t),r=this.fields.filter(i=>n.has(i.name));return new e(r,this.metadata)}selectAt(t){let n=t.map(r=>this.fields[r]).filter(Boolean);return new e(n,this.metadata)}assign(...t){let n=t[0]instanceof e?t[0]:Array.isArray(t[0])?new e(t[0]):new e(t),r=[...this.fields],i=e0(e0(new Map,this.metadata),n.metadata),o=n.fields.filter(a=>{let c=r.findIndex(l=>l.name===a.name);return~c?(r[c]=a.clone({metadata:e0(e0(new Map,r[c].metadata),a.metadata)}))&&!1:!0}),s=r2(o,new Map);return new e([...r,...o],i,new Map([...this.dictionaries,...s]))}};oe.prototype.fields=null;oe.prototype.metadata=null;oe.prototype.dictionaries=null;var Ut=class e{static new(...t){let[n,r,i,o]=t;return t[0]&&typeof t[0]=="object"&&({name:n}=t[0],r===void 0&&(r=t[0].type),i===void 0&&(i=t[0].nullable),o===void 0&&(o=t[0].metadata)),new e(`${n}`,r,i,o)}constructor(t,n,r=!1,i){this.name=t,this.type=n,this.nullable=r,this.metadata=i||new Map}get typeId(){return this.type.typeId}get[Symbol.toStringTag](){return"Field"}toString(){return`${this.name}: ${this.type}`}clone(...t){let[n,r,i,o]=t;return!t[0]||typeof t[0]!="object"?[n=this.name,r=this.type,i=this.nullable,o=this.metadata]=t:{name:n=this.name,type:r=this.type,nullable:i=this.nullable,metadata:o=this.metadata}=t[0],e.new(n,r,i,o)}};Ut.prototype.type=null;Ut.prototype.name=null;Ut.prototype.nullable=null;Ut.prototype.metadata=null;function e0(e,t){return new Map([...e||new Map,...t||new Map])}function r2(e,t=new Map){for(let n=-1,r=e.length;++n<r;){let o=e[n].type;if(st.isDictionary(o)){if(!t.has(o.id))t.set(o.id,o.dictionary);else if(t.get(o.id)!==o.dictionary)throw new Error("Cannot create Schema containing two different dictionaries with the same Id")}o.children&&o.children.length>0&&r2(o.children,t)}return t}var Zq=wc,Jq=Er,us=class{static decode(t){t=new Jq(_t(t));let n=Br.getRootAsFooter(t),r=oe.decode(n.schema(),new Map,n.version());return new i2(r,n)}static encode(t){let n=new Zq,r=oe.encode(n,t.schema);Br.startRecordBatchesVector(n,t.numRecordBatches);for(let s of[...t.recordBatches()].slice().reverse())fs.encode(n,s);let i=n.endVector();Br.startDictionariesVector(n,t.numDictionaries);for(let s of[...t.dictionaryBatches()].slice().reverse())fs.encode(n,s);let o=n.endVector();return Br.startFooter(n),Br.addSchema(n,r),Br.addVersion(n,ce.V5),Br.addRecordBatches(n,i),Br.addDictionaries(n,o),Br.finishFooterBuffer(n,Br.endFooter(n)),n.asUint8Array()}get numRecordBatches(){return this._recordBatches.length}get numDictionaries(){return this._dictionaryBatches.length}constructor(t,n=ce.V5,r,i){this.schema=t,this.version=n,r&&(this._recordBatches=r),i&&(this._dictionaryBatches=i)}*recordBatches(){for(let t,n=-1,r=this.numRecordBatches;++n<r;)(t=this.getRecordBatch(n))&&(yield t)}*dictionaryBatches(){for(let t,n=-1,r=this.numDictionaries;++n<r;)(t=this.getDictionaryBatch(n))&&(yield t)}getRecordBatch(t){return t>=0&&t<this.numRecordBatches&&this._recordBatches[t]||null}getDictionaryBatch(t){return t>=0&&t<this.numDictionaries&&this._dictionaryBatches[t]||null}};var i2=class extends us{get numRecordBatches(){return this._footer.recordBatchesLength()}get numDictionaries(){return this._footer.dictionariesLength()}constructor(t,n){super(t,n.version()),this._footer=n}getRecordBatch(t){if(t>=0&&t<this.numRecordBatches){let n=this._footer.recordBatches(t);if(n)return fs.decode(n)}return null}getDictionaryBatch(t){if(t>=0&&t<this.numDictionaries){let n=this._footer.dictionaries(t);if(n)return fs.decode(n)}return null}},fs=class e{static decode(t){return new e(t.metaDataLength(),t.bodyLength(),t.offset())}static encode(t,n){let{metaDataLength:r}=n,i=BigInt(n.offset),o=BigInt(n.bodyLength);return Mc.createBlock(t,i,r,o)}constructor(t,n,r){this.metaDataLength=t,this.offset=De(r),this.bodyLength=De(n)}};var we=Object.freeze({done:!0,value:void 0}),ih=class{constructor(t){this._json=t}get schema(){return this._json.schema}get batches(){return this._json.batches||[]}get dictionaries(){return this._json.dictionaries||[]}},Ac=class{tee(){return this._getDOMStream().tee()}pipe(t,n){return this._getNodeStream().pipe(t,n)}pipeTo(t,n){return this._getDOMStream().pipeTo(t,n)}pipeThrough(t,n){return this._getDOMStream().pipeThrough(t,n)}_getDOMStream(){return this._DOMStream||(this._DOMStream=this.toDOMStream())}_getNodeStream(){return this._nodeStream||(this._nodeStream=this.toNodeStream())}},n0=class extends Ac{constructor(){super(),this._values=[],this.resolvers=[],this._closedPromise=new Promise(t=>this._closedPromiseResolve=t)}get closed(){return this._closedPromise}cancel(t){return Z(this,void 0,void 0,function*(){yield this.return(t)})}write(t){this._ensureOpen()&&(this.resolvers.length<=0?this._values.push(t):this.resolvers.shift().resolve({done:!1,value:t}))}abort(t){this._closedPromiseResolve&&(this.resolvers.length<=0?this._error={error:t}:this.resolvers.shift().reject({done:!0,value:t}))}close(){if(this._closedPromiseResolve){let{resolvers:t}=this;for(;t.length>0;)t.shift().resolve(we);this._closedPromiseResolve(),this._closedPromiseResolve=void 0}}[Symbol.asyncIterator](){return this}toDOMStream(t){return bn.toDOMStream(this._closedPromiseResolve||this._error?this:this._values,t)}toNodeStream(t){return bn.toNodeStream(this._closedPromiseResolve||this._error?this:this._values,t)}throw(t){return Z(this,void 0,void 0,function*(){return yield this.abort(t),we})}return(t){return Z(this,void 0,void 0,function*(){return yield this.close(),we})}read(t){return Z(this,void 0,void 0,function*(){return(yield this.next(t,"read")).value})}peek(t){return Z(this,void 0,void 0,function*(){return(yield this.next(t,"peek")).value})}next(...t){return this._values.length>0?Promise.resolve({done:!1,value:this._values.shift()}):this._error?Promise.reject({done:!0,value:this._error.error}):this._closedPromiseResolve?new Promise((n,r)=>{this.resolvers.push({resolve:n,reject:r})}):Promise.resolve(we)}_ensureOpen(){if(this._closedPromiseResolve)return!0;throw new Error("AsyncQueue is closed")}};var ro=class extends n0{write(t){if((t=_t(t)).byteLength>0)return super.write(t)}toString(t=!1){return t?Fd(this.toUint8Array(!0)):this.toUint8Array(!1).then(Fd)}toUint8Array(t=!1){return t?Tr(this._values)[0]:Z(this,void 0,void 0,function*(){var n,r,i,o;let s=[],a=0;try{for(var c=!0,l=bi(this),u;u=yield l.next(),n=u.done,!n;c=!0){o=u.value,c=!1;let f=o;s.push(f),a+=f.byteLength}}catch(f){r={error:f}}finally{try{!c&&!n&&(i=l.return)&&(yield i.call(l))}finally{if(r)throw r.error}}return Tr(s,a)[0]})}},io=class{constructor(t){t&&(this.source=new o2(bn.fromIterable(t)))}[Symbol.iterator](){return this}next(t){return this.source.next(t)}throw(t){return this.source.throw(t)}return(t){return this.source.return(t)}peek(t){return this.source.peek(t)}read(t){return this.source.read(t)}},Jr=class e{constructor(t){t instanceof e?this.source=t.source:t instanceof ro?this.source=new ds(bn.fromAsyncIterable(t)):fg(t)?this.source=new ds(bn.fromNodeStream(t)):Rd(t)?this.source=new ds(bn.fromDOMStream(t)):lg(t)?this.source=new ds(bn.fromDOMStream(t.body)):wi(t)?this.source=new ds(bn.fromIterable(t)):Ar(t)?this.source=new ds(bn.fromAsyncIterable(t)):Wr(t)&&(this.source=new ds(bn.fromAsyncIterable(t)))}[Symbol.asyncIterator](){return this}next(t){return this.source.next(t)}throw(t){return this.source.throw(t)}return(t){return this.source.return(t)}get closed(){return this.source.closed}cancel(t){return this.source.cancel(t)}peek(t){return this.source.peek(t)}read(t){return this.source.read(t)}},o2=class{constructor(t){this.source=t}cancel(t){this.return(t)}peek(t){return this.next(t,"peek").value}read(t){return this.next(t,"read").value}next(t,n="read"){return this.source.next({cmd:n,size:t})}throw(t){return Object.create(this.source.throw&&this.source.throw(t)||we)}return(t){return Object.create(this.source.return&&this.source.return(t)||we)}},ds=class{constructor(t){this.source=t,this._closedPromise=new Promise(n=>this._closedPromiseResolve=n)}cancel(t){return Z(this,void 0,void 0,function*(){yield this.return(t)})}get closed(){return this._closedPromise}read(t){return Z(this,void 0,void 0,function*(){return(yield this.next(t,"read")).value})}peek(t){return Z(this,void 0,void 0,function*(){return(yield this.next(t,"peek")).value})}next(t,n="read"){return Z(this,void 0,void 0,function*(){return yield this.source.next({cmd:n,size:t})})}throw(t){return Z(this,void 0,void 0,function*(){let n=this.source.throw&&(yield this.source.throw(t))||we;return this._closedPromiseResolve&&this._closedPromiseResolve(),this._closedPromiseResolve=void 0,Object.create(n)})}return(t){return Z(this,void 0,void 0,function*(){let n=this.source.return&&(yield this.source.return(t))||we;return this._closedPromiseResolve&&this._closedPromiseResolve(),this._closedPromiseResolve=void 0,Object.create(n)})}};var oh=class extends io{constructor(t,n){super(),this.position=0,this.buffer=_t(t),this.size=n===void 0?this.buffer.byteLength:n}readInt32(t){let{buffer:n,byteOffset:r}=this.readAt(t,4);return new DataView(n,r).getInt32(0,!0)}seek(t){return this.position=Math.min(t,this.size),t<this.size}read(t){let{buffer:n,size:r,position:i}=this;return n&&i<r?(typeof t!="number"&&(t=Number.POSITIVE_INFINITY),this.position=Math.min(r,i+Math.min(r-i,t)),n.subarray(i,this.position)):null}readAt(t,n){let r=this.buffer,i=Math.min(this.size,t+n);return r?r.subarray(t,i):new Uint8Array(n)}close(){this.buffer&&(this.buffer=null)}throw(t){return this.close(),{done:!0,value:t}}return(t){return this.close(),{done:!0,value:t}}},Sa=class extends Jr{constructor(t,n){super(),this.position=0,this._handle=t,typeof n=="number"?this.size=n:this._pending=Z(this,void 0,void 0,function*(){this.size=(yield t.stat()).size,delete this._pending})}readInt32(t){return Z(this,void 0,void 0,function*(){let{buffer:n,byteOffset:r}=yield this.readAt(t,4);return new DataView(n,r).getInt32(0,!0)})}seek(t){return Z(this,void 0,void 0,function*(){return this._pending&&(yield this._pending),this.position=Math.min(t,this.size),t<this.size})}read(t){return Z(this,void 0,void 0,function*(){this._pending&&(yield this._pending);let{_handle:n,size:r,position:i}=this;if(n&&i<r){typeof t!="number"&&(t=Number.POSITIVE_INFINITY);let o=i,s=0,a=0,c=Math.min(r,o+Math.min(r-o,t)),l=new Uint8Array(Math.max(0,(this.position=c)-o));for(;(o+=a)<c&&(s+=a)<l.byteLength;)({bytesRead:a}=yield n.read(l,s,l.byteLength-s,o));return l}return null})}readAt(t,n){return Z(this,void 0,void 0,function*(){this._pending&&(yield this._pending);let{_handle:r,size:i}=this;if(r&&t+n<i){let o=Math.min(i,t+n),s=new Uint8Array(o-t);return(yield r.read(s,0,n,t)).buffer}return new Uint8Array(n)})}close(){return Z(this,void 0,void 0,function*(){let t=this._handle;this._handle=null,t&&(yield t.close())})}throw(t){return Z(this,void 0,void 0,function*(){return yield this.close(),{done:!0,value:t}})}return(t){return Z(this,void 0,void 0,function*(){return yield this.close(),{done:!0,value:t}})}};var a2={};Ir(a2,{BaseInt64:()=>sh,Int128:()=>ah,Int64:()=>hs,Uint64:()=>Oe});function fu(e){return e<0&&(e=4294967295+e+1),`0x${e.toString(16)}`}var du=8,s2=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8],sh=class{constructor(t){this.buffer=t}high(){return this.buffer[1]}low(){return this.buffer[0]}_times(t){let n=new Uint32Array([this.buffer[1]>>>16,this.buffer[1]&65535,this.buffer[0]>>>16,this.buffer[0]&65535]),r=new Uint32Array([t.buffer[1]>>>16,t.buffer[1]&65535,t.buffer[0]>>>16,t.buffer[0]&65535]),i=n[3]*r[3];this.buffer[0]=i&65535;let o=i>>>16;return i=n[2]*r[3],o+=i,i=n[3]*r[2]>>>0,o+=i,this.buffer[0]+=o<<16,this.buffer[1]=o>>>0<i?65536:0,this.buffer[1]+=o>>>16,this.buffer[1]+=n[1]*r[3]+n[2]*r[2]+n[3]*r[1],this.buffer[1]+=n[0]*r[3]+n[1]*r[2]+n[2]*r[1]+n[3]*r[0]<<16,this}_plus(t){let n=this.buffer[0]+t.buffer[0]>>>0;this.buffer[1]+=t.buffer[1],n<this.buffer[0]>>>0&&++this.buffer[1],this.buffer[0]=n}lessThan(t){return this.buffer[1]<t.buffer[1]||this.buffer[1]===t.buffer[1]&&this.buffer[0]<t.buffer[0]}equals(t){return this.buffer[1]===t.buffer[1]&&this.buffer[0]==t.buffer[0]}greaterThan(t){return t.lessThan(this)}hex(){return`${fu(this.buffer[1])} ${fu(this.buffer[0])}`}},Oe=class e extends sh{times(t){return this._times(t),this}plus(t){return this._plus(t),this}static from(t,n=new Uint32Array(2)){return e.fromString(typeof t=="string"?t:t.toString(),n)}static fromNumber(t,n=new Uint32Array(2)){return e.fromString(t.toString(),n)}static fromString(t,n=new Uint32Array(2)){let r=t.length,i=new e(n);for(let o=0;o<r;){let s=du<r-o?du:r-o,a=new e(new Uint32Array([Number.parseInt(t.slice(o,o+s),10),0])),c=new e(new Uint32Array([s2[s],0]));i.times(c),i.plus(a),o+=s}return i}static convertArray(t){let n=new Uint32Array(t.length*2);for(let r=-1,i=t.length;++r<i;)e.from(t[r],new Uint32Array(n.buffer,n.byteOffset+2*r*4,2));return n}static multiply(t,n){return new e(new Uint32Array(t.buffer)).times(n)}static add(t,n){return new e(new Uint32Array(t.buffer)).plus(n)}},hs=class e extends sh{negate(){return this.buffer[0]=~this.buffer[0]+1,this.buffer[1]=~this.buffer[1],this.buffer[0]==0&&++this.buffer[1],this}times(t){return this._times(t),this}plus(t){return this._plus(t),this}lessThan(t){let n=this.buffer[1]<<0,r=t.buffer[1]<<0;return n<r||n===r&&this.buffer[0]<t.buffer[0]}static from(t,n=new Uint32Array(2)){return e.fromString(typeof t=="string"?t:t.toString(),n)}static fromNumber(t,n=new Uint32Array(2)){return e.fromString(t.toString(),n)}static fromString(t,n=new Uint32Array(2)){let r=t.startsWith("-"),i=t.length,o=new e(n);for(let s=r?1:0;s<i;){let a=du<i-s?du:i-s,c=new e(new Uint32Array([Number.parseInt(t.slice(s,s+a),10),0])),l=new e(new Uint32Array([s2[a],0]));o.times(l),o.plus(c),s+=a}return r?o.negate():o}static convertArray(t){let n=new Uint32Array(t.length*2);for(let r=-1,i=t.length;++r<i;)e.from(t[r],new Uint32Array(n.buffer,n.byteOffset+2*r*4,2));return n}static multiply(t,n){return new e(new Uint32Array(t.buffer)).times(n)}static add(t,n){return new e(new Uint32Array(t.buffer)).plus(n)}},ah=class e{constructor(t){this.buffer=t}high(){return new hs(new Uint32Array(this.buffer.buffer,this.buffer.byteOffset+8,2))}low(){return new hs(new Uint32Array(this.buffer.buffer,this.buffer.byteOffset,2))}negate(){return this.buffer[0]=~this.buffer[0]+1,this.buffer[1]=~this.buffer[1],this.buffer[2]=~this.buffer[2],this.buffer[3]=~this.buffer[3],this.buffer[0]==0&&++this.buffer[1],this.buffer[1]==0&&++this.buffer[2],this.buffer[2]==0&&++this.buffer[3],this}times(t){let n=new Oe(new Uint32Array([this.buffer[3],0])),r=new Oe(new Uint32Array([this.buffer[2],0])),i=new Oe(new Uint32Array([this.buffer[1],0])),o=new Oe(new Uint32Array([this.buffer[0],0])),s=new Oe(new Uint32Array([t.buffer[3],0])),a=new Oe(new Uint32Array([t.buffer[2],0])),c=new Oe(new Uint32Array([t.buffer[1],0])),l=new Oe(new Uint32Array([t.buffer[0],0])),u=Oe.multiply(o,l);this.buffer[0]=u.low();let f=new Oe(new Uint32Array([u.high(),0]));return u=Oe.multiply(i,l),f.plus(u),u=Oe.multiply(o,c),f.plus(u),this.buffer[1]=f.low(),this.buffer[3]=f.lessThan(u)?1:0,this.buffer[2]=f.high(),new Oe(new Uint32Array(this.buffer.buffer,this.buffer.byteOffset+8,2)).plus(Oe.multiply(r,l)).plus(Oe.multiply(i,c)).plus(Oe.multiply(o,a)),this.buffer[3]+=Oe.multiply(n,l).plus(Oe.multiply(r,c)).plus(Oe.multiply(i,a)).plus(Oe.multiply(o,s)).low(),this}plus(t){let n=new Uint32Array(4);return n[3]=this.buffer[3]+t.buffer[3]>>>0,n[2]=this.buffer[2]+t.buffer[2]>>>0,n[1]=this.buffer[1]+t.buffer[1]>>>0,n[0]=this.buffer[0]+t.buffer[0]>>>0,n[0]<this.buffer[0]>>>0&&++n[1],n[1]<this.buffer[1]>>>0&&++n[2],n[2]<this.buffer[2]>>>0&&++n[3],this.buffer[3]=n[3],this.buffer[2]=n[2],this.buffer[1]=n[1],this.buffer[0]=n[0],this}hex(){return`${fu(this.buffer[3])} ${fu(this.buffer[2])} ${fu(this.buffer[1])} ${fu(this.buffer[0])}`}static multiply(t,n){return new e(new Uint32Array(t.buffer)).times(n)}static add(t,n){return new e(new Uint32Array(t.buffer)).plus(n)}static from(t,n=new Uint32Array(4)){return e.fromString(typeof t=="string"?t:t.toString(),n)}static fromNumber(t,n=new Uint32Array(4)){return e.fromString(t.toString(),n)}static fromString(t,n=new Uint32Array(4)){let r=t.startsWith("-"),i=t.length,o=new e(n);for(let s=r?1:0;s<i;){let a=du<i-s?du:i-s,c=new e(new Uint32Array([Number.parseInt(t.slice(s,s+a),10),0,0,0])),l=new e(new Uint32Array([s2[a],0,0,0]));o.times(l),o.plus(c),s+=a}return r?o.negate():o}static convertArray(t){let n=new Uint32Array(t.length*4);for(let r=-1,i=t.length;++r<i;)e.from(t[r],new Uint32Array(n.buffer,n.byteOffset+4*4*r,4));return n}};var ch=class extends mt{constructor(t,n,r,i,o=ce.V5){super(),this.nodesIndex=-1,this.buffersIndex=-1,this.bytes=t,this.nodes=n,this.buffers=r,this.dictionaries=i,this.metadataVersion=o}visit(t){return super.visit(t instanceof Ut?t.type:t)}visitNull(t,{length:n}=this.nextFieldNode()){return Nt({type:t,length:n})}visitBool(t,{length:n,nullCount:r}=this.nextFieldNode()){return Nt({type:t,length:n,nullCount:r,nullBitmap:this.readNullBitmap(t,r),data:this.readData(t)})}visitInt(t,{length:n,nullCount:r}=this.nextFieldNode()){return Nt({type:t,length:n,nullCount:r,nullBitmap:this.readNullBitmap(t,r),data:this.readData(t)})}visitFloat(t,{length:n,nullCount:r}=this.nextFieldNode()){return Nt({type:t,length:n,nullCount:r,nullBitmap:this.readNullBitmap(t,r),data:this.readData(t)})}visitUtf8(t,{length:n,nullCount:r}=this.nextFieldNode()){return Nt({type:t,length:n,nullCount:r,nullBitmap:this.readNullBitmap(t,r),valueOffsets:this.readOffsets(t),data:this.readData(t)})}visitLargeUtf8(t,{length:n,nullCount:r}=this.nextFieldNode()){return Nt({type:t,length:n,nullCount:r,nullBitmap:this.readNullBitmap(t,r),valueOffsets:this.readOffsets(t),data:this.readData(t)})}visitBinary(t,{length:n,nullCount:r}=this.nextFieldNode()){return Nt({type:t,length:n,nullCount:r,nullBitmap:this.readNullBitmap(t,r),valueOffsets:this.readOffsets(t),data:this.readData(t)})}visitLargeBinary(t,{length:n,nullCount:r}=this.nextFieldNode()){return Nt({type:t,length:n,nullCount:r,nullBitmap:this.readNullBitmap(t,r),valueOffsets:this.readOffsets(t),data:this.readData(t)})}visitFixedSizeBinary(t,{length:n,nullCount:r}=this.nextFieldNode()){return Nt({type:t,length:n,nullCount:r,nullBitmap:this.readNullBitmap(t,r),data:this.readData(t)})}visitDate(t,{length:n,nullCount:r}=this.nextFieldNode()){return Nt({type:t,length:n,nullCount:r,nullBitmap:this.readNullBitmap(t,r),data:this.readData(t)})}visitTimestamp(t,{length:n,nullCount:r}=this.nextFieldNode()){return Nt({type:t,length:n,nullCount:r,nullBitmap:this.readNullBitmap(t,r),data:this.readData(t)})}visitTime(t,{length:n,nullCount:r}=this.nextFieldNode()){return Nt({type:t,length:n,nullCount:r,nullBitmap:this.readNullBitmap(t,r),data:this.readData(t)})}visitDecimal(t,{length:n,nullCount:r}=this.nextFieldNode()){return Nt({type:t,length:n,nullCount:r,nullBitmap:this.readNullBitmap(t,r),data:this.readData(t)})}visitList(t,{length:n,nullCount:r}=this.nextFieldNode()){return Nt({type:t,length:n,nullCount:r,nullBitmap:this.readNullBitmap(t,r),valueOffsets:this.readOffsets(t),child:this.visit(t.children[0])})}visitStruct(t,{length:n,nullCount:r}=this.nextFieldNode()){return Nt({type:t,length:n,nullCount:r,nullBitmap:this.readNullBitmap(t,r),children:this.visitMany(t.children)})}visitUnion(t,{length:n,nullCount:r}=this.nextFieldNode()){return this.metadataVersion<ce.V5&&this.readNullBitmap(t,r),t.mode===ge.Sparse?this.visitSparseUnion(t,{length:n,nullCount:r}):this.visitDenseUnion(t,{length:n,nullCount:r})}visitDenseUnion(t,{length:n,nullCount:r}=this.nextFieldNode()){return Nt({type:t,length:n,nullCount:r,typeIds:this.readTypeIds(t),valueOffsets:this.readOffsets(t),children:this.visitMany(t.children)})}visitSparseUnion(t,{length:n,nullCount:r}=this.nextFieldNode()){return Nt({type:t,length:n,nullCount:r,typeIds:this.readTypeIds(t),children:this.visitMany(t.children)})}visitDictionary(t,{length:n,nullCount:r}=this.nextFieldNode()){return Nt({type:t,length:n,nullCount:r,nullBitmap:this.readNullBitmap(t,r),data:this.readData(t.indices),dictionary:this.readDictionary(t)})}visitInterval(t,{length:n,nullCount:r}=this.nextFieldNode()){return Nt({type:t,length:n,nullCount:r,nullBitmap:this.readNullBitmap(t,r),data:this.readData(t)})}visitDuration(t,{length:n,nullCount:r}=this.nextFieldNode()){return Nt({type:t,length:n,nullCount:r,nullBitmap:this.readNullBitmap(t,r),data:this.readData(t)})}visitFixedSizeList(t,{length:n,nullCount:r}=this.nextFieldNode()){return Nt({type:t,length:n,nullCount:r,nullBitmap:this.readNullBitmap(t,r),child:this.visit(t.children[0])})}visitMap(t,{length:n,nullCount:r}=this.nextFieldNode()){return Nt({type:t,length:n,nullCount:r,nullBitmap:this.readNullBitmap(t,r),valueOffsets:this.readOffsets(t),child:this.visit(t.children[0])})}nextFieldNode(){return this.nodes[++this.nodesIndex]}nextBufferRange(){return this.buffers[++this.buffersIndex]}readNullBitmap(t,n,r=this.nextBufferRange()){return n>0&&this.readData(t,r)||new Uint8Array(0)}readOffsets(t,n){return this.readData(t,n)}readTypeIds(t,n){return this.readData(t,n)}readData(t,{length:n,offset:r}=this.nextBufferRange()){return this.bytes.subarray(r,r+n)}readDictionary(t){return this.dictionaries.get(t.id)}},r0=class extends ch{constructor(t,n,r,i,o){super(new Uint8Array(0),n,r,i,o),this.sources=t}readNullBitmap(t,n,{offset:r}=this.nextBufferRange()){return n<=0?new Uint8Array(0):Sc(this.sources[r])}readOffsets(t,{offset:n}=this.nextBufferRange()){return Pt(Uint8Array,Pt(t.OffsetArrayType,this.sources[n]))}readTypeIds(t,{offset:n}=this.nextBufferRange()){return Pt(Uint8Array,Pt(t.ArrayType,this.sources[n]))}readData(t,{offset:n}=this.nextBufferRange()){let{sources:r}=this;return st.isTimestamp(t)?Pt(Uint8Array,hs.convertArray(r[n])):(st.isInt(t)||st.isTime(t))&&t.bitWidth===64||st.isDuration(t)?Pt(Uint8Array,hs.convertArray(r[n])):st.isDate(t)&&t.unit===Ve.MILLISECOND?Pt(Uint8Array,hs.convertArray(r[n])):st.isDecimal(t)?Pt(Uint8Array,ah.convertArray(r[n])):st.isBinary(t)||st.isLargeBinary(t)||st.isFixedSizeBinary(t)?Qq(r[n]):st.isBool(t)?Sc(r[n]):st.isUtf8(t)||st.isLargeUtf8(t)?Zi(r[n].join("")):Pt(Uint8Array,Pt(t.ArrayType,r[n].map(i=>+i)))}};function Qq(e){let t=e.join(""),n=new Uint8Array(t.length/2);for(let r=0;r<t.length;r+=2)n[r>>1]=Number.parseInt(t.slice(r,r+2),16);return n}var hu=class extends hr{constructor(t){super(t),this._values=new Ci(Uint8Array)}get byteLength(){let t=this._pendingLength+this.length*4;return this._offsets&&(t+=this._offsets.byteLength),this._values&&(t+=this._values.byteLength),this._nulls&&(t+=this._nulls.byteLength),t}setValue(t,n){return super.setValue(t,_t(n))}_flushPending(t,n){let r=this._offsets,i=this._values.reserve(n).buffer,o=0;for(let[s,a]of t)if(a===void 0)r.set(s,0);else{let c=a.length;i.set(a,o),r.set(s,c),o+=c}}};var pu=class extends hr{constructor(t){super(t),this._values=new Ci(Uint8Array)}get byteLength(){let t=this._pendingLength+this.length*4;return this._offsets&&(t+=this._offsets.byteLength),this._values&&(t+=this._values.byteLength),this._nulls&&(t+=this._nulls.byteLength),t}setValue(t,n){return super.setValue(t,_t(n))}_flushPending(t,n){let r=this._offsets,i=this._values.reserve(n).buffer,o=0;for(let[s,a]of t)if(a===void 0)r.set(s,BigInt(0));else{let c=a.length;i.set(a,o),r.set(s,BigInt(c)),o+=c}}};var i0=class extends ve{constructor(t){super(t),this._values=new lu}setValue(t,n){this._values.set(t,+n)}};var Tc=class extends Xe{};Tc.prototype._setValue=U_;var lh=class extends Tc{};lh.prototype._setValue=Dg;var uh=class extends Tc{};uh.prototype._setValue=Og;var fh=class extends Xe{};fh.prototype._setValue=j_;var o0=class extends ve{constructor({type:t,nullValues:n,dictionaryHashFunction:r}){super({type:new Dr(t.dictionary,t.indices,t.id,t.isOrdered)}),this._nulls=null,this._dictionaryOffset=0,this._keysToIndices=Object.create(null),this.indices=Ec({type:this.type.indices,nullValues:n}),this.dictionary=Ec({type:this.type.dictionary,nullValues:null}),typeof r=="function"&&(this.valueToKey=r)}get values(){return this.indices.values}get nullCount(){return this.indices.nullCount}get nullBitmap(){return this.indices.nullBitmap}get byteLength(){return this.indices.byteLength+this.dictionary.byteLength}get reservedLength(){return this.indices.reservedLength+this.dictionary.reservedLength}get reservedByteLength(){return this.indices.reservedByteLength+this.dictionary.reservedByteLength}isValid(t){return this.indices.isValid(t)}setValid(t,n){let r=this.indices;return n=r.setValid(t,n),this.length=r.length,n}setValue(t,n){let r=this._keysToIndices,i=this.valueToKey(n),o=r[i];return o===void 0&&(r[i]=o=this._dictionaryOffset+this.dictionary.append(n).length-1),this.indices.setValue(t,o)}flush(){let t=this.type,n=this._dictionary,r=this.dictionary.toVector(),i=this.indices.flush().clone(t);return i.dictionary=n?n.concat(r):r,this.finished||(this._dictionaryOffset+=r.length),this._dictionary=i.dictionary,this.clear(),i}finish(){return this.indices.finish(),this.dictionary.finish(),this._dictionaryOffset=0,this._keysToIndices=Object.create(null),super.finish()}clear(){return this.indices.clear(),this.dictionary.clear(),super.clear()}valueToKey(t){return typeof t=="string"?t:`${t}`}};var dh=class extends Xe{};dh.prototype._setValue=P_;var s0=class extends ve{setValue(t,n){let[r]=this.children,i=t*this.stride;for(let o=-1,s=n.length;++o<s;)r.set(i+o,n[o])}addChild(t,n="0"){if(this.numChildren>0)throw new Error("FixedSizeListBuilder can only have one child.");let r=this.children.push(t);return this.type=new Oi(this.type.listSize,new Ut(n,t.type,!0)),r}};var Nc=class extends Xe{setValue(t,n){this._values.set(t,n)}},a0=class extends Nc{setValue(t,n){super.setValue(t,Kd(n))}},c0=class extends Nc{},l0=class extends Nc{};var Dc=class extends Xe{};Dc.prototype._setValue=V_;var hh=class extends Dc{};hh.prototype._setValue=Ug;var ph=class extends Dc{};ph.prototype._setValue=zg;var ps=class extends Xe{};ps.prototype._setValue=Y_;var mh=class extends ps{};mh.prototype._setValue=qg;var yh=class extends ps{};yh.prototype._setValue=jg;var gh=class extends ps{};gh.prototype._setValue=Vg;var xh=class extends ps{};xh.prototype._setValue=Yg;var Qr=class extends Xe{setValue(t,n){this._values.set(t,n)}},u0=class extends Qr{},f0=class extends Qr{},d0=class extends Qr{},h0=class extends Qr{},p0=class extends Qr{},m0=class extends Qr{},y0=class extends Qr{},g0=class extends Qr{};var x0=class extends hr{constructor(t){super(t),this._offsets=new uu(t.type)}addChild(t,n="0"){if(this.numChildren>0)throw new Error("ListBuilder can only have one child.");return this.children[this.numChildren]=t,this.type=new Ni(new Ut(n,t.type,!0)),this.numChildren-1}_flushPending(t){let n=this._offsets,[r]=this.children;for(let[i,o]of t)if(typeof o>"u")n.set(i,0);else{let s=o,a=s.length,c=n.set(i,a).buffer[i];for(let l=-1;++l<a;)r.set(c+l,s[l])}}};var b0=class extends hr{set(t,n){return super.set(t,n)}setValue(t,n){let r=n instanceof Map?n:new Map(Object.entries(n)),i=this._pending||(this._pending=new Map),o=i.get(t);o&&(this._pendingLength-=o.size),this._pendingLength+=r.size,i.set(t,r)}addChild(t,n=`${this.numChildren}`){if(this.numChildren>0)throw new Error("ListBuilder can only have one child.");return this.children[this.numChildren]=t,this.type=new Bi(new Ut(n,t.type,!0),this.type.keysSorted),this.numChildren-1}_flushPending(t){let n=this._offsets,[r]=this.children;for(let[i,o]of t)if(o===void 0)n.set(i,0);else{let{[i]:s,[i+1]:a}=n.set(i,o.size).buffer;for(let c of o.entries())if(r.set(s,c),++s>=a)break}}};var w0=class extends ve{setValue(t,n){}setValid(t,n){return this.length=Math.max(t+1,this.length),n}};var v0=class extends ve{setValue(t,n){let{children:r,type:i}=this;switch(Array.isArray(n)||n.constructor){case!0:return i.children.forEach((o,s)=>r[s].set(t,n[s]));case Map:return i.children.forEach((o,s)=>r[s].set(t,n.get(o.name)));default:return i.children.forEach((o,s)=>r[s].set(t,n[o.name]))}}setValid(t,n){return super.setValid(t,n)||this.children.forEach(r=>r.setValid(t,n)),n}addChild(t,n=`${this.numChildren}`){let r=this.children.push(t);return this.type=new be([...this.type.children,new Ut(n,t.type,!0)]),r}};var ms=class extends Xe{};ms.prototype._setValue=z_;var bh=class extends ms{};bh.prototype._setValue=Bg;var wh=class extends ms{};wh.prototype._setValue=Lg;var vh=class extends ms{};vh.prototype._setValue=Cg;var _h=class extends ms{};_h.prototype._setValue=kg;var ys=class extends Xe{};ys.prototype._setValue=q_;var Sh=class extends ys{};Sh.prototype._setValue=Fg;var Ih=class extends ys{};Ih.prototype._setValue=Rg;var Mh=class extends ys{};Mh.prototype._setValue=$g;var Ah=class extends ys{};Ah.prototype._setValue=Pg;var mu=class extends ve{constructor(t){super(t),this._typeIds=new ls(Int8Array,0,1),typeof t.valueToChildTypeId=="function"&&(this._valueToChildTypeId=t.valueToChildTypeId)}get typeIdToChildIndex(){return this.type.typeIdToChildIndex}append(t,n){return this.set(this.length,t,n)}set(t,n,r){return r===void 0&&(r=this._valueToChildTypeId(this,n,t)),this.setValue(t,n,r),this}setValue(t,n,r){this._typeIds.set(t,r);let i=this.type.typeIdToChildIndex[r],o=this.children[i];o?.set(t,n)}addChild(t,n=`${this.children.length}`){let r=this.children.push(t),{type:{children:i,mode:o,typeIds:s}}=this,a=[...i,new Ut(n,t.type)];return this.type=new Di(o,[...s,r],a),r}_valueToChildTypeId(t,n,r){throw new Error("Cannot map UnionBuilder value to child typeId. Pass the `childTypeId` as the second argument to unionBuilder.append(), or supply a `valueToChildTypeId` function as part of the UnionBuilder constructor options.")}},_0=class extends mu{},S0=class extends mu{constructor(t){super(t),this._offsets=new ls(Int32Array)}setValue(t,n,r){let i=this._typeIds.set(t,r).buffer[t],o=this.getChildAt(this.type.typeIdToChildIndex[i]),s=this._offsets.set(t,o.length).buffer[t];o?.set(s,n)}};var Th=class extends hr{constructor(t){super(t),this._values=new Ci(Uint8Array)}get byteLength(){let t=this._pendingLength+this.length*4;return this._offsets&&(t+=this._offsets.byteLength),this._values&&(t+=this._values.byteLength),this._nulls&&(t+=this._nulls.byteLength),t}setValue(t,n){return super.setValue(t,Zi(n))}_flushPending(t,n){}};Th.prototype._flushPending=hu.prototype._flushPending;var Eh=class extends hr{constructor(t){super(t),this._values=new Ci(Uint8Array)}get byteLength(){let t=this._pendingLength+this.length*4;return this._offsets&&(t+=this._offsets.byteLength),this._values&&(t+=this._values.byteLength),this._nulls&&(t+=this._nulls.byteLength),t}setValue(t,n){return super.setValue(t,Zi(n))}_flushPending(t,n){}};Eh.prototype._flushPending=pu.prototype._flushPending;var c2=class extends mt{visitNull(){return w0}visitBool(){return i0}visitInt(){return Qr}visitInt8(){return u0}visitInt16(){return f0}visitInt32(){return d0}visitInt64(){return h0}visitUint8(){return p0}visitUint16(){return m0}visitUint32(){return y0}visitUint64(){return g0}visitFloat(){return Nc}visitFloat16(){return a0}visitFloat32(){return c0}visitFloat64(){return l0}visitUtf8(){return Th}visitLargeUtf8(){return Eh}visitBinary(){return hu}visitLargeBinary(){return pu}visitFixedSizeBinary(){return dh}visitDate(){return Tc}visitDateDay(){return lh}visitDateMillisecond(){return uh}visitTimestamp(){return ms}visitTimestampSecond(){return bh}visitTimestampMillisecond(){return wh}visitTimestampMicrosecond(){return vh}visitTimestampNanosecond(){return _h}visitTime(){return ys}visitTimeSecond(){return Sh}visitTimeMillisecond(){return Ih}visitTimeMicrosecond(){return Mh}visitTimeNanosecond(){return Ah}visitDecimal(){return fh}visitList(){return x0}visitStruct(){return v0}visitUnion(){return mu}visitDenseUnion(){return S0}visitSparseUnion(){return _0}visitDictionary(){return o0}visitInterval(){return Dc}visitIntervalDayTime(){return hh}visitIntervalYearMonth(){return ph}visitDuration(){return ps}visitDurationSecond(){return mh}visitDurationMillisecond(){return yh}visitDurationMicrosecond(){return gh}visitDurationNanosecond(){return xh}visitFixedSizeList(){return s0}visitMap(){return b0}},JO=new c2;var bt=class extends mt{compareSchemas(t,n){return t===n||n instanceof t.constructor&&this.compareManyFields(t.fields,n.fields)}compareManyFields(t,n){return t===n||Array.isArray(t)&&Array.isArray(n)&&t.length===n.length&&t.every((r,i)=>this.compareFields(r,n[i]))}compareFields(t,n){return t===n||n instanceof t.constructor&&t.name===n.name&&t.nullable===n.nullable&&this.visit(t.type,n.type)}};function Gn(e,t){return t instanceof e.constructor}function Oc(e,t){return e===t||Gn(e,t)}function gs(e,t){return e===t||Gn(e,t)&&e.bitWidth===t.bitWidth&&e.isSigned===t.isSigned}function I0(e,t){return e===t||Gn(e,t)&&e.precision===t.precision}function Kq(e,t){return e===t||Gn(e,t)&&e.byteWidth===t.byteWidth}function l2(e,t){return e===t||Gn(e,t)&&e.unit===t.unit}function Nh(e,t){return e===t||Gn(e,t)&&e.unit===t.unit&&e.timezone===t.timezone}function Dh(e,t){return e===t||Gn(e,t)&&e.unit===t.unit&&e.bitWidth===t.bitWidth}function tj(e,t){return e===t||Gn(e,t)&&e.children.length===t.children.length&&oo.compareManyFields(e.children,t.children)}function ej(e,t){return e===t||Gn(e,t)&&e.children.length===t.children.length&&oo.compareManyFields(e.children,t.children)}function u2(e,t){return e===t||Gn(e,t)&&e.mode===t.mode&&e.typeIds.every((n,r)=>n===t.typeIds[r])&&oo.compareManyFields(e.children,t.children)}function nj(e,t){return e===t||Gn(e,t)&&e.id===t.id&&e.isOrdered===t.isOrdered&&oo.visit(e.indices,t.indices)&&oo.visit(e.dictionary,t.dictionary)}function f2(e,t){return e===t||Gn(e,t)&&e.unit===t.unit}function Oh(e,t){return e===t||Gn(e,t)&&e.unit===t.unit}function rj(e,t){return e===t||Gn(e,t)&&e.listSize===t.listSize&&e.children.length===t.children.length&&oo.compareManyFields(e.children,t.children)}function ij(e,t){return e===t||Gn(e,t)&&e.keysSorted===t.keysSorted&&e.children.length===t.children.length&&oo.compareManyFields(e.children,t.children)}bt.prototype.visitNull=Oc;bt.prototype.visitBool=Oc;bt.prototype.visitInt=gs;bt.prototype.visitInt8=gs;bt.prototype.visitInt16=gs;bt.prototype.visitInt32=gs;bt.prototype.visitInt64=gs;bt.prototype.visitUint8=gs;bt.prototype.visitUint16=gs;bt.prototype.visitUint32=gs;bt.prototype.visitUint64=gs;bt.prototype.visitFloat=I0;bt.prototype.visitFloat16=I0;bt.prototype.visitFloat32=I0;bt.prototype.visitFloat64=I0;bt.prototype.visitUtf8=Oc;bt.prototype.visitLargeUtf8=Oc;bt.prototype.visitBinary=Oc;bt.prototype.visitLargeBinary=Oc;bt.prototype.visitFixedSizeBinary=Kq;bt.prototype.visitDate=l2;bt.prototype.visitDateDay=l2;bt.prototype.visitDateMillisecond=l2;bt.prototype.visitTimestamp=Nh;bt.prototype.visitTimestampSecond=Nh;bt.prototype.visitTimestampMillisecond=Nh;bt.prototype.visitTimestampMicrosecond=Nh;bt.prototype.visitTimestampNanosecond=Nh;bt.prototype.visitTime=Dh;bt.prototype.visitTimeSecond=Dh;bt.prototype.visitTimeMillisecond=Dh;bt.prototype.visitTimeMicrosecond=Dh;bt.prototype.visitTimeNanosecond=Dh;bt.prototype.visitDecimal=Oc;bt.prototype.visitList=tj;bt.prototype.visitStruct=ej;bt.prototype.visitUnion=u2;bt.prototype.visitDenseUnion=u2;bt.prototype.visitSparseUnion=u2;bt.prototype.visitDictionary=nj;bt.prototype.visitInterval=f2;bt.prototype.visitIntervalDayTime=f2;bt.prototype.visitIntervalYearMonth=f2;bt.prototype.visitDuration=Oh;bt.prototype.visitDurationSecond=Oh;bt.prototype.visitDurationMillisecond=Oh;bt.prototype.visitDurationMicrosecond=Oh;bt.prototype.visitDurationNanosecond=Oh;bt.prototype.visitFixedSizeList=rj;bt.prototype.visitMap=ij;var oo=new bt;function Bc(e,t){return oo.compareSchemas(e,t)}function QO(e,t){return oo.compareFields(e,t)}function KO(e,t){return oo.visit(e,t)}function Ec(e){let t=e.type,n=new(JO.getVisitFn(t)())(e);if(t.children&&t.children.length>0){let r=e.children||[],i={nullValues:e.nullValues},o=Array.isArray(r)?(s,a)=>r[a]||i:({name:s})=>r[s]||i;for(let[s,a]of t.children.entries()){let{type:c}=a,l=o(a,s);n.children.push(Ec(Object.assign(Object.assign({},l),{type:c})))}}return n}function M0(e,t){return oj(e,t.map(n=>n.data.concat()))}function oj(e,t){let n=[...e.fields],r=[],i={numBatches:t.reduce((f,d)=>Math.max(f,d.length),0)},o=0,s=0,a=-1,c=t.length,l,u=[];for(;i.numBatches-- >0;){for(s=Number.POSITIVE_INFINITY,a=-1;++a<c;)u[a]=l=t[a].shift(),s=Math.min(s,l?l.length:s);Number.isFinite(s)&&(u=sj(n,s,u,t,i),s>0&&(r[o++]=Nt({type:new be(n),length:s,nullCount:0,children:u.slice()})))}return[e=e.assign(n),r.map(f=>new ke(e,f))]}function sj(e,t,n,r,i){var o;let s=(t+63&-64)>>3;for(let a=-1,c=r.length;++a<c;){let l=n[a],u=l?.length;if(u>=t)u===t?n[a]=l:(n[a]=l.slice(0,t),i.numBatches=Math.max(i.numBatches,r[a].unshift(l.slice(t,u-t))));else{let f=e[a];e[a]=f.clone({nullable:!0}),n[a]=(o=l?._changeLengthAndBackfillNullBitmap(t))!==null&&o!==void 0?o:Nt({type:f.type,length:t,nullCount:t,nullBitmap:new Uint8Array(s)})}}return n}var tB,pr=class e{constructor(...t){var n,r;if(t.length===0)return this.batches=[],this.schema=new oe([]),this._offsets=[0],this;let i,o;t[0]instanceof oe&&(i=t.shift()),t.at(-1)instanceof Uint32Array&&(o=t.pop());let s=c=>{if(c){if(c instanceof ke)return[c];if(c instanceof e)return c.batches;if(c instanceof te){if(c.type instanceof be)return[new ke(new oe(c.type.children),c)]}else{if(Array.isArray(c))return c.flatMap(l=>s(l));if(typeof c[Symbol.iterator]=="function")return[...c].flatMap(l=>s(l));if(typeof c=="object"){let l=Object.keys(c),u=l.map(h=>new Xt([c[h]])),f=i??new oe(l.map((h,p)=>new Ut(String(h),u[p].type,u[p].nullable))),[,d]=M0(f,u);return d.length===0?[new ke(c)]:d}}}return[]},a=t.flatMap(c=>s(c));if(i=(r=i??((n=a[0])===null||n===void 0?void 0:n.schema))!==null&&r!==void 0?r:new oe([]),!(i instanceof oe))throw new TypeError("Table constructor expects a [Schema, RecordBatch[]] pair.");for(let c of a){if(!(c instanceof ke))throw new TypeError("Table constructor expects a [Schema, RecordBatch[]] pair.");if(!Bc(i,c.schema))throw new TypeError("Table and inner RecordBatch schemas must be equivalent.")}this.schema=i,this.batches=a,this._offsets=o??Zg(this.data)}get data(){return this.batches.map(({data:t})=>t)}get numCols(){return this.schema.fields.length}get numRows(){return this.data.reduce((t,n)=>t+n.length,0)}get nullCount(){return this._nullCount===-1&&(this._nullCount=Hg(this.data)),this._nullCount}isValid(t){return!1}get(t){return null}set(t,n){}indexOf(t,n){return-1}[Symbol.iterator](){return this.batches.length>0?cu.visit(new Xt(this.data)):new Array(0)[Symbol.iterator]()}toArray(){return[...this]}toString(){return`[
|
|
7
|
+
return true;`)}function Lj(e){return typeof e!="bigint"?Oi(e):`${Oi(e)}n`}function I2(e,t){let n=Math.ceil(e)*t-1;return(n-n%64+64||64)/t}function O5(e,t=0){return e.length>=t?e.subarray(0,t):qh(new e.constructor(t),e,0)}var ki=class{constructor(t,n=0,r=1){this.length=Math.ceil(n/r),this.buffer=new t(this.length),this.stride=r,this.BYTES_PER_ELEMENT=t.BYTES_PER_ELEMENT,this.ArrayType=t}get byteLength(){return Math.ceil(this.length*this.stride)*this.BYTES_PER_ELEMENT}get reservedLength(){return this.buffer.length/this.stride}get reservedByteLength(){return this.buffer.byteLength}set(t,n){return this}append(t){return this.set(this.length,t)}reserve(t){if(t>0){this.length+=t;let n=this.stride,r=this.length*n,i=this.buffer.length;r>=i&&this._resize(i===0?I2(r*1,this.BYTES_PER_ELEMENT):I2(r*2,this.BYTES_PER_ELEMENT))}return this}flush(t=this.length){t=I2(t*this.stride,this.BYTES_PER_ELEMENT);let n=O5(this.buffer,t);return this.clear(),n}clear(){return this.length=0,this.buffer=new this.ArrayType,this}_resize(t){return this.buffer=O5(this.buffer,t)}},us=class extends ki{last(){return this.get(this.length-1)}get(t){return this.buffer[t]}set(t,n){return this.reserve(t-this.length+1),this.buffer[t*this.stride]=n,this}},gu=class extends us{constructor(){super(Uint8Array,0,1/8),this.numValid=0}get numInvalid(){return this.length-this.numValid}get(t){return this.buffer[t>>3]>>t%8&1}set(t,n){let{buffer:r}=this.reserve(t-this.length+1),i=t>>3,o=t%8,s=r[i]>>o&1;return n?s===0&&(r[i]|=1<<o,++this.numValid):s===1&&(r[i]&=~(1<<o),--this.numValid),this}clear(){return this.numValid=0,super.clear()}},xu=class extends us{constructor(t){super(t.OffsetArrayType,1,1)}append(t){return this.set(this.length-1,t)}set(t,n){let r=this.length-1,i=this.reserve(t-r+1).buffer;return r<t++&&r>=0&&i.fill(i[r],r,t),i[t]=i[t-1]+n,this}flush(t=this.length-1){return t>this.length&&this.set(t-1,this.BYTES_PER_ELEMENT>4?BigInt(0):0),super.flush(t+1)}};var _e=class{static throughNode(t){throw new Error('"throughNode" not available in this environment')}static throughDOM(t){throw new Error('"throughDOM" not available in this environment')}constructor({type:t,nullValues:n}){this.length=0,this.finished=!1,this.type=t,this.children=[],this.nullValues=n,this.stride=Br(t),this._nulls=new gu,n&&n.length>0&&(this._isValid=N5(n))}toVector(){return new Gt([this.flush()])}get ArrayType(){return this.type.ArrayType}get nullCount(){return this._nulls.numInvalid}get numChildren(){return this.children.length}get byteLength(){let t=0,{_offsets:n,_values:r,_nulls:i,_typeIds:o,children:s}=this;return n&&(t+=n.byteLength),r&&(t+=r.byteLength),i&&(t+=i.byteLength),o&&(t+=o.byteLength),s.reduce((a,c)=>a+c.byteLength,t)}get reservedLength(){return this._nulls.reservedLength}get reservedByteLength(){let t=0;return this._offsets&&(t+=this._offsets.reservedByteLength),this._values&&(t+=this._values.reservedByteLength),this._nulls&&(t+=this._nulls.reservedByteLength),this._typeIds&&(t+=this._typeIds.reservedByteLength),this.children.reduce((n,r)=>n+r.reservedByteLength,t)}get valueOffsets(){return this._offsets?this._offsets.buffer:null}get values(){return this._values?this._values.buffer:null}get nullBitmap(){return this._nulls?this._nulls.buffer:null}get typeIds(){return this._typeIds?this._typeIds.buffer:null}append(t){return this.set(this.length,t)}isValid(t){return this._isValid(t)}set(t,n){return this.setValid(t,this.isValid(n))&&this.setValue(t,n),this}setValue(t,n){this._setValue(this,t,n)}setValid(t,n){return this.length=this._nulls.set(t,+n).length,n}addChild(t,n=`${this.numChildren}`){throw new Error(`Cannot append children to non-nested type "${this.type}"`)}getChildAt(t){return this.children[t]||null}flush(){let t,n,r,i,{type:o,length:s,nullCount:a,_typeIds:c,_offsets:l,_values:u,_nulls:f}=this;(n=c?.flush(s))?i=l?.flush(s):(i=l?.flush(s))?t=u?.flush(l.last()):t=u?.flush(s),a>0&&(r=f?.flush(s));let h=this.children.map(d=>d.flush());return this.clear(),Dt({type:o,length:s,nullCount:a,children:h,child:h[0],data:t,typeIds:n,nullBitmap:r,valueOffsets:i})}finish(){this.finished=!0;for(let t of this.children)t.finish();return this}clear(){var t,n,r,i;this.length=0,(t=this._nulls)===null||t===void 0||t.clear(),(n=this._values)===null||n===void 0||n.clear(),(r=this._offsets)===null||r===void 0||r.clear(),(i=this._typeIds)===null||i===void 0||i.clear();for(let o of this.children)o.clear();return this}};_e.prototype.length=1;_e.prototype.stride=1;_e.prototype.children=null;_e.prototype.finished=!1;_e.prototype.nullValues=null;_e.prototype._isValid=()=>!0;var Ge=class extends _e{constructor(t){super(t),this._values=new us(this.ArrayType,0,this.stride)}setValue(t,n){let r=this._values;return r.reserve(t-r.length+1),super.setValue(t,n)}},mr=class extends _e{constructor(t){super(t),this._pendingLength=0,this._offsets=new xu(t.type)}setValue(t,n){let r=this._pending||(this._pending=new Map),i=r.get(t);i&&(this._pendingLength-=i.length),this._pendingLength+=n instanceof yo?n[ni].length:n.length,r.set(t,n)}setValid(t,n){return super.setValid(t,n)?!0:((this._pending||(this._pending=new Map)).set(t,void 0),!1)}clear(){return this._pendingLength=0,this._pending=void 0,super.clear()}flush(){return this._flush(),super.flush()}finish(){return this._flush(),super.finish()}_flush(){let t=this._pending,n=this._pendingLength;return this._pendingLength=0,this._pending=void 0,t&&t.size>0&&this._flushPending(t,n),this}};var Nc=class{constructor(){this.bb=null,this.bb_pos=0}__init(t,n){return this.bb_pos=t,this.bb=n,this}offset(){return this.bb.readInt64(this.bb_pos)}metaDataLength(){return this.bb.readInt32(this.bb_pos+8)}bodyLength(){return this.bb.readInt64(this.bb_pos+16)}static sizeOf(){return 24}static createBlock(t,n,r,i){return t.prep(8,24),t.writeInt64(BigInt(i??0)),t.pad(4),t.writeInt32(r),t.writeInt64(BigInt(n??0)),t.offset()}};var Cr=class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,n){return this.bb_pos=t,this.bb=n,this}static getRootAsFooter(t,n){return(n||new e).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsFooter(t,n){return t.setPosition(t.position()+4),(n||new e).__init(t.readInt32(t.position())+t.position(),t)}version(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):le.V1}schema(t){let n=this.bb.__offset(this.bb_pos,6);return n?(t||new dr).__init(this.bb.__indirect(this.bb_pos+n),this.bb):null}dictionaries(t,n){let r=this.bb.__offset(this.bb_pos,8);return r?(n||new Nc).__init(this.bb.__vector(this.bb_pos+r)+t*24,this.bb):null}dictionariesLength(){let t=this.bb.__offset(this.bb_pos,8);return t?this.bb.__vector_len(this.bb_pos+t):0}recordBatches(t,n){let r=this.bb.__offset(this.bb_pos,10);return r?(n||new Nc).__init(this.bb.__vector(this.bb_pos+r)+t*24,this.bb):null}recordBatchesLength(){let t=this.bb.__offset(this.bb_pos,10);return t?this.bb.__vector_len(this.bb_pos+t):0}customMetadata(t,n){let r=this.bb.__offset(this.bb_pos,12);return r?(n||new on).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+t*4),this.bb):null}customMetadataLength(){let t=this.bb.__offset(this.bb_pos,12);return t?this.bb.__vector_len(this.bb_pos+t):0}static startFooter(t){t.startObject(5)}static addVersion(t,n){t.addFieldInt16(0,n,le.V1)}static addSchema(t,n){t.addFieldOffset(1,n,0)}static addDictionaries(t,n){t.addFieldOffset(2,n,0)}static startDictionariesVector(t,n){t.startVector(24,n,8)}static addRecordBatches(t,n){t.addFieldOffset(3,n,0)}static startRecordBatchesVector(t,n){t.startVector(24,n,8)}static addCustomMetadata(t,n){t.addFieldOffset(4,n,0)}static createCustomMetadataVector(t,n){t.startVector(4,n.length,4);for(let r=n.length-1;r>=0;r--)t.addOffset(n[r]);return t.endVector()}static startCustomMetadataVector(t,n){t.startVector(4,n,4)}static endFooter(t){return t.endObject()}static finishFooterBuffer(t,n){t.finish(n)}static finishSizePrefixedFooterBuffer(t,n){t.finish(n,void 0,!0)}};var se=class e{constructor(t=[],n,r,i=le.V5){this.fields=t||[],this.metadata=n||new Map,r||(r=M2(t)),this.dictionaries=r,this.metadataVersion=i}get[Symbol.toStringTag](){return"Schema"}get names(){return this.fields.map(t=>t.name)}toString(){return`Schema<{ ${this.fields.map((t,n)=>`${n}: ${t}`).join(", ")} }>`}select(t){let n=new Set(t),r=this.fields.filter(i=>n.has(i.name));return new e(r,this.metadata)}selectAt(t){let n=t.map(r=>this.fields[r]).filter(Boolean);return new e(n,this.metadata)}assign(...t){let n=t[0]instanceof e?t[0]:Array.isArray(t[0])?new e(t[0]):new e(t),r=[...this.fields],i=m0(m0(new Map,this.metadata),n.metadata),o=n.fields.filter(a=>{let c=r.findIndex(l=>l.name===a.name);return~c?(r[c]=a.clone({metadata:m0(m0(new Map,r[c].metadata),a.metadata)}))&&!1:!0}),s=M2(o,new Map);return new e([...r,...o],i,new Map([...this.dictionaries,...s]))}};se.prototype.fields=null;se.prototype.metadata=null;se.prototype.dictionaries=null;var qt=class e{static new(...t){let[n,r,i,o]=t;return t[0]&&typeof t[0]=="object"&&({name:n}=t[0],r===void 0&&(r=t[0].type),i===void 0&&(i=t[0].nullable),o===void 0&&(o=t[0].metadata)),new e(`${n}`,r,i,o)}constructor(t,n,r=!1,i){this.name=t,this.type=n,this.nullable=r,this.metadata=i||new Map}get typeId(){return this.type.typeId}get[Symbol.toStringTag](){return"Field"}toString(){return`${this.name}: ${this.type}`}clone(...t){let[n,r,i,o]=t;return!t[0]||typeof t[0]!="object"?[n=this.name,r=this.type,i=this.nullable,o=this.metadata]=t:{name:n=this.name,type:r=this.type,nullable:i=this.nullable,metadata:o=this.metadata}=t[0],e.new(n,r,i,o)}};qt.prototype.type=null;qt.prototype.name=null;qt.prototype.nullable=null;qt.prototype.metadata=null;function m0(e,t){return new Map([...e||new Map,...t||new Map])}function M2(e,t=new Map){for(let n=-1,r=e.length;++n<r;){let o=e[n].type;if(H.isDictionary(o)){if(!t.has(o.id))t.set(o.id,o.dictionary);else if(t.get(o.id)!==o.dictionary)throw new Error("Cannot create Schema containing two different dictionaries with the same Id")}o.children&&o.children.length>0&&M2(o.children,t)}return t}var Bj=Mc,Cj=Or,fs=class{static decode(t){t=new Cj(_t(t));let n=Cr.getRootAsFooter(t),r=se.decode(n.schema(),new Map,n.version());return new A2(r,n)}static encode(t){let n=new Bj,r=se.encode(n,t.schema);Cr.startRecordBatchesVector(n,t.numRecordBatches);for(let s of[...t.recordBatches()].slice().reverse())hs.encode(n,s);let i=n.endVector();Cr.startDictionariesVector(n,t.numDictionaries);for(let s of[...t.dictionaryBatches()].slice().reverse())hs.encode(n,s);let o=n.endVector();return Cr.startFooter(n),Cr.addSchema(n,r),Cr.addVersion(n,le.V5),Cr.addRecordBatches(n,i),Cr.addDictionaries(n,o),Cr.finishFooterBuffer(n,Cr.endFooter(n)),n.asUint8Array()}get numRecordBatches(){return this._recordBatches.length}get numDictionaries(){return this._dictionaryBatches.length}constructor(t,n=le.V5,r,i){this.schema=t,this.version=n,r&&(this._recordBatches=r),i&&(this._dictionaryBatches=i)}*recordBatches(){for(let t,n=-1,r=this.numRecordBatches;++n<r;)(t=this.getRecordBatch(n))&&(yield t)}*dictionaryBatches(){for(let t,n=-1,r=this.numDictionaries;++n<r;)(t=this.getDictionaryBatch(n))&&(yield t)}getRecordBatch(t){return t>=0&&t<this.numRecordBatches&&this._recordBatches[t]||null}getDictionaryBatch(t){return t>=0&&t<this.numDictionaries&&this._dictionaryBatches[t]||null}};var A2=class extends fs{get numRecordBatches(){return this._footer.recordBatchesLength()}get numDictionaries(){return this._footer.dictionariesLength()}constructor(t,n){super(t,n.version()),this._footer=n}getRecordBatch(t){if(t>=0&&t<this.numRecordBatches){let n=this._footer.recordBatches(t);if(n)return hs.decode(n)}return null}getDictionaryBatch(t){if(t>=0&&t<this.numDictionaries){let n=this._footer.dictionaries(t);if(n)return hs.decode(n)}return null}},hs=class e{static decode(t){return new e(t.metaDataLength(),t.bodyLength(),t.offset())}static encode(t,n){let{metaDataLength:r}=n,i=BigInt(n.offset),o=BigInt(n.bodyLength);return Nc.createBlock(t,i,r,o)}constructor(t,n,r){this.metaDataLength=t,this.offset=Ne(r),this.bodyLength=Ne(n)}};var ve=Object.freeze({done:!0,value:void 0}),xd=class{constructor(t){this._json=t}get schema(){return this._json.schema}get batches(){return this._json.batches||[]}get dictionaries(){return this._json.dictionaries||[]}},Oc=class{tee(){return this._getDOMStream().tee()}pipe(t,n){return this._getNodeStream().pipe(t,n)}pipeTo(t,n){return this._getDOMStream().pipeTo(t,n)}pipeThrough(t,n){return this._getDOMStream().pipeThrough(t,n)}_getDOMStream(){return this._DOMStream||(this._DOMStream=this.toDOMStream())}_getNodeStream(){return this._nodeStream||(this._nodeStream=this.toNodeStream())}},y0=class extends Oc{constructor(){super(),this._values=[],this.resolvers=[],this._closedPromise=new Promise(t=>this._closedPromiseResolve=t)}get closed(){return this._closedPromise}cancel(t){return J(this,void 0,void 0,function*(){yield this.return(t)})}write(t){this._ensureOpen()&&(this.resolvers.length<=0?this._values.push(t):this.resolvers.shift().resolve({done:!1,value:t}))}abort(t){this._closedPromiseResolve&&(this.resolvers.length<=0?this._error={error:t}:this.resolvers.shift().reject({done:!0,value:t}))}close(){if(this._closedPromiseResolve){let{resolvers:t}=this;for(;t.length>0;)t.shift().resolve(ve);this._closedPromiseResolve(),this._closedPromiseResolve=void 0}}[Symbol.asyncIterator](){return this}toDOMStream(t){return _n.toDOMStream(this._closedPromiseResolve||this._error?this:this._values,t)}toNodeStream(t){return _n.toNodeStream(this._closedPromiseResolve||this._error?this:this._values,t)}throw(t){return J(this,void 0,void 0,function*(){return yield this.abort(t),ve})}return(t){return J(this,void 0,void 0,function*(){return yield this.close(),ve})}read(t){return J(this,void 0,void 0,function*(){return(yield this.next(t,"read")).value})}peek(t){return J(this,void 0,void 0,function*(){return(yield this.next(t,"peek")).value})}next(...t){return this._values.length>0?Promise.resolve({done:!1,value:this._values.shift()}):this._error?Promise.reject({done:!0,value:this._error.error}):this._closedPromiseResolve?new Promise((n,r)=>{this.resolvers.push({resolve:n,reject:r})}):Promise.resolve(ve)}_ensureOpen(){if(this._closedPromiseResolve)return!0;throw new Error("AsyncQueue is closed")}};var go=class extends y0{write(t){if((t=_t(t)).byteLength>0)return super.write(t)}toString(t=!1){return t?Uh(this.toUint8Array(!0)):this.toUint8Array(!1).then(Uh)}toUint8Array(t=!1){return t?Nr(this._values)[0]:J(this,void 0,void 0,function*(){var n,r,i,o;let s=[],a=0;try{for(var c=!0,l=Ii(this),u;u=yield l.next(),n=u.done,!n;c=!0){o=u.value,c=!1;let f=o;s.push(f),a+=f.byteLength}}catch(f){r={error:f}}finally{try{!c&&!n&&(i=l.return)&&(yield i.call(l))}finally{if(r)throw r.error}}return Nr(s,a)[0]})}},xo=class{constructor(t){t&&(this.source=new T2(_n.fromIterable(t)))}[Symbol.iterator](){return this}next(t){return this.source.next(t)}throw(t){return this.source.throw(t)}return(t){return this.source.return(t)}peek(t){return this.source.peek(t)}read(t){return this.source.read(t)}},ri=class e{constructor(t){t instanceof e?this.source=t.source:t instanceof go?this.source=new ds(_n.fromAsyncIterable(t)):kg(t)?this.source=new ds(_n.fromNodeStream(t)):zh(t)?this.source=new ds(_n.fromDOMStream(t)):Bg(t)?this.source=new ds(_n.fromDOMStream(t.body)):Mi(t)?this.source=new ds(_n.fromIterable(t)):Dr(t)?this.source=new ds(_n.fromAsyncIterable(t)):Hr(t)&&(this.source=new ds(_n.fromAsyncIterable(t)))}[Symbol.asyncIterator](){return this}next(t){return this.source.next(t)}throw(t){return this.source.throw(t)}return(t){return this.source.return(t)}get closed(){return this.source.closed}cancel(t){return this.source.cancel(t)}peek(t){return this.source.peek(t)}read(t){return this.source.read(t)}},T2=class{constructor(t){this.source=t}cancel(t){this.return(t)}peek(t){return this.next(t,"peek").value}read(t){return this.next(t,"read").value}next(t,n="read"){return this.source.next({cmd:n,size:t})}throw(t){return Object.create(this.source.throw&&this.source.throw(t)||ve)}return(t){return Object.create(this.source.return&&this.source.return(t)||ve)}},ds=class{constructor(t){this.source=t,this._closedPromise=new Promise(n=>this._closedPromiseResolve=n)}cancel(t){return J(this,void 0,void 0,function*(){yield this.return(t)})}get closed(){return this._closedPromise}read(t){return J(this,void 0,void 0,function*(){return(yield this.next(t,"read")).value})}peek(t){return J(this,void 0,void 0,function*(){return(yield this.next(t,"peek")).value})}next(t,n="read"){return J(this,void 0,void 0,function*(){return yield this.source.next({cmd:n,size:t})})}throw(t){return J(this,void 0,void 0,function*(){let n=this.source.throw&&(yield this.source.throw(t))||ve;return this._closedPromiseResolve&&this._closedPromiseResolve(),this._closedPromiseResolve=void 0,Object.create(n)})}return(t){return J(this,void 0,void 0,function*(){let n=this.source.return&&(yield this.source.return(t))||ve;return this._closedPromiseResolve&&this._closedPromiseResolve(),this._closedPromiseResolve=void 0,Object.create(n)})}};var bd=class extends xo{constructor(t,n){super(),this.position=0,this.buffer=_t(t),this.size=n===void 0?this.buffer.byteLength:n}readInt32(t){let{buffer:n,byteOffset:r}=this.readAt(t,4);return new DataView(n,r).getInt32(0,!0)}seek(t){return this.position=Math.min(t,this.size),t<this.size}read(t){let{buffer:n,size:r,position:i}=this;return n&&i<r?(typeof t!="number"&&(t=Number.POSITIVE_INFINITY),this.position=Math.min(r,i+Math.min(r-i,t)),n.subarray(i,this.position)):null}readAt(t,n){let r=this.buffer,i=Math.min(this.size,t+n);return r?r.subarray(t,i):new Uint8Array(n)}close(){this.buffer&&(this.buffer=null)}throw(t){return this.close(),{done:!0,value:t}}return(t){return this.close(),{done:!0,value:t}}},Ma=class extends ri{constructor(t,n){super(),this.position=0,this._handle=t,typeof n=="number"?this.size=n:this._pending=J(this,void 0,void 0,function*(){this.size=(yield t.stat()).size,delete this._pending})}readInt32(t){return J(this,void 0,void 0,function*(){let{buffer:n,byteOffset:r}=yield this.readAt(t,4);return new DataView(n,r).getInt32(0,!0)})}seek(t){return J(this,void 0,void 0,function*(){return this._pending&&(yield this._pending),this.position=Math.min(t,this.size),t<this.size})}read(t){return J(this,void 0,void 0,function*(){this._pending&&(yield this._pending);let{_handle:n,size:r,position:i}=this;if(n&&i<r){typeof t!="number"&&(t=Number.POSITIVE_INFINITY);let o=i,s=0,a=0,c=Math.min(r,o+Math.min(r-o,t)),l=new Uint8Array(Math.max(0,(this.position=c)-o));for(;(o+=a)<c&&(s+=a)<l.byteLength;)({bytesRead:a}=yield n.read(l,s,l.byteLength-s,o));return l}return null})}readAt(t,n){return J(this,void 0,void 0,function*(){this._pending&&(yield this._pending);let{_handle:r,size:i}=this;if(r&&t+n<i){let o=Math.min(i,t+n),s=new Uint8Array(o-t);return(yield r.read(s,0,n,t)).buffer}return new Uint8Array(n)})}close(){return J(this,void 0,void 0,function*(){let t=this._handle;this._handle=null,t&&(yield t.close())})}throw(t){return J(this,void 0,void 0,function*(){return yield this.close(),{done:!0,value:t}})}return(t){return J(this,void 0,void 0,function*(){return yield this.close(),{done:!0,value:t}})}};var D2={};Tr(D2,{BaseInt64:()=>wd,Int128:()=>vd,Int64:()=>ps,Uint64:()=>Oe});function bu(e){return e<0&&(e=4294967295+e+1),`0x${e.toString(16)}`}var wu=8,E2=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8],wd=class{constructor(t){this.buffer=t}high(){return this.buffer[1]}low(){return this.buffer[0]}_times(t){let n=new Uint32Array([this.buffer[1]>>>16,this.buffer[1]&65535,this.buffer[0]>>>16,this.buffer[0]&65535]),r=new Uint32Array([t.buffer[1]>>>16,t.buffer[1]&65535,t.buffer[0]>>>16,t.buffer[0]&65535]),i=n[3]*r[3];this.buffer[0]=i&65535;let o=i>>>16;return i=n[2]*r[3],o+=i,i=n[3]*r[2]>>>0,o+=i,this.buffer[0]+=o<<16,this.buffer[1]=o>>>0<i?65536:0,this.buffer[1]+=o>>>16,this.buffer[1]+=n[1]*r[3]+n[2]*r[2]+n[3]*r[1],this.buffer[1]+=n[0]*r[3]+n[1]*r[2]+n[2]*r[1]+n[3]*r[0]<<16,this}_plus(t){let n=this.buffer[0]+t.buffer[0]>>>0;this.buffer[1]+=t.buffer[1],n<this.buffer[0]>>>0&&++this.buffer[1],this.buffer[0]=n}lessThan(t){return this.buffer[1]<t.buffer[1]||this.buffer[1]===t.buffer[1]&&this.buffer[0]<t.buffer[0]}equals(t){return this.buffer[1]===t.buffer[1]&&this.buffer[0]==t.buffer[0]}greaterThan(t){return t.lessThan(this)}hex(){return`${bu(this.buffer[1])} ${bu(this.buffer[0])}`}},Oe=class e extends wd{times(t){return this._times(t),this}plus(t){return this._plus(t),this}static from(t,n=new Uint32Array(2)){return e.fromString(typeof t=="string"?t:t.toString(),n)}static fromNumber(t,n=new Uint32Array(2)){return e.fromString(t.toString(),n)}static fromString(t,n=new Uint32Array(2)){let r=t.length,i=new e(n);for(let o=0;o<r;){let s=wu<r-o?wu:r-o,a=new e(new Uint32Array([Number.parseInt(t.slice(o,o+s),10),0])),c=new e(new Uint32Array([E2[s],0]));i.times(c),i.plus(a),o+=s}return i}static convertArray(t){let n=new Uint32Array(t.length*2);for(let r=-1,i=t.length;++r<i;)e.from(t[r],new Uint32Array(n.buffer,n.byteOffset+2*r*4,2));return n}static multiply(t,n){return new e(new Uint32Array(t.buffer)).times(n)}static add(t,n){return new e(new Uint32Array(t.buffer)).plus(n)}},ps=class e extends wd{negate(){return this.buffer[0]=~this.buffer[0]+1,this.buffer[1]=~this.buffer[1],this.buffer[0]==0&&++this.buffer[1],this}times(t){return this._times(t),this}plus(t){return this._plus(t),this}lessThan(t){let n=this.buffer[1]<<0,r=t.buffer[1]<<0;return n<r||n===r&&this.buffer[0]<t.buffer[0]}static from(t,n=new Uint32Array(2)){return e.fromString(typeof t=="string"?t:t.toString(),n)}static fromNumber(t,n=new Uint32Array(2)){return e.fromString(t.toString(),n)}static fromString(t,n=new Uint32Array(2)){let r=t.startsWith("-"),i=t.length,o=new e(n);for(let s=r?1:0;s<i;){let a=wu<i-s?wu:i-s,c=new e(new Uint32Array([Number.parseInt(t.slice(s,s+a),10),0])),l=new e(new Uint32Array([E2[a],0]));o.times(l),o.plus(c),s+=a}return r?o.negate():o}static convertArray(t){let n=new Uint32Array(t.length*2);for(let r=-1,i=t.length;++r<i;)e.from(t[r],new Uint32Array(n.buffer,n.byteOffset+2*r*4,2));return n}static multiply(t,n){return new e(new Uint32Array(t.buffer)).times(n)}static add(t,n){return new e(new Uint32Array(t.buffer)).plus(n)}},vd=class e{constructor(t){this.buffer=t}high(){return new ps(new Uint32Array(this.buffer.buffer,this.buffer.byteOffset+8,2))}low(){return new ps(new Uint32Array(this.buffer.buffer,this.buffer.byteOffset,2))}negate(){return this.buffer[0]=~this.buffer[0]+1,this.buffer[1]=~this.buffer[1],this.buffer[2]=~this.buffer[2],this.buffer[3]=~this.buffer[3],this.buffer[0]==0&&++this.buffer[1],this.buffer[1]==0&&++this.buffer[2],this.buffer[2]==0&&++this.buffer[3],this}times(t){let n=new Oe(new Uint32Array([this.buffer[3],0])),r=new Oe(new Uint32Array([this.buffer[2],0])),i=new Oe(new Uint32Array([this.buffer[1],0])),o=new Oe(new Uint32Array([this.buffer[0],0])),s=new Oe(new Uint32Array([t.buffer[3],0])),a=new Oe(new Uint32Array([t.buffer[2],0])),c=new Oe(new Uint32Array([t.buffer[1],0])),l=new Oe(new Uint32Array([t.buffer[0],0])),u=Oe.multiply(o,l);this.buffer[0]=u.low();let f=new Oe(new Uint32Array([u.high(),0]));return u=Oe.multiply(i,l),f.plus(u),u=Oe.multiply(o,c),f.plus(u),this.buffer[1]=f.low(),this.buffer[3]=f.lessThan(u)?1:0,this.buffer[2]=f.high(),new Oe(new Uint32Array(this.buffer.buffer,this.buffer.byteOffset+8,2)).plus(Oe.multiply(r,l)).plus(Oe.multiply(i,c)).plus(Oe.multiply(o,a)),this.buffer[3]+=Oe.multiply(n,l).plus(Oe.multiply(r,c)).plus(Oe.multiply(i,a)).plus(Oe.multiply(o,s)).low(),this}plus(t){let n=new Uint32Array(4);return n[3]=this.buffer[3]+t.buffer[3]>>>0,n[2]=this.buffer[2]+t.buffer[2]>>>0,n[1]=this.buffer[1]+t.buffer[1]>>>0,n[0]=this.buffer[0]+t.buffer[0]>>>0,n[0]<this.buffer[0]>>>0&&++n[1],n[1]<this.buffer[1]>>>0&&++n[2],n[2]<this.buffer[2]>>>0&&++n[3],this.buffer[3]=n[3],this.buffer[2]=n[2],this.buffer[1]=n[1],this.buffer[0]=n[0],this}hex(){return`${bu(this.buffer[3])} ${bu(this.buffer[2])} ${bu(this.buffer[1])} ${bu(this.buffer[0])}`}static multiply(t,n){return new e(new Uint32Array(t.buffer)).times(n)}static add(t,n){return new e(new Uint32Array(t.buffer)).plus(n)}static from(t,n=new Uint32Array(4)){return e.fromString(typeof t=="string"?t:t.toString(),n)}static fromNumber(t,n=new Uint32Array(4)){return e.fromString(t.toString(),n)}static fromString(t,n=new Uint32Array(4)){let r=t.startsWith("-"),i=t.length,o=new e(n);for(let s=r?1:0;s<i;){let a=wu<i-s?wu:i-s,c=new e(new Uint32Array([Number.parseInt(t.slice(s,s+a),10),0,0,0])),l=new e(new Uint32Array([E2[a],0,0,0]));o.times(l),o.plus(c),s+=a}return r?o.negate():o}static convertArray(t){let n=new Uint32Array(t.length*4);for(let r=-1,i=t.length;++r<i;)e.from(t[r],new Uint32Array(n.buffer,n.byteOffset+4*4*r,4));return n}};var _d=class extends mt{constructor(t,n,r,i,o=le.V5){super(),this.nodesIndex=-1,this.buffersIndex=-1,this.bytes=t,this.nodes=n,this.buffers=r,this.dictionaries=i,this.metadataVersion=o}visit(t){return super.visit(t instanceof qt?t.type:t)}visitNull(t,{length:n}=this.nextFieldNode()){return Dt({type:t,length:n})}visitBool(t,{length:n,nullCount:r}=this.nextFieldNode()){return Dt({type:t,length:n,nullCount:r,nullBitmap:this.readNullBitmap(t,r),data:this.readData(t)})}visitInt(t,{length:n,nullCount:r}=this.nextFieldNode()){return Dt({type:t,length:n,nullCount:r,nullBitmap:this.readNullBitmap(t,r),data:this.readData(t)})}visitFloat(t,{length:n,nullCount:r}=this.nextFieldNode()){return Dt({type:t,length:n,nullCount:r,nullBitmap:this.readNullBitmap(t,r),data:this.readData(t)})}visitUtf8(t,{length:n,nullCount:r}=this.nextFieldNode()){return Dt({type:t,length:n,nullCount:r,nullBitmap:this.readNullBitmap(t,r),valueOffsets:this.readOffsets(t),data:this.readData(t)})}visitLargeUtf8(t,{length:n,nullCount:r}=this.nextFieldNode()){return Dt({type:t,length:n,nullCount:r,nullBitmap:this.readNullBitmap(t,r),valueOffsets:this.readOffsets(t),data:this.readData(t)})}visitBinary(t,{length:n,nullCount:r}=this.nextFieldNode()){return Dt({type:t,length:n,nullCount:r,nullBitmap:this.readNullBitmap(t,r),valueOffsets:this.readOffsets(t),data:this.readData(t)})}visitLargeBinary(t,{length:n,nullCount:r}=this.nextFieldNode()){return Dt({type:t,length:n,nullCount:r,nullBitmap:this.readNullBitmap(t,r),valueOffsets:this.readOffsets(t),data:this.readData(t)})}visitFixedSizeBinary(t,{length:n,nullCount:r}=this.nextFieldNode()){return Dt({type:t,length:n,nullCount:r,nullBitmap:this.readNullBitmap(t,r),data:this.readData(t)})}visitDate(t,{length:n,nullCount:r}=this.nextFieldNode()){return Dt({type:t,length:n,nullCount:r,nullBitmap:this.readNullBitmap(t,r),data:this.readData(t)})}visitTimestamp(t,{length:n,nullCount:r}=this.nextFieldNode()){return Dt({type:t,length:n,nullCount:r,nullBitmap:this.readNullBitmap(t,r),data:this.readData(t)})}visitTime(t,{length:n,nullCount:r}=this.nextFieldNode()){return Dt({type:t,length:n,nullCount:r,nullBitmap:this.readNullBitmap(t,r),data:this.readData(t)})}visitDecimal(t,{length:n,nullCount:r}=this.nextFieldNode()){return Dt({type:t,length:n,nullCount:r,nullBitmap:this.readNullBitmap(t,r),data:this.readData(t)})}visitList(t,{length:n,nullCount:r}=this.nextFieldNode()){return Dt({type:t,length:n,nullCount:r,nullBitmap:this.readNullBitmap(t,r),valueOffsets:this.readOffsets(t),child:this.visit(t.children[0])})}visitStruct(t,{length:n,nullCount:r}=this.nextFieldNode()){return Dt({type:t,length:n,nullCount:r,nullBitmap:this.readNullBitmap(t,r),children:this.visitMany(t.children)})}visitUnion(t,{length:n,nullCount:r}=this.nextFieldNode()){return this.metadataVersion<le.V5&&this.readNullBitmap(t,r),t.mode===xe.Sparse?this.visitSparseUnion(t,{length:n,nullCount:r}):this.visitDenseUnion(t,{length:n,nullCount:r})}visitDenseUnion(t,{length:n,nullCount:r}=this.nextFieldNode()){return Dt({type:t,length:n,nullCount:r,typeIds:this.readTypeIds(t),valueOffsets:this.readOffsets(t),children:this.visitMany(t.children)})}visitSparseUnion(t,{length:n,nullCount:r}=this.nextFieldNode()){return Dt({type:t,length:n,nullCount:r,typeIds:this.readTypeIds(t),children:this.visitMany(t.children)})}visitDictionary(t,{length:n,nullCount:r}=this.nextFieldNode()){return Dt({type:t,length:n,nullCount:r,nullBitmap:this.readNullBitmap(t,r),data:this.readData(t.indices),dictionary:this.readDictionary(t)})}visitInterval(t,{length:n,nullCount:r}=this.nextFieldNode()){return Dt({type:t,length:n,nullCount:r,nullBitmap:this.readNullBitmap(t,r),data:this.readData(t)})}visitDuration(t,{length:n,nullCount:r}=this.nextFieldNode()){return Dt({type:t,length:n,nullCount:r,nullBitmap:this.readNullBitmap(t,r),data:this.readData(t)})}visitFixedSizeList(t,{length:n,nullCount:r}=this.nextFieldNode()){return Dt({type:t,length:n,nullCount:r,nullBitmap:this.readNullBitmap(t,r),child:this.visit(t.children[0])})}visitMap(t,{length:n,nullCount:r}=this.nextFieldNode()){return Dt({type:t,length:n,nullCount:r,nullBitmap:this.readNullBitmap(t,r),valueOffsets:this.readOffsets(t),child:this.visit(t.children[0])})}nextFieldNode(){return this.nodes[++this.nodesIndex]}nextBufferRange(){return this.buffers[++this.buffersIndex]}readNullBitmap(t,n,r=this.nextBufferRange()){return n>0&&this.readData(t,r)||new Uint8Array(0)}readOffsets(t,n){return this.readData(t,n)}readTypeIds(t,n){return this.readData(t,n)}readData(t,{length:n,offset:r}=this.nextBufferRange()){return this.bytes.subarray(r,r+n)}readDictionary(t){return this.dictionaries.get(t.id)}},g0=class extends _d{constructor(t,n,r,i,o){super(new Uint8Array(0),n,r,i,o),this.sources=t}readNullBitmap(t,n,{offset:r}=this.nextBufferRange()){return n<=0?new Uint8Array(0):Ec(this.sources[r])}readOffsets(t,{offset:n}=this.nextBufferRange()){return Ut(Uint8Array,Ut(t.OffsetArrayType,this.sources[n]))}readTypeIds(t,{offset:n}=this.nextBufferRange()){return Ut(Uint8Array,Ut(t.ArrayType,this.sources[n]))}readData(t,{offset:n}=this.nextBufferRange()){let{sources:r}=this;return H.isTimestamp(t)?Ut(Uint8Array,ps.convertArray(r[n])):(H.isInt(t)||H.isTime(t))&&t.bitWidth===64||H.isDuration(t)?Ut(Uint8Array,ps.convertArray(r[n])):H.isDate(t)&&t.unit===Ye.MILLISECOND?Ut(Uint8Array,ps.convertArray(r[n])):H.isDecimal(t)?Ut(Uint8Array,vd.convertArray(r[n])):H.isBinary(t)||H.isLargeBinary(t)||H.isFixedSizeBinary(t)?kj(r[n]):H.isBool(t)?Ec(r[n]):H.isUtf8(t)||H.isLargeUtf8(t)?Ki(r[n].join("")):Ut(Uint8Array,Ut(t.ArrayType,r[n].map(i=>+i)))}};function kj(e){let t=e.join(""),n=new Uint8Array(t.length/2);for(let r=0;r<t.length;r+=2)n[r>>1]=Number.parseInt(t.slice(r,r+2),16);return n}var vu=class extends mr{constructor(t){super(t),this._values=new ki(Uint8Array)}get byteLength(){let t=this._pendingLength+this.length*4;return this._offsets&&(t+=this._offsets.byteLength),this._values&&(t+=this._values.byteLength),this._nulls&&(t+=this._nulls.byteLength),t}setValue(t,n){return super.setValue(t,_t(n))}_flushPending(t,n){let r=this._offsets,i=this._values.reserve(n).buffer,o=0;for(let[s,a]of t)if(a===void 0)r.set(s,0);else{let c=a.length;i.set(a,o),r.set(s,c),o+=c}}};var _u=class extends mr{constructor(t){super(t),this._values=new ki(Uint8Array)}get byteLength(){let t=this._pendingLength+this.length*4;return this._offsets&&(t+=this._offsets.byteLength),this._values&&(t+=this._values.byteLength),this._nulls&&(t+=this._nulls.byteLength),t}setValue(t,n){return super.setValue(t,_t(n))}_flushPending(t,n){let r=this._offsets,i=this._values.reserve(n).buffer,o=0;for(let[s,a]of t)if(a===void 0)r.set(s,BigInt(0));else{let c=a.length;i.set(a,o),r.set(s,BigInt(c)),o+=c}}};var x0=class extends _e{constructor(t){super(t),this._values=new gu}setValue(t,n){this._values.set(t,+n)}};var Lc=class extends Ge{};Lc.prototype._setValue=c2;var Sd=class extends Lc{};Sd.prototype._setValue=Vg;var Id=class extends Lc{};Id.prototype._setValue=Yg;var Md=class extends Ge{};Md.prototype._setValue=f2;var b0=class extends _e{constructor({type:t,nullValues:n,dictionaryHashFunction:r}){super({type:new pr(t.dictionary,t.indices,t.id,t.isOrdered)}),this._nulls=null,this._dictionaryOffset=0,this._keysToIndices=Object.create(null),this.indices=Bc({type:this.type.indices,nullValues:n}),this.dictionary=Bc({type:this.type.dictionary,nullValues:null}),typeof r=="function"&&(this.valueToKey=r)}get values(){return this.indices.values}get nullCount(){return this.indices.nullCount}get nullBitmap(){return this.indices.nullBitmap}get byteLength(){return this.indices.byteLength+this.dictionary.byteLength}get reservedLength(){return this.indices.reservedLength+this.dictionary.reservedLength}get reservedByteLength(){return this.indices.reservedByteLength+this.dictionary.reservedByteLength}isValid(t){return this.indices.isValid(t)}setValid(t,n){let r=this.indices;return n=r.setValid(t,n),this.length=r.length,n}setValue(t,n){let r=this._keysToIndices,i=this.valueToKey(n),o=r[i];return o===void 0&&(r[i]=o=this._dictionaryOffset+this.dictionary.append(n).length-1),this.indices.setValue(t,o)}flush(){let t=this.type,n=this._dictionary,r=this.dictionary.toVector(),i=this.indices.flush().clone(t);return i.dictionary=n?n.concat(r):r,this.finished||(this._dictionaryOffset+=r.length),this._dictionary=i.dictionary,this.clear(),i}finish(){return this.indices.finish(),this.dictionary.finish(),this._dictionaryOffset=0,this._keysToIndices=Object.create(null),super.finish()}clear(){return this.indices.clear(),this.dictionary.clear(),super.clear()}valueToKey(t){return typeof t=="string"?t:`${t}`}};var Ad=class extends Ge{};Ad.prototype._setValue=a2;var w0=class extends _e{setValue(t,n){let[r]=this.children,i=t*this.stride;for(let o=-1,s=n.length;++o<s;)r.set(i+o,n[o])}addChild(t,n="0"){if(this.numChildren>0)throw new Error("FixedSizeListBuilder can only have one child.");let r=this.children.push(t);return this.type=new ti(this.type.listSize,new qt(n,t.type,!0)),r}};var Cc=class extends Ge{setValue(t,n){this._values.set(t,n)}},v0=class extends Cc{setValue(t,n){super.setValue(t,dd(n))}},_0=class extends Cc{},S0=class extends Cc{};var kc=class extends Ge{};kc.prototype._setValue=h2;var Td=class extends kc{};Td.prototype._setValue=t0;var Ed=class extends kc{};Ed.prototype._setValue=e0;var ms=class extends Ge{};ms.prototype._setValue=d2;var Dd=class extends ms{};Dd.prototype._setValue=n0;var Nd=class extends ms{};Nd.prototype._setValue=r0;var Od=class extends ms{};Od.prototype._setValue=i0;var Ld=class extends ms{};Ld.prototype._setValue=o0;var ii=class extends Ge{setValue(t,n){this._values.set(t,n)}},I0=class extends ii{},M0=class extends ii{},A0=class extends ii{},T0=class extends ii{},E0=class extends ii{},D0=class extends ii{},N0=class extends ii{},O0=class extends ii{};var L0=class extends mr{constructor(t){super(t),this._offsets=new xu(t.type)}addChild(t,n="0"){if(this.numChildren>0)throw new Error("ListBuilder can only have one child.");return this.children[this.numChildren]=t,this.type=new Qr(new qt(n,t.type,!0)),this.numChildren-1}_flushPending(t){let n=this._offsets,[r]=this.children;for(let[i,o]of t)if(typeof o>"u")n.set(i,0);else{let s=o,a=s.length,c=n.set(i,a).buffer[i];for(let l=-1;++l<a;)r.set(c+l,s[l])}}};var B0=class extends mr{set(t,n){return super.set(t,n)}setValue(t,n){let r=n instanceof Map?n:new Map(Object.entries(n)),i=this._pending||(this._pending=new Map),o=i.get(t);o&&(this._pendingLength-=o.size),this._pendingLength+=r.size,i.set(t,r)}addChild(t,n=`${this.numChildren}`){if(this.numChildren>0)throw new Error("ListBuilder can only have one child.");return this.children[this.numChildren]=t,this.type=new ei(new qt(n,t.type,!0),this.type.keysSorted),this.numChildren-1}_flushPending(t){let n=this._offsets,[r]=this.children;for(let[i,o]of t)if(o===void 0)n.set(i,0);else{let{[i]:s,[i+1]:a}=n.set(i,o.size).buffer;for(let c of o.entries())if(r.set(s,c),++s>=a)break}}};var C0=class extends _e{setValue(t,n){}setValid(t,n){return this.length=Math.max(t+1,this.length),n}};var k0=class extends _e{setValue(t,n){let{children:r,type:i}=this;switch(Array.isArray(n)||n.constructor){case!0:return i.children.forEach((o,s)=>r[s].set(t,n[s]));case Map:return i.children.forEach((o,s)=>r[s].set(t,n.get(o.name)));default:return i.children.forEach((o,s)=>r[s].set(t,n[o.name]))}}setValid(t,n){return super.setValid(t,n)||this.children.forEach(r=>r.setValid(t,n)),n}addChild(t,n=`${this.numChildren}`){let r=this.children.push(t);return this.type=new be([...this.type.children,new qt(n,t.type,!0)]),r}};var ys=class extends Ge{};ys.prototype._setValue=l2;var Bd=class extends ys{};Bd.prototype._setValue=Xg;var Cd=class extends ys{};Cd.prototype._setValue=Gg;var kd=class extends ys{};kd.prototype._setValue=Wg;var Rd=class extends ys{};Rd.prototype._setValue=Hg;var gs=class extends Ge{};gs.prototype._setValue=u2;var Fd=class extends gs{};Fd.prototype._setValue=Zg;var $d=class extends gs{};$d.prototype._setValue=Jg;var Pd=class extends gs{};Pd.prototype._setValue=Qg;var Ud=class extends gs{};Ud.prototype._setValue=Kg;var Su=class extends _e{constructor(t){super(t),this._typeIds=new us(Int8Array,0,1),typeof t.valueToChildTypeId=="function"&&(this._valueToChildTypeId=t.valueToChildTypeId)}get typeIdToChildIndex(){return this.type.typeIdToChildIndex}append(t,n){return this.set(this.length,t,n)}set(t,n,r){return r===void 0&&(r=this._valueToChildTypeId(this,n,t)),this.setValue(t,n,r),this}setValue(t,n,r){this._typeIds.set(t,r);let i=this.type.typeIdToChildIndex[r],o=this.children[i];o?.set(t,n)}addChild(t,n=`${this.children.length}`){let r=this.children.push(t),{type:{children:i,mode:o,typeIds:s}}=this,a=[...i,new qt(n,t.type)];return this.type=new Kr(o,[...s,r],a),r}_valueToChildTypeId(t,n,r){throw new Error("Cannot map UnionBuilder value to child typeId. Pass the `childTypeId` as the second argument to unionBuilder.append(), or supply a `valueToChildTypeId` function as part of the UnionBuilder constructor options.")}},R0=class extends Su{},F0=class extends Su{constructor(t){super(t),this._offsets=new us(Int32Array)}setValue(t,n,r){let i=this._typeIds.set(t,r).buffer[t],o=this.getChildAt(this.type.typeIdToChildIndex[i]),s=this._offsets.set(t,o.length).buffer[t];o?.set(s,n)}};var zd=class extends mr{constructor(t){super(t),this._values=new ki(Uint8Array)}get byteLength(){let t=this._pendingLength+this.length*4;return this._offsets&&(t+=this._offsets.byteLength),this._values&&(t+=this._values.byteLength),this._nulls&&(t+=this._nulls.byteLength),t}setValue(t,n){return super.setValue(t,Ki(n))}_flushPending(t,n){}};zd.prototype._flushPending=vu.prototype._flushPending;var qd=class extends mr{constructor(t){super(t),this._values=new ki(Uint8Array)}get byteLength(){let t=this._pendingLength+this.length*4;return this._offsets&&(t+=this._offsets.byteLength),this._values&&(t+=this._values.byteLength),this._nulls&&(t+=this._nulls.byteLength),t}setValue(t,n){return super.setValue(t,Ki(n))}_flushPending(t,n){}};qd.prototype._flushPending=_u.prototype._flushPending;var N2=class extends mt{visitNull(){return C0}visitBool(){return x0}visitInt(){return ii}visitInt8(){return I0}visitInt16(){return M0}visitInt32(){return A0}visitInt64(){return T0}visitUint8(){return E0}visitUint16(){return D0}visitUint32(){return N0}visitUint64(){return O0}visitFloat(){return Cc}visitFloat16(){return v0}visitFloat32(){return _0}visitFloat64(){return S0}visitUtf8(){return zd}visitLargeUtf8(){return qd}visitBinary(){return vu}visitLargeBinary(){return _u}visitFixedSizeBinary(){return Ad}visitDate(){return Lc}visitDateDay(){return Sd}visitDateMillisecond(){return Id}visitTimestamp(){return ys}visitTimestampSecond(){return Bd}visitTimestampMillisecond(){return Cd}visitTimestampMicrosecond(){return kd}visitTimestampNanosecond(){return Rd}visitTime(){return gs}visitTimeSecond(){return Fd}visitTimeMillisecond(){return $d}visitTimeMicrosecond(){return Pd}visitTimeNanosecond(){return Ud}visitDecimal(){return Md}visitList(){return L0}visitStruct(){return k0}visitUnion(){return Su}visitDenseUnion(){return F0}visitSparseUnion(){return R0}visitDictionary(){return b0}visitInterval(){return kc}visitIntervalDayTime(){return Td}visitIntervalYearMonth(){return Ed}visitDuration(){return ms}visitDurationSecond(){return Dd}visitDurationMillisecond(){return Nd}visitDurationMicrosecond(){return Od}visitDurationNanosecond(){return Ld}visitFixedSizeList(){return w0}visitMap(){return B0}},L5=new N2;var bt=class extends mt{compareSchemas(t,n){return t===n||n instanceof t.constructor&&this.compareManyFields(t.fields,n.fields)}compareManyFields(t,n){return t===n||Array.isArray(t)&&Array.isArray(n)&&t.length===n.length&&t.every((r,i)=>this.compareFields(r,n[i]))}compareFields(t,n){return t===n||n instanceof t.constructor&&t.name===n.name&&t.nullable===n.nullable&&this.visit(t.type,n.type)}};function Hn(e,t){return t instanceof e.constructor}function Rc(e,t){return e===t||Hn(e,t)}function xs(e,t){return e===t||Hn(e,t)&&e.bitWidth===t.bitWidth&&e.isSigned===t.isSigned}function $0(e,t){return e===t||Hn(e,t)&&e.precision===t.precision}function Rj(e,t){return e===t||Hn(e,t)&&e.byteWidth===t.byteWidth}function O2(e,t){return e===t||Hn(e,t)&&e.unit===t.unit}function jd(e,t){return e===t||Hn(e,t)&&e.unit===t.unit&&e.timezone===t.timezone}function Vd(e,t){return e===t||Hn(e,t)&&e.unit===t.unit&&e.bitWidth===t.bitWidth}function Fj(e,t){return e===t||Hn(e,t)&&e.children.length===t.children.length&&bo.compareManyFields(e.children,t.children)}function $j(e,t){return e===t||Hn(e,t)&&e.children.length===t.children.length&&bo.compareManyFields(e.children,t.children)}function L2(e,t){return e===t||Hn(e,t)&&e.mode===t.mode&&e.typeIds.every((n,r)=>n===t.typeIds[r])&&bo.compareManyFields(e.children,t.children)}function Pj(e,t){return e===t||Hn(e,t)&&e.id===t.id&&e.isOrdered===t.isOrdered&&bo.visit(e.indices,t.indices)&&bo.visit(e.dictionary,t.dictionary)}function B2(e,t){return e===t||Hn(e,t)&&e.unit===t.unit}function Yd(e,t){return e===t||Hn(e,t)&&e.unit===t.unit}function Uj(e,t){return e===t||Hn(e,t)&&e.listSize===t.listSize&&e.children.length===t.children.length&&bo.compareManyFields(e.children,t.children)}function zj(e,t){return e===t||Hn(e,t)&&e.keysSorted===t.keysSorted&&e.children.length===t.children.length&&bo.compareManyFields(e.children,t.children)}bt.prototype.visitNull=Rc;bt.prototype.visitBool=Rc;bt.prototype.visitInt=xs;bt.prototype.visitInt8=xs;bt.prototype.visitInt16=xs;bt.prototype.visitInt32=xs;bt.prototype.visitInt64=xs;bt.prototype.visitUint8=xs;bt.prototype.visitUint16=xs;bt.prototype.visitUint32=xs;bt.prototype.visitUint64=xs;bt.prototype.visitFloat=$0;bt.prototype.visitFloat16=$0;bt.prototype.visitFloat32=$0;bt.prototype.visitFloat64=$0;bt.prototype.visitUtf8=Rc;bt.prototype.visitLargeUtf8=Rc;bt.prototype.visitBinary=Rc;bt.prototype.visitLargeBinary=Rc;bt.prototype.visitFixedSizeBinary=Rj;bt.prototype.visitDate=O2;bt.prototype.visitDateDay=O2;bt.prototype.visitDateMillisecond=O2;bt.prototype.visitTimestamp=jd;bt.prototype.visitTimestampSecond=jd;bt.prototype.visitTimestampMillisecond=jd;bt.prototype.visitTimestampMicrosecond=jd;bt.prototype.visitTimestampNanosecond=jd;bt.prototype.visitTime=Vd;bt.prototype.visitTimeSecond=Vd;bt.prototype.visitTimeMillisecond=Vd;bt.prototype.visitTimeMicrosecond=Vd;bt.prototype.visitTimeNanosecond=Vd;bt.prototype.visitDecimal=Rc;bt.prototype.visitList=Fj;bt.prototype.visitStruct=$j;bt.prototype.visitUnion=L2;bt.prototype.visitDenseUnion=L2;bt.prototype.visitSparseUnion=L2;bt.prototype.visitDictionary=Pj;bt.prototype.visitInterval=B2;bt.prototype.visitIntervalDayTime=B2;bt.prototype.visitIntervalYearMonth=B2;bt.prototype.visitDuration=Yd;bt.prototype.visitDurationSecond=Yd;bt.prototype.visitDurationMillisecond=Yd;bt.prototype.visitDurationMicrosecond=Yd;bt.prototype.visitDurationNanosecond=Yd;bt.prototype.visitFixedSizeList=Uj;bt.prototype.visitMap=zj;var bo=new bt;function Fc(e,t){return bo.compareSchemas(e,t)}function B5(e,t){return bo.compareFields(e,t)}function C5(e,t){return bo.visit(e,t)}function Bc(e){let t=e.type,n=new(L5.getVisitFn(t)())(e);if(t.children&&t.children.length>0){let r=e.children||[],i={nullValues:e.nullValues},o=Array.isArray(r)?(s,a)=>r[a]||i:({name:s})=>r[s]||i;for(let[s,a]of t.children.entries()){let{type:c}=a,l=o(a,s);n.children.push(Bc(Object.assign(Object.assign({},l),{type:c})))}}return n}function P0(e,t){return qj(e,t.map(n=>n.data.concat()))}function qj(e,t){let n=[...e.fields],r=[],i={numBatches:t.reduce((f,h)=>Math.max(f,h.length),0)},o=0,s=0,a=-1,c=t.length,l,u=[];for(;i.numBatches-- >0;){for(s=Number.POSITIVE_INFINITY,a=-1;++a<c;)u[a]=l=t[a].shift(),s=Math.min(s,l?l.length:s);Number.isFinite(s)&&(u=jj(n,s,u,t,i),s>0&&(r[o++]=Dt({type:new be(n),length:s,nullCount:0,children:u.slice()})))}return[e=e.assign(n),r.map(f=>new Re(e,f))]}function jj(e,t,n,r,i){var o;let s=(t+63&-64)>>3;for(let a=-1,c=r.length;++a<c;){let l=n[a],u=l?.length;if(u>=t)u===t?n[a]=l:(n[a]=l.slice(0,t),i.numBatches=Math.max(i.numBatches,r[a].unshift(l.slice(t,u-t))));else{let f=e[a];e[a]=f.clone({nullable:!0}),n[a]=(o=l?._changeLengthAndBackfillNullBitmap(t))!==null&&o!==void 0?o:Dt({type:f.type,length:t,nullCount:t,nullBitmap:new Uint8Array(s)})}}return n}var k5,yr=class e{constructor(...t){var n,r;if(t.length===0)return this.batches=[],this.schema=new se([]),this._offsets=[0],this;let i,o;t[0]instanceof se&&(i=t.shift()),t.at(-1)instanceof Uint32Array&&(o=t.pop());let s=c=>{if(c){if(c instanceof Re)return[c];if(c instanceof e)return c.batches;if(c instanceof ee){if(c.type instanceof be)return[new Re(new se(c.type.children),c)]}else{if(Array.isArray(c))return c.flatMap(l=>s(l));if(typeof c[Symbol.iterator]=="function")return[...c].flatMap(l=>s(l));if(typeof c=="object"){let l=Object.keys(c),u=l.map(d=>new Gt([c[d]])),f=i??new se(l.map((d,p)=>new qt(String(d),u[p].type,u[p].nullable))),[,h]=P0(f,u);return h.length===0?[new Re(c)]:h}}}return[]},a=t.flatMap(c=>s(c));if(i=(r=i??((n=a[0])===null||n===void 0?void 0:n.schema))!==null&&r!==void 0?r:new se([]),!(i instanceof se))throw new TypeError("Table constructor expects a [Schema, RecordBatch[]] pair.");for(let c of a){if(!(c instanceof Re))throw new TypeError("Table constructor expects a [Schema, RecordBatch[]] pair.");if(!Fc(i,c.schema))throw new TypeError("Table and inner RecordBatch schemas must be equivalent.")}this.schema=i,this.batches=a,this._offsets=o??u0(this.data)}get data(){return this.batches.map(({data:t})=>t)}get numCols(){return this.schema.fields.length}get numRows(){return this.data.reduce((t,n)=>t+n.length,0)}get nullCount(){return this._nullCount===-1&&(this._nullCount=l0(this.data)),this._nullCount}isValid(t){return!1}get(t){return null}set(t,n){}indexOf(t,n){return-1}[Symbol.iterator](){return this.batches.length>0?yu.visit(new Gt(this.data)):new Array(0)[Symbol.iterator]()}toArray(){return[...this]}toString(){return`[
|
|
8
8
|
${this.toArray().join(`,
|
|
9
9
|
`)}
|
|
10
|
-
]`}concat(...t){let n=this.schema,r=this.data.concat(t.flatMap(({data:i})=>i));return new e(n,r.map(i=>new ke(n,i)))}slice(t,n){let r=this.schema;[t,n]=th({length:this.numRows},t,n);let i=Jg(this.data,this._offsets,t,n);return new e(r,i.map(o=>new ke(r,o)))}getChild(t){return this.getChildAt(this.schema.fields.findIndex(n=>n.name===t))}getChildAt(t){if(t>-1&&t<this.schema.fields.length){let n=this.data.map(r=>r.children[t]);if(n.length===0){let{type:r}=this.schema.fields[t],i=Nt({type:r,length:0,nullCount:0});n.push(i._changeLengthAndBackfillNullBitmap(this.numRows))}return new Xt(n)}return null}setChild(t,n){var r;return this.setChildAt((r=this.schema.fields)===null||r===void 0?void 0:r.findIndex(i=>i.name===t),n)}setChildAt(t,n){let r=this.schema,i=[...this.batches];if(t>-1&&t<this.numCols){n||(n=new Xt([Nt({type:new Xn,length:this.numRows})]));let o=r.fields.slice(),s=o[t].clone({type:n.type}),a=this.schema.fields.map((c,l)=>this.getChildAt(l));[o[t],a[t]]=[s,n],[r,i]=M0(r,a)}return new e(r,i)}select(t){let n=this.schema.fields.reduce((r,i,o)=>r.set(i.name,o),new Map);return this.selectAt(t.map(r=>n.get(r)).filter(r=>r>-1))}selectAt(t){let n=this.schema.selectAt(t),r=this.batches.map(i=>i.selectAt(t));return new e(n,r)}assign(t){let n=this.schema.fields,[r,i]=t.schema.fields.reduce((a,c,l)=>{let[u,f]=a,d=n.findIndex(h=>h.name===c.name);return~d?f[d]=l:u.push(l),a},[[],[]]),o=this.schema.assign(t.schema),s=[...n.map((a,c)=>[c,i[c]]).map(([a,c])=>c===void 0?this.getChildAt(a):t.getChildAt(c)),...r.map(a=>t.getChildAt(a))].filter(Boolean);return new e(...M0(o,s))}};tB=Symbol.toStringTag;pr[tB]=(e=>(e.schema=null,e.batches=[],e._offsets=new Uint32Array([0]),e._nullCount=-1,e[Symbol.isConcatSpreadable]=!0,e.isValid=au(rh),e.get=au(Ye.getVisitFn(B.Struct)),e.set=Qg(wn.getVisitFn(B.Struct)),e.indexOf=Kg(Ic.getVisitFn(B.Struct)),"Table"))(pr.prototype);var nB,ke=class e{constructor(...t){switch(t.length){case 2:{if([this.schema]=t,!(this.schema instanceof oe))throw new TypeError("RecordBatch constructor expects a [Schema, Data] pair.");if([,this.data=Nt({nullCount:0,type:new be(this.schema.fields),children:this.schema.fields.map(n=>Nt({type:n.type,nullCount:0}))})]=t,!(this.data instanceof te))throw new TypeError("RecordBatch constructor expects a [Schema, Data] pair.");[this.schema,this.data]=eB(this.schema,this.data.children);break}case 1:{let[n]=t,{fields:r,children:i,length:o}=Object.keys(n).reduce((c,l,u)=>(c.children[u]=n[l],c.length=Math.max(c.length,n[l].length),c.fields[u]=Ut.new({name:l,type:n[l].type,nullable:!0}),c),{length:0,fields:new Array,children:new Array}),s=new oe(r),a=Nt({type:new be(r),length:o,children:i,nullCount:0});[this.schema,this.data]=eB(s,a.children,o);break}default:throw new TypeError("RecordBatch constructor expects an Object mapping names to child Data, or a [Schema, Data] pair.")}}get dictionaries(){return this._dictionaries||(this._dictionaries=rB(this.schema.fields,this.data.children))}get numCols(){return this.schema.fields.length}get numRows(){return this.data.length}get nullCount(){return this.data.nullCount}isValid(t){return this.data.getValid(t)}get(t){return Ye.visit(this.data,t)}set(t,n){return wn.visit(this.data,t,n)}indexOf(t,n){return Ic.visit(this.data,t,n)}[Symbol.iterator](){return cu.visit(new Xt([this.data]))}toArray(){return[...this]}concat(...t){return new pr(this.schema,[this,...t])}slice(t,n){let[r]=new Xt([this.data]).slice(t,n).data;return new e(this.schema,r)}getChild(t){var n;return this.getChildAt((n=this.schema.fields)===null||n===void 0?void 0:n.findIndex(r=>r.name===t))}getChildAt(t){return t>-1&&t<this.schema.fields.length?new Xt([this.data.children[t]]):null}setChild(t,n){var r;return this.setChildAt((r=this.schema.fields)===null||r===void 0?void 0:r.findIndex(i=>i.name===t),n)}setChildAt(t,n){let r=this.schema,i=this.data;if(t>-1&&t<this.numCols){n||(n=new Xt([Nt({type:new Xn,length:this.numRows})]));let o=r.fields.slice(),s=i.children.slice(),a=o[t].clone({type:n.type});[o[t],s[t]]=[a,n.data[0]],r=new oe(o,new Map(this.schema.metadata)),i=Nt({type:new be(o),children:s})}return new e(r,i)}select(t){let n=this.schema.select(t),r=new be(n.fields),i=[];for(let o of t){let s=this.schema.fields.findIndex(a=>a.name===o);~s&&(i[s]=this.data.children[s])}return new e(n,Nt({type:r,length:this.numRows,children:i}))}selectAt(t){let n=this.schema.selectAt(t),r=t.map(o=>this.data.children[o]).filter(Boolean),i=Nt({type:new be(n.fields),length:this.numRows,children:r});return new e(n,i)}};nB=Symbol.toStringTag;ke[nB]=(e=>(e._nullCount=-1,e[Symbol.isConcatSpreadable]=!0,"RecordBatch"))(ke.prototype);function eB(e,t,n=t.reduce((r,i)=>Math.max(r,i.length),0)){var r;let i=[...e.fields],o=[...t],s=(n+63&-64)>>3;for(let[a,c]of e.fields.entries()){let l=t[a];(!l||l.length!==n)&&(i[a]=c.clone({nullable:!0}),o[a]=(r=l?._changeLengthAndBackfillNullBitmap(n))!==null&&r!==void 0?r:Nt({type:c.type,length:n,nullCount:n,nullBitmap:new Uint8Array(s)}))}return[e.assign(i),Nt({type:new be(i),length:n,children:o})]}function rB(e,t,n=new Map){var r,i;if(((r=e?.length)!==null&&r!==void 0?r:0)>0&&e?.length===t?.length)for(let o=-1,s=e.length;++o<s;){let{type:a}=e[o],c=t[o];for(let l of[c,...((i=c?.dictionary)===null||i===void 0?void 0:i.data)||[]])rB(a.children,l?.children,n);if(st.isDictionary(a)){let{id:l}=a;if(!n.has(l))c?.dictionary&&n.set(l,c.dictionary);else if(n.get(l)!==c.dictionary)throw new Error("Cannot create Schema containing two different dictionaries with the same Id")}}return n}var Lc=class extends ke{constructor(t){let n=t.fields.map(i=>Nt({type:i.type})),r=Nt({type:new be(t.fields),nullCount:0,children:n});super(t,r)}};var ki=class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,n){return this.bb_pos=t,this.bb=n,this}static getRootAsMessage(t,n){return(n||new e).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsMessage(t,n){return t.setPosition(t.position()+4),(n||new e).__init(t.readInt32(t.position())+t.position(),t)}version(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):ce.V1}headerType(){let t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readUint8(this.bb_pos+t):qt.NONE}header(t){let n=this.bb.__offset(this.bb_pos,8);return n?this.bb.__union(t,this.bb_pos+n):null}bodyLength(){let t=this.bb.__offset(this.bb_pos,10);return t?this.bb.readInt64(this.bb_pos+t):BigInt("0")}customMetadata(t,n){let r=this.bb.__offset(this.bb_pos,12);return r?(n||new nn).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+t*4),this.bb):null}customMetadataLength(){let t=this.bb.__offset(this.bb_pos,12);return t?this.bb.__vector_len(this.bb_pos+t):0}static startMessage(t){t.startObject(5)}static addVersion(t,n){t.addFieldInt16(0,n,ce.V1)}static addHeaderType(t,n){t.addFieldInt8(1,n,qt.NONE)}static addHeader(t,n){t.addFieldOffset(2,n,0)}static addBodyLength(t,n){t.addFieldInt64(3,n,BigInt("0"))}static addCustomMetadata(t,n){t.addFieldOffset(4,n,0)}static createCustomMetadataVector(t,n){t.startVector(4,n.length,4);for(let r=n.length-1;r>=0;r--)t.addOffset(n[r]);return t.endVector()}static startCustomMetadataVector(t,n){t.startVector(4,n,4)}static endMessage(t){return t.endObject()}static finishMessageBuffer(t,n){t.finish(n)}static finishSizePrefixedMessageBuffer(t,n){t.finish(n,void 0,!0)}static createMessage(t,n,r,i,o,s){return e.startMessage(t),e.addVersion(t,n),e.addHeaderType(t,r),e.addHeader(t,i),e.addBodyLength(t,o),e.addCustomMetadata(t,s),e.endMessage(t)}};var d2=class extends mt{visit(t,n){return t==null||n==null?void 0:super.visit(t,n)}visitNull(t,n){return Wd.startNull(n),Wd.endNull(n)}visitInt(t,n){return Si.startInt(n),Si.addBitWidth(n,t.bitWidth),Si.addIsSigned(n,t.isSigned),Si.endInt(n)}visitFloat(t,n){return ga.startFloatingPoint(n),ga.addPrecision(n,t.precision),ga.endFloatingPoint(n)}visitBinary(t,n){return jd.startBinary(n),jd.endBinary(n)}visitLargeBinary(t,n){return Yd.startLargeBinary(n),Yd.endLargeBinary(n)}visitBool(t,n){return Vd.startBool(n),Vd.endBool(n)}visitUtf8(t,n){return Zd.startUtf8(n),Zd.endUtf8(n)}visitLargeUtf8(t,n){return Xd.startLargeUtf8(n),Xd.endLargeUtf8(n)}visitDecimal(t,n){return to.startDecimal(n),to.addScale(n,t.scale),to.addPrecision(n,t.precision),to.addBitWidth(n,t.bitWidth),to.endDecimal(n)}visitDate(t,n){return ha.startDate(n),ha.addUnit(n,t.unit),ha.endDate(n)}visitTime(t,n){return Ho.startTime(n),Ho.addUnit(n,t.unit),Ho.addBitWidth(n,t.bitWidth),Ho.endTime(n)}visitTimestamp(t,n){let r=t.timezone&&n.createString(t.timezone)||void 0;return Zo.startTimestamp(n),Zo.addUnit(n,t.unit),r!==void 0&&Zo.addTimezone(n,r),Zo.endTimestamp(n)}visitInterval(t,n){return xa.startInterval(n),xa.addUnit(n,t.unit),xa.endInterval(n)}visitDuration(t,n){return pa.startDuration(n),pa.addUnit(n,t.unit),pa.endDuration(n)}visitList(t,n){return Gd.startList(n),Gd.endList(n)}visitStruct(t,n){return Hd.startStruct_(n),Hd.endStruct_(n)}visitUnion(t,n){Ii.startTypeIdsVector(n,t.typeIds.length);let r=Ii.createTypeIdsVector(n,t.typeIds);return Ii.startUnion(n),Ii.addMode(n,t.mode),Ii.addTypeIds(n,r),Ii.endUnion(n)}visitDictionary(t,n){let r=this.visit(t.indices,n);return Ki.startDictionaryEncoding(n),Ki.addId(n,BigInt(t.id)),Ki.addIsOrdered(n,t.isOrdered),r!==void 0&&Ki.addIndexType(n,r),Ki.endDictionaryEncoding(n)}visitFixedSizeBinary(t,n){return ma.startFixedSizeBinary(n),ma.addByteWidth(n,t.byteWidth),ma.endFixedSizeBinary(n)}visitFixedSizeList(t,n){return ya.startFixedSizeList(n),ya.addListSize(n,t.listSize),ya.endFixedSizeList(n)}visitMap(t,n){return ba.startMap(n),ba.addKeysSorted(n,t.keysSorted),ba.endMap(n)}},A0=new d2;function aB(e,t=new Map){return new oe(cj(e,t),T0(e.metadata),t)}function h2(e){return new vn(e.count,lB(e.columns),uB(e.columns))}function cB(e){return new yr(h2(e.data),e.id,e.isDelta)}function cj(e,t){return(e.fields||[]).filter(Boolean).map(n=>Ut.fromJSON(n,t))}function iB(e,t){return(e.children||[]).filter(Boolean).map(n=>Ut.fromJSON(n,t))}function lB(e){return(e||[]).reduce((t,n)=>[...t,new Kr(n.count,lj(n.VALIDITY)),...lB(n.children)],[])}function uB(e,t=[]){for(let n=-1,r=(e||[]).length;++n<r;){let i=e[n];i.VALIDITY&&t.push(new mr(t.length,i.VALIDITY.length)),i.TYPE_ID&&t.push(new mr(t.length,i.TYPE_ID.length)),i.OFFSET&&t.push(new mr(t.length,i.OFFSET.length)),i.DATA&&t.push(new mr(t.length,i.DATA.length)),t=uB(i.children,t)}return t}function lj(e){return(e||[]).reduce((t,n)=>t+ +(n===0),0)}function fB(e,t){let n,r,i,o,s,a;return!t||!(o=e.dictionary)?(s=sB(e,iB(e,t)),i=new Ut(e.name,s,e.nullable,T0(e.metadata))):t.has(n=o.id)?(r=(r=o.indexType)?oB(r):new eo,a=new Dr(t.get(n),r,n,o.isOrdered),i=new Ut(e.name,a,e.nullable,T0(e.metadata))):(r=(r=o.indexType)?oB(r):new eo,t.set(n,s=sB(e,iB(e,t))),a=new Dr(s,r,n,o.isOrdered),i=new Ut(e.name,a,e.nullable,T0(e.metadata))),i||null}function T0(e=[]){return new Map(e.map(({key:t,value:n})=>[t,n]))}function oB(e){return new Pe(e.isSigned,e.bitWidth)}function sB(e,t){let n=e.type.name;switch(n){case"NONE":return new Xn;case"null":return new Xn;case"binary":return new Jo;case"largebinary":return new Qo;case"utf8":return new Ko;case"largeutf8":return new ts;case"bool":return new es;case"list":return new Ni((t||[])[0]);case"struct":return new be(t||[]);case"struct_":return new be(t||[])}switch(n){case"int":{let r=e.type;return new Pe(r.isSigned,r.bitWidth)}case"floatingpoint":{let r=e.type;return new dr(he[r.precision])}case"decimal":{let r=e.type;return new ns(r.scale,r.precision,r.bitWidth)}case"date":{let r=e.type;return new rs(Ve[r.unit])}case"time":{let r=e.type;return new Ei(ct[r.unit],r.bitWidth)}case"timestamp":{let r=e.type;return new is(ct[r.unit],r.timezone)}case"interval":{let r=e.type;return new os(an[r.unit])}case"duration":{let r=e.type;return new ss(ct[r.unit])}case"union":{let r=e.type,[i,...o]=(r.mode+"").toLowerCase(),s=i.toUpperCase()+o.join("");return new Di(ge[s],r.typeIds||[],t||[])}case"fixedsizebinary":{let r=e.type;return new as(r.byteWidth)}case"fixedsizelist":{let r=e.type;return new Oi(r.listSize,(t||[])[0])}case"map":{let r=e.type;return new Bi((t||[])[0],r.keysSorted)}}throw new Error(`Unrecognized type: "${n}"`)}var uj=wc,fj=Er,gr=class e{static fromJSON(t,n){let r=new e(0,ce.V5,n);return r._createHeader=dj(t,n),r}static decode(t){t=new fj(_t(t));let n=ki.getRootAsMessage(t),r=n.bodyLength(),i=n.version(),o=n.headerType(),s=new e(r,i,o);return s._createHeader=hj(n,o),s}static encode(t){let n=new uj,r=-1;return t.isSchema()?r=oe.encode(n,t.header()):t.isRecordBatch()?r=vn.encode(n,t.header()):t.isDictionaryBatch()&&(r=yr.encode(n,t.header())),ki.startMessage(n),ki.addVersion(n,ce.V5),ki.addHeader(n,r),ki.addHeaderType(n,t.headerType),ki.addBodyLength(n,BigInt(t.bodyLength)),ki.finishMessageBuffer(n,ki.endMessage(n)),n.asUint8Array()}static from(t,n=0){if(t instanceof oe)return new e(0,ce.V5,qt.Schema,t);if(t instanceof vn)return new e(n,ce.V5,qt.RecordBatch,t);if(t instanceof yr)return new e(n,ce.V5,qt.DictionaryBatch,t);throw new Error(`Unrecognized Message header: ${t}`)}get type(){return this.headerType}get version(){return this._version}get headerType(){return this._headerType}get bodyLength(){return this._bodyLength}header(){return this._createHeader()}isSchema(){return this.headerType===qt.Schema}isRecordBatch(){return this.headerType===qt.RecordBatch}isDictionaryBatch(){return this.headerType===qt.DictionaryBatch}constructor(t,n,r,i){this._version=n,this._headerType=r,this.body=new Uint8Array(0),i&&(this._createHeader=()=>i),this._bodyLength=De(t)}},vn=class{get nodes(){return this._nodes}get length(){return this._length}get buffers(){return this._buffers}constructor(t,n,r){this._nodes=n,this._buffers=r,this._length=De(t)}},yr=class{get id(){return this._id}get data(){return this._data}get isDelta(){return this._isDelta}get length(){return this.data.length}get nodes(){return this.data.nodes}get buffers(){return this.data.buffers}constructor(t,n,r=!1){this._data=t,this._isDelta=r,this._id=De(n)}},mr=class{constructor(t,n){this.offset=De(t),this.length=De(n)}},Kr=class{constructor(t,n){this.length=De(t),this.nullCount=De(n)}};function dj(e,t){return()=>{switch(t){case qt.Schema:return oe.fromJSON(e);case qt.RecordBatch:return vn.fromJSON(e);case qt.DictionaryBatch:return yr.fromJSON(e)}throw new Error(`Unrecognized Message type: { name: ${qt[t]}, type: ${t} }`)}}function hj(e,t){return()=>{switch(t){case qt.Schema:return oe.decode(e.header(new fr),new Map,e.version());case qt.RecordBatch:return vn.decode(e.header(new Nr),e.version());case qt.DictionaryBatch:return yr.decode(e.header(new Wo),e.version())}throw new Error(`Unrecognized Message type: { name: ${qt[t]}, type: ${t} }`)}}Ut.encode=Ij;Ut.decode=_j;Ut.fromJSON=fB;oe.encode=Sj;oe.decode=pj;oe.fromJSON=aB;vn.encode=Mj;vn.decode=mj;vn.fromJSON=h2;yr.encode=Aj;yr.decode=yj;yr.fromJSON=cB;Kr.encode=Tj;Kr.decode=xj;mr.encode=Ej;mr.decode=gj;function pj(e,t=new Map,n=ce.V5){let r=vj(e,t);return new oe(r,E0(e),t,n)}function mj(e,t=ce.V5){if(e.compression()!==null)throw new Error("Record batch compression not implemented");return new vn(e.length(),bj(e),wj(e,t))}function yj(e,t=ce.V5){return new yr(vn.decode(e.data(),t),e.id(),e.isDelta())}function gj(e){return new mr(e.offset(),e.length())}function xj(e){return new Kr(e.length(),e.nullCount())}function bj(e){let t=[];for(let n,r=-1,i=-1,o=e.nodesLength();++r<o;)(n=e.nodes(r))&&(t[++i]=Kr.decode(n));return t}function wj(e,t){let n=[];for(let r,i=-1,o=-1,s=e.buffersLength();++i<s;)(r=e.buffers(i))&&(t<ce.V4&&(r.bb_pos+=8*(i+1)),n[++o]=mr.decode(r));return n}function vj(e,t){let n=[];for(let r,i=-1,o=-1,s=e.fieldsLength();++i<s;)(r=e.fields(i))&&(n[++o]=Ut.decode(r,t));return n}function dB(e,t){let n=[];for(let r,i=-1,o=-1,s=e.childrenLength();++i<s;)(r=e.children(i))&&(n[++o]=Ut.decode(r,t));return n}function _j(e,t){let n,r,i,o,s,a;return!t||!(a=e.dictionary())?(i=pB(e,dB(e,t)),r=new Ut(e.name(),i,e.nullable(),E0(e))):t.has(n=De(a.id()))?(o=(o=a.indexType())?hB(o):new eo,s=new Dr(t.get(n),o,n,a.isOrdered()),r=new Ut(e.name(),s,e.nullable(),E0(e))):(o=(o=a.indexType())?hB(o):new eo,t.set(n,i=pB(e,dB(e,t))),s=new Dr(i,o,n,a.isOrdered()),r=new Ut(e.name(),s,e.nullable(),E0(e))),r||null}function E0(e){let t=new Map;if(e)for(let n,r,i=-1,o=Math.trunc(e.customMetadataLength());++i<o;)(n=e.customMetadata(i))&&(r=n.key())!=null&&t.set(r,n.value());return t}function hB(e){return new Pe(e.isSigned(),e.bitWidth())}function pB(e,t){let n=e.typeType();switch(n){case pe.NONE:return new Xn;case pe.Null:return new Xn;case pe.Binary:return new Jo;case pe.LargeBinary:return new Qo;case pe.Utf8:return new Ko;case pe.LargeUtf8:return new ts;case pe.Bool:return new es;case pe.List:return new Ni((t||[])[0]);case pe.Struct_:return new be(t||[])}switch(n){case pe.Int:{let r=e.type(new Si);return new Pe(r.isSigned(),r.bitWidth())}case pe.FloatingPoint:{let r=e.type(new ga);return new dr(r.precision())}case pe.Decimal:{let r=e.type(new to);return new ns(r.scale(),r.precision(),r.bitWidth())}case pe.Date:{let r=e.type(new ha);return new rs(r.unit())}case pe.Time:{let r=e.type(new Ho);return new Ei(r.unit(),r.bitWidth())}case pe.Timestamp:{let r=e.type(new Zo);return new is(r.unit(),r.timezone())}case pe.Interval:{let r=e.type(new xa);return new os(r.unit())}case pe.Duration:{let r=e.type(new pa);return new ss(r.unit())}case pe.Union:{let r=e.type(new Ii);return new Di(r.mode(),r.typeIdsArray()||[],t||[])}case pe.FixedSizeBinary:{let r=e.type(new ma);return new as(r.byteWidth())}case pe.FixedSizeList:{let r=e.type(new ya);return new Oi(r.listSize(),(t||[])[0])}case pe.Map:{let r=e.type(new ba);return new Bi((t||[])[0],r.keysSorted())}}throw new Error(`Unrecognized type: "${pe[n]}" (${n})`)}function Sj(e,t){let n=t.fields.map(o=>Ut.encode(e,o));fr.startFieldsVector(e,n.length);let r=fr.createFieldsVector(e,n),i=t.metadata&&t.metadata.size>0?fr.createCustomMetadataVector(e,[...t.metadata].map(([o,s])=>{let a=e.createString(`${o}`),c=e.createString(`${s}`);return nn.startKeyValue(e),nn.addKey(e,a),nn.addValue(e,c),nn.endKeyValue(e)})):-1;return fr.startSchema(e),fr.addFields(e,r),fr.addEndianness(e,Nj?da.Little:da.Big),i!==-1&&fr.addCustomMetadata(e,i),fr.endSchema(e)}function Ij(e,t){let n=-1,r=-1,i=-1,o=t.type,s=t.typeId;st.isDictionary(o)?(s=o.dictionary.typeId,i=A0.visit(o,e),r=A0.visit(o.dictionary,e)):r=A0.visit(o,e);let a=(o.children||[]).map(u=>Ut.encode(e,u)),c=Cn.createChildrenVector(e,a),l=t.metadata&&t.metadata.size>0?Cn.createCustomMetadataVector(e,[...t.metadata].map(([u,f])=>{let d=e.createString(`${u}`),h=e.createString(`${f}`);return nn.startKeyValue(e),nn.addKey(e,d),nn.addValue(e,h),nn.endKeyValue(e)})):-1;return t.name&&(n=e.createString(t.name)),Cn.startField(e),Cn.addType(e,r),Cn.addTypeType(e,s),Cn.addChildren(e,c),Cn.addNullable(e,!!t.nullable),n!==-1&&Cn.addName(e,n),i!==-1&&Cn.addDictionary(e,i),l!==-1&&Cn.addCustomMetadata(e,l),Cn.endField(e)}function Mj(e,t){let n=t.nodes||[],r=t.buffers||[];Nr.startNodesVector(e,n.length);for(let s of n.slice().reverse())Kr.encode(e,s);let i=e.endVector();Nr.startBuffersVector(e,r.length);for(let s of r.slice().reverse())mr.encode(e,s);let o=e.endVector();return Nr.startRecordBatch(e),Nr.addLength(e,BigInt(t.length)),Nr.addNodes(e,i),Nr.addBuffers(e,o),Nr.endRecordBatch(e)}function Aj(e,t){let n=vn.encode(e,t.data);return Wo.startDictionaryBatch(e),Wo.addId(e,BigInt(t.id)),Wo.addIsDelta(e,t.isDelta),Wo.addData(e,n),Wo.endDictionaryBatch(e)}function Tj(e,t){return Kl.createFieldNode(e,BigInt(t.length),BigInt(t.nullCount))}function Ej(e,t){return Ql.createBuffer(e,BigInt(t.offset),BigInt(t.length))}var Nj=(()=>{let e=new ArrayBuffer(2);return new DataView(e).setInt16(0,256,!0),new Int16Array(e)[0]===256})();var m2=e=>`Expected ${qt[e]} Message in stream, but was null or length 0.`,y2=e=>`Header pointer of flatbuffer-encoded ${qt[e]} Message is null or length 0.`,mB=(e,t)=>`Expected to read ${e} metadata bytes, but only read ${t}.`,yB=(e,t)=>`Expected to read ${e} bytes for message body, but only read ${t}.`,yu=class{constructor(t){this.source=t instanceof io?t:new io(t)}[Symbol.iterator](){return this}next(){let t;return(t=this.readMetadataLength()).done?we:t.value===-1&&(t=this.readMetadataLength()).done?we:(t=this.readMetadata(t.value)).done?we:t}throw(t){return this.source.throw(t)}return(t){return this.source.return(t)}readMessage(t){let n;if((n=this.next()).done)return null;if(t!=null&&n.value.headerType!==t)throw new Error(m2(t));return n.value}readMessageBody(t){if(t<=0)return new Uint8Array(0);let n=_t(this.source.read(t));if(n.byteLength<t)throw new Error(yB(t,n.byteLength));return n.byteOffset%8===0&&n.byteOffset+n.byteLength<=n.buffer.byteLength?n:n.slice()}readSchema(t=!1){let n=qt.Schema,r=this.readMessage(n),i=r?.header();if(t&&!i)throw new Error(y2(n));return i}readMetadataLength(){let t=this.source.read(N0),n=t&&new Er(t),r=n?.readInt32(0)||0;return{done:r===0,value:r}}readMetadata(t){let n=this.source.read(t);if(!n)return we;if(n.byteLength<t)throw new Error(mB(t,n.byteLength));return{done:!1,value:gr.decode(n)}}},Bh=class{constructor(t,n){this.source=t instanceof Jr?t:cg(t)?new Sa(t,n):new Jr(t)}[Symbol.asyncIterator](){return this}next(){return Z(this,void 0,void 0,function*(){let t;return(t=yield this.readMetadataLength()).done?we:t.value===-1&&(t=yield this.readMetadataLength()).done?we:(t=yield this.readMetadata(t.value)).done?we:t})}throw(t){return Z(this,void 0,void 0,function*(){return yield this.source.throw(t)})}return(t){return Z(this,void 0,void 0,function*(){return yield this.source.return(t)})}readMessage(t){return Z(this,void 0,void 0,function*(){let n;if((n=yield this.next()).done)return null;if(t!=null&&n.value.headerType!==t)throw new Error(m2(t));return n.value})}readMessageBody(t){return Z(this,void 0,void 0,function*(){if(t<=0)return new Uint8Array(0);let n=_t(yield this.source.read(t));if(n.byteLength<t)throw new Error(yB(t,n.byteLength));return n.byteOffset%8===0&&n.byteOffset+n.byteLength<=n.buffer.byteLength?n:n.slice()})}readSchema(t=!1){return Z(this,void 0,void 0,function*(){let n=qt.Schema,r=yield this.readMessage(n),i=r?.header();if(t&&!i)throw new Error(y2(n));return i})}readMetadataLength(){return Z(this,void 0,void 0,function*(){let t=yield this.source.read(N0),n=t&&new Er(t),r=n?.readInt32(0)||0;return{done:r===0,value:r}})}readMetadata(t){return Z(this,void 0,void 0,function*(){let n=yield this.source.read(t);if(!n)return we;if(n.byteLength<t)throw new Error(mB(t,n.byteLength));return{done:!1,value:gr.decode(n)}})}},Lh=class extends yu{constructor(t){super(new Uint8Array(0)),this._schema=!1,this._body=[],this._batchIndex=0,this._dictionaryIndex=0,this._json=t instanceof ih?t:new ih(t)}next(){let{_json:t}=this;if(!this._schema)return this._schema=!0,{done:!1,value:gr.fromJSON(t.schema,qt.Schema)};if(this._dictionaryIndex<t.dictionaries.length){let n=t.dictionaries[this._dictionaryIndex++];return this._body=n.data.columns,{done:!1,value:gr.fromJSON(n,qt.DictionaryBatch)}}if(this._batchIndex<t.batches.length){let n=t.batches[this._batchIndex++];return this._body=n.columns,{done:!1,value:gr.fromJSON(n,qt.RecordBatch)}}return this._body=[],we}readMessageBody(t){return n(this._body);function n(r){return(r||[]).reduce((i,o)=>[...i,...o.VALIDITY&&[o.VALIDITY]||[],...o.TYPE_ID&&[o.TYPE_ID]||[],...o.OFFSET&&[o.OFFSET]||[],...o.DATA&&[o.DATA]||[],...n(o.children)],[])}}readMessage(t){let n;if((n=this.next()).done)return null;if(t!=null&&n.value.headerType!==t)throw new Error(m2(t));return n.value}readSchema(){let t=qt.Schema,n=this.readMessage(t),r=n?.header();if(!n||!r)throw new Error(y2(t));return r}},N0=4,p2="ARROW1",gu=new Uint8Array(p2.length);for(let e=0;e<p2.length;e+=1)gu[e]=p2.codePointAt(e);function D0(e,t=0){for(let n=-1,r=gu.length;++n<r;)if(gu[n]!==e[t+n])return!1;return!0}var xu=gu.length,g2=xu+N0,gB=xu*2+N0;var Lr=class e extends Ac{constructor(t){super(),this._impl=t}get closed(){return this._impl.closed}get schema(){return this._impl.schema}get autoDestroy(){return this._impl.autoDestroy}get dictionaries(){return this._impl.dictionaries}get numDictionaries(){return this._impl.numDictionaries}get numRecordBatches(){return this._impl.numRecordBatches}get footer(){return this._impl.isFile()?this._impl.footer:null}isSync(){return this._impl.isSync()}isAsync(){return this._impl.isAsync()}isFile(){return this._impl.isFile()}isStream(){return this._impl.isStream()}next(){return this._impl.next()}throw(t){return this._impl.throw(t)}return(t){return this._impl.return(t)}cancel(){return this._impl.cancel()}reset(t){return this._impl.reset(t),this._DOMStream=void 0,this._nodeStream=void 0,this}open(t){let n=this._impl.open(t);return Ar(n)?n.then(()=>this):this}readRecordBatch(t){return this._impl.isFile()?this._impl.readRecordBatch(t):null}[Symbol.iterator](){return this._impl[Symbol.iterator]()}[Symbol.asyncIterator](){return this._impl[Symbol.asyncIterator]()}toDOMStream(){return bn.toDOMStream(this.isSync()?{[Symbol.iterator]:()=>this}:{[Symbol.asyncIterator]:()=>this})}toNodeStream(){return bn.toNodeStream(this.isSync()?{[Symbol.iterator]:()=>this}:{[Symbol.asyncIterator]:()=>this},{objectMode:!0})}static throughNode(t){throw new Error('"throughNode" not available in this environment')}static throughDOM(t,n){throw new Error('"throughDOM" not available in this environment')}static from(t){return t instanceof e?t:sg(t)?Oj(t):cg(t)?Cj(t):Ar(t)?Z(this,void 0,void 0,function*(){return yield e.from(yield t)}):lg(t)||Rd(t)||fg(t)||Wr(t)?Lj(new Jr(t)):Bj(new io(t))}static readAll(t){return t instanceof e?t.isSync()?xB(t):bB(t):sg(t)||ArrayBuffer.isView(t)||wi(t)||ag(t)?xB(t):bB(t)}},xs=class extends Lr{constructor(t){super(t),this._impl=t}readAll(){return[...this]}[Symbol.iterator](){return this._impl[Symbol.iterator]()}[Symbol.asyncIterator](){return Mr(this,arguments,function*(){yield Ft(yield*Zl(bi(this[Symbol.iterator]())))})}},Cc=class extends Lr{constructor(t){super(t),this._impl=t}readAll(){var t,n,r,i;return Z(this,void 0,void 0,function*(){let o=new Array;try{for(var s=!0,a=bi(this),c;c=yield a.next(),t=c.done,!t;s=!0){i=c.value,s=!1;let l=i;o.push(l)}}catch(l){n={error:l}}finally{try{!s&&!t&&(r=a.return)&&(yield r.call(a))}finally{if(n)throw n.error}}return o})}[Symbol.iterator](){throw new Error("AsyncRecordBatchStreamReader is not Iterable")}[Symbol.asyncIterator](){return this._impl[Symbol.asyncIterator]()}},kc=class extends xs{constructor(t){super(t),this._impl=t}},O0=class extends Cc{constructor(t){super(t),this._impl=t}},B0=class{get numDictionaries(){return this._dictionaryIndex}get numRecordBatches(){return this._recordBatchIndex}constructor(t=new Map){this.closed=!1,this.autoDestroy=!0,this._dictionaryIndex=0,this._recordBatchIndex=0,this.dictionaries=t}isSync(){return!1}isAsync(){return!1}isFile(){return!1}isStream(){return!1}reset(t){return this._dictionaryIndex=0,this._recordBatchIndex=0,this.schema=t,this.dictionaries=new Map,this}_loadRecordBatch(t,n){let r=this._loadVectors(t,n,this.schema.fields),i=Nt({type:new be(this.schema.fields),length:t.length,children:r});return new ke(this.schema,i)}_loadDictionaryBatch(t,n){let{id:r,isDelta:i}=t,{dictionaries:o,schema:s}=this,a=o.get(r);if(i||!a){let c=s.dictionaries.get(r),l=this._loadVectors(t.data,n,[c]);return(a&&i?a.concat(new Xt(l)):new Xt(l)).memoize()}return a.memoize()}_loadVectors(t,n,r){return new ch(n,t.nodes,t.buffers,this.dictionaries,this.schema.metadataVersion).visitMany(r)}},bu=class extends B0{constructor(t,n){super(n),this._reader=sg(t)?new Lh(this._handle=t):new yu(this._handle=t)}isSync(){return!0}isStream(){return!0}[Symbol.iterator](){return this}cancel(){!this.closed&&(this.closed=!0)&&(this.reset()._reader.return(),this._reader=null,this.dictionaries=null)}open(t){return this.closed||(this.autoDestroy=wB(this,t),this.schema||(this.schema=this._reader.readSchema())||this.cancel()),this}throw(t){return!this.closed&&this.autoDestroy&&(this.closed=!0)?this.reset()._reader.throw(t):we}return(t){return!this.closed&&this.autoDestroy&&(this.closed=!0)?this.reset()._reader.return(t):we}next(){if(this.closed)return we;let t,{_reader:n}=this;for(;t=this._readNextMessageAndValidate();)if(t.isSchema())this.reset(t.header());else if(t.isRecordBatch()){this._recordBatchIndex++;let r=t.header(),i=n.readMessageBody(t.bodyLength);return{done:!1,value:this._loadRecordBatch(r,i)}}else if(t.isDictionaryBatch()){this._dictionaryIndex++;let r=t.header(),i=n.readMessageBody(t.bodyLength),o=this._loadDictionaryBatch(r,i);this.dictionaries.set(r.id,o)}return this.schema&&this._recordBatchIndex===0?(this._recordBatchIndex++,{done:!1,value:new Lc(this.schema)}):this.return()}_readNextMessageAndValidate(t){return this._reader.readMessage(t)}},wu=class extends B0{constructor(t,n){super(n),this._reader=new Bh(this._handle=t)}isAsync(){return!0}isStream(){return!0}[Symbol.asyncIterator](){return this}cancel(){return Z(this,void 0,void 0,function*(){!this.closed&&(this.closed=!0)&&(yield this.reset()._reader.return(),this._reader=null,this.dictionaries=null)})}open(t){return Z(this,void 0,void 0,function*(){return this.closed||(this.autoDestroy=wB(this,t),this.schema||(this.schema=yield this._reader.readSchema())||(yield this.cancel())),this})}throw(t){return Z(this,void 0,void 0,function*(){return!this.closed&&this.autoDestroy&&(this.closed=!0)?yield this.reset()._reader.throw(t):we})}return(t){return Z(this,void 0,void 0,function*(){return!this.closed&&this.autoDestroy&&(this.closed=!0)?yield this.reset()._reader.return(t):we})}next(){return Z(this,void 0,void 0,function*(){if(this.closed)return we;let t,{_reader:n}=this;for(;t=yield this._readNextMessageAndValidate();)if(t.isSchema())yield this.reset(t.header());else if(t.isRecordBatch()){this._recordBatchIndex++;let r=t.header(),i=yield n.readMessageBody(t.bodyLength);return{done:!1,value:this._loadRecordBatch(r,i)}}else if(t.isDictionaryBatch()){this._dictionaryIndex++;let r=t.header(),i=yield n.readMessageBody(t.bodyLength),o=this._loadDictionaryBatch(r,i);this.dictionaries.set(r.id,o)}return this.schema&&this._recordBatchIndex===0?(this._recordBatchIndex++,{done:!1,value:new Lc(this.schema)}):yield this.return()})}_readNextMessageAndValidate(t){return Z(this,void 0,void 0,function*(){return yield this._reader.readMessage(t)})}},L0=class extends bu{get footer(){return this._footer}get numDictionaries(){return this._footer?this._footer.numDictionaries:0}get numRecordBatches(){return this._footer?this._footer.numRecordBatches:0}constructor(t,n){super(t instanceof oh?t:new oh(t),n)}isSync(){return!0}isFile(){return!0}open(t){if(!this.closed&&!this._footer){this.schema=(this._footer=this._readFooter()).schema;for(let n of this._footer.dictionaryBatches())n&&this._readDictionaryBatch(this._dictionaryIndex++)}return super.open(t)}readRecordBatch(t){var n;if(this.closed)return null;this._footer||this.open();let r=(n=this._footer)===null||n===void 0?void 0:n.getRecordBatch(t);if(r&&this._handle.seek(r.offset)){let i=this._reader.readMessage(qt.RecordBatch);if(i?.isRecordBatch()){let o=i.header(),s=this._reader.readMessageBody(i.bodyLength);return this._loadRecordBatch(o,s)}}return null}_readDictionaryBatch(t){var n;let r=(n=this._footer)===null||n===void 0?void 0:n.getDictionaryBatch(t);if(r&&this._handle.seek(r.offset)){let i=this._reader.readMessage(qt.DictionaryBatch);if(i?.isDictionaryBatch()){let o=i.header(),s=this._reader.readMessageBody(i.bodyLength),a=this._loadDictionaryBatch(o,s);this.dictionaries.set(o.id,a)}}}_readFooter(){let{_handle:t}=this,n=t.size-g2,r=t.readInt32(n),i=t.readAt(n-r,r);return us.decode(i)}_readNextMessageAndValidate(t){var n;if(this._footer||this.open(),this._footer&&this._recordBatchIndex<this.numRecordBatches){let r=(n=this._footer)===null||n===void 0?void 0:n.getRecordBatch(this._recordBatchIndex);if(r&&this._handle.seek(r.offset))return this._reader.readMessage(t)}return null}},x2=class extends wu{get footer(){return this._footer}get numDictionaries(){return this._footer?this._footer.numDictionaries:0}get numRecordBatches(){return this._footer?this._footer.numRecordBatches:0}constructor(t,...n){let r=typeof n[0]!="number"?n.shift():void 0,i=n[0]instanceof Map?n.shift():void 0;super(t instanceof Sa?t:new Sa(t,r),i)}isFile(){return!0}isAsync(){return!0}open(t){let n=Object.create(null,{open:{get:()=>super.open}});return Z(this,void 0,void 0,function*(){if(!this.closed&&!this._footer){this.schema=(this._footer=yield this._readFooter()).schema;for(let r of this._footer.dictionaryBatches())r&&(yield this._readDictionaryBatch(this._dictionaryIndex++))}return yield n.open.call(this,t)})}readRecordBatch(t){var n;return Z(this,void 0,void 0,function*(){if(this.closed)return null;this._footer||(yield this.open());let r=(n=this._footer)===null||n===void 0?void 0:n.getRecordBatch(t);if(r&&(yield this._handle.seek(r.offset))){let i=yield this._reader.readMessage(qt.RecordBatch);if(i?.isRecordBatch()){let o=i.header(),s=yield this._reader.readMessageBody(i.bodyLength);return this._loadRecordBatch(o,s)}}return null})}_readDictionaryBatch(t){var n;return Z(this,void 0,void 0,function*(){let r=(n=this._footer)===null||n===void 0?void 0:n.getDictionaryBatch(t);if(r&&(yield this._handle.seek(r.offset))){let i=yield this._reader.readMessage(qt.DictionaryBatch);if(i?.isDictionaryBatch()){let o=i.header(),s=yield this._reader.readMessageBody(i.bodyLength),a=this._loadDictionaryBatch(o,s);this.dictionaries.set(o.id,a)}}})}_readFooter(){return Z(this,void 0,void 0,function*(){let{_handle:t}=this;t._pending&&(yield t._pending);let n=t.size-g2,r=yield t.readInt32(n),i=yield t.readAt(n-r,r);return us.decode(i)})}_readNextMessageAndValidate(t){return Z(this,void 0,void 0,function*(){if(this._footer||(yield this.open()),this._footer&&this._recordBatchIndex<this.numRecordBatches){let n=this._footer.getRecordBatch(this._recordBatchIndex);if(n&&(yield this._handle.seek(n.offset)))return yield this._reader.readMessage(t)}return null})}},b2=class extends bu{constructor(t,n){super(t,n)}_loadVectors(t,n,r){return new r0(n,t.nodes,t.buffers,this.dictionaries,this.schema.metadataVersion).visitMany(r)}};function wB(e,t){return t&&typeof t.autoDestroy=="boolean"?t.autoDestroy:e.autoDestroy}function*xB(e){let t=Lr.from(e);try{if(!t.open({autoDestroy:!1}).closed)do yield t;while(!t.reset().open().closed)}finally{t.cancel()}}function bB(e){return Mr(this,arguments,function*(){let n=yield Ft(Lr.from(e));try{if(!(yield Ft(n.open({autoDestroy:!1}))).closed)do yield yield Ft(n);while(!(yield Ft(n.reset().open())).closed)}finally{yield Ft(n.cancel())}})}function Oj(e){return new xs(new b2(e))}function Bj(e){let t=e.peek(xu+7&-8);return t&&t.byteLength>=4?D0(t)?new kc(new L0(e.read())):new xs(new bu(e)):new xs(new bu(function*(){}()))}function Lj(e){return Z(this,void 0,void 0,function*(){let t=yield e.peek(xu+7&-8);return t&&t.byteLength>=4?D0(t)?new kc(new L0(yield e.read())):new Cc(new wu(e)):new Cc(new wu(function(){return Mr(this,arguments,function*(){})}()))})}function Cj(e){return Z(this,void 0,void 0,function*(){let{size:t}=yield e.stat(),n=new Sa(e,t);return t>=gB&&D0(yield n.readAt(0,xu+7&-8))?new O0(new x2(n)):new Cc(new wu(n))})}var Me=class e extends mt{static assemble(...t){let n=i=>i.flatMap(o=>Array.isArray(o)?n(o):o instanceof ke?o.data.children:o.data),r=new e;return r.visitMany(n(t)),r}constructor(){super(),this._byteLength=0,this._nodes=[],this._buffers=[],this._bufferRegions=[]}visit(t){if(t instanceof Xt)return this.visitMany(t.data),this;let{type:n}=t;if(!st.isDictionary(n)){let{length:r}=t;if(r>2147483647)throw new RangeError("Cannot write arrays larger than 2^31 - 1 in length");if(st.isUnion(n))this.nodes.push(new Kr(r,0));else{let{nullCount:i}=t;st.isNull(n)||Fi.call(this,i<=0?new Uint8Array(0):_c(t.offset,r,t.nullBitmap)),this.nodes.push(new Kr(r,i))}}return super.visit(t)}visitNull(t){return this}visitDictionary(t){return this.visit(t.clone(t.type.indices))}get nodes(){return this._nodes}get buffers(){return this._buffers}get byteLength(){return this._byteLength}get bufferRegions(){return this._bufferRegions}};function Fi(e){let t=e.byteLength+7&-8;return this.buffers.push(e),this.bufferRegions.push(new mr(this._byteLength,t)),this._byteLength+=t,this}function kj(e){var t;let{type:n,length:r,typeIds:i,valueOffsets:o}=e;if(Fi.call(this,i),n.mode===ge.Sparse)return w2.call(this,e);if(n.mode===ge.Dense){if(e.offset<=0)return Fi.call(this,o),w2.call(this,e);{let s=new Int32Array(r),a=Object.create(null),c=Object.create(null);for(let l,u,f=-1;++f<r;)(l=i[f])!==void 0&&((u=a[l])===void 0&&(u=a[l]=o[f]),s[f]=o[f]-u,c[l]=((t=c[l])!==null&&t!==void 0?t:0)+1);Fi.call(this,s),this.visitMany(e.children.map((l,u)=>{let f=n.typeIds[u],d=a[f],h=c[f];return l.slice(d,Math.min(r,h))}))}}return this}function Fj(e){let t;return e.nullCount>=e.length?Fi.call(this,new Uint8Array(0)):(t=e.values)instanceof Uint8Array?Fi.call(this,_c(e.offset,e.length,t)):Fi.call(this,Sc(e.values))}function bs(e){return Fi.call(this,e.values.subarray(0,e.length*e.stride))}function C0(e){let{length:t,values:n,valueOffsets:r}=e,i=De(r[0]),o=De(r[t]),s=Math.min(o-i,n.byteLength-i);return Fi.call(this,hg(-i,t+1,r)),Fi.call(this,n.subarray(i,i+s)),this}function v2(e){let{length:t,valueOffsets:n}=e;if(n){let{[0]:r,[t]:i}=n;return Fi.call(this,hg(-r,t+1,n)),this.visit(e.children[0].slice(r,i-r))}return this.visit(e.children[0])}function w2(e){return this.visitMany(e.type.children.map((t,n)=>e.children[n]).filter(Boolean))[0]}Me.prototype.visitBool=Fj;Me.prototype.visitInt=bs;Me.prototype.visitFloat=bs;Me.prototype.visitUtf8=C0;Me.prototype.visitLargeUtf8=C0;Me.prototype.visitBinary=C0;Me.prototype.visitLargeBinary=C0;Me.prototype.visitFixedSizeBinary=bs;Me.prototype.visitDate=bs;Me.prototype.visitTimestamp=bs;Me.prototype.visitTime=bs;Me.prototype.visitDecimal=bs;Me.prototype.visitList=v2;Me.prototype.visitStruct=w2;Me.prototype.visitUnion=kj;Me.prototype.visitInterval=bs;Me.prototype.visitDuration=bs;Me.prototype.visitFixedSizeList=v2;Me.prototype.visitMap=v2;var Fc=class extends Ac{static throughNode(t){throw new Error('"throughNode" not available in this environment')}static throughDOM(t,n){throw new Error('"throughDOM" not available in this environment')}constructor(t){super(),this._position=0,this._started=!1,this._sink=new ro,this._schema=null,this._dictionaryBlocks=[],this._recordBatchBlocks=[],this._dictionaryDeltaOffsets=new Map,Yn(t)||(t={autoDestroy:!0,writeLegacyIpcFormat:!1}),this._autoDestroy=typeof t.autoDestroy=="boolean"?t.autoDestroy:!0,this._writeLegacyIpcFormat=typeof t.writeLegacyIpcFormat=="boolean"?t.writeLegacyIpcFormat:!1}toString(t=!1){return this._sink.toString(t)}toUint8Array(t=!1){return this._sink.toUint8Array(t)}writeAll(t){return Ar(t)?t.then(n=>this.writeAll(n)):Wr(t)?S2(this,t):_2(this,t)}get closed(){return this._sink.closed}[Symbol.asyncIterator](){return this._sink[Symbol.asyncIterator]()}toDOMStream(t){return this._sink.toDOMStream(t)}toNodeStream(t){return this._sink.toNodeStream(t)}close(){return this.reset()._sink.close()}abort(t){return this.reset()._sink.abort(t)}finish(){return this._autoDestroy?this.close():this.reset(this._sink,this._schema),this}reset(t=this._sink,n=null){return t===this._sink||t instanceof ro?this._sink=t:(this._sink=new ro,t&&CD(t)?this.toDOMStream({type:"bytes"}).pipeTo(t):t&&kD(t)&&this.toNodeStream({objectMode:!1}).pipe(t)),this._started&&this._schema&&this._writeFooter(this._schema),this._started=!1,this._dictionaryBlocks=[],this._recordBatchBlocks=[],this._dictionaryDeltaOffsets=new Map,(!n||!Bc(n,this._schema))&&(n==null?(this._position=0,this._schema=null):(this._started=!0,this._schema=n,this._writeSchema(n))),this}write(t){let n=null;if(this._sink){if(t==null)return this.finish()&&void 0;if(t instanceof pr&&!(n=t.schema))return this.finish()&&void 0;if(t instanceof ke&&!(n=t.schema))return this.finish()&&void 0}else throw new Error("RecordBatchWriter is closed");if(n&&!Bc(n,this._schema)){if(this._started&&this._autoDestroy)return this.close();this.reset(this._sink,n)}t instanceof ke?t instanceof Lc||this._writeRecordBatch(t):t instanceof pr?this.writeAll(t.batches):wi(t)&&this.writeAll(t)}_writeMessage(t,n=8){let r=n-1,i=gr.encode(t),o=i.byteLength,s=this._writeLegacyIpcFormat?4:8,a=o+s+r&~r,c=a-o-s;return t.headerType===qt.RecordBatch?this._recordBatchBlocks.push(new fs(a,t.bodyLength,this._position)):t.headerType===qt.DictionaryBatch&&this._dictionaryBlocks.push(new fs(a,t.bodyLength,this._position)),this._writeLegacyIpcFormat||this._write(Int32Array.of(-1)),this._write(Int32Array.of(a-s)),o>0&&this._write(i),this._writePadding(c)}_write(t){if(this._started){let n=_t(t);n&&n.byteLength>0&&(this._sink.write(n),this._position+=n.byteLength)}return this}_writeSchema(t){return this._writeMessage(gr.from(t))}_writeFooter(t){return this._writeLegacyIpcFormat?this._write(Int32Array.of(0)):this._write(Int32Array.of(-1,0))}_writeMagic(){return this._write(gu)}_writePadding(t){return t>0?this._write(new Uint8Array(t)):this}_writeRecordBatch(t){let{byteLength:n,nodes:r,bufferRegions:i,buffers:o}=Me.assemble(t),s=new vn(t.numRows,r,i),a=gr.from(s,n);return this._writeDictionaries(t)._writeMessage(a)._writeBodyBuffers(o)}_writeDictionaryBatch(t,n,r=!1){this._dictionaryDeltaOffsets.set(n,t.length+(this._dictionaryDeltaOffsets.get(n)||0));let{byteLength:i,nodes:o,bufferRegions:s,buffers:a}=Me.assemble(new Xt([t])),c=new vn(t.length,o,s),l=new yr(c,n,r),u=gr.from(l,i);return this._writeMessage(u)._writeBodyBuffers(a)}_writeBodyBuffers(t){let n,r,i;for(let o=-1,s=t.length;++o<s;)(n=t[o])&&(r=n.byteLength)>0&&(this._write(n),(i=(r+7&-8)-r)>0&&this._writePadding(i));return this}_writeDictionaries(t){for(let[n,r]of t.dictionaries){let i=this._dictionaryDeltaOffsets.get(n)||0;if(i===0||(r=r?.slice(i)).length>0)for(let o of r.data)this._writeDictionaryBatch(o,n,i>0),i+=o.length}return this}},Ch=class e extends Fc{static writeAll(t,n){let r=new e(n);return Ar(t)?t.then(i=>r.writeAll(i)):Wr(t)?S2(r,t):_2(r,t)}},kh=class e extends Fc{static writeAll(t){let n=new e;return Ar(t)?t.then(r=>n.writeAll(r)):Wr(t)?S2(n,t):_2(n,t)}constructor(){super(),this._autoDestroy=!0}_writeSchema(t){return this._writeMagic()._writePadding(2)}_writeFooter(t){let n=us.encode(new us(t,ce.V5,this._recordBatchBlocks,this._dictionaryBlocks));return super._writeFooter(t)._write(n)._write(Int32Array.of(n.byteLength))._writeMagic()}};function _2(e,t){let n=t;t instanceof pr&&(n=t.batches,e.reset(void 0,t.schema));for(let r of n)e.write(r);return e.finish()}function S2(e,t){var n,r,i,o,s,a,c;return Z(this,void 0,void 0,function*(){try{for(n=!0,r=bi(t);i=yield r.next(),o=i.done,!o;n=!0){c=i.value,n=!1;let l=c;e.write(l)}}catch(l){s={error:l}}finally{try{!n&&!o&&(a=r.return)&&(yield a.call(r))}finally{if(s)throw s.error}}return e.finish()})}function vB(e,t){if(Wr(e))return $j(e,t);if(wi(e))return Rj(e,t);throw new Error("toDOMStream() must be called with an Iterable or AsyncIterable")}function Rj(e,t){let n=null,r=t?.type==="bytes"||!1,i=t?.highWaterMark||Math.pow(2,24);return new ReadableStream(Object.assign(Object.assign({},t),{start(s){o(s,n||(n=e[Symbol.iterator]()))},pull(s){n?o(s,n):s.close()},cancel(){(n?.return&&n.return()||!0)&&(n=null)}}),Object.assign({highWaterMark:r?i:void 0},t));function o(s,a){let c,l=null,u=s.desiredSize||null;for(;!(l=a.next(r?u:null)).done;)if(ArrayBuffer.isView(l.value)&&(c=_t(l.value))&&(u!=null&&r&&(u=u-c.byteLength+1),l.value=c),s.enqueue(l.value),u!=null&&--u<=0)return;s.close()}}function $j(e,t){let n=null,r=t?.type==="bytes"||!1,i=t?.highWaterMark||Math.pow(2,24);return new ReadableStream(Object.assign(Object.assign({},t),{start(s){return Z(this,void 0,void 0,function*(){yield o(s,n||(n=e[Symbol.asyncIterator]()))})},pull(s){return Z(this,void 0,void 0,function*(){n?yield o(s,n):s.close()})},cancel(){return Z(this,void 0,void 0,function*(){(n?.return&&(yield n.return())||!0)&&(n=null)})}}),Object.assign({highWaterMark:r?i:void 0},t));function o(s,a){return Z(this,void 0,void 0,function*(){let c,l=null,u=s.desiredSize||null;for(;!(l=yield a.next(r?u:null)).done;)if(ArrayBuffer.isView(l.value)&&(c=_t(l.value))&&(u!=null&&r&&(u=u-c.byteLength+1),l.value=c),s.enqueue(l.value),u!=null&&--u<=0)return;s.close()})}}function IB(e){return new I2(e)}var I2=class{constructor(t){this._numChunks=0,this._finished=!1,this._bufferedSize=0;let{["readableStrategy"]:n,["writableStrategy"]:r,["queueingStrategy"]:i="count"}=t,o=BD(t,["readableStrategy","writableStrategy","queueingStrategy"]);this._controller=null,this._builder=Ec(o),this._getSize=i!=="bytes"?_B:SB;let{["highWaterMark"]:s=i==="bytes"?Math.pow(2,14):1e3}=Object.assign({},n),{["highWaterMark"]:a=i==="bytes"?Math.pow(2,14):1e3}=Object.assign({},r);this.readable=new ReadableStream({cancel:()=>{this._builder.clear()},pull:c=>{this._maybeFlush(this._builder,this._controller=c)},start:c=>{this._maybeFlush(this._builder,this._controller=c)}},{highWaterMark:s,size:i!=="bytes"?_B:SB}),this.writable=new WritableStream({abort:()=>{this._builder.clear()},write:()=>{this._maybeFlush(this._builder,this._controller)},close:()=>{this._maybeFlush(this._builder.finish(),this._controller)}},{highWaterMark:a,size:c=>this._writeValueAndReturnChunkSize(c)})}_writeValueAndReturnChunkSize(t){let n=this._bufferedSize;return this._bufferedSize=this._getSize(this._builder.append(t)),this._bufferedSize-n}_maybeFlush(t,n){n!=null&&(this._bufferedSize>=n.desiredSize&&++this._numChunks&&this._enqueue(n,t.toVector()),t.finished&&((t.length>0||this._numChunks===0)&&++this._numChunks&&this._enqueue(n,t.toVector()),!this._finished&&(this._finished=!0)&&this._enqueue(n,null)))}_enqueue(t,n){this._bufferedSize=0,this._controller=null,n==null?t.close():t.enqueue(n)}},_B=e=>{var t;return(t=e?.length)!==null&&t!==void 0?t:0},SB=e=>{var t;return(t=e?.byteLength)!==null&&t!==void 0?t:0};function k0(e,t){let n=new ro,r=null,i=new ReadableStream({cancel(){return Z(this,void 0,void 0,function*(){yield n.close()})},start(a){return Z(this,void 0,void 0,function*(){yield s(a,r||(r=yield o()))})},pull(a){return Z(this,void 0,void 0,function*(){r?yield s(a,r):a.close()})}});return{writable:new WritableStream(n,Object.assign({highWaterMark:Math.pow(2,14)},e)),readable:i};function o(){return Z(this,void 0,void 0,function*(){return yield(yield Lr.from(n)).open(t)})}function s(a,c){return Z(this,void 0,void 0,function*(){let l=a.desiredSize,u=null;for(;!(u=yield c.next()).done;)if(a.enqueue(u.value),l!=null&&--l<=0)return;a.close()})}}function F0(e,t){let n=new this(e),r=new Jr(n),i=new ReadableStream({cancel(){return Z(this,void 0,void 0,function*(){yield r.cancel()})},pull(s){return Z(this,void 0,void 0,function*(){yield o(s)})},start(s){return Z(this,void 0,void 0,function*(){yield o(s)})}},Object.assign({highWaterMark:Math.pow(2,14)},t));return{writable:new WritableStream(n,e),readable:i};function o(s){return Z(this,void 0,void 0,function*(){let a=null,c=s.desiredSize;for(;a=yield r.read(c||null);)if(s.enqueue(a),c!=null&&(c-=a.byteLength)<=0)return;s.close()})}}function Fh(e){let t=Lr.from(e);return Ar(t)?t.then(n=>Fh(n)):t.isAsync()?t.readAll().then(n=>new pr(n)):new pr(t.readAll())}var Uj=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},k_),a2),Q_),F_),D_),J_),L_),{compareSchemas:Bc,compareFields:QO,compareTypes:KO});bn.toDOMStream=vB;ve.throughDOM=IB;Lr.throughDOM=k0;kc.throughDOM=k0;xs.throughDOM=k0;Fc.throughDOM=F0;kh.throughDOM=F0;Ch.throughDOM=F0;function R0(e="ws://localhost:3000/"){let t=[],n=!1,r=null,i,o={open(){n=!0,c()},close(){for(n=!1,r=null,i=null;t.length;)t.shift().reject("Socket closed")},error(l){if(r){let{reject:u}=r;r=null,c(),u(l)}else console.error("WebSocket error: ",l)},message({data:l}){if(r){let{query:u,resolve:f,reject:d}=r;if(r=null,c(),typeof l=="string"){let h=JSON.parse(l);h.error?d(h.error):f(h)}else if(u.type==="exec")f();else if(u.type==="arrow")f(Fh(l.arrayBuffer()));else throw new Error(`Unexpected socket data: ${l}`)}else console.log("WebSocket message: ",l)}};function s(){i=new WebSocket(e);for(let l in o)i.addEventListener(l,o[l])}function a(l,u,f){i==null&&s(),t.push({query:l,resolve:u,reject:f}),n&&!r&&c()}function c(){t.length&&(r=t.shift(),i.send(JSON.stringify(r.query)))}return{get connected(){return n},query(l){return new Promise((u,f)=>a(l,u,f))}}}var xr=class{constructor(t,n){t&&(this.table=String(t)),n&&(this.column=n)}get columns(){return this.column?[this.column]:[]}toString(){let{table:t,column:n}=this;if(n){let r=n.startsWith("*")?n:`"${n}"`;return`${t?`${MB(t)}.`:""}${r}`}else return t?MB(t):"NULL"}};function MB(e){return e.split(".").map(n=>`"${n}"`).join(".")}function AB(e,t){return e instanceof xr&&e.column===t}function jt(e){return typeof e=="string"?Ia(e):e}function Rc(e){return typeof e=="string"?TB(e):e}function TB(e){return new xr(e)}function Ia(e,t){return arguments.length===1&&(t=e,e=null),new xr(e,t)}function so(e){switch(typeof e){case"boolean":return e?"TRUE":"FALSE";case"string":return`'${e}'`;case"number":return Number.isFinite(e)?String(e):"NULL";default:if(e==null)return"NULL";if(e instanceof Date){let t=+e;if(Number.isNaN(t))return"NULL";let n=e.getUTCFullYear(),r=e.getUTCMonth(),i=e.getUTCDate();return t===Date.UTC(n,r,i)?`MAKE_DATE(${n}, ${r+1}, ${i})`:`EPOCH_MS(${t})`}else return e instanceof RegExp?`'${e.source}'`:String(e)}}var ws=e=>typeof e?.addEventListener=="function";function $0(e){return e instanceof Ma}var Ma=class{constructor(t,n,r){this._expr=Array.isArray(t)?t:[t],this._deps=n||[],this.annotate(r);let i=this._expr.filter(o=>ws(o));i.length>0?(this._params=Array.from(new Set(i)),this._params.forEach(o=>{o.addEventListener("value",()=>zj(this,this.map?.get("value")))})):this.addEventListener=void 0}get value(){return this}get columns(){let{_params:t,_deps:n}=this;if(t){let r=new Set(t.flatMap(i=>{let o=i.value?.columns;return Array.isArray(o)?o:[]}));if(r.size){let i=new Set(n);return r.forEach(o=>i.add(o)),Array.from(i)}}return n}get column(){return this._deps.length?this._deps[0]:this.columns[0]}annotate(...t){return Object.assign(this,...t)}toString(){return this._expr.map(t=>ws(t)&&!$0(t)?so(t.value):t).join("")}addEventListener(t,n){let r=this.map||(this.map=new Map);(r.get(t)||(r.set(t,new Set),r.get(t))).add(n)}};function zj(e,t){if(t?.size)return Promise.allSettled(Array.from(t,n=>n(e)))}function M2(e,t){let n=[e[0]],r=new Set,i=t.length;for(let o=0,s=0;o<i;){let a=t[o];ws(a)?n[++s]=a:(Array.isArray(a?.columns)&&a.columns.forEach(l=>r.add(l)),n[s]+=typeof a=="string"?a:so(a));let c=e[++o];ws(n[s])?n[++s]=c:n[s]+=c}return{spans:n,cols:Array.from(r)}}function q(e,...t){let{spans:n,cols:r}=M2(e,t);return new Ma(n,r)}function A2(e){let t=jt(e);return q`${t} DESC NULLS LAST`.annotate({label:t?.label,desc:!0})}var Cr=e=>({value:e,toString:()=>so(e)});function Rh(e){e(this.op,this),this.children?.forEach(t=>t.visit(e))}function EB(e,t){let n=t.filter(i=>i!=null).map(jt),r=n.map((i,o)=>o?` ${e} `:"");return n.length===1?r.push(""):n.length>1&&(r[0]="(",r.push(")")),q(r,...n).annotate({op:e,children:n,visit:Rh})}var Wn=(...e)=>EB("AND",e.flat()),$c=(...e)=>EB("OR",e.flat()),qj=e=>t=>q`(${e} ${jt(t)})`.annotate({op:e,a:t,visit:Rh}),T2=qj("NOT"),NB=e=>t=>q`(${jt(t)} ${e})`.annotate({op:e,a:t,visit:Rh}),Pc=NB("IS NULL"),vs=NB("IS NOT NULL"),Aa=e=>(t,n)=>q`(${jt(t)} ${e} ${jt(n)})`.annotate({op:e,a:t,b:n,visit:Rh}),_s=Aa("="),Uc=Aa("<>"),Ss=Aa("<"),$h=Aa(">"),Is=Aa("<="),E2=Aa(">="),N2=Aa("IS DISTINCT FROM"),Ph=Aa("IS NOT DISTINCT FROM");function DB(e,t,n,r){t=jt(t);let i=e.startsWith("NOT ")?"NOT ":"";return(n?r?q`${i}(${n[0]} <= ${t} AND ${t} < ${n[1]})`:q`(${t} ${e} ${n[0]} AND ${n[1]})`:q``).annotate({op:e,visit:Rh,field:t,range:n})}var Ae=(e,t,n)=>DB("BETWEEN",e,t,n),D2=(e,t,n)=>DB("NOT BETWEEN",e,t,n);function zc(e,t){return Array.from({length:e},()=>t)}function _n(e,t){return(...n)=>{let r=n.map(jt),i=t?`::${t}`:"";return(r.length?q([`${e}(`,...zc(r.length-1,", "),`)${i}`],...r):q`${e}()${i}`).annotate({func:e,args:r})}}var O2=_n("REGEXP_MATCHES"),B2=_n("CONTAINS"),L2=_n("PREFIX"),C2=_n("SUFFIX"),jj=_n("LOWER"),Vj=_n("UPPER"),Yj=_n("LENGTH"),Xj=_n("ISNAN"),Gj=_n("ISFINITE"),Wj=_n("ISINF");var Uh=class e extends Ma{constructor(t,n,r,i,o="",s="",a=""){let c;if(i&&!(o||s||a))c=i?q`${n} OVER "${i}"`:q`${n} OVER ()`;else{let d=o&&s?" ":"",h=(o||s)&&a?" ":"";c=q`${n} OVER (${i?`"${i}" `:""}${o}${d}${s}${h}${a})`}r&&(c=q`(${c})::${r}`);let{_expr:u,_deps:f}=c;super(u,f,{window:t,func:n,type:r,name:i,group:o,order:s,frame:a})}get basis(){return this.column}get label(){let{func:t}=this;return t.label??t.toString()}over(t){let{window:n,func:r,type:i,group:o,order:s,frame:a}=this;return new e(n,r,i,t,o,s,a)}partitionby(...t){let n=t.flat().filter(u=>u).map(jt),r=q(["PARTITION BY ",zc(n.length-1,", "),""],...n),{window:i,func:o,type:s,name:a,order:c,frame:l}=this;return new e(i,o,s,a,r,c,l)}orderby(...t){let n=t.flat().filter(u=>u).map(jt),r=q(["ORDER BY ",zc(n.length-1,", "),""],...n),{window:i,func:o,type:s,name:a,group:c,frame:l}=this;return new e(i,o,s,a,c,r,l)}rows(t){let n=OB("ROWS",t),{window:r,func:i,type:o,name:s,group:a,order:c}=this;return new e(r,i,o,s,a,c,n)}range(t){let n=OB("RANGE",t),{window:r,func:i,type:o,name:s,group:a,order:c}=this;return new e(r,i,o,s,a,c,n)}};function OB(e,t){if(ws(t)){let n=q`${t}`;return n.toString=()=>`${e} ${BB(t.value)}`,n}return`${e} ${BB(t)}`}function BB(e){let[t,n]=e,r=t===0?"CURRENT ROW":Number.isFinite(t)?`${Math.abs(t)} PRECEDING`:"UNBOUNDED PRECEDING",i=n===0?"CURRENT ROW":Number.isFinite(n)?`${Math.abs(n)} FOLLOWING`:"UNBOUNDED FOLLOWING";return`BETWEEN ${r} AND ${i}`}function Ri(e,t){return(...n)=>{let r=_n(e)(...n);return new Uh(e,r,t)}}var k2=Ri("ROW_NUMBER","INTEGER"),F2=Ri("RANK","INTEGER"),R2=Ri("DENSE_RANK","INTEGER"),$2=Ri("PERCENT_RANK"),P2=Ri("CUME_DIST"),U2=Ri("NTILE"),z2=Ri("LAG"),q2=Ri("LEAD"),j2=Ri("FIRST_VALUE"),V2=Ri("LAST_VALUE"),Y2=Ri("NTH_VALUE");function G2(e,...t){return q(e,...t).annotate({aggregate:!0})}var X2=class e extends Ma{constructor(t,n,r,i,o){n=(n||[]).map(jt);let{strings:s,exprs:a}=Hj(t,n,r,i,o),{spans:c,cols:l}=M2(s,a);super(c,l,{aggregate:t,args:n,type:r,isDistinct:i,filter:o})}get basis(){return this.column}get label(){let{aggregate:t,args:n,isDistinct:r}=this,i=r?"DISTINCT"+(n.length?" ":""):"",o=n.length?`(${i}${n.map(Zj).join(", ")})`:"";return`${t.toLowerCase()}${o}`}distinct(){let{aggregate:t,args:n,type:r,filter:i}=this;return new e(t,n,r,!0,i)}where(t){let{aggregate:n,args:r,type:i,isDistinct:o}=this;return new e(n,r,i,o,t)}window(){let{aggregate:t,args:n,type:r,isDistinct:i}=this,o=new e(t,n,null,i);return new Uh(t,o,r)}partitionby(...t){return this.window().partitionby(...t)}orderby(...t){return this.window().orderby(...t)}rows(t,n){return this.window().rows(t,n)}range(t,n){return this.window().range(t,n)}};function Hj(e,t,n,r,i){let o=`)${n?`::${n}`:""}`,s=[`${e}(${r?"DISTINCT ":""}`],a=[];return t.length?(s=s.concat([...zc(t.length-1,", "),`${o}${i?" FILTER (WHERE ":""}`,...i?[")"]:[]]),a=[...t,...i?[i]:[]]):s[0]+="*"+o,{exprs:a,strings:s}}function Zj(e){let t=so(e);return t&&t.startsWith('"')&&t.endsWith('"')?t.slice(1,-1):t}function Jt(e,t){return(...n)=>new X2(e,n,t)}var kr=Jt("COUNT","INTEGER"),W2=Jt("AVG"),Jj=Jt("AVG"),H2=Jt("MAD"),ti=Jt("MAX"),ei=Jt("MIN"),Fr=Jt("SUM","DOUBLE"),Z2=Jt("PRODUCT"),J2=Jt("MEDIAN"),Q2=Jt("QUANTILE"),K2=Jt("MODE"),tS=Jt("VARIANCE"),eS=Jt("STDDEV"),nS=Jt("SKEWNESS"),rS=Jt("KURTOSIS"),iS=Jt("ENTROPY"),oS=Jt("VAR_POP"),sS=Jt("STDDEV_POP"),aS=Jt("CORR"),cS=Jt("COVAR_POP"),lS=Jt("REGR_INTERCEPT"),uS=Jt("REGR_SLOPE"),fS=Jt("REGR_COUNT"),Qj=Jt("REGR_R2"),dS=Jt("REGR_SYY"),hS=Jt("REGR_SXX"),Kj=Jt("REGR_SXY"),pS=Jt("REGR_AVGX"),tV=Jt("REGR_AVGY"),mS=Jt("FIRST"),yS=Jt("LAST"),vu=Jt("ARG_MIN"),_u=Jt("ARG_MAX"),gS=Jt("STRING_AGG"),xS=Jt("ARRAY_AGG");function zh(e,t){let n=jt(e),r=q`CAST(${n} AS ${t})`;return Object.defineProperty(r,"label",{enumerable:!0,get(){return e.label}}),Object.defineProperty(r,"aggregate",{enumerable:!0,get(){return e.aggregate||!1}}),r}var Su=e=>zh(e,"DOUBLE"),bS=e=>zh(e,"INTEGER");var wS=e=>q`epoch_ms(${jt(e)})`,vS=e=>{let t=jt(e);return q`MAKE_DATE(2012, MONTH(${t}), 1)`.annotate({label:"month"})},_S=e=>{let t=jt(e);return q`MAKE_DATE(2012, MONTH(${t}), DAY(${t}))`.annotate({label:"date"})},SS=e=>{let t=jt(e);return q`MAKE_DATE(2012, 1, DAY(${t}))`.annotate({label:"date"})};var qh=_n("ST_AsGeoJSON"),LB=_n("ST_X"),CB=_n("ST_Y"),jh=_n("ST_CENTROID"),IS=e=>LB(jh(e)),MS=e=>CB(jh(e));var ht=class e{static select(...t){return new e().select(...t)}static from(...t){return new e().from(...t)}static with(...t){return new e().with(...t)}static union(...t){return new qc("UNION",t.flat())}static unionAll(...t){return new qc("UNION ALL",t.flat())}static intersect(...t){return new qc("INTERSECT",t.flat())}static except(...t){return new qc("EXCEPT",t.flat())}static describe(t){let n=t.clone(),{clone:r,toString:i}=n;return Object.assign(n,{describe:!0,clone:()=>e.describe(r.call(n)),toString:()=>`DESCRIBE ${i.call(n)}`})}constructor(){this.query={with:[],select:[],from:[],where:[],groupby:[],having:[],window:[],qualify:[],orderby:[]}}clone(){let t=new e;return t.query={...this.query},t}with(...t){let{query:n}=this;if(t.length===0)return n.with;{let r=[],i=(o,s)=>{let a=s.clone();a.cteFor=this,r.push({as:o,query:a})};return t.flat().forEach(o=>{if(o!=null)if(o.as&&o.query)i(o.as,o.query);else for(let s in o)i(s,o[s])}),n.with=n.with.concat(r),this}}select(...t){let{query:n}=this;if(t.length===0)return n.select;{let r=[];for(let i of t.flat())if(i!=null)if(typeof i=="string")r.push({as:i,expr:jt(i)});else if(i instanceof xr)r.push({as:i.column,expr:i});else if(Array.isArray(i))r.push({as:i[0],expr:i[1]});else for(let o in i)r.push({as:P0(o),expr:jt(i[o])});return n.select=n.select.concat(r),this}}$select(...t){return this.query.select=[],this.select(...t)}distinct(t=!0){return this.query.distinct=!!t,this}from(...t){let{query:n}=this;if(t.length===0)return n.from;{let r=[];return t.flat().forEach(i=>{if(i!=null)if(typeof i=="string")r.push({as:i,from:Rc(i)});else if(i instanceof xr)r.push({as:i.table,from:i});else if(Vh(i)||$0(i))r.push({from:i});else if(Array.isArray(i))r.push({as:P0(i[0]),from:Rc(i[1])});else for(let o in i)r.push({as:P0(o),from:Rc(i[o])})}),n.from=n.from.concat(r),this}}$from(...t){return this.query.from=[],this.from(...t)}sample(t,n){let{query:r}=this;if(arguments.length===0)return r.sample;{let i=t;return typeof t=="number"&&(i=t>0&&t<1?{perc:100*t,method:n}:{rows:Math.round(t),method:n}),r.sample=i,this}}where(...t){let{query:n}=this;return t.length===0?n.where:(n.where=n.where.concat(t.flat().filter(r=>r)),this)}$where(...t){return this.query.where=[],this.where(...t)}groupby(...t){let{query:n}=this;return t.length===0?n.groupby:(n.groupby=n.groupby.concat(t.flat().filter(r=>r).map(jt)),this)}$groupby(...t){return this.query.groupby=[],this.groupby(...t)}having(...t){let{query:n}=this;return t.length===0?n.having:(n.having=n.having.concat(t.flat().filter(r=>r)),this)}window(...t){let{query:n}=this;if(t.length===0)return n.window;{let r=[];return t.flat().forEach(i=>{if(i!=null)for(let o in i)r.push({as:P0(o),expr:i[o]})}),n.window=n.window.concat(r),this}}qualify(...t){let{query:n}=this;return t.length===0?n.qualify:(n.qualify=n.qualify.concat(t.flat().filter(r=>r)),this)}orderby(...t){let{query:n}=this;return t.length===0?n.orderby:(n.orderby=n.orderby.concat(t.flat().filter(r=>r).map(jt)),this)}limit(t){let{query:n}=this;return arguments.length===0?n.limit:(n.limit=Number.isFinite(t)?t:void 0,this)}offset(t){let{query:n}=this;return arguments.length===0?n.offset:(n.offset=Number.isFinite(t)?t:void 0,this)}get subqueries(){let{query:t,cteFor:n}=this,i=(n?.query||t).with?.reduce((s,{as:a,query:c})=>(s[a]=c,s),{}),o=[];return t.from.forEach(({from:s})=>{if(Vh(s))o.push(s);else if(i[s.table]){let a=i[s.table];o.push(a)}}),o}toString(){let{with:t,select:n,distinct:r,from:i,sample:o,where:s,groupby:a,having:c,window:l,qualify:u,orderby:f,limit:d,offset:h}=this.query,p=[];if(t.length){let g=t.map(({as:y,query:x})=>`"${y}" AS (${x})`);p.push(`WITH ${g.join(", ")}`)}let m=n.map(({as:g,expr:y})=>AB(y,g)&&!y.table?`${y}`:`${y} AS "${g}"`);if(p.push(`SELECT${r?" DISTINCT":""} ${m.join(", ")}`),i.length){let g=i.map(({as:y,from:x})=>{let b=Vh(x)?`(${x})`:`${x}`;return!y||y===x.table?b:`${b} AS "${y}"`});p.push(`FROM ${g.join(", ")}`)}if(s.length){let g=s.map(String).filter(y=>y).join(" AND ");g&&p.push(`WHERE ${g}`)}if(o){let{rows:g,perc:y,method:x,seed:b}=o,w=g?`${g} ROWS`:`${y} PERCENT`,_=x?` (${x}${b!=null?`, ${b}`:""})`:"";p.push(`USING SAMPLE ${w}${_}`)}if(a.length&&p.push(`GROUP BY ${a.join(", ")}`),c.length){let g=c.map(String).filter(y=>y).join(" AND ");g&&p.push(`HAVING ${g}`)}if(l.length){let g=l.map(({as:y,expr:x})=>`"${y}" AS (${x})`);p.push(`WINDOW ${g.join(", ")}`)}if(u.length){let g=u.map(String).filter(y=>y).join(" AND ");g&&p.push(`QUALIFY ${g}`)}return f.length&&p.push(`ORDER BY ${f.join(", ")}`),Number.isFinite(d)&&p.push(`LIMIT ${d}`),Number.isFinite(h)&&p.push(`OFFSET ${h}`),p.join(" ")}},qc=class e{constructor(t,n){this.op=t,this.queries=n.map(r=>r.clone()),this.query={orderby:[]}}clone(){let t=new e(this.op,this.queries);return t.query={...this.query},t}orderby(...t){let{query:n}=this;return t.length===0?n.orderby:(n.orderby=n.orderby.concat(t.flat().filter(r=>r).map(jt)),this)}limit(t){let{query:n}=this;return arguments.length===0?n.limit:(n.limit=Number.isFinite(t)?t:void 0,this)}offset(t){let{query:n}=this;return arguments.length===0?n.offset:(n.offset=Number.isFinite(t)?t:void 0,this)}get subqueries(){let{queries:t,cteFor:n}=this;return n&&t.forEach(r=>r.cteFor=n),t}toString(){let{op:t,queries:n,query:{orderby:r,limit:i,offset:o}}=this,s=[n.join(` ${t} `)];return r.length&&s.push(`ORDER BY ${r.join(", ")}`),Number.isFinite(i)&&s.push(`LIMIT ${i}`),Number.isFinite(o)&&s.push(`OFFSET ${o}`),s.join(" ")}};function Vh(e){return e instanceof ht||e instanceof qc}function AS(e){return Vh(e)&&e.describe}function P0(e){return eV(e)?e.slice(1,-1):e}function eV(e){return e[0]==='"'&&e[e.length-1]==='"'}var U0=e=>e;function nV(){return{apply:U0,invert:U0,sqlApply:jt,sqlInvert:U0}}function rV({base:e}={}){if(e==null||e===Math.E)return{apply:Math.log,invert:Math.exp,sqlApply:t=>q`LN(${jt(t)})`,sqlInvert:t=>q`EXP(${t})`};if(e===10)return{apply:Math.log10,invert:t=>Math.pow(10,t),sqlApply:t=>q`LOG(${jt(t)})`,sqlInvert:t=>q`POW(10, ${t})`};{let t=+e;return{apply:n=>Math.log(n)/Math.log(t),invert:n=>Math.pow(t,n),sqlApply:n=>q`LN(${jt(n)}) / LN(${t})`,sqlInvert:n=>q`POW(${t}, ${n})`}}}function iV({constant:e=1}={}){let t=+e;return{apply:n=>Math.sign(n)*Math.log1p(Math.abs(n)),invert:n=>Math.sign(n)*Math.exp(Math.abs(n)-t),sqlApply:n=>(n=jt(n),q`SIGN(${n}) * LN(${t} + ABS(${n}))`),sqlInvert:n=>q`SIGN(${n}) * (EXP(ABS(${n})) - ${t})`}}function oV(){return{apply:e=>Math.sign(e)*Math.sqrt(Math.abs(e)),invert:e=>Math.sign(e)*e*e,sqlApply:e=>(e=jt(e),q`SIGN(${e}) * SQRT(ABS(${e}))`),sqlInvert:e=>q`SIGN(${e}) * (${e}) ** 2`}}function sV({exponent:e=1}={}){let t=+e;return{apply:n=>Math.sign(n)*Math.pow(Math.abs(n),t),invert:n=>Math.sign(n)*Math.pow(Math.abs(n),1/t),sqlApply:n=>(n=jt(n),q`SIGN(${n}) * POW(ABS(${n}), ${t})`),sqlInvert:n=>q`SIGN(${n}) * POW(ABS(${n}), 1/${t})`}}function kB(){return{apply:e=>+e,invert:e=>new Date(e),sqlApply:e=>e instanceof Date?+e:wS(jt(e)),sqlInvert:U0}}var aV={linear:nV,log:rV,symlog:iV,sqrt:oV,pow:sV,time:kB,utc:kB};function Yh(e){let t=aV[e.type];return t?{...e,...t(e)}:null}function ao(e,t,{replace:n=!1,temp:r=!0,view:i=!1}={}){return"CREATE"+(n?" OR REPLACE ":" ")+(r?"TEMP ":"")+(i?"VIEW":"TABLE")+(n?" ":" IF NOT EXISTS ")+e+" AS "+t}function Xh(e){return`INSTALL ${e}; LOAD ${e}`}function FB(e,{columns:t=Object.keys(e?.[0]||{})}={}){let n=[];if(Array.isArray(t)?(n=t,t=n.reduce((i,o)=>(i[o]=o,i),{})):t&&(n=Object.keys(t)),!n.length)throw new Error("Can not create table from empty column set.");let r=[];for(let i of e){let o=n.map(s=>`${so(i[s])} AS "${t[s]}"`);r.push(`(SELECT ${o.join(", ")})`)}return r.join(" UNION ALL ")}function z0(e,t,n,r={},i={}){let{select:o=["*"],where:s,view:a,temp:c,replace:l,...u}=r,f=cV({...i,...u}),d=`${e}('${n}'${f?", "+f:""})`,h=s?` WHERE ${s}`:"",p=`SELECT ${o.join(", ")} FROM ${d}${h}`;return ao(t,p,{view:a,temp:c,replace:l})}function ES(e,t,n){return z0("read_csv",e,t,n,{auto_detect:!0,sample_size:-1})}function NS(e,t,n){return z0("read_json",e,t,n,{auto_detect:!0,json_format:"auto"})}function DS(e,t,n){return z0("read_parquet",e,t,n)}function OS(e,t,n={}){let{options:r,...i}=n;if(r){let o=Array.isArray(r)?r.join(", "):typeof r=="string"?r:Object.entries(r).map(([s,a])=>`${s}=${a}`).join(", ");i.open_options=o.toUpperCase()}return z0("st_read",e,t,i)}function BS(e,t,n={}){let{select:r=["*"],...i}=n,o=FB(t),s=r.length===1&&r[0]==="*"?o:`SELECT ${r} FROM ${o}`;return ao(e,s,i)}function cV(e){return Object.entries(e).map(([t,n])=>`${t}=${TS(n)}`).join(", ")}function TS(e){switch(typeof e){case"boolean":return String(e);case"string":return`'${e}'`;case"undefined":case"object":return e==null?"NULL":Array.isArray(e)?"["+e.map(t=>TS(t)).join(", ")+"]":"{"+Object.entries(e).map(([t,n])=>`'${t}': ${TS(n)}`).join(", ")+"}";default:return e}}function $B(e){let t=2166136261;for(let n=0,r=e.length;n<r;++n){let i=e.charCodeAt(n),o=i&65280;o&&(t=RB(t^o>>8)),t=RB(t^i&255)}return lV(t)}function RB(e){return e+(e<<1)+(e<<4)+(e<<7)+(e<<8)+(e<<24)}function lV(e){return e+=e<<13,e^=e>>>7,e+=e<<3,e^=e>>>17,e+=e<<5,e&4294967295}var q0=class{constructor(t,{selection:n,temp:r=!0}){this.mc=t,this.selection=n,this.temp=r,this.reset()}reset(){this.enabled=!1,this.clients=null,this.indices=null,this.activeView=null}clear(){this.indices&&(this.mc.cancel(Array.from(this.indices.values(),t=>t.result)),this.indices=null)}index(t,n){if(this.clients!==t){let l=Array.from(t,UB),u=l[0]?.from;this.enabled=l.every(f=>f&&f.from===u),this.clients=t,this.activeView=null,this.clear()}if(!this.enabled)return!1;n=n||this.selection.active;let{source:r}=n;if(r&&r===this.activeView?.source)return!0;if(this.clear(),!r)return!1;let i=this.activeView=uV(n);if(!i)return!1;this.mc.logger().warn("DATA CUBE INDEX CONSTRUCTION");let o=this.selection.remove(r),s=this.indices=new Map,{mc:a,temp:c}=this;for(let l of t){if(o.skip(l,n))continue;let u=UB(l),f=l.query(o.predicate(l)).select({...i.columns,...u.count}).groupby(Object.keys(i.columns)),[d]=f.subqueries;if(d){let x=Object.values(i.columns).map(b=>b.columns[0]);dV(d,x)}let h=f.orderby();f.query.orderby=[];let p=f.toString(),g=`cube_index_${($B(p)>>>0).toString(16)}`,y=a.exec(ao(g,p,{temp:c}));s.set(l,{table:g,result:y,order:h,...u})}}async update(){let{clients:t,selection:n,activeView:r}=this,i=r.predicate(n.active.predicate);return Promise.all(Array.from(t).map(o=>this.updateClient(o,i)))}async updateClient(t,n){let r=this.indices.get(t);if(!r)return;n||(n=this.activeView.predicate(this.selection.active.predicate));let{table:i,dims:o,aggr:s,order:a=[]}=r,c=ht.select(o,s).from(i).groupby(o).where(n).orderby(a);return this.mc.updateClient(t,c)}};function uV(e){let{source:t,schema:n}=e,r=e.predicate?.columns;if(!n||!r)return null;let{type:i,scales:o,pixelSize:s=1}=n,a;if(i==="interval"&&o){let c=o.map(l=>fV(l,s));if(c.some(l=>l==null))return null;c.length===1?(a=l=>l?Ae("active0",l.range.map(c[0])):[],r={active0:c[0](e.predicate.field)}):(a=l=>l?Wn(l.children.map(({range:u},f)=>Ae(`active${f}`,u.map(c[f])))):[],r=Object.fromEntries(e.predicate.children.map((l,u)=>[`active${u}`,c[u](l.field)])))}else if(i==="point")a=c=>c,r=Object.fromEntries(r.map(c=>[c.toString(),c]));else return null;return{source:t,columns:r,predicate:a}}function fV(e,t){let{apply:n,sqlApply:r}=Yh(e);if(n){let{domain:i,range:o}=e,s=n(Math.min(...i)),a=n(Math.max(...i)),c=Math.abs(o[1]-o[0])/(a-s)/t,l=t===1?"":`${t}::INTEGER * `;return u=>q`${l}FLOOR(${c}::DOUBLE * (${r(u)} - ${s}::DOUBLE))::INTEGER`}}var PB={from:NaN};function UB(e){if(!e.filterIndexable)return PB;let t=e.query(),n=LS(t);if(!n||!t.groupby)return PB;let r=new Set(t.groupby().map(a=>a.column)),i=[],o=[],s;for(let{as:a,expr:{aggregate:c}}of t.select())switch(c?.toUpperCase?.()){case"COUNT":case"SUM":i.push({[a]:q`SUM("${a}")::DOUBLE`});break;case"AVG":s="_count_",i.push({[a]:q`(SUM("${a}" * ${s}) / SUM(${s}))::DOUBLE`});break;case"MAX":i.push({[a]:q`MAX("${a}")`});break;case"MIN":i.push({[a]:q`MIN("${a}")`});break;default:if(r.has(a))o.push(a);else return null}return{aggr:i,dims:o,count:s?{[s]:q`COUNT(*)`}:{},from:n}}function LS(e){let t=e.subqueries;if(e.select){let r=e.from();if(!r.length)return;if(t.length===0)return r[0].from.table}let n=LS(t[0]);for(let r=1;r<t.length;++r){let i=LS(t[r]);if(i!==void 0&&i!==n)return NaN}return n}function dV(e,t){let n=new Set,r=i=>{n.has(i)||(n.add(i),i.select&&i.from().length&&i.select(t),i.subqueries.forEach(r))};r(e)}var j0=class{constructor(t,n,r=!0){this.mc=t,this.selection=n,this.clients=new Set,this.indexer=r?new q0(this.mc,{...r,selection:n}):null;let{value:i,activate:o}=this.handlers={value:()=>this.update(),activate:s=>this.indexer?.index(this.clients,s)};n.addEventListener("value",i),n.addEventListener("activate",o)}finalize(){let{value:t,activate:n}=this.handlers;this.selection.removeEventListener("value",t),this.selection.removeEventListener("activate",n)}reset(){this.indexer?.reset()}add(t){return(this.clients=new Set(this.clients)).add(t),this}remove(t){return this.clients.has(t)&&(this.clients=new Set(this.clients)).delete(t),this}update(){let{mc:t,indexer:n,clients:r,selection:i}=this;return n?.index(r)?n.update():hV(t,r,i)}};function hV(e,t,n){return Promise.all(Array.from(t).map(r=>{let i=n.predicate(r);if(i!=null)return e.updateClient(r,r.query(i))}))}function V0(){let e,t,n=new Promise((r,i)=>{e=r,t=i});return n.fulfill=r=>(e(r),n),n.reject=r=>(t(r),n),n}function pV(e){return(typeof requestAnimationFrame<"u"?requestAnimationFrame:typeof setImmediate<"u"?setImmediate:setTimeout)(e)}function zB(e,t,n){let r=[],i=0;function o(){let s=mV(r,t);r=[],i=0;for(let a of s)gV(a,e,n),wV(a,t)}return{add(s,a){s.request.type==="arrow"?(i=i||pV(()=>o()),r.push({entry:s,priority:a,index:r.length})):e(s,a)}}}function mV(e,t){let n=[],r=new Map;for(let i of e){let{entry:{request:o}}=i,s=yV(o.query,t);if(!r.has(s)){let a=[];n.push(a),r.set(s,a)}r.get(s).push(i)}return n}function yV(e,t){let n=`${e}`;if(e instanceof ht&&!t.get(n)){if(e.orderby().length||e.where().length||e.qualify().length||e.having().length)return n;let r=e.clone().$select("*"),i=e.groupby();if(i.length){let o={};e.select().forEach(({as:s,expr:a})=>o[s]=a),r.$groupby(i.map(s=>s instanceof xr&&o[s.column]||s))}return`${r}`}else return n}function gV(e,t,n){if(xV(e))t({request:{type:"arrow",cache:!1,record:!1,query:e.query=bV(e,n)},result:e.result=V0()});else for(let{entry:r,priority:i}of e)t(r,i)}function xV(e){if(e.length>1){let t=`${e[0].entry.request.query}`;for(let n=1;n<e.length;++n)if(t!==`${e[n].entry.request.query}`)return!0}return!1}function bV(e,t){let n=e.maps=[],r=new Map;for(let s of e){let{query:a}=s.entry.request,c=[];n.push(c);for(let{as:l,expr:u}of a.select()){let f=`${u}`;r.has(f)||r.set(f,[`col${r.size}`,u]);let[d]=r.get(f);c.push([d,l])}t(`${a}`)}let i=e[0].entry.request.query.clone(),o=i.groupby();if(o.length){let s={};e.maps[0].forEach(([a,c])=>s[c]=a),i.$groupby(o.map(a=>a instanceof xr&&s[a.column]||a))}return i.$select(Array.from(r.values()))}async function wV(e,t){let{maps:n,query:r,result:i}=e;if(!n)return;let o;try{o=await i}catch(a){for(let{entry:c}of e)c.result.reject(a);return}let s=AS(r);e.forEach(({entry:a},c)=>{let{request:l,result:u}=a,f=n[c],d=s&&f?_V(o,f):f?vV(o,f):o;l.cache&&t.set(String(l.query),d),u.fulfill(d)})}function vV(e,t){let n={};for(let[r,i]of t)n[i]=e.getChild(r);return new e.constructor(n)}function _V(e,t){let n=new Map(t),r=[];for(let i of e)n.has(i.column_name)&&r.push({...i,column_name:n.get(i.column_name)});return r}var SV=typeof requestIdleCallback<"u"?requestIdleCallback:setTimeout,qB=()=>({get:()=>{},set:(e,t)=>t,clear:()=>{}});function jB({max:e=1e3,ttl:t=3*60*60*1e3}={}){let n=new Map;function r(){let i=performance.now()-t,o=null,s=1/0;for(let[a,c]of n){let{last:l}=c;l<s&&(o=a,s=l),i>l&&n.delete(a)}o&&n.delete(o)}return{get(i){let o=n.get(i);if(o)return o.last=performance.now(),o.value},set(i,o){return n.set(i,{last:performance.now(),value:o}),n.size>e&&SV(r),o},clear(){n=new Map}}}function VB(e){let t=Array.from({length:e},()=>({head:null,tail:null}));return{isEmpty(){return t.every(n=>!n.head)},insert(n,r){let i=t[r];if(!i)throw new Error(`Invalid queue priority rank: ${r}`);let o={item:n,next:null};i.head===null?i.head=i.tail=o:i.tail=i.tail.next=o},remove(n){for(let r of t){let{head:i,tail:o}=r;for(let s=null,a=i;a;s=a,a=a.next)n(a.item)&&(a===i?i=a.next:s.next=a.next,a===o&&(o=s||i));r.head=i,r.tail=o}},next(){for(let n of t){let{head:r}=n;if(r!==null)return n.head=r.next,n.tail===r&&(n.tail=null),r.item}}}}var co={High:0,Normal:1,Low:2};function YB(){let e=VB(3),t,n,r,i=[],o=null,s;function a(){if(o||e.isEmpty())return;let{request:f,result:d}=e.next();o=u(f,d),o.finally(()=>{o=null,a()})}function c(f,d=co.Normal){e.insert(f,d),a()}function l(f){i.length&&f&&i.forEach(d=>d.add(f))}async function u(f,d){try{let{query:h,type:p,cache:m=!1,record:g=!0,options:y}=f,x=h?`${h}`:null;if(g&&l(x),m){let _=n.get(x);if(_){r.debug("Cache"),d.fulfill(_);return}}let b=performance.now(),w=await t.query({type:p,sql:x,...y});m&&n.set(x,w),r.debug(`Request: ${(performance.now()-b).toFixed(1)}`),d.fulfill(w)}catch(h){d.reject(h)}}return{cache(f){return f!==void 0?n=f===!0?jB():f||qB():n},logger(f){return f?r=f:r},connector(f){return f?t=f:t},consolidate(f){f&&!s?s=zB(c,n,l):!f&&s&&(s=null)},request(f,d=co.Normal){let h=V0(),p={request:f,result:h};return s?s.add(p,d):c(p,d),h},cancel(f){let d=new Set(f);e.remove(({result:h})=>d.has(h))},clear(){e.remove(({result:f})=>(f.reject("Cleared"),!0))},record(){let f=[],d={add(h){f.push(h)},reset(){f=[]},snapshot(){return f.slice()},stop(){return i=i.filter(h=>h!==d),f}};return i.push(d),d}}}function CS(e){switch(e){case"BIGINT":case"HUGEINT":case"INTEGER":case"SMALLINT":case"TINYINT":case"UBIGINT":case"UINTEGER":case"USMALLINT":case"UTINYINT":case"DOUBLE":case"FLOAT":case"REAL":return"number";case"DATE":case"TIMESTAMP":case"TIMESTAMPTZ":case"TIMESTAMP WITH TIME ZONE":case"TIME":case"TIMESTAMP_NS":return"date";case"BOOLEAN":return"boolean";case"VARCHAR":case"UUID":return"string";case"ARRAY":case"LIST":return"array";case"BLOB":case"STRUCT":case"MAP":case"GEOMETRY":return"object";default:if(e.startsWith("DECIMAL"))return"number";if(e.startsWith("STRUCT")||e.startsWith("MAP"))return"object";if(e.endsWith("]"))return"array";throw new Error(`Unsupported type: ${e}`)}}function Iu(e){return typeof e?.getChild=="function"}function kS(e){switch(e.typeId){case 2:case 3:case 7:return Float64Array;default:return Array}}function Gh(e){let{typeId:t}=e;if(t===10)return n=>n==null?n:new Date(n);if(t===2&&e.bitWidth>=64)return n=>n==null?n:Number(n);if(t===7){let n=1/Math.pow(10,e.scale);return r=>r==null?r:GB(r,n)}return n=>n}function Mu(e){let{type:t}=e,{typeId:n}=t;if(n===10){let r=e.length,i=new Array(r);for(let o=0;o<r;++o){let s=e.get(o);i[o]=s==null?null:new Date(s)}return i}if(n===2&&t.bitWidth>=64){let r=e.length,i=new Float64Array(r);for(let o=0;o<r;++o){let s=e.get(o);i[o]=s==null?NaN:Number(s)}return i}if(n===7){let r=1/Math.pow(10,t.scale),i=e.length,o=new Float64Array(i);for(let s=0;s<i;++s){let a=e.get(s);o[s]=a==null?NaN:GB(a,r)}return o}return e.toArray()}var XB=Array.from({length:8},(e,t)=>Math.pow(2,t*32));function GB(e,t){let n=e.length,r=0;if(e.signed&&(e[n-1]|0)<0){for(let i=0;i<n;++i)r+=~e[i]*XB[i];r=-(r+1)}else for(let i=0;i<n;++i)r+=e[i]*XB[i];return r*t}var IV="count",MV="nulls",AV="max",TV="min",EV="distinct";var NV={[IV]:kr,[EV]:e=>kr(e).distinct(),[AV]:ti,[TV]:ei,[MV]:e=>kr().where(Pc(e))};function DV(e,t,n){return ht.from(e).select(Array.from(n,r=>[r,NV[r](t)]))}async function WB(e,t){return t.length===1&&`${t[0].column}`=="*"?BV(e,t[0].table):(await Promise.all(t.map(n=>OV(e,n)))).filter(n=>n)}async function OV(e,{table:t,column:n,stats:r}){let i=ht.from({source:t}).select({column:n}).groupby(n.aggregate?q`ALL`:[]),[o]=Array.from(await e.query(ht.describe(i))),s={table:t,column:`${n}`,sqlType:o.column_type,type:CS(o.column_type),nullable:o.null==="YES"};if(!(r?.length||r?.size))return s;let a=await e.query(DV(t,n,r),{persist:!0});for(let c=0;c<a.numCols;++c){let{name:l}=a.schema.fields[c],u=a.getChildAt(c),f=Gh(u.type);s[l]=f(u.get(0))}return s}async function BV(e,t){let n=await e.query(`DESCRIBE ${Rc(t)}`);return Array.from(n).map(r=>({table:t,column:r.column_name,sqlType:r.column_type,type:CS(r.column_type),nullable:r.null==="YES"}))}function HB(){return{debug(){},info(){},log(){},warn(){},error(){}}}var Y0;function ni(e){return e?Y0=e:Y0==null&&(Y0=new Wh),Y0}var Wh=class{constructor(t=R0(),n={}){let{logger:r=console,manager:i=YB()}=n;this.manager=i,this.logger(r),this.configure(n),this.databaseConnector(t),this.clear()}logger(t){return arguments.length&&(this._logger=t||HB(),this.manager.logger(this._logger)),this._logger}configure({cache:t=!0,consolidate:n=!0,indexes:r=!0}){this.manager.cache(t),this.manager.consolidate(n),this.indexes=r}clear({clients:t=!0,cache:n=!0}={}){this.manager.clear(),t&&(this.clients?.forEach(r=>this.disconnect(r)),this.filterGroups?.forEach(r=>r.finalize()),this.clients=new Set,this.filterGroups=new Map),n&&this.manager.cache().clear()}databaseConnector(t){return this.manager.connector(t)}cancel(t){this.manager.cancel(t)}exec(t,{priority:n=co.Normal}={}){return t=Array.isArray(t)?t.join(`;
|
|
11
|
-
`):t,this.manager.request({type:"exec",query:t},n)}query(t,{type:n="arrow",cache:r=!0,priority:i=co.Normal,...o}={}){return this.manager.request({type:n,query:t,cache:r,options:o},i)}prefetch(t,n={}){return this.query(t,{...n,cache:!0,priority:co.Low})}createBundle(t,n,r=co.Low){let i={name:t,queries:n};return this.manager.request({type:"create-bundle",options:i},r)}loadBundle(t,n=co.High){let r={name:t};return this.manager.request({type:"load-bundle",options:r},n)}updateClient(t,n,r=co.Normal){return t.queryPending(),this.query(n,{priority:r}).then(i=>t.queryResult(i).update(),i=>{t.queryError(i),this._logger.error(i)})}requestQuery(t,n){return this.filterGroups.get(t.filterBy)?.reset(),n?this.updateClient(t,n):t.update()}async connect(t){let{clients:n,filterGroups:r,indexes:i}=this;if(n.has(t))throw new Error("Client already connected.");n.add(t),t.coordinator=this;let o=t.fields();o?.length&&t.fieldInfo(await WB(this,o));let s=t.filterBy;if(s)if(r.has(s))r.get(s).add(t);else{let a=new j0(this,s,i);r.set(s,a.add(t))}t.requestQuery()}disconnect(t){let{clients:n,filterGroups:r}=this;n.has(t)&&(n.delete(t),r.get(t.filterBy)?.remove(t),t.coordinator=null)}};var X0=class{constructor(){this._callbacks=new Map}addEventListener(t,n){this._callbacks.has(t)||this._callbacks.set(t,{callbacks:new Set,pending:null,queue:new FS}),this._callbacks.get(t).callbacks.add(n)}removeEventListener(t,n){let r=this._callbacks.get(t);r&&r.callbacks.delete(n)}willEmit(t,n){return n}emitQueueFilter(){return null}cancel(t){this._callbacks.get(t)?.queue.clear()}emit(t,n){let r=this._callbacks.get(t)||{};if(r.pending)r.queue.enqueue(n,this.emitQueueFilter(t,n));else{let i=this.willEmit(t,n),{callbacks:o,queue:s}=r;if(o?.size){let a=Promise.allSettled(Array.from(o,c=>c(i))).then(()=>{r.pending=null,s.isEmpty()||this.emit(t,s.dequeue())});r.pending=a}}}},FS=class{constructor(){this.clear()}clear(){this.next=null}isEmpty(){return!this.next}enqueue(t,n){let r={value:t};if(n&&this.next){let i=this;for(;i.next;)n(i.next.value)?i=i.next:i.next=i.next.next;i.next=r}else this.next=r}dequeue(){let{next:t}=this;return this.next=t?.next,t?.value}};function Hh(e,t){return e===t?!1:e instanceof Date&&t instanceof Date?+e!=+t:Array.isArray(e)&&Array.isArray(t)?LV(e,t):!0}function LV(e,t){if(e.length!==t.length)return!0;for(let n=0;n<e.length;++n)if(e[n]!==t[n])return!0;return!1}function br(e){return e instanceof Ta}var Ta=class e extends X0{constructor(t){super(),this._value=t}static value(t){return new e(t)}static array(t){if(t.some(n=>br(n))){let n=new e,r=()=>n.update(t.map(i=>br(i)?i.value:i));return r(),t.forEach(i=>br(i)?i.addEventListener("value",r):0),n}return new e(t)}get value(){return this._value}update(t,{force:n}={}){return Hh(this._value,t)||n?this.emit("value",t):this.cancel("value"),this}willEmit(t,n){return t==="value"&&(this._value=n),n}};function ri(e){return e instanceof Ms}var Ms=class e extends Ta{static intersect({cross:t=!1}={}){return new e(new jc({cross:t}))}static union({cross:t=!1}={}){return new e(new jc({cross:t,union:!0}))}static single({cross:t=!1}={}){return new e(new jc({cross:t,single:!0}))}static crossfilter(){return new e(new jc({cross:!0}))}constructor(t=new jc){super([]),this._resolved=this._value,this._resolver=t}clone(){let t=new e(this._resolver);return t._value=t._resolved=this._value,t}remove(t){let n=this.clone();return n._value=n._resolved=n._resolver.resolve(this._resolved,{source:t}),n._value.active={source:t},n}get active(){return this.clauses.active}get value(){return this.active?.value}get clauses(){return super.value}get single(){return this._resolver.single}activate(t){this.emit("activate",t)}update(t){return this._resolved=this._resolver.resolve(this._resolved,t,!0),this._resolved.active=t,super.update(this._resolved)}willEmit(t,n){return t==="value"?(this._value=n,this.value):n}emitQueueFilter(t,n){return t==="value"?this._resolver.queueFilter(n):null}skip(t,n){return this._resolver.skip(t,n)}predicate(t,n=!1){let{clauses:r}=this,i=n?null:r.active;return this._resolver.predicate(r,i,t)}},jc=class{constructor({union:t,cross:n,single:r}={}){this.union=!!t,this.cross=!!n,this.single=!!r}resolve(t,n,r=!1){let{source:i,predicate:o}=n,s=t.filter(c=>i!==c.source),a=this.single?[]:s;return this.single&&r&&s.forEach(c=>c.source?.reset?.()),o&&a.push(n),a}skip(t,n){return this.cross&&n?.clients?.has(t)}predicate(t,n,r){let{union:i}=this;if(this.skip(r,n))return;let o=t.filter(s=>!this.skip(r,s)).map(s=>s.predicate);return i&&o.length>1?$c(o):o}queueFilter(t){if(this.cross){let n=t.active?.source;return r=>r.active?.source!==n}}};function RS(){let e=new Set,t,n=new Promise(r=>t=r);return{pending(r){e.add(r)},ready(r){return e.delete(r),e.size===0},resolve(){n=new Promise(r=>{t(),t=r})},get promise(){return n}}}var gD={};Ir(gD,{Fixed:()=>lo,Param:()=>Ta,Query:()=>ht,Selection:()=>Ms,agg:()=>G2,align:()=>h6,and:()=>Wn,area:()=>Y8,areaX:()=>X8,areaY:()=>G8,argmax:()=>_u,argmin:()=>vu,arrayAgg:()=>xS,arrow:()=>$N,aspectRatio:()=>p6,avg:()=>W2,axis:()=>m6,axisFx:()=>jN,axisFy:()=>VN,axisX:()=>zN,axisY:()=>qN,barX:()=>J8,barY:()=>Q8,bin:()=>Uv,cast:()=>zh,castDouble:()=>Su,castInteger:()=>bS,cell:()=>K8,cellX:()=>tN,cellY:()=>eN,centroid:()=>jh,centroidX:()=>IS,centroidY:()=>MS,circle:()=>cN,colorBase:()=>t8,colorClamp:()=>jE,colorConstant:()=>n8,colorDomain:()=>zE,colorExponent:()=>e8,colorInterpolate:()=>GE,colorLabel:()=>ZE,colorLegend:()=>pD,colorN:()=>VE,colorNice:()=>YE,colorPivot:()=>WE,colorRange:()=>qE,colorReverse:()=>JE,colorScale:()=>UE,colorScheme:()=>XE,colorSymmetric:()=>HE,colorTickFormat:()=>KE,colorZero:()=>QE,column:()=>Ia,contour:()=>AN,coordinator:()=>ni,corr:()=>aS,count:()=>kr,covarPop:()=>cS,create:()=>ao,cume_dist:()=>P2,dateDay:()=>SS,dateMonth:()=>vS,dateMonthDay:()=>_S,delaunayLink:()=>kN,delaunayMesh:()=>FN,denseLine:()=>MN,dense_rank:()=>R2,density:()=>IN,densityX:()=>_N,densityY:()=>SN,dot:()=>oN,dotX:()=>sN,dotY:()=>aN,entropy:()=>iS,eq:()=>_s,facetGrid:()=>$4,facetLabel:()=>P4,facetMargin:()=>L4,facetMarginBottom:()=>k4,facetMarginLeft:()=>F4,facetMarginRight:()=>R4,facetMarginTop:()=>C4,first:()=>mS,first_value:()=>j2,frame:()=>UN,from:()=>bU,fxAlign:()=>G4,fxAriaDescription:()=>fE,fxAriaLabel:()=>uE,fxAxis:()=>J4,fxDomain:()=>U4,fxFontVariant:()=>lE,fxGrid:()=>iE,fxInset:()=>j4,fxInsetLeft:()=>V4,fxInsetRight:()=>Y4,fxLabel:()=>sE,fxLabelAnchor:()=>aE,fxLabelOffset:()=>cE,fxLine:()=>oE,fxNice:()=>q4,fxPadding:()=>W4,fxPaddingInner:()=>H4,fxPaddingOuter:()=>Z4,fxRange:()=>z4,fxReverse:()=>dE,fxRound:()=>X4,fxTickFormat:()=>nE,fxTickPadding:()=>eE,fxTickRotate:()=>rE,fxTickSize:()=>K4,fxTickSpacing:()=>tE,fxTicks:()=>Q4,fyAlign:()=>wE,fyAriaDescription:()=>$E,fyAriaLabel:()=>RE,fyAxis:()=>IE,fyDomain:()=>hE,fyFontVariant:()=>FE,fyGrid:()=>OE,fyInset:()=>yE,fyInsetBottom:()=>xE,fyInsetTop:()=>gE,fyLabel:()=>LE,fyLabelAnchor:()=>CE,fyLabelOffset:()=>kE,fyLine:()=>BE,fyNice:()=>mE,fyPadding:()=>vE,fyPaddingInner:()=>_E,fyPaddingOuter:()=>SE,fyRange:()=>pE,fyReverse:()=>PE,fyRound:()=>bE,fyTickFormat:()=>NE,fyTickPadding:()=>EE,fyTickRotate:()=>DE,fyTickSize:()=>AE,fyTickSpacing:()=>TE,fyTicks:()=>ME,geo:()=>HN,geojson:()=>qh,graticule:()=>JN,grid:()=>g6,gridFx:()=>GN,gridFy:()=>WN,gridX:()=>YN,gridY:()=>XN,gt:()=>$h,gte:()=>E2,hconcat:()=>hU,heatmap:()=>TN,height:()=>c6,hexagon:()=>lN,hexbin:()=>DN,hexgrid:()=>ON,highlight:()=>QN,hspace:()=>yU,hull:()=>RN,image:()=>vN,inset:()=>y6,intervalX:()=>iD,intervalXY:()=>sD,intervalY:()=>oD,isBetween:()=>Ae,isDistinct:()=>N2,isNotBetween:()=>D2,isNotDistinct:()=>Ph,isNotNull:()=>vs,isNull:()=>Pc,kurtosis:()=>rS,label:()=>x6,lag:()=>z2,last:()=>yS,last_value:()=>V2,lead:()=>q2,lengthBase:()=>D8,lengthClamp:()=>T8,lengthConstant:()=>B8,lengthDomain:()=>M8,lengthExponent:()=>O8,lengthNice:()=>E8,lengthRange:()=>A8,lengthScale:()=>I8,lengthZero:()=>N8,line:()=>W8,lineX:()=>H8,lineY:()=>Z8,link:()=>PN,literal:()=>Cr,loadCSV:()=>ES,loadExtension:()=>Xh,loadJSON:()=>NS,loadObjects:()=>BS,loadParquet:()=>DS,loadSpatial:()=>OS,lt:()=>Ss,lte:()=>Is,mad:()=>H2,margin:()=>i6,marginBottom:()=>d6,marginLeft:()=>l6,marginRight:()=>u6,marginTop:()=>f6,margins:()=>r6,max:()=>ti,median:()=>J2,menu:()=>aU,min:()=>ei,mode:()=>K2,name:()=>e6,nearestX:()=>nD,nearestY:()=>rD,neq:()=>Uc,not:()=>T2,nth_value:()=>Y2,ntile:()=>U2,opacityBase:()=>d8,opacityClamp:()=>s8,opacityConstant:()=>p8,opacityDomain:()=>i8,opacityExponent:()=>h8,opacityLabel:()=>c8,opacityLegend:()=>mD,opacityNice:()=>a8,opacityRange:()=>o8,opacityReverse:()=>l8,opacityScale:()=>r8,opacityTickFormat:()=>f8,opacityZero:()=>u8,or:()=>$c,padding:()=>b6,pan:()=>aD,panX:()=>cD,panY:()=>lD,panZoom:()=>uD,panZoomX:()=>fD,panZoomY:()=>dD,percent_rank:()=>$2,plot:()=>wU,product:()=>Z2,projectionClip:()=>j8,projectionDomain:()=>R8,projectionInset:()=>$8,projectionInsetBottom:()=>q8,projectionInsetLeft:()=>P8,projectionInsetRight:()=>U8,projectionInsetTop:()=>z8,projectionParallels:()=>C8,projectionPrecision:()=>k8,projectionRotate:()=>F8,projectionType:()=>L8,quantile:()=>Q2,rBase:()=>v8,rClamp:()=>x8,rConstant:()=>S8,rDomain:()=>y8,rExponent:()=>_8,rNice:()=>b8,rRange:()=>g8,rScale:()=>m8,rZero:()=>w8,rank:()=>F2,raster:()=>EN,rasterTile:()=>NN,rect:()=>nN,rectX:()=>rN,rectY:()=>iN,regressionY:()=>BN,round:()=>w6,row_number:()=>k2,ruleX:()=>hN,ruleY:()=>pN,search:()=>cU,skewness:()=>nS,slider:()=>lU,sphere:()=>ZN,spike:()=>wN,sql:()=>q,stddev:()=>eS,stddevPop:()=>sS,stringAgg:()=>gS,style:()=>s6,sum:()=>Fr,symbolLegend:()=>yD,table:()=>uU,text:()=>uN,textX:()=>fN,textY:()=>dN,tickX:()=>mN,tickY:()=>yN,toggle:()=>Id,toggleColor:()=>eD,toggleX:()=>KN,toggleY:()=>tD,varPop:()=>oS,variance:()=>tS,vconcat:()=>dU,vector:()=>gN,vectorX:()=>xN,vectorY:()=>bN,voronoi:()=>LN,voronoiMesh:()=>CN,vspace:()=>mU,width:()=>a6,xAlign:()=>D6,xAriaDescription:()=>W6,xAriaLabel:()=>G6,xAxis:()=>C6,xBase:()=>J6,xClamp:()=>E6,xConstant:()=>K6,xDomain:()=>_6,xExponent:()=>Q6,xFontVariant:()=>X6,xGrid:()=>z6,xInset:()=>M6,xInsetLeft:()=>A6,xInsetRight:()=>T6,xLabel:()=>j6,xLabelAnchor:()=>V6,xLabelOffset:()=>Y6,xLine:()=>q6,xNice:()=>I6,xPadding:()=>O6,xPaddingInner:()=>B6,xPaddingOuter:()=>L6,xRange:()=>S6,xReverse:()=>H6,xRound:()=>N6,xScale:()=>v6,xTickFormat:()=>P6,xTickPadding:()=>$6,xTickRotate:()=>U6,xTickSize:()=>F6,xTickSpacing:()=>R6,xTicks:()=>k6,xZero:()=>Z6,xyDomain:()=>o6,yAlign:()=>l4,yAriaDescription:()=>T4,yAriaLabel:()=>A4,yAxis:()=>h4,yBase:()=>D4,yClamp:()=>a4,yConstant:()=>B4,yDomain:()=>e4,yExponent:()=>O4,yFontVariant:()=>M4,yGrid:()=>w4,yInset:()=>i4,yInsetBottom:()=>s4,yInsetTop:()=>o4,yLabel:()=>_4,yLabelAnchor:()=>S4,yLabelOffset:()=>I4,yLine:()=>v4,yNice:()=>r4,yPadding:()=>u4,yPaddingInner:()=>f4,yPaddingOuter:()=>d4,yRange:()=>n4,yReverse:()=>E4,yRound:()=>c4,yScale:()=>t4,yTickFormat:()=>x4,yTickPadding:()=>g4,yTickRotate:()=>b4,yTickSize:()=>m4,yTickSpacing:()=>y4,yTicks:()=>p4,yZero:()=>N4});var lo=Symbol("Fixed"),Sn=Symbol("Transient"),Zh=Symbol("Transform");var Dv={};Ir(Dv,{Area:()=>kl,Arrow:()=>ay,BarX:()=>cy,BarY:()=>ly,Cell:()=>Fl,Contour:()=>xy,Density:()=>vy,Dot:()=>Rl,Frame:()=>Km,Geo:()=>_y,Hexgrid:()=>Sy,Image:()=>Iy,Line:()=>$l,Link:()=>oy,Mark:()=>St,Raster:()=>gy,Rect:()=>Ul,RuleX:()=>Wm,RuleY:()=>Hm,Text:()=>Bl,TickX:()=>hy,TickY:()=>py,Tip:()=>ty,Vector:()=>Cl,area:()=>iy,areaX:()=>cc,areaY:()=>aa,arrow:()=>V$,auto:()=>e9,autoSpec:()=>o3,axisFx:()=>Hw,axisFy:()=>Ww,axisX:()=>Jm,axisY:()=>Zm,barX:()=>zo,barY:()=>qo,bin:()=>sa,binX:()=>Po,binY:()=>Uo,bollinger:()=>dc,bollingerX:()=>a9,bollingerY:()=>c9,boxX:()=>l9,boxY:()=>u9,cell:()=>lc,cellX:()=>X$,cellY:()=>G$,centroid:()=>sP,circle:()=>Z$,cluster:()=>oP,column:()=>mn,contour:()=>b9,crosshair:()=>_9,crosshairX:()=>S9,crosshairY:()=>I9,delaunayLink:()=>T9,delaunayMesh:()=>E9,density:()=>L9,differenceY:()=>F9,dodgeX:()=>wP,dodgeY:()=>vP,dot:()=>yi,dotX:()=>W$,dotY:()=>H$,filter:()=>rR,find:()=>dR,formatIsoDate:()=>TT,formatMonth:()=>h7,formatWeekday:()=>p7,frame:()=>Wf,geo:()=>bv,geoCentroid:()=>aP,graticule:()=>$9,gridFx:()=>Kw,gridFy:()=>Jw,gridX:()=>Qw,gridY:()=>Zw,group:()=>Um,groupX:()=>tc,groupY:()=>ec,groupZ:()=>Pm,hexagon:()=>J$,hexbin:()=>P9,hexgrid:()=>U9,hull:()=>N9,identity:()=>G,image:()=>q9,indexOf:()=>Ee,initializer:()=>Ie,interpolateNearest:()=>d3,interpolateNone:()=>xv,interpolatorBarycentric:()=>f3,interpolatorRandomWalk:()=>h3,legend:()=>d$,line:()=>Pl,lineX:()=>uc,lineY:()=>fc,linearRegressionX:()=>Y9,linearRegressionY:()=>X9,link:()=>lv,map:()=>vr,mapX:()=>ad,mapY:()=>cd,marks:()=>tn,normalize:()=>Ev,normalizeX:()=>MP,normalizeY:()=>AP,plot:()=>ny,pointer:()=>jf,pointerX:()=>Vf,pointerY:()=>El,raster:()=>m9,rect:()=>fy,rectX:()=>id,rectY:()=>od,reverse:()=>iR,ruleX:()=>Yr,ruleY:()=>Xr,scale:()=>Pf,select:()=>EP,selectFirst:()=>C3,selectLast:()=>k3,selectMaxX:()=>OP,selectMaxY:()=>BP,selectMinX:()=>NP,selectMinY:()=>DP,shiftX:()=>TP,shuffle:()=>oR,sort:()=>hw,sphere:()=>R9,spike:()=>X7,stackX:()=>n3,stackX1:()=>k$,stackX2:()=>F$,stackY:()=>r3,stackY1:()=>R$,stackY2:()=>$$,text:()=>$o,textX:()=>zw,textY:()=>qw,tickX:()=>mv,tickY:()=>yv,tip:()=>nv,transform:()=>yn,tree:()=>E3,treeLink:()=>Iv,treeNode:()=>My,valueof:()=>wt,vector:()=>YT,vectorX:()=>Yw,vectorY:()=>Xw,voronoi:()=>D9,voronoiMesh:()=>O9,window:()=>ld,windowX:()=>n9,windowY:()=>r9});function zt(e,t){return e==null||t==null?NaN:e<t?-1:e>t?1:e>=t?0:NaN}function Hn(e,t){return e==null||t==null?NaN:t<e?-1:t>e?1:t>=e?0:NaN}function As(e){let t,n,r;e.length!==2?(t=zt,n=(a,c)=>zt(e(a),c),r=(a,c)=>e(a)-c):(t=e===zt||e===Hn?e:FV,n=e,r=e);function i(a,c,l=0,u=a.length){if(l<u){if(t(c,c)!==0)return u;do{let f=l+u>>>1;n(a[f],c)<0?l=f+1:u=f}while(l<u)}return l}function o(a,c,l=0,u=a.length){if(l<u){if(t(c,c)!==0)return u;do{let f=l+u>>>1;n(a[f],c)<=0?l=f+1:u=f}while(l<u)}return l}function s(a,c,l=0,u=a.length){let f=i(a,c,l,u-1);return f>l&&r(a[f-1],c)>-r(a[f],c)?f-1:f}return{left:i,center:s,right:o}}function FV(){return 0}function Jh(e){return e===null?NaN:+e}function*ZB(e,t){if(t===void 0)for(let n of e)n!=null&&(n=+n)>=n&&(yield n);else{let n=-1;for(let r of e)(r=t(r,++n,e))!=null&&(r=+r)>=r&&(yield r)}}var JB=As(zt),QB=JB.right,RV=JB.left,$V=As(Jh).center,Ts=QB;var Qh=KB(t5),$S=KB(PV);function KB(e){return function(t,n,r=n){if(!((n=+n)>=0))throw new RangeError("invalid rx");if(!((r=+r)>=0))throw new RangeError("invalid ry");let{data:i,width:o,height:s}=t;if(!((o=Math.floor(o))>=0))throw new RangeError("invalid width");if(!((s=Math.floor(s!==void 0?s:i.length/o))>=0))throw new RangeError("invalid height");if(!o||!s||!n&&!r)return t;let a=n&&e(n),c=r&&e(r),l=i.slice();return a&&c?(Au(a,l,i,o,s),Au(a,i,l,o,s),Au(a,l,i,o,s),Tu(c,i,l,o,s),Tu(c,l,i,o,s),Tu(c,i,l,o,s)):a?(Au(a,i,l,o,s),Au(a,l,i,o,s),Au(a,i,l,o,s)):c&&(Tu(c,i,l,o,s),Tu(c,l,i,o,s),Tu(c,i,l,o,s)),t}}function Au(e,t,n,r,i){for(let o=0,s=r*i;o<s;)e(t,n,o,o+=r,1)}function Tu(e,t,n,r,i){for(let o=0,s=r*i;o<r;++o)e(t,n,o,o+s,r)}function PV(e){let t=t5(e);return(n,r,i,o,s)=>{i<<=2,o<<=2,s<<=2,t(n,r,i+0,o+0,s),t(n,r,i+1,o+1,s),t(n,r,i+2,o+2,s),t(n,r,i+3,o+3,s)}}function t5(e){let t=Math.floor(e);if(t===e)return UV(e);let n=e-t,r=2*e+1;return(i,o,s,a,c)=>{if(!((a-=c)>=s))return;let l=t*o[s],u=c*t,f=u+c;for(let d=s,h=s+u;d<h;d+=c)l+=o[Math.min(a,d)];for(let d=s,h=a;d<=h;d+=c)l+=o[Math.min(a,d+u)],i[d]=(l+n*(o[Math.max(s,d-f)]+o[Math.min(a,d+f)]))/r,l-=o[Math.max(s,d-u)]}}function UV(e){let t=2*e+1;return(n,r,i,o,s)=>{if(!((o-=s)>=i))return;let a=e*r[i],c=s*e;for(let l=i,u=i+c;l<u;l+=s)a+=r[Math.min(o,l)];for(let l=i,u=o;l<=u;l+=s)a+=r[Math.min(o,l+c)],n[l]=a/t,a-=r[Math.max(i,l-c)]}}function uo(e,t){let n=0;if(t===void 0)for(let r of e)r!=null&&(r=+r)>=r&&++n;else{let r=-1;for(let i of e)(i=t(i,++r,e))!=null&&(i=+i)>=i&&++n}return n}function zV(e){return e.length|0}function qV(e){return!(e>0)}function jV(e){return typeof e!="object"||"length"in e?e:Array.from(e)}function VV(e){return t=>e(...t)}function G0(...e){let t=typeof e[e.length-1]=="function"&&VV(e.pop());e=e.map(jV);let n=e.map(zV),r=e.length-1,i=new Array(r+1).fill(0),o=[];if(r<0||n.some(qV))return o;for(;;){o.push(i.map((a,c)=>e[c][a]));let s=r;for(;++i[s]===n[s];){if(s===0)return t?o.map(t):o;i[s--]=0}}}function W0(e,t){var n=0,r=0;return Float64Array.from(e,t===void 0?i=>n+=+i||0:i=>n+=+t(i,r++,e)||0)}function Ea(e,t){let n=0,r,i=0,o=0;if(t===void 0)for(let s of e)s!=null&&(s=+s)>=s&&(r=s-i,i+=r/++n,o+=r*(s-i));else{let s=-1;for(let a of e)(a=t(a,++s,e))!=null&&(a=+a)>=a&&(r=a-i,i+=r/++n,o+=r*(a-i))}if(n>1)return o/(n-1)}function ii(e,t){let n=Ea(e,t);return n&&Math.sqrt(n)}function le(e,t){let n,r;if(t===void 0)for(let i of e)i!=null&&(n===void 0?i>=i&&(n=r=i):(n>i&&(n=i),r<i&&(r=i)));else{let i=-1;for(let o of e)(o=t(o,++i,e))!=null&&(n===void 0?o>=o&&(n=r=o):(n>o&&(n=o),r<o&&(r=o)))}return[n,r]}var In=class{constructor(){this._partials=new Float64Array(32),this._n=0}add(t){let n=this._partials,r=0;for(let i=0;i<this._n&&i<32;i++){let o=n[i],s=t+o,a=Math.abs(t)<Math.abs(o)?t-(s-o):o-(s-t);a&&(n[r++]=a),t=s}return n[r]=t,this._n=r+1,this}valueOf(){let t=this._partials,n=this._n,r,i,o,s=0;if(n>0){for(s=t[--n];n>0&&(r=s,i=t[--n],s=r+i,o=i-(s-r),!o););n>0&&(o<0&&t[n-1]<0||o>0&&t[n-1]>0)&&(i=o*2,r=s+i,i==r-s&&(s=r))}return s}};var Zn=class extends Map{constructor(t,n=r5){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:n}}),t!=null)for(let[r,i]of t)this.set(r,i)}get(t){return super.get(PS(this,t))}has(t){return super.has(PS(this,t))}set(t,n){return super.set(e5(this,t),n)}delete(t){return super.delete(n5(this,t))}},Jn=class extends Set{constructor(t,n=r5){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:n}}),t!=null)for(let r of t)this.add(r)}has(t){return super.has(PS(this,t))}add(t){return super.add(e5(this,t))}delete(t){return super.delete(n5(this,t))}};function PS({_intern:e,_key:t},n){let r=t(n);return e.has(r)?e.get(r):n}function e5({_intern:e,_key:t},n){let r=t(n);return e.has(r)?e.get(r):(e.set(r,n),n)}function n5({_intern:e,_key:t},n){let r=t(n);return e.has(r)&&(n=e.get(r),e.delete(r)),n}function r5(e){return e!==null&&typeof e=="object"?e.valueOf():e}function Kh(e){return e}function cn(e,...t){return zS(e,Kh,Kh,t)}function $i(e,t,...n){return zS(e,Kh,t,n)}function US(e,t,...n){return zS(e,Array.from,t,n)}function zS(e,t,n,r){return function i(o,s){if(s>=r.length)return n(o);let a=new Zn,c=r[s++],l=-1;for(let u of o){let f=c(u,++l,o),d=a.get(f);d?d.push(u):a.set(f,[u])}for(let[u,f]of a)a.set(u,i(f,s));return t(a)}(e,0)}function qS(e,t){return Array.from(t,n=>e[n])}function Es(e,...t){if(typeof e[Symbol.iterator]!="function")throw new TypeError("values is not iterable");e=Array.from(e);let[n]=t;if(n&&n.length!==2||t.length>1){let r=Uint32Array.from(e,(i,o)=>o);return t.length>1?(t=t.map(i=>e.map(i)),r.sort((i,o)=>{for(let s of t){let a=Vc(s[i],s[o]);if(a)return a}})):(n=e.map(n),r.sort((i,o)=>Vc(n[i],n[o]))),qS(e,r)}return e.sort(tp(n))}function tp(e=zt){if(e===zt)return Vc;if(typeof e!="function")throw new TypeError("compare is not a function");return(t,n)=>{let r=e(t,n);return r||r===0?r:(e(n,n)===0)-(e(t,t)===0)}}function Vc(e,t){return(e==null||!(e>=e))-(t==null||!(t>=t))||(e<t?-1:e>t?1:0)}function Eu(e,t,n){return(t.length!==2?Es($i(e,t,n),([r,i],[o,s])=>zt(i,s)||zt(r,o)):Es(cn(e,n),([r,i],[o,s])=>t(i,s)||zt(r,o))).map(([r])=>r)}var YV=Math.sqrt(50),XV=Math.sqrt(10),GV=Math.sqrt(2);function H0(e,t,n){let r=(t-e)/Math.max(0,n),i=Math.floor(Math.log10(r)),o=r/Math.pow(10,i),s=o>=YV?10:o>=XV?5:o>=GV?2:1,a,c,l;return i<0?(l=Math.pow(10,-i)/s,a=Math.round(e*l),c=Math.round(t*l),a/l<e&&++a,c/l>t&&--c,l=-l):(l=Math.pow(10,i)*s,a=Math.round(e/l),c=Math.round(t/l),a*l<e&&++a,c*l>t&&--c),c<a&&.5<=n&&n<2?H0(e,t,n*2):[a,c,l]}function Mn(e,t,n){if(t=+t,e=+e,n=+n,!(n>0))return[];if(e===t)return[e];let r=t<e,[i,o,s]=r?H0(t,e,n):H0(e,t,n);if(!(o>=i))return[];let a=o-i+1,c=new Array(a);if(r)if(s<0)for(let l=0;l<a;++l)c[l]=(o-l)/-s;else for(let l=0;l<a;++l)c[l]=(o-l)*s;else if(s<0)for(let l=0;l<a;++l)c[l]=(i+l)/-s;else for(let l=0;l<a;++l)c[l]=(i+l)*s;return c}function Ns(e,t,n){return t=+t,e=+e,n=+n,H0(e,t,n)[2]}function Nu(e,t,n){t=+t,e=+e,n=+n;let r=t<e,i=r?Ns(t,e,n):Ns(e,t,n);return(r?-1:1)*(i<0?1/-i:i)}function Du(e,t,n){let r;for(;;){let i=Ns(e,t,n);if(i===r||i===0||!isFinite(i))return[e,t];i>0?(e=Math.floor(e/i)*i,t=Math.ceil(t/i)*i):i<0&&(e=Math.ceil(e*i)/i,t=Math.floor(t*i)/i),r=i}}function Na(e){return Math.max(1,Math.ceil(Math.log(uo(e))/Math.LN2)+1)}function Ht(e,t){let n;if(t===void 0)for(let r of e)r!=null&&(n<r||n===void 0&&r>=r)&&(n=r);else{let r=-1;for(let i of e)(i=t(i,++r,e))!=null&&(n<i||n===void 0&&i>=i)&&(n=i)}return n}function Z0(e,t){let n,r=-1,i=-1;if(t===void 0)for(let o of e)++i,o!=null&&(n<o||n===void 0&&o>=o)&&(n=o,r=i);else for(let o of e)(o=t(o,++i,e))!=null&&(n<o||n===void 0&&o>=o)&&(n=o,r=i);return r}function ue(e,t){let n;if(t===void 0)for(let r of e)r!=null&&(n>r||n===void 0&&r>=r)&&(n=r);else{let r=-1;for(let i of e)(i=t(i,++r,e))!=null&&(n>i||n===void 0&&i>=i)&&(n=i)}return n}function J0(e,t){let n,r=-1,i=-1;if(t===void 0)for(let o of e)++i,o!=null&&(n>o||n===void 0&&o>=o)&&(n=o,r=i);else for(let o of e)(o=t(o,++i,e))!=null&&(n>o||n===void 0&&o>=o)&&(n=o,r=i);return r}function Q0(e,t,n=0,r=1/0,i){if(t=Math.floor(t),n=Math.floor(Math.max(0,n)),r=Math.floor(Math.min(e.length-1,r)),!(n<=t&&t<=r))return e;for(i=i===void 0?Vc:tp(i);r>n;){if(r-n>600){let c=r-n+1,l=t-n+1,u=Math.log(c),f=.5*Math.exp(2*u/3),d=.5*Math.sqrt(u*f*(c-f)/c)*(l-c/2<0?-1:1),h=Math.max(n,Math.floor(t-l*f/c+d)),p=Math.min(r,Math.floor(t+(c-l)*f/c+d));Q0(e,t,h,p,i)}let o=e[t],s=n,a=r;for(ep(e,n,t),i(e[r],o)>0&&ep(e,n,r);s<a;){for(ep(e,s,a),++s,--a;i(e[s],o)<0;)++s;for(;i(e[a],o)>0;)--a}i(e[n],o)===0?ep(e,n,a):(++a,ep(e,a,r)),a<=t&&(n=a+1),t<=a&&(r=a-1)}return e}function ep(e,t,n){let r=e[t];e[t]=e[n],e[n]=r}function Yc(e,t=zt){let n,r=!1;if(t.length===1){let i;for(let o of e){let s=t(o);(r?zt(s,i)>0:zt(s,s)===0)&&(n=o,i=s,r=!0)}}else for(let i of e)(r?t(i,n)>0:t(i,i)===0)&&(n=i,r=!0);return n}function Qn(e,t,n){if(e=Float64Array.from(ZB(e,n)),!(!(r=e.length)||isNaN(t=+t))){if(t<=0||r<2)return ue(e);if(t>=1)return Ht(e);var r,i=(r-1)*t,o=Math.floor(i),s=Ht(Q0(e,o).subarray(0,o+1)),a=ue(e.subarray(o+1));return s+(a-s)*(i-o)}}function jS(e,t,n=Jh){if(!(!(r=e.length)||isNaN(t=+t))){if(t<=0||r<2)return+n(e[0],0,e);if(t>=1)return+n(e[r-1],r-1,e);var r,i=(r-1)*t,o=Math.floor(i),s=+n(e[o],o,e),a=+n(e[o+1],o+1,e);return s+(a-s)*(i-o)}}function K0(e,t,n){let r=uo(e),i=Qn(e,.75)-Qn(e,.25);return r&&i?Math.ceil((n-t)/(2*i*Math.pow(r,-1/3))):1}function np(e,t,n){let r=uo(e),i=ii(e);return r&&i?Math.ceil((n-t)*Math.cbrt(r)/(3.49*i)):1}function Ds(e,t){let n=0,r=0;if(t===void 0)for(let i of e)i!=null&&(i=+i)>=i&&(++n,r+=i);else{let i=-1;for(let o of e)(o=t(o,++i,e))!=null&&(o=+o)>=o&&(++n,r+=o)}if(n)return r/n}function Pi(e,t){return Qn(e,.5,t)}function*HV(e){for(let t of e)yield*t}function Ou(e){return Array.from(HV(e))}function Bu(e,t){let n=new Zn;if(t===void 0)for(let o of e)o!=null&&o>=o&&n.set(o,(n.get(o)||0)+1);else{let o=-1;for(let s of e)(s=t(s,++o,e))!=null&&s>=s&&n.set(s,(n.get(s)||0)+1)}let r,i=0;for(let[o,s]of n)s>i&&(i=s,r=o);return r}function tx(e,t=ZV){let n=[],r,i=!1;for(let o of e)i&&n.push(t(r,o)),r=o,i=!0;return n}function ZV(e,t){return[e,t]}function Ue(e,t,n){e=+e,t=+t,n=(i=arguments.length)<2?(t=e,e=0,1):i<3?1:+n;for(var r=-1,i=Math.max(0,Math.ceil((t-e)/n))|0,o=new Array(i);++r<i;)o[r]=e+r*n;return o}function rp(e,t=zt){if(typeof e[Symbol.iterator]!="function")throw new TypeError("values is not iterable");let n=Array.from(e),r=new Float64Array(n.length);t.length!==2&&(n=n.map(t),t=zt);let i=(a,c)=>t(n[a],n[c]),o,s;return e=Uint32Array.from(n,(a,c)=>c),e.sort(t===zt?(a,c)=>Vc(n[a],n[c]):tp(i)),e.forEach((a,c)=>{let l=i(a,o===void 0?a:o);l>=0?((o===void 0||l>0)&&(o=a,s=c),r[a]=s):r[a]=NaN}),r}function ex(e,t=zt){let n,r=!1;if(t.length===1){let i;for(let o of e){let s=t(o);(r?zt(s,i)<0:zt(s,s)===0)&&(n=o,i=s,r=!0)}}else for(let i of e)(r?t(i,n)<0:t(i,i)===0)&&(n=i,r=!0);return n}function An(e,t){let n=0;if(t===void 0)for(let r of e)(r=+r)&&(n+=r);else{let r=-1;for(let i of e)(i=+t(i,++r,e))&&(n+=i)}return n}function Da(e){if(typeof e[Symbol.iterator]!="function")throw new TypeError("values is not iterable");return Array.from(e).reverse()}function i5(e){return e}var VS=1,YS=2,XS=3,nx=4,o5=1e-6;function JV(e){return"translate("+e+",0)"}function QV(e){return"translate(0,"+e+")"}function KV(e){return t=>+e(t)}function tY(e,t){return t=Math.max(0,e.bandwidth()-t*2)/2,e.round()&&(t=Math.round(t)),n=>+e(n)+t}function eY(){return!this.__axis}function nY(e,t){var n=[],r=null,i=null,o=6,s=6,a=3,c=typeof window<"u"&&window.devicePixelRatio>1?0:.5,l=e===VS||e===nx?-1:1,u=e===nx||e===YS?"x":"y",f=e===VS||e===XS?JV:QV;function d(h){var p=r??(t.ticks?t.ticks.apply(t,n):t.domain()),m=i??(t.tickFormat?t.tickFormat.apply(t,n):i5),g=Math.max(o,0)+a,y=t.range(),x=+y[0]+c,b=+y[y.length-1]+c,w=(t.bandwidth?tY:KV)(t.copy(),c),_=h.selection?h.selection():h,v=_.selectAll(".domain").data([null]),I=_.selectAll(".tick").data(p,t).order(),A=I.exit(),T=I.enter().append("g").attr("class","tick"),D=I.select("line"),E=I.select("text");v=v.merge(v.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),I=I.merge(T),D=D.merge(T.append("line").attr("stroke","currentColor").attr(u+"2",l*o)),E=E.merge(T.append("text").attr("fill","currentColor").attr(u,l*g).attr("dy",e===VS?"0em":e===XS?"0.71em":"0.32em")),h!==_&&(v=v.transition(h),I=I.transition(h),D=D.transition(h),E=E.transition(h),A=A.transition(h).attr("opacity",o5).attr("transform",function(O){return isFinite(O=w(O))?f(O+c):this.getAttribute("transform")}),T.attr("opacity",o5).attr("transform",function(O){var C=this.parentNode.__axis;return f((C&&isFinite(C=C(O))?C:w(O))+c)})),A.remove(),v.attr("d",e===nx||e===YS?s?"M"+l*s+","+x+"H"+c+"V"+b+"H"+l*s:"M"+c+","+x+"V"+b:s?"M"+x+","+l*s+"V"+c+"H"+b+"V"+l*s:"M"+x+","+c+"H"+b),I.attr("opacity",1).attr("transform",function(O){return f(w(O)+c)}),D.attr(u+"2",l*o),E.attr(u,l*g).text(m),_.filter(eY).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",e===YS?"start":e===nx?"end":"middle"),_.each(function(){this.__axis=w})}return d.scale=function(h){return arguments.length?(t=h,d):t},d.ticks=function(){return n=Array.from(arguments),d},d.tickArguments=function(h){return arguments.length?(n=h==null?[]:Array.from(h),d):n.slice()},d.tickValues=function(h){return arguments.length?(r=h==null?null:Array.from(h),d):r&&r.slice()},d.tickFormat=function(h){return arguments.length?(i=h,d):i},d.tickSize=function(h){return arguments.length?(o=s=+h,d):o},d.tickSizeInner=function(h){return arguments.length?(o=+h,d):o},d.tickSizeOuter=function(h){return arguments.length?(s=+h,d):s},d.tickPadding=function(h){return arguments.length?(a=+h,d):a},d.offset=function(h){return arguments.length?(c=+h,d):c},d}function GS(e){return nY(XS,e)}var rY={value:()=>{}};function a5(){for(var e=0,t=arguments.length,n={},r;e<t;++e){if(!(r=arguments[e]+"")||r in n||/[\s.]/.test(r))throw new Error("illegal type: "+r);n[r]=[]}return new rx(n)}function rx(e){this._=e}function iY(e,t){return e.trim().split(/^|\s+/).map(function(n){var r="",i=n.indexOf(".");if(i>=0&&(r=n.slice(i+1),n=n.slice(0,i)),n&&!t.hasOwnProperty(n))throw new Error("unknown type: "+n);return{type:n,name:r}})}rx.prototype=a5.prototype={constructor:rx,on:function(e,t){var n=this._,r=iY(e+"",n),i,o=-1,s=r.length;if(arguments.length<2){for(;++o<s;)if((i=(e=r[o]).type)&&(i=oY(n[i],e.name)))return i;return}if(t!=null&&typeof t!="function")throw new Error("invalid callback: "+t);for(;++o<s;)if(i=(e=r[o]).type)n[i]=s5(n[i],e.name,t);else if(t==null)for(i in n)n[i]=s5(n[i],e.name,null);return this},copy:function(){var e={},t=this._;for(var n in t)e[n]=t[n].slice();return new rx(e)},call:function(e,t){if((i=arguments.length-2)>0)for(var n=new Array(i),r=0,i,o;r<i;++r)n[r]=arguments[r+2];if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(o=this._[e],r=0,i=o.length;r<i;++r)o[r].value.apply(t,n)},apply:function(e,t,n){if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(var r=this._[e],i=0,o=r.length;i<o;++i)r[i].value.apply(t,n)}};function oY(e,t){for(var n=0,r=e.length,i;n<r;++n)if((i=e[n]).name===t)return i.value}function s5(e,t,n){for(var r=0,i=e.length;r<i;++r)if(e[r].name===t){e[r]=rY,e=e.slice(0,r).concat(e.slice(r+1));break}return n!=null&&e.push({name:t,value:n}),e}var Xc=a5;var ix="http://www.w3.org/1999/xhtml",oi={svg:"http://www.w3.org/2000/svg",xhtml:ix,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function Os(e){var t=e+="",n=t.indexOf(":");return n>=0&&(t=e.slice(0,n))!=="xmlns"&&(e=e.slice(n+1)),oi.hasOwnProperty(t)?{space:oi[t],local:e}:e}function sY(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===ix&&t.documentElement.namespaceURI===ix?t.createElement(e):t.createElementNS(n,e)}}function aY(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function Bs(e){var t=Os(e);return(t.local?aY:sY)(t)}function cY(){}function Gc(e){return e==null?cY:function(){return this.querySelector(e)}}function c5(e){typeof e!="function"&&(e=Gc(e));for(var t=this._groups,n=t.length,r=new Array(n),i=0;i<n;++i)for(var o=t[i],s=o.length,a=r[i]=new Array(s),c,l,u=0;u<s;++u)(c=o[u])&&(l=e.call(c,c.__data__,u,o))&&("__data__"in c&&(l.__data__=c.__data__),a[u]=l);return new Fe(r,this._parents)}function WS(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function lY(){return[]}function ip(e){return e==null?lY:function(){return this.querySelectorAll(e)}}function uY(e){return function(){return WS(e.apply(this,arguments))}}function l5(e){typeof e=="function"?e=uY(e):e=ip(e);for(var t=this._groups,n=t.length,r=[],i=[],o=0;o<n;++o)for(var s=t[o],a=s.length,c,l=0;l<a;++l)(c=s[l])&&(r.push(e.call(c,c.__data__,l,s)),i.push(c));return new Fe(r,i)}function op(e){return function(){return this.matches(e)}}function ox(e){return function(t){return t.matches(e)}}var fY=Array.prototype.find;function dY(e){return function(){return fY.call(this.children,e)}}function hY(){return this.firstElementChild}function u5(e){return this.select(e==null?hY:dY(typeof e=="function"?e:ox(e)))}var pY=Array.prototype.filter;function mY(){return Array.from(this.children)}function yY(e){return function(){return pY.call(this.children,e)}}function f5(e){return this.selectAll(e==null?mY:yY(typeof e=="function"?e:ox(e)))}function d5(e){typeof e!="function"&&(e=op(e));for(var t=this._groups,n=t.length,r=new Array(n),i=0;i<n;++i)for(var o=t[i],s=o.length,a=r[i]=[],c,l=0;l<s;++l)(c=o[l])&&e.call(c,c.__data__,l,o)&&a.push(c);return new Fe(r,this._parents)}function sx(e){return new Array(e.length)}function h5(){return new Fe(this._enter||this._groups.map(sx),this._parents)}function sp(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}sp.prototype={constructor:sp,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,t){return this._parent.insertBefore(e,t)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}};function p5(e){return function(){return e}}function gY(e,t,n,r,i,o){for(var s=0,a,c=t.length,l=o.length;s<l;++s)(a=t[s])?(a.__data__=o[s],r[s]=a):n[s]=new sp(e,o[s]);for(;s<c;++s)(a=t[s])&&(i[s]=a)}function xY(e,t,n,r,i,o,s){var a,c,l=new Map,u=t.length,f=o.length,d=new Array(u),h;for(a=0;a<u;++a)(c=t[a])&&(d[a]=h=s.call(c,c.__data__,a,t)+"",l.has(h)?i[a]=c:l.set(h,c));for(a=0;a<f;++a)h=s.call(e,o[a],a,o)+"",(c=l.get(h))?(r[a]=c,c.__data__=o[a],l.delete(h)):n[a]=new sp(e,o[a]);for(a=0;a<u;++a)(c=t[a])&&l.get(d[a])===c&&(i[a]=c)}function bY(e){return e.__data__}function m5(e,t){if(!arguments.length)return Array.from(this,bY);var n=t?xY:gY,r=this._parents,i=this._groups;typeof e!="function"&&(e=p5(e));for(var o=i.length,s=new Array(o),a=new Array(o),c=new Array(o),l=0;l<o;++l){var u=r[l],f=i[l],d=f.length,h=wY(e.call(u,u&&u.__data__,l,r)),p=h.length,m=a[l]=new Array(p),g=s[l]=new Array(p),y=c[l]=new Array(d);n(u,f,m,g,y,h,t);for(var x=0,b=0,w,_;x<p;++x)if(w=m[x]){for(x>=b&&(b=x+1);!(_=g[b])&&++b<p;);w._next=_||null}}return s=new Fe(s,r),s._enter=a,s._exit=c,s}function wY(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function y5(){return new Fe(this._exit||this._groups.map(sx),this._parents)}function g5(e,t,n){var r=this.enter(),i=this,o=this.exit();return typeof e=="function"?(r=e(r),r&&(r=r.selection())):r=r.append(e+""),t!=null&&(i=t(i),i&&(i=i.selection())),n==null?o.remove():n(o),r&&i?r.merge(i).order():i}function x5(e){for(var t=e.selection?e.selection():e,n=this._groups,r=t._groups,i=n.length,o=r.length,s=Math.min(i,o),a=new Array(i),c=0;c<s;++c)for(var l=n[c],u=r[c],f=l.length,d=a[c]=new Array(f),h,p=0;p<f;++p)(h=l[p]||u[p])&&(d[p]=h);for(;c<i;++c)a[c]=n[c];return new Fe(a,this._parents)}function b5(){for(var e=this._groups,t=-1,n=e.length;++t<n;)for(var r=e[t],i=r.length-1,o=r[i],s;--i>=0;)(s=r[i])&&(o&&s.compareDocumentPosition(o)^4&&o.parentNode.insertBefore(s,o),o=s);return this}function w5(e){e||(e=vY);function t(f,d){return f&&d?e(f.__data__,d.__data__):!f-!d}for(var n=this._groups,r=n.length,i=new Array(r),o=0;o<r;++o){for(var s=n[o],a=s.length,c=i[o]=new Array(a),l,u=0;u<a;++u)(l=s[u])&&(c[u]=l);c.sort(t)}return new Fe(i,this._parents).order()}function vY(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}function v5(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function _5(){return Array.from(this)}function S5(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],i=0,o=r.length;i<o;++i){var s=r[i];if(s)return s}return null}function I5(){let e=0;for(let t of this)++e;return e}function M5(){return!this.node()}function A5(e){for(var t=this._groups,n=0,r=t.length;n<r;++n)for(var i=t[n],o=0,s=i.length,a;o<s;++o)(a=i[o])&&e.call(a,a.__data__,o,i);return this}function _Y(e){return function(){this.removeAttribute(e)}}function SY(e){return function(){this.removeAttributeNS(e.space,e.local)}}function IY(e,t){return function(){this.setAttribute(e,t)}}function MY(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function AY(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttribute(e):this.setAttribute(e,n)}}function TY(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,n)}}function T5(e,t){var n=Os(e);if(arguments.length<2){var r=this.node();return n.local?r.getAttributeNS(n.space,n.local):r.getAttribute(n)}return this.each((t==null?n.local?SY:_Y:typeof t=="function"?n.local?TY:AY:n.local?MY:IY)(n,t))}function ax(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function EY(e){return function(){this.style.removeProperty(e)}}function NY(e,t,n){return function(){this.style.setProperty(e,t,n)}}function DY(e,t,n){return function(){var r=t.apply(this,arguments);r==null?this.style.removeProperty(e):this.style.setProperty(e,r,n)}}function E5(e,t,n){return arguments.length>1?this.each((t==null?EY:typeof t=="function"?DY:NY)(e,t,n??"")):Oa(this.node(),e)}function Oa(e,t){return e.style.getPropertyValue(t)||ax(e).getComputedStyle(e,null).getPropertyValue(t)}function OY(e){return function(){delete this[e]}}function BY(e,t){return function(){this[e]=t}}function LY(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function N5(e,t){return arguments.length>1?this.each((t==null?OY:typeof t=="function"?LY:BY)(e,t)):this.node()[e]}function D5(e){return e.trim().split(/^|\s+/)}function HS(e){return e.classList||new O5(e)}function O5(e){this._node=e,this._names=D5(e.getAttribute("class")||"")}O5.prototype={add:function(e){var t=this._names.indexOf(e);t<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function B5(e,t){for(var n=HS(e),r=-1,i=t.length;++r<i;)n.add(t[r])}function L5(e,t){for(var n=HS(e),r=-1,i=t.length;++r<i;)n.remove(t[r])}function CY(e){return function(){B5(this,e)}}function kY(e){return function(){L5(this,e)}}function FY(e,t){return function(){(t.apply(this,arguments)?B5:L5)(this,e)}}function C5(e,t){var n=D5(e+"");if(arguments.length<2){for(var r=HS(this.node()),i=-1,o=n.length;++i<o;)if(!r.contains(n[i]))return!1;return!0}return this.each((typeof t=="function"?FY:t?CY:kY)(n,t))}function RY(){this.textContent=""}function $Y(e){return function(){this.textContent=e}}function PY(e){return function(){var t=e.apply(this,arguments);this.textContent=t??""}}function k5(e){return arguments.length?this.each(e==null?RY:(typeof e=="function"?PY:$Y)(e)):this.node().textContent}function UY(){this.innerHTML=""}function zY(e){return function(){this.innerHTML=e}}function qY(e){return function(){var t=e.apply(this,arguments);this.innerHTML=t??""}}function F5(e){return arguments.length?this.each(e==null?UY:(typeof e=="function"?qY:zY)(e)):this.node().innerHTML}function jY(){this.nextSibling&&this.parentNode.appendChild(this)}function R5(){return this.each(jY)}function VY(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function $5(){return this.each(VY)}function P5(e){var t=typeof e=="function"?e:Bs(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})}function YY(){return null}function U5(e,t){var n=typeof e=="function"?e:Bs(e),r=t==null?YY:typeof t=="function"?t:Gc(t);return this.select(function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)})}function XY(){var e=this.parentNode;e&&e.removeChild(this)}function z5(){return this.each(XY)}function GY(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function WY(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function q5(e){return this.select(e?WY:GY)}function j5(e){return arguments.length?this.property("__data__",e):this.node().__data__}function HY(e){return function(t){e.call(this,t,this.__data__)}}function ZY(e){return e.trim().split(/^|\s+/).map(function(t){var n="",r=t.indexOf(".");return r>=0&&(n=t.slice(r+1),t=t.slice(0,r)),{type:t,name:n}})}function JY(e){return function(){var t=this.__on;if(t){for(var n=0,r=-1,i=t.length,o;n<i;++n)o=t[n],(!e.type||o.type===e.type)&&o.name===e.name?this.removeEventListener(o.type,o.listener,o.options):t[++r]=o;++r?t.length=r:delete this.__on}}}function QY(e,t,n){return function(){var r=this.__on,i,o=HY(t);if(r){for(var s=0,a=r.length;s<a;++s)if((i=r[s]).type===e.type&&i.name===e.name){this.removeEventListener(i.type,i.listener,i.options),this.addEventListener(i.type,i.listener=o,i.options=n),i.value=t;return}}this.addEventListener(e.type,o,n),i={type:e.type,name:e.name,value:t,listener:o,options:n},r?r.push(i):this.__on=[i]}}function V5(e,t,n){var r=ZY(e+""),i,o=r.length,s;if(arguments.length<2){var a=this.node().__on;if(a){for(var c=0,l=a.length,u;c<l;++c)for(i=0,u=a[c];i<o;++i)if((s=r[i]).type===u.type&&s.name===u.name)return u.value}return}for(a=t?QY:JY,i=0;i<o;++i)this.each(a(r[i],t,n));return this}function Y5(e,t,n){var r=ax(e),i=r.CustomEvent;typeof i=="function"?i=new i(t,n):(i=r.document.createEvent("Event"),n?(i.initEvent(t,n.bubbles,n.cancelable),i.detail=n.detail):i.initEvent(t,!1,!1)),e.dispatchEvent(i)}function KY(e,t){return function(){return Y5(this,e,t)}}function tX(e,t){return function(){return Y5(this,e,t.apply(this,arguments))}}function X5(e,t){return this.each((typeof t=="function"?tX:KY)(e,t))}function*G5(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],i=0,o=r.length,s;i<o;++i)(s=r[i])&&(yield s)}var ZS=[null];function Fe(e,t){this._groups=e,this._parents=t}function W5(){return new Fe([[document.documentElement]],ZS)}function eX(){return this}Fe.prototype=W5.prototype={constructor:Fe,select:c5,selectAll:l5,selectChild:u5,selectChildren:f5,filter:d5,data:m5,enter:h5,exit:y5,join:g5,merge:x5,selection:eX,order:b5,sort:w5,call:v5,nodes:_5,node:S5,size:I5,empty:M5,each:A5,attr:T5,style:E5,property:N5,classed:C5,text:k5,html:F5,raise:R5,lower:$5,append:P5,insert:U5,remove:z5,clone:q5,datum:j5,on:V5,dispatch:X5,[Symbol.iterator]:G5};var Ls=W5;function Vt(e){return typeof e=="string"?new Fe([[document.querySelector(e)]],[document.documentElement]):new Fe([[e]],ZS)}function H5(e){let t;for(;t=e.sourceEvent;)e=t;return e}function kn(e,t){if(e=H5(e),t===void 0&&(t=e.currentTarget),t){var n=t.ownerSVGElement||t;if(n.createSVGPoint){var r=n.createSVGPoint();return r.x=e.clientX,r.y=e.clientY,r=r.matrixTransform(t.getScreenCTM().inverse()),[r.x,r.y]}if(t.getBoundingClientRect){var i=t.getBoundingClientRect();return[e.clientX-i.left-t.clientLeft,e.clientY-i.top-t.clientTop]}}return[e.pageX,e.pageY]}var cx={capture:!0,passive:!1};function lx(e){e.preventDefault(),e.stopImmediatePropagation()}function ap(e){var t=e.document.documentElement,n=Vt(e).on("dragstart.drag",lx,cx);"onselectstart"in t?n.on("selectstart.drag",lx,cx):(t.__noselect=t.style.MozUserSelect,t.style.MozUserSelect="none")}function cp(e,t){var n=e.document.documentElement,r=Vt(e).on("dragstart.drag",null);t&&(r.on("click.drag",lx,cx),setTimeout(function(){r.on("click.drag",null)},0)),"onselectstart"in n?r.on("selectstart.drag",null):(n.style.MozUserSelect=n.__noselect,delete n.__noselect)}function Cs(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function Ba(e,t){var n=Object.create(e.prototype);for(var r in t)n[r]=t[r];return n}function ho(){}var La=.7,Zc=1/La,Lu="\\s*([+-]?\\d+)\\s*",lp="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",fo="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",nX=/^#([0-9a-f]{3,8})$/,rX=new RegExp(`^rgb\\(${Lu},${Lu},${Lu}\\)$`),iX=new RegExp(`^rgb\\(${fo},${fo},${fo}\\)$`),oX=new RegExp(`^rgba\\(${Lu},${Lu},${Lu},${lp}\\)$`),sX=new RegExp(`^rgba\\(${fo},${fo},${fo},${lp}\\)$`),aX=new RegExp(`^hsl\\(${lp},${fo},${fo}\\)$`),cX=new RegExp(`^hsla\\(${lp},${fo},${fo},${lp}\\)$`),Z5={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};Cs(ho,Rr,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:J5,formatHex:J5,formatHex8:lX,formatHsl:uX,formatRgb:Q5,toString:Q5});function J5(){return this.rgb().formatHex()}function lX(){return this.rgb().formatHex8()}function uX(){return iL(this).formatHsl()}function Q5(){return this.rgb().formatRgb()}function Rr(e){var t,n;return e=(e+"").trim().toLowerCase(),(t=nX.exec(e))?(n=t[1].length,t=parseInt(t[1],16),n===6?K5(t):n===3?new Ge(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?ux(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?ux(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=rX.exec(e))?new Ge(t[1],t[2],t[3],1):(t=iX.exec(e))?new Ge(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=oX.exec(e))?ux(t[1],t[2],t[3],t[4]):(t=sX.exec(e))?ux(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=aX.exec(e))?nL(t[1],t[2]/100,t[3]/100,1):(t=cX.exec(e))?nL(t[1],t[2]/100,t[3]/100,t[4]):Z5.hasOwnProperty(e)?K5(Z5[e]):e==="transparent"?new Ge(NaN,NaN,NaN,0):null}function K5(e){return new Ge(e>>16&255,e>>8&255,e&255,1)}function ux(e,t,n,r){return r<=0&&(e=t=n=NaN),new Ge(e,t,n,r)}function up(e){return e instanceof ho||(e=Rr(e)),e?(e=e.rgb(),new Ge(e.r,e.g,e.b,e.opacity)):new Ge}function rn(e,t,n,r){return arguments.length===1?up(e):new Ge(e,t,n,r??1)}function Ge(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}Cs(Ge,rn,Ba(ho,{brighter(e){return e=e==null?Zc:Math.pow(Zc,e),new Ge(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?La:Math.pow(La,e),new Ge(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new Ge(Hc(this.r),Hc(this.g),Hc(this.b),dx(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:tL,formatHex:tL,formatHex8:fX,formatRgb:eL,toString:eL}));function tL(){return`#${Wc(this.r)}${Wc(this.g)}${Wc(this.b)}`}function fX(){return`#${Wc(this.r)}${Wc(this.g)}${Wc(this.b)}${Wc((isNaN(this.opacity)?1:this.opacity)*255)}`}function eL(){let e=dx(this.opacity);return`${e===1?"rgb(":"rgba("}${Hc(this.r)}, ${Hc(this.g)}, ${Hc(this.b)}${e===1?")":`, ${e})`}`}function dx(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Hc(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Wc(e){return e=Hc(e),(e<16?"0":"")+e.toString(16)}function nL(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new Ui(e,t,n,r)}function iL(e){if(e instanceof Ui)return new Ui(e.h,e.s,e.l,e.opacity);if(e instanceof ho||(e=Rr(e)),!e)return new Ui;if(e instanceof Ui)return e;e=e.rgb();var t=e.r/255,n=e.g/255,r=e.b/255,i=Math.min(t,n,r),o=Math.max(t,n,r),s=NaN,a=o-i,c=(o+i)/2;return a?(t===o?s=(n-r)/a+(n<r)*6:n===o?s=(r-t)/a+2:s=(t-n)/a+4,a/=c<.5?o+i:2-o-i,s*=60):a=c>0&&c<1?0:s,new Ui(s,a,c,e.opacity)}function fp(e,t,n,r){return arguments.length===1?iL(e):new Ui(e,t,n,r??1)}function Ui(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}Cs(Ui,fp,Ba(ho,{brighter(e){return e=e==null?Zc:Math.pow(Zc,e),new Ui(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?La:Math.pow(La,e),new Ui(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,i=2*n-r;return new Ge(JS(e>=240?e-240:e+120,i,r),JS(e,i,r),JS(e<120?e+240:e-120,i,r),this.opacity)},clamp(){return new Ui(rL(this.h),fx(this.s),fx(this.l),dx(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let e=dx(this.opacity);return`${e===1?"hsl(":"hsla("}${rL(this.h)}, ${fx(this.s)*100}%, ${fx(this.l)*100}%${e===1?")":`, ${e})`}`}}));function rL(e){return e=(e||0)%360,e<0?e+360:e}function fx(e){return Math.max(0,Math.min(1,e||0))}function JS(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}var hx=Math.PI/180,px=180/Math.PI;var mx=18,oL=.96422,sL=1,aL=.82521,cL=4/29,Cu=6/29,lL=3*Cu*Cu,dX=Cu*Cu*Cu;function uL(e){if(e instanceof po)return new po(e.l,e.a,e.b,e.opacity);if(e instanceof ks)return fL(e);e instanceof Ge||(e=up(e));var t=eI(e.r),n=eI(e.g),r=eI(e.b),i=QS((.2225045*t+.7168786*n+.0606169*r)/sL),o,s;return t===n&&n===r?o=s=i:(o=QS((.4360747*t+.3850649*n+.1430804*r)/oL),s=QS((.0139322*t+.0971045*n+.7141733*r)/aL)),new po(116*i-16,500*(o-i),200*(i-s),e.opacity)}function ku(e,t,n,r){return arguments.length===1?uL(e):new po(e,t,n,r??1)}function po(e,t,n,r){this.l=+e,this.a=+t,this.b=+n,this.opacity=+r}Cs(po,ku,Ba(ho,{brighter(e){return new po(this.l+mx*(e??1),this.a,this.b,this.opacity)},darker(e){return new po(this.l-mx*(e??1),this.a,this.b,this.opacity)},rgb(){var e=(this.l+16)/116,t=isNaN(this.a)?e:e+this.a/500,n=isNaN(this.b)?e:e-this.b/200;return t=oL*KS(t),e=sL*KS(e),n=aL*KS(n),new Ge(tI(3.1338561*t-1.6168667*e-.4906146*n),tI(-.9787684*t+1.9161415*e+.033454*n),tI(.0719453*t-.2289914*e+1.4052427*n),this.opacity)}}));function QS(e){return e>dX?Math.pow(e,1/3):e/lL+cL}function KS(e){return e>Cu?e*e*e:lL*(e-cL)}function tI(e){return 255*(e<=.0031308?12.92*e:1.055*Math.pow(e,1/2.4)-.055)}function eI(e){return(e/=255)<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4)}function hX(e){if(e instanceof ks)return new ks(e.h,e.c,e.l,e.opacity);if(e instanceof po||(e=uL(e)),e.a===0&&e.b===0)return new ks(NaN,0<e.l&&e.l<100?0:NaN,e.l,e.opacity);var t=Math.atan2(e.b,e.a)*px;return new ks(t<0?t+360:t,Math.sqrt(e.a*e.a+e.b*e.b),e.l,e.opacity)}function dp(e,t,n,r){return arguments.length===1?hX(e):new ks(e,t,n,r??1)}function ks(e,t,n,r){this.h=+e,this.c=+t,this.l=+n,this.opacity=+r}function fL(e){if(isNaN(e.h))return new po(e.l,0,0,e.opacity);var t=e.h*hx;return new po(e.l,Math.cos(t)*e.c,Math.sin(t)*e.c,e.opacity)}Cs(ks,dp,Ba(ho,{brighter(e){return new ks(this.h,this.c,this.l+mx*(e??1),this.opacity)},darker(e){return new ks(this.h,this.c,this.l-mx*(e??1),this.opacity)},rgb(){return fL(this).rgb()}}));var mL=-.14861,nI=1.78277,rI=-.29227,yx=-.90649,hp=1.97294,dL=hp*yx,hL=hp*nI,pL=nI*rI-yx*mL;function pX(e){if(e instanceof Jc)return new Jc(e.h,e.s,e.l,e.opacity);e instanceof Ge||(e=up(e));var t=e.r/255,n=e.g/255,r=e.b/255,i=(pL*r+dL*t-hL*n)/(pL+dL-hL),o=r-i,s=(hp*(n-i)-rI*o)/yx,a=Math.sqrt(s*s+o*o)/(hp*i*(1-i)),c=a?Math.atan2(s,o)*px-120:NaN;return new Jc(c<0?c+360:c,a,i,e.opacity)}function Kn(e,t,n,r){return arguments.length===1?pX(e):new Jc(e,t,n,r??1)}function Jc(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}Cs(Jc,Kn,Ba(ho,{brighter(e){return e=e==null?Zc:Math.pow(Zc,e),new Jc(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?La:Math.pow(La,e),new Jc(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=isNaN(this.h)?0:(this.h+120)*hx,t=+this.l,n=isNaN(this.s)?0:this.s*t*(1-t),r=Math.cos(e),i=Math.sin(e);return new Ge(255*(t+n*(mL*r+nI*i)),255*(t+n*(rI*r+yx*i)),255*(t+n*(hp*r)),this.opacity)}}));function iI(e,t,n,r,i){var o=e*e,s=o*e;return((1-3*e+3*o-s)*t+(4-6*o+3*s)*n+(1+3*e+3*o-3*s)*r+s*i)/6}function yL(e){var t=e.length-1;return function(n){var r=n<=0?n=0:n>=1?(n=1,t-1):Math.floor(n*t),i=e[r],o=e[r+1],s=r>0?e[r-1]:2*i-o,a=r<t-1?e[r+2]:2*o-i;return iI((n-r/t)*t,s,i,o,a)}}function gL(e){var t=e.length;return function(n){var r=Math.floor(((n%=1)<0?++n:n)*t),i=e[(r+t-1)%t],o=e[r%t],s=e[(r+1)%t],a=e[(r+2)%t];return iI((n-r/t)*t,i,o,s,a)}}var Fu=e=>()=>e;function xL(e,t){return function(n){return e+n*t}}function mX(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(r){return Math.pow(e+r*t,n)}}function Ru(e,t){var n=t-e;return n?xL(e,n>180||n<-180?n-360*Math.round(n/360):n):Fu(isNaN(e)?t:e)}function bL(e){return(e=+e)==1?Te:function(t,n){return n-t?mX(t,n,e):Fu(isNaN(t)?n:t)}}function Te(e,t){var n=t-e;return n?xL(e,n):Fu(isNaN(e)?t:e)}var si=function e(t){var n=bL(t);function r(i,o){var s=n((i=rn(i)).r,(o=rn(o)).r),a=n(i.g,o.g),c=n(i.b,o.b),l=Te(i.opacity,o.opacity);return function(u){return i.r=s(u),i.g=a(u),i.b=c(u),i.opacity=l(u),i+""}}return r.gamma=e,r}(1);function wL(e){return function(t){var n=t.length,r=new Array(n),i=new Array(n),o=new Array(n),s,a;for(s=0;s<n;++s)a=rn(t[s]),r[s]=a.r||0,i[s]=a.g||0,o[s]=a.b||0;return r=e(r),i=e(i),o=e(o),a.opacity=1,function(c){return a.r=r(c),a.g=i(c),a.b=o(c),a+""}}}var oI=wL(yL),yX=wL(gL);function vL(e,t){t||(t=[]);var n=e?Math.min(t.length,e.length):0,r=t.slice(),i;return function(o){for(i=0;i<n;++i)r[i]=e[i]*(1-o)+t[i]*o;return r}}function _L(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function SL(e,t){var n=t?t.length:0,r=e?Math.min(n,e.length):0,i=new Array(r),o=new Array(n),s;for(s=0;s<r;++s)i[s]=$r(e[s],t[s]);for(;s<n;++s)o[s]=t[s];return function(a){for(s=0;s<r;++s)o[s]=i[s](a);return o}}function IL(e,t){var n=new Date;return e=+e,t=+t,function(r){return n.setTime(e*(1-r)+t*r),n}}function _e(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}function ML(e,t){var n={},r={},i;(e===null||typeof e!="object")&&(e={}),(t===null||typeof t!="object")&&(t={});for(i in t)i in e?n[i]=$r(e[i],t[i]):r[i]=t[i];return function(o){for(i in n)r[i]=n[i](o);return r}}var aI=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,sI=new RegExp(aI.source,"g");function gX(e){return function(){return e}}function xX(e){return function(t){return e(t)+""}}function pp(e,t){var n=aI.lastIndex=sI.lastIndex=0,r,i,o,s=-1,a=[],c=[];for(e=e+"",t=t+"";(r=aI.exec(e))&&(i=sI.exec(t));)(o=i.index)>n&&(o=t.slice(n,o),a[s]?a[s]+=o:a[++s]=o),(r=r[0])===(i=i[0])?a[s]?a[s]+=i:a[++s]=i:(a[++s]=null,c.push({i:s,x:_e(r,i)})),n=sI.lastIndex;return n<t.length&&(o=t.slice(n),a[s]?a[s]+=o:a[++s]=o),a.length<2?c[0]?xX(c[0].x):gX(t):(t=c.length,function(l){for(var u=0,f;u<t;++u)a[(f=c[u]).i]=f.x(l);return a.join("")})}function $r(e,t){var n=typeof t,r;return t==null||n==="boolean"?Fu(t):(n==="number"?_e:n==="string"?(r=Rr(t))?(t=r,si):pp:t instanceof Rr?si:t instanceof Date?IL:_L(t)?vL:Array.isArray(t)?SL:typeof t.valueOf!="function"&&typeof t.toString!="function"||isNaN(t)?ML:_e)(e,t)}function Qc(e,t){return e=+e,t=+t,function(n){return Math.round(e*(1-n)+t*n)}}var AL=180/Math.PI,gx={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function cI(e,t,n,r,i,o){var s,a,c;return(s=Math.sqrt(e*e+t*t))&&(e/=s,t/=s),(c=e*n+t*r)&&(n-=e*c,r-=t*c),(a=Math.sqrt(n*n+r*r))&&(n/=a,r/=a,c/=a),e*r<t*n&&(e=-e,t=-t,c=-c,s=-s),{translateX:i,translateY:o,rotate:Math.atan2(t,e)*AL,skewX:Math.atan(c)*AL,scaleX:s,scaleY:a}}var xx;function TL(e){let t=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(e+"");return t.isIdentity?gx:cI(t.a,t.b,t.c,t.d,t.e,t.f)}function EL(e){return e==null?gx:(xx||(xx=document.createElementNS("http://www.w3.org/2000/svg","g")),xx.setAttribute("transform",e),(e=xx.transform.baseVal.consolidate())?(e=e.matrix,cI(e.a,e.b,e.c,e.d,e.e,e.f)):gx)}function NL(e,t,n,r){function i(l){return l.length?l.pop()+" ":""}function o(l,u,f,d,h,p){if(l!==f||u!==d){var m=h.push("translate(",null,t,null,n);p.push({i:m-4,x:_e(l,f)},{i:m-2,x:_e(u,d)})}else(f||d)&&h.push("translate("+f+t+d+n)}function s(l,u,f,d){l!==u?(l-u>180?u+=360:u-l>180&&(l+=360),d.push({i:f.push(i(f)+"rotate(",null,r)-2,x:_e(l,u)})):u&&f.push(i(f)+"rotate("+u+r)}function a(l,u,f,d){l!==u?d.push({i:f.push(i(f)+"skewX(",null,r)-2,x:_e(l,u)}):u&&f.push(i(f)+"skewX("+u+r)}function c(l,u,f,d,h,p){if(l!==f||u!==d){var m=h.push(i(h)+"scale(",null,",",null,")");p.push({i:m-4,x:_e(l,f)},{i:m-2,x:_e(u,d)})}else(f!==1||d!==1)&&h.push(i(h)+"scale("+f+","+d+")")}return function(l,u){var f=[],d=[];return l=e(l),u=e(u),o(l.translateX,l.translateY,u.translateX,u.translateY,f,d),s(l.rotate,u.rotate,f,d),a(l.skewX,u.skewX,f,d),c(l.scaleX,l.scaleY,u.scaleX,u.scaleY,f,d),l=u=null,function(h){for(var p=-1,m=d.length,g;++p<m;)f[(g=d[p]).i]=g.x(h);return f.join("")}}}var lI=NL(TL,"px, ","px)","deg)"),uI=NL(EL,", ",")",")");var bX=1e-12;function DL(e){return((e=Math.exp(e))+1/e)/2}function wX(e){return((e=Math.exp(e))-1/e)/2}function vX(e){return((e=Math.exp(2*e))-1)/(e+1)}var fI=function e(t,n,r){function i(o,s){var a=o[0],c=o[1],l=o[2],u=s[0],f=s[1],d=s[2],h=u-a,p=f-c,m=h*h+p*p,g,y;if(m<bX)y=Math.log(d/l)/t,g=function(I){return[a+I*h,c+I*p,l*Math.exp(t*I*y)]};else{var x=Math.sqrt(m),b=(d*d-l*l+r*m)/(2*l*n*x),w=(d*d-l*l-r*m)/(2*d*n*x),_=Math.log(Math.sqrt(b*b+1)-b),v=Math.log(Math.sqrt(w*w+1)-w);y=(v-_)/t,g=function(I){var A=I*y,T=DL(_),D=l/(n*x)*(T*vX(t*A+_)-wX(_));return[a+D*h,c+D*p,l*T/DL(t*A+_)]}}return g.duration=y*1e3*t/Math.SQRT2,g}return i.rho=function(o){var s=Math.max(.001,+o),a=s*s,c=a*a;return e(s,a,c)},i}(Math.SQRT2,2,4);function OL(e){return function(t,n){var r=e((t=fp(t)).h,(n=fp(n)).h),i=Te(t.s,n.s),o=Te(t.l,n.l),s=Te(t.opacity,n.opacity);return function(a){return t.h=r(a),t.s=i(a),t.l=o(a),t.opacity=s(a),t+""}}}var dI=OL(Ru),_X=OL(Te);function bx(e,t){var n=Te((e=ku(e)).l,(t=ku(t)).l),r=Te(e.a,t.a),i=Te(e.b,t.b),o=Te(e.opacity,t.opacity);return function(s){return e.l=n(s),e.a=r(s),e.b=i(s),e.opacity=o(s),e+""}}function BL(e){return function(t,n){var r=e((t=dp(t)).h,(n=dp(n)).h),i=Te(t.c,n.c),o=Te(t.l,n.l),s=Te(t.opacity,n.opacity);return function(a){return t.h=r(a),t.c=i(a),t.l=o(a),t.opacity=s(a),t+""}}}var hI=BL(Ru),SX=BL(Te);function LL(e){return function t(n){n=+n;function r(i,o){var s=e((i=Kn(i)).h,(o=Kn(o)).h),a=Te(i.s,o.s),c=Te(i.l,o.l),l=Te(i.opacity,o.opacity);return function(u){return i.h=s(u),i.s=a(u),i.l=c(Math.pow(u,n)),i.opacity=l(u),i+""}}return r.gamma=t,r}(1)}var IX=LL(Ru),$u=LL(Te);function mo(e,t){t===void 0&&(t=e,e=$r);for(var n=0,r=t.length-1,i=t[0],o=new Array(r<0?0:r);n<r;)o[n]=e(i,i=t[++n]);return function(s){var a=Math.max(0,Math.min(r-1,Math.floor(s*=r)));return o[a](s-a)}}function Fn(e,t){for(var n=new Array(t),r=0;r<t;++r)n[r]=e(r/(t-1));return n}var Pu=0,yp=0,mp=0,kL=1e3,wx,gp,vx=0,Kc=0,_x=0,xp=typeof performance=="object"&&performance.now?performance:Date,FL=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function wp(){return Kc||(FL(MX),Kc=xp.now()+_x)}function MX(){Kc=0}function bp(){this._call=this._time=this._next=null}bp.prototype=Sx.prototype={constructor:bp,restart:function(e,t,n){if(typeof e!="function")throw new TypeError("callback is not a function");n=(n==null?wp():+n)+(t==null?0:+t),!this._next&&gp!==this&&(gp?gp._next=this:wx=this,gp=this),this._call=e,this._time=n,pI()},stop:function(){this._call&&(this._call=null,this._time=1/0,pI())}};function Sx(e,t,n){var r=new bp;return r.restart(e,t,n),r}function RL(){wp(),++Pu;for(var e=wx,t;e;)(t=Kc-e._time)>=0&&e._call.call(void 0,t),e=e._next;--Pu}function CL(){Kc=(vx=xp.now())+_x,Pu=yp=0;try{RL()}finally{Pu=0,TX(),Kc=0}}function AX(){var e=xp.now(),t=e-vx;t>kL&&(_x-=t,vx=e)}function TX(){for(var e,t=wx,n,r=1/0;t;)t._call?(r>t._time&&(r=t._time),e=t,t=t._next):(n=t._next,t._next=null,t=e?e._next=n:wx=n);gp=e,pI(r)}function pI(e){if(!Pu){yp&&(yp=clearTimeout(yp));var t=e-Kc;t>24?(e<1/0&&(yp=setTimeout(CL,e-xp.now()-_x)),mp&&(mp=clearInterval(mp))):(mp||(vx=xp.now(),mp=setInterval(AX,kL)),Pu=1,FL(CL))}}function Ix(e,t,n){var r=new bp;return t=t==null?0:+t,r.restart(i=>{r.stop(),e(i+t)},t,n),r}var EX=Xc("start","end","cancel","interrupt"),NX=[],UL=0,$L=1,Ax=2,Mx=3,PL=4,Tx=5,vp=6;function Ca(e,t,n,r,i,o){var s=e.__transition;if(!s)e.__transition={};else if(n in s)return;DX(e,n,{name:t,index:r,group:i,on:EX,tween:NX,time:o.time,delay:o.delay,duration:o.duration,ease:o.ease,timer:null,state:UL})}function _p(e,t){var n=on(e,t);if(n.state>UL)throw new Error("too late; already scheduled");return n}function Tn(e,t){var n=on(e,t);if(n.state>Mx)throw new Error("too late; already running");return n}function on(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw new Error("transition not found");return n}function DX(e,t,n){var r=e.__transition,i;r[t]=n,n.timer=Sx(o,0,n.time);function o(l){n.state=$L,n.timer.restart(s,n.delay,n.time),n.delay<=l&&s(l-n.delay)}function s(l){var u,f,d,h;if(n.state!==$L)return c();for(u in r)if(h=r[u],h.name===n.name){if(h.state===Mx)return Ix(s);h.state===PL?(h.state=vp,h.timer.stop(),h.on.call("interrupt",e,e.__data__,h.index,h.group),delete r[u]):+u<t&&(h.state=vp,h.timer.stop(),h.on.call("cancel",e,e.__data__,h.index,h.group),delete r[u])}if(Ix(function(){n.state===Mx&&(n.state=PL,n.timer.restart(a,n.delay,n.time),a(l))}),n.state=Ax,n.on.call("start",e,e.__data__,n.index,n.group),n.state===Ax){for(n.state=Mx,i=new Array(d=n.tween.length),u=0,f=-1;u<d;++u)(h=n.tween[u].value.call(e,e.__data__,n.index,n.group))&&(i[++f]=h);i.length=f+1}}function a(l){for(var u=l<n.duration?n.ease.call(null,l/n.duration):(n.timer.restart(c),n.state=Tx,1),f=-1,d=i.length;++f<d;)i[f].call(e,u);n.state===Tx&&(n.on.call("end",e,e.__data__,n.index,n.group),c())}function c(){n.state=vp,n.timer.stop(),delete r[t];for(var l in r)return;delete e.__transition}}function yo(e,t){var n=e.__transition,r,i,o=!0,s;if(n){t=t==null?null:t+"";for(s in n){if((r=n[s]).name!==t){o=!1;continue}i=r.state>Ax&&r.state<Tx,r.state=vp,r.timer.stop(),r.on.call(i?"interrupt":"cancel",e,e.__data__,r.index,r.group),delete n[s]}o&&delete e.__transition}}function zL(e){return this.each(function(){yo(this,e)})}function OX(e,t){var n,r;return function(){var i=Tn(this,e),o=i.tween;if(o!==n){r=n=o;for(var s=0,a=r.length;s<a;++s)if(r[s].name===t){r=r.slice(),r.splice(s,1);break}}i.tween=r}}function BX(e,t,n){var r,i;if(typeof n!="function")throw new Error;return function(){var o=Tn(this,e),s=o.tween;if(s!==r){i=(r=s).slice();for(var a={name:t,value:n},c=0,l=i.length;c<l;++c)if(i[c].name===t){i[c]=a;break}c===l&&i.push(a)}o.tween=i}}function qL(e,t){var n=this._id;if(e+="",arguments.length<2){for(var r=on(this.node(),n).tween,i=0,o=r.length,s;i<o;++i)if((s=r[i]).name===e)return s.value;return null}return this.each((t==null?OX:BX)(n,e,t))}function Uu(e,t,n){var r=e._id;return e.each(function(){var i=Tn(this,r);(i.value||(i.value={}))[t]=n.apply(this,arguments)}),function(i){return on(i,r).value[t]}}function Ex(e,t){var n;return(typeof t=="number"?_e:t instanceof Rr?si:(n=Rr(t))?(t=n,si):pp)(e,t)}function LX(e){return function(){this.removeAttribute(e)}}function CX(e){return function(){this.removeAttributeNS(e.space,e.local)}}function kX(e,t,n){var r,i=n+"",o;return function(){var s=this.getAttribute(e);return s===i?null:s===r?o:o=t(r=s,n)}}function FX(e,t,n){var r,i=n+"",o;return function(){var s=this.getAttributeNS(e.space,e.local);return s===i?null:s===r?o:o=t(r=s,n)}}function RX(e,t,n){var r,i,o;return function(){var s,a=n(this),c;return a==null?void this.removeAttribute(e):(s=this.getAttribute(e),c=a+"",s===c?null:s===r&&c===i?o:(i=c,o=t(r=s,a)))}}function $X(e,t,n){var r,i,o;return function(){var s,a=n(this),c;return a==null?void this.removeAttributeNS(e.space,e.local):(s=this.getAttributeNS(e.space,e.local),c=a+"",s===c?null:s===r&&c===i?o:(i=c,o=t(r=s,a)))}}function jL(e,t){var n=Os(e),r=n==="transform"?uI:Ex;return this.attrTween(e,typeof t=="function"?(n.local?$X:RX)(n,r,Uu(this,"attr."+e,t)):t==null?(n.local?CX:LX)(n):(n.local?FX:kX)(n,r,t))}function PX(e,t){return function(n){this.setAttribute(e,t.call(this,n))}}function UX(e,t){return function(n){this.setAttributeNS(e.space,e.local,t.call(this,n))}}function zX(e,t){var n,r;function i(){var o=t.apply(this,arguments);return o!==r&&(n=(r=o)&&UX(e,o)),n}return i._value=t,i}function qX(e,t){var n,r;function i(){var o=t.apply(this,arguments);return o!==r&&(n=(r=o)&&PX(e,o)),n}return i._value=t,i}function VL(e,t){var n="attr."+e;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(t==null)return this.tween(n,null);if(typeof t!="function")throw new Error;var r=Os(e);return this.tween(n,(r.local?zX:qX)(r,t))}function jX(e,t){return function(){_p(this,e).delay=+t.apply(this,arguments)}}function VX(e,t){return t=+t,function(){_p(this,e).delay=t}}function YL(e){var t=this._id;return arguments.length?this.each((typeof e=="function"?jX:VX)(t,e)):on(this.node(),t).delay}function YX(e,t){return function(){Tn(this,e).duration=+t.apply(this,arguments)}}function XX(e,t){return t=+t,function(){Tn(this,e).duration=t}}function XL(e){var t=this._id;return arguments.length?this.each((typeof e=="function"?YX:XX)(t,e)):on(this.node(),t).duration}function GX(e,t){if(typeof t!="function")throw new Error;return function(){Tn(this,e).ease=t}}function GL(e){var t=this._id;return arguments.length?this.each(GX(t,e)):on(this.node(),t).ease}function WX(e,t){return function(){var n=t.apply(this,arguments);if(typeof n!="function")throw new Error;Tn(this,e).ease=n}}function WL(e){if(typeof e!="function")throw new Error;return this.each(WX(this._id,e))}function HL(e){typeof e!="function"&&(e=op(e));for(var t=this._groups,n=t.length,r=new Array(n),i=0;i<n;++i)for(var o=t[i],s=o.length,a=r[i]=[],c,l=0;l<s;++l)(c=o[l])&&e.call(c,c.__data__,l,o)&&a.push(c);return new tr(r,this._parents,this._name,this._id)}function ZL(e){if(e._id!==this._id)throw new Error;for(var t=this._groups,n=e._groups,r=t.length,i=n.length,o=Math.min(r,i),s=new Array(r),a=0;a<o;++a)for(var c=t[a],l=n[a],u=c.length,f=s[a]=new Array(u),d,h=0;h<u;++h)(d=c[h]||l[h])&&(f[h]=d);for(;a<r;++a)s[a]=t[a];return new tr(s,this._parents,this._name,this._id)}function HX(e){return(e+"").trim().split(/^|\s+/).every(function(t){var n=t.indexOf(".");return n>=0&&(t=t.slice(0,n)),!t||t==="start"})}function ZX(e,t,n){var r,i,o=HX(t)?_p:Tn;return function(){var s=o(this,e),a=s.on;a!==r&&(i=(r=a).copy()).on(t,n),s.on=i}}function JL(e,t){var n=this._id;return arguments.length<2?on(this.node(),n).on.on(e):this.each(ZX(n,e,t))}function JX(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function QL(){return this.on("end.remove",JX(this._id))}function KL(e){var t=this._name,n=this._id;typeof e!="function"&&(e=Gc(e));for(var r=this._groups,i=r.length,o=new Array(i),s=0;s<i;++s)for(var a=r[s],c=a.length,l=o[s]=new Array(c),u,f,d=0;d<c;++d)(u=a[d])&&(f=e.call(u,u.__data__,d,a))&&("__data__"in u&&(f.__data__=u.__data__),l[d]=f,Ca(l[d],t,n,d,l,on(u,n)));return new tr(o,this._parents,t,n)}function tC(e){var t=this._name,n=this._id;typeof e!="function"&&(e=ip(e));for(var r=this._groups,i=r.length,o=[],s=[],a=0;a<i;++a)for(var c=r[a],l=c.length,u,f=0;f<l;++f)if(u=c[f]){for(var d=e.call(u,u.__data__,f,c),h,p=on(u,n),m=0,g=d.length;m<g;++m)(h=d[m])&&Ca(h,t,n,m,d,p);o.push(d),s.push(u)}return new tr(o,s,t,n)}var QX=Ls.prototype.constructor;function eC(){return new QX(this._groups,this._parents)}function KX(e,t){var n,r,i;return function(){var o=Oa(this,e),s=(this.style.removeProperty(e),Oa(this,e));return o===s?null:o===n&&s===r?i:i=t(n=o,r=s)}}function nC(e){return function(){this.style.removeProperty(e)}}function tG(e,t,n){var r,i=n+"",o;return function(){var s=Oa(this,e);return s===i?null:s===r?o:o=t(r=s,n)}}function eG(e,t,n){var r,i,o;return function(){var s=Oa(this,e),a=n(this),c=a+"";return a==null&&(c=a=(this.style.removeProperty(e),Oa(this,e))),s===c?null:s===r&&c===i?o:(i=c,o=t(r=s,a))}}function nG(e,t){var n,r,i,o="style."+t,s="end."+o,a;return function(){var c=Tn(this,e),l=c.on,u=c.value[o]==null?a||(a=nC(t)):void 0;(l!==n||i!==u)&&(r=(n=l).copy()).on(s,i=u),c.on=r}}function rC(e,t,n){var r=(e+="")=="transform"?lI:Ex;return t==null?this.styleTween(e,KX(e,r)).on("end.style."+e,nC(e)):typeof t=="function"?this.styleTween(e,eG(e,r,Uu(this,"style."+e,t))).each(nG(this._id,e)):this.styleTween(e,tG(e,r,t),n).on("end.style."+e,null)}function rG(e,t,n){return function(r){this.style.setProperty(e,t.call(this,r),n)}}function iG(e,t,n){var r,i;function o(){var s=t.apply(this,arguments);return s!==i&&(r=(i=s)&&rG(e,s,n)),r}return o._value=t,o}function iC(e,t,n){var r="style."+(e+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(t==null)return this.tween(r,null);if(typeof t!="function")throw new Error;return this.tween(r,iG(e,t,n??""))}function oG(e){return function(){this.textContent=e}}function sG(e){return function(){var t=e(this);this.textContent=t??""}}function oC(e){return this.tween("text",typeof e=="function"?sG(Uu(this,"text",e)):oG(e==null?"":e+""))}function aG(e){return function(t){this.textContent=e.call(this,t)}}function cG(e){var t,n;function r(){var i=e.apply(this,arguments);return i!==n&&(t=(n=i)&&aG(i)),t}return r._value=e,r}function sC(e){var t="text";if(arguments.length<1)return(t=this.tween(t))&&t._value;if(e==null)return this.tween(t,null);if(typeof e!="function")throw new Error;return this.tween(t,cG(e))}function aC(){for(var e=this._name,t=this._id,n=Nx(),r=this._groups,i=r.length,o=0;o<i;++o)for(var s=r[o],a=s.length,c,l=0;l<a;++l)if(c=s[l]){var u=on(c,t);Ca(c,e,n,l,s,{time:u.time+u.delay+u.duration,delay:0,duration:u.duration,ease:u.ease})}return new tr(r,this._parents,e,n)}function cC(){var e,t,n=this,r=n._id,i=n.size();return new Promise(function(o,s){var a={value:s},c={value:function(){--i===0&&o()}};n.each(function(){var l=Tn(this,r),u=l.on;u!==e&&(t=(e=u).copy(),t._.cancel.push(a),t._.interrupt.push(a),t._.end.push(c)),l.on=t}),i===0&&o()})}var lG=0;function tr(e,t,n,r){this._groups=e,this._parents=t,this._name=n,this._id=r}function lC(e){return Ls().transition(e)}function Nx(){return++lG}var Fs=Ls.prototype;tr.prototype=lC.prototype={constructor:tr,select:KL,selectAll:tC,selectChild:Fs.selectChild,selectChildren:Fs.selectChildren,filter:HL,merge:ZL,selection:eC,transition:aC,call:Fs.call,nodes:Fs.nodes,node:Fs.node,size:Fs.size,empty:Fs.empty,each:Fs.each,on:JL,attr:jL,attrTween:VL,style:rC,styleTween:iC,text:oC,textTween:sC,remove:QL,tween:qL,delay:YL,duration:XL,ease:GL,easeVarying:WL,end:cC,[Symbol.iterator]:Fs[Symbol.iterator]};function Dx(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var uG={time:null,delay:0,duration:250,ease:Dx};function fG(e,t){for(var n;!(n=e.__transition)||!(n=n[t]);)if(!(e=e.parentNode))throw new Error(`transition ${t} not found`);return n}function uC(e){var t,n;e instanceof tr?(t=e._id,e=e._name):(t=Nx(),(n=uG).time=wp(),e=e==null?null:e+"");for(var r=this._groups,i=r.length,o=0;o<i;++o)for(var s=r[o],a=s.length,c,l=0;l<a;++l)(c=s[l])&&Ca(c,e,t,l,s,n||fG(c,t));return new tr(r,this._parents,e,t)}Ls.prototype.interrupt=zL;Ls.prototype.transition=uC;var Ox=e=>()=>e;function mI(e,{sourceEvent:t,target:n,selection:r,mode:i,dispatch:o}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},selection:{value:r,enumerable:!0,configurable:!0},mode:{value:i,enumerable:!0,configurable:!0},_:{value:o}})}function fC(e){e.stopImmediatePropagation()}function Bx(e){e.preventDefault(),e.stopImmediatePropagation()}var dC={name:"drag"},yI={name:"space"},zu={name:"handle"},qu={name:"center"},{abs:hC,max:Rn,min:$n}=Math;function pC(e){return[+e[0],+e[1]]}function xI(e){return[pC(e[0]),pC(e[1])]}var Lx={name:"x",handles:["w","e"].map(Sp),input:function(e,t){return e==null?null:[[+e[0],t[0][1]],[+e[1],t[1][1]]]},output:function(e){return e&&[e[0][0],e[1][0]]}},Cx={name:"y",handles:["n","s"].map(Sp),input:function(e,t){return e==null?null:[[t[0][0],+e[0]],[t[1][0],+e[1]]]},output:function(e){return e&&[e[0][1],e[1][1]]}},dG={name:"xy",handles:["n","w","e","s","nw","ne","sw","se"].map(Sp),input:function(e){return e==null?null:xI(e)},output:function(e){return e}},Rs={overlay:"crosshair",selection:"move",n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"},mC={e:"w",w:"e",nw:"ne",ne:"nw",se:"sw",sw:"se"},yC={n:"s",s:"n",nw:"sw",ne:"se",se:"ne",sw:"nw"},hG={overlay:1,selection:1,n:null,e:1,s:null,w:-1,nw:-1,ne:1,se:1,sw:-1},pG={overlay:1,selection:1,n:-1,e:null,s:1,w:null,nw:-1,ne:-1,se:1,sw:1};function Sp(e){return{type:e}}function mG(e){return!e.ctrlKey&&!e.button}function yG(){var e=this.ownerSVGElement||this;return e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]}function gG(){return navigator.maxTouchPoints||"ontouchstart"in this}function gI(e){for(;!e.__brush;)if(!(e=e.parentNode))return;return e.__brush}function xG(e){return e[0][0]===e[1][0]||e[0][1]===e[1][1]}function bI(){return _I(Lx)}function wI(){return _I(Cx)}function vI(){return _I(dG)}function _I(e){var t=yG,n=mG,r=gG,i=!0,o=Xc("start","brush","end"),s=6,a;function c(g){var y=g.property("__brush",m).selectAll(".overlay").data([Sp("overlay")]);y.enter().append("rect").attr("class","overlay").attr("pointer-events","all").attr("cursor",Rs.overlay).merge(y).each(function(){var b=gI(this).extent;Vt(this).attr("x",b[0][0]).attr("y",b[0][1]).attr("width",b[1][0]-b[0][0]).attr("height",b[1][1]-b[0][1])}),g.selectAll(".selection").data([Sp("selection")]).enter().append("rect").attr("class","selection").attr("cursor",Rs.selection).attr("fill","#777").attr("fill-opacity",.3).attr("stroke","#fff").attr("shape-rendering","crispEdges");var x=g.selectAll(".handle").data(e.handles,function(b){return b.type});x.exit().remove(),x.enter().append("rect").attr("class",function(b){return"handle handle--"+b.type}).attr("cursor",function(b){return Rs[b.type]}),g.each(l).attr("fill","none").attr("pointer-events","all").on("mousedown.brush",d).filter(r).on("touchstart.brush",d).on("touchmove.brush",h).on("touchend.brush touchcancel.brush",p).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}c.move=function(g,y,x){g.tween?g.on("start.brush",function(b){u(this,arguments).beforestart().start(b)}).on("interrupt.brush end.brush",function(b){u(this,arguments).end(b)}).tween("brush",function(){var b=this,w=b.__brush,_=u(b,arguments),v=w.selection,I=e.input(typeof y=="function"?y.apply(this,arguments):y,w.extent),A=$r(v,I);function T(D){w.selection=D===1&&I===null?null:A(D),l.call(b),_.brush()}return v!==null&&I!==null?T:T(1)}):g.each(function(){var b=this,w=arguments,_=b.__brush,v=e.input(typeof y=="function"?y.apply(b,w):y,_.extent),I=u(b,w).beforestart();yo(b),_.selection=v===null?null:v,l.call(b),I.start(x).brush(x).end(x)})},c.clear=function(g,y){c.move(g,null,y)};function l(){var g=Vt(this),y=gI(this).selection;y?(g.selectAll(".selection").style("display",null).attr("x",y[0][0]).attr("y",y[0][1]).attr("width",y[1][0]-y[0][0]).attr("height",y[1][1]-y[0][1]),g.selectAll(".handle").style("display",null).attr("x",function(x){return x.type[x.type.length-1]==="e"?y[1][0]-s/2:y[0][0]-s/2}).attr("y",function(x){return x.type[0]==="s"?y[1][1]-s/2:y[0][1]-s/2}).attr("width",function(x){return x.type==="n"||x.type==="s"?y[1][0]-y[0][0]+s:s}).attr("height",function(x){return x.type==="e"||x.type==="w"?y[1][1]-y[0][1]+s:s})):g.selectAll(".selection,.handle").style("display","none").attr("x",null).attr("y",null).attr("width",null).attr("height",null)}function u(g,y,x){var b=g.__brush.emitter;return b&&(!x||!b.clean)?b:new f(g,y,x)}function f(g,y,x){this.that=g,this.args=y,this.state=g.__brush,this.active=0,this.clean=x}f.prototype={beforestart:function(){return++this.active===1&&(this.state.emitter=this,this.starting=!0),this},start:function(g,y){return this.starting?(this.starting=!1,this.emit("start",g,y)):this.emit("brush",g),this},brush:function(g,y){return this.emit("brush",g,y),this},end:function(g,y){return--this.active===0&&(delete this.state.emitter,this.emit("end",g,y)),this},emit:function(g,y,x){var b=Vt(this.that).datum();o.call(g,this.that,new mI(g,{sourceEvent:y,target:c,selection:e.output(this.state.selection),mode:x,dispatch:o}),b)}};function d(g){if(a&&!g.touches||!n.apply(this,arguments))return;var y=this,x=g.target.__data__.type,b=(i&&g.metaKey?x="overlay":x)==="selection"?dC:i&&g.altKey?qu:zu,w=e===Cx?null:hG[x],_=e===Lx?null:pG[x],v=gI(y),I=v.extent,A=v.selection,T=I[0][0],D,E,O=I[0][1],C,S,M=I[1][0],N,F,R=I[1][1],k,$,P=0,U=0,W,et=w&&_&&i&&g.shiftKey,rt,at,Y=Array.from(g.touches||[g],K=>{let ae=K.identifier;return K=kn(K,y),K.point0=K.slice(),K.identifier=ae,K});yo(y);var ot=u(y,arguments,!0).beforestart();if(x==="overlay"){A&&(W=!0);let K=[Y[0],Y[1]||Y[0]];v.selection=A=[[D=e===Cx?T:$n(K[0][0],K[1][0]),C=e===Lx?O:$n(K[0][1],K[1][1])],[N=e===Cx?M:Rn(K[0][0],K[1][0]),k=e===Lx?R:Rn(K[0][1],K[1][1])]],Y.length>1&&kt(g)}else D=A[0][0],C=A[0][1],N=A[1][0],k=A[1][1];E=D,S=C,F=N,$=k;var j=Vt(y).attr("pointer-events","none"),H=j.selectAll(".overlay").attr("cursor",Rs[x]);if(g.touches)ot.moved=z,ot.ended=dt;else{var nt=Vt(g.view).on("mousemove.brush",z,!0).on("mouseup.brush",dt,!0);i&&nt.on("keydown.brush",Wt,!0).on("keyup.brush",Zt,!0),ap(g.view)}l.call(y),ot.start(g,b.name);function z(K){for(let ae of K.changedTouches||[K])for(let Sr of Y)Sr.identifier===ae.identifier&&(Sr.cur=kn(ae,y));if(et&&!rt&&!at&&Y.length===1){let ae=Y[0];hC(ae.cur[0]-ae[0])>hC(ae.cur[1]-ae[1])?at=!0:rt=!0}for(let ae of Y)ae.cur&&(ae[0]=ae.cur[0],ae[1]=ae.cur[1]);W=!0,Bx(K),kt(K)}function kt(K){let ae=Y[0],Sr=ae.point0;var Wi;switch(P=ae[0]-Sr[0],U=ae[1]-Sr[1],b){case yI:case dC:{w&&(P=Rn(T-D,$n(M-N,P)),E=D+P,F=N+P),_&&(U=Rn(O-C,$n(R-k,U)),S=C+U,$=k+U);break}case zu:{Y[1]?(w&&(E=Rn(T,$n(M,Y[0][0])),F=Rn(T,$n(M,Y[1][0])),w=1),_&&(S=Rn(O,$n(R,Y[0][1])),$=Rn(O,$n(R,Y[1][1])),_=1)):(w<0?(P=Rn(T-D,$n(M-D,P)),E=D+P,F=N):w>0&&(P=Rn(T-N,$n(M-N,P)),E=D,F=N+P),_<0?(U=Rn(O-C,$n(R-C,U)),S=C+U,$=k):_>0&&(U=Rn(O-k,$n(R-k,U)),S=C,$=k+U));break}case qu:{w&&(E=Rn(T,$n(M,D-P*w)),F=Rn(T,$n(M,N+P*w))),_&&(S=Rn(O,$n(R,C-U*_)),$=Rn(O,$n(R,k+U*_)));break}}F<E&&(w*=-1,Wi=D,D=N,N=Wi,Wi=E,E=F,F=Wi,x in mC&&H.attr("cursor",Rs[x=mC[x]])),$<S&&(_*=-1,Wi=C,C=k,k=Wi,Wi=S,S=$,$=Wi,x in yC&&H.attr("cursor",Rs[x=yC[x]])),v.selection&&(A=v.selection),rt&&(E=A[0][0],F=A[1][0]),at&&(S=A[0][1],$=A[1][1]),(A[0][0]!==E||A[0][1]!==S||A[1][0]!==F||A[1][1]!==$)&&(v.selection=[[E,S],[F,$]],l.call(y),ot.brush(K,b.name))}function dt(K){if(fC(K),K.touches){if(K.touches.length)return;a&&clearTimeout(a),a=setTimeout(function(){a=null},500)}else cp(K.view,W),nt.on("keydown.brush keyup.brush mousemove.brush mouseup.brush",null);j.attr("pointer-events","all"),H.attr("cursor",Rs.overlay),v.selection&&(A=v.selection),xG(A)&&(v.selection=null,l.call(y)),ot.end(K,b.name)}function Wt(K){switch(K.keyCode){case 16:{et=w&&_;break}case 18:{b===zu&&(w&&(N=F-P*w,D=E+P*w),_&&(k=$-U*_,C=S+U*_),b=qu,kt(K));break}case 32:{(b===zu||b===qu)&&(w<0?N=F-P:w>0&&(D=E-P),_<0?k=$-U:_>0&&(C=S-U),b=yI,H.attr("cursor",Rs.selection),kt(K));break}default:return}Bx(K)}function Zt(K){switch(K.keyCode){case 16:{et&&(rt=at=et=!1,kt(K));break}case 18:{b===qu&&(w<0?N=F:w>0&&(D=E),_<0?k=$:_>0&&(C=S),b=zu,kt(K));break}case 32:{b===yI&&(K.altKey?(w&&(N=F-P*w,D=E+P*w),_&&(k=$-U*_,C=S+U*_),b=qu):(w<0?N=F:w>0&&(D=E),_<0?k=$:_>0&&(C=S),b=zu),H.attr("cursor",Rs[x]),kt(K));break}default:return}Bx(K)}}function h(g){u(this,arguments).moved(g)}function p(g){u(this,arguments).ended(g)}function m(){var g=this.__brush||{selection:null};return g.extent=xI(t.apply(this,arguments)),g.dim=e,g}return c.extent=function(g){return arguments.length?(t=typeof g=="function"?g:Ox(xI(g)),c):t},c.filter=function(g){return arguments.length?(n=typeof g=="function"?g:Ox(!!g),c):n},c.touchable=function(g){return arguments.length?(r=typeof g=="function"?g:Ox(!!g),c):r},c.handleSize=function(g){return arguments.length?(s=+g,c):s},c.keyModifiers=function(g){return arguments.length?(i=!!g,c):i},c.on=function(){var g=o.on.apply(o,arguments);return g===o?c:g},c}var SI=Math.PI,II=2*SI,tl=1e-6,bG=II-tl;function gC(e){this._+=e[0];for(let t=1,n=e.length;t<n;++t)this._+=arguments[t]+e[t]}function wG(e){let t=Math.floor(e);if(!(t>=0))throw new Error(`invalid digits: ${e}`);if(t>15)return gC;let n=10**t;return function(r){this._+=r[0];for(let i=1,o=r.length;i<o;++i)this._+=Math.round(arguments[i]*n)/n+r[i]}}var ka=class{constructor(t){this._x0=this._y0=this._x1=this._y1=null,this._="",this._append=t==null?gC:wG(t)}moveTo(t,n){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+n}`}closePath(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._append`Z`)}lineTo(t,n){this._append`L${this._x1=+t},${this._y1=+n}`}quadraticCurveTo(t,n,r,i){this._append`Q${+t},${+n},${this._x1=+r},${this._y1=+i}`}bezierCurveTo(t,n,r,i,o,s){this._append`C${+t},${+n},${+r},${+i},${this._x1=+o},${this._y1=+s}`}arcTo(t,n,r,i,o){if(t=+t,n=+n,r=+r,i=+i,o=+o,o<0)throw new Error(`negative radius: ${o}`);let s=this._x1,a=this._y1,c=r-t,l=i-n,u=s-t,f=a-n,d=u*u+f*f;if(this._x1===null)this._append`M${this._x1=t},${this._y1=n}`;else if(d>tl)if(!(Math.abs(f*c-l*u)>tl)||!o)this._append`L${this._x1=t},${this._y1=n}`;else{let h=r-s,p=i-a,m=c*c+l*l,g=h*h+p*p,y=Math.sqrt(m),x=Math.sqrt(d),b=o*Math.tan((SI-Math.acos((m+d-g)/(2*y*x)))/2),w=b/x,_=b/y;Math.abs(w-1)>tl&&this._append`L${t+w*u},${n+w*f}`,this._append`A${o},${o},0,0,${+(f*h>u*p)},${this._x1=t+_*c},${this._y1=n+_*l}`}}arc(t,n,r,i,o,s){if(t=+t,n=+n,r=+r,s=!!s,r<0)throw new Error(`negative radius: ${r}`);let a=r*Math.cos(i),c=r*Math.sin(i),l=t+a,u=n+c,f=1^s,d=s?i-o:o-i;this._x1===null?this._append`M${l},${u}`:(Math.abs(this._x1-l)>tl||Math.abs(this._y1-u)>tl)&&this._append`L${l},${u}`,r&&(d<0&&(d=d%II+II),d>bG?this._append`A${r},${r},0,1,${f},${t-a},${n-c}A${r},${r},0,1,${f},${this._x1=l},${this._y1=u}`:d>tl&&this._append`A${r},${r},0,${+(d>=SI)},${f},${this._x1=t+r*Math.cos(o)},${this._y1=n+r*Math.sin(o)}`)}rect(t,n,r,i){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+n}h${r=+r}v${+i}h${-r}Z`}toString(){return this._}};function xC(){return new ka}xC.prototype=ka.prototype;function er(e=3){return new ka(+e)}var vG=Array.prototype,kx=vG.slice;function bC(e,t){return e-t}function wC(e){for(var t=0,n=e.length,r=e[n-1][1]*e[0][0]-e[n-1][0]*e[0][1];++t<n;)r+=e[t-1][1]*e[t][0]-e[t-1][0]*e[t][1];return r}var go=e=>()=>e;function vC(e,t){for(var n=-1,r=t.length,i;++n<r;)if(i=_G(e,t[n]))return i;return 0}function _G(e,t){for(var n=t[0],r=t[1],i=-1,o=0,s=e.length,a=s-1;o<s;a=o++){var c=e[o],l=c[0],u=c[1],f=e[a],d=f[0],h=f[1];if(SG(c,f,t))return 0;u>r!=h>r&&n<(d-l)*(r-u)/(h-u)+l&&(i=-i)}return i}function SG(e,t,n){var r;return IG(e,t,n)&&MG(e[r=+(e[0]===t[0])],n[r],t[r])}function IG(e,t,n){return(t[0]-e[0])*(n[1]-e[1])===(n[0]-e[0])*(t[1]-e[1])}function MG(e,t,n){return e<=t&&t<=n||n<=t&&t<=e}function _C(){}var $s=[[],[[[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 Fa(){var e=1,t=1,n=Na,r=c;function i(l){var u=n(l);if(Array.isArray(u))u=u.slice().sort(bC);else{let f=le(l,AG);for(u=Mn(...Du(f[0],f[1],u),u);u[u.length-1]>=f[1];)u.pop();for(;u[1]<f[0];)u.shift()}return u.map(f=>o(l,f))}function o(l,u){let f=u==null?NaN:+u;if(isNaN(f))throw new Error(`invalid value: ${u}`);var d=[],h=[];return s(l,f,function(p){r(p,l,f),wC(p)>0?d.push([p]):h.push(p)}),h.forEach(function(p){for(var m=0,g=d.length,y;m<g;++m)if(vC((y=d[m])[0],p)!==-1){y.push(p);return}}),{type:"MultiPolygon",value:u,coordinates:d}}function s(l,u,f){var d=new Array,h=new Array,p,m,g,y,x,b;for(p=m=-1,y=el(l[0],u),$s[y<<1].forEach(w);++p<e-1;)g=y,y=el(l[p+1],u),$s[g|y<<1].forEach(w);for($s[y<<0].forEach(w);++m<t-1;){for(p=-1,y=el(l[m*e+e],u),x=el(l[m*e],u),$s[y<<1|x<<2].forEach(w);++p<e-1;)g=y,y=el(l[m*e+e+p+1],u),b=x,x=el(l[m*e+p+1],u),$s[g|y<<1|x<<2|b<<3].forEach(w);$s[y|x<<3].forEach(w)}for(p=-1,x=l[m*e]>=u,$s[x<<2].forEach(w);++p<e-1;)b=x,x=el(l[m*e+p+1],u),$s[x<<2|b<<3].forEach(w);$s[x<<3].forEach(w);function w(_){var v=[_[0][0]+p,_[0][1]+m],I=[_[1][0]+p,_[1][1]+m],A=a(v),T=a(I),D,E;(D=h[A])?(E=d[T])?(delete h[D.end],delete d[E.start],D===E?(D.ring.push(I),f(D.ring)):d[D.start]=h[E.end]={start:D.start,end:E.end,ring:D.ring.concat(E.ring)}):(delete h[D.end],D.ring.push(I),h[D.end=T]=D):(D=d[T])?(E=h[A])?(delete d[D.start],delete h[E.end],D===E?(D.ring.push(I),f(D.ring)):d[E.start]=h[D.end]={start:E.start,end:D.end,ring:E.ring.concat(D.ring)}):(delete d[D.start],D.ring.unshift(v),d[D.start=A]=D):d[A]=h[T]={start:A,end:T,ring:[v,I]}}}function a(l){return l[0]*2+l[1]*(e+1)*4}function c(l,u,f){l.forEach(function(d){var h=d[0],p=d[1],m=h|0,g=p|0,y=MI(u[g*e+m]);h>0&&h<e&&m===h&&(d[0]=SC(h,MI(u[g*e+m-1]),y,f)),p>0&&p<t&&g===p&&(d[1]=SC(p,MI(u[(g-1)*e+m]),y,f))})}return i.contour=o,i.size=function(l){if(!arguments.length)return[e,t];var u=Math.floor(l[0]),f=Math.floor(l[1]);if(!(u>=0&&f>=0))throw new Error("invalid size");return e=u,t=f,i},i.thresholds=function(l){return arguments.length?(n=typeof l=="function"?l:Array.isArray(l)?go(kx.call(l)):go(l),i):n},i.smooth=function(l){return arguments.length?(r=l?c:_C,i):r===c},i}function AG(e){return isFinite(e)?e:NaN}function el(e,t){return e==null?!1:+e>=t}function MI(e){return e==null||isNaN(e=+e)?-1/0:e}function SC(e,t,n,r){let i=r-t,o=n-t,s=isFinite(i)||isFinite(o)?i/o:Math.sign(i)/Math.sign(o);return isNaN(s)?e:e+s-.5}function TG(e){return e[0]}function EG(e){return e[1]}function NG(){return 1}function AI(){var e=TG,t=EG,n=NG,r=960,i=500,o=20,s=2,a=o*3,c=r+a*2>>s,l=i+a*2>>s,u=go(20);function f(x){var b=new Float32Array(c*l),w=Math.pow(2,-s),_=-1;for(let C of x){var v=(e(C,++_,x)+a)*w,I=(t(C,_,x)+a)*w,A=+n(C,_,x);if(A&&v>=0&&v<c&&I>=0&&I<l){var T=Math.floor(v),D=Math.floor(I),E=v-T-.5,O=I-D-.5;b[T+D*c]+=(1-E)*(1-O)*A,b[T+1+D*c]+=E*(1-O)*A,b[T+1+(D+1)*c]+=E*O*A,b[T+(D+1)*c]+=(1-E)*O*A}}return Qh({data:b,width:c,height:l},o*w),b}function d(x){var b=f(x),w=u(b),_=Math.pow(2,2*s);return Array.isArray(w)||(w=Mn(Number.MIN_VALUE,Ht(b)/_,w)),Fa().size([c,l]).thresholds(w.map(v=>v*_))(b).map((v,I)=>(v.value=+w[I],h(v)))}d.contours=function(x){var b=f(x),w=Fa().size([c,l]),_=Math.pow(2,2*s),v=I=>{I=+I;var A=h(w.contour(b,I*_));return A.value=I,A};return Object.defineProperty(v,"max",{get:()=>Ht(b)/_}),v};function h(x){return x.coordinates.forEach(p),x}function p(x){x.forEach(m)}function m(x){x.forEach(g)}function g(x){x[0]=x[0]*Math.pow(2,s)-a,x[1]=x[1]*Math.pow(2,s)-a}function y(){return a=o*3,c=r+a*2>>s,l=i+a*2>>s,d}return d.x=function(x){return arguments.length?(e=typeof x=="function"?x:go(+x),d):e},d.y=function(x){return arguments.length?(t=typeof x=="function"?x:go(+x),d):t},d.weight=function(x){return arguments.length?(n=typeof x=="function"?x:go(+x),d):n},d.size=function(x){if(!arguments.length)return[r,i];var b=+x[0],w=+x[1];if(!(b>=0&&w>=0))throw new Error("invalid size");return r=b,i=w,y()},d.cellSize=function(x){if(!arguments.length)return 1<<s;if(!((x=+x)>=1))throw new Error("invalid cell size");return s=Math.floor(Math.log(x)/Math.LN2),y()},d.thresholds=function(x){return arguments.length?(u=typeof x=="function"?x:Array.isArray(x)?go(kx.call(x)):go(x),d):u},d.bandwidth=function(x){if(!arguments.length)return Math.sqrt(o*(o+1));if(!((x=+x)>=0))throw new Error("invalid bandwidth");return o=(Math.sqrt(4*x*x+1)-1)/2,y()},d}var Kt=11102230246251565e-32,We=134217729,Ip=(3+8*Kt)*Kt;function nl(e,t,n,r,i){let o,s,a,c,l=t[0],u=r[0],f=0,d=0;u>l==u>-l?(o=l,l=t[++f]):(o=u,u=r[++d]);let h=0;if(f<e&&d<n)for(u>l==u>-l?(s=l+o,a=o-(s-l),l=t[++f]):(s=u+o,a=o-(s-u),u=r[++d]),o=s,a!==0&&(i[h++]=a);f<e&&d<n;)u>l==u>-l?(s=o+l,c=s-o,a=o-(s-c)+(l-c),l=t[++f]):(s=o+u,c=s-o,a=o-(s-c)+(u-c),u=r[++d]),o=s,a!==0&&(i[h++]=a);for(;f<e;)s=o+l,c=s-o,a=o-(s-c)+(l-c),l=t[++f],o=s,a!==0&&(i[h++]=a);for(;d<n;)s=o+u,c=s-o,a=o-(s-c)+(u-c),u=r[++d],o=s,a!==0&&(i[h++]=a);return(o!==0||h===0)&&(i[h++]=o),h}function Mp(e,t){let n=t[0];for(let r=1;r<e;r++)n+=t[r];return n}function V(e){return new Float64Array(e)}var DG=(3+16*Kt)*Kt,OG=(2+12*Kt)*Kt,BG=(9+64*Kt)*Kt*Kt,ju=V(4),IC=V(8),MC=V(12),AC=V(16),nr=V(4);function LG(e,t,n,r,i,o,s){let a,c,l,u,f,d,h,p,m,g,y,x,b,w,_,v,I,A,T=e-i,D=n-i,E=t-o,O=r-o;w=T*O,d=We*T,h=d-(d-T),p=T-h,d=We*O,m=d-(d-O),g=O-m,_=p*g-(w-h*m-p*m-h*g),v=E*D,d=We*E,h=d-(d-E),p=E-h,d=We*D,m=d-(d-D),g=D-m,I=p*g-(v-h*m-p*m-h*g),y=_-I,f=_-y,ju[0]=_-(y+f)+(f-I),x=w+y,f=x-w,b=w-(x-f)+(y-f),y=b-v,f=b-y,ju[1]=b-(y+f)+(f-v),A=x+y,f=A-x,ju[2]=x-(A-f)+(y-f),ju[3]=A;let C=Mp(4,ju),S=OG*s;if(C>=S||-C>=S||(f=e-T,a=e-(T+f)+(f-i),f=n-D,l=n-(D+f)+(f-i),f=t-E,c=t-(E+f)+(f-o),f=r-O,u=r-(O+f)+(f-o),a===0&&c===0&&l===0&&u===0)||(S=BG*s+Ip*Math.abs(C),C+=T*u+O*a-(E*l+D*c),C>=S||-C>=S))return C;w=a*O,d=We*a,h=d-(d-a),p=a-h,d=We*O,m=d-(d-O),g=O-m,_=p*g-(w-h*m-p*m-h*g),v=c*D,d=We*c,h=d-(d-c),p=c-h,d=We*D,m=d-(d-D),g=D-m,I=p*g-(v-h*m-p*m-h*g),y=_-I,f=_-y,nr[0]=_-(y+f)+(f-I),x=w+y,f=x-w,b=w-(x-f)+(y-f),y=b-v,f=b-y,nr[1]=b-(y+f)+(f-v),A=x+y,f=A-x,nr[2]=x-(A-f)+(y-f),nr[3]=A;let M=nl(4,ju,4,nr,IC);w=T*u,d=We*T,h=d-(d-T),p=T-h,d=We*u,m=d-(d-u),g=u-m,_=p*g-(w-h*m-p*m-h*g),v=E*l,d=We*E,h=d-(d-E),p=E-h,d=We*l,m=d-(d-l),g=l-m,I=p*g-(v-h*m-p*m-h*g),y=_-I,f=_-y,nr[0]=_-(y+f)+(f-I),x=w+y,f=x-w,b=w-(x-f)+(y-f),y=b-v,f=b-y,nr[1]=b-(y+f)+(f-v),A=x+y,f=A-x,nr[2]=x-(A-f)+(y-f),nr[3]=A;let N=nl(M,IC,4,nr,MC);w=a*u,d=We*a,h=d-(d-a),p=a-h,d=We*u,m=d-(d-u),g=u-m,_=p*g-(w-h*m-p*m-h*g),v=c*l,d=We*c,h=d-(d-c),p=c-h,d=We*l,m=d-(d-l),g=l-m,I=p*g-(v-h*m-p*m-h*g),y=_-I,f=_-y,nr[0]=_-(y+f)+(f-I),x=w+y,f=x-w,b=w-(x-f)+(y-f),y=b-v,f=b-y,nr[1]=b-(y+f)+(f-v),A=x+y,f=A-x,nr[2]=x-(A-f)+(y-f),nr[3]=A;let F=nl(N,MC,4,nr,AC);return AC[F-1]}function Vu(e,t,n,r,i,o){let s=(t-o)*(n-i),a=(e-i)*(r-o),c=s-a,l=Math.abs(s+a);return Math.abs(c)>=DG*l?c:-LG(e,t,n,r,i,o,l)}var r_t=(7+56*Kt)*Kt,i_t=(3+28*Kt)*Kt,o_t=(26+288*Kt)*Kt*Kt,s_t=V(4),a_t=V(4),c_t=V(4),l_t=V(4),u_t=V(4),f_t=V(4),d_t=V(4),h_t=V(4),p_t=V(4),m_t=V(8),y_t=V(8),g_t=V(8),x_t=V(4),b_t=V(8),w_t=V(8),v_t=V(8),__t=V(12),S_t=V(192),I_t=V(192);var T_t=(10+96*Kt)*Kt,E_t=(4+48*Kt)*Kt,N_t=(44+576*Kt)*Kt*Kt,D_t=V(4),O_t=V(4),B_t=V(4),L_t=V(4),C_t=V(4),k_t=V(4),F_t=V(4),R_t=V(4),$_t=V(8),P_t=V(8),U_t=V(8),z_t=V(8),q_t=V(8),j_t=V(8),V_t=V(8),Y_t=V(8),X_t=V(8),G_t=V(4),W_t=V(4),H_t=V(4),Z_t=V(8),J_t=V(16),Q_t=V(16),K_t=V(16),t2t=V(32),e2t=V(32),n2t=V(48),r2t=V(64),i2t=V(1152),o2t=V(1152);var l2t=(16+224*Kt)*Kt,u2t=(5+72*Kt)*Kt,f2t=(71+1408*Kt)*Kt*Kt,d2t=V(4),h2t=V(4),p2t=V(4),m2t=V(4),y2t=V(4),g2t=V(4),x2t=V(4),b2t=V(4),w2t=V(4),v2t=V(4),_2t=V(24),S2t=V(24),I2t=V(24),M2t=V(24),A2t=V(24),T2t=V(24),E2t=V(24),N2t=V(24),D2t=V(24),O2t=V(24),B2t=V(1152),L2t=V(1152),C2t=V(1152),k2t=V(1152),F2t=V(1152),R2t=V(2304),$2t=V(2304),P2t=V(3456),U2t=V(5760),z2t=V(8),q2t=V(8),j2t=V(8),V2t=V(16),Y2t=V(24),X2t=V(48),G2t=V(48),W2t=V(96),H2t=V(192),Z2t=V(384),J2t=V(384),Q2t=V(384),K2t=V(768);var tSt=V(96),eSt=V(96),nSt=V(96),rSt=V(1152);var EC=Math.pow(2,-52),Fx=new Uint32Array(512),Xu=class e{static from(t,n=PG,r=UG){let i=t.length,o=new Float64Array(i*2);for(let s=0;s<i;s++){let a=t[s];o[2*s]=n(a),o[2*s+1]=r(a)}return new e(o)}constructor(t){let n=t.length>>1;if(n>0&&typeof t[0]!="number")throw new Error("Expected coords to contain numbers.");this.coords=t;let r=Math.max(2*n-5,0);this._triangles=new Uint32Array(r*3),this._halfedges=new Int32Array(r*3),this._hashSize=Math.ceil(Math.sqrt(n)),this._hullPrev=new Uint32Array(n),this._hullNext=new Uint32Array(n),this._hullTri=new Uint32Array(n),this._hullHash=new Int32Array(this._hashSize),this._ids=new Uint32Array(n),this._dists=new Float64Array(n),this.update()}update(){let{coords:t,_hullPrev:n,_hullNext:r,_hullTri:i,_hullHash:o}=this,s=t.length>>1,a=1/0,c=1/0,l=-1/0,u=-1/0;for(let T=0;T<s;T++){let D=t[2*T],E=t[2*T+1];D<a&&(a=D),E<c&&(c=E),D>l&&(l=D),E>u&&(u=E),this._ids[T]=T}let f=(a+l)/2,d=(c+u)/2,h,p,m;for(let T=0,D=1/0;T<s;T++){let E=TI(f,d,t[2*T],t[2*T+1]);E<D&&(h=T,D=E)}let g=t[2*h],y=t[2*h+1];for(let T=0,D=1/0;T<s;T++){if(T===h)continue;let E=TI(g,y,t[2*T],t[2*T+1]);E<D&&E>0&&(p=T,D=E)}let x=t[2*p],b=t[2*p+1],w=1/0;for(let T=0;T<s;T++){if(T===h||T===p)continue;let D=RG(g,y,x,b,t[2*T],t[2*T+1]);D<w&&(m=T,w=D)}let _=t[2*m],v=t[2*m+1];if(w===1/0){for(let E=0;E<s;E++)this._dists[E]=t[2*E]-t[0]||t[2*E+1]-t[1];Yu(this._ids,this._dists,0,s-1);let T=new Uint32Array(s),D=0;for(let E=0,O=-1/0;E<s;E++){let C=this._ids[E],S=this._dists[C];S>O&&(T[D++]=C,O=S)}this.hull=T.subarray(0,D),this.triangles=new Uint32Array(0),this.halfedges=new Uint32Array(0);return}if(Vu(g,y,x,b,_,v)<0){let T=p,D=x,E=b;p=m,x=_,b=v,m=T,_=D,v=E}let I=$G(g,y,x,b,_,v);this._cx=I.x,this._cy=I.y;for(let T=0;T<s;T++)this._dists[T]=TI(t[2*T],t[2*T+1],I.x,I.y);Yu(this._ids,this._dists,0,s-1),this._hullStart=h;let A=3;r[h]=n[m]=p,r[p]=n[h]=m,r[m]=n[p]=h,i[h]=0,i[p]=1,i[m]=2,o.fill(-1),o[this._hashKey(g,y)]=h,o[this._hashKey(x,b)]=p,o[this._hashKey(_,v)]=m,this.trianglesLen=0,this._addTriangle(h,p,m,-1,-1,-1);for(let T=0,D,E;T<this._ids.length;T++){let O=this._ids[T],C=t[2*O],S=t[2*O+1];if(T>0&&Math.abs(C-D)<=EC&&Math.abs(S-E)<=EC||(D=C,E=S,O===h||O===p||O===m))continue;let M=0;for(let $=0,P=this._hashKey(C,S);$<this._hashSize&&(M=o[(P+$)%this._hashSize],!(M!==-1&&M!==r[M]));$++);M=n[M];let N=M,F;for(;F=r[N],Vu(C,S,t[2*N],t[2*N+1],t[2*F],t[2*F+1])>=0;)if(N=F,N===M){N=-1;break}if(N===-1)continue;let R=this._addTriangle(N,O,r[N],-1,-1,i[N]);i[O]=this._legalize(R+2),i[N]=R,A++;let k=r[N];for(;F=r[k],Vu(C,S,t[2*k],t[2*k+1],t[2*F],t[2*F+1])<0;)R=this._addTriangle(k,O,F,i[O],-1,i[k]),i[O]=this._legalize(R+2),r[k]=k,A--,k=F;if(N===M)for(;F=n[N],Vu(C,S,t[2*F],t[2*F+1],t[2*N],t[2*N+1])<0;)R=this._addTriangle(F,O,N,-1,i[N],i[F]),this._legalize(R+2),i[F]=R,r[N]=N,A--,N=F;this._hullStart=n[O]=N,r[N]=n[k]=O,r[O]=k,o[this._hashKey(C,S)]=O,o[this._hashKey(t[2*N],t[2*N+1])]=N}this.hull=new Uint32Array(A);for(let T=0,D=this._hullStart;T<A;T++)this.hull[T]=D,D=r[D];this.triangles=this._triangles.subarray(0,this.trianglesLen),this.halfedges=this._halfedges.subarray(0,this.trianglesLen)}_hashKey(t,n){return Math.floor(kG(t-this._cx,n-this._cy)*this._hashSize)%this._hashSize}_legalize(t){let{_triangles:n,_halfedges:r,coords:i}=this,o=0,s=0;for(;;){let a=r[t],c=t-t%3;if(s=c+(t+2)%3,a===-1){if(o===0)break;t=Fx[--o];continue}let l=a-a%3,u=c+(t+1)%3,f=l+(a+2)%3,d=n[s],h=n[t],p=n[u],m=n[f];if(FG(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])){n[t]=m,n[a]=d;let y=r[f];if(y===-1){let b=this._hullStart;do{if(this._hullTri[b]===f){this._hullTri[b]=t;break}b=this._hullPrev[b]}while(b!==this._hullStart)}this._link(t,y),this._link(a,r[s]),this._link(s,f);let x=l+(a+1)%3;o<Fx.length&&(Fx[o++]=x)}else{if(o===0)break;t=Fx[--o]}}return s}_link(t,n){this._halfedges[t]=n,n!==-1&&(this._halfedges[n]=t)}_addTriangle(t,n,r,i,o,s){let a=this.trianglesLen;return this._triangles[a]=t,this._triangles[a+1]=n,this._triangles[a+2]=r,this._link(a,i),this._link(a+1,o),this._link(a+2,s),this.trianglesLen+=3,a}};function kG(e,t){let n=e/(Math.abs(e)+Math.abs(t));return(t>0?3-n:1+n)/4}function TI(e,t,n,r){let i=e-n,o=t-r;return i*i+o*o}function FG(e,t,n,r,i,o,s,a){let c=e-s,l=t-a,u=n-s,f=r-a,d=i-s,h=o-a,p=c*c+l*l,m=u*u+f*f,g=d*d+h*h;return c*(f*g-m*h)-l*(u*g-m*d)+p*(u*h-f*d)<0}function RG(e,t,n,r,i,o){let s=n-e,a=r-t,c=i-e,l=o-t,u=s*s+a*a,f=c*c+l*l,d=.5/(s*l-a*c),h=(l*u-a*f)*d,p=(s*f-c*u)*d;return h*h+p*p}function $G(e,t,n,r,i,o){let s=n-e,a=r-t,c=i-e,l=o-t,u=s*s+a*a,f=c*c+l*l,d=.5/(s*l-a*c),h=e+(l*u-a*f)*d,p=t+(s*f-c*u)*d;return{x:h,y:p}}function Yu(e,t,n,r){if(r-n<=20)for(let i=n+1;i<=r;i++){let o=e[i],s=t[o],a=i-1;for(;a>=n&&t[e[a]]>s;)e[a+1]=e[a--];e[a+1]=o}else{let i=n+r>>1,o=n+1,s=r;Ap(e,i,o),t[e[n]]>t[e[r]]&&Ap(e,n,r),t[e[o]]>t[e[r]]&&Ap(e,o,r),t[e[n]]>t[e[o]]&&Ap(e,n,o);let a=e[o],c=t[a];for(;;){do o++;while(t[e[o]]<c);do s--;while(t[e[s]]>c);if(s<o)break;Ap(e,o,s)}e[n+1]=e[s],e[s]=a,r-o+1>=s-n?(Yu(e,t,o,r),Yu(e,t,n,s-1)):(Yu(e,t,n,s-1),Yu(e,t,o,r))}}function Ap(e,t,n){let r=e[t];e[t]=e[n],e[n]=r}function PG(e){return e[0]}function UG(e){return e[1]}var ai=class{constructor(){this._x0=this._y0=this._x1=this._y1=null,this._=""}moveTo(t,n){this._+=`M${this._x0=this._x1=+t},${this._y0=this._y1=+n}`}closePath(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")}lineTo(t,n){this._+=`L${this._x1=+t},${this._y1=+n}`}arc(t,n,r){t=+t,n=+n,r=+r;let i=t+r,o=n;if(r<0)throw new Error("negative radius");this._x1===null?this._+=`M${i},${o}`:(Math.abs(this._x1-i)>1e-6||Math.abs(this._y1-o)>1e-6)&&(this._+="L"+i+","+o),r&&(this._+=`A${r},${r},0,1,1,${t-r},${n}A${r},${r},0,1,1,${this._x1=i},${this._y1=o}`)}rect(t,n,r,i){this._+=`M${this._x0=this._x1=+t},${this._y0=this._y1=+n}h${+r}v${+i}h${-r}Z`}value(){return this._||null}};var Ra=class{constructor(){this._=[]}moveTo(t,n){this._.push([t,n])}closePath(){this._.push(this._[0].slice())}lineTo(t,n){this._.push([t,n])}value(){return this._.length?this._:null}};var Tp=class{constructor(t,[n,r,i,o]=[0,0,960,500]){if(!((i=+i)>=(n=+n))||!((o=+o)>=(r=+r)))throw new Error("invalid bounds");this.delaunay=t,this._circumcenters=new Float64Array(t.points.length*2),this.vectors=new Float64Array(t.points.length*2),this.xmax=i,this.xmin=n,this.ymax=o,this.ymin=r,this._init()}update(){return this.delaunay.update(),this._init(),this}_init(){let{delaunay:{points:t,hull:n,triangles:r},vectors:i}=this,o,s,a=this.circumcenters=this._circumcenters.subarray(0,r.length/3*2);for(let m=0,g=0,y=r.length,x,b;m<y;m+=3,g+=2){let w=r[m]*2,_=r[m+1]*2,v=r[m+2]*2,I=t[w],A=t[w+1],T=t[_],D=t[_+1],E=t[v],O=t[v+1],C=T-I,S=D-A,M=E-I,N=O-A,F=(C*N-S*M)*2;if(Math.abs(F)<1e-9){if(o===void 0){o=s=0;for(let k of n)o+=t[k*2],s+=t[k*2+1];o/=n.length,s/=n.length}let R=1e9*Math.sign((o-I)*N-(s-A)*M);x=(I+E)/2-R*N,b=(A+O)/2+R*M}else{let R=1/F,k=C*C+S*S,$=M*M+N*N;x=I+(N*k-S*$)*R,b=A+(C*$-M*k)*R}a[g]=x,a[g+1]=b}let c=n[n.length-1],l,u=c*4,f,d=t[2*c],h,p=t[2*c+1];i.fill(0);for(let m=0;m<n.length;++m)c=n[m],l=u,f=d,h=p,u=c*4,d=t[2*c],p=t[2*c+1],i[l+2]=i[u]=h-p,i[l+3]=i[u+1]=d-f}render(t){let n=t==null?t=new ai:void 0,{delaunay:{halfedges:r,inedges:i,hull:o},circumcenters:s,vectors:a}=this;if(o.length<=1)return null;for(let u=0,f=r.length;u<f;++u){let d=r[u];if(d<u)continue;let h=Math.floor(u/3)*2,p=Math.floor(d/3)*2,m=s[h],g=s[h+1],y=s[p],x=s[p+1];this._renderSegment(m,g,y,x,t)}let c,l=o[o.length-1];for(let u=0;u<o.length;++u){c=l,l=o[u];let f=Math.floor(i[l]/3)*2,d=s[f],h=s[f+1],p=c*4,m=this._project(d,h,a[p+2],a[p+3]);m&&this._renderSegment(d,h,m[0],m[1],t)}return n&&n.value()}renderBounds(t){let n=t==null?t=new ai:void 0;return t.rect(this.xmin,this.ymin,this.xmax-this.xmin,this.ymax-this.ymin),n&&n.value()}renderCell(t,n){let r=n==null?n=new ai:void 0,i=this._clip(t);if(i===null||!i.length)return;n.moveTo(i[0],i[1]);let o=i.length;for(;i[0]===i[o-2]&&i[1]===i[o-1]&&o>1;)o-=2;for(let s=2;s<o;s+=2)(i[s]!==i[s-2]||i[s+1]!==i[s-1])&&n.lineTo(i[s],i[s+1]);return n.closePath(),r&&r.value()}*cellPolygons(){let{delaunay:{points:t}}=this;for(let n=0,r=t.length/2;n<r;++n){let i=this.cellPolygon(n);i&&(i.index=n,yield i)}}cellPolygon(t){let n=new Ra;return this.renderCell(t,n),n.value()}_renderSegment(t,n,r,i,o){let s,a=this._regioncode(t,n),c=this._regioncode(r,i);a===0&&c===0?(o.moveTo(t,n),o.lineTo(r,i)):(s=this._clipSegment(t,n,r,i,a,c))&&(o.moveTo(s[0],s[1]),o.lineTo(s[2],s[3]))}contains(t,n,r){return n=+n,n!==n||(r=+r,r!==r)?!1:this.delaunay._step(t,n,r)===t}*neighbors(t){let n=this._clip(t);if(n)for(let r of this.delaunay.neighbors(t)){let i=this._clip(r);if(i){t:for(let o=0,s=n.length;o<s;o+=2)for(let a=0,c=i.length;a<c;a+=2)if(n[o]===i[a]&&n[o+1]===i[a+1]&&n[(o+2)%s]===i[(a+c-2)%c]&&n[(o+3)%s]===i[(a+c-1)%c]){yield r;break t}}}}_cell(t){let{circumcenters:n,delaunay:{inedges:r,halfedges:i,triangles:o}}=this,s=r[t];if(s===-1)return null;let a=[],c=s;do{let l=Math.floor(c/3);if(a.push(n[l*2],n[l*2+1]),c=c%3===2?c-2:c+1,o[c]!==t)break;c=i[c]}while(c!==s&&c!==-1);return a}_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];let n=this._cell(t);if(n===null)return null;let{vectors:r}=this,i=t*4;return this._simplify(r[i]||r[i+1]?this._clipInfinite(t,n,r[i],r[i+1],r[i+2],r[i+3]):this._clipFinite(t,n))}_clipFinite(t,n){let r=n.length,i=null,o,s,a=n[r-2],c=n[r-1],l,u=this._regioncode(a,c),f,d=0;for(let h=0;h<r;h+=2)if(o=a,s=c,a=n[h],c=n[h+1],l=u,u=this._regioncode(a,c),l===0&&u===0)f=d,d=0,i?i.push(a,c):i=[a,c];else{let p,m,g,y,x;if(l===0){if((p=this._clipSegment(o,s,a,c,l,u))===null)continue;[m,g,y,x]=p}else{if((p=this._clipSegment(a,c,o,s,u,l))===null)continue;[y,x,m,g]=p,f=d,d=this._edgecode(m,g),f&&d&&this._edge(t,f,d,i,i.length),i?i.push(m,g):i=[m,g]}f=d,d=this._edgecode(y,x),f&&d&&this._edge(t,f,d,i,i.length),i?i.push(y,x):i=[y,x]}if(i)f=d,d=this._edgecode(i[0],i[1]),f&&d&&this._edge(t,f,d,i,i.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 i}_clipSegment(t,n,r,i,o,s){let a=o<s;for(a&&([t,n,r,i,o,s]=[r,i,t,n,s,o]);;){if(o===0&&s===0)return a?[r,i,t,n]:[t,n,r,i];if(o&s)return null;let c,l,u=o||s;u&8?(c=t+(r-t)*(this.ymax-n)/(i-n),l=this.ymax):u&4?(c=t+(r-t)*(this.ymin-n)/(i-n),l=this.ymin):u&2?(l=n+(i-n)*(this.xmax-t)/(r-t),c=this.xmax):(l=n+(i-n)*(this.xmin-t)/(r-t),c=this.xmin),o?(t=c,n=l,o=this._regioncode(t,n)):(r=c,i=l,s=this._regioncode(r,i))}}_clipInfinite(t,n,r,i,o,s){let a=Array.from(n),c;if((c=this._project(a[0],a[1],r,i))&&a.unshift(c[0],c[1]),(c=this._project(a[a.length-2],a[a.length-1],o,s))&&a.push(c[0],c[1]),a=this._clipFinite(t,a))for(let l=0,u=a.length,f,d=this._edgecode(a[u-2],a[u-1]);l<u;l+=2)f=d,d=this._edgecode(a[l],a[l+1]),f&&d&&(l=this._edge(t,f,d,a,l),u=a.length);else this.contains(t,(this.xmin+this.xmax)/2,(this.ymin+this.ymax)/2)&&(a=[this.xmin,this.ymin,this.xmax,this.ymin,this.xmax,this.ymax,this.xmin,this.ymax]);return a}_edge(t,n,r,i,o){for(;n!==r;){let s,a;switch(n){case 5:n=4;continue;case 4:n=6,s=this.xmax,a=this.ymin;break;case 6:n=2;continue;case 2:n=10,s=this.xmax,a=this.ymax;break;case 10:n=8;continue;case 8:n=9,s=this.xmin,a=this.ymax;break;case 9:n=1;continue;case 1:n=5,s=this.xmin,a=this.ymin;break}(i[o]!==s||i[o+1]!==a)&&this.contains(t,s,a)&&(i.splice(o,0,s,a),o+=2)}return o}_project(t,n,r,i){let o=1/0,s,a,c;if(i<0){if(n<=this.ymin)return null;(s=(this.ymin-n)/i)<o&&(c=this.ymin,a=t+(o=s)*r)}else if(i>0){if(n>=this.ymax)return null;(s=(this.ymax-n)/i)<o&&(c=this.ymax,a=t+(o=s)*r)}if(r>0){if(t>=this.xmax)return null;(s=(this.xmax-t)/r)<o&&(a=this.xmax,c=n+(o=s)*i)}else if(r<0){if(t<=this.xmin)return null;(s=(this.xmin-t)/r)<o&&(a=this.xmin,c=n+(o=s)*i)}return[a,c]}_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){let r=(n+2)%t.length,i=(n+4)%t.length;(t[n]===t[r]&&t[r]===t[i]||t[n+1]===t[r+1]&&t[r+1]===t[i+1])&&(t.splice(r,2),n-=2)}t.length||(t=null)}return t}};var zG=2*Math.PI,Gu=Math.pow;function qG(e){return e[0]}function jG(e){return e[1]}function VG(e){let{triangles:t,coords:n}=e;for(let r=0;r<t.length;r+=3){let i=2*t[r],o=2*t[r+1],s=2*t[r+2];if((n[s]-n[i])*(n[o+1]-n[i+1])-(n[o]-n[i])*(n[s+1]-n[i+1])>1e-10)return!1}return!0}function YG(e,t,n){return[e+Math.sin(e+t)*n,t+Math.cos(e-t)*n]}var Pn=class e{static from(t,n=qG,r=jG,i){return new e("length"in t?XG(t,n,r,i):Float64Array.from(GG(t,n,r,i)))}constructor(t){this._delaunator=new Xu(t),this.inedges=new Int32Array(t.length/2),this._hullIndex=new Int32Array(t.length/2),this.points=this._delaunator.coords,this._init()}update(){return this._delaunator.update(),this._init(),this}_init(){let t=this._delaunator,n=this.points;if(t.hull&&t.hull.length>2&&VG(t)){this.collinear=Int32Array.from({length:n.length/2},(d,h)=>h).sort((d,h)=>n[2*d]-n[2*h]||n[2*d+1]-n[2*h+1]);let c=this.collinear[0],l=this.collinear[this.collinear.length-1],u=[n[2*c],n[2*c+1],n[2*l],n[2*l+1]],f=1e-8*Math.hypot(u[3]-u[1],u[2]-u[0]);for(let d=0,h=n.length/2;d<h;++d){let p=YG(n[2*d],n[2*d+1],f);n[2*d]=p[0],n[2*d+1]=p[1]}this._delaunator=new Xu(n)}else delete this.collinear;let r=this.halfedges=this._delaunator.halfedges,i=this.hull=this._delaunator.hull,o=this.triangles=this._delaunator.triangles,s=this.inedges.fill(-1),a=this._hullIndex.fill(-1);for(let c=0,l=r.length;c<l;++c){let u=o[c%3===2?c-2:c+1];(r[c]===-1||s[u]===-1)&&(s[u]=c)}for(let c=0,l=i.length;c<l;++c)a[i[c]]=c;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],s[i[0]]=1,i.length===2&&(s[i[1]]=0,this.triangles[1]=i[1],this.triangles[2]=i[1]))}voronoi(t){return new Tp(this,t)}*neighbors(t){let{inedges:n,hull:r,_hullIndex:i,halfedges:o,triangles:s,collinear:a}=this;if(a){let f=a.indexOf(t);f>0&&(yield a[f-1]),f<a.length-1&&(yield a[f+1]);return}let c=n[t];if(c===-1)return;let l=c,u=-1;do{if(yield u=s[l],l=l%3===2?l-2:l+1,s[l]!==t)return;if(l=o[l],l===-1){let f=r[(i[t]+1)%r.length];f!==u&&(yield f);return}}while(l!==c)}find(t,n,r=0){if(t=+t,t!==t||(n=+n,n!==n))return-1;let i=r,o;for(;(o=this._step(r,t,n))>=0&&o!==r&&o!==i;)r=o;return o}_step(t,n,r){let{inedges:i,hull:o,_hullIndex:s,halfedges:a,triangles:c,points:l}=this;if(i[t]===-1||!l.length)return(t+1)%(l.length>>1);let u=t,f=Gu(n-l[t*2],2)+Gu(r-l[t*2+1],2),d=i[t],h=d;do{let p=c[h],m=Gu(n-l[p*2],2)+Gu(r-l[p*2+1],2);if(m<f&&(f=m,u=p),h=h%3===2?h-2:h+1,c[h]!==t)break;if(h=a[h],h===-1){if(h=o[(s[t]+1)%o.length],h!==p&&Gu(n-l[h*2],2)+Gu(r-l[h*2+1],2)<f)return h;break}}while(h!==d);return u}render(t){let n=t==null?t=new ai:void 0,{points:r,halfedges:i,triangles:o}=this;for(let s=0,a=i.length;s<a;++s){let c=i[s];if(c<s)continue;let l=o[s]*2,u=o[c]*2;t.moveTo(r[l],r[l+1]),t.lineTo(r[u],r[u+1])}return this.renderHull(t),n&&n.value()}renderPoints(t,n){n===void 0&&(!t||typeof t.moveTo!="function")&&(n=t,t=null),n=n==null?2:+n;let r=t==null?t=new ai:void 0,{points:i}=this;for(let o=0,s=i.length;o<s;o+=2){let a=i[o],c=i[o+1];t.moveTo(a+n,c),t.arc(a,c,n,0,zG)}return r&&r.value()}renderHull(t){let n=t==null?t=new ai:void 0,{hull:r,points:i}=this,o=r[0]*2,s=r.length;t.moveTo(i[o],i[o+1]);for(let a=1;a<s;++a){let c=2*r[a];t.lineTo(i[c],i[c+1])}return t.closePath(),n&&n.value()}hullPolygon(){let t=new Ra;return this.renderHull(t),t.value()}renderTriangle(t,n){let r=n==null?n=new ai:void 0,{points:i,triangles:o}=this,s=o[t*=3]*2,a=o[t+1]*2,c=o[t+2]*2;return n.moveTo(i[s],i[s+1]),n.lineTo(i[a],i[a+1]),n.lineTo(i[c],i[c+1]),n.closePath(),r&&r.value()}*trianglePolygons(){let{triangles:t}=this;for(let n=0,r=t.length/3;n<r;++n)yield this.trianglePolygon(n)}trianglePolygon(t){let n=new Ra;return this.renderTriangle(t,n),n.value()}};function XG(e,t,n,r){let i=e.length,o=new Float64Array(i*2);for(let s=0;s<i;++s){let a=e[s];o[s*2]=t.call(r,a,s,e),o[s*2+1]=n.call(r,a,s,e)}return o}function*GG(e,t,n,r){let i=0;for(let o of e)yield t.call(r,o,i,e),yield n.call(r,o,i,e),++i}function NC(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString("en").replace(/,/g,""):e.toString(10)}function rl(e,t){if((n=(e=t?e.toExponential(t-1):e.toExponential()).indexOf("e"))<0)return null;var n,r=e.slice(0,n);return[r.length>1?r[0]+r.slice(2):r,+e.slice(n+1)]}function xo(e){return e=rl(Math.abs(e)),e?e[1]:NaN}function DC(e,t){return function(n,r){for(var i=n.length,o=[],s=0,a=e[0],c=0;i>0&&a>0&&(c+a+1>r&&(a=Math.max(1,r-c)),o.push(n.substring(i-=a,i+a)),!((c+=a+1)>r));)a=e[s=(s+1)%e.length];return o.reverse().join(t)}}function OC(e){return function(t){return t.replace(/[0-9]/g,function(n){return e[+n]})}}var WG=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function bo(e){if(!(t=WG.exec(e)))throw new Error("invalid format: "+e);var t;return new Rx({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}bo.prototype=Rx.prototype;function Rx(e){this.fill=e.fill===void 0?" ":e.fill+"",this.align=e.align===void 0?">":e.align+"",this.sign=e.sign===void 0?"-":e.sign+"",this.symbol=e.symbol===void 0?"":e.symbol+"",this.zero=!!e.zero,this.width=e.width===void 0?void 0:+e.width,this.comma=!!e.comma,this.precision=e.precision===void 0?void 0:+e.precision,this.trim=!!e.trim,this.type=e.type===void 0?"":e.type+""}Rx.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function BC(e){t:for(var t=e.length,n=1,r=-1,i;n<t;++n)switch(e[n]){case".":r=i=n;break;case"0":r===0&&(r=n),i=n;break;default:if(!+e[n])break t;r>0&&(r=0);break}return r>0?e.slice(0,r)+e.slice(i+1):e}var EI;function LC(e,t){var n=rl(e,t);if(!n)return e+"";var r=n[0],i=n[1],o=i-(EI=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,s=r.length;return o===s?r:o>s?r+new Array(o-s+1).join("0"):o>0?r.slice(0,o)+"."+r.slice(o):"0."+new Array(1-o).join("0")+rl(e,Math.max(0,t+o-1))[0]}function NI(e,t){var n=rl(e,t);if(!n)return e+"";var r=n[0],i=n[1];return i<0?"0."+new Array(-i).join("0")+r:r.length>i+1?r.slice(0,i+1)+"."+r.slice(i+1):r+new Array(i-r.length+2).join("0")}var DI={"%":(e,t)=>(e*100).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+"",d:NC,e:(e,t)=>e.toExponential(t),f:(e,t)=>e.toFixed(t),g:(e,t)=>e.toPrecision(t),o:e=>Math.round(e).toString(8),p:(e,t)=>NI(e*100,t),r:NI,s:LC,X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function OI(e){return e}var CC=Array.prototype.map,kC=["y","z","a","f","p","n","\xB5","m","","k","M","G","T","P","E","Z","Y"];function FC(e){var t=e.grouping===void 0||e.thousands===void 0?OI:DC(CC.call(e.grouping,Number),e.thousands+""),n=e.currency===void 0?"":e.currency[0]+"",r=e.currency===void 0?"":e.currency[1]+"",i=e.decimal===void 0?".":e.decimal+"",o=e.numerals===void 0?OI:OC(CC.call(e.numerals,String)),s=e.percent===void 0?"%":e.percent+"",a=e.minus===void 0?"\u2212":e.minus+"",c=e.nan===void 0?"NaN":e.nan+"";function l(f){f=bo(f);var d=f.fill,h=f.align,p=f.sign,m=f.symbol,g=f.zero,y=f.width,x=f.comma,b=f.precision,w=f.trim,_=f.type;_==="n"?(x=!0,_="g"):DI[_]||(b===void 0&&(b=12),w=!0,_="g"),(g||d==="0"&&h==="=")&&(g=!0,d="0",h="=");var v=m==="$"?n:m==="#"&&/[boxX]/.test(_)?"0"+_.toLowerCase():"",I=m==="$"?r:/[%p]/.test(_)?s:"",A=DI[_],T=/[defgprs%]/.test(_);b=b===void 0?6:/[gprs]/.test(_)?Math.max(1,Math.min(21,b)):Math.max(0,Math.min(20,b));function D(E){var O=v,C=I,S,M,N;if(_==="c")C=A(E)+C,E="";else{E=+E;var F=E<0||1/E<0;if(E=isNaN(E)?c:A(Math.abs(E),b),w&&(E=BC(E)),F&&+E==0&&p!=="+"&&(F=!1),O=(F?p==="("?p:a:p==="-"||p==="("?"":p)+O,C=(_==="s"?kC[8+EI/3]:"")+C+(F&&p==="("?")":""),T){for(S=-1,M=E.length;++S<M;)if(N=E.charCodeAt(S),48>N||N>57){C=(N===46?i+E.slice(S+1):E.slice(S))+C,E=E.slice(0,S);break}}}x&&!g&&(E=t(E,1/0));var R=O.length+E.length+C.length,k=R<y?new Array(y-R+1).join(d):"";switch(x&&g&&(E=t(k+E,k.length?y-C.length:1/0),k=""),h){case"<":E=O+E+C+k;break;case"=":E=O+k+E+C;break;case"^":E=k.slice(0,R=k.length>>1)+O+E+C+k.slice(R);break;default:E=k+O+E+C;break}return o(E)}return D.toString=function(){return f+""},D}function u(f,d){var h=l((f=bo(f),f.type="f",f)),p=Math.max(-8,Math.min(8,Math.floor(xo(d)/3)))*3,m=Math.pow(10,-p),g=kC[8+p/3];return function(y){return h(m*y)+g}}return{format:l,formatPrefix:u}}var $x,ci,Px;BI({thousands:",",grouping:[3],currency:["$",""]});function BI(e){return $x=FC(e),ci=$x.format,Px=$x.formatPrefix,$x}function LI(e){return Math.max(0,-xo(Math.abs(e)))}function CI(e,t){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(xo(t)/3)))*3-xo(Math.abs(e)))}function kI(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,xo(t)-xo(e))+1}var tt=1e-6,il=1e-12,Ot=Math.PI,me=Ot/2,FI=Ot/4,ln=Ot*2,Re=180/Ot,Yt=Ot/180,Rt=Math.abs,li=Math.atan,He=Math.atan2,Q=Math.cos,Ep=Math.ceil,Ux=Math.exp;var zx=Math.hypot,ol=Math.log,qx=Math.pow,J=Math.sin,Un=Math.sign||function(e){return e>0?1:e<0?-1:0},ye=Math.sqrt,Wu=Math.tan;function jx(e){return e>1?0:e<-1?Ot:Math.acos(e)}function Se(e){return e>1?me:e<-1?-me:Math.asin(e)}function Ze(){}function Vx(e,t){e&&$C.hasOwnProperty(e.type)&&$C[e.type](e,t)}var RC={Feature:function(e,t){Vx(e.geometry,t)},FeatureCollection:function(e,t){for(var n=e.features,r=-1,i=n.length;++r<i;)Vx(n[r].geometry,t)}},$C={Sphere:function(e,t){t.sphere()},Point:function(e,t){e=e.coordinates,t.point(e[0],e[1],e[2])},MultiPoint:function(e,t){for(var n=e.coordinates,r=-1,i=n.length;++r<i;)e=n[r],t.point(e[0],e[1],e[2])},LineString:function(e,t){RI(e.coordinates,t,0)},MultiLineString:function(e,t){for(var n=e.coordinates,r=-1,i=n.length;++r<i;)RI(n[r],t,0)},Polygon:function(e,t){PC(e.coordinates,t)},MultiPolygon:function(e,t){for(var n=e.coordinates,r=-1,i=n.length;++r<i;)PC(n[r],t)},GeometryCollection:function(e,t){for(var n=e.geometries,r=-1,i=n.length;++r<i;)Vx(n[r],t)}};function RI(e,t,n){var r=-1,i=e.length-n,o;for(t.lineStart();++r<i;)o=e[r],t.point(o[0],o[1],o[2]);t.lineEnd()}function PC(e,t){var n=-1,r=e.length;for(t.polygonStart();++n<r;)RI(e[n],t,1);t.polygonEnd()}function Pr(e,t){e&&RC.hasOwnProperty(e.type)?RC[e.type](e,t):Vx(e,t)}function Np(e){return[He(e[1],e[0]),Se(e[2])]}function wo(e){var t=e[0],n=e[1],r=Q(n);return[r*Q(t),r*J(t),J(n)]}function Dp(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function Hu(e,t){return[e[1]*t[2]-e[2]*t[1],e[2]*t[0]-e[0]*t[2],e[0]*t[1]-e[1]*t[0]]}function Yx(e,t){e[0]+=t[0],e[1]+=t[1],e[2]+=t[2]}function Op(e,t){return[e[0]*t,e[1]*t,e[2]*t]}function Bp(e){var t=ye(e[0]*e[0]+e[1]*e[1]+e[2]*e[2]);e[0]/=t,e[1]/=t,e[2]/=t}var Lp,Xx,Gx,Wx,Hx,Zx,Jx,Qx,$I,PI,UI,qC,jC,rr,ir,or,zi={sphere:Ze,point:zI,lineStart:UC,lineEnd:zC,polygonStart:function(){zi.lineStart=JG,zi.lineEnd=QG},polygonEnd:function(){zi.lineStart=UC,zi.lineEnd=zC}};function zI(e,t){e*=Yt,t*=Yt;var n=Q(t);Cp(n*Q(e),n*J(e),J(t))}function Cp(e,t,n){++Lp,Gx+=(e-Gx)/Lp,Wx+=(t-Wx)/Lp,Hx+=(n-Hx)/Lp}function UC(){zi.point=HG}function HG(e,t){e*=Yt,t*=Yt;var n=Q(t);rr=n*Q(e),ir=n*J(e),or=J(t),zi.point=ZG,Cp(rr,ir,or)}function ZG(e,t){e*=Yt,t*=Yt;var n=Q(t),r=n*Q(e),i=n*J(e),o=J(t),s=He(ye((s=ir*o-or*i)*s+(s=or*r-rr*o)*s+(s=rr*i-ir*r)*s),rr*r+ir*i+or*o);Xx+=s,Zx+=s*(rr+(rr=r)),Jx+=s*(ir+(ir=i)),Qx+=s*(or+(or=o)),Cp(rr,ir,or)}function zC(){zi.point=zI}function JG(){zi.point=KG}function QG(){VC(qC,jC),zi.point=zI}function KG(e,t){qC=e,jC=t,e*=Yt,t*=Yt,zi.point=VC;var n=Q(t);rr=n*Q(e),ir=n*J(e),or=J(t),Cp(rr,ir,or)}function VC(e,t){e*=Yt,t*=Yt;var n=Q(t),r=n*Q(e),i=n*J(e),o=J(t),s=ir*o-or*i,a=or*r-rr*o,c=rr*i-ir*r,l=zx(s,a,c),u=Se(l),f=l&&-u/l;$I.add(f*s),PI.add(f*a),UI.add(f*c),Xx+=u,Zx+=u*(rr+(rr=r)),Jx+=u*(ir+(ir=i)),Qx+=u*(or+(or=o)),Cp(rr,ir,or)}function qI(e){Lp=Xx=Gx=Wx=Hx=Zx=Jx=Qx=0,$I=new In,PI=new In,UI=new In,Pr(e,zi);var t=+$I,n=+PI,r=+UI,i=zx(t,n,r);return i<il&&(t=Zx,n=Jx,r=Qx,Xx<tt&&(t=Gx,n=Wx,r=Hx),i=zx(t,n,r),i<il)?[NaN,NaN]:[He(n,t)*Re,Se(r/i)*Re]}function kp(e,t){function n(r,i){return r=e(r,i),t(r[0],r[1])}return e.invert&&t.invert&&(n.invert=function(r,i){return r=t.invert(r,i),r&&e.invert(r[0],r[1])}),n}function jI(e,t){return Rt(e)>Ot&&(e-=Math.round(e/ln)*ln),[e,t]}jI.invert=jI;function VI(e,t,n){return(e%=ln)?t||n?kp(XC(e),GC(t,n)):XC(e):t||n?GC(t,n):jI}function YC(e){return function(t,n){return t+=e,Rt(t)>Ot&&(t-=Math.round(t/ln)*ln),[t,n]}}function XC(e){var t=YC(e);return t.invert=YC(-e),t}function GC(e,t){var n=Q(e),r=J(e),i=Q(t),o=J(t);function s(a,c){var l=Q(c),u=Q(a)*l,f=J(a)*l,d=J(c),h=d*n+u*r;return[He(f*i-h*o,u*n-d*r),Se(h*i+f*o)]}return s.invert=function(a,c){var l=Q(c),u=Q(a)*l,f=J(a)*l,d=J(c),h=d*i-f*o;return[He(f*i+d*o,u*n+h*r),Se(h*n-u*r)]},s}function WC(e){e=VI(e[0]*Yt,e[1]*Yt,e.length>2?e[2]*Yt:0);function t(n){return n=e(n[0]*Yt,n[1]*Yt),n[0]*=Re,n[1]*=Re,n}return t.invert=function(n){return n=e.invert(n[0]*Yt,n[1]*Yt),n[0]*=Re,n[1]*=Re,n},t}function ZC(e,t,n,r,i,o){if(n){var s=Q(t),a=J(t),c=r*n;i==null?(i=t+r*ln,o=t-c/2):(i=HC(s,i),o=HC(s,o),(r>0?i<o:i>o)&&(i+=r*ln));for(var l,u=i;r>0?u>o:u<o;u-=c)l=Np([s,-a*Q(u),-a*J(u)]),e.point(l[0],l[1])}}function HC(e,t){t=wo(t),t[0]-=e,Bp(t);var n=jx(-t[1]);return((-t[2]<0?-n:n)+ln-tt)%ln}function Kx(){var e=[],t;return{point:function(n,r,i){t.push([n,r,i])},lineStart:function(){e.push(t=[])},lineEnd:Ze,rejoin:function(){e.length>1&&e.push(e.pop().concat(e.shift()))},result:function(){var n=e;return e=[],t=null,n}}}function Zu(e,t){return Rt(e[0]-t[0])<tt&&Rt(e[1]-t[1])<tt}function tb(e,t,n,r){this.x=e,this.z=t,this.o=n,this.e=r,this.v=!1,this.n=this.p=null}function eb(e,t,n,r,i){var o=[],s=[],a,c;if(e.forEach(function(p){if(!((m=p.length-1)<=0)){var m,g=p[0],y=p[m],x;if(Zu(g,y)){if(!g[2]&&!y[2]){for(i.lineStart(),a=0;a<m;++a)i.point((g=p[a])[0],g[1]);i.lineEnd();return}y[0]+=2*tt}o.push(x=new tb(g,p,null,!0)),s.push(x.o=new tb(g,null,x,!1)),o.push(x=new tb(y,p,null,!1)),s.push(x.o=new tb(y,null,x,!0))}}),!!o.length){for(s.sort(t),JC(o),JC(s),a=0,c=s.length;a<c;++a)s[a].e=n=!n;for(var l=o[0],u,f;;){for(var d=l,h=!0;d.v;)if((d=d.n)===l)return;u=d.z,i.lineStart();do{if(d.v=d.o.v=!0,d.e){if(h)for(a=0,c=u.length;a<c;++a)i.point((f=u[a])[0],f[1]);else r(d.x,d.n.x,1,i);d=d.n}else{if(h)for(u=d.p.z,a=u.length-1;a>=0;--a)i.point((f=u[a])[0],f[1]);else r(d.x,d.p.x,-1,i);d=d.p}d=d.o,u=d.z,h=!h}while(!d.v);i.lineEnd()}}}function JC(e){if(t=e.length){for(var t,n=0,r=e[0],i;++n<t;)r.n=i=e[n],i.p=r,r=i;r.n=i=e[0],i.p=r}}function YI(e){return Rt(e[0])<=Ot?e[0]:Un(e[0])*((Rt(e[0])+Ot)%ln-Ot)}function QC(e,t){var n=YI(t),r=t[1],i=J(r),o=[J(n),-Q(n),0],s=0,a=0,c=new In;i===1?r=me+tt:i===-1&&(r=-me-tt);for(var l=0,u=e.length;l<u;++l)if(d=(f=e[l]).length)for(var f,d,h=f[d-1],p=YI(h),m=h[1]/2+FI,g=J(m),y=Q(m),x=0;x<d;++x,p=w,g=v,y=I,h=b){var b=f[x],w=YI(b),_=b[1]/2+FI,v=J(_),I=Q(_),A=w-p,T=A>=0?1:-1,D=T*A,E=D>Ot,O=g*v;if(c.add(He(O*T*J(D),y*I+O*Q(D))),s+=E?A+T*ln:A,E^p>=n^w>=n){var C=Hu(wo(h),wo(b));Bp(C);var S=Hu(o,C);Bp(S);var M=(E^A>=0?-1:1)*Se(S[2]);(r>M||r===M&&(C[0]||C[1]))&&(a+=E^A>=0?1:-1)}}return(s<-tt||s<tt&&c<-il)^a&1}function nb(e,t,n,r){return function(i){var o=t(i),s=Kx(),a=t(s),c=!1,l,u,f,d={point:h,lineStart:m,lineEnd:g,polygonStart:function(){d.point=y,d.lineStart=x,d.lineEnd=b,u=[],l=[]},polygonEnd:function(){d.point=h,d.lineStart=m,d.lineEnd=g,u=Ou(u);var w=QC(l,r);u.length?(c||(i.polygonStart(),c=!0),eb(u,eW,w,n,i)):w&&(c||(i.polygonStart(),c=!0),i.lineStart(),n(null,null,1,i),i.lineEnd()),c&&(i.polygonEnd(),c=!1),u=l=null},sphere:function(){i.polygonStart(),i.lineStart(),n(null,null,1,i),i.lineEnd(),i.polygonEnd()}};function h(w,_){e(w,_)&&i.point(w,_)}function p(w,_){o.point(w,_)}function m(){d.point=p,o.lineStart()}function g(){d.point=h,o.lineEnd()}function y(w,_){f.push([w,_]),a.point(w,_)}function x(){a.lineStart(),f=[]}function b(){y(f[0][0],f[0][1]),a.lineEnd();var w=a.clean(),_=s.result(),v,I=_.length,A,T,D;if(f.pop(),l.push(f),f=null,!!I){if(w&1){if(T=_[0],(A=T.length-1)>0){for(c||(i.polygonStart(),c=!0),i.lineStart(),v=0;v<A;++v)i.point((D=T[v])[0],D[1]);i.lineEnd()}return}I>1&&w&2&&_.push(_.pop().concat(_.shift())),u.push(_.filter(tW))}}return d}}function tW(e){return e.length>1}function eW(e,t){return((e=e.x)[0]<0?e[1]-me-tt:me-e[1])-((t=t.x)[0]<0?t[1]-me-tt:me-t[1])}var XI=nb(function(){return!0},nW,iW,[-Ot,-me]);function nW(e){var t=NaN,n=NaN,r=NaN,i;return{lineStart:function(){e.lineStart(),i=1},point:function(o,s){var a=o>0?Ot:-Ot,c=Rt(o-t);Rt(c-Ot)<tt?(e.point(t,n=(n+s)/2>0?me:-me),e.point(r,n),e.lineEnd(),e.lineStart(),e.point(a,n),e.point(o,n),i=0):r!==a&&c>=Ot&&(Rt(t-r)<tt&&(t-=r*tt),Rt(o-a)<tt&&(o-=a*tt),n=rW(t,n,o,s),e.point(r,n),e.lineEnd(),e.lineStart(),e.point(a,n),i=0),e.point(t=o,n=s),r=a},lineEnd:function(){e.lineEnd(),t=n=NaN},clean:function(){return 2-i}}}function rW(e,t,n,r){var i,o,s=J(e-n);return Rt(s)>tt?li((J(t)*(o=Q(r))*J(n)-J(r)*(i=Q(t))*J(e))/(i*o*s)):(t+r)/2}function iW(e,t,n,r){var i;if(e==null)i=n*me,r.point(-Ot,i),r.point(0,i),r.point(Ot,i),r.point(Ot,0),r.point(Ot,-i),r.point(0,-i),r.point(-Ot,-i),r.point(-Ot,0),r.point(-Ot,i);else if(Rt(e[0]-t[0])>tt){var o=e[0]<t[0]?Ot:-Ot;i=n*o/2,r.point(-o,i),r.point(0,i),r.point(o,i)}else r.point(t[0],t[1])}function KC(e){var t=Q(e),n=6*Yt,r=t>0,i=Rt(t)>tt;function o(u,f,d,h){ZC(h,e,n,d,u,f)}function s(u,f){return Q(u)*Q(f)>t}function a(u){var f,d,h,p,m;return{lineStart:function(){p=h=!1,m=1},point:function(g,y){var x=[g,y],b,w=s(g,y),_=r?w?0:l(g,y):w?l(g+(g<0?Ot:-Ot),y):0;if(!f&&(p=h=w)&&u.lineStart(),w!==h&&(b=c(f,x),(!b||Zu(f,b)||Zu(x,b))&&(x[2]=1)),w!==h)m=0,w?(u.lineStart(),b=c(x,f),u.point(b[0],b[1])):(b=c(f,x),u.point(b[0],b[1],2),u.lineEnd()),f=b;else if(i&&f&&r^w){var v;!(_&d)&&(v=c(x,f,!0))&&(m=0,r?(u.lineStart(),u.point(v[0][0],v[0][1]),u.point(v[1][0],v[1][1]),u.lineEnd()):(u.point(v[1][0],v[1][1]),u.lineEnd(),u.lineStart(),u.point(v[0][0],v[0][1],3)))}w&&(!f||!Zu(f,x))&&u.point(x[0],x[1]),f=x,h=w,d=_},lineEnd:function(){h&&u.lineEnd(),f=null},clean:function(){return m|(p&&h)<<1}}}function c(u,f,d){var h=wo(u),p=wo(f),m=[1,0,0],g=Hu(h,p),y=Dp(g,g),x=g[0],b=y-x*x;if(!b)return!d&&u;var w=t*y/b,_=-t*x/b,v=Hu(m,g),I=Op(m,w),A=Op(g,_);Yx(I,A);var T=v,D=Dp(I,T),E=Dp(T,T),O=D*D-E*(Dp(I,I)-1);if(!(O<0)){var C=ye(O),S=Op(T,(-D-C)/E);if(Yx(S,I),S=Np(S),!d)return S;var M=u[0],N=f[0],F=u[1],R=f[1],k;N<M&&(k=M,M=N,N=k);var $=N-M,P=Rt($-Ot)<tt,U=P||$<tt;if(!P&&R<F&&(k=F,F=R,R=k),U?P?F+R>0^S[1]<(Rt(S[0]-M)<tt?F:R):F<=S[1]&&S[1]<=R:$>Ot^(M<=S[0]&&S[0]<=N)){var W=Op(T,(-D+C)/E);return Yx(W,I),[S,Np(W)]}}}function l(u,f){var d=r?e:Ot-e,h=0;return u<-d?h|=1:u>d&&(h|=2),f<-d?h|=4:f>d&&(h|=8),h}return nb(s,a,o,r?[0,-e]:[-Ot,e-Ot])}function tk(e,t,n,r,i,o){var s=e[0],a=e[1],c=t[0],l=t[1],u=0,f=1,d=c-s,h=l-a,p;if(p=n-s,!(!d&&p>0)){if(p/=d,d<0){if(p<u)return;p<f&&(f=p)}else if(d>0){if(p>f)return;p>u&&(u=p)}if(p=i-s,!(!d&&p<0)){if(p/=d,d<0){if(p>f)return;p>u&&(u=p)}else if(d>0){if(p<u)return;p<f&&(f=p)}if(p=r-a,!(!h&&p>0)){if(p/=h,h<0){if(p<u)return;p<f&&(f=p)}else if(h>0){if(p>f)return;p>u&&(u=p)}if(p=o-a,!(!h&&p<0)){if(p/=h,h<0){if(p>f)return;p>u&&(u=p)}else if(h>0){if(p<u)return;p<f&&(f=p)}return u>0&&(e[0]=s+u*d,e[1]=a+u*h),f<1&&(t[0]=s+f*d,t[1]=a+f*h),!0}}}}}var Fp=1e9,rb=-Fp;function Ju(e,t,n,r){function i(l,u){return e<=l&&l<=n&&t<=u&&u<=r}function o(l,u,f,d){var h=0,p=0;if(l==null||(h=s(l,f))!==(p=s(u,f))||c(l,u)<0^f>0)do d.point(h===0||h===3?e:n,h>1?r:t);while((h=(h+f+4)%4)!==p);else d.point(u[0],u[1])}function s(l,u){return Rt(l[0]-e)<tt?u>0?0:3:Rt(l[0]-n)<tt?u>0?2:1:Rt(l[1]-t)<tt?u>0?1:0:u>0?3:2}function a(l,u){return c(l.x,u.x)}function c(l,u){var f=s(l,1),d=s(u,1);return f!==d?f-d:f===0?u[1]-l[1]:f===1?l[0]-u[0]:f===2?l[1]-u[1]:u[0]-l[0]}return function(l){var u=l,f=Kx(),d,h,p,m,g,y,x,b,w,_,v,I={point:A,lineStart:O,lineEnd:C,polygonStart:D,polygonEnd:E};function A(M,N){i(M,N)&&u.point(M,N)}function T(){for(var M=0,N=0,F=h.length;N<F;++N)for(var R=h[N],k=1,$=R.length,P=R[0],U,W,et=P[0],rt=P[1];k<$;++k)U=et,W=rt,P=R[k],et=P[0],rt=P[1],W<=r?rt>r&&(et-U)*(r-W)>(rt-W)*(e-U)&&++M:rt<=r&&(et-U)*(r-W)<(rt-W)*(e-U)&&--M;return M}function D(){u=f,d=[],h=[],v=!0}function E(){var M=T(),N=v&&M,F=(d=Ou(d)).length;(N||F)&&(l.polygonStart(),N&&(l.lineStart(),o(null,null,1,l),l.lineEnd()),F&&eb(d,a,M,o,l),l.polygonEnd()),u=l,d=h=p=null}function O(){I.point=S,h&&h.push(p=[]),_=!0,w=!1,x=b=NaN}function C(){d&&(S(m,g),y&&w&&f.rejoin(),d.push(f.result())),I.point=A,w&&u.lineEnd()}function S(M,N){var F=i(M,N);if(h&&p.push([M,N]),_)m=M,g=N,y=F,_=!1,F&&(u.lineStart(),u.point(M,N));else if(F&&w)u.point(M,N);else{var R=[x=Math.max(rb,Math.min(Fp,x)),b=Math.max(rb,Math.min(Fp,b))],k=[M=Math.max(rb,Math.min(Fp,M)),N=Math.max(rb,Math.min(Fp,N))];tk(R,k,e,t,n,r)?(w||(u.lineStart(),u.point(R[0],R[1])),u.point(k[0],k[1]),F||u.lineEnd(),v=!1):F&&(u.lineStart(),u.point(M,N),v=!1)}x=M,b=N,w=F}return I}}function ek(e,t,n){var r=Ue(e,t-tt,n).concat(t);return function(i){return r.map(function(o){return[i,o]})}}function nk(e,t,n){var r=Ue(e,t-tt,n).concat(t);return function(i){return r.map(function(o){return[o,i]})}}function GI(){var e,t,n,r,i,o,s,a,c=10,l=c,u=90,f=360,d,h,p,m,g=2.5;function y(){return{type:"MultiLineString",coordinates:x()}}function x(){return Ue(Ep(r/u)*u,n,u).map(p).concat(Ue(Ep(a/f)*f,s,f).map(m)).concat(Ue(Ep(t/c)*c,e,c).filter(function(b){return Rt(b%u)>tt}).map(d)).concat(Ue(Ep(o/l)*l,i,l).filter(function(b){return Rt(b%f)>tt}).map(h))}return y.lines=function(){return x().map(function(b){return{type:"LineString",coordinates:b}})},y.outline=function(){return{type:"Polygon",coordinates:[p(r).concat(m(s).slice(1),p(n).reverse().slice(1),m(a).reverse().slice(1))]}},y.extent=function(b){return arguments.length?y.extentMajor(b).extentMinor(b):y.extentMinor()},y.extentMajor=function(b){return arguments.length?(r=+b[0][0],n=+b[1][0],a=+b[0][1],s=+b[1][1],r>n&&(b=r,r=n,n=b),a>s&&(b=a,a=s,s=b),y.precision(g)):[[r,a],[n,s]]},y.extentMinor=function(b){return arguments.length?(t=+b[0][0],e=+b[1][0],o=+b[0][1],i=+b[1][1],t>e&&(b=t,t=e,e=b),o>i&&(b=o,o=i,i=b),y.precision(g)):[[t,o],[e,i]]},y.step=function(b){return arguments.length?y.stepMajor(b).stepMinor(b):y.stepMinor()},y.stepMajor=function(b){return arguments.length?(u=+b[0],f=+b[1],y):[u,f]},y.stepMinor=function(b){return arguments.length?(c=+b[0],l=+b[1],y):[c,l]},y.precision=function(b){return arguments.length?(g=+b,d=ek(o,i,90),h=nk(t,e,g),p=ek(a,s,90),m=nk(r,n,g),y):g},y.extentMajor([[-180,-90+tt],[180,90-tt]]).extentMinor([[-180,-80-tt],[180,80+tt]])}function WI(){return GI()()}var Rp=e=>e;var HI=new In,ZI=new In,rk,ik,JI,QI,$a={point:Ze,lineStart:Ze,lineEnd:Ze,polygonStart:function(){$a.lineStart=oW,$a.lineEnd=aW},polygonEnd:function(){$a.lineStart=$a.lineEnd=$a.point=Ze,HI.add(Rt(ZI)),ZI=new In},result:function(){var e=HI/2;return HI=new In,e}};function oW(){$a.point=sW}function sW(e,t){$a.point=ok,rk=JI=e,ik=QI=t}function ok(e,t){ZI.add(QI*e-JI*t),JI=e,QI=t}function aW(){ok(rk,ik)}var KI=$a;var Qu=1/0,ib=Qu,$p=-Qu,ob=$p,cW={point:lW,lineStart:Ze,lineEnd:Ze,polygonStart:Ze,polygonEnd:Ze,result:function(){var e=[[Qu,ib],[$p,ob]];return $p=ob=-(ib=Qu=1/0),e}};function lW(e,t){e<Qu&&(Qu=e),e>$p&&($p=e),t<ib&&(ib=t),t>ob&&(ob=t)}var Ku=cW;var tM=0,eM=0,Pp=0,sb=0,ab=0,tf=0,nM=0,rM=0,Up=0,ck,lk,vo,_o,qi={point:sl,lineStart:sk,lineEnd:ak,polygonStart:function(){qi.lineStart=dW,qi.lineEnd=hW},polygonEnd:function(){qi.point=sl,qi.lineStart=sk,qi.lineEnd=ak},result:function(){var e=Up?[nM/Up,rM/Up]:tf?[sb/tf,ab/tf]:Pp?[tM/Pp,eM/Pp]:[NaN,NaN];return tM=eM=Pp=sb=ab=tf=nM=rM=Up=0,e}};function sl(e,t){tM+=e,eM+=t,++Pp}function sk(){qi.point=uW}function uW(e,t){qi.point=fW,sl(vo=e,_o=t)}function fW(e,t){var n=e-vo,r=t-_o,i=ye(n*n+r*r);sb+=i*(vo+e)/2,ab+=i*(_o+t)/2,tf+=i,sl(vo=e,_o=t)}function ak(){qi.point=sl}function dW(){qi.point=pW}function hW(){uk(ck,lk)}function pW(e,t){qi.point=uk,sl(ck=vo=e,lk=_o=t)}function uk(e,t){var n=e-vo,r=t-_o,i=ye(n*n+r*r);sb+=i*(vo+e)/2,ab+=i*(_o+t)/2,tf+=i,i=_o*e-vo*t,nM+=i*(vo+e),rM+=i*(_o+t),Up+=i*3,sl(vo=e,_o=t)}var iM=qi;function cb(e){this._context=e}cb.prototype={_radius:4.5,pointRadius:function(e){return this._radius=e,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){this._line===0&&this._context.closePath(),this._point=NaN},point:function(e,t){switch(this._point){case 0:{this._context.moveTo(e,t),this._point=1;break}case 1:{this._context.lineTo(e,t);break}default:{this._context.moveTo(e+this._radius,t),this._context.arc(e,t,this._radius,0,ln);break}}},result:Ze};var sM=new In,oM,fk,dk,zp,qp,lb={point:Ze,lineStart:function(){lb.point=mW},lineEnd:function(){oM&&hk(fk,dk),lb.point=Ze},polygonStart:function(){oM=!0},polygonEnd:function(){oM=null},result:function(){var e=+sM;return sM=new In,e}};function mW(e,t){lb.point=hk,fk=zp=e,dk=qp=t}function hk(e,t){zp-=e,qp-=t,sM.add(ye(zp*zp+qp*qp)),zp=e,qp=t}var aM=lb;var pk,ub,mk,yk,ef=class{constructor(t){this._append=t==null?gk:yW(t),this._radius=4.5,this._=""}pointRadius(t){return this._radius=+t,this}polygonStart(){this._line=0}polygonEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){this._line===0&&(this._+="Z"),this._point=NaN}point(t,n){switch(this._point){case 0:{this._append`M${t},${n}`,this._point=1;break}case 1:{this._append`L${t},${n}`;break}default:{if(this._append`M${t},${n}`,this._radius!==mk||this._append!==ub){let 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`,mk=r,ub=this._append,yk=this._,this._=i}this._+=yk;break}}}result(){let t=this._;return this._="",t.length?t:null}};function gk(e){let t=1;this._+=e[0];for(let n=e.length;t<n;++t)this._+=arguments[t]+e[t]}function yW(e){let t=Math.floor(e);if(!(t>=0))throw new RangeError(`invalid digits: ${e}`);if(t>15)return gk;if(t!==pk){let n=10**t;pk=t,ub=function(i){let o=1;this._+=i[0];for(let s=i.length;o<s;++o)this._+=Math.round(arguments[o]*n)/n+i[o]}}return ub}function En(e,t){let n=3,r=4.5,i,o;function s(a){return a&&(typeof r=="function"&&o.pointRadius(+r.apply(this,arguments)),Pr(a,i(o))),o.result()}return s.area=function(a){return Pr(a,i(KI)),KI.result()},s.measure=function(a){return Pr(a,i(aM)),aM.result()},s.bounds=function(a){return Pr(a,i(Ku)),Ku.result()},s.centroid=function(a){return Pr(a,i(iM)),iM.result()},s.projection=function(a){return arguments.length?(i=a==null?(e=null,Rp):(e=a).stream,s):e},s.context=function(a){return arguments.length?(o=a==null?(t=null,new ef(n)):new cb(t=a),typeof r!="function"&&o.pointRadius(r),s):t},s.pointRadius=function(a){return arguments.length?(r=typeof a=="function"?a:(o.pointRadius(+a),+a),s):r},s.digits=function(a){if(!arguments.length)return n;if(a==null)n=null;else{let c=Math.floor(a);if(!(c>=0))throw new RangeError(`invalid digits: ${a}`);n=c}return t===null&&(o=new ef(n)),s},s.projection(e).digits(n).context(t)}function al(e){return{stream:nf(e)}}function nf(e){return function(t){var n=new cM;for(var r in e)n[r]=e[r];return n.stream=t,n}}function cM(){}cM.prototype={constructor:cM,point:function(e,t){this.stream.point(e,t)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}};function lM(e,t,n){var r=e.clipExtent&&e.clipExtent();return e.scale(150).translate([0,0]),r!=null&&e.clipExtent(null),Pr(n,e.stream(Ku)),t(Ku.result()),r!=null&&e.clipExtent(r),e}function jp(e,t,n){return lM(e,function(r){var i=t[1][0]-t[0][0],o=t[1][1]-t[0][1],s=Math.min(i/(r[1][0]-r[0][0]),o/(r[1][1]-r[0][1])),a=+t[0][0]+(i-s*(r[1][0]+r[0][0]))/2,c=+t[0][1]+(o-s*(r[1][1]+r[0][1]))/2;e.scale(150*s).translate([a,c])},n)}function fb(e,t,n){return jp(e,[[0,0],t],n)}function db(e,t,n){return lM(e,function(r){var i=+t,o=i/(r[1][0]-r[0][0]),s=(i-o*(r[1][0]+r[0][0]))/2,a=-o*r[0][1];e.scale(150*o).translate([s,a])},n)}function hb(e,t,n){return lM(e,function(r){var i=+t,o=i/(r[1][1]-r[0][1]),s=-o*r[0][0],a=(i-o*(r[1][1]+r[0][1]))/2;e.scale(150*o).translate([s,a])},n)}var xk=16,gW=Q(30*Yt);function uM(e,t){return+t?bW(e,t):xW(e)}function xW(e){return nf({point:function(t,n){t=e(t,n),this.stream.point(t[0],t[1])}})}function bW(e,t){function n(r,i,o,s,a,c,l,u,f,d,h,p,m,g){var y=l-r,x=u-i,b=y*y+x*x;if(b>4*t&&m--){var w=s+d,_=a+h,v=c+p,I=ye(w*w+_*_+v*v),A=Se(v/=I),T=Rt(Rt(v)-1)<tt||Rt(o-f)<tt?(o+f)/2:He(_,w),D=e(T,A),E=D[0],O=D[1],C=E-r,S=O-i,M=x*C-y*S;(M*M/b>t||Rt((y*C+x*S)/b-.5)>.3||s*d+a*h+c*p<gW)&&(n(r,i,o,s,a,c,E,O,T,w/=I,_/=I,v,m,g),g.point(E,O),n(E,O,T,w,_,v,l,u,f,d,h,p,m,g))}}return function(r){var i,o,s,a,c,l,u,f,d,h,p,m,g={point:y,lineStart:x,lineEnd:w,polygonStart:function(){r.polygonStart(),g.lineStart=_},polygonEnd:function(){r.polygonEnd(),g.lineStart=x}};function y(A,T){A=e(A,T),r.point(A[0],A[1])}function x(){f=NaN,g.point=b,r.lineStart()}function b(A,T){var D=wo([A,T]),E=e(A,T);n(f,d,u,h,p,m,f=E[0],d=E[1],u=A,h=D[0],p=D[1],m=D[2],xk,r),r.point(f,d)}function w(){g.point=y,r.lineEnd()}function _(){x(),g.point=v,g.lineEnd=I}function v(A,T){b(i=A,T),o=f,s=d,a=h,c=p,l=m,g.point=b}function I(){n(f,d,u,h,p,m,o,s,i,a,c,l,xk,r),g.lineEnd=w,w()}return g}}var wW=nf({point:function(e,t){this.stream.point(e*Yt,t*Yt)}});function vW(e){return nf({point:function(t,n){var r=e(t,n);return this.stream.point(r[0],r[1])}})}function _W(e,t,n,r,i){function o(s,a){return s*=r,a*=i,[t+e*s,n-e*a]}return o.invert=function(s,a){return[(s-t)/e*r,(n-a)/e*i]},o}function bk(e,t,n,r,i,o){if(!o)return _W(e,t,n,r,i);var s=Q(o),a=J(o),c=s*e,l=a*e,u=s/e,f=a/e,d=(a*n-s*t)/e,h=(a*t+s*n)/e;function p(m,g){return m*=r,g*=i,[c*m-l*g+t,n-l*m-c*g]}return p.invert=function(m,g){return[r*(u*m-f*g+d),i*(h-f*m-u*g)]},p}function Nn(e){return fM(function(){return e})()}function fM(e){var t,n=150,r=480,i=250,o=0,s=0,a=0,c=0,l=0,u,f=0,d=1,h=1,p=null,m=XI,g=null,y,x,b,w=Rp,_=.5,v,I,A,T,D;function E(M){return A(M[0]*Yt,M[1]*Yt)}function O(M){return M=A.invert(M[0],M[1]),M&&[M[0]*Re,M[1]*Re]}E.stream=function(M){return T&&D===M?T:T=wW(vW(u)(m(v(w(D=M)))))},E.preclip=function(M){return arguments.length?(m=M,p=void 0,S()):m},E.postclip=function(M){return arguments.length?(w=M,g=y=x=b=null,S()):w},E.clipAngle=function(M){return arguments.length?(m=+M?KC(p=M*Yt):(p=null,XI),S()):p*Re},E.clipExtent=function(M){return arguments.length?(w=M==null?(g=y=x=b=null,Rp):Ju(g=+M[0][0],y=+M[0][1],x=+M[1][0],b=+M[1][1]),S()):g==null?null:[[g,y],[x,b]]},E.scale=function(M){return arguments.length?(n=+M,C()):n},E.translate=function(M){return arguments.length?(r=+M[0],i=+M[1],C()):[r,i]},E.center=function(M){return arguments.length?(o=M[0]%360*Yt,s=M[1]%360*Yt,C()):[o*Re,s*Re]},E.rotate=function(M){return arguments.length?(a=M[0]%360*Yt,c=M[1]%360*Yt,l=M.length>2?M[2]%360*Yt:0,C()):[a*Re,c*Re,l*Re]},E.angle=function(M){return arguments.length?(f=M%360*Yt,C()):f*Re},E.reflectX=function(M){return arguments.length?(d=M?-1:1,C()):d<0},E.reflectY=function(M){return arguments.length?(h=M?-1:1,C()):h<0},E.precision=function(M){return arguments.length?(v=uM(I,_=M*M),S()):ye(_)},E.fitExtent=function(M,N){return jp(E,M,N)},E.fitSize=function(M,N){return fb(E,M,N)},E.fitWidth=function(M,N){return db(E,M,N)},E.fitHeight=function(M,N){return hb(E,M,N)};function C(){var M=bk(n,0,0,d,h,f).apply(null,t(o,s)),N=bk(n,r-M[0],i-M[1],d,h,f);return u=VI(a,c,l),I=kp(t,N),A=kp(u,I),v=uM(I,_),S()}function S(){return T=D=null,E}return function(){return t=e.apply(this,arguments),E.invert=t.invert&&O,C()}}function rf(e){var t=0,n=Ot/3,r=fM(e),i=r(t,n);return i.parallels=function(o){return arguments.length?r(t=o[0]*Yt,n=o[1]*Yt):[t*Re,n*Re]},i}function wk(e){var t=Q(e);function n(r,i){return[r*t,J(i)/t]}return n.invert=function(r,i){return[r/t,Se(i*t)]},n}function vk(e,t){var n=J(e),r=(n+J(t))/2;if(Rt(r)<tt)return wk(e);var i=1+n*(2*r-n),o=ye(i)/r;function s(a,c){var l=ye(i-2*r*J(c))/r;return[l*J(a*=r),o-l*Q(a)]}return s.invert=function(a,c){var l=o-c,u=He(a,Rt(l))*Un(l);return l*r<0&&(u-=Ot*Un(a)*Un(l)),[u/r,Se((i-(a*a+l*l)*r*r)/(2*r))]},s}function Pa(){return rf(vk).scale(155.424).center([0,33.6442])}function Vp(){return Pa().parallels([29.5,45.5]).scale(1070).translate([480,250]).rotate([96,0]).center([-.6,38.7])}function SW(e){var t=e.length;return{point:function(n,r){for(var i=-1;++i<t;)e[i].point(n,r)},sphere:function(){for(var n=-1;++n<t;)e[n].sphere()},lineStart:function(){for(var n=-1;++n<t;)e[n].lineStart()},lineEnd:function(){for(var n=-1;++n<t;)e[n].lineEnd()},polygonStart:function(){for(var n=-1;++n<t;)e[n].polygonStart()},polygonEnd:function(){for(var n=-1;++n<t;)e[n].polygonEnd()}}}function dM(){var e,t,n=Vp(),r,i=Pa().rotate([154,0]).center([-2,58.5]).parallels([55,65]),o,s=Pa().rotate([157,0]).center([-3,19.9]).parallels([8,18]),a,c,l={point:function(d,h){c=[d,h]}};function u(d){var h=d[0],p=d[1];return c=null,r.point(h,p),c||(o.point(h,p),c)||(a.point(h,p),c)}u.invert=function(d){var h=n.scale(),p=n.translate(),m=(d[0]-p[0])/h,g=(d[1]-p[1])/h;return(g>=.12&&g<.234&&m>=-.425&&m<-.214?i:g>=.166&&g<.234&&m>=-.214&&m<-.115?s:n).invert(d)},u.stream=function(d){return e&&t===d?e:e=SW([n.stream(t=d),i.stream(d),s.stream(d)])},u.precision=function(d){return arguments.length?(n.precision(d),i.precision(d),s.precision(d),f()):n.precision()},u.scale=function(d){return arguments.length?(n.scale(d),i.scale(d*.35),s.scale(d),u.translate(n.translate())):n.scale()},u.translate=function(d){if(!arguments.length)return n.translate();var h=n.scale(),p=+d[0],m=+d[1];return r=n.translate(d).clipExtent([[p-.455*h,m-.238*h],[p+.455*h,m+.238*h]]).stream(l),o=i.translate([p-.307*h,m+.201*h]).clipExtent([[p-.425*h+tt,m+.12*h+tt],[p-.214*h-tt,m+.234*h-tt]]).stream(l),a=s.translate([p-.205*h,m+.212*h]).clipExtent([[p-.214*h+tt,m+.166*h+tt],[p-.115*h-tt,m+.234*h-tt]]).stream(l),f()},u.fitExtent=function(d,h){return jp(u,d,h)},u.fitSize=function(d,h){return fb(u,d,h)},u.fitWidth=function(d,h){return db(u,d,h)},u.fitHeight=function(d,h){return hb(u,d,h)};function f(){return e=t=null,u}return u.scale(1070)}function pb(e){return function(t,n){var r=Q(t),i=Q(n),o=e(r*i);return o===1/0?[2,0]:[o*i*J(t),o*J(n)]}}function So(e){return function(t,n){var r=ye(t*t+n*n),i=e(r),o=J(i),s=Q(i);return[He(t*o,r*s),Se(r&&n*o/r)]}}var hM=pb(function(e){return ye(2/(1+e))});hM.invert=So(function(e){return 2*Se(e/2)});function pM(){return Nn(hM).scale(124.75).clipAngle(180-.001)}var mM=pb(function(e){return(e=jx(e))&&e/J(e)});mM.invert=So(function(e){return e});function yM(){return Nn(mM).scale(79.4188).clipAngle(180-.001)}function of(e,t){return[e,ol(Wu((me+t)/2))]}of.invert=function(e,t){return[e,2*li(Ux(t))-me]};function gM(){return xM(of).scale(961/ln)}function xM(e){var t=Nn(e),n=t.center,r=t.scale,i=t.translate,o=t.clipExtent,s=null,a,c,l;t.scale=function(f){return arguments.length?(r(f),u()):r()},t.translate=function(f){return arguments.length?(i(f),u()):i()},t.center=function(f){return arguments.length?(n(f),u()):n()},t.clipExtent=function(f){return arguments.length?(f==null?s=a=c=l=null:(s=+f[0][0],a=+f[0][1],c=+f[1][0],l=+f[1][1]),u()):s==null?null:[[s,a],[c,l]]};function u(){var f=Ot*r(),d=t(WC(t.rotate()).invert([0,0]));return o(s==null?[[d[0]-f,d[1]-f],[d[0]+f,d[1]+f]]:e===of?[[Math.max(d[0]-f,s),a],[Math.min(d[0]+f,c),l]]:[[s,Math.max(d[1]-f,a)],[c,Math.min(d[1]+f,l)]])}return u()}function mb(e){return Wu((me+e)/2)}function _k(e,t){var n=Q(e),r=e===t?J(e):ol(n/Q(t))/ol(mb(t)/mb(e)),i=n*qx(mb(e),r)/r;if(!r)return of;function o(s,a){i>0?a<-me+tt&&(a=-me+tt):a>me-tt&&(a=me-tt);var c=i/qx(mb(a),r);return[c*J(r*s),i-c*Q(r*s)]}return o.invert=function(s,a){var c=i-a,l=Un(r)*ye(s*s+c*c),u=He(s,Rt(c))*Un(c);return c*r<0&&(u-=Ot*Un(s)*Un(c)),[u/r,2*li(qx(i/l,1/r))-me]},o}function bM(){return rf(_k).scale(109.5).parallels([30,30])}function sf(e,t){return[e,t]}sf.invert=sf;function wM(){return Nn(sf).scale(152.63)}function Sk(e,t){var n=Q(e),r=e===t?J(e):(n-Q(t))/(t-e),i=n/r+e;if(Rt(r)<tt)return sf;function o(s,a){var c=i-a,l=r*s;return[c*J(l),i-c*Q(l)]}return o.invert=function(s,a){var c=i-a,l=He(s,Rt(c))*Un(c);return c*r<0&&(l-=Ot*Un(s)*Un(c)),[l/r,i-Un(r)*ye(s*s+c*c)]},o}function vM(){return rf(Sk).scale(131.154).center([0,13.9389])}var Yp=1.340264,Xp=-.081106,Gp=893e-6,Wp=.003796,yb=ye(3)/2,IW=12;function _M(e,t){var n=Se(yb*J(t)),r=n*n,i=r*r*r;return[e*Q(n)/(yb*(Yp+3*Xp*r+i*(7*Gp+9*Wp*r))),n*(Yp+Xp*r+i*(Gp+Wp*r))]}_M.invert=function(e,t){for(var n=t,r=n*n,i=r*r*r,o=0,s,a,c;o<IW&&(a=n*(Yp+Xp*r+i*(Gp+Wp*r))-t,c=Yp+3*Xp*r+i*(7*Gp+9*Wp*r),n-=s=a/c,r=n*n,i=r*r*r,!(Rt(s)<il));++o);return[yb*e*(Yp+3*Xp*r+i*(7*Gp+9*Wp*r))/Q(n),Se(J(n)/yb)]};function SM(){return Nn(_M).scale(177.158)}function IM(e,t){var n=Q(t),r=Q(e)*n;return[n*J(e)/r,J(t)/r]}IM.invert=So(li);function MM(){return Nn(IM).scale(144.049).clipAngle(60)}function AM(e,t){return[Q(t)*J(e),J(t)]}AM.invert=So(Se);function TM(){return Nn(AM).scale(249.5).clipAngle(90+tt)}function EM(e,t){var n=Q(t),r=1+Q(e)*n;return[n*J(e)/r,J(t)/r]}EM.invert=So(function(e){return 2*li(e)});function NM(){return Nn(EM).scale(250).clipAngle(142)}function DM(e,t){return[ol(Wu((me+t)/2)),-e]}DM.invert=function(e,t){return[-t,2*li(Ux(e))-me]};function OM(){var e=xM(DM),t=e.center,n=e.rotate;return e.center=function(r){return arguments.length?t([-r[1],r[0]]):(r=t(),[r[1],-r[0]])},e.rotate=function(r){return arguments.length?n([r[0],r[1],r.length>2?r[2]+90:90]):(r=n(),[r[0],r[1],r[2]-90])},n([0,0,90]).scale(159.155)}function MW(e,t){return e.parent===t.parent?1:2}function AW(e){return e.reduce(TW,0)/e.length}function TW(e,t){return e+t.x}function EW(e){return 1+e.reduce(NW,0)}function NW(e,t){return Math.max(e,t.y)}function DW(e){for(var t;t=e.children;)e=t[0];return e}function OW(e){for(var t;t=e.children;)e=t[t.length-1];return e}function gb(){var e=MW,t=1,n=1,r=!1;function i(o){var s,a=0;o.eachAfter(function(d){var h=d.children;h?(d.x=AW(h),d.y=EW(h)):(d.x=s?a+=e(d,s):0,d.y=0,s=d)});var c=DW(o),l=OW(o),u=c.x-e(c,l)/2,f=l.x+e(l,c)/2;return o.eachAfter(r?function(d){d.x=(d.x-o.x)*t,d.y=(o.y-d.y)*n}:function(d){d.x=(d.x-u)/(f-u)*t,d.y=(1-(o.y?d.y/o.y:1))*n})}return i.separation=function(o){return arguments.length?(e=o,i):e},i.size=function(o){return arguments.length?(r=!1,t=+o[0],n=+o[1],i):r?null:[t,n]},i.nodeSize=function(o){return arguments.length?(r=!0,t=+o[0],n=+o[1],i):r?[t,n]:null},i}function BW(e){var t=0,n=e.children,r=n&&n.length;if(!r)t=1;else for(;--r>=0;)t+=n[r].value;e.value=t}function Ik(){return this.eachAfter(BW)}function Mk(e,t){let n=-1;for(let r of this)e.call(t,r,++n,this);return this}function Ak(e,t){for(var n=this,r=[n],i,o,s=-1;n=r.pop();)if(e.call(t,n,++s,this),i=n.children)for(o=i.length-1;o>=0;--o)r.push(i[o]);return this}function Tk(e,t){for(var n=this,r=[n],i=[],o,s,a,c=-1;n=r.pop();)if(i.push(n),o=n.children)for(s=0,a=o.length;s<a;++s)r.push(o[s]);for(;n=i.pop();)e.call(t,n,++c,this);return this}function Ek(e,t){let n=-1;for(let r of this)if(e.call(t,r,++n,this))return r}function Nk(e){return this.eachAfter(function(t){for(var n=+e(t.data)||0,r=t.children,i=r&&r.length;--i>=0;)n+=r[i].value;t.value=n})}function Dk(e){return this.eachBefore(function(t){t.children&&t.children.sort(e)})}function Ok(e){for(var t=this,n=LW(t,e),r=[t];t!==n;)t=t.parent,r.push(t);for(var i=r.length;e!==n;)r.splice(i,0,e),e=e.parent;return r}function LW(e,t){if(e===t)return e;var n=e.ancestors(),r=t.ancestors(),i=null;for(e=n.pop(),t=r.pop();e===t;)i=e,e=n.pop(),t=r.pop();return i}function Bk(){for(var e=this,t=[e];e=e.parent;)t.push(e);return t}function Lk(){return Array.from(this)}function Ck(){var e=[];return this.eachBefore(function(t){t.children||e.push(t)}),e}function kk(){var e=this,t=[];return e.each(function(n){n!==e&&t.push({source:n.parent,target:n})}),t}function*Fk(){var e=this,t,n=[e],r,i,o;do for(t=n.reverse(),n=[];e=t.pop();)if(yield e,r=e.children)for(i=0,o=r.length;i<o;++i)n.push(r[i]);while(n.length)}function BM(e,t){e instanceof Map?(e=[void 0,e],t===void 0&&(t=FW)):t===void 0&&(t=kW);for(var n=new Ua(e),r,i=[n],o,s,a,c;r=i.pop();)if((s=t(r.data))&&(c=(s=Array.from(s)).length))for(r.children=s,a=c-1;a>=0;--a)i.push(o=s[a]=new Ua(s[a])),o.parent=r,o.depth=r.depth+1;return n.eachBefore(LM)}function CW(){return BM(this).eachBefore(RW)}function kW(e){return e.children}function FW(e){return Array.isArray(e)?e[1]:null}function RW(e){e.data.value!==void 0&&(e.value=e.data.value),e.data=e.data.data}function LM(e){var t=0;do e.height=t;while((e=e.parent)&&e.height<++t)}function Ua(e){this.data=e,this.depth=this.height=0,this.parent=null}Ua.prototype=BM.prototype={constructor:Ua,count:Ik,each:Mk,eachAfter:Tk,eachBefore:Ak,find:Ek,sum:Nk,sort:Dk,path:Ok,ancestors:Bk,descendants:Lk,leaves:Ck,links:kk,copy:CW,[Symbol.iterator]:Fk};function xb(e){return e==null?null:$W(e)}function $W(e){if(typeof e!="function")throw new Error;return e}var PW={depth:-1},Rk={},CM={};function UW(e){return e.id}function zW(e){return e.parentId}function bb(){var e=UW,t=zW,n;function r(i){var o=Array.from(i),s=e,a=t,c,l,u,f,d,h,p,m,g=new Map;if(n!=null){let y=o.map((w,_)=>qW(n(w,_,i))),x=y.map($k),b=new Set(y).add("");for(let w of x)b.has(w)||(b.add(w),y.push(w),x.push($k(w)),o.push(CM));s=(w,_)=>y[_],a=(w,_)=>x[_]}for(u=0,c=o.length;u<c;++u)l=o[u],h=o[u]=new Ua(l),(p=s(l,u,i))!=null&&(p+="")&&(m=h.id=p,g.set(m,g.has(m)?Rk:h)),(p=a(l,u,i))!=null&&(p+="")&&(h.parent=p);for(u=0;u<c;++u)if(h=o[u],p=h.parent){if(d=g.get(p),!d)throw new Error("missing: "+p);if(d===Rk)throw new Error("ambiguous: "+p);d.children?d.children.push(h):d.children=[h],h.parent=d}else{if(f)throw new Error("multiple roots");f=h}if(!f)throw new Error("no root");if(n!=null){for(;f.data===CM&&f.children.length===1;)f=f.children[0],--c;for(let y=o.length-1;y>=0&&(h=o[y],h.data===CM);--y)h.data=null}if(f.parent=PW,f.eachBefore(function(y){y.depth=y.parent.depth+1,--c}).eachBefore(LM),f.parent=null,c>0)throw new Error("cycle");return f}return r.id=function(i){return arguments.length?(e=xb(i),r):e},r.parentId=function(i){return arguments.length?(t=xb(i),r):t},r.path=function(i){return arguments.length?(n=xb(i),r):n},r}function qW(e){e=`${e}`;let t=e.length;return kM(e,t-1)&&!kM(e,t-2)&&(e=e.slice(0,-1)),e[0]==="/"?e:`/${e}`}function $k(e){let t=e.length;if(t<2)return"";for(;--t>1&&!kM(e,t););return e.slice(0,t)}function kM(e,t){if(e[t]==="/"){let n=0;for(;t>0&&e[--t]==="\\";)++n;if(!(n&1))return!0}return!1}function jW(e,t){return e.parent===t.parent?1:2}function FM(e){var t=e.children;return t?t[0]:e.t}function RM(e){var t=e.children;return t?t[t.length-1]:e.t}function VW(e,t,n){var r=n/(t.i-e.i);t.c-=r,t.s+=n,e.c+=r,t.z+=n,t.m+=n}function YW(e){for(var t=0,n=0,r=e.children,i=r.length,o;--i>=0;)o=r[i],o.z+=t,o.m+=t,t+=o.s+(n+=o.c)}function XW(e,t,n){return e.a.parent===t.parent?e.a:n}function wb(e,t){this._=e,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=t}wb.prototype=Object.create(Ua.prototype);function GW(e){for(var t=new wb(e,0),n,r=[t],i,o,s,a;n=r.pop();)if(o=n._.children)for(n.children=new Array(a=o.length),s=a-1;s>=0;--s)r.push(i=n.children[s]=new wb(o[s],s)),i.parent=n;return(t.parent=new wb(null,0)).children=[t],t}function cl(){var e=jW,t=1,n=1,r=null;function i(l){var u=GW(l);if(u.eachAfter(o),u.parent.m=-u.z,u.eachBefore(s),r)l.eachBefore(c);else{var f=l,d=l,h=l;l.eachBefore(function(x){x.x<f.x&&(f=x),x.x>d.x&&(d=x),x.depth>h.depth&&(h=x)});var p=f===d?1:e(f,d)/2,m=p-f.x,g=t/(d.x+p+m),y=n/(h.depth||1);l.eachBefore(function(x){x.x=(x.x+m)*g,x.y=x.depth*y})}return l}function o(l){var u=l.children,f=l.parent.children,d=l.i?f[l.i-1]:null;if(u){YW(l);var h=(u[0].z+u[u.length-1].z)/2;d?(l.z=d.z+e(l._,d._),l.m=l.z-h):l.z=h}else d&&(l.z=d.z+e(l._,d._));l.parent.A=a(l,d,l.parent.A||f[0])}function s(l){l._.x=l.z+l.parent.m,l.m+=l.parent.m}function a(l,u,f){if(u){for(var d=l,h=l,p=u,m=d.parent.children[0],g=d.m,y=h.m,x=p.m,b=m.m,w;p=RM(p),d=FM(d),p&&d;)m=FM(m),h=RM(h),h.a=l,w=p.z+x-d.z-g+e(p._,d._),w>0&&(VW(XW(p,l,f),l,w),g+=w,y+=w),x+=p.m,g+=d.m,b+=m.m,y+=h.m;p&&!RM(h)&&(h.t=p,h.m+=x-y),d&&!FM(m)&&(m.t=d,m.m+=g-b,f=l)}return f}function c(l){l.x*=t,l.y=l.depth*n}return i.separation=function(l){return arguments.length?(e=l,i):e},i.size=function(l){return arguments.length?(r=!1,t=+l[0],n=+l[1],i):r?null:[t,n]},i.nodeSize=function(l){return arguments.length?(r=!0,t=+l[0],n=+l[1],i):r?[t,n]:null},i}var Pk=23283064365386963e-26;function Io(e=Math.random()){let t=(0<=e&&e<1?e/Pk:Math.abs(e))|0;return()=>(t=1664525*t+1013904223|0,Pk*(t>>>0))}function Je(e,t){switch(arguments.length){case 0:break;case 1:this.range(e);break;default:this.range(t).domain(e);break}return this}function Hp(e,t){switch(arguments.length){case 0:break;case 1:{typeof e=="function"?this.interpolator(e):this.range(e);break}default:{this.domain(e),typeof t=="function"?this.interpolator(t):this.range(t);break}}return this}var Zp=Symbol("implicit");function ll(){var e=new Zn,t=[],n=[],r=Zp;function i(o){let s=e.get(o);if(s===void 0){if(r!==Zp)return r;e.set(o,s=t.push(o)-1)}return n[s%n.length]}return i.domain=function(o){if(!arguments.length)return t.slice();t=[],e=new Zn;for(let s of o)e.has(s)||e.set(s,t.push(s)-1);return i},i.range=function(o){return arguments.length?(n=Array.from(o),i):n.slice()},i.unknown=function(o){return arguments.length?(r=o,i):r},i.copy=function(){return ll(t,n).unknown(r)},Je.apply(i,arguments),i}function za(){var e=ll().unknown(void 0),t=e.domain,n=e.range,r=0,i=1,o,s,a=!1,c=0,l=0,u=.5;delete e.unknown;function f(){var d=t().length,h=i<r,p=h?i:r,m=h?r:i;o=(m-p)/Math.max(1,d-c+l*2),a&&(o=Math.floor(o)),p+=(m-p-o*(d-c))*u,s=o*(1-c),a&&(p=Math.round(p),s=Math.round(s));var g=Ue(d).map(function(y){return p+o*y});return n(h?g.reverse():g)}return e.domain=function(d){return arguments.length?(t(d),f()):t()},e.range=function(d){return arguments.length?([r,i]=d,r=+r,i=+i,f()):[r,i]},e.rangeRound=function(d){return[r,i]=d,r=+r,i=+i,a=!0,f()},e.bandwidth=function(){return s},e.step=function(){return o},e.round=function(d){return arguments.length?(a=!!d,f()):a},e.padding=function(d){return arguments.length?(c=Math.min(1,l=+d),f()):c},e.paddingInner=function(d){return arguments.length?(c=Math.min(1,d),f()):c},e.paddingOuter=function(d){return arguments.length?(l=+d,f()):l},e.align=function(d){return arguments.length?(u=Math.max(0,Math.min(1,d)),f()):u},e.copy=function(){return za(t(),[r,i]).round(a).paddingInner(c).paddingOuter(l).align(u)},Je.apply(f(),arguments)}function Uk(e){var t=e.copy;return e.padding=e.paddingOuter,delete e.paddingInner,delete e.paddingOuter,e.copy=function(){return Uk(t())},e}function $M(){return Uk(za.apply(null,arguments).paddingInner(1))}function PM(e){return function(){return e}}function af(e){return+e}var zk=[0,1];function wr(e){return e}function UM(e,t){return(t-=e=+e)?function(n){return(n-e)/t}:PM(isNaN(t)?NaN:.5)}function WW(e,t){var n;return e>t&&(n=e,e=t,t=n),function(r){return Math.max(e,Math.min(t,r))}}function HW(e,t,n){var r=e[0],i=e[1],o=t[0],s=t[1];return i<r?(r=UM(i,r),o=n(s,o)):(r=UM(r,i),o=n(o,s)),function(a){return o(r(a))}}function ZW(e,t,n){var r=Math.min(e.length,t.length)-1,i=new Array(r),o=new Array(r),s=-1;for(e[r]<e[0]&&(e=e.slice().reverse(),t=t.slice().reverse());++s<r;)i[s]=UM(e[s],e[s+1]),o[s]=n(t[s],t[s+1]);return function(a){var c=Ts(e,a,1,r)-1;return o[c](i[c](a))}}function Mo(e,t){return t.domain(e.domain()).range(e.range()).interpolate(e.interpolate()).clamp(e.clamp()).unknown(e.unknown())}function ul(){var e=zk,t=zk,n=$r,r,i,o,s=wr,a,c,l;function u(){var d=Math.min(e.length,t.length);return s!==wr&&(s=WW(e[0],e[d-1])),a=d>2?ZW:HW,c=l=null,f}function f(d){return d==null||isNaN(d=+d)?o:(c||(c=a(e.map(r),t,n)))(r(s(d)))}return f.invert=function(d){return s(i((l||(l=a(t,e.map(r),_e)))(d)))},f.domain=function(d){return arguments.length?(e=Array.from(d,af),u()):e.slice()},f.range=function(d){return arguments.length?(t=Array.from(d),u()):t.slice()},f.rangeRound=function(d){return t=Array.from(d),n=Qc,u()},f.clamp=function(d){return arguments.length?(s=d?!0:wr,u()):s!==wr},f.interpolate=function(d){return arguments.length?(n=d,u()):n},f.unknown=function(d){return arguments.length?(o=d,f):o},function(d,h){return r=d,i=h,u()}}function Jp(){return ul()(wr,wr)}function zM(e,t,n,r){var i=Nu(e,t,n),o;switch(r=bo(r??",f"),r.type){case"s":{var s=Math.max(Math.abs(e),Math.abs(t));return r.precision==null&&!isNaN(o=CI(i,s))&&(r.precision=o),Px(r,s)}case"":case"e":case"g":case"p":case"r":{r.precision==null&&!isNaN(o=kI(i,Math.max(Math.abs(e),Math.abs(t))))&&(r.precision=o-(r.type==="e"));break}case"f":case"%":{r.precision==null&&!isNaN(o=LI(i))&&(r.precision=o-(r.type==="%")*2);break}}return ci(r)}function Ps(e){var t=e.domain;return e.ticks=function(n){var r=t();return Mn(r[0],r[r.length-1],n??10)},e.tickFormat=function(n,r){var i=t();return zM(i[0],i[i.length-1],n??10,r)},e.nice=function(n){n==null&&(n=10);var r=t(),i=0,o=r.length-1,s=r[i],a=r[o],c,l,u=10;for(a<s&&(l=s,s=a,a=l,l=i,i=o,o=l);u-- >0;){if(l=Ns(s,a,n),l===c)return r[i]=s,r[o]=a,t(r);if(l>0)s=Math.floor(s/l)*l,a=Math.ceil(a/l)*l;else if(l<0)s=Math.ceil(s*l)/l,a=Math.floor(a*l)/l;else break;c=l}return e},e}function Us(){var e=Jp();return e.copy=function(){return Mo(e,Us())},Je.apply(e,arguments),Ps(e)}function Qp(e){var t;function n(r){return r==null||isNaN(r=+r)?t:r}return n.invert=n,n.domain=n.range=function(r){return arguments.length?(e=Array.from(r,af),n):e.slice()},n.unknown=function(r){return arguments.length?(t=r,n):t},n.copy=function(){return Qp(e).unknown(t)},e=arguments.length?Array.from(e,af):[0,1],Ps(n)}function Kp(e,t){e=e.slice();var n=0,r=e.length-1,i=e[n],o=e[r],s;return o<i&&(s=n,n=r,r=s,s=i,i=o,o=s),e[n]=t.floor(i),e[r]=t.ceil(o),e}function qk(e){return Math.log(e)}function jk(e){return Math.exp(e)}function JW(e){return-Math.log(-e)}function QW(e){return-Math.exp(-e)}function KW(e){return isFinite(e)?+("1e"+e):e<0?0:e}function tH(e){return e===10?KW:e===Math.E?Math.exp:t=>Math.pow(e,t)}function eH(e){return e===Math.E?Math.log:e===10&&Math.log10||e===2&&Math.log2||(e=Math.log(e),t=>Math.log(t)/e)}function Vk(e){return(t,n)=>-e(-t,n)}function qM(e){let t=e(qk,jk),n=t.domain,r=10,i,o;function s(){return i=eH(r),o=tH(r),n()[0]<0?(i=Vk(i),o=Vk(o),e(JW,QW)):e(qk,jk),t}return t.base=function(a){return arguments.length?(r=+a,s()):r},t.domain=function(a){return arguments.length?(n(a),s()):n()},t.ticks=a=>{let c=n(),l=c[0],u=c[c.length-1],f=u<l;f&&([l,u]=[u,l]);let d=i(l),h=i(u),p,m,g=a==null?10:+a,y=[];if(!(r%1)&&h-d<g){if(d=Math.floor(d),h=Math.ceil(h),l>0){for(;d<=h;++d)for(p=1;p<r;++p)if(m=d<0?p/o(-d):p*o(d),!(m<l)){if(m>u)break;y.push(m)}}else for(;d<=h;++d)for(p=r-1;p>=1;--p)if(m=d>0?p/o(-d):p*o(d),!(m<l)){if(m>u)break;y.push(m)}y.length*2<g&&(y=Mn(l,u,g))}else y=Mn(d,h,Math.min(h-d,g)).map(o);return f?y.reverse():y},t.tickFormat=(a,c)=>{if(a==null&&(a=10),c==null&&(c=r===10?"s":","),typeof c!="function"&&(!(r%1)&&(c=bo(c)).precision==null&&(c.trim=!0),c=ci(c)),a===1/0)return c;let l=Math.max(1,r*a/t.ticks().length);return u=>{let f=u/o(Math.round(i(u)));return f*r<r-.5&&(f*=r),f<=l?c(u):""}},t.nice=()=>n(Kp(n(),{floor:a=>o(Math.floor(i(a))),ceil:a=>o(Math.ceil(i(a)))})),t}function tm(){let e=qM(ul()).domain([1,10]);return e.copy=()=>Mo(e,tm()).base(e.base()),Je.apply(e,arguments),e}function Yk(e){return function(t){return Math.sign(t)*Math.log1p(Math.abs(t/e))}}function Xk(e){return function(t){return Math.sign(t)*Math.expm1(Math.abs(t))*e}}function jM(e){var t=1,n=e(Yk(t),Xk(t));return n.constant=function(r){return arguments.length?e(Yk(t=+r),Xk(t)):t},Ps(n)}function em(){var e=jM(ul());return e.copy=function(){return Mo(e,em()).constant(e.constant())},Je.apply(e,arguments)}function Gk(e){return function(t){return t<0?-Math.pow(-t,e):Math.pow(t,e)}}function nH(e){return e<0?-Math.sqrt(-e):Math.sqrt(e)}function rH(e){return e<0?-e*e:e*e}function VM(e){var t=e(wr,wr),n=1;function r(){return n===1?e(wr,wr):n===.5?e(nH,rH):e(Gk(n),Gk(1/n))}return t.exponent=function(i){return arguments.length?(n=+i,r()):n},Ps(t)}function nm(){var e=VM(ul());return e.copy=function(){return Mo(e,nm()).exponent(e.exponent())},Je.apply(e,arguments),e}function rm(){var e=[],t=[],n=[],r;function i(){var s=0,a=Math.max(1,t.length);for(n=new Array(a-1);++s<a;)n[s-1]=jS(e,s/a);return o}function o(s){return s==null||isNaN(s=+s)?r:t[Ts(n,s)]}return o.invertExtent=function(s){var a=t.indexOf(s);return a<0?[NaN,NaN]:[a>0?n[a-1]:e[0],a<n.length?n[a]:e[e.length-1]]},o.domain=function(s){if(!arguments.length)return e.slice();e=[];for(let a of s)a!=null&&!isNaN(a=+a)&&e.push(a);return e.sort(zt),i()},o.range=function(s){return arguments.length?(t=Array.from(s),i()):t.slice()},o.unknown=function(s){return arguments.length?(r=s,o):r},o.quantiles=function(){return n.slice()},o.copy=function(){return rm().domain(e).range(t).unknown(r)},Je.apply(o,arguments)}function im(){var e=[.5],t=[0,1],n,r=1;function i(o){return o!=null&&o<=o?t[Ts(e,o,0,r)]:n}return i.domain=function(o){return arguments.length?(e=Array.from(o),r=Math.min(e.length,t.length-1),i):e.slice()},i.range=function(o){return arguments.length?(t=Array.from(o),r=Math.min(e.length,t.length-1),i):t.slice()},i.invertExtent=function(o){var s=t.indexOf(o);return[e[s-1],e[s]]},i.unknown=function(o){return arguments.length?(n=o,i):n},i.copy=function(){return im().domain(e).range(t).unknown(n)},Je.apply(i,arguments)}var YM=new Date,XM=new Date;function xe(e,t,n,r){function i(o){return e(o=arguments.length===0?new Date:new Date(+o)),o}return i.floor=o=>(e(o=new Date(+o)),o),i.ceil=o=>(e(o=new Date(o-1)),t(o,1),e(o),o),i.round=o=>{let s=i(o),a=i.ceil(o);return o-s<a-o?s:a},i.offset=(o,s)=>(t(o=new Date(+o),s==null?1:Math.floor(s)),o),i.range=(o,s,a)=>{let c=[];if(o=i.ceil(o),a=a==null?1:Math.floor(a),!(o<s)||!(a>0))return c;let l;do c.push(l=new Date(+o)),t(o,a),e(o);while(l<o&&o<s);return c},i.filter=o=>xe(s=>{if(s>=s)for(;e(s),!o(s);)s.setTime(s-1)},(s,a)=>{if(s>=s)if(a<0)for(;++a<=0;)for(;t(s,-1),!o(s););else for(;--a>=0;)for(;t(s,1),!o(s););}),n&&(i.count=(o,s)=>(YM.setTime(+o),XM.setTime(+s),e(YM),e(XM),Math.floor(n(YM,XM))),i.every=o=>(o=Math.floor(o),!isFinite(o)||!(o>0)?null:o>1?i.filter(r?s=>r(s)%o===0:s=>i.count(0,s)%o===0):i)),i}var om=xe(()=>{},(e,t)=>{e.setTime(+e+t)},(e,t)=>t-e);om.every=e=>(e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?xe(t=>{t.setTime(Math.floor(t/e)*e)},(t,n)=>{t.setTime(+t+n*e)},(t,n)=>(n-t)/e):om);var h6t=om.range;var un=xe(e=>{e.setTime(e-e.getMilliseconds())},(e,t)=>{e.setTime(+e+t*1e3)},(e,t)=>(t-e)/1e3,e=>e.getUTCSeconds()),Wk=un.range;var zs=xe(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*1e3)},(e,t)=>{e.setTime(+e+t*6e4)},(e,t)=>(t-e)/6e4,e=>e.getMinutes()),iH=zs.range,qs=xe(e=>{e.setUTCSeconds(0,0)},(e,t)=>{e.setTime(+e+t*6e4)},(e,t)=>(t-e)/6e4,e=>e.getUTCMinutes()),oH=qs.range;var js=xe(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*1e3-e.getMinutes()*6e4)},(e,t)=>{e.setTime(+e+t*36e5)},(e,t)=>(t-e)/36e5,e=>e.getHours()),sH=js.range,Vs=xe(e=>{e.setUTCMinutes(0,0,0)},(e,t)=>{e.setTime(+e+t*36e5)},(e,t)=>(t-e)/36e5,e=>e.getUTCHours()),aH=Vs.range;var ui=xe(e=>e.setHours(0,0,0,0),(e,t)=>e.setDate(e.getDate()+t),(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*6e4)/864e5,e=>e.getDate()-1),cH=ui.range,hl=xe(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/864e5,e=>e.getUTCDate()-1),lH=hl.range,pl=xe(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/864e5,e=>Math.floor(e/864e5)),uH=pl.range;function ml(e){return xe(t=>{t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)},(t,n)=>{t.setDate(t.getDate()+n*7)},(t,n)=>(n-t-(n.getTimezoneOffset()-t.getTimezoneOffset())*6e4)/6048e5)}var Ur=ml(0),qa=ml(1),vb=ml(2),_b=ml(3),To=ml(4),Sb=ml(5),Ib=ml(6),Zk=Ur.range,fH=qa.range,dH=vb.range,hH=_b.range,pH=To.range,mH=Sb.range,yH=Ib.range;function yl(e){return xe(t=>{t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)},(t,n)=>{t.setUTCDate(t.getUTCDate()+n*7)},(t,n)=>(n-t)/6048e5)}var zr=yl(0),ja=yl(1),Mb=yl(2),Ab=yl(3),Eo=yl(4),Tb=yl(5),Eb=yl(6),Jk=zr.range,gH=ja.range,xH=Mb.range,bH=Ab.range,wH=Eo.range,vH=Tb.range,_H=Eb.range;var Ys=xe(e=>{e.setDate(1),e.setHours(0,0,0,0)},(e,t)=>{e.setMonth(e.getMonth()+t)},(e,t)=>t.getMonth()-e.getMonth()+(t.getFullYear()-e.getFullYear())*12,e=>e.getMonth()),SH=Ys.range,Xs=xe(e=>{e.setUTCDate(1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCMonth(e.getUTCMonth()+t)},(e,t)=>t.getUTCMonth()-e.getUTCMonth()+(t.getUTCFullYear()-e.getUTCFullYear())*12,e=>e.getUTCMonth()),IH=Xs.range;var zn=xe(e=>{e.setMonth(0,1),e.setHours(0,0,0,0)},(e,t)=>{e.setFullYear(e.getFullYear()+t)},(e,t)=>t.getFullYear()-e.getFullYear(),e=>e.getFullYear());zn.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:xe(t=>{t.setFullYear(Math.floor(t.getFullYear()/e)*e),t.setMonth(0,1),t.setHours(0,0,0,0)},(t,n)=>{t.setFullYear(t.getFullYear()+n*e)});var MH=zn.range,qn=xe(e=>{e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCFullYear(e.getUTCFullYear()+t)},(e,t)=>t.getUTCFullYear()-e.getUTCFullYear(),e=>e.getUTCFullYear());qn.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:xe(t=>{t.setUTCFullYear(Math.floor(t.getUTCFullYear()/e)*e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,n)=>{t.setUTCFullYear(t.getUTCFullYear()+n*e)});var AH=qn.range;function Kk(e,t,n,r,i,o){let s=[[un,1,1e3],[un,5,5*1e3],[un,15,15*1e3],[un,30,30*1e3],[o,1,6e4],[o,5,5*6e4],[o,15,15*6e4],[o,30,30*6e4],[i,1,36e5],[i,3,3*36e5],[i,6,6*36e5],[i,12,12*36e5],[r,1,864e5],[r,2,2*864e5],[n,1,6048e5],[t,1,2592e6],[t,3,3*2592e6],[e,1,31536e6]];function a(l,u,f){let d=u<l;d&&([l,u]=[u,l]);let h=f&&typeof f.range=="function"?f:c(l,u,f),p=h?h.range(l,+u+1):[];return d?p.reverse():p}function c(l,u,f){let d=Math.abs(u-l)/f,h=As(([,,g])=>g).right(s,d);if(h===s.length)return e.every(Nu(l/31536e6,u/31536e6,f));if(h===0)return om.every(Math.max(Nu(l,u,f),1));let[p,m]=s[d/s[h-1][2]<s[h][2]/d?h-1:h];return p.every(m)}return[a,c]}var[GM,am]=Kk(qn,Xs,zr,pl,Vs,qs),[WM,HM]=Kk(zn,Ys,Ur,ui,js,zs);function ZM(e){if(0<=e.y&&e.y<100){var t=new Date(-1,e.m,e.d,e.H,e.M,e.S,e.L);return t.setFullYear(e.y),t}return new Date(e.y,e.m,e.d,e.H,e.M,e.S,e.L)}function JM(e){if(0<=e.y&&e.y<100){var t=new Date(Date.UTC(-1,e.m,e.d,e.H,e.M,e.S,e.L));return t.setUTCFullYear(e.y),t}return new Date(Date.UTC(e.y,e.m,e.d,e.H,e.M,e.S,e.L))}function cm(e,t,n){return{y:e,m:t,d:n,H:0,M:0,S:0,L:0}}function QM(e){var t=e.dateTime,n=e.date,r=e.time,i=e.periods,o=e.days,s=e.shortDays,a=e.months,c=e.shortMonths,l=lm(i),u=um(i),f=lm(o),d=um(o),h=lm(s),p=um(s),m=lm(a),g=um(a),y=lm(c),x=um(c),b={a:F,A:R,b:k,B:$,c:null,d:oF,e:oF,f:ZH,g:sZ,G:cZ,H:GH,I:WH,j:HH,L:uF,m:JH,M:QH,p:P,q:U,Q:cF,s:lF,S:KH,u:tZ,U:eZ,V:nZ,w:rZ,W:iZ,x:null,X:null,y:oZ,Y:aZ,Z:lZ,"%":aF},w={a:W,A:et,b:rt,B:at,c:null,d:sF,e:sF,f:hZ,g:SZ,G:MZ,H:uZ,I:fZ,j:dZ,L:dF,m:pZ,M:mZ,p:Y,q:ot,Q:cF,s:lF,S:yZ,u:gZ,U:xZ,V:bZ,w:wZ,W:vZ,x:null,X:null,y:_Z,Y:IZ,Z:AZ,"%":aF},_={a:D,A:E,b:O,B:C,c:S,d:rF,e:rF,f:jH,g:nF,G:eF,H:iF,I:iF,j:PH,L:qH,m:$H,M:UH,p:T,q:RH,Q:YH,s:XH,S:zH,u:BH,U:LH,V:CH,w:OH,W:kH,x:M,X:N,y:nF,Y:eF,Z:FH,"%":VH};b.x=v(n,b),b.X=v(r,b),b.c=v(t,b),w.x=v(n,w),w.X=v(r,w),w.c=v(t,w);function v(j,H){return function(nt){var z=[],kt=-1,dt=0,Wt=j.length,Zt,K,ae;for(nt instanceof Date||(nt=new Date(+nt));++kt<Wt;)j.charCodeAt(kt)===37&&(z.push(j.slice(dt,kt)),(K=tF[Zt=j.charAt(++kt)])!=null?Zt=j.charAt(++kt):K=Zt==="e"?" ":"0",(ae=H[Zt])&&(Zt=ae(nt,K)),z.push(Zt),dt=kt+1);return z.push(j.slice(dt,kt)),z.join("")}}function I(j,H){return function(nt){var z=cm(1900,void 0,1),kt=A(z,j,nt+="",0),dt,Wt;if(kt!=nt.length)return null;if("Q"in z)return new Date(z.Q);if("s"in z)return new Date(z.s*1e3+("L"in z?z.L:0));if(H&&!("Z"in z)&&(z.Z=0),"p"in z&&(z.H=z.H%12+z.p*12),z.m===void 0&&(z.m="q"in z?z.q:0),"V"in z){if(z.V<1||z.V>53)return null;"w"in z||(z.w=1),"Z"in z?(dt=JM(cm(z.y,0,1)),Wt=dt.getUTCDay(),dt=Wt>4||Wt===0?ja.ceil(dt):ja(dt),dt=hl.offset(dt,(z.V-1)*7),z.y=dt.getUTCFullYear(),z.m=dt.getUTCMonth(),z.d=dt.getUTCDate()+(z.w+6)%7):(dt=ZM(cm(z.y,0,1)),Wt=dt.getDay(),dt=Wt>4||Wt===0?qa.ceil(dt):qa(dt),dt=ui.offset(dt,(z.V-1)*7),z.y=dt.getFullYear(),z.m=dt.getMonth(),z.d=dt.getDate()+(z.w+6)%7)}else("W"in z||"U"in z)&&("w"in z||(z.w="u"in z?z.u%7:"W"in z?1:0),Wt="Z"in z?JM(cm(z.y,0,1)).getUTCDay():ZM(cm(z.y,0,1)).getDay(),z.m=0,z.d="W"in z?(z.w+6)%7+z.W*7-(Wt+5)%7:z.w+z.U*7-(Wt+6)%7);return"Z"in z?(z.H+=z.Z/100|0,z.M+=z.Z%100,JM(z)):ZM(z)}}function A(j,H,nt,z){for(var kt=0,dt=H.length,Wt=nt.length,Zt,K;kt<dt;){if(z>=Wt)return-1;if(Zt=H.charCodeAt(kt++),Zt===37){if(Zt=H.charAt(kt++),K=_[Zt in tF?H.charAt(kt++):Zt],!K||(z=K(j,nt,z))<0)return-1}else if(Zt!=nt.charCodeAt(z++))return-1}return z}function T(j,H,nt){var z=l.exec(H.slice(nt));return z?(j.p=u.get(z[0].toLowerCase()),nt+z[0].length):-1}function D(j,H,nt){var z=h.exec(H.slice(nt));return z?(j.w=p.get(z[0].toLowerCase()),nt+z[0].length):-1}function E(j,H,nt){var z=f.exec(H.slice(nt));return z?(j.w=d.get(z[0].toLowerCase()),nt+z[0].length):-1}function O(j,H,nt){var z=y.exec(H.slice(nt));return z?(j.m=x.get(z[0].toLowerCase()),nt+z[0].length):-1}function C(j,H,nt){var z=m.exec(H.slice(nt));return z?(j.m=g.get(z[0].toLowerCase()),nt+z[0].length):-1}function S(j,H,nt){return A(j,t,H,nt)}function M(j,H,nt){return A(j,n,H,nt)}function N(j,H,nt){return A(j,r,H,nt)}function F(j){return s[j.getDay()]}function R(j){return o[j.getDay()]}function k(j){return c[j.getMonth()]}function $(j){return a[j.getMonth()]}function P(j){return i[+(j.getHours()>=12)]}function U(j){return 1+~~(j.getMonth()/3)}function W(j){return s[j.getUTCDay()]}function et(j){return o[j.getUTCDay()]}function rt(j){return c[j.getUTCMonth()]}function at(j){return a[j.getUTCMonth()]}function Y(j){return i[+(j.getUTCHours()>=12)]}function ot(j){return 1+~~(j.getUTCMonth()/3)}return{format:function(j){var H=v(j+="",b);return H.toString=function(){return j},H},parse:function(j){var H=I(j+="",!1);return H.toString=function(){return j},H},utcFormat:function(j){var H=v(j+="",w);return H.toString=function(){return j},H},utcParse:function(j){var H=I(j+="",!0);return H.toString=function(){return j},H}}}var tF={"-":"",_:" ",0:"0"},fn=/^\s*\d+/,EH=/^%/,NH=/[\\^$*+?|[\]().{}]/g;function ee(e,t,n){var r=e<0?"-":"",i=(r?-e:e)+"",o=i.length;return r+(o<n?new Array(n-o+1).join(t)+i:i)}function DH(e){return e.replace(NH,"\\$&")}function lm(e){return new RegExp("^(?:"+e.map(DH).join("|")+")","i")}function um(e){return new Map(e.map((t,n)=>[t.toLowerCase(),n]))}function OH(e,t,n){var r=fn.exec(t.slice(n,n+1));return r?(e.w=+r[0],n+r[0].length):-1}function BH(e,t,n){var r=fn.exec(t.slice(n,n+1));return r?(e.u=+r[0],n+r[0].length):-1}function LH(e,t,n){var r=fn.exec(t.slice(n,n+2));return r?(e.U=+r[0],n+r[0].length):-1}function CH(e,t,n){var r=fn.exec(t.slice(n,n+2));return r?(e.V=+r[0],n+r[0].length):-1}function kH(e,t,n){var r=fn.exec(t.slice(n,n+2));return r?(e.W=+r[0],n+r[0].length):-1}function eF(e,t,n){var r=fn.exec(t.slice(n,n+4));return r?(e.y=+r[0],n+r[0].length):-1}function nF(e,t,n){var r=fn.exec(t.slice(n,n+2));return r?(e.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function FH(e,t,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(t.slice(n,n+6));return r?(e.Z=r[1]?0:-(r[2]+(r[3]||"00")),n+r[0].length):-1}function RH(e,t,n){var r=fn.exec(t.slice(n,n+1));return r?(e.q=r[0]*3-3,n+r[0].length):-1}function $H(e,t,n){var r=fn.exec(t.slice(n,n+2));return r?(e.m=r[0]-1,n+r[0].length):-1}function rF(e,t,n){var r=fn.exec(t.slice(n,n+2));return r?(e.d=+r[0],n+r[0].length):-1}function PH(e,t,n){var r=fn.exec(t.slice(n,n+3));return r?(e.m=0,e.d=+r[0],n+r[0].length):-1}function iF(e,t,n){var r=fn.exec(t.slice(n,n+2));return r?(e.H=+r[0],n+r[0].length):-1}function UH(e,t,n){var r=fn.exec(t.slice(n,n+2));return r?(e.M=+r[0],n+r[0].length):-1}function zH(e,t,n){var r=fn.exec(t.slice(n,n+2));return r?(e.S=+r[0],n+r[0].length):-1}function qH(e,t,n){var r=fn.exec(t.slice(n,n+3));return r?(e.L=+r[0],n+r[0].length):-1}function jH(e,t,n){var r=fn.exec(t.slice(n,n+6));return r?(e.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function VH(e,t,n){var r=EH.exec(t.slice(n,n+1));return r?n+r[0].length:-1}function YH(e,t,n){var r=fn.exec(t.slice(n));return r?(e.Q=+r[0],n+r[0].length):-1}function XH(e,t,n){var r=fn.exec(t.slice(n));return r?(e.s=+r[0],n+r[0].length):-1}function oF(e,t){return ee(e.getDate(),t,2)}function GH(e,t){return ee(e.getHours(),t,2)}function WH(e,t){return ee(e.getHours()%12||12,t,2)}function HH(e,t){return ee(1+ui.count(zn(e),e),t,3)}function uF(e,t){return ee(e.getMilliseconds(),t,3)}function ZH(e,t){return uF(e,t)+"000"}function JH(e,t){return ee(e.getMonth()+1,t,2)}function QH(e,t){return ee(e.getMinutes(),t,2)}function KH(e,t){return ee(e.getSeconds(),t,2)}function tZ(e){var t=e.getDay();return t===0?7:t}function eZ(e,t){return ee(Ur.count(zn(e)-1,e),t,2)}function fF(e){var t=e.getDay();return t>=4||t===0?To(e):To.ceil(e)}function nZ(e,t){return e=fF(e),ee(To.count(zn(e),e)+(zn(e).getDay()===4),t,2)}function rZ(e){return e.getDay()}function iZ(e,t){return ee(qa.count(zn(e)-1,e),t,2)}function oZ(e,t){return ee(e.getFullYear()%100,t,2)}function sZ(e,t){return e=fF(e),ee(e.getFullYear()%100,t,2)}function aZ(e,t){return ee(e.getFullYear()%1e4,t,4)}function cZ(e,t){var n=e.getDay();return e=n>=4||n===0?To(e):To.ceil(e),ee(e.getFullYear()%1e4,t,4)}function lZ(e){var t=e.getTimezoneOffset();return(t>0?"-":(t*=-1,"+"))+ee(t/60|0,"0",2)+ee(t%60,"0",2)}function sF(e,t){return ee(e.getUTCDate(),t,2)}function uZ(e,t){return ee(e.getUTCHours(),t,2)}function fZ(e,t){return ee(e.getUTCHours()%12||12,t,2)}function dZ(e,t){return ee(1+hl.count(qn(e),e),t,3)}function dF(e,t){return ee(e.getUTCMilliseconds(),t,3)}function hZ(e,t){return dF(e,t)+"000"}function pZ(e,t){return ee(e.getUTCMonth()+1,t,2)}function mZ(e,t){return ee(e.getUTCMinutes(),t,2)}function yZ(e,t){return ee(e.getUTCSeconds(),t,2)}function gZ(e){var t=e.getUTCDay();return t===0?7:t}function xZ(e,t){return ee(zr.count(qn(e)-1,e),t,2)}function hF(e){var t=e.getUTCDay();return t>=4||t===0?Eo(e):Eo.ceil(e)}function bZ(e,t){return e=hF(e),ee(Eo.count(qn(e),e)+(qn(e).getUTCDay()===4),t,2)}function wZ(e){return e.getUTCDay()}function vZ(e,t){return ee(ja.count(qn(e)-1,e),t,2)}function _Z(e,t){return ee(e.getUTCFullYear()%100,t,2)}function SZ(e,t){return e=hF(e),ee(e.getUTCFullYear()%100,t,2)}function IZ(e,t){return ee(e.getUTCFullYear()%1e4,t,4)}function MZ(e,t){var n=e.getUTCDay();return e=n>=4||n===0?Eo(e):Eo.ceil(e),ee(e.getUTCFullYear()%1e4,t,4)}function AZ(){return"+0000"}function aF(){return"%"}function cF(e){return+e}function lF(e){return Math.floor(+e/1e3)}var cf,lf,pF,No,mF;KM({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function KM(e){return cf=QM(e),lf=cf.format,pF=cf.parse,No=cf.utcFormat,mF=cf.utcParse,cf}function TZ(e){return new Date(e)}function EZ(e){return e instanceof Date?+e:+new Date(+e)}function Nb(e,t,n,r,i,o,s,a,c,l){var u=Jp(),f=u.invert,d=u.domain,h=l(".%L"),p=l(":%S"),m=l("%I:%M"),g=l("%I %p"),y=l("%a %d"),x=l("%b %d"),b=l("%B"),w=l("%Y");function _(v){return(c(v)<v?h:a(v)<v?p:s(v)<v?m:o(v)<v?g:r(v)<v?i(v)<v?y:x:n(v)<v?b:w)(v)}return u.invert=function(v){return new Date(f(v))},u.domain=function(v){return arguments.length?d(Array.from(v,EZ)):d().map(TZ)},u.ticks=function(v){var I=d();return e(I[0],I[I.length-1],v??10)},u.tickFormat=function(v,I){return I==null?_:l(I)},u.nice=function(v){var I=d();return(!v||typeof v.range!="function")&&(v=t(I[0],I[I.length-1],v??10)),v?d(Kp(I,v)):u},u.copy=function(){return Mo(u,Nb(e,t,n,r,i,o,s,a,c,l))},u}function Db(){return Je.apply(Nb(WM,HM,zn,Ys,Ur,ui,js,zs,un,lf).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)}function Ob(){return Je.apply(Nb(GM,am,qn,Xs,zr,hl,Vs,qs,un,No).domain([Date.UTC(2e3,0,1),Date.UTC(2e3,0,2)]),arguments)}function fm(e,t){return t.domain(e.domain()).interpolator(e.interpolator()).clamp(e.clamp()).unknown(e.unknown())}function Bb(){var e=0,t=.5,n=1,r=1,i,o,s,a,c,l=wr,u,f=!1,d;function h(m){return isNaN(m=+m)?d:(m=.5+((m=+u(m))-o)*(r*m<r*o?a:c),l(f?Math.max(0,Math.min(1,m)):m))}h.domain=function(m){return arguments.length?([e,t,n]=m,i=u(e=+e),o=u(t=+t),s=u(n=+n),a=i===o?0:.5/(o-i),c=o===s?0:.5/(s-o),r=o<i?-1:1,h):[e,t,n]},h.clamp=function(m){return arguments.length?(f=!!m,h):f},h.interpolator=function(m){return arguments.length?(l=m,h):l};function p(m){return function(g){var y,x,b;return arguments.length?([y,x,b]=g,l=mo(m,[y,x,b]),h):[l(0),l(.5),l(1)]}}return h.range=p($r),h.rangeRound=p(Qc),h.unknown=function(m){return arguments.length?(d=m,h):d},function(m){return u=m,i=m(e),o=m(t),s=m(n),a=i===o?0:.5/(o-i),c=o===s?0:.5/(s-o),r=o<i?-1:1,h}}function dm(){var e=Ps(Bb()(wr));return e.copy=function(){return fm(e,dm())},Hp.apply(e,arguments)}function Lb(){var e=qM(Bb()).domain([.1,1,10]);return e.copy=function(){return fm(e,Lb()).base(e.base())},Hp.apply(e,arguments)}function Cb(){var e=jM(Bb());return e.copy=function(){return fm(e,Cb()).constant(e.constant())},Hp.apply(e,arguments)}function kb(){var e=VM(Bb());return e.copy=function(){return fm(e,kb()).exponent(e.exponent())},Hp.apply(e,arguments)}function X(e){for(var t=e.length/6|0,n=new Array(t),r=0;r<t;)n[r]="#"+e.slice(r*6,++r*6);return n}var tA=X("1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf");var eA=X("7fc97fbeaed4fdc086ffff99386cb0f0027fbf5b17666666");var nA=X("1b9e77d95f027570b3e7298a66a61ee6ab02a6761d666666");var rA=X("4269d0efb118ff725c6cc5b03ca951ff8ab7a463f297bbf59c6b4e9498a0");var iA=X("a6cee31f78b4b2df8a33a02cfb9a99e31a1cfdbf6fff7f00cab2d66a3d9affff99b15928");var oA=X("fbb4aeb3cde3ccebc5decbe4fed9a6ffffcce5d8bdfddaecf2f2f2");var sA=X("b3e2cdfdcdaccbd5e8f4cae4e6f5c9fff2aef1e2cccccccc");var aA=X("e41a1c377eb84daf4a984ea3ff7f00ffff33a65628f781bf999999");var cA=X("66c2a5fc8d628da0cbe78ac3a6d854ffd92fe5c494b3b3b3");var lA=X("8dd3c7ffffb3bebadafb807280b1d3fdb462b3de69fccde5d9d9d9bc80bdccebc5ffed6f");var uA=X("4e79a7f28e2ce1575976b7b259a14fedc949af7aa1ff9da79c755fbab0ab");var pt=e=>oI(e[e.length-1]);var Fb=new Array(3).concat("d8b365f5f5f55ab4ac","a6611adfc27d80cdc1018571","a6611adfc27df5f5f580cdc1018571","8c510ad8b365f6e8c3c7eae55ab4ac01665e","8c510ad8b365f6e8c3f5f5f5c7eae55ab4ac01665e","8c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e","8c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e","5430058c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e003c30","5430058c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e003c30").map(X),Rb=pt(Fb);var $b=new Array(3).concat("af8dc3f7f7f77fbf7b","7b3294c2a5cfa6dba0008837","7b3294c2a5cff7f7f7a6dba0008837","762a83af8dc3e7d4e8d9f0d37fbf7b1b7837","762a83af8dc3e7d4e8f7f7f7d9f0d37fbf7b1b7837","762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b7837","762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b7837","40004b762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b783700441b","40004b762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b783700441b").map(X),Pb=pt($b);var Ub=new Array(3).concat("e9a3c9f7f7f7a1d76a","d01c8bf1b6dab8e1864dac26","d01c8bf1b6daf7f7f7b8e1864dac26","c51b7de9a3c9fde0efe6f5d0a1d76a4d9221","c51b7de9a3c9fde0eff7f7f7e6f5d0a1d76a4d9221","c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221","c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221","8e0152c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221276419","8e0152c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221276419").map(X),zb=pt(Ub);var qb=new Array(3).concat("998ec3f7f7f7f1a340","5e3c99b2abd2fdb863e66101","5e3c99b2abd2f7f7f7fdb863e66101","542788998ec3d8daebfee0b6f1a340b35806","542788998ec3d8daebf7f7f7fee0b6f1a340b35806","5427888073acb2abd2d8daebfee0b6fdb863e08214b35806","5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b35806","2d004b5427888073acb2abd2d8daebfee0b6fdb863e08214b358067f3b08","2d004b5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b358067f3b08").map(X),jb=pt(qb);var hm=new Array(3).concat("ef8a62f7f7f767a9cf","ca0020f4a58292c5de0571b0","ca0020f4a582f7f7f792c5de0571b0","b2182bef8a62fddbc7d1e5f067a9cf2166ac","b2182bef8a62fddbc7f7f7f7d1e5f067a9cf2166ac","b2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac","b2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac","67001fb2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac053061","67001fb2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac053061").map(X),uf=pt(hm);var Vb=new Array(3).concat("ef8a62ffffff999999","ca0020f4a582bababa404040","ca0020f4a582ffffffbababa404040","b2182bef8a62fddbc7e0e0e09999994d4d4d","b2182bef8a62fddbc7ffffffe0e0e09999994d4d4d","b2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d","b2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d","67001fb2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d1a1a1a","67001fb2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d1a1a1a").map(X),Yb=pt(Vb);var pm=new Array(3).concat("fc8d59ffffbf91bfdb","d7191cfdae61abd9e92c7bb6","d7191cfdae61ffffbfabd9e92c7bb6","d73027fc8d59fee090e0f3f891bfdb4575b4","d73027fc8d59fee090ffffbfe0f3f891bfdb4575b4","d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4","d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4","a50026d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4313695","a50026d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4313695").map(X),ff=pt(pm);var Xb=new Array(3).concat("fc8d59ffffbf91cf60","d7191cfdae61a6d96a1a9641","d7191cfdae61ffffbfa6d96a1a9641","d73027fc8d59fee08bd9ef8b91cf601a9850","d73027fc8d59fee08bffffbfd9ef8b91cf601a9850","d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850","d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850","a50026d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850006837","a50026d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850006837").map(X),Gb=pt(Xb);var Wb=new Array(3).concat("fc8d59ffffbf99d594","d7191cfdae61abdda42b83ba","d7191cfdae61ffffbfabdda42b83ba","d53e4ffc8d59fee08be6f59899d5943288bd","d53e4ffc8d59fee08bffffbfe6f59899d5943288bd","d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd","d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd","9e0142d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd5e4fa2","9e0142d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd5e4fa2").map(X),Hb=pt(Wb);var Zb=new Array(3).concat("e5f5f999d8c92ca25f","edf8fbb2e2e266c2a4238b45","edf8fbb2e2e266c2a42ca25f006d2c","edf8fbccece699d8c966c2a42ca25f006d2c","edf8fbccece699d8c966c2a441ae76238b45005824","f7fcfde5f5f9ccece699d8c966c2a441ae76238b45005824","f7fcfde5f5f9ccece699d8c966c2a441ae76238b45006d2c00441b").map(X),Jb=pt(Zb);var Qb=new Array(3).concat("e0ecf49ebcda8856a7","edf8fbb3cde38c96c688419d","edf8fbb3cde38c96c68856a7810f7c","edf8fbbfd3e69ebcda8c96c68856a7810f7c","edf8fbbfd3e69ebcda8c96c68c6bb188419d6e016b","f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d6e016b","f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d810f7c4d004b").map(X),Kb=pt(Qb);var t1=new Array(3).concat("e0f3dba8ddb543a2ca","f0f9e8bae4bc7bccc42b8cbe","f0f9e8bae4bc7bccc443a2ca0868ac","f0f9e8ccebc5a8ddb57bccc443a2ca0868ac","f0f9e8ccebc5a8ddb57bccc44eb3d32b8cbe08589e","f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe08589e","f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe0868ac084081").map(X),e1=pt(t1);var n1=new Array(3).concat("fee8c8fdbb84e34a33","fef0d9fdcc8afc8d59d7301f","fef0d9fdcc8afc8d59e34a33b30000","fef0d9fdd49efdbb84fc8d59e34a33b30000","fef0d9fdd49efdbb84fc8d59ef6548d7301f990000","fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301f990000","fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301fb300007f0000").map(X),r1=pt(n1);var i1=new Array(3).concat("ece2f0a6bddb1c9099","f6eff7bdc9e167a9cf02818a","f6eff7bdc9e167a9cf1c9099016c59","f6eff7d0d1e6a6bddb67a9cf1c9099016c59","f6eff7d0d1e6a6bddb67a9cf3690c002818a016450","fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016450","fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016c59014636").map(X),o1=pt(i1);var s1=new Array(3).concat("ece7f2a6bddb2b8cbe","f1eef6bdc9e174a9cf0570b0","f1eef6bdc9e174a9cf2b8cbe045a8d","f1eef6d0d1e6a6bddb74a9cf2b8cbe045a8d","f1eef6d0d1e6a6bddb74a9cf3690c00570b0034e7b","fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0034e7b","fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0045a8d023858").map(X),a1=pt(s1);var c1=new Array(3).concat("e7e1efc994c7dd1c77","f1eef6d7b5d8df65b0ce1256","f1eef6d7b5d8df65b0dd1c77980043","f1eef6d4b9dac994c7df65b0dd1c77980043","f1eef6d4b9dac994c7df65b0e7298ace125691003f","f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125691003f","f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125698004367001f").map(X),l1=pt(c1);var u1=new Array(3).concat("fde0ddfa9fb5c51b8a","feebe2fbb4b9f768a1ae017e","feebe2fbb4b9f768a1c51b8a7a0177","feebe2fcc5c0fa9fb5f768a1c51b8a7a0177","feebe2fcc5c0fa9fb5f768a1dd3497ae017e7a0177","fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a0177","fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a017749006a").map(X),f1=pt(u1);var d1=new Array(3).concat("edf8b17fcdbb2c7fb8","ffffcca1dab441b6c4225ea8","ffffcca1dab441b6c42c7fb8253494","ffffccc7e9b47fcdbb41b6c42c7fb8253494","ffffccc7e9b47fcdbb41b6c41d91c0225ea80c2c84","ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea80c2c84","ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea8253494081d58").map(X),h1=pt(d1);var p1=new Array(3).concat("f7fcb9addd8e31a354","ffffccc2e69978c679238443","ffffccc2e69978c67931a354006837","ffffccd9f0a3addd8e78c67931a354006837","ffffccd9f0a3addd8e78c67941ab5d238443005a32","ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443005a32","ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443006837004529").map(X),m1=pt(p1);var y1=new Array(3).concat("fff7bcfec44fd95f0e","ffffd4fed98efe9929cc4c02","ffffd4fed98efe9929d95f0e993404","ffffd4fee391fec44ffe9929d95f0e993404","ffffd4fee391fec44ffe9929ec7014cc4c028c2d04","ffffe5fff7bcfee391fec44ffe9929ec7014cc4c028c2d04","ffffe5fff7bcfee391fec44ffe9929ec7014cc4c02993404662506").map(X),g1=pt(y1);var x1=new Array(3).concat("ffeda0feb24cf03b20","ffffb2fecc5cfd8d3ce31a1c","ffffb2fecc5cfd8d3cf03b20bd0026","ffffb2fed976feb24cfd8d3cf03b20bd0026","ffffb2fed976feb24cfd8d3cfc4e2ae31a1cb10026","ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cb10026","ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cbd0026800026").map(X),b1=pt(x1);var w1=new Array(3).concat("deebf79ecae13182bd","eff3ffbdd7e76baed62171b5","eff3ffbdd7e76baed63182bd08519c","eff3ffc6dbef9ecae16baed63182bd08519c","eff3ffc6dbef9ecae16baed64292c62171b5084594","f7fbffdeebf7c6dbef9ecae16baed64292c62171b5084594","f7fbffdeebf7c6dbef9ecae16baed64292c62171b508519c08306b").map(X),v1=pt(w1);var _1=new Array(3).concat("e5f5e0a1d99b31a354","edf8e9bae4b374c476238b45","edf8e9bae4b374c47631a354006d2c","edf8e9c7e9c0a1d99b74c47631a354006d2c","edf8e9c7e9c0a1d99b74c47641ab5d238b45005a32","f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45005a32","f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45006d2c00441b").map(X),S1=pt(_1);var I1=new Array(3).concat("f0f0f0bdbdbd636363","f7f7f7cccccc969696525252","f7f7f7cccccc969696636363252525","f7f7f7d9d9d9bdbdbd969696636363252525","f7f7f7d9d9d9bdbdbd969696737373525252252525","fffffff0f0f0d9d9d9bdbdbd969696737373525252252525","fffffff0f0f0d9d9d9bdbdbd969696737373525252252525000000").map(X),M1=pt(I1);var A1=new Array(3).concat("efedf5bcbddc756bb1","f2f0f7cbc9e29e9ac86a51a3","f2f0f7cbc9e29e9ac8756bb154278f","f2f0f7dadaebbcbddc9e9ac8756bb154278f","f2f0f7dadaebbcbddc9e9ac8807dba6a51a34a1486","fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a34a1486","fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a354278f3f007d").map(X),T1=pt(A1);var E1=new Array(3).concat("fee0d2fc9272de2d26","fee5d9fcae91fb6a4acb181d","fee5d9fcae91fb6a4ade2d26a50f15","fee5d9fcbba1fc9272fb6a4ade2d26a50f15","fee5d9fcbba1fc9272fb6a4aef3b2ccb181d99000d","fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181d99000d","fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181da50f1567000d").map(X),N1=pt(E1);var D1=new Array(3).concat("fee6cefdae6be6550d","feeddefdbe85fd8d3cd94701","feeddefdbe85fd8d3ce6550da63603","feeddefdd0a2fdae6bfd8d3ce6550da63603","feeddefdd0a2fdae6bfd8d3cf16913d948018c2d04","fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d948018c2d04","fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d94801a636037f2704").map(X),O1=pt(D1);function B1(e){return e=Math.max(0,Math.min(1,e)),"rgb("+Math.max(0,Math.min(255,Math.round(-4.54-e*(35.34-e*(2381.73-e*(6402.7-e*(7024.72-e*2710.57)))))))+", "+Math.max(0,Math.min(255,Math.round(32.49+e*(170.73+e*(52.82-e*(131.46-e*(176.58-e*67.37)))))))+", "+Math.max(0,Math.min(255,Math.round(81.24+e*(442.36-e*(2482.43-e*(6167.24-e*(6614.94-e*2475.67)))))))+")"}var L1=$u(Kn(300,.5,0),Kn(-240,.5,1));var k1=$u(Kn(-100,.75,.35),Kn(80,1.5,.8)),F1=$u(Kn(260,.75,.35),Kn(80,1.5,.8)),C1=Kn();function R1(e){(e<0||e>1)&&(e-=Math.floor(e));var t=Math.abs(e-.5);return C1.h=360*e-100,C1.s=1.5-1.5*t,C1.l=.8-.9*t,C1+""}var $1=rn(),NZ=Math.PI/3,DZ=Math.PI*2/3;function P1(e){var t;return e=(.5-e)*Math.PI,$1.r=255*(t=Math.sin(e))*t,$1.g=255*(t=Math.sin(e+NZ))*t,$1.b=255*(t=Math.sin(e+DZ))*t,$1+""}function U1(e){return e=Math.max(0,Math.min(1,e)),"rgb("+Math.max(0,Math.min(255,Math.round(34.61+e*(1172.33-e*(10793.56-e*(33300.12-e*(38394.49-e*14825.05)))))))+", "+Math.max(0,Math.min(255,Math.round(23.31+e*(557.33+e*(1225.33-e*(3574.96-e*(1073.77+e*707.56)))))))+", "+Math.max(0,Math.min(255,Math.round(27.2+e*(3211.1-e*(15327.97-e*(27814-e*(22569.18-e*6838.66)))))))+")"}function z1(e){var t=e.length;return function(n){return e[Math.max(0,Math.min(t-1,Math.floor(n*t)))]}}var q1=z1(X("44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725")),j1=z1(X("00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf")),V1=z1(X("00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4")),Y1=z1(X("0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921"));function Qe(e){return function(){return e}}var fA=Math.cos;var df=Math.min,mm=Math.sin,ne=Math.sqrt,dA=1e-12,gl=Math.PI,$Nt=gl/2,hf=2*gl;function X1(e){let t=3;return e.digits=function(n){if(!arguments.length)return t;if(n==null)t=null;else{let r=Math.floor(n);if(!(r>=0))throw new RangeError(`invalid digits: ${n}`);t=r}return e},()=>new ka(t)}var qNt=Array.prototype.slice;function G1(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function yF(e){this._context=e}yF.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._context.lineTo(e,t);break}}};function Gs(e){return new yF(e)}function W1(e){return e[0]}function H1(e){return e[1]}function ym(e,t){var n=Qe(!0),r=null,i=Gs,o=null,s=X1(a);e=typeof e=="function"?e:e===void 0?W1:Qe(e),t=typeof t=="function"?t:t===void 0?H1:Qe(t);function a(c){var l,u=(c=G1(c)).length,f,d=!1,h;for(r==null&&(o=i(h=s())),l=0;l<=u;++l)!(l<u&&n(f=c[l],l,c))===d&&((d=!d)?o.lineStart():o.lineEnd()),d&&o.point(+e(f,l,c),+t(f,l,c));if(h)return o=null,h+""||null}return a.x=function(c){return arguments.length?(e=typeof c=="function"?c:Qe(+c),a):e},a.y=function(c){return arguments.length?(t=typeof c=="function"?c:Qe(+c),a):t},a.defined=function(c){return arguments.length?(n=typeof c=="function"?c:Qe(!!c),a):n},a.curve=function(c){return arguments.length?(i=c,r!=null&&(o=i(r)),a):i},a.context=function(c){return arguments.length?(c==null?r=o=null:o=i(r=c),a):r},a}function pf(e,t,n){var r=null,i=Qe(!0),o=null,s=Gs,a=null,c=X1(l);e=typeof e=="function"?e:e===void 0?W1:Qe(+e),t=typeof t=="function"?t:t===void 0?Qe(0):Qe(+t),n=typeof n=="function"?n:n===void 0?H1:Qe(+n);function l(f){var d,h,p,m=(f=G1(f)).length,g,y=!1,x,b=new Array(m),w=new Array(m);for(o==null&&(a=s(x=c())),d=0;d<=m;++d){if(!(d<m&&i(g=f[d],d,f))===y)if(y=!y)h=d,a.areaStart(),a.lineStart();else{for(a.lineEnd(),a.lineStart(),p=d-1;p>=h;--p)a.point(b[p],w[p]);a.lineEnd(),a.areaEnd()}y&&(b[d]=+e(g,d,f),w[d]=+t(g,d,f),a.point(r?+r(g,d,f):b[d],n?+n(g,d,f):w[d]))}if(x)return a=null,x+""||null}function u(){return ym().defined(i).curve(s).context(o)}return l.x=function(f){return arguments.length?(e=typeof f=="function"?f:Qe(+f),r=null,l):e},l.x0=function(f){return arguments.length?(e=typeof f=="function"?f:Qe(+f),l):e},l.x1=function(f){return arguments.length?(r=f==null?null:typeof f=="function"?f:Qe(+f),l):r},l.y=function(f){return arguments.length?(t=typeof f=="function"?f:Qe(+f),n=null,l):t},l.y0=function(f){return arguments.length?(t=typeof f=="function"?f:Qe(+f),l):t},l.y1=function(f){return arguments.length?(n=f==null?null:typeof f=="function"?f:Qe(+f),l):n},l.lineX0=l.lineY0=function(){return u().x(e).y(t)},l.lineY1=function(){return u().x(e).y(n)},l.lineX1=function(){return u().x(r).y(t)},l.defined=function(f){return arguments.length?(i=typeof f=="function"?f:Qe(!!f),l):i},l.curve=function(f){return arguments.length?(s=f,o!=null&&(a=s(o)),l):s},l.context=function(f){return arguments.length?(f==null?o=a=null:a=s(o=f),l):o},l}var Z1=class{constructor(t,n){this._context=t,this._x=n}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(t,n){switch(t=+t,n=+n,this._point){case 0:{this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+t)/2,this._y0,this._x0,n,t,n):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+n)/2,t,this._y0,t,n);break}}this._x0=t,this._y0=n}};function hA(e){return new Z1(e,!0)}function pA(e){return new Z1(e,!1)}var OZ=ne(3),gm={draw(e,t){let n=ne(t+df(t/28,.75))*.59436,r=n/2,i=r*OZ;e.moveTo(0,n),e.lineTo(0,-n),e.moveTo(-i,-r),e.lineTo(i,r),e.moveTo(-i,r),e.lineTo(i,-r)}};var Ws={draw(e,t){let n=ne(t/gl);e.moveTo(n,0),e.arc(0,0,n,0,hf)}};var xm={draw(e,t){let n=ne(t/5)/2;e.moveTo(-3*n,-n),e.lineTo(-n,-n),e.lineTo(-n,-3*n),e.lineTo(n,-3*n),e.lineTo(n,-n),e.lineTo(3*n,-n),e.lineTo(3*n,n),e.lineTo(n,n),e.lineTo(n,3*n),e.lineTo(-n,3*n),e.lineTo(-n,n),e.lineTo(-3*n,n),e.closePath()}};var gF=ne(1/3),BZ=gF*2,bm={draw(e,t){let n=ne(t/BZ),r=n*gF;e.moveTo(0,-n),e.lineTo(r,0),e.lineTo(0,n),e.lineTo(-r,0),e.closePath()}};var wm={draw(e,t){let n=ne(t)*.62625;e.moveTo(0,-n),e.lineTo(n,0),e.lineTo(0,n),e.lineTo(-n,0),e.closePath()}};var vm={draw(e,t){let n=ne(t-df(t/7,2))*.87559;e.moveTo(-n,0),e.lineTo(n,0),e.moveTo(0,n),e.lineTo(0,-n)}};var _m={draw(e,t){let n=ne(t),r=-n/2;e.rect(r,r,n,n)}};var Sm={draw(e,t){let n=ne(t)*.4431;e.moveTo(n,n),e.lineTo(n,-n),e.lineTo(-n,-n),e.lineTo(-n,n),e.closePath()}};var LZ=.8908130915292852,xF=mm(gl/10)/mm(7*gl/10),CZ=mm(hf/10)*xF,kZ=-fA(hf/10)*xF,Im={draw(e,t){let n=ne(t*LZ),r=CZ*n,i=kZ*n;e.moveTo(0,-n),e.lineTo(r,i);for(let o=1;o<5;++o){let s=hf*o/5,a=fA(s),c=mm(s);e.lineTo(c*n,-a*n),e.lineTo(a*r-c*i,c*r+a*i)}e.closePath()}};var mA=ne(3),Mm={draw(e,t){let n=-ne(t/(mA*3));e.moveTo(0,n*2),e.lineTo(-mA*n,-n),e.lineTo(mA*n,-n),e.closePath()}};var FZ=ne(3),Am={draw(e,t){let n=ne(t)*.6824,r=n/2,i=n*FZ/2;e.moveTo(0,-n),e.lineTo(i,r),e.lineTo(-i,r),e.closePath()}};var fi=-.5,di=ne(3)/2,yA=1/ne(12),RZ=(yA/2+1)*3,Tm={draw(e,t){let n=ne(t/RZ),r=n/2,i=n*yA,o=r,s=n*yA+n,a=-o,c=s;e.moveTo(r,i),e.lineTo(o,s),e.lineTo(a,c),e.lineTo(fi*r-di*i,di*r+fi*i),e.lineTo(fi*o-di*s,di*o+fi*s),e.lineTo(fi*a-di*c,di*a+fi*c),e.lineTo(fi*r+di*i,fi*i-di*r),e.lineTo(fi*o+di*s,fi*s-di*o),e.lineTo(fi*a+di*c,fi*c-di*a),e.closePath()}};var mf={draw(e,t){let n=ne(t-df(t/6,1.7))*.6189;e.moveTo(-n,-n),e.lineTo(n,n),e.moveTo(-n,n),e.lineTo(n,-n)}};var J1=[Ws,xm,bm,_m,Im,Mm,Tm],gA=[Ws,vm,mf,Am,gm,Sm,wm];function hi(){}function yf(e,t,n){e._context.bezierCurveTo((2*e._x0+e._x1)/3,(2*e._y0+e._y1)/3,(e._x0+2*e._x1)/3,(e._y0+2*e._y1)/3,(e._x0+4*e._x1+t)/6,(e._y0+4*e._y1+n)/6)}function Em(e){this._context=e}Em.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:yf(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:yf(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function xA(e){return new Em(e)}function bF(e){this._context=e}bF.prototype={areaStart:hi,areaEnd:hi,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x2=e,this._y2=t;break;case 1:this._point=2,this._x3=e,this._y3=t;break;case 2:this._point=3,this._x4=e,this._y4=t,this._context.moveTo((this._x0+4*this._x1+e)/6,(this._y0+4*this._y1+t)/6);break;default:yf(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function bA(e){return new bF(e)}function wF(e){this._context=e}wF.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var n=(this._x0+4*this._x1+e)/6,r=(this._y0+4*this._y1+t)/6;this._line?this._context.lineTo(n,r):this._context.moveTo(n,r);break;case 3:this._point=4;default:yf(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function wA(e){return new wF(e)}function vF(e,t){this._basis=new Em(e),this._beta=t}vF.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var e=this._x,t=this._y,n=e.length-1;if(n>0)for(var r=e[0],i=t[0],o=e[n]-r,s=t[n]-i,a=-1,c;++a<=n;)c=a/n,this._basis.point(this._beta*e[a]+(1-this._beta)*(r+c*o),this._beta*t[a]+(1-this._beta)*(i+c*s));this._x=this._y=null,this._basis.lineEnd()},point:function(e,t){this._x.push(+e),this._y.push(+t)}};var vA=function e(t){function n(r){return t===1?new Em(r):new vF(r,t)}return n.beta=function(r){return e(+r)},n}(.85);function gf(e,t,n){e._context.bezierCurveTo(e._x1+e._k*(e._x2-e._x0),e._y1+e._k*(e._y2-e._y0),e._x2+e._k*(e._x1-t),e._y2+e._k*(e._y1-n),e._x2,e._y2)}function Q1(e,t){this._context=e,this._k=(1-t)/6}Q1.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:gf(this,this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2,this._x1=e,this._y1=t;break;case 2:this._point=3;default:gf(this,e,t);break}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};var _A=function e(t){function n(r){return new Q1(r,t)}return n.tension=function(r){return e(+r)},n}(0);function K1(e,t){this._context=e,this._k=(1-t)/6}K1.prototype={areaStart:hi,areaEnd:hi,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x3=e,this._y3=t;break;case 1:this._point=2,this._context.moveTo(this._x4=e,this._y4=t);break;case 2:this._point=3,this._x5=e,this._y5=t;break;default:gf(this,e,t);break}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};var SA=function e(t){function n(r){return new K1(r,t)}return n.tension=function(r){return e(+r)},n}(0);function tw(e,t){this._context=e,this._k=(1-t)/6}tw.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:gf(this,e,t);break}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};var IA=function e(t){function n(r){return new tw(r,t)}return n.tension=function(r){return e(+r)},n}(0);function Nm(e,t,n){var r=e._x1,i=e._y1,o=e._x2,s=e._y2;if(e._l01_a>dA){var a=2*e._l01_2a+3*e._l01_a*e._l12_a+e._l12_2a,c=3*e._l01_a*(e._l01_a+e._l12_a);r=(r*a-e._x0*e._l12_2a+e._x2*e._l01_2a)/c,i=(i*a-e._y0*e._l12_2a+e._y2*e._l01_2a)/c}if(e._l23_a>dA){var l=2*e._l23_2a+3*e._l23_a*e._l12_a+e._l12_2a,u=3*e._l23_a*(e._l23_a+e._l12_a);o=(o*l+e._x1*e._l23_2a-t*e._l12_2a)/u,s=(s*l+e._y1*e._l23_2a-n*e._l12_2a)/u}e._context.bezierCurveTo(r,i,o,s,e._x2,e._y2)}function _F(e,t){this._context=e,this._alpha=t}_F.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){if(e=+e,t=+t,this._point){var n=this._x2-e,r=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3;default:Nm(this,e,t);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};var MA=function e(t){function n(r){return t?new _F(r,t):new Q1(r,0)}return n.alpha=function(r){return e(+r)},n}(.5);function SF(e,t){this._context=e,this._alpha=t}SF.prototype={areaStart:hi,areaEnd:hi,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(e,t){if(e=+e,t=+t,this._point){var n=this._x2-e,r=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=e,this._y3=t;break;case 1:this._point=2,this._context.moveTo(this._x4=e,this._y4=t);break;case 2:this._point=3,this._x5=e,this._y5=t;break;default:Nm(this,e,t);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};var AA=function e(t){function n(r){return t?new SF(r,t):new K1(r,0)}return n.alpha=function(r){return e(+r)},n}(.5);function IF(e,t){this._context=e,this._alpha=t}IF.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){if(e=+e,t=+t,this._point){var n=this._x2-e,r=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:Nm(this,e,t);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};var TA=function e(t){function n(r){return t?new IF(r,t):new tw(r,0)}return n.alpha=function(r){return e(+r)},n}(.5);function MF(e){this._context=e}MF.prototype={areaStart:hi,areaEnd:hi,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(e,t){e=+e,t=+t,this._point?this._context.lineTo(e,t):(this._point=1,this._context.moveTo(e,t))}};function EA(e){return new MF(e)}function AF(e){return e<0?-1:1}function TF(e,t,n){var r=e._x1-e._x0,i=t-e._x1,o=(e._y1-e._y0)/(r||i<0&&-0),s=(n-e._y1)/(i||r<0&&-0),a=(o*i+s*r)/(r+i);return(AF(o)+AF(s))*Math.min(Math.abs(o),Math.abs(s),.5*Math.abs(a))||0}function EF(e,t){var n=e._x1-e._x0;return n?(3*(e._y1-e._y0)/n-t)/2:t}function NA(e,t,n){var r=e._x0,i=e._y0,o=e._x1,s=e._y1,a=(o-r)/3;e._context.bezierCurveTo(r+a,i+a*t,o-a,s-a*n,o,s)}function ew(e){this._context=e}ew.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:NA(this,this._t0,EF(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){var n=NaN;if(e=+e,t=+t,!(e===this._x1&&t===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,NA(this,EF(this,n=TF(this,e,t)),n);break;default:NA(this,this._t0,n=TF(this,e,t));break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=n}}};function NF(e){this._context=new DF(e)}(NF.prototype=Object.create(ew.prototype)).point=function(e,t){ew.prototype.point.call(this,t,e)};function DF(e){this._context=e}DF.prototype={moveTo:function(e,t){this._context.moveTo(t,e)},closePath:function(){this._context.closePath()},lineTo:function(e,t){this._context.lineTo(t,e)},bezierCurveTo:function(e,t,n,r,i,o){this._context.bezierCurveTo(t,e,r,n,o,i)}};function DA(e){return new ew(e)}function OA(e){return new NF(e)}function BF(e){this._context=e}BF.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var e=this._x,t=this._y,n=e.length;if(n)if(this._line?this._context.lineTo(e[0],t[0]):this._context.moveTo(e[0],t[0]),n===2)this._context.lineTo(e[1],t[1]);else for(var r=OF(e),i=OF(t),o=0,s=1;s<n;++o,++s)this._context.bezierCurveTo(r[0][o],i[0][o],r[1][o],i[1][o],e[s],t[s]);(this._line||this._line!==0&&n===1)&&this._context.closePath(),this._line=1-this._line,this._x=this._y=null},point:function(e,t){this._x.push(+e),this._y.push(+t)}};function OF(e){var t,n=e.length-1,r,i=new Array(n),o=new Array(n),s=new Array(n);for(i[0]=0,o[0]=2,s[0]=e[0]+2*e[1],t=1;t<n-1;++t)i[t]=1,o[t]=4,s[t]=4*e[t]+2*e[t+1];for(i[n-1]=2,o[n-1]=7,s[n-1]=8*e[n-1]+e[n],t=1;t<n;++t)r=i[t]/o[t-1],o[t]-=r,s[t]-=r*s[t-1];for(i[n-1]=s[n-1]/o[n-1],t=n-2;t>=0;--t)i[t]=(s[t]-i[t+1])/o[t];for(o[n-1]=(e[n]+i[n-1])/2,t=0;t<n-1;++t)o[t]=2*e[t+1]-i[t+1];return[i,o]}function BA(e){return new BF(e)}function nw(e,t){this._context=e,this._t=t}nw.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0<this._t&&this._t<1&&this._point===2&&this._context.lineTo(this._x,this._y),(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line>=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,t),this._context.lineTo(e,t);else{var n=this._x*(1-this._t)+e*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,t)}break}}this._x=e,this._y=t}};function LA(e){return new nw(e,.5)}function CA(e){return new nw(e,0)}function kA(e){return new nw(e,1)}var Dm=e=>()=>e;function FA(e,{sourceEvent:t,target:n,transform:r,dispatch:i}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:r,enumerable:!0,configurable:!0},_:{value:i}})}function qr(e,t,n){this.k=e,this.x=t,this.y=n}qr.prototype={constructor:qr,scale:function(e){return e===1?this:new qr(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new qr(this.k,this.x+this.k*e,this.y+this.k*t)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var Om=new qr(1,0,0);RA.prototype=qr.prototype;function RA(e){for(;!e.__zoom;)if(!(e=e.parentNode))return Om;return e.__zoom}function rw(e){e.stopImmediatePropagation()}function xf(e){e.preventDefault(),e.stopImmediatePropagation()}function $Z(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function PZ(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function LF(){return this.__zoom||Om}function UZ(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function zZ(){return navigator.maxTouchPoints||"ontouchstart"in this}function qZ(e,t,n){var r=e.invertX(t[0][0])-n[0][0],i=e.invertX(t[1][0])-n[1][0],o=e.invertY(t[0][1])-n[0][1],s=e.invertY(t[1][1])-n[1][1];return e.translate(i>r?(r+i)/2:Math.min(0,r)||Math.max(0,i),s>o?(o+s)/2:Math.min(0,o)||Math.max(0,s))}function $A(){var e=$Z,t=PZ,n=qZ,r=UZ,i=zZ,o=[0,1/0],s=[[-1/0,-1/0],[1/0,1/0]],a=250,c=fI,l=Xc("start","zoom","end"),u,f,d,h=500,p=150,m=0,g=10;function y(S){S.property("__zoom",LF).on("wheel.zoom",A,{passive:!1}).on("mousedown.zoom",T).on("dblclick.zoom",D).filter(i).on("touchstart.zoom",E).on("touchmove.zoom",O).on("touchend.zoom touchcancel.zoom",C).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}y.transform=function(S,M,N,F){var R=S.selection?S.selection():S;R.property("__zoom",LF),S!==R?_(S,M,N,F):R.interrupt().each(function(){v(this,arguments).event(F).start().zoom(null,typeof M=="function"?M.apply(this,arguments):M).end()})},y.scaleBy=function(S,M,N,F){y.scaleTo(S,function(){var R=this.__zoom.k,k=typeof M=="function"?M.apply(this,arguments):M;return R*k},N,F)},y.scaleTo=function(S,M,N,F){y.transform(S,function(){var R=t.apply(this,arguments),k=this.__zoom,$=N==null?w(R):typeof N=="function"?N.apply(this,arguments):N,P=k.invert($),U=typeof M=="function"?M.apply(this,arguments):M;return n(b(x(k,U),$,P),R,s)},N,F)},y.translateBy=function(S,M,N,F){y.transform(S,function(){return n(this.__zoom.translate(typeof M=="function"?M.apply(this,arguments):M,typeof N=="function"?N.apply(this,arguments):N),t.apply(this,arguments),s)},null,F)},y.translateTo=function(S,M,N,F,R){y.transform(S,function(){var k=t.apply(this,arguments),$=this.__zoom,P=F==null?w(k):typeof F=="function"?F.apply(this,arguments):F;return n(Om.translate(P[0],P[1]).scale($.k).translate(typeof M=="function"?-M.apply(this,arguments):-M,typeof N=="function"?-N.apply(this,arguments):-N),k,s)},F,R)};function x(S,M){return M=Math.max(o[0],Math.min(o[1],M)),M===S.k?S:new qr(M,S.x,S.y)}function b(S,M,N){var F=M[0]-N[0]*S.k,R=M[1]-N[1]*S.k;return F===S.x&&R===S.y?S:new qr(S.k,F,R)}function w(S){return[(+S[0][0]+ +S[1][0])/2,(+S[0][1]+ +S[1][1])/2]}function _(S,M,N,F){S.on("start.zoom",function(){v(this,arguments).event(F).start()}).on("interrupt.zoom end.zoom",function(){v(this,arguments).event(F).end()}).tween("zoom",function(){var R=this,k=arguments,$=v(R,k).event(F),P=t.apply(R,k),U=N==null?w(P):typeof N=="function"?N.apply(R,k):N,W=Math.max(P[1][0]-P[0][0],P[1][1]-P[0][1]),et=R.__zoom,rt=typeof M=="function"?M.apply(R,k):M,at=c(et.invert(U).concat(W/et.k),rt.invert(U).concat(W/rt.k));return function(Y){if(Y===1)Y=rt;else{var ot=at(Y),j=W/ot[2];Y=new qr(j,U[0]-ot[0]*j,U[1]-ot[1]*j)}$.zoom(null,Y)}})}function v(S,M,N){return!N&&S.__zooming||new I(S,M)}function I(S,M){this.that=S,this.args=M,this.active=0,this.sourceEvent=null,this.extent=t.apply(S,M),this.taps=0}I.prototype={event:function(S){return S&&(this.sourceEvent=S),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(S,M){return this.mouse&&S!=="mouse"&&(this.mouse[1]=M.invert(this.mouse[0])),this.touch0&&S!=="touch"&&(this.touch0[1]=M.invert(this.touch0[0])),this.touch1&&S!=="touch"&&(this.touch1[1]=M.invert(this.touch1[0])),this.that.__zoom=M,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(S){var M=Vt(this.that).datum();l.call(S,this.that,new FA(S,{sourceEvent:this.sourceEvent,target:y,type:S,transform:this.that.__zoom,dispatch:l}),M)}};function A(S,...M){if(!e.apply(this,arguments))return;var N=v(this,M).event(S),F=this.__zoom,R=Math.max(o[0],Math.min(o[1],F.k*Math.pow(2,r.apply(this,arguments)))),k=kn(S);if(N.wheel)(N.mouse[0][0]!==k[0]||N.mouse[0][1]!==k[1])&&(N.mouse[1]=F.invert(N.mouse[0]=k)),clearTimeout(N.wheel);else{if(F.k===R)return;N.mouse=[k,F.invert(k)],yo(this),N.start()}xf(S),N.wheel=setTimeout($,p),N.zoom("mouse",n(b(x(F,R),N.mouse[0],N.mouse[1]),N.extent,s));function $(){N.wheel=null,N.end()}}function T(S,...M){if(d||!e.apply(this,arguments))return;var N=S.currentTarget,F=v(this,M,!0).event(S),R=Vt(S.view).on("mousemove.zoom",U,!0).on("mouseup.zoom",W,!0),k=kn(S,N),$=S.clientX,P=S.clientY;ap(S.view),rw(S),F.mouse=[k,this.__zoom.invert(k)],yo(this),F.start();function U(et){if(xf(et),!F.moved){var rt=et.clientX-$,at=et.clientY-P;F.moved=rt*rt+at*at>m}F.event(et).zoom("mouse",n(b(F.that.__zoom,F.mouse[0]=kn(et,N),F.mouse[1]),F.extent,s))}function W(et){R.on("mousemove.zoom mouseup.zoom",null),cp(et.view,F.moved),xf(et),F.event(et).end()}}function D(S,...M){if(e.apply(this,arguments)){var N=this.__zoom,F=kn(S.changedTouches?S.changedTouches[0]:S,this),R=N.invert(F),k=N.k*(S.shiftKey?.5:2),$=n(b(x(N,k),F,R),t.apply(this,M),s);xf(S),a>0?Vt(this).transition().duration(a).call(_,$,F,S):Vt(this).call(y.transform,$,F,S)}}function E(S,...M){if(e.apply(this,arguments)){var N=S.touches,F=N.length,R=v(this,M,S.changedTouches.length===F).event(S),k,$,P,U;for(rw(S),$=0;$<F;++$)P=N[$],U=kn(P,this),U=[U,this.__zoom.invert(U),P.identifier],R.touch0?!R.touch1&&R.touch0[2]!==U[2]&&(R.touch1=U,R.taps=0):(R.touch0=U,k=!0,R.taps=1+!!u);u&&(u=clearTimeout(u)),k&&(R.taps<2&&(f=U[0],u=setTimeout(function(){u=null},h)),yo(this),R.start())}}function O(S,...M){if(this.__zooming){var N=v(this,M).event(S),F=S.changedTouches,R=F.length,k,$,P,U;for(xf(S),k=0;k<R;++k)$=F[k],P=kn($,this),N.touch0&&N.touch0[2]===$.identifier?N.touch0[0]=P:N.touch1&&N.touch1[2]===$.identifier&&(N.touch1[0]=P);if($=N.that.__zoom,N.touch1){var W=N.touch0[0],et=N.touch0[1],rt=N.touch1[0],at=N.touch1[1],Y=(Y=rt[0]-W[0])*Y+(Y=rt[1]-W[1])*Y,ot=(ot=at[0]-et[0])*ot+(ot=at[1]-et[1])*ot;$=x($,Math.sqrt(Y/ot)),P=[(W[0]+rt[0])/2,(W[1]+rt[1])/2],U=[(et[0]+at[0])/2,(et[1]+at[1])/2]}else if(N.touch0)P=N.touch0[0],U=N.touch0[1];else return;N.zoom("touch",n(b($,P,U),N.extent,s))}}function C(S,...M){if(this.__zooming){var N=v(this,M).event(S),F=S.changedTouches,R=F.length,k,$;for(rw(S),d&&clearTimeout(d),d=setTimeout(function(){d=null},h),k=0;k<R;++k)$=F[k],N.touch0&&N.touch0[2]===$.identifier?delete N.touch0:N.touch1&&N.touch1[2]===$.identifier&&delete N.touch1;if(N.touch1&&!N.touch0&&(N.touch0=N.touch1,delete N.touch1),N.touch0)N.touch0[1]=this.__zoom.invert(N.touch0[0]);else if(N.end(),N.taps===2&&($=kn($,this),Math.hypot(f[0]-$[0],f[1]-$[1])<g)){var P=Vt(this).on("dblclick.zoom");P&&P.apply(this,arguments)}}}return y.wheelDelta=function(S){return arguments.length?(r=typeof S=="function"?S:Dm(+S),y):r},y.filter=function(S){return arguments.length?(e=typeof S=="function"?S:Dm(!!S),y):e},y.touchable=function(S){return arguments.length?(i=typeof S=="function"?S:Dm(!!S),y):i},y.extent=function(S){return arguments.length?(t=typeof S=="function"?S:Dm([[+S[0][0],+S[0][1]],[+S[1][0],+S[1][1]]]),y):t},y.scaleExtent=function(S){return arguments.length?(o[0]=+S[0],o[1]=+S[1],y):[o[0],o[1]]},y.translateExtent=function(S){return arguments.length?(s[0][0]=+S[0][0],s[1][0]=+S[1][0],s[0][1]=+S[0][1],s[1][1]=+S[1][1],y):[[s[0][0],s[0][1]],[s[1][0],s[1][1]]]},y.constrain=function(S){return arguments.length?(n=S,y):n},y.duration=function(S){return arguments.length?(a=+S,y):a},y.interpolate=function(S){return arguments.length?(c=S,y):c},y.on=function(){var S=l.on.apply(l,arguments);return S===l?y:S},y.clickDistance=function(S){return arguments.length?(m=(S=+S)*S,y):Math.sqrt(m)},y.tapDistance=function(S){return arguments.length?(g=+S,y):g},y}function ze(e){return e!=null&&!Number.isNaN(e)}function dn(e,t){return+ze(t)-+ze(e)||zt(e,t)}function xl(e,t){return+ze(t)-+ze(e)||Hn(e,t)}function Bm(e){return e!=null&&`${e}`!=""}function bf(e){return isFinite(e)?e:NaN}function sr(e){return e>0&&isFinite(e)?e:NaN}function Va(e){return e<0&&isFinite(e)?e:NaN}function wf(e,t){if(e instanceof Date||(e=new Date(+e)),isNaN(e))return typeof t=="function"?t(e):t;let n=e.getUTCHours(),r=e.getUTCMinutes(),i=e.getUTCSeconds(),o=e.getUTCMilliseconds();return`${jZ(e.getUTCFullYear(),4)}-${Hs(e.getUTCMonth()+1,2)}-${Hs(e.getUTCDate(),2)}${n||r||i||o?`T${Hs(n,2)}:${Hs(r,2)}${i||o?`:${Hs(i,2)}${o?`.${Hs(o,3)}`:""}`:""}Z`:""}`}function jZ(e){return e<0?`-${Hs(-e,6)}`:e>9999?`+${Hs(e,6)}`:Hs(e,4)}function Hs(e,t){return`${e}`.padStart(t,"0")}var VZ=/^(?:[-+]\d{2})?\d{4}(?:-\d{2}(?:-\d{2})?)?(?:T\d{2}:\d{2}(?::\d{2}(?:\.\d{3})?)?(?:Z|[-+]\d{2}:?\d{2})?)?$/;function bl(e,t){return VZ.test(e+="")?new Date(e):typeof t=="function"?t(e):t}function Zs(e){if(e==null)return;let t=e[0],n=e[e.length-1];return Hn(t,n)}var _f=1e3,Xa=_f*60,Ga=Xa*60,Oo=Ga*24,Do=Oo*7,wl=Oo*30,Ya=Oo*365,PA=[["millisecond",1],["2 milliseconds",2],["5 milliseconds",5],["10 milliseconds",10],["20 milliseconds",20],["50 milliseconds",50],["100 milliseconds",100],["200 milliseconds",200],["500 milliseconds",500],["second",_f],["5 seconds",5*_f],["15 seconds",15*_f],["30 seconds",30*_f],["minute",Xa],["5 minutes",5*Xa],["15 minutes",15*Xa],["30 minutes",30*Xa],["hour",Ga],["3 hours",3*Ga],["6 hours",6*Ga],["12 hours",12*Ga],["day",Oo],["2 days",2*Oo],["week",Do],["2 weeks",2*Do],["month",wl],["3 months",3*wl],["6 months",6*wl],["year",Ya],["2 years",2*Ya],["5 years",5*Ya],["10 years",10*Ya],["20 years",20*Ya],["50 years",50*Ya],["100 years",100*Ya]],UA=new Map([["second",_f],["minute",Xa],["hour",Ga],["day",Oo],["monday",Do],["tuesday",Do],["wednesday",Do],["thursday",Do],["friday",Do],["saturday",Do],["sunday",Do],["week",Do],["month",wl],["year",Ya]]),kF=new Map([["second",un],["minute",zs],["hour",js],["day",ui],["monday",qa],["tuesday",vb],["wednesday",_b],["thursday",To],["friday",Sb],["saturday",Ib],["sunday",Ur],["week",Ur],["month",Ys],["year",zn]]),zA=new Map([["second",un],["minute",qs],["hour",Vs],["day",pl],["monday",ja],["tuesday",Mb],["wednesday",Ab],["thursday",Eo],["friday",Tb],["saturday",Eb],["sunday",zr],["week",zr],["month",Xs],["year",qn]]),Sf=Symbol("intervalDuration"),ow=Symbol("intervalType");for(let[e,t]of kF)t[Sf]=UA.get(e),t[ow]="time";for(let[e,t]of zA)t[Sf]=UA.get(e),t[ow]="utc";var Lm=[["year",qn,"utc"],["month",Xs,"utc"],["day",pl,"utc",6*wl],["hour",Vs,"utc",3*Oo],["minute",qs,"utc",6*Ga],["second",un,"utc",30*Xa]],iw=[["year",zn,"time"],["month",Ys,"time"],["day",ui,"time",6*wl],["hour",js,"time",3*Oo],["minute",zs,"time",6*Ga],["second",un,"time",30*Xa]],YZ=[Lm[0],iw[0],Lm[1],iw[1],Lm[2],iw[2],...Lm.slice(3)];function sw(e){let t=`${e}`.toLowerCase();t.endsWith("s")&&(t=t.slice(0,-1));let n=1,r=/^(?:(\d+)\s+)/.exec(t);switch(r&&(t=t.slice(r[0].length),n=+r[1]),t){case"quarter":t="month",n*=3;break;case"half":t="month",n*=6;break}let i=zA.get(t);if(!i)throw new Error(`unknown interval: ${e}`);if(n>1&&!i.every)throw new Error(`non-periodic interval: ${t}`);return[t,n]}function qA(e){return FF(sw(e),"time")}function Cm(e){return FF(sw(e),"utc")}function FF([e,t],n){let r=(n==="time"?kF:zA).get(e);return t>1&&(r=r.every(t),r[Sf]=UA.get(e)*t,r[ow]=n),r}function jA(e,t){if(!(t>1))return;let n=e[Sf];if(!PA.some(([,i])=>i===n)||n%Oo===0&&Oo<n&&n<wl)return;let[r]=PA[As(([,i])=>Math.log(i)).center(PA,Math.log(n*t))];return(e[ow]==="time"?qA:Cm)(r)}function CF(e,t,n){let r=t==="time"?lf:No;if(n==null)return r(e==="year"?"%Y":e==="month"?"%Y-%m":e==="day"?"%Y-%m-%d":e==="hour"||e==="minute"?"%Y-%m-%dT%H:%M":e==="second"?"%Y-%m-%dT%H:%M:%S":"%Y-%m-%dT%H:%M:%S.%L");let i=XZ(n);switch(e){case"millisecond":return vf(r(".%L"),r(":%M:%S"),i);case"second":return vf(r(":%S"),r("%-I:%M"),i);case"minute":return vf(r("%-I:%M"),r("%p"),i);case"hour":return vf(r("%-I %p"),r("%b %-d"),i);case"day":return vf(r("%-d"),r("%b"),i);case"month":return vf(r("%b"),r("%Y"),i);case"year":return r("%Y")}throw new Error("unable to format time ticks")}function XZ(e){return e==="left"||e==="right"?(t,n)=>`
|
|
10
|
+
]`}concat(...t){let n=this.schema,r=this.data.concat(t.flatMap(({data:i})=>i));return new e(n,r.map(i=>new Re(n,i)))}slice(t,n){let r=this.schema;[t,n]=pd({length:this.numRows},t,n);let i=f0(this.data,this._offsets,t,n);return new e(r,i.map(o=>new Re(r,o)))}getChild(t){return this.getChildAt(this.schema.fields.findIndex(n=>n.name===t))}getChildAt(t){if(t>-1&&t<this.schema.fields.length){let n=this.data.map(r=>r.children[t]);if(n.length===0){let{type:r}=this.schema.fields[t],i=Dt({type:r,length:0,nullCount:0});n.push(i._changeLengthAndBackfillNullBitmap(this.numRows))}return new Gt(n)}return null}setChild(t,n){var r;return this.setChildAt((r=this.schema.fields)===null||r===void 0?void 0:r.findIndex(i=>i.name===t),n)}setChildAt(t,n){let r=this.schema,i=[...this.batches];if(t>-1&&t<this.numCols){n||(n=new Gt([Dt({type:new Rn,length:this.numRows})]));let o=r.fields.slice(),s=o[t].clone({type:n.type}),a=this.schema.fields.map((c,l)=>this.getChildAt(l));[o[t],a[t]]=[s,n],[r,i]=P0(r,a)}return new e(r,i)}select(t){let n=this.schema.fields.reduce((r,i,o)=>r.set(i.name,o),new Map);return this.selectAt(t.map(r=>n.get(r)).filter(r=>r>-1))}selectAt(t){let n=this.schema.selectAt(t),r=this.batches.map(i=>i.selectAt(t));return new e(n,r)}assign(t){let n=this.schema.fields,[r,i]=t.schema.fields.reduce((a,c,l)=>{let[u,f]=a,h=n.findIndex(d=>d.name===c.name);return~h?f[h]=l:u.push(l),a},[[],[]]),o=this.schema.assign(t.schema),s=[...n.map((a,c)=>[c,i[c]]).map(([a,c])=>c===void 0?this.getChildAt(a):t.getChildAt(c)),...r.map(a=>t.getChildAt(a))].filter(Boolean);return new e(...P0(o,s))}};k5=Symbol.toStringTag;yr[k5]=(e=>(e.schema=null,e.batches=[],e._offsets=new Uint32Array([0]),e._nullCount=-1,e[Symbol.isConcatSpreadable]=!0,e.isValid=mu(gd),e.get=mu(Xe.getVisitFn(B.Struct)),e.set=h0(Sn.getVisitFn(B.Struct)),e.indexOf=d0(Dc.getVisitFn(B.Struct)),"Table"))(yr.prototype);var F5,Re=class e{constructor(...t){switch(t.length){case 2:{if([this.schema]=t,!(this.schema instanceof se))throw new TypeError("RecordBatch constructor expects a [Schema, Data] pair.");if([,this.data=Dt({nullCount:0,type:new be(this.schema.fields),children:this.schema.fields.map(n=>Dt({type:n.type,nullCount:0}))})]=t,!(this.data instanceof ee))throw new TypeError("RecordBatch constructor expects a [Schema, Data] pair.");[this.schema,this.data]=R5(this.schema,this.data.children);break}case 1:{let[n]=t,{fields:r,children:i,length:o}=Object.keys(n).reduce((c,l,u)=>(c.children[u]=n[l],c.length=Math.max(c.length,n[l].length),c.fields[u]=qt.new({name:l,type:n[l].type,nullable:!0}),c),{length:0,fields:new Array,children:new Array}),s=new se(r),a=Dt({type:new be(r),length:o,children:i,nullCount:0});[this.schema,this.data]=R5(s,a.children,o);break}default:throw new TypeError("RecordBatch constructor expects an Object mapping names to child Data, or a [Schema, Data] pair.")}}get dictionaries(){return this._dictionaries||(this._dictionaries=$5(this.schema.fields,this.data.children))}get numCols(){return this.schema.fields.length}get numRows(){return this.data.length}get nullCount(){return this.data.nullCount}isValid(t){return this.data.getValid(t)}get(t){return Xe.visit(this.data,t)}set(t,n){return Sn.visit(this.data,t,n)}indexOf(t,n){return Dc.visit(this.data,t,n)}[Symbol.iterator](){return yu.visit(new Gt([this.data]))}toArray(){return[...this]}concat(...t){return new yr(this.schema,[this,...t])}slice(t,n){let[r]=new Gt([this.data]).slice(t,n).data;return new e(this.schema,r)}getChild(t){var n;return this.getChildAt((n=this.schema.fields)===null||n===void 0?void 0:n.findIndex(r=>r.name===t))}getChildAt(t){return t>-1&&t<this.schema.fields.length?new Gt([this.data.children[t]]):null}setChild(t,n){var r;return this.setChildAt((r=this.schema.fields)===null||r===void 0?void 0:r.findIndex(i=>i.name===t),n)}setChildAt(t,n){let r=this.schema,i=this.data;if(t>-1&&t<this.numCols){n||(n=new Gt([Dt({type:new Rn,length:this.numRows})]));let o=r.fields.slice(),s=i.children.slice(),a=o[t].clone({type:n.type});[o[t],s[t]]=[a,n.data[0]],r=new se(o,new Map(this.schema.metadata)),i=Dt({type:new be(o),children:s})}return new e(r,i)}select(t){let n=this.schema.select(t),r=new be(n.fields),i=[];for(let o of t){let s=this.schema.fields.findIndex(a=>a.name===o);~s&&(i[s]=this.data.children[s])}return new e(n,Dt({type:r,length:this.numRows,children:i}))}selectAt(t){let n=this.schema.selectAt(t),r=t.map(o=>this.data.children[o]).filter(Boolean),i=Dt({type:new be(n.fields),length:this.numRows,children:r});return new e(n,i)}};F5=Symbol.toStringTag;Re[F5]=(e=>(e._nullCount=-1,e[Symbol.isConcatSpreadable]=!0,"RecordBatch"))(Re.prototype);function R5(e,t,n=t.reduce((r,i)=>Math.max(r,i.length),0)){var r;let i=[...e.fields],o=[...t],s=(n+63&-64)>>3;for(let[a,c]of e.fields.entries()){let l=t[a];(!l||l.length!==n)&&(i[a]=c.clone({nullable:!0}),o[a]=(r=l?._changeLengthAndBackfillNullBitmap(n))!==null&&r!==void 0?r:Dt({type:c.type,length:n,nullCount:n,nullBitmap:new Uint8Array(s)}))}return[e.assign(i),Dt({type:new be(i),length:n,children:o})]}function $5(e,t,n=new Map){var r,i;if(((r=e?.length)!==null&&r!==void 0?r:0)>0&&e?.length===t?.length)for(let o=-1,s=e.length;++o<s;){let{type:a}=e[o],c=t[o];for(let l of[c,...((i=c?.dictionary)===null||i===void 0?void 0:i.data)||[]])$5(a.children,l?.children,n);if(H.isDictionary(a)){let{id:l}=a;if(!n.has(l))c?.dictionary&&n.set(l,c.dictionary);else if(n.get(l)!==c.dictionary)throw new Error("Cannot create Schema containing two different dictionaries with the same Id")}}return n}var $c=class extends Re{constructor(t){let n=t.fields.map(i=>Dt({type:i.type})),r=Dt({type:new be(t.fields),nullCount:0,children:n});super(t,r)}};var Ri=class e{constructor(){this.bb=null,this.bb_pos=0}__init(t,n){return this.bb_pos=t,this.bb=n,this}static getRootAsMessage(t,n){return(n||new e).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsMessage(t,n){return t.setPosition(t.position()+4),(n||new e).__init(t.readInt32(t.position())+t.position(),t)}version(){let t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):le.V1}headerType(){let t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readUint8(this.bb_pos+t):jt.NONE}header(t){let n=this.bb.__offset(this.bb_pos,8);return n?this.bb.__union(t,this.bb_pos+n):null}bodyLength(){let t=this.bb.__offset(this.bb_pos,10);return t?this.bb.readInt64(this.bb_pos+t):BigInt("0")}customMetadata(t,n){let r=this.bb.__offset(this.bb_pos,12);return r?(n||new on).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+t*4),this.bb):null}customMetadataLength(){let t=this.bb.__offset(this.bb_pos,12);return t?this.bb.__vector_len(this.bb_pos+t):0}static startMessage(t){t.startObject(5)}static addVersion(t,n){t.addFieldInt16(0,n,le.V1)}static addHeaderType(t,n){t.addFieldInt8(1,n,jt.NONE)}static addHeader(t,n){t.addFieldOffset(2,n,0)}static addBodyLength(t,n){t.addFieldInt64(3,n,BigInt("0"))}static addCustomMetadata(t,n){t.addFieldOffset(4,n,0)}static createCustomMetadataVector(t,n){t.startVector(4,n.length,4);for(let r=n.length-1;r>=0;r--)t.addOffset(n[r]);return t.endVector()}static startCustomMetadataVector(t,n){t.startVector(4,n,4)}static endMessage(t){return t.endObject()}static finishMessageBuffer(t,n){t.finish(n)}static finishSizePrefixedMessageBuffer(t,n){t.finish(n,void 0,!0)}static createMessage(t,n,r,i,o,s){return e.startMessage(t),e.addVersion(t,n),e.addHeaderType(t,r),e.addHeader(t,i),e.addBodyLength(t,o),e.addCustomMetadata(t,s),e.endMessage(t)}};var C2=class extends mt{visit(t,n){return t==null||n==null?void 0:super.visit(t,n)}visitNull(t,n){return Qh.startNull(n),Qh.endNull(n)}visitInt(t,n){return Ei.startInt(n),Ei.addBitWidth(n,t.bitWidth),Ei.addIsSigned(n,t.isSigned),Ei.endInt(n)}visitFloat(t,n){return ba.startFloatingPoint(n),ba.addPrecision(n,t.precision),ba.endFloatingPoint(n)}visitBinary(t,n){return Gh.startBinary(n),Gh.endBinary(n)}visitLargeBinary(t,n){return Hh.startLargeBinary(n),Hh.endLargeBinary(n)}visitBool(t,n){return Wh.startBool(n),Wh.endBool(n)}visitUtf8(t,n){return td.startUtf8(n),td.endUtf8(n)}visitLargeUtf8(t,n){return Zh.startLargeUtf8(n),Zh.endLargeUtf8(n)}visitDecimal(t,n){return ro.startDecimal(n),ro.addScale(n,t.scale),ro.addPrecision(n,t.precision),ro.addBitWidth(n,t.bitWidth),ro.endDecimal(n)}visitDate(t,n){return ma.startDate(n),ma.addUnit(n,t.unit),ma.endDate(n)}visitTime(t,n){return as.startTime(n),as.addUnit(n,t.unit),as.addBitWidth(n,t.bitWidth),as.endTime(n)}visitTimestamp(t,n){let r=t.timezone&&n.createString(t.timezone)||void 0;return cs.startTimestamp(n),cs.addUnit(n,t.unit),r!==void 0&&cs.addTimezone(n,r),cs.endTimestamp(n)}visitInterval(t,n){return wa.startInterval(n),wa.addUnit(n,t.unit),wa.endInterval(n)}visitDuration(t,n){return ya.startDuration(n),ya.addUnit(n,t.unit),ya.endDuration(n)}visitList(t,n){return Jh.startList(n),Jh.endList(n)}visitStruct(t,n){return Kh.startStruct_(n),Kh.endStruct_(n)}visitUnion(t,n){Di.startTypeIdsVector(n,t.typeIds.length);let r=Di.createTypeIdsVector(n,t.typeIds);return Di.startUnion(n),Di.addMode(n,t.mode),Di.addTypeIds(n,r),Di.endUnion(n)}visitDictionary(t,n){let r=this.visit(t.indices,n);return no.startDictionaryEncoding(n),no.addId(n,BigInt(t.id)),no.addIsOrdered(n,t.isOrdered),r!==void 0&&no.addIndexType(n,r),no.endDictionaryEncoding(n)}visitFixedSizeBinary(t,n){return ga.startFixedSizeBinary(n),ga.addByteWidth(n,t.byteWidth),ga.endFixedSizeBinary(n)}visitFixedSizeList(t,n){return xa.startFixedSizeList(n),xa.addListSize(n,t.listSize),xa.endFixedSizeList(n)}visitMap(t,n){return va.startMap(n),va.addKeysSorted(n,t.keysSorted),va.endMap(n)}},U0=new C2;function q5(e,t=new Map){return new se(Yj(e,t),z0(e.metadata),t)}function k2(e){return new In(e.count,V5(e.columns),Y5(e.columns))}function j5(e){return new xr(k2(e.data),e.id,e.isDelta)}function Yj(e,t){return(e.fields||[]).filter(Boolean).map(n=>qt.fromJSON(n,t))}function P5(e,t){return(e.children||[]).filter(Boolean).map(n=>qt.fromJSON(n,t))}function V5(e){return(e||[]).reduce((t,n)=>[...t,new oi(n.count,Xj(n.VALIDITY)),...V5(n.children)],[])}function Y5(e,t=[]){for(let n=-1,r=(e||[]).length;++n<r;){let i=e[n];i.VALIDITY&&t.push(new gr(t.length,i.VALIDITY.length)),i.TYPE_ID&&t.push(new gr(t.length,i.TYPE_ID.length)),i.OFFSET&&t.push(new gr(t.length,i.OFFSET.length)),i.DATA&&t.push(new gr(t.length,i.DATA.length)),t=Y5(i.children,t)}return t}function Xj(e){return(e||[]).reduce((t,n)=>t+ +(n===0),0)}function X5(e,t){let n,r,i,o,s,a;return!t||!(o=e.dictionary)?(s=z5(e,P5(e,t)),i=new qt(e.name,s,e.nullable,z0(e.metadata))):t.has(n=o.id)?(r=(r=o.indexType)?U5(r):new Bi,a=new pr(t.get(n),r,n,o.isOrdered),i=new qt(e.name,a,e.nullable,z0(e.metadata))):(r=(r=o.indexType)?U5(r):new Bi,t.set(n,s=z5(e,P5(e,t))),a=new pr(s,r,n,o.isOrdered),i=new qt(e.name,a,e.nullable,z0(e.metadata))),i||null}function z0(e=[]){return new Map(e.map(({key:t,value:n})=>[t,n]))}function U5(e){return new ke(e.isSigned,e.bitWidth)}function z5(e,t){let n=e.type.name;switch(n){case"NONE":return new Rn;case"null":return new Rn;case"binary":return new io;case"largebinary":return new oo;case"utf8":return new so;case"largeutf8":return new ao;case"bool":return new co;case"list":return new Qr((t||[])[0]);case"struct":return new be(t||[]);case"struct_":return new be(t||[])}switch(n){case"int":{let r=e.type;return new ke(r.isSigned,r.bitWidth)}case"floatingpoint":{let r=e.type;return new Wn(pe[r.precision])}case"decimal":{let r=e.type;return new lo(r.scale,r.precision,r.bitWidth)}case"date":{let r=e.type;return new uo(Ye[r.unit])}case"time":{let r=e.type;return new Jr(ct[r.unit],r.bitWidth)}case"timestamp":{let r=e.type;return new fo(ct[r.unit],r.timezone)}case"interval":{let r=e.type;return new ho(un[r.unit])}case"duration":{let r=e.type;return new po(ct[r.unit])}case"union":{let r=e.type,[i,...o]=(r.mode+"").toLowerCase(),s=i.toUpperCase()+o.join("");return new Kr(xe[s],r.typeIds||[],t||[])}case"fixedsizebinary":{let r=e.type;return new mo(r.byteWidth)}case"fixedsizelist":{let r=e.type;return new ti(r.listSize,(t||[])[0])}case"map":{let r=e.type;return new ei((t||[])[0],r.keysSorted)}}throw new Error(`Unrecognized type: "${n}"`)}var Gj=Mc,Wj=Or,br=class e{static fromJSON(t,n){let r=new e(0,le.V5,n);return r._createHeader=Hj(t,n),r}static decode(t){t=new Wj(_t(t));let n=Ri.getRootAsMessage(t),r=n.bodyLength(),i=n.version(),o=n.headerType(),s=new e(r,i,o);return s._createHeader=Zj(n,o),s}static encode(t){let n=new Gj,r=-1;return t.isSchema()?r=se.encode(n,t.header()):t.isRecordBatch()?r=In.encode(n,t.header()):t.isDictionaryBatch()&&(r=xr.encode(n,t.header())),Ri.startMessage(n),Ri.addVersion(n,le.V5),Ri.addHeader(n,r),Ri.addHeaderType(n,t.headerType),Ri.addBodyLength(n,BigInt(t.bodyLength)),Ri.finishMessageBuffer(n,Ri.endMessage(n)),n.asUint8Array()}static from(t,n=0){if(t instanceof se)return new e(0,le.V5,jt.Schema,t);if(t instanceof In)return new e(n,le.V5,jt.RecordBatch,t);if(t instanceof xr)return new e(n,le.V5,jt.DictionaryBatch,t);throw new Error(`Unrecognized Message header: ${t}`)}get type(){return this.headerType}get version(){return this._version}get headerType(){return this._headerType}get bodyLength(){return this._bodyLength}header(){return this._createHeader()}isSchema(){return this.headerType===jt.Schema}isRecordBatch(){return this.headerType===jt.RecordBatch}isDictionaryBatch(){return this.headerType===jt.DictionaryBatch}constructor(t,n,r,i){this._version=n,this._headerType=r,this.body=new Uint8Array(0),i&&(this._createHeader=()=>i),this._bodyLength=Ne(t)}},In=class{get nodes(){return this._nodes}get length(){return this._length}get buffers(){return this._buffers}constructor(t,n,r){this._nodes=n,this._buffers=r,this._length=Ne(t)}},xr=class{get id(){return this._id}get data(){return this._data}get isDelta(){return this._isDelta}get length(){return this.data.length}get nodes(){return this.data.nodes}get buffers(){return this.data.buffers}constructor(t,n,r=!1){this._data=t,this._isDelta=r,this._id=Ne(n)}},gr=class{constructor(t,n){this.offset=Ne(t),this.length=Ne(n)}},oi=class{constructor(t,n){this.length=Ne(t),this.nullCount=Ne(n)}};function Hj(e,t){return()=>{switch(t){case jt.Schema:return se.fromJSON(e);case jt.RecordBatch:return In.fromJSON(e);case jt.DictionaryBatch:return xr.fromJSON(e)}throw new Error(`Unrecognized Message type: { name: ${jt[t]}, type: ${t} }`)}}function Zj(e,t){return()=>{switch(t){case jt.Schema:return se.decode(e.header(new dr),new Map,e.version());case jt.RecordBatch:return In.decode(e.header(new Lr),e.version());case jt.DictionaryBatch:return xr.decode(e.header(new ss),e.version())}throw new Error(`Unrecognized Message type: { name: ${jt[t]}, type: ${t} }`)}}qt.encode=aV;qt.decode=oV;qt.fromJSON=X5;se.encode=sV;se.decode=Jj;se.fromJSON=q5;In.encode=cV;In.decode=Qj;In.fromJSON=k2;xr.encode=lV;xr.decode=Kj;xr.fromJSON=j5;oi.encode=uV;oi.decode=eV;gr.encode=fV;gr.decode=tV;function Jj(e,t=new Map,n=le.V5){let r=iV(e,t);return new se(r,q0(e),t,n)}function Qj(e,t=le.V5){if(e.compression()!==null)throw new Error("Record batch compression not implemented");return new In(e.length(),nV(e),rV(e,t))}function Kj(e,t=le.V5){return new xr(In.decode(e.data(),t),e.id(),e.isDelta())}function tV(e){return new gr(e.offset(),e.length())}function eV(e){return new oi(e.length(),e.nullCount())}function nV(e){let t=[];for(let n,r=-1,i=-1,o=e.nodesLength();++r<o;)(n=e.nodes(r))&&(t[++i]=oi.decode(n));return t}function rV(e,t){let n=[];for(let r,i=-1,o=-1,s=e.buffersLength();++i<s;)(r=e.buffers(i))&&(t<le.V4&&(r.bb_pos+=8*(i+1)),n[++o]=gr.decode(r));return n}function iV(e,t){let n=[];for(let r,i=-1,o=-1,s=e.fieldsLength();++i<s;)(r=e.fields(i))&&(n[++o]=qt.decode(r,t));return n}function G5(e,t){let n=[];for(let r,i=-1,o=-1,s=e.childrenLength();++i<s;)(r=e.children(i))&&(n[++o]=qt.decode(r,t));return n}function oV(e,t){let n,r,i,o,s,a;return!t||!(a=e.dictionary())?(i=H5(e,G5(e,t)),r=new qt(e.name(),i,e.nullable(),q0(e))):t.has(n=Ne(a.id()))?(o=(o=a.indexType())?W5(o):new Bi,s=new pr(t.get(n),o,n,a.isOrdered()),r=new qt(e.name(),s,e.nullable(),q0(e))):(o=(o=a.indexType())?W5(o):new Bi,t.set(n,i=H5(e,G5(e,t))),s=new pr(i,o,n,a.isOrdered()),r=new qt(e.name(),s,e.nullable(),q0(e))),r||null}function q0(e){let t=new Map;if(e)for(let n,r,i=-1,o=Math.trunc(e.customMetadataLength());++i<o;)(n=e.customMetadata(i))&&(r=n.key())!=null&&t.set(r,n.value());return t}function W5(e){return new ke(e.isSigned(),e.bitWidth())}function H5(e,t){let n=e.typeType();switch(n){case me.NONE:return new Rn;case me.Null:return new Rn;case me.Binary:return new io;case me.LargeBinary:return new oo;case me.Utf8:return new so;case me.LargeUtf8:return new ao;case me.Bool:return new co;case me.List:return new Qr((t||[])[0]);case me.Struct_:return new be(t||[])}switch(n){case me.Int:{let r=e.type(new Ei);return new ke(r.isSigned(),r.bitWidth())}case me.FloatingPoint:{let r=e.type(new ba);return new Wn(r.precision())}case me.Decimal:{let r=e.type(new ro);return new lo(r.scale(),r.precision(),r.bitWidth())}case me.Date:{let r=e.type(new ma);return new uo(r.unit())}case me.Time:{let r=e.type(new as);return new Jr(r.unit(),r.bitWidth())}case me.Timestamp:{let r=e.type(new cs);return new fo(r.unit(),r.timezone())}case me.Interval:{let r=e.type(new wa);return new ho(r.unit())}case me.Duration:{let r=e.type(new ya);return new po(r.unit())}case me.Union:{let r=e.type(new Di);return new Kr(r.mode(),r.typeIdsArray()||[],t||[])}case me.FixedSizeBinary:{let r=e.type(new ga);return new mo(r.byteWidth())}case me.FixedSizeList:{let r=e.type(new xa);return new ti(r.listSize(),(t||[])[0])}case me.Map:{let r=e.type(new va);return new ei((t||[])[0],r.keysSorted())}}throw new Error(`Unrecognized type: "${me[n]}" (${n})`)}function sV(e,t){let n=t.fields.map(o=>qt.encode(e,o));dr.startFieldsVector(e,n.length);let r=dr.createFieldsVector(e,n),i=t.metadata&&t.metadata.size>0?dr.createCustomMetadataVector(e,[...t.metadata].map(([o,s])=>{let a=e.createString(`${o}`),c=e.createString(`${s}`);return on.startKeyValue(e),on.addKey(e,a),on.addValue(e,c),on.endKeyValue(e)})):-1;return dr.startSchema(e),dr.addFields(e,r),dr.addEndianness(e,hV?pa.Little:pa.Big),i!==-1&&dr.addCustomMetadata(e,i),dr.endSchema(e)}function aV(e,t){let n=-1,r=-1,i=-1,o=t.type,s=t.typeId;H.isDictionary(o)?(s=o.dictionary.typeId,i=U0.visit(o,e),r=U0.visit(o.dictionary,e)):r=U0.visit(o,e);let a=(o.children||[]).map(u=>qt.encode(e,u)),c=kn.createChildrenVector(e,a),l=t.metadata&&t.metadata.size>0?kn.createCustomMetadataVector(e,[...t.metadata].map(([u,f])=>{let h=e.createString(`${u}`),d=e.createString(`${f}`);return on.startKeyValue(e),on.addKey(e,h),on.addValue(e,d),on.endKeyValue(e)})):-1;return t.name&&(n=e.createString(t.name)),kn.startField(e),kn.addType(e,r),kn.addTypeType(e,s),kn.addChildren(e,c),kn.addNullable(e,!!t.nullable),n!==-1&&kn.addName(e,n),i!==-1&&kn.addDictionary(e,i),l!==-1&&kn.addCustomMetadata(e,l),kn.endField(e)}function cV(e,t){let n=t.nodes||[],r=t.buffers||[];Lr.startNodesVector(e,n.length);for(let s of n.slice().reverse())oi.encode(e,s);let i=e.endVector();Lr.startBuffersVector(e,r.length);for(let s of r.slice().reverse())gr.encode(e,s);let o=e.endVector();return Lr.startRecordBatch(e),Lr.addLength(e,BigInt(t.length)),Lr.addNodes(e,i),Lr.addBuffers(e,o),Lr.endRecordBatch(e)}function lV(e,t){let n=In.encode(e,t.data);return ss.startDictionaryBatch(e),ss.addId(e,BigInt(t.id)),ss.addIsDelta(e,t.isDelta),ss.addData(e,n),ss.endDictionaryBatch(e)}function uV(e,t){return au.createFieldNode(e,BigInt(t.length),BigInt(t.nullCount))}function fV(e,t){return su.createBuffer(e,BigInt(t.offset),BigInt(t.length))}var hV=(()=>{let e=new ArrayBuffer(2);return new DataView(e).setInt16(0,256,!0),new Int16Array(e)[0]===256})();var F2=e=>`Expected ${jt[e]} Message in stream, but was null or length 0.`,$2=e=>`Header pointer of flatbuffer-encoded ${jt[e]} Message is null or length 0.`,Z5=(e,t)=>`Expected to read ${e} metadata bytes, but only read ${t}.`,J5=(e,t)=>`Expected to read ${e} bytes for message body, but only read ${t}.`,Iu=class{constructor(t){this.source=t instanceof xo?t:new xo(t)}[Symbol.iterator](){return this}next(){let t;return(t=this.readMetadataLength()).done?ve:t.value===-1&&(t=this.readMetadataLength()).done?ve:(t=this.readMetadata(t.value)).done?ve:t}throw(t){return this.source.throw(t)}return(t){return this.source.return(t)}readMessage(t){let n;if((n=this.next()).done)return null;if(t!=null&&n.value.headerType!==t)throw new Error(F2(t));return n.value}readMessageBody(t){if(t<=0)return new Uint8Array(0);let n=_t(this.source.read(t));if(n.byteLength<t)throw new Error(J5(t,n.byteLength));return n.byteOffset%8===0&&n.byteOffset+n.byteLength<=n.buffer.byteLength?n:n.slice()}readSchema(t=!1){let n=jt.Schema,r=this.readMessage(n),i=r?.header();if(t&&!i)throw new Error($2(n));return i}readMetadataLength(){let t=this.source.read(j0),n=t&&new Or(t),r=n?.readInt32(0)||0;return{done:r===0,value:r}}readMetadata(t){let n=this.source.read(t);if(!n)return ve;if(n.byteLength<t)throw new Error(Z5(t,n.byteLength));return{done:!1,value:br.decode(n)}}},Xd=class{constructor(t,n){this.source=t instanceof ri?t:Lg(t)?new Ma(t,n):new ri(t)}[Symbol.asyncIterator](){return this}next(){return J(this,void 0,void 0,function*(){let t;return(t=yield this.readMetadataLength()).done?ve:t.value===-1&&(t=yield this.readMetadataLength()).done?ve:(t=yield this.readMetadata(t.value)).done?ve:t})}throw(t){return J(this,void 0,void 0,function*(){return yield this.source.throw(t)})}return(t){return J(this,void 0,void 0,function*(){return yield this.source.return(t)})}readMessage(t){return J(this,void 0,void 0,function*(){let n;if((n=yield this.next()).done)return null;if(t!=null&&n.value.headerType!==t)throw new Error(F2(t));return n.value})}readMessageBody(t){return J(this,void 0,void 0,function*(){if(t<=0)return new Uint8Array(0);let n=_t(yield this.source.read(t));if(n.byteLength<t)throw new Error(J5(t,n.byteLength));return n.byteOffset%8===0&&n.byteOffset+n.byteLength<=n.buffer.byteLength?n:n.slice()})}readSchema(t=!1){return J(this,void 0,void 0,function*(){let n=jt.Schema,r=yield this.readMessage(n),i=r?.header();if(t&&!i)throw new Error($2(n));return i})}readMetadataLength(){return J(this,void 0,void 0,function*(){let t=yield this.source.read(j0),n=t&&new Or(t),r=n?.readInt32(0)||0;return{done:r===0,value:r}})}readMetadata(t){return J(this,void 0,void 0,function*(){let n=yield this.source.read(t);if(!n)return ve;if(n.byteLength<t)throw new Error(Z5(t,n.byteLength));return{done:!1,value:br.decode(n)}})}},Gd=class extends Iu{constructor(t){super(new Uint8Array(0)),this._schema=!1,this._body=[],this._batchIndex=0,this._dictionaryIndex=0,this._json=t instanceof xd?t:new xd(t)}next(){let{_json:t}=this;if(!this._schema)return this._schema=!0,{done:!1,value:br.fromJSON(t.schema,jt.Schema)};if(this._dictionaryIndex<t.dictionaries.length){let n=t.dictionaries[this._dictionaryIndex++];return this._body=n.data.columns,{done:!1,value:br.fromJSON(n,jt.DictionaryBatch)}}if(this._batchIndex<t.batches.length){let n=t.batches[this._batchIndex++];return this._body=n.columns,{done:!1,value:br.fromJSON(n,jt.RecordBatch)}}return this._body=[],ve}readMessageBody(t){return n(this._body);function n(r){return(r||[]).reduce((i,o)=>[...i,...o.VALIDITY&&[o.VALIDITY]||[],...o.TYPE_ID&&[o.TYPE_ID]||[],...o.OFFSET&&[o.OFFSET]||[],...o.DATA&&[o.DATA]||[],...n(o.children)],[])}}readMessage(t){let n;if((n=this.next()).done)return null;if(t!=null&&n.value.headerType!==t)throw new Error(F2(t));return n.value}readSchema(){let t=jt.Schema,n=this.readMessage(t),r=n?.header();if(!n||!r)throw new Error($2(t));return r}},j0=4,R2="ARROW1",Mu=new Uint8Array(R2.length);for(let e=0;e<R2.length;e+=1)Mu[e]=R2.codePointAt(e);function V0(e,t=0){for(let n=-1,r=Mu.length;++n<r;)if(Mu[n]!==e[t+n])return!1;return!0}var Au=Mu.length,P2=Au+j0,Q5=Au*2+j0;var kr=class e extends Oc{constructor(t){super(),this._impl=t}get closed(){return this._impl.closed}get schema(){return this._impl.schema}get autoDestroy(){return this._impl.autoDestroy}get dictionaries(){return this._impl.dictionaries}get numDictionaries(){return this._impl.numDictionaries}get numRecordBatches(){return this._impl.numRecordBatches}get footer(){return this._impl.isFile()?this._impl.footer:null}isSync(){return this._impl.isSync()}isAsync(){return this._impl.isAsync()}isFile(){return this._impl.isFile()}isStream(){return this._impl.isStream()}next(){return this._impl.next()}throw(t){return this._impl.throw(t)}return(t){return this._impl.return(t)}cancel(){return this._impl.cancel()}reset(t){return this._impl.reset(t),this._DOMStream=void 0,this._nodeStream=void 0,this}open(t){let n=this._impl.open(t);return Dr(n)?n.then(()=>this):this}readRecordBatch(t){return this._impl.isFile()?this._impl.readRecordBatch(t):null}[Symbol.iterator](){return this._impl[Symbol.iterator]()}[Symbol.asyncIterator](){return this._impl[Symbol.asyncIterator]()}toDOMStream(){return _n.toDOMStream(this.isSync()?{[Symbol.iterator]:()=>this}:{[Symbol.asyncIterator]:()=>this})}toNodeStream(){return _n.toNodeStream(this.isSync()?{[Symbol.iterator]:()=>this}:{[Symbol.asyncIterator]:()=>this},{objectMode:!0})}static throughNode(t){throw new Error('"throughNode" not available in this environment')}static throughDOM(t,n){throw new Error('"throughDOM" not available in this environment')}static from(t){return t instanceof e?t:Ng(t)?pV(t):Lg(t)?gV(t):Dr(t)?J(this,void 0,void 0,function*(){return yield e.from(yield t)}):Bg(t)||zh(t)||kg(t)||Hr(t)?yV(new ri(t)):mV(new xo(t))}static readAll(t){return t instanceof e?t.isSync()?K5(t):tL(t):Ng(t)||ArrayBuffer.isView(t)||Mi(t)||Og(t)?K5(t):tL(t)}},bs=class extends kr{constructor(t){super(t),this._impl=t}readAll(){return[...this]}[Symbol.iterator](){return this._impl[Symbol.iterator]()}[Symbol.asyncIterator](){return Er(this,arguments,function*(){yield Ft(yield*iu(Ii(this[Symbol.iterator]())))})}},Pc=class extends kr{constructor(t){super(t),this._impl=t}readAll(){var t,n,r,i;return J(this,void 0,void 0,function*(){let o=new Array;try{for(var s=!0,a=Ii(this),c;c=yield a.next(),t=c.done,!t;s=!0){i=c.value,s=!1;let l=i;o.push(l)}}catch(l){n={error:l}}finally{try{!s&&!t&&(r=a.return)&&(yield r.call(a))}finally{if(n)throw n.error}}return o})}[Symbol.iterator](){throw new Error("AsyncRecordBatchStreamReader is not Iterable")}[Symbol.asyncIterator](){return this._impl[Symbol.asyncIterator]()}},Uc=class extends bs{constructor(t){super(t),this._impl=t}},Y0=class extends Pc{constructor(t){super(t),this._impl=t}},X0=class{get numDictionaries(){return this._dictionaryIndex}get numRecordBatches(){return this._recordBatchIndex}constructor(t=new Map){this.closed=!1,this.autoDestroy=!0,this._dictionaryIndex=0,this._recordBatchIndex=0,this.dictionaries=t}isSync(){return!1}isAsync(){return!1}isFile(){return!1}isStream(){return!1}reset(t){return this._dictionaryIndex=0,this._recordBatchIndex=0,this.schema=t,this.dictionaries=new Map,this}_loadRecordBatch(t,n){let r=this._loadVectors(t,n,this.schema.fields),i=Dt({type:new be(this.schema.fields),length:t.length,children:r});return new Re(this.schema,i)}_loadDictionaryBatch(t,n){let{id:r,isDelta:i}=t,{dictionaries:o,schema:s}=this,a=o.get(r);if(i||!a){let c=s.dictionaries.get(r),l=this._loadVectors(t.data,n,[c]);return(a&&i?a.concat(new Gt(l)):new Gt(l)).memoize()}return a.memoize()}_loadVectors(t,n,r){return new _d(n,t.nodes,t.buffers,this.dictionaries,this.schema.metadataVersion).visitMany(r)}},Tu=class extends X0{constructor(t,n){super(n),this._reader=Ng(t)?new Gd(this._handle=t):new Iu(this._handle=t)}isSync(){return!0}isStream(){return!0}[Symbol.iterator](){return this}cancel(){!this.closed&&(this.closed=!0)&&(this.reset()._reader.return(),this._reader=null,this.dictionaries=null)}open(t){return this.closed||(this.autoDestroy=eL(this,t),this.schema||(this.schema=this._reader.readSchema())||this.cancel()),this}throw(t){return!this.closed&&this.autoDestroy&&(this.closed=!0)?this.reset()._reader.throw(t):ve}return(t){return!this.closed&&this.autoDestroy&&(this.closed=!0)?this.reset()._reader.return(t):ve}next(){if(this.closed)return ve;let t,{_reader:n}=this;for(;t=this._readNextMessageAndValidate();)if(t.isSchema())this.reset(t.header());else if(t.isRecordBatch()){this._recordBatchIndex++;let r=t.header(),i=n.readMessageBody(t.bodyLength);return{done:!1,value:this._loadRecordBatch(r,i)}}else if(t.isDictionaryBatch()){this._dictionaryIndex++;let r=t.header(),i=n.readMessageBody(t.bodyLength),o=this._loadDictionaryBatch(r,i);this.dictionaries.set(r.id,o)}return this.schema&&this._recordBatchIndex===0?(this._recordBatchIndex++,{done:!1,value:new $c(this.schema)}):this.return()}_readNextMessageAndValidate(t){return this._reader.readMessage(t)}},Eu=class extends X0{constructor(t,n){super(n),this._reader=new Xd(this._handle=t)}isAsync(){return!0}isStream(){return!0}[Symbol.asyncIterator](){return this}cancel(){return J(this,void 0,void 0,function*(){!this.closed&&(this.closed=!0)&&(yield this.reset()._reader.return(),this._reader=null,this.dictionaries=null)})}open(t){return J(this,void 0,void 0,function*(){return this.closed||(this.autoDestroy=eL(this,t),this.schema||(this.schema=yield this._reader.readSchema())||(yield this.cancel())),this})}throw(t){return J(this,void 0,void 0,function*(){return!this.closed&&this.autoDestroy&&(this.closed=!0)?yield this.reset()._reader.throw(t):ve})}return(t){return J(this,void 0,void 0,function*(){return!this.closed&&this.autoDestroy&&(this.closed=!0)?yield this.reset()._reader.return(t):ve})}next(){return J(this,void 0,void 0,function*(){if(this.closed)return ve;let t,{_reader:n}=this;for(;t=yield this._readNextMessageAndValidate();)if(t.isSchema())yield this.reset(t.header());else if(t.isRecordBatch()){this._recordBatchIndex++;let r=t.header(),i=yield n.readMessageBody(t.bodyLength);return{done:!1,value:this._loadRecordBatch(r,i)}}else if(t.isDictionaryBatch()){this._dictionaryIndex++;let r=t.header(),i=yield n.readMessageBody(t.bodyLength),o=this._loadDictionaryBatch(r,i);this.dictionaries.set(r.id,o)}return this.schema&&this._recordBatchIndex===0?(this._recordBatchIndex++,{done:!1,value:new $c(this.schema)}):yield this.return()})}_readNextMessageAndValidate(t){return J(this,void 0,void 0,function*(){return yield this._reader.readMessage(t)})}},G0=class extends Tu{get footer(){return this._footer}get numDictionaries(){return this._footer?this._footer.numDictionaries:0}get numRecordBatches(){return this._footer?this._footer.numRecordBatches:0}constructor(t,n){super(t instanceof bd?t:new bd(t),n)}isSync(){return!0}isFile(){return!0}open(t){if(!this.closed&&!this._footer){this.schema=(this._footer=this._readFooter()).schema;for(let n of this._footer.dictionaryBatches())n&&this._readDictionaryBatch(this._dictionaryIndex++)}return super.open(t)}readRecordBatch(t){var n;if(this.closed)return null;this._footer||this.open();let r=(n=this._footer)===null||n===void 0?void 0:n.getRecordBatch(t);if(r&&this._handle.seek(r.offset)){let i=this._reader.readMessage(jt.RecordBatch);if(i?.isRecordBatch()){let o=i.header(),s=this._reader.readMessageBody(i.bodyLength);return this._loadRecordBatch(o,s)}}return null}_readDictionaryBatch(t){var n;let r=(n=this._footer)===null||n===void 0?void 0:n.getDictionaryBatch(t);if(r&&this._handle.seek(r.offset)){let i=this._reader.readMessage(jt.DictionaryBatch);if(i?.isDictionaryBatch()){let o=i.header(),s=this._reader.readMessageBody(i.bodyLength),a=this._loadDictionaryBatch(o,s);this.dictionaries.set(o.id,a)}}}_readFooter(){let{_handle:t}=this,n=t.size-P2,r=t.readInt32(n),i=t.readAt(n-r,r);return fs.decode(i)}_readNextMessageAndValidate(t){var n;if(this._footer||this.open(),this._footer&&this._recordBatchIndex<this.numRecordBatches){let r=(n=this._footer)===null||n===void 0?void 0:n.getRecordBatch(this._recordBatchIndex);if(r&&this._handle.seek(r.offset))return this._reader.readMessage(t)}return null}},U2=class extends Eu{get footer(){return this._footer}get numDictionaries(){return this._footer?this._footer.numDictionaries:0}get numRecordBatches(){return this._footer?this._footer.numRecordBatches:0}constructor(t,...n){let r=typeof n[0]!="number"?n.shift():void 0,i=n[0]instanceof Map?n.shift():void 0;super(t instanceof Ma?t:new Ma(t,r),i)}isFile(){return!0}isAsync(){return!0}open(t){let n=Object.create(null,{open:{get:()=>super.open}});return J(this,void 0,void 0,function*(){if(!this.closed&&!this._footer){this.schema=(this._footer=yield this._readFooter()).schema;for(let r of this._footer.dictionaryBatches())r&&(yield this._readDictionaryBatch(this._dictionaryIndex++))}return yield n.open.call(this,t)})}readRecordBatch(t){var n;return J(this,void 0,void 0,function*(){if(this.closed)return null;this._footer||(yield this.open());let r=(n=this._footer)===null||n===void 0?void 0:n.getRecordBatch(t);if(r&&(yield this._handle.seek(r.offset))){let i=yield this._reader.readMessage(jt.RecordBatch);if(i?.isRecordBatch()){let o=i.header(),s=yield this._reader.readMessageBody(i.bodyLength);return this._loadRecordBatch(o,s)}}return null})}_readDictionaryBatch(t){var n;return J(this,void 0,void 0,function*(){let r=(n=this._footer)===null||n===void 0?void 0:n.getDictionaryBatch(t);if(r&&(yield this._handle.seek(r.offset))){let i=yield this._reader.readMessage(jt.DictionaryBatch);if(i?.isDictionaryBatch()){let o=i.header(),s=yield this._reader.readMessageBody(i.bodyLength),a=this._loadDictionaryBatch(o,s);this.dictionaries.set(o.id,a)}}})}_readFooter(){return J(this,void 0,void 0,function*(){let{_handle:t}=this;t._pending&&(yield t._pending);let n=t.size-P2,r=yield t.readInt32(n),i=yield t.readAt(n-r,r);return fs.decode(i)})}_readNextMessageAndValidate(t){return J(this,void 0,void 0,function*(){if(this._footer||(yield this.open()),this._footer&&this._recordBatchIndex<this.numRecordBatches){let n=this._footer.getRecordBatch(this._recordBatchIndex);if(n&&(yield this._handle.seek(n.offset)))return yield this._reader.readMessage(t)}return null})}},z2=class extends Tu{constructor(t,n){super(t,n)}_loadVectors(t,n,r){return new g0(n,t.nodes,t.buffers,this.dictionaries,this.schema.metadataVersion).visitMany(r)}};function eL(e,t){return t&&typeof t.autoDestroy=="boolean"?t.autoDestroy:e.autoDestroy}function*K5(e){let t=kr.from(e);try{if(!t.open({autoDestroy:!1}).closed)do yield t;while(!t.reset().open().closed)}finally{t.cancel()}}function tL(e){return Er(this,arguments,function*(){let n=yield Ft(kr.from(e));try{if(!(yield Ft(n.open({autoDestroy:!1}))).closed)do yield yield Ft(n);while(!(yield Ft(n.reset().open())).closed)}finally{yield Ft(n.cancel())}})}function pV(e){return new bs(new z2(e))}function mV(e){let t=e.peek(Au+7&-8);return t&&t.byteLength>=4?V0(t)?new Uc(new G0(e.read())):new bs(new Tu(e)):new bs(new Tu(function*(){}()))}function yV(e){return J(this,void 0,void 0,function*(){let t=yield e.peek(Au+7&-8);return t&&t.byteLength>=4?V0(t)?new Uc(new G0(yield e.read())):new Pc(new Eu(e)):new Pc(new Eu(function(){return Er(this,arguments,function*(){})}()))})}function gV(e){return J(this,void 0,void 0,function*(){let{size:t}=yield e.stat(),n=new Ma(e,t);return t>=Q5&&V0(yield n.readAt(0,Au+7&-8))?new Y0(new U2(n)):new Pc(new Eu(n))})}var Ae=class e extends mt{static assemble(...t){let n=i=>i.flatMap(o=>Array.isArray(o)?n(o):o instanceof Re?o.data.children:o.data),r=new e;return r.visitMany(n(t)),r}constructor(){super(),this._byteLength=0,this._nodes=[],this._buffers=[],this._bufferRegions=[]}visit(t){if(t instanceof Gt)return this.visitMany(t.data),this;let{type:n}=t;if(!H.isDictionary(n)){let{length:r}=t;if(r>2147483647)throw new RangeError("Cannot write arrays larger than 2^31 - 1 in length");if(H.isUnion(n))this.nodes.push(new oi(r,0));else{let{nullCount:i}=t;H.isNull(n)||Fi.call(this,i<=0?new Uint8Array(0):Tc(t.offset,r,t.nullBitmap)),this.nodes.push(new oi(r,i))}}return super.visit(t)}visitNull(t){return this}visitDictionary(t){return this.visit(t.clone(t.type.indices))}get nodes(){return this._nodes}get buffers(){return this._buffers}get byteLength(){return this._byteLength}get bufferRegions(){return this._bufferRegions}};function Fi(e){let t=e.byteLength+7&-8;return this.buffers.push(e),this.bufferRegions.push(new gr(this._byteLength,t)),this._byteLength+=t,this}function xV(e){var t;let{type:n,length:r,typeIds:i,valueOffsets:o}=e;if(Fi.call(this,i),n.mode===xe.Sparse)return q2.call(this,e);if(n.mode===xe.Dense){if(e.offset<=0)return Fi.call(this,o),q2.call(this,e);{let s=new Int32Array(r),a=Object.create(null),c=Object.create(null);for(let l,u,f=-1;++f<r;)(l=i[f])!==void 0&&((u=a[l])===void 0&&(u=a[l]=o[f]),s[f]=o[f]-u,c[l]=((t=c[l])!==null&&t!==void 0?t:0)+1);Fi.call(this,s),this.visitMany(e.children.map((l,u)=>{let f=n.typeIds[u],h=a[f],d=c[f];return l.slice(h,Math.min(r,d))}))}}return this}function bV(e){let t;return e.nullCount>=e.length?Fi.call(this,new Uint8Array(0)):(t=e.values)instanceof Uint8Array?Fi.call(this,Tc(e.offset,e.length,t)):Fi.call(this,Ec(e.values))}function ws(e){return Fi.call(this,e.values.subarray(0,e.length*e.stride))}function W0(e){let{length:t,values:n,valueOffsets:r}=e,i=Ne(r[0]),o=Ne(r[t]),s=Math.min(o-i,n.byteLength-i);return Fi.call(this,Fg(-i,t+1,r)),Fi.call(this,n.subarray(i,i+s)),this}function j2(e){let{length:t,valueOffsets:n}=e;if(n){let{[0]:r,[t]:i}=n;return Fi.call(this,Fg(-r,t+1,n)),this.visit(e.children[0].slice(r,i-r))}return this.visit(e.children[0])}function q2(e){return this.visitMany(e.type.children.map((t,n)=>e.children[n]).filter(Boolean))[0]}Ae.prototype.visitBool=bV;Ae.prototype.visitInt=ws;Ae.prototype.visitFloat=ws;Ae.prototype.visitUtf8=W0;Ae.prototype.visitLargeUtf8=W0;Ae.prototype.visitBinary=W0;Ae.prototype.visitLargeBinary=W0;Ae.prototype.visitFixedSizeBinary=ws;Ae.prototype.visitDate=ws;Ae.prototype.visitTimestamp=ws;Ae.prototype.visitTime=ws;Ae.prototype.visitDecimal=ws;Ae.prototype.visitList=j2;Ae.prototype.visitStruct=q2;Ae.prototype.visitUnion=xV;Ae.prototype.visitInterval=ws;Ae.prototype.visitDuration=ws;Ae.prototype.visitFixedSizeList=j2;Ae.prototype.visitMap=j2;var zc=class extends Oc{static throughNode(t){throw new Error('"throughNode" not available in this environment')}static throughDOM(t,n){throw new Error('"throughDOM" not available in this environment')}constructor(t){super(),this._position=0,this._started=!1,this._sink=new go,this._schema=null,this._dictionaryBlocks=[],this._recordBatchBlocks=[],this._dictionaryDeltaOffsets=new Map,Gn(t)||(t={autoDestroy:!0,writeLegacyIpcFormat:!1}),this._autoDestroy=typeof t.autoDestroy=="boolean"?t.autoDestroy:!0,this._writeLegacyIpcFormat=typeof t.writeLegacyIpcFormat=="boolean"?t.writeLegacyIpcFormat:!1}toString(t=!1){return this._sink.toString(t)}toUint8Array(t=!1){return this._sink.toUint8Array(t)}writeAll(t){return Dr(t)?t.then(n=>this.writeAll(n)):Hr(t)?Y2(this,t):V2(this,t)}get closed(){return this._sink.closed}[Symbol.asyncIterator](){return this._sink[Symbol.asyncIterator]()}toDOMStream(t){return this._sink.toDOMStream(t)}toNodeStream(t){return this._sink.toNodeStream(t)}close(){return this.reset()._sink.close()}abort(t){return this.reset()._sink.abort(t)}finish(){return this._autoDestroy?this.close():this.reset(this._sink,this._schema),this}reset(t=this._sink,n=null){return t===this._sink||t instanceof go?this._sink=t:(this._sink=new go,t&&mO(t)?this.toDOMStream({type:"bytes"}).pipeTo(t):t&&yO(t)&&this.toNodeStream({objectMode:!1}).pipe(t)),this._started&&this._schema&&this._writeFooter(this._schema),this._started=!1,this._dictionaryBlocks=[],this._recordBatchBlocks=[],this._dictionaryDeltaOffsets=new Map,(!n||!Fc(n,this._schema))&&(n==null?(this._position=0,this._schema=null):(this._started=!0,this._schema=n,this._writeSchema(n))),this}write(t){let n=null;if(this._sink){if(t==null)return this.finish()&&void 0;if(t instanceof yr&&!(n=t.schema))return this.finish()&&void 0;if(t instanceof Re&&!(n=t.schema))return this.finish()&&void 0}else throw new Error("RecordBatchWriter is closed");if(n&&!Fc(n,this._schema)){if(this._started&&this._autoDestroy)return this.close();this.reset(this._sink,n)}t instanceof Re?t instanceof $c||this._writeRecordBatch(t):t instanceof yr?this.writeAll(t.batches):Mi(t)&&this.writeAll(t)}_writeMessage(t,n=8){let r=n-1,i=br.encode(t),o=i.byteLength,s=this._writeLegacyIpcFormat?4:8,a=o+s+r&~r,c=a-o-s;return t.headerType===jt.RecordBatch?this._recordBatchBlocks.push(new hs(a,t.bodyLength,this._position)):t.headerType===jt.DictionaryBatch&&this._dictionaryBlocks.push(new hs(a,t.bodyLength,this._position)),this._writeLegacyIpcFormat||this._write(Int32Array.of(-1)),this._write(Int32Array.of(a-s)),o>0&&this._write(i),this._writePadding(c)}_write(t){if(this._started){let n=_t(t);n&&n.byteLength>0&&(this._sink.write(n),this._position+=n.byteLength)}return this}_writeSchema(t){return this._writeMessage(br.from(t))}_writeFooter(t){return this._writeLegacyIpcFormat?this._write(Int32Array.of(0)):this._write(Int32Array.of(-1,0))}_writeMagic(){return this._write(Mu)}_writePadding(t){return t>0?this._write(new Uint8Array(t)):this}_writeRecordBatch(t){let{byteLength:n,nodes:r,bufferRegions:i,buffers:o}=Ae.assemble(t),s=new In(t.numRows,r,i),a=br.from(s,n);return this._writeDictionaries(t)._writeMessage(a)._writeBodyBuffers(o)}_writeDictionaryBatch(t,n,r=!1){this._dictionaryDeltaOffsets.set(n,t.length+(this._dictionaryDeltaOffsets.get(n)||0));let{byteLength:i,nodes:o,bufferRegions:s,buffers:a}=Ae.assemble(new Gt([t])),c=new In(t.length,o,s),l=new xr(c,n,r),u=br.from(l,i);return this._writeMessage(u)._writeBodyBuffers(a)}_writeBodyBuffers(t){let n,r,i;for(let o=-1,s=t.length;++o<s;)(n=t[o])&&(r=n.byteLength)>0&&(this._write(n),(i=(r+7&-8)-r)>0&&this._writePadding(i));return this}_writeDictionaries(t){for(let[n,r]of t.dictionaries){let i=this._dictionaryDeltaOffsets.get(n)||0;if(i===0||(r=r?.slice(i)).length>0)for(let o of r.data)this._writeDictionaryBatch(o,n,i>0),i+=o.length}return this}},Wd=class e extends zc{static writeAll(t,n){let r=new e(n);return Dr(t)?t.then(i=>r.writeAll(i)):Hr(t)?Y2(r,t):V2(r,t)}},Hd=class e extends zc{static writeAll(t){let n=new e;return Dr(t)?t.then(r=>n.writeAll(r)):Hr(t)?Y2(n,t):V2(n,t)}constructor(){super(),this._autoDestroy=!0}_writeSchema(t){return this._writeMagic()._writePadding(2)}_writeFooter(t){let n=fs.encode(new fs(t,le.V5,this._recordBatchBlocks,this._dictionaryBlocks));return super._writeFooter(t)._write(n)._write(Int32Array.of(n.byteLength))._writeMagic()}};function V2(e,t){let n=t;t instanceof yr&&(n=t.batches,e.reset(void 0,t.schema));for(let r of n)e.write(r);return e.finish()}function Y2(e,t){var n,r,i,o,s,a,c;return J(this,void 0,void 0,function*(){try{for(n=!0,r=Ii(t);i=yield r.next(),o=i.done,!o;n=!0){c=i.value,n=!1;let l=c;e.write(l)}}catch(l){s={error:l}}finally{try{!n&&!o&&(a=r.return)&&(yield a.call(r))}finally{if(s)throw s.error}}return e.finish()})}function nL(e,t){if(Hr(e))return vV(e,t);if(Mi(e))return wV(e,t);throw new Error("toDOMStream() must be called with an Iterable or AsyncIterable")}function wV(e,t){let n=null,r=t?.type==="bytes"||!1,i=t?.highWaterMark||Math.pow(2,24);return new ReadableStream(Object.assign(Object.assign({},t),{start(s){o(s,n||(n=e[Symbol.iterator]()))},pull(s){n?o(s,n):s.close()},cancel(){(n?.return&&n.return()||!0)&&(n=null)}}),Object.assign({highWaterMark:r?i:void 0},t));function o(s,a){let c,l=null,u=s.desiredSize||null;for(;!(l=a.next(r?u:null)).done;)if(ArrayBuffer.isView(l.value)&&(c=_t(l.value))&&(u!=null&&r&&(u=u-c.byteLength+1),l.value=c),s.enqueue(l.value),u!=null&&--u<=0)return;s.close()}}function vV(e,t){let n=null,r=t?.type==="bytes"||!1,i=t?.highWaterMark||Math.pow(2,24);return new ReadableStream(Object.assign(Object.assign({},t),{start(s){return J(this,void 0,void 0,function*(){yield o(s,n||(n=e[Symbol.asyncIterator]()))})},pull(s){return J(this,void 0,void 0,function*(){n?yield o(s,n):s.close()})},cancel(){return J(this,void 0,void 0,function*(){(n?.return&&(yield n.return())||!0)&&(n=null)})}}),Object.assign({highWaterMark:r?i:void 0},t));function o(s,a){return J(this,void 0,void 0,function*(){let c,l=null,u=s.desiredSize||null;for(;!(l=yield a.next(r?u:null)).done;)if(ArrayBuffer.isView(l.value)&&(c=_t(l.value))&&(u!=null&&r&&(u=u-c.byteLength+1),l.value=c),s.enqueue(l.value),u!=null&&--u<=0)return;s.close()})}}function oL(e){return new X2(e)}var X2=class{constructor(t){this._numChunks=0,this._finished=!1,this._bufferedSize=0;let{["readableStrategy"]:n,["writableStrategy"]:r,["queueingStrategy"]:i="count"}=t,o=dO(t,["readableStrategy","writableStrategy","queueingStrategy"]);this._controller=null,this._builder=Bc(o),this._getSize=i!=="bytes"?rL:iL;let{["highWaterMark"]:s=i==="bytes"?Math.pow(2,14):1e3}=Object.assign({},n),{["highWaterMark"]:a=i==="bytes"?Math.pow(2,14):1e3}=Object.assign({},r);this.readable=new ReadableStream({cancel:()=>{this._builder.clear()},pull:c=>{this._maybeFlush(this._builder,this._controller=c)},start:c=>{this._maybeFlush(this._builder,this._controller=c)}},{highWaterMark:s,size:i!=="bytes"?rL:iL}),this.writable=new WritableStream({abort:()=>{this._builder.clear()},write:()=>{this._maybeFlush(this._builder,this._controller)},close:()=>{this._maybeFlush(this._builder.finish(),this._controller)}},{highWaterMark:a,size:c=>this._writeValueAndReturnChunkSize(c)})}_writeValueAndReturnChunkSize(t){let n=this._bufferedSize;return this._bufferedSize=this._getSize(this._builder.append(t)),this._bufferedSize-n}_maybeFlush(t,n){n!=null&&(this._bufferedSize>=n.desiredSize&&++this._numChunks&&this._enqueue(n,t.toVector()),t.finished&&((t.length>0||this._numChunks===0)&&++this._numChunks&&this._enqueue(n,t.toVector()),!this._finished&&(this._finished=!0)&&this._enqueue(n,null)))}_enqueue(t,n){this._bufferedSize=0,this._controller=null,n==null?t.close():t.enqueue(n)}},rL=e=>{var t;return(t=e?.length)!==null&&t!==void 0?t:0},iL=e=>{var t;return(t=e?.byteLength)!==null&&t!==void 0?t:0};function H0(e,t){let n=new go,r=null,i=new ReadableStream({cancel(){return J(this,void 0,void 0,function*(){yield n.close()})},start(a){return J(this,void 0,void 0,function*(){yield s(a,r||(r=yield o()))})},pull(a){return J(this,void 0,void 0,function*(){r?yield s(a,r):a.close()})}});return{writable:new WritableStream(n,Object.assign({highWaterMark:Math.pow(2,14)},e)),readable:i};function o(){return J(this,void 0,void 0,function*(){return yield(yield kr.from(n)).open(t)})}function s(a,c){return J(this,void 0,void 0,function*(){let l=a.desiredSize,u=null;for(;!(u=yield c.next()).done;)if(a.enqueue(u.value),l!=null&&--l<=0)return;a.close()})}}function Z0(e,t){let n=new this(e),r=new ri(n),i=new ReadableStream({cancel(){return J(this,void 0,void 0,function*(){yield r.cancel()})},pull(s){return J(this,void 0,void 0,function*(){yield o(s)})},start(s){return J(this,void 0,void 0,function*(){yield o(s)})}},Object.assign({highWaterMark:Math.pow(2,14)},t));return{writable:new WritableStream(n,e),readable:i};function o(s){return J(this,void 0,void 0,function*(){let a=null,c=s.desiredSize;for(;a=yield r.read(c||null);)if(s.enqueue(a),c!=null&&(c-=a.byteLength)<=0)return;s.close()})}}function Zd(e){let t=kr.from(e);return Dr(t)?t.then(n=>Zd(n)):t.isAsync()?t.readAll().then(n=>new yr(n)):new yr(t.readAll())}var zV=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},r2),D2),w2),i2),Q_),b2),e2),{compareSchemas:Fc,compareFields:B5,compareTypes:C5});_n.toDOMStream=nL;_e.throughDOM=oL;kr.throughDOM=H0;Uc.throughDOM=H0;bs.throughDOM=H0;zc.throughDOM=Z0;Hd.throughDOM=Z0;Wd.throughDOM=Z0;function J0(e="ws://localhost:3000/"){let t=[],n=!1,r=null,i,o={open(){n=!0,c()},close(){for(n=!1,r=null,i=null;t.length;)t.shift().reject("Socket closed")},error(l){if(r){let{reject:u}=r;r=null,c(),u(l)}else console.error("WebSocket error: ",l)},message({data:l}){if(r){let{query:u,resolve:f,reject:h}=r;if(r=null,c(),typeof l=="string"){let d=JSON.parse(l);d.error?h(d.error):f(d)}else if(u.type==="exec")f();else if(u.type==="arrow")f(Zd(l.arrayBuffer()));else throw new Error(`Unexpected socket data: ${l}`)}else console.log("WebSocket message: ",l)}};function s(){i=new WebSocket(e);for(let l in o)i.addEventListener(l,o[l])}function a(l,u,f){i==null&&s(),t.push({query:l,resolve:u,reject:f}),n&&!r&&c()}function c(){t.length&&(r=t.shift(),i.send(JSON.stringify(r.query)))}return{get connected(){return n},query(l){return new Promise((u,f)=>a(l,u,f))}}}var wr=class{constructor(t,n){t&&(this.table=String(t)),n&&(this.column=n)}get columns(){return this.column?[this.column]:[]}toString(){let{table:t,column:n}=this;if(n){let r=n.startsWith("*")?n:`"${n}"`;return`${t?`${sL(t)}.`:""}${r}`}else return t?sL(t):"NULL"}};function sL(e){return e.split(".").map(n=>`"${n}"`).join(".")}function aL(e,t){return e instanceof wr&&e.column===t}function zt(e){return typeof e=="string"?Aa(e):e}function qc(e){return typeof e=="string"?cL(e):e}function cL(e){return new wr(e)}function Aa(e,t=null){return arguments.length===1&&(t=e,e=null),new wr(e,t)}function wo(e){switch(typeof e){case"boolean":return e?"TRUE":"FALSE";case"string":return`'${e.replace("'","''")}'`;case"number":return Number.isFinite(e)?String(e):"NULL";default:if(e==null)return"NULL";if(e instanceof Date){let t=+e;if(Number.isNaN(t))return"NULL";let n=e.getUTCFullYear(),r=e.getUTCMonth(),i=e.getUTCDate();return t===Date.UTC(n,r,i)?`MAKE_DATE(${n}, ${r+1}, ${i})`:`EPOCH_MS(${t})`}else return e instanceof RegExp?`'${e.source}'`:String(e)}}var vs=e=>typeof e?.addEventListener=="function";function Q0(e){return e instanceof _s}var _s=class{constructor(t,n,r){this._expr=Array.isArray(t)?t:[t],this._deps=n||[],this.annotate(r);let i=this._expr.filter(o=>vs(o));i.length>0?(this._params=Array.from(new Set(i)),this._params.forEach(o=>{o.addEventListener("value",()=>qV(this,this.map?.get("value")))})):this.addEventListener=void 0}get value(){return this}get columns(){let{_params:t,_deps:n}=this;if(t){let r=new Set(t.flatMap(i=>{let o=i.value?.columns;return Array.isArray(o)?o:[]}));if(r.size){let i=new Set(n);return r.forEach(o=>i.add(o)),Array.from(i)}}return n}get column(){return this._deps.length?this._deps[0]:this.columns[0]}annotate(...t){return Object.assign(this,...t)}toString(){return this._expr.map(t=>vs(t)&&!Q0(t)?wo(t.value):t).join("")}addEventListener(t,n){let r=this.map||(this.map=new Map);(r.get(t)||(r.set(t,new Set),r.get(t))).add(n)}};function qV(e,t){if(t?.size)return Promise.allSettled(Array.from(t,n=>n(e)))}function G2(e,t){let n=[e[0]],r=new Set,i=t.length;for(let o=0,s=0;o<i;){let a=t[o];vs(a)?n[++s]=a:(Array.isArray(a?.columns)&&a.columns.forEach(l=>r.add(l)),n[s]+=typeof a=="string"?a:wo(a));let c=e[++o];vs(n[s])?n[++s]=c:n[s]+=c}return{spans:n,cols:Array.from(r)}}function j(e,...t){let{spans:n,cols:r}=G2(e,t);return new _s(n,r)}function W2(e){let t=zt(e);return j`${t} DESC NULLS LAST`.annotate({label:t?.label,desc:!0})}var jc=e=>({value:e,toString:()=>wo(e)});function Jd(e){e(this.op,this),this.children?.forEach(t=>t.visit(e))}function lL(e,t){let n=t.filter(i=>i!=null).map(zt),r=n.map((i,o)=>o?` ${e} `:"");return n.length===1?r.push(""):n.length>1&&(r[0]="(",r.push(")")),j(r,...n).annotate({op:e,children:n,visit:Jd})}var vr=(...e)=>lL("AND",e.flat()),Vc=(...e)=>lL("OR",e.flat()),jV=e=>t=>j`(${e} ${zt(t)})`.annotate({op:e,a:t,visit:Jd}),H2=jV("NOT"),uL=e=>t=>j`(${zt(t)} ${e})`.annotate({op:e,a:t,visit:Jd}),Yc=uL("IS NULL"),Ss=uL("IS NOT NULL"),Ta=e=>(t,n)=>j`(${zt(t)} ${e} ${zt(n)})`.annotate({op:e,a:t,b:n,visit:Jd}),Z2=Ta("="),Xc=Ta("<>"),Is=Ta("<"),Qd=Ta(">"),Ms=Ta("<="),J2=Ta(">="),Q2=Ta("IS DISTINCT FROM"),Du=Ta("IS NOT DISTINCT FROM");function fL(e,t,n,r){t=zt(t);let i=e.startsWith("NOT ")?"NOT ":"";return(n?r?j`${i}(${n[0]} <= ${t} AND ${t} < ${n[1]})`:j`(${t} ${e} ${n[0]} AND ${n[1]})`:j``).annotate({op:e,visit:Jd,field:t,range:n})}var We=(e,t,n)=>fL("BETWEEN",e,t,n),K2=(e,t,n)=>fL("NOT BETWEEN",e,t,n);function Gc(e,t){return Array.from({length:e},()=>t)}function Mn(e,t){return(...n)=>{let r=n.map(zt),i=t?`::${t}`:"";return(r.length?j([`${e}(`,...Gc(r.length-1,", "),`)${i}`],...r):j`${e}()${i}`).annotate({func:e,args:r})}}var tS=Mn("REGEXP_MATCHES"),eS=Mn("CONTAINS"),nS=Mn("PREFIX"),rS=Mn("SUFFIX"),VV=Mn("LOWER"),YV=Mn("UPPER"),XV=Mn("LENGTH"),GV=Mn("ISNAN"),WV=Mn("ISFINITE"),HV=Mn("ISINF");var Kd=class e extends _s{constructor(t,n,r,i,o="",s="",a=""){let c;if(i&&!(o||s||a))c=i?j`${n} OVER "${i}"`:j`${n} OVER ()`;else{let h=o&&s?" ":"",d=(o||s)&&a?" ":"";c=j`${n} OVER (${i?`"${i}" `:""}${o}${h}${s}${d}${a})`}r&&(c=j`(${c})::${r}`);let{_expr:u,_deps:f}=c;super(u,f),this.window=t,this.func=n,this.type=r,this.name=i,this.group=o,this.order=s,this.frame=a}get basis(){return this.column}get label(){let{func:t}=this;return t.label??t.toString()}over(t){let{window:n,func:r,type:i,group:o,order:s,frame:a}=this;return new e(n,r,i,t,o,s,a)}partitionby(...t){let n=t.flat().filter(u=>u).map(zt),r=j(["PARTITION BY ",Gc(n.length-1,", "),""],...n),{window:i,func:o,type:s,name:a,order:c,frame:l}=this;return new e(i,o,s,a,r,c,l)}orderby(...t){let n=t.flat().filter(u=>u).map(zt),r=j(["ORDER BY ",Gc(n.length-1,", "),""],...n),{window:i,func:o,type:s,name:a,group:c,frame:l}=this;return new e(i,o,s,a,c,r,l)}rows(t){let n=hL("ROWS",t),{window:r,func:i,type:o,name:s,group:a,order:c}=this;return new e(r,i,o,s,a,c,n)}range(t){let n=hL("RANGE",t),{window:r,func:i,type:o,name:s,group:a,order:c}=this;return new e(r,i,o,s,a,c,n)}};function hL(e,t){if(vs(t)){let n=j`${t}`;return n.toString=()=>`${e} ${dL(t.value)}`,n}return`${e} ${dL(t)}`}function dL(e){let[t,n]=e,r=t===0?"CURRENT ROW":Number.isFinite(t)?`${Math.abs(t)} PRECEDING`:"UNBOUNDED PRECEDING",i=n===0?"CURRENT ROW":Number.isFinite(n)?`${Math.abs(n)} FOLLOWING`:"UNBOUNDED FOLLOWING";return`BETWEEN ${r} AND ${i}`}function $i(e,t){return(...n)=>{let r=Mn(e)(...n);return new Kd(e,r,t)}}var iS=$i("ROW_NUMBER","INTEGER"),oS=$i("RANK","INTEGER"),sS=$i("DENSE_RANK","INTEGER"),aS=$i("PERCENT_RANK"),cS=$i("CUME_DIST"),lS=$i("NTILE"),uS=$i("LAG"),fS=$i("LEAD"),hS=$i("FIRST_VALUE"),dS=$i("LAST_VALUE"),pS=$i("NTH_VALUE");function Vt(e,...t){return j(e,...t).annotate({aggregate:!0})}var mS=class e extends _s{constructor(t,n,r,i,o){n=(n||[]).map(zt);let{strings:s,exprs:a}=ZV(t,n,r,i,o),{spans:c,cols:l}=G2(s,a);super(c,l),this.aggregate=t,this.args=n,this.type=r,this.isDistinct=i,this.filter=o}get basis(){return this.column}get label(){let{aggregate:t,args:n,isDistinct:r}=this,i=r?"DISTINCT"+(n.length?" ":""):"",o=n.length?`(${i}${n.map(JV).join(", ")})`:"";return`${t.toLowerCase()}${o}`}distinct(){let{aggregate:t,args:n,type:r,filter:i}=this;return new e(t,n,r,!0,i)}where(t){let{aggregate:n,args:r,type:i,isDistinct:o}=this;return new e(n,r,i,o,t)}window(){let{aggregate:t,args:n,type:r,isDistinct:i}=this,o=new e(t,n,null,i);return new Kd(t,o,r)}partitionby(...t){return this.window().partitionby(...t)}orderby(...t){return this.window().orderby(...t)}rows(t){return this.window().rows(t)}range(t){return this.window().range(t)}};function ZV(e,t,n,r,i){let o=`)${n?`::${n}`:""}`,s=[`${e}(${r?"DISTINCT ":""}`],a=[];return t.length?(s=s.concat([...Gc(t.length-1,", "),`${o}${i?" FILTER (WHERE ":""}`,...i?[")"]:[]]),a=[...t,...i?[i]:[]]):s[0]+="*"+o,{exprs:a,strings:s}}function JV(e){let t=wo(e);return t&&t.startsWith('"')&&t.endsWith('"')?t.slice(1,-1):t}function Zt(e,t){return(...n)=>new mS(e,n,t)}var Zn=Zt("COUNT","INTEGER"),tp=Zt("AVG"),QV=Zt("AVG"),yS=Zt("MAD"),si=Zt("MAX"),ai=Zt("MIN"),Rr=Zt("SUM","DOUBLE"),gS=Zt("PRODUCT"),xS=Zt("MEDIAN"),bS=Zt("QUANTILE"),wS=Zt("MODE"),vS=Zt("VARIANCE"),ep=Zt("STDDEV"),_S=Zt("SKEWNESS"),SS=Zt("KURTOSIS"),IS=Zt("ENTROPY"),MS=Zt("VAR_POP"),AS=Zt("STDDEV_POP"),TS=Zt("CORR"),ES=Zt("COVAR_SAMP"),DS=Zt("COVAR_POP"),NS=Zt("REGR_INTERCEPT"),OS=Zt("REGR_SLOPE"),LS=Zt("REGR_COUNT"),KV=Zt("REGR_R2"),BS=Zt("REGR_SYY"),CS=Zt("REGR_SXX"),tY=Zt("REGR_SXY"),kS=Zt("REGR_AVGX"),eY=Zt("REGR_AVGY"),RS=Zt("FIRST"),FS=Zt("LAST"),Nu=Zt("ARG_MIN"),Ou=Zt("ARG_MAX"),$S=Zt("STRING_AGG"),PS=Zt("ARRAY_AGG");function np(e,t){let n=zt(e),r=j`CAST(${n} AS ${t})`;return Object.defineProperty(r,"label",{enumerable:!0,get(){return e.label}}),Object.defineProperty(r,"aggregate",{enumerable:!0,get(){return e.aggregate||!1}}),r}var Lu=e=>np(e,"DOUBLE"),US=e=>np(e,"INTEGER");var zS=e=>j`epoch_ms(${zt(e)})`,qS=e=>{let t=zt(e);return j`MAKE_DATE(2012, MONTH(${t}), 1)`.annotate({label:"month"})},jS=e=>{let t=zt(e);return j`MAKE_DATE(2012, MONTH(${t}), DAY(${t}))`.annotate({label:"date"})},VS=e=>{let t=zt(e);return j`MAKE_DATE(2012, 1, DAY(${t}))`.annotate({label:"date"})};var rp=Mn("ST_AsGeoJSON"),pL=Mn("ST_X"),mL=Mn("ST_Y"),ip=Mn("ST_CENTROID"),YS=e=>pL(ip(e)),XS=e=>mL(ip(e));var dt=class e{static select(...t){return new e().select(...t)}static from(...t){return new e().from(...t)}static with(...t){return new e().with(...t)}static union(...t){return new Wc("UNION",t.flat())}static unionAll(...t){return new Wc("UNION ALL",t.flat())}static intersect(...t){return new Wc("INTERSECT",t.flat())}static except(...t){return new Wc("EXCEPT",t.flat())}static describe(t){let n=t.clone(),{clone:r,toString:i}=n;return Object.assign(n,{describe:!0,clone:()=>e.describe(r.call(n)),toString:()=>`DESCRIBE ${i.call(n)}`})}constructor(){this.query={with:[],select:[],from:[],where:[],groupby:[],having:[],window:[],qualify:[],orderby:[]},this.cteFor=null}clone(){let t=new e;return t.query={...this.query},t}with(...t){let{query:n}=this;if(t.length===0)return n.with;{let r=[],i=(o,s)=>{let a=s.clone();a.cteFor=this,r.push({as:o,query:a})};return t.flat().forEach(o=>{if(o!=null)if(o.as&&o.query)i(o.as,o.query);else for(let s in o)i(s,o[s])}),n.with=n.with.concat(r),this}}select(...t){let{query:n}=this;if(t.length===0)return n.select;{let r=[];for(let o of t.flat())if(o!=null)if(typeof o=="string")r.push({as:o,expr:zt(o)});else if(o instanceof wr)r.push({as:o.column,expr:o});else if(Array.isArray(o))r.push({as:o[0],expr:o[1]});else for(let s in o)r.push({as:K0(s),expr:zt(o[s])});let i=new Set(r.map(o=>o.as));return n.select=n.select.filter(o=>!i.has(o.as)).concat(r.filter(o=>o.expr)),this}}$select(...t){return this.query.select=[],this.select(...t)}distinct(t=!0){return this.query.distinct=!!t,this}from(...t){let{query:n}=this;if(t.length===0)return n.from;{let r=[];return t.flat().forEach(i=>{if(i!=null)if(typeof i=="string")r.push({as:i,from:qc(i)});else if(i instanceof wr)r.push({as:i.table,from:i});else if(op(i)||Q0(i))r.push({from:i});else if(Array.isArray(i))r.push({as:K0(i[0]),from:qc(i[1])});else for(let o in i)r.push({as:K0(o),from:qc(i[o])})}),n.from=n.from.concat(r),this}}$from(...t){return this.query.from=[],this.from(...t)}sample(t,n){let{query:r}=this;if(arguments.length===0)return r.sample;{let i=t;return typeof t=="number"&&(i=t>0&&t<1?{perc:100*t,method:n}:{rows:Math.round(t),method:n}),r.sample=i,this}}where(...t){let{query:n}=this;return t.length===0?n.where:(n.where=n.where.concat(t.flat().filter(r=>r)),this)}$where(...t){return this.query.where=[],this.where(...t)}groupby(...t){let{query:n}=this;return t.length===0?n.groupby:(n.groupby=n.groupby.concat(t.flat().filter(r=>r).map(zt)),this)}$groupby(...t){return this.query.groupby=[],this.groupby(...t)}having(...t){let{query:n}=this;return t.length===0?n.having:(n.having=n.having.concat(t.flat().filter(r=>r)),this)}window(...t){let{query:n}=this;if(t.length===0)return n.window;{let r=[];return t.flat().forEach(i=>{if(i!=null)for(let o in i)r.push({as:K0(o),expr:i[o]})}),n.window=n.window.concat(r),this}}qualify(...t){let{query:n}=this;return t.length===0?n.qualify:(n.qualify=n.qualify.concat(t.flat().filter(r=>r)),this)}orderby(...t){let{query:n}=this;return t.length===0?n.orderby:(n.orderby=n.orderby.concat(t.flat().filter(r=>r).map(zt)),this)}limit(t){let{query:n}=this;return arguments.length===0?n.limit:(n.limit=Number.isFinite(t)?t:void 0,this)}offset(t){let{query:n}=this;return arguments.length===0?n.offset:(n.offset=Number.isFinite(t)?t:void 0,this)}get subqueries(){let{query:t,cteFor:n}=this,i=(n?.query||t).with?.reduce((s,{as:a,query:c})=>(s[a]=c,s),{}),o=[];return t.from.forEach(({from:s})=>{if(op(s))o.push(s);else if(i[s.table]){let a=i[s.table];o.push(a)}}),o}toString(){let{with:t,select:n,distinct:r,from:i,sample:o,where:s,groupby:a,having:c,window:l,qualify:u,orderby:f,limit:h,offset:d}=this.query,p=[];if(t.length){let y=t.map(({as:g,query:x})=>`"${g}" AS (${x})`);p.push(`WITH ${y.join(", ")}`)}let m=n.map(({as:y,expr:g})=>aL(g,y)&&!g.table?`${g}`:`${g} AS "${y}"`);if(p.push(`SELECT${r?" DISTINCT":""} ${m.join(", ")}`),i.length){let y=i.map(({as:g,from:x})=>{let b=op(x)?`(${x})`:`${x}`;return!g||g===x.table?b:`${b} AS "${g}"`});p.push(`FROM ${y.join(", ")}`)}if(s.length){let y=s.map(String).filter(g=>g).join(" AND ");y&&p.push(`WHERE ${y}`)}if(o){let{rows:y,perc:g,method:x,seed:b}=o,w=y?`${y} ROWS`:`${g} PERCENT`,_=x?` (${x}${b!=null?`, ${b}`:""})`:"";p.push(`USING SAMPLE ${w}${_}`)}if(a.length&&p.push(`GROUP BY ${a.join(", ")}`),c.length){let y=c.map(String).filter(g=>g).join(" AND ");y&&p.push(`HAVING ${y}`)}if(l.length){let y=l.map(({as:g,expr:x})=>`"${g}" AS (${x})`);p.push(`WINDOW ${y.join(", ")}`)}if(u.length){let y=u.map(String).filter(g=>g).join(" AND ");y&&p.push(`QUALIFY ${y}`)}return f.length&&p.push(`ORDER BY ${f.join(", ")}`),Number.isFinite(h)&&p.push(`LIMIT ${h}`),Number.isFinite(d)&&p.push(`OFFSET ${d}`),p.join(" ")}},Wc=class e{constructor(t,n){this.op=t,this.queries=n.map(r=>r.clone()),this.query={orderby:[]},this.cteFor=null}clone(){let t=new e(this.op,this.queries);return t.query={...this.query},t}orderby(...t){let{query:n}=this;return t.length===0?n.orderby:(n.orderby=n.orderby.concat(t.flat().filter(r=>r).map(zt)),this)}limit(t){let{query:n}=this;return arguments.length===0?n.limit:(n.limit=Number.isFinite(t)?t:void 0,this)}offset(t){let{query:n}=this;return arguments.length===0?n.offset:(n.offset=Number.isFinite(t)?t:void 0,this)}get subqueries(){let{queries:t,cteFor:n}=this;return n&&t.forEach(r=>r.cteFor=n),t}toString(){let{op:t,queries:n,query:{orderby:r,limit:i,offset:o}}=this,s=[n.join(` ${t} `)];return r.length&&s.push(`ORDER BY ${r.join(", ")}`),Number.isFinite(i)&&s.push(`LIMIT ${i}`),Number.isFinite(o)&&s.push(`OFFSET ${o}`),s.join(" ")}};function op(e){return e instanceof dt||e instanceof Wc}function GS(e){return op(e)&&e.describe}function K0(e){return nY(e)?e.slice(1,-1):e}function nY(e){return e[0]==='"'&&e[e.length-1]==='"'}var tx=e=>e;function yL(){return{apply:tx,invert:tx,sqlApply:zt,sqlInvert:tx}}function rY({base:e=null}={}){if(e==null||e===Math.E)return{apply:Math.log,invert:Math.exp,sqlApply:t=>j`LN(${zt(t)})`,sqlInvert:t=>j`EXP(${t})`};if(e===10)return{apply:Math.log10,invert:t=>Math.pow(10,t),sqlApply:t=>j`LOG(${zt(t)})`,sqlInvert:t=>j`POW(10, ${t})`};{let t=+e;return{apply:n=>Math.log(n)/Math.log(t),invert:n=>Math.pow(t,n),sqlApply:n=>j`LN(${zt(n)}) / LN(${t})`,sqlInvert:n=>j`POW(${t}, ${n})`}}}function iY({constant:e=1}={}){let t=+e;return{apply:n=>Math.sign(n)*Math.log1p(Math.abs(n)),invert:n=>Math.sign(n)*Math.exp(Math.abs(n)-t),sqlApply:n=>(n=zt(n),j`SIGN(${n}) * LN(${t} + ABS(${n}))`),sqlInvert:n=>j`SIGN(${n}) * (EXP(ABS(${n})) - ${t})`}}function oY(){return{apply:e=>Math.sign(e)*Math.sqrt(Math.abs(e)),invert:e=>Math.sign(e)*e*e,sqlApply:e=>(e=zt(e),j`SIGN(${e}) * SQRT(ABS(${e}))`),sqlInvert:e=>j`SIGN(${e}) * (${e}) ** 2`}}function sY({exponent:e=1}={}){let t=+e;return{apply:n=>Math.sign(n)*Math.pow(Math.abs(n),t),invert:n=>Math.sign(n)*Math.pow(Math.abs(n),1/t),sqlApply:n=>(n=zt(n),j`SIGN(${n}) * POW(ABS(${n}), ${t})`),sqlInvert:n=>j`SIGN(${n}) * POW(ABS(${n}), 1/${t})`}}function gL(){return{apply:e=>+e,invert:e=>new Date(e),sqlApply:e=>e instanceof Date?+e:zS(zt(e)),sqlInvert:tx}}var aY={identity:yL,linear:yL,log:rY,symlog:iY,sqrt:oY,pow:sY,time:gL,utc:gL};function sp(e){let t=aY[e.type];return t?{...e,...t(e)}:null}function vo(e,t,{replace:n=!1,temp:r=!0,view:i=!1}={}){return"CREATE"+(n?" OR REPLACE ":" ")+(r?"TEMP ":"")+(i?"VIEW":"TABLE")+(n?" ":" IF NOT EXISTS ")+e+" AS "+t}function ap(e){return`INSTALL ${e}; LOAD ${e}`}function xL(e,{columns:t=Object.keys(e?.[0]||{})}={}){let n=[];if(Array.isArray(t)?(n=t,t=n.reduce((i,o)=>(i[o]=o,i),{})):t&&(n=Object.keys(t)),!n.length)throw new Error("Can not create table from empty column set.");let r=[];for(let i of e){let o=n.map(s=>`${wo(i[s])} AS "${t[s]}"`);r.push(`(SELECT ${o.join(", ")})`)}return r.join(" UNION ALL ")}function ex(e,t,n,r={},i={}){let{select:o=["*"],where:s,view:a,temp:c,replace:l,...u}=r,f=cY({...i,...u}),h=`${e}('${n}'${f?", "+f:""})`,d=s?` WHERE ${s}`:"",p=`SELECT ${o.join(", ")} FROM ${h}${d}`;return vo(t,p,{view:a,temp:c,replace:l})}function HS(e,t,n){return ex("read_csv",e,t,n,{auto_detect:!0,sample_size:-1})}function ZS(e,t,n){return ex("read_json",e,t,n,{auto_detect:!0,json_format:"auto"})}function JS(e,t,n){return ex("read_parquet",e,t,n)}function QS(e,t,n={}){let{options:r,...i}=n;if(r){let o=Array.isArray(r)?r.join(", "):typeof r=="string"?r:Object.entries(r).map(([s,a])=>`${s}=${a}`).join(", ");Object.assign(i,{open_options:o.toUpperCase()})}return ex("st_read",e,t,i)}function KS(e,t,n={}){let{select:r=["*"],...i}=n,o=xL(t),s=r.length===1&&r[0]==="*"?o:`SELECT ${r} FROM ${o}`;return vo(e,s,i)}function cY(e){return Object.entries(e).map(([t,n])=>`${t}=${WS(n)}`).join(", ")}function WS(e){switch(typeof e){case"boolean":return String(e);case"string":return`'${e}'`;case"undefined":case"object":return e==null?"NULL":Array.isArray(e)?"["+e.map(t=>WS(t)).join(", ")+"]":"{"+Object.entries(e).map(([t,n])=>`'${t}': ${WS(n)}`).join(", ")+"}";default:return e}}function wL(e){let t=2166136261;for(let n=0,r=e.length;n<r;++n){let i=e.charCodeAt(n),o=i&65280;o&&(t=bL(t^o>>8)),t=bL(t^i&255)}return lY(t)}function bL(e){return e+(e<<1)+(e<<4)+(e<<7)+(e<<8)+(e<<24)}function lY(e){return e+=e<<13,e^=e>>>7,e+=e<<3,e^=e>>>17,e+=e<<5,e&4294967295}var vL={from:NaN};function rI(e){if(!e.filterIndexable)return vL;let t=e.query(),n=tI(t);if(typeof n!="string"||!t.groupby)return vL;let r=new Set(t.groupby().map(a=>a.column)),i=[],o=[],s={};for(let a of t.select()){let{as:c,expr:{aggregate:l,args:u}}=a,f=l?.toUpperCase?.();switch(f){case"COUNT":case"SUM":i.push({[c]:Vt`SUM("${c}")::DOUBLE`});break;case"AVG":i.push({[c]:fY(s,c,u[0])});break;case"ARG_MAX":i.push({[c]:hY(s,c,u)});break;case"ARG_MIN":i.push({[c]:dY(s,c,u)});break;case"VARIANCE":case"VAR_SAMP":s[c]=null,i.push({[c]:nx(s,u[0],n)});break;case"VAR_POP":s[c]=null,i.push({[c]:nx(s,u[0],n,!1)});break;case"STDDEV":case"STDDEV_SAMP":s[c]=null,i.push({[c]:Vt`SQRT(${nx(s,u[0],n)})`});break;case"STDDEV_POP":s[c]=null,i.push({[c]:Vt`SQRT(${nx(s,u[0],n,!1)})`});break;case"COVAR_SAMP":s[c]=null,i.push({[c]:rx(s,u,n)});break;case"COVAR_POP":s[c]=null,i.push({[c]:rx(s,u,n,!1)});break;case"CORR":s[c]=null,i.push({[c]:_L(s,u,n)});break;case"REGR_COUNT":s[c]=null,i.push({[c]:Vt`${Bu(s,u)}::DOUBLE`});break;case"REGR_AVGX":s[c]=null,i.push({[c]:ML(s,u)});break;case"REGR_AVGY":s[c]=null,i.push({[c]:AL(s,u)});break;case"REGR_SYY":s[c]=null,i.push({[c]:nI(s,0,u,n)});break;case"REGR_SXX":s[c]=null,i.push({[c]:nI(s,1,u,n)});break;case"REGR_SXY":s[c]=null,i.push({[c]:rx(s,u,n,null)});break;case"REGR_SLOPE":s[c]=null,i.push({[c]:TL(s,u,n)});break;case"REGR_INTERCEPT":s[c]=null,i.push({[c]:pY(s,u,n)});break;case"REGR_R2":s[c]=null,i.push({[c]:Vt`(${_L(s,u,n)}) ** 2`});break;case"MAX":case"MIN":case"BIT_AND":case"BIT_OR":case"BIT_XOR":case"BOOL_AND":case"BOOL_OR":case"PRODUCT":i.push({[c]:Vt`${f}("${c}")`});break;default:if(r.has(c))o.push(c);else return null}}return{from:n,dims:o,aggr:i,aux:s}}function Pi(e,...t){let n=t.length?"_"+t.map(uY).join("_"):"";return`__${e}${n}__`}function uY(e){return`${e}`.replaceAll('"',"").replaceAll(" ","_")}function tI(e){let t=e.subqueries;if(e.select){let r=e.from();if(!r.length)return;if(t.length===0)return r[0].from.table}let n=tI(t[0]);for(let r=1;r<t.length;++r){let i=tI(t[r]);if(i!==void 0&&i!==n)return NaN}return n}function SL(e,t){let n=Pi("count",t);return e[n]=Vt`COUNT(${t})`,Vt`SUM(${n})`.annotate({name:n})}function fY(e,t,n){let r=SL(e,n);return Vt`(SUM("${t}" * ${r.name}) / ${r})`}function cp(e,t){return j`(SELECT AVG(${e}) FROM "${t}")`}function hY(e,t,[,n]){let r=Pi("max",n);return e[r]=Vt`MAX(${n})`,Vt`ARG_MAX("${t}", ${r})`}function dY(e,t,[,n]){let r=Pi("min",n);return e[r]=Vt`MIN(${n})`,Vt`ARG_MIN("${t}", ${r})`}function nx(e,t,n,r=!0){let i=SL(e,t),o=Pi("rssq",t),s=Pi("rsum",t),a=j`${t} - ${cp(t,n)}`;return e[o]=Vt`SUM((${a}) ** 2)`,e[s]=Vt`SUM(${a})`,Vt`(SUM(${o}) - (SUM(${s}) ** 2 / ${i})) / (${i}${r?" - 1":""})`}function rx(e,t,n,r=!0){let i=Bu(e,t),o=IL(e,t,n),s=lp(e,1,t,n),a=lp(e,0,t,n),c=r===null?"":r?` / (${i} - 1)`:` / ${i}`;return Vt`(${o} - ${s} * ${a} / ${i})${c}`}function _L(e,t,n){let r=Bu(e,t),i=IL(e,t,n),o=eI(e,1,t,n),s=eI(e,0,t,n),a=lp(e,1,t,n),c=lp(e,0,t,n),l=Vt`(${o} - (${a} ** 2) / ${r})`,u=Vt`(${s} - (${c} ** 2) / ${r})`;return Vt`(${i} - ${a} * ${c} / ${r}) / SQRT(${l} * ${u})`}function Bu(e,[t,n]){let r=Pi("count",t,n);return e[r]=Vt`REGR_COUNT(${t}, ${n})`,Vt`SUM(${r})`.annotate({name:r})}function lp(e,t,n,r){let i=n[t],o=n[1-t],s=Pi("rs",i);return e[s]=Vt`SUM(${i} - ${cp(i,r)}) FILTER (${o} IS NOT NULL)`,Vt`SUM(${s})`}function eI(e,t,n,r){let i=n[t],o=n[1-t],s=Pi("rss",i);return e[s]=Vt`SUM((${i} - ${cp(i,r)}) ** 2) FILTER (${o} IS NOT NULL)`,Vt`SUM(${s})`}function IL(e,t,n){let[r,i]=t,o=Pi("sxy",r,i);return e[o]=Vt`SUM((${i} - ${cp(i,n)}) * (${r} - ${cp(r,n)}))`,Vt`SUM(${o})`}function ML(e,t){let[n,r]=t,i=Bu(e,t),o=Pi("avg",r,n);return e[o]=Vt`REGR_AVGX(${n}, ${r})`,Vt`(SUM(${o} * ${i.name}) / ${i})`}function AL(e,t){let[n,r]=t,i=Bu(e,t),o=Pi("avg",n,r);return e[o]=Vt`REGR_AVGY(${n}, ${r})`,Vt`(SUM(${o} * ${i.name}) / ${i})`}function nI(e,t,n,r){let i=Bu(e,n),o=lp(e,t,n,r),s=eI(e,t,n,r);return Vt`(${s} - (${o} ** 2 / ${i}))`}function TL(e,t,n){let r=rx(e,t,n,null),i=nI(e,1,t,n);return Vt`(${r}) / ${i}`}function pY(e,t,n){let r=ML(e,t),i=AL(e,t),o=TL(e,t,n);return Vt`${i} - (${o}) * ${r}`}var ix=class{constructor(t,{selection:n,temp:r=!0}){this.mc=t,this.selection=n,this.temp=r,this.reset()}reset(){this.enabled=!1,this.clients=null,this.indices=null,this.active=null}clear(){this.indices&&(this.mc.cancel(Array.from(this.indices.values(),t=>t?.result)),this.indices=null)}index(t,n){if(this.clients!==t){let u=Array.from(t,rI).filter(h=>h),f=u[0]?.from;this.enabled=u.length&&u.every(h=>h.from===f),this.clients=t,this.active=null,this.clear()}if(!this.enabled)return!1;n=n||this.selection.active;let{source:r}=n;if(r&&r===this.active?.source)return!0;if(this.clear(),!r)return!1;let i=this.active=mY(n);if(!i)return!1;let o=this.mc.logger();o.warn("DATA CUBE INDEX CONSTRUCTION");let s=this.selection.remove(r),a=this.indices=new Map,{mc:c,temp:l}=this;for(let u of t){if(s.skip(u,n)){a.set(u,null);continue}let f=rI(u);if(!f)continue;let h=u.query(s.predicate(u)).select({...i.columns,...f.aux}).groupby(Object.keys(i.columns)),[d]=h.subqueries;if(d){let b=Object.values(i.columns).flatMap(w=>w.columns);xY(d,b)}let p=h.orderby();h.query.orderby=[];let m=h.toString(),g=`cube_index_${(wL(m)>>>0).toString(16)}`,x=c.exec(vo(g,m,{temp:l}));x.catch(b=>o.error(b)),a.set(u,{table:g,result:x,order:p,...f})}return!0}async update(){let{clients:t,selection:n,active:r}=this,i=r.predicate(n.active.predicate);return Promise.all(Array.from(t).map(o=>this.updateClient(o,i)))}async updateClient(t,n){let{mc:r,indices:i,selection:o}=this;if(!i.has(t))return n=o.predicate(t),r.updateClient(t,t.query(n));let s=this.indices.get(t);if(!s)return;let{table:a,dims:c,aggr:l,order:u=[]}=s,f=dt.select(c,l).from(a).groupby(c).where(n).orderby(u);return r.updateClient(t,f)}};function mY(e){let{source:t,meta:n}=e,r=e.predicate?.columns;if(!n||!r)return null;let{type:i,scales:o,bin:s,pixelSize:a=1}=n,c;if(i==="interval"&&o){let l=o.map(u=>gY(u,a,s));if(l.some(u=>u==null))return null;l.length===1?(c=u=>u?We("active0",u.range.map(l[0])):[],r={active0:l[0](e.predicate.field)}):(c=u=>u?vr(u.children.map(({range:f},h)=>We(`active${h}`,f.map(l[h])))):[],r=Object.fromEntries(e.predicate.children.map((u,f)=>[`active${f}`,l[f](u.field)])))}else if(i==="point")c=l=>l,r=Object.fromEntries(r.map(l=>[`${l}`,zt(l)]));else return null;return{source:t,columns:r,predicate:c}}var yY={ceil:"CEIL",round:"ROUND"};function gY(e,t,n){let{type:r,domain:i,range:o,apply:s,sqlApply:a}=sp(e);if(!s)return;let c=yY[`${n}`.toLowerCase()]||"FLOOR",l=s(Math.min(...i)),u=s(Math.max(...i)),f=r==="identity"?1:Math.abs(o[1]-o[0])/(u-l),h=f/t===1?"":`${f/t}::DOUBLE * `,d=l===0?"":` - ${l}::DOUBLE`;return p=>j`${c}(${h}(${a(p)}${d}))::INTEGER`}function xY(e,t){let n=new Set,r=i=>{n.has(i)||(n.add(i),i.select&&i.from().length&&i.select(t),i.subqueries.forEach(r))};r(e)}var ox=class{constructor(){this._callbacks=new Map}addEventListener(t,n){this._callbacks.has(t)||this._callbacks.set(t,{callbacks:new Set,pending:null,queue:new iI}),this._callbacks.get(t).callbacks.add(n)}removeEventListener(t,n){let r=this._callbacks.get(t);r&&r.callbacks.delete(n)}willEmit(t,n){return n}emitQueueFilter(t,n){return null}cancel(t){this._callbacks.get(t)?.queue.clear()}emit(t,n){let r=this._callbacks.get(t)||{};if(r.pending)r.queue.enqueue(n,this.emitQueueFilter(t,n));else{let i=this.willEmit(t,n),{callbacks:o,queue:s}=r;if(o?.size){let a=Array.from(o,c=>c(i));r.pending=Promise.allSettled(a).then(()=>{r.pending=null,s.isEmpty()||this.emit(t,s.dequeue())})}}}},iI=class{constructor(){this.clear()}clear(){this.next=null}isEmpty(){return!this.next}enqueue(t,n){let r={value:t};if(n&&this.next){let i=this;for(;i.next;)n(i.next.value)?i=i.next:i.next=i.next.next;i.next=r}else this.next=r}dequeue(){let{next:t}=this;return this.next=t?.next,t?.value}};function up(e,t){return e===t?!1:e instanceof Date&&t instanceof Date?+e!=+t:Array.isArray(e)&&Array.isArray(t)?bY(e,t):!0}function bY(e,t){if(e.length!==t.length)return!0;for(let n=0;n<e.length;++n)if(e[n]!==t[n])return!0;return!1}function _r(e){return e instanceof Ea}var Ea=class e extends ox{constructor(t){super(),this._value=t}static value(t){return new e(t)}static array(t){if(t.some(n=>_r(n))){let n=new e,r=()=>{n.update(t.map(i=>_r(i)?i.value:i))};return r(),t.forEach(i=>_r(i)?i.addEventListener("value",r):0),n}return new e(t)}get value(){return this._value}update(t,{force:n}={}){return up(this._value,t)||n?this.emit("value",t):this.cancel("value"),this}willEmit(t,n){return t==="value"&&(this._value=n),n}};function Fr(e){return e instanceof As}var As=class e extends Ea{static intersect({cross:t=!1}={}){return new e(new Hc({cross:t}))}static union({cross:t=!1}={}){return new e(new Hc({cross:t,union:!0}))}static single({cross:t=!1}={}){return new e(new Hc({cross:t,single:!0}))}static crossfilter(){return new e(new Hc({cross:!0}))}constructor(t=new Hc){super([]),this._resolved=this._value,this._resolver=t}clone(){let t=new e(this._resolver);return t._value=t._resolved=this._value,t}remove(t){let n=this.clone();return n._value=n._resolved=n._resolver.resolve(this._resolved,{source:t}),n._value.active={source:t},n}get resolver(){return this._resolver}get single(){return this._resolver.single}get clauses(){return super.value}get active(){return this.clauses.active}get value(){return this.active?.value}valueFor(t){return this.clauses.find(n=>n.source===t)?.value}activate(t){this.emit("activate",t)}update(t){return this._resolved=this._resolver.resolve(this._resolved,t,!0),this._resolved.active=t,super.update(this._resolved)}willEmit(t,n){return t==="value"?(this._value=n,this.value):n}emitQueueFilter(t,n){return t==="value"?this._resolver.queueFilter(n):null}skip(t,n){return this._resolver.skip(t,n)}predicate(t,n=!1){let{clauses:r}=this,i=n?null:r.active;return this._resolver.predicate(r,i,t)}},Hc=class{constructor({union:t,cross:n,single:r}={}){this.union=!!t,this.cross=!!n,this.single=!!r}resolve(t,n,r=!1){let{source:i,predicate:o}=n,s=t.filter(c=>i!==c.source),a=this.single?[]:s;return this.single&&r&&s.forEach(c=>c.source?.reset?.()),o&&a.push(n),a}skip(t,n){return this.cross&&n?.clients?.has(t)}predicate(t,n,r){let{union:i}=this;if(this.skip(r,n))return;let o=t.filter(s=>!this.skip(r,s)).map(s=>s.predicate);return i&&o.length>1?Vc(o):o}queueFilter(t){if(this.cross){let n=t.active?.source;return r=>r.active?.source!==n}return null}};var sx=class{constructor(t,n,r=!0){this.mc=t,this.selection=n,this.clients=new Set,this.indexer=null,this.index(r);let{value:i,activate:o}=this.handlers={value:()=>this.update(),activate:s=>{this.indexer?.index(this.clients,s)}};n.addEventListener("value",i),n.addEventListener("activate",o)}finalize(){let{value:t,activate:n}=this.handlers;this.selection.removeEventListener("value",t),this.selection.removeEventListener("activate",n)}index(t){let{selection:n}=this,{resolver:r}=n;this.indexer=t&&(r.single||!r.union)?new ix(this.mc,{...t,selection:n}):null}reset(){this.indexer?.reset()}add(t){return(this.clients=new Set(this.clients)).add(t),this}remove(t){return this.clients.has(t)&&(this.clients=new Set(this.clients)).delete(t),this}update(){let{mc:t,indexer:n,clients:r,selection:i}=this;return n?.index(r)?n.update():wY(t,r,i)}};function wY(e,t,n){return Promise.all(Array.from(t).map(r=>{let i=n.predicate(r);if(i!=null)return e.updateClient(r,r.query(i))}))}function ax(){let e,t,n=new Promise((r,i)=>{e=r,t=i});return Object.assign(n,{fulfill:r=>(e(r),n),reject:r=>(t(r),n)})}function vY(e){return(typeof requestAnimationFrame<"u"?requestAnimationFrame:typeof setImmediate<"u"?setImmediate:setTimeout)(e)}function EL(e,t,n){let r=[],i=0;function o(){let s=_Y(r,t);r=[],i=0;for(let a of s)IY(a,e,n),TY(a,t)}return{add(s,a){s.request.type==="arrow"?(i=i||vY(()=>o()),r.push({entry:s,priority:a,index:r.length})):e(s,a)}}}function _Y(e,t){let n=[],r=new Map;for(let i of e){let{entry:{request:o}}=i,s=SY(o.query,t);if(!r.has(s)){let a=[];n.push(a),r.set(s,a)}r.get(s).push(i)}return n}function SY(e,t){let n=`${e}`;if(e instanceof dt&&!t.get(n)){if(e.orderby().length||e.where().length||e.qualify().length||e.having().length)return n;let r=e.clone().$select("*"),i=e.groupby();if(i.length){let o={};e.select().forEach(({as:s,expr:a})=>o[s]=a),r.$groupby(i.map(s=>s instanceof wr&&o[s.column]||s))}return`${r}`}else return n}function IY(e,t,n){if(MY(e))t({request:{type:"arrow",cache:!1,record:!1,query:e.query=AY(e,n)},result:e.result=ax()});else for(let{entry:r,priority:i}of e)t(r,i)}function MY(e){if(e.length>1){let t=`${e[0].entry.request.query}`;for(let n=1;n<e.length;++n)if(t!==`${e[n].entry.request.query}`)return!0}return!1}function AY(e,t){let n=e.maps=[],r=new Map;for(let s of e){let{query:a}=s.entry.request,c=[];n.push(c);for(let{as:l,expr:u}of a.select()){let f=`${u}`;r.has(f)||r.set(f,[`col${r.size}`,u]);let[h]=r.get(f);c.push([h,l])}t(`${a}`)}let i=e[0].entry.request.query.clone(),o=i.groupby();if(o.length){let s={};e.maps[0].forEach(([a,c])=>s[c]=a),i.$groupby(o.map(a=>a instanceof wr&&s[a.column]||a))}return i.$select(Array.from(r.values()))}async function TY(e,t){let{maps:n,query:r,result:i}=e;if(!n)return;let o;try{o=await i}catch(a){for(let{entry:c}of e)c.result.reject(a);return}let s=GS(r);e.forEach(({entry:a},c)=>{let{request:l,result:u}=a,f=n[c],h=s&&f?DY(o,f):f?EY(o,f):o;l.cache&&t.set(String(l.query),h),u.fulfill(h)})}function EY(e,t){let n={};for(let[r,i]of t)n[i]=e.getChild(r);return new e.constructor(n)}function DY(e,t){let n=new Map(t),r=[];for(let i of e)n.has(i.column_name)&&r.push({...i,column_name:n.get(i.column_name)});return r}var NY=typeof requestIdleCallback<"u"?requestIdleCallback:setTimeout,DL=()=>({get:()=>{},set:(e,t)=>t,clear:()=>{}});function NL({max:e=1e3,ttl:t=3*60*60*1e3}={}){let n=new Map;function r(){let i=performance.now()-t,o=null,s=1/0;for(let[a,c]of n){let{last:l}=c;l<s&&(o=a,s=l),i>l&&n.delete(a)}o&&n.delete(o)}return{get(i){let o=n.get(i);if(o)return o.last=performance.now(),o.value},set(i,o){return n.set(i,{last:performance.now(),value:o}),n.size>e&&NY(r),o},clear(){n=new Map}}}function OL(e){let t=Array.from({length:e},()=>({head:null,tail:null}));return{isEmpty(){return t.every(n=>!n.head)},insert(n,r){let i=t[r];if(!i)throw new Error(`Invalid queue priority rank: ${r}`);let o={item:n,next:null};i.head===null?i.head=i.tail=o:i.tail=i.tail.next=o},remove(n){for(let r of t){let{head:i,tail:o}=r;for(let s=null,a=i;a;s=a,a=a.next)n(a.item)&&(a===i?i=a.next:s.next=a.next,a===o&&(o=s||i));r.head=i,r.tail=o}},next(){for(let n of t){let{head:r}=n;if(r!==null)return n.head=r.next,n.tail===r&&(n.tail=null),r.item}}}}var _o={High:0,Normal:1,Low:2},cx=class{constructor(){this.queue=OL(3),this.db=null,this.clientCache=null,this._logger=null,this._logQueries=!1,this.recorders=[],this.pending=null,this._consolidate=null}next(){if(this.pending||this.queue.isEmpty())return;let{request:t,result:n}=this.queue.next();this.pending=this.submit(t,n),this.pending.finally(()=>{this.pending=null,this.next()})}enqueue(t,n=_o.Normal){this.queue.insert(t,n),this.next()}recordQuery(t){this.recorders.length&&t&&this.recorders.forEach(n=>n.add(t))}async submit(t,n){try{let{query:r,type:i,cache:o=!1,record:s=!0,options:a}=t,c=r?`${r}`:null;if(s&&this.recordQuery(c),o){let f=this.clientCache.get(c);if(f){this._logger.debug("Cache"),n.fulfill(f);return}}let l=performance.now();this._logQueries&&this._logger.debug("Query",{type:i,sql:c,...a});let u=await this.db.query({type:i,sql:c,...a});o&&this.clientCache.set(c,u),this._logger.debug(`Request: ${(performance.now()-l).toFixed(1)}`),n.fulfill(u)}catch(r){n.reject(r)}}cache(t){return t!==void 0?this.clientCache=t===!0?NL():t||DL():this.clientCache}logger(t){return t?this._logger=t:this._logger}logQueries(t){return t!==void 0?this._logQueries=!!t:this._logQueries}connector(t){return t?this.db=t:this.db}consolidate(t){t&&!this._consolidate?this._consolidate=EL(this.enqueue.bind(this),this.clientCache,this.recordQuery.bind(this)):!t&&this._consolidate&&(this._consolidate=null)}request(t,n=_o.Normal){let r=ax(),i={request:t,result:r};return this._consolidate?this._consolidate.add(i,n):this.enqueue(i,n),r}cancel(t){let n=new Set(t);this.queue.remove(({result:r})=>n.has(r))}clear(){this.queue.remove(({result:t})=>(t.reject("Cleared"),!0))}record(){let t=[],n={add(r){t.push(r)},reset(){t=[]},snapshot(){return t.slice()},stop(){return this.recorders=this.recorders.filter(r=>r!==n),t}};return this.recorders.push(n),n}};function oI(e){switch(e){case"BIGINT":case"HUGEINT":case"INTEGER":case"SMALLINT":case"TINYINT":case"UBIGINT":case"UINTEGER":case"USMALLINT":case"UTINYINT":case"DOUBLE":case"FLOAT":case"REAL":return"number";case"DATE":case"TIMESTAMP":case"TIMESTAMPTZ":case"TIMESTAMP WITH TIME ZONE":case"TIME":case"TIMESTAMP_NS":return"date";case"BOOLEAN":return"boolean";case"VARCHAR":case"UUID":case"JSON":return"string";case"ARRAY":case"LIST":return"array";case"BLOB":case"STRUCT":case"MAP":case"GEOMETRY":return"object";default:if(e.startsWith("DECIMAL"))return"number";if(e.startsWith("STRUCT")||e.startsWith("MAP"))return"object";if(e.endsWith("]"))return"array";throw new Error(`Unsupported type: ${e}`)}}function sI(e){return typeof e?.getChild=="function"}function aI(e){if(H.isTimestamp(e))return t=>t==null?t:new Date(t);if(H.isInt(e)&&e.bitWidth>=64)return t=>t==null?t:Number(t);if(H.isDecimal(e)){let t=1/Math.pow(10,e.scale);return n=>n==null?n:BL(n,t)}return t=>t}function cI(e){let{type:t}=e;if(H.isTimestamp(t)){let n=e.length,r=new Array(n);for(let i=0;i<n;++i){let o=e.get(i);r[i]=o==null?null:new Date(o)}return r}if(H.isInt(t)&&t.bitWidth>=64){let n=e.length,r=e.nullCount?new Array(n):new Float64Array(n);for(let i=0;i<n;++i){let o=e.get(i);r[i]=o==null?null:Number(o)}return r}if(H.isDecimal(t)){let n=1/Math.pow(10,t.scale),r=e.length,i=e.nullCount?new Array(r):new Float64Array(r);for(let o=0;o<r;++o){let s=e.get(o);i[o]=s==null?null:BL(s,n)}return i}return e.nullCount?Array.from(e):e.toArray()}var LL=Array.from({length:8},(e,t)=>Math.pow(2,t*32));function BL(e,t){let n=e.length,r=0;if(e.signed&&(e[n-1]|0)<0){for(let i=0;i<n;++i)r+=~e[i]*LL[i];r=-(r+1)}else for(let i=0;i<n;++i)r+=e[i]*LL[i];return r*t}var OY="count",LY="nulls",BY="max",CY="min",kY="distinct";var RY={[OY]:Zn,[kY]:e=>Zn(e).distinct(),[BY]:si,[CY]:ai,[LY]:e=>Zn().where(Yc(e))};function FY(e,t,n){return dt.from(e).select(Array.from(n,r=>[r,RY[r](t)]))}async function CL(e,t){return t.length===1&&`${t[0].column}`=="*"?PY(e,t[0].table):(await Promise.all(t.map(n=>$Y(e,n)))).filter(n=>n)}async function $Y(e,{table:t,column:n,stats:r}){let i=dt.from({source:t}).select({column:n}).groupby(n.aggregate?j`ALL`:[]),[o]=Array.from(await e.query(dt.describe(i))),s={table:t,column:`${n}`,sqlType:o.column_type,type:oI(o.column_type),nullable:o.null==="YES"};if(!(r?.length||r?.size))return s;let a=await e.query(FY(t,n,r),{persist:!0});for(let c=0;c<a.numCols;++c){let{name:l}=a.schema.fields[c],u=a.getChildAt(c),f=aI(u.type);s[l]=f(u.get(0))}return s}async function PY(e,t){let n=await e.query(`DESCRIBE ${qc(t)}`);return Array.from(n).map(r=>({table:t,column:r.column_name,sqlType:r.column_type,type:oI(r.column_type),nullable:r.null==="YES"}))}function kL(){return{debug(){},info(){},log(){},warn(){},error(){}}}var lx;function ci(e){return e?lx=e:lx==null&&(lx=new fp),lx}var fp=class{constructor(t=J0(),n={}){let{logger:r=console,manager:i=new cx}=n;this.manager=i,this.logger(r),this.configure(n),this.databaseConnector(t),this.clear()}logger(t){return arguments.length&&(this._logger=t||kL(),this.manager.logger(this._logger)),this._logger}configure({cache:t=!0,consolidate:n=!0,indexes:r=!0}={}){this.manager.cache(t),this.manager.consolidate(n),this.indexes=r}clear({clients:t=!0,cache:n=!0}={}){this.manager.clear(),t&&(this.clients?.forEach(r=>this.disconnect(r)),this.filterGroups?.forEach(r=>r.finalize()),this.clients=new Set,this.filterGroups=new Map),n&&this.manager.cache().clear()}databaseConnector(t){return this.manager.connector(t)}cancel(t){this.manager.cancel(t)}exec(t,{priority:n=_o.Normal}={}){return t=Array.isArray(t)?t.join(`;
|
|
11
|
+
`):t,this.manager.request({type:"exec",query:t},n)}query(t,{type:n="arrow",cache:r=!0,priority:i=_o.Normal,...o}={}){return this.manager.request({type:n,query:t,cache:r,options:o},i)}prefetch(t,n={}){return this.query(t,{...n,cache:!0,priority:_o.Low})}createBundle(t,n,r=_o.Low){let i={name:t,queries:n};return this.manager.request({type:"create-bundle",options:i},r)}loadBundle(t,n=_o.High){let r={name:t};return this.manager.request({type:"load-bundle",options:r},n)}updateClient(t,n,r=_o.Normal){return t.queryPending(),this.query(n,{priority:r}).then(i=>t.queryResult(i).update(),i=>{t.queryError(i),this._logger.error(i)})}requestQuery(t,n){return this.filterGroups.get(t.filterBy)?.reset(),n?this.updateClient(t,n):t.update()}async connect(t){let{clients:n,filterGroups:r,indexes:i}=this;if(n.has(t))throw new Error("Client already connected.");n.add(t),t.coordinator=this;let o=t.fields();o?.length&&t.fieldInfo(await CL(this,o));let s=t.filterBy;if(s)if(r.has(s))r.get(s).add(t);else{let a=new sx(this,s,i);r.set(s,a.add(t))}t.requestQuery()}disconnect(t){let{clients:n,filterGroups:r}=this;n.has(t)&&(n.delete(t),r.get(t.filterBy)?.remove(t),t.coordinator=null)}};function hp(e,t,{source:n,clients:r=void 0}){let i=t!==void 0?Du(e,jc(t)):null;return{meta:{type:"point"},source:n,clients:r,value:t,predicate:i}}function dp(e,t,{source:n,clients:r=void 0}){let i=null;if(t){let o=t.map(s=>{let a=s.map((c,l)=>Du(e[l],jc(c)));return a.length>1?vr(a):a[0]});i=o.length>1?Vc(o):o[0]}return{meta:{type:"point"},source:n,clients:r,value:t,predicate:i}}function Zc(e,t,{source:n,clients:r,bin:i,scale:o,pixelSize:s=1}){let a=t!=null?We(e,t):null;return{meta:{type:"interval",scales:[o],bin:i,pixelSize:s},source:n,clients:r,value:t,predicate:a}}function lI(e,t,{source:n,clients:r,bin:i,scales:o=[],pixelSize:s=1}){let a=t!=null?vr(e.map((l,u)=>We(l,t[u]))):null;return{meta:{type:"interval",scales:o,bin:i,pixelSize:s},source:n,clients:r,value:t,predicate:a}}var UY={contains:eS,prefix:nS,suffix:rS,regexp:tS};function uI(e,t,{source:n,clients:r=void 0,method:i="contains"}){let o=UY[i],s=t?o(e,jc(t)):null;return{meta:{type:"match",method:i},source:n,clients:r,value:t,predicate:s}}function fI(){let e=new Set,t,n=new Promise(r=>t=r);return{pending(r){e.add(r)},ready(r){return e.delete(r),e.size===0},resolve(){n=new Promise(r=>{t(),t=r})},get promise(){return n}}}var QN={};Tr(QN,{Fixed:()=>So,Param:()=>Ea,Query:()=>dt,Selection:()=>As,agg:()=>Vt,align:()=>F6,and:()=>vr,area:()=>_D,areaX:()=>SD,areaY:()=>ID,argmax:()=>Ou,argmin:()=>Nu,arrayAgg:()=>PS,arrow:()=>gN,aspectRatio:()=>$6,avg:()=>tp,axis:()=>P6,axisFx:()=>_N,axisFy:()=>SN,axisX:()=>wN,axisY:()=>vN,barX:()=>ED,barY:()=>DD,bin:()=>s_,cast:()=>np,castDouble:()=>Lu,castInteger:()=>US,cell:()=>ND,cellX:()=>OD,cellY:()=>LD,centroid:()=>ip,centroidX:()=>YS,centroidY:()=>XS,circle:()=>PD,colorBase:()=>AE,colorClamp:()=>pE,colorConstant:()=>EE,colorDomain:()=>hE,colorExponent:()=>TE,colorInterpolate:()=>xE,colorLabel:()=>vE,colorLegend:()=>HN,colorN:()=>mE,colorNice:()=>yE,colorPercent:()=>_E,colorPivot:()=>bE,colorRange:()=>dE,colorReverse:()=>SE,colorScale:()=>fE,colorScheme:()=>gE,colorSymmetric:()=>wE,colorTickFormat:()=>ME,colorZero:()=>IE,column:()=>Aa,contour:()=>rN,coordinator:()=>ci,corr:()=>TS,count:()=>Zn,covarPop:()=>DS,covariance:()=>ES,create:()=>vo,cume_dist:()=>cS,dateDay:()=>VS,dateMonth:()=>qS,dateMonthDay:()=>jS,delaunayLink:()=>pN,delaunayMesh:()=>mN,denseLine:()=>nN,dense_rank:()=>sS,density:()=>eN,densityX:()=>KD,densityY:()=>tN,dot:()=>RD,dotX:()=>FD,dotY:()=>$D,entropy:()=>IS,eq:()=>Z2,errorbarX:()=>uN,errorbarY:()=>fN,facetGrid:()=>f8,facetLabel:()=>h8,facetMargin:()=>s8,facetMarginBottom:()=>c8,facetMarginLeft:()=>l8,facetMarginRight:()=>u8,facetMarginTop:()=>a8,first:()=>RS,first_value:()=>hS,frame:()=>bN,from:()=>nz,fxAlign:()=>b8,fxAriaDescription:()=>F8,fxAriaLabel:()=>R8,fxAxis:()=>S8,fxDomain:()=>d8,fxFontVariant:()=>k8,fxGrid:()=>N8,fxInset:()=>m8,fxInsetLeft:()=>y8,fxInsetRight:()=>g8,fxLabel:()=>L8,fxLabelAnchor:()=>B8,fxLabelOffset:()=>C8,fxLine:()=>O8,fxPadding:()=>w8,fxPaddingInner:()=>v8,fxPaddingOuter:()=>_8,fxRange:()=>p8,fxReverse:()=>$8,fxRound:()=>x8,fxTickFormat:()=>E8,fxTickPadding:()=>T8,fxTickRotate:()=>D8,fxTickSize:()=>M8,fxTickSpacing:()=>A8,fxTicks:()=>I8,fyAlign:()=>Y8,fyAriaDescription:()=>lE,fyAriaLabel:()=>cE,fyAxis:()=>H8,fyDomain:()=>P8,fyFontVariant:()=>aE,fyGrid:()=>nE,fyInset:()=>z8,fyInsetBottom:()=>j8,fyInsetTop:()=>q8,fyLabel:()=>iE,fyLabelAnchor:()=>oE,fyLabelOffset:()=>sE,fyLine:()=>rE,fyPadding:()=>X8,fyPaddingInner:()=>G8,fyPaddingOuter:()=>W8,fyRange:()=>U8,fyReverse:()=>uE,fyRound:()=>V8,fyTickFormat:()=>tE,fyTickPadding:()=>K8,fyTickRotate:()=>eE,fyTickSize:()=>J8,fyTickSpacing:()=>Q8,fyTicks:()=>Z8,geo:()=>EN,geojson:()=>rp,graticule:()=>NN,grid:()=>z6,gridFx:()=>AN,gridFy:()=>TN,gridX:()=>IN,gridY:()=>MN,gt:()=>Qd,gte:()=>J2,hconcat:()=>ZU,heatmap:()=>iN,height:()=>L6,hexagon:()=>UD,hexbin:()=>aN,hexgrid:()=>cN,highlight:()=>ON,hspace:()=>KU,hull:()=>yN,image:()=>QD,inset:()=>U6,intervalX:()=>PN,intervalXY:()=>zN,intervalY:()=>UN,isBetween:()=>We,isDistinct:()=>Q2,isNotBetween:()=>K2,isNotDistinct:()=>Du,isNotNull:()=>Ss,isNull:()=>Yc,kurtosis:()=>SS,label:()=>q6,lag:()=>uS,last:()=>FS,last_value:()=>dS,lead:()=>fS,lengthBase:()=>cD,lengthClamp:()=>iD,lengthConstant:()=>uD,lengthDomain:()=>nD,lengthExponent:()=>lD,lengthNice:()=>oD,lengthPercent:()=>sD,lengthRange:()=>rD,lengthScale:()=>eD,lengthZero:()=>aD,line:()=>MD,lineX:()=>AD,lineY:()=>TD,link:()=>xN,literal:()=>jc,loadCSV:()=>HS,loadExtension:()=>ap,loadJSON:()=>ZS,loadObjects:()=>KS,loadParquet:()=>JS,loadSpatial:()=>QS,lt:()=>Is,lte:()=>Ms,mad:()=>yS,margin:()=>E6,marginBottom:()=>R6,marginLeft:()=>B6,marginRight:()=>C6,marginTop:()=>k6,margins:()=>T6,max:()=>si,median:()=>xS,menu:()=>VU,min:()=>ai,mode:()=>wS,name:()=>M6,nearest:()=>RN,nearestX:()=>FN,nearestY:()=>$N,neq:()=>Xc,not:()=>H2,nth_value:()=>pS,ntile:()=>lS,opacityBase:()=>PE,opacityClamp:()=>LE,opacityConstant:()=>zE,opacityDomain:()=>NE,opacityExponent:()=>UE,opacityLabel:()=>CE,opacityLegend:()=>ZN,opacityNice:()=>BE,opacityPercent:()=>kE,opacityRange:()=>OE,opacityReverse:()=>RE,opacityScale:()=>DE,opacityTickFormat:()=>$E,opacityZero:()=>FE,or:()=>Vc,padding:()=>j6,pan:()=>qN,panX:()=>jN,panY:()=>VN,panZoom:()=>YN,panZoomX:()=>XN,panZoomY:()=>GN,percent_rank:()=>aS,plot:()=>rz,product:()=>gS,projectionClip:()=>vD,projectionDomain:()=>mD,projectionInset:()=>yD,projectionInsetBottom:()=>wD,projectionInsetLeft:()=>gD,projectionInsetRight:()=>xD,projectionInsetTop:()=>bD,projectionParallels:()=>hD,projectionPrecision:()=>dD,projectionRotate:()=>pD,projectionType:()=>fD,quantile:()=>bS,rBase:()=>QE,rClamp:()=>WE,rConstant:()=>tD,rDomain:()=>XE,rExponent:()=>KE,rNice:()=>HE,rPercent:()=>ZE,rRange:()=>GE,rScale:()=>YE,rZero:()=>JE,rank:()=>oS,raster:()=>oN,rasterTile:()=>sN,rect:()=>BD,rectX:()=>CD,rectY:()=>kD,regressionY:()=>lN,row_number:()=>iS,ruleX:()=>VD,ruleY:()=>YD,search:()=>YU,skewness:()=>_S,slider:()=>XU,sphere:()=>DN,spike:()=>JD,sql:()=>j,stddev:()=>ep,stddevPop:()=>AS,stringAgg:()=>$S,style:()=>N6,sum:()=>Rr,symbolDomain:()=>jE,symbolLegend:()=>JN,symbolRange:()=>VE,symbolScale:()=>qE,table:()=>GU,text:()=>zD,textX:()=>qD,textY:()=>jD,tickX:()=>XD,tickY:()=>GD,toggle:()=>Jl,toggleColor:()=>kN,toggleX:()=>LN,toggleY:()=>BN,toggleZ:()=>CN,varPop:()=>MS,variance:()=>vS,vconcat:()=>HU,vector:()=>WD,vectorX:()=>HD,vectorY:()=>ZD,voronoi:()=>hN,voronoiMesh:()=>dN,vspace:()=>QU,width:()=>O6,xAlign:()=>K6,xAriaDescription:()=>x4,xAriaLabel:()=>g4,xAxis:()=>r4,xBase:()=>_4,xClamp:()=>J6,xConstant:()=>I4,xDomain:()=>Y6,xExponent:()=>S4,xFontVariant:()=>y4,xGrid:()=>u4,xInset:()=>W6,xInsetLeft:()=>H6,xInsetRight:()=>Z6,xLabel:()=>h4,xLabelAnchor:()=>d4,xLabelArrow:()=>p4,xLabelOffset:()=>m4,xLine:()=>f4,xNice:()=>G6,xPadding:()=>t4,xPaddingInner:()=>e4,xPaddingOuter:()=>n4,xPercent:()=>b4,xRange:()=>X6,xReverse:()=>w4,xRound:()=>Q6,xScale:()=>V6,xTickFormat:()=>c4,xTickPadding:()=>a4,xTickRotate:()=>l4,xTickSize:()=>o4,xTickSpacing:()=>s4,xTicks:()=>i4,xZero:()=>v4,xyDomain:()=>D6,yAlign:()=>C4,yAriaDescription:()=>K4,yAriaLabel:()=>Q4,yAxis:()=>$4,yBase:()=>r8,yClamp:()=>L4,yConstant:()=>o8,yDomain:()=>A4,yExponent:()=>i8,yFontVariant:()=>J4,yGrid:()=>Y4,yInset:()=>D4,yInsetBottom:()=>O4,yInsetTop:()=>N4,yLabel:()=>G4,yLabelAnchor:()=>W4,yLabelArrow:()=>H4,yLabelOffset:()=>Z4,yLine:()=>X4,yNice:()=>E4,yPadding:()=>k4,yPaddingInner:()=>R4,yPaddingOuter:()=>F4,yPercent:()=>t8,yRange:()=>T4,yReverse:()=>e8,yRound:()=>B4,yScale:()=>M4,yTickFormat:()=>j4,yTickPadding:()=>q4,yTickRotate:()=>V4,yTickSize:()=>U4,yTickSpacing:()=>z4,yTicks:()=>P4,yZero:()=>n8});var So=Symbol("Fixed"),An=Symbol("Transient"),pp=Symbol("Transform");var a6={};Tr(a6,{Area:()=>zl,Arrow:()=>Ay,BarX:()=>Ty,BarY:()=>Ey,Cell:()=>ql,Contour:()=>Uy,Density:()=>jy,Dot:()=>jl,Frame:()=>xy,Geo:()=>Vy,Hexgrid:()=>Yy,Image:()=>Xy,Line:()=>Vl,Link:()=>Iy,Mark:()=>St,Raster:()=>Ry,Rect:()=>Xl,RuleX:()=>dy,RuleY:()=>py,Text:()=>$l,TickX:()=>Ly,TickY:()=>By,Tip:()=>by,Vector:()=>Ul,area:()=>Sy,areaX:()=>hc,areaY:()=>la,arrow:()=>N9,auto:()=>z9,autoSpec:()=>BT,axisFx:()=>hv,axisFy:()=>fv,axisX:()=>yy,axisY:()=>my,barX:()=>Ko,barY:()=>ts,bin:()=>ca,binX:()=>Jo,binY:()=>Qo,bollinger:()=>yc,bollingerX:()=>G9,bollingerY:()=>W9,boxX:()=>H9,boxY:()=>Z9,cell:()=>dc,cellX:()=>L9,cellY:()=>B9,centroid:()=>XP,circle:()=>R9,cluster:()=>YP,column:()=>xn,contour:()=>oP,crosshair:()=>cP,crosshairX:()=>lP,crosshairY:()=>uP,delaunayLink:()=>dP,delaunayMesh:()=>pP,density:()=>bP,differenceY:()=>_P,dodgeX:()=>sU,dodgeY:()=>aU,dot:()=>_i,dotX:()=>C9,dotY:()=>k9,filter:()=>jF,find:()=>QF,formatIsoDate:()=>eT,formatMonth:()=>K7,formatWeekday:()=>t$,frame:()=>Kf,geo:()=>Rv,geoCentroid:()=>GP,graticule:()=>IP,gridFx:()=>yv,gridFy:()=>pv,gridX:()=>mv,gridY:()=>dv,group:()=>oy,groupX:()=>ec,groupY:()=>nc,groupZ:()=>iy,hexagon:()=>F9,hexbin:()=>MP,hexgrid:()=>AP,hull:()=>mP,identity:()=>G,image:()=>EP,indexOf:()=>Ee,initializer:()=>Me,interpolateNearest:()=>$y,interpolateNone:()=>kv,interpolatorBarycentric:()=>Fy,interpolatorRandomWalk:()=>Py,legend:()=>Q$,line:()=>Yl,lineX:()=>pc,lineY:()=>mc,linearRegressionX:()=>OP,linearRegressionY:()=>LP,link:()=>Av,map:()=>Ir,mapX:()=>hh,mapY:()=>dh,marks:()=>nn,normalize:()=>Yv,normalizeX:()=>fU,normalizeY:()=>hU,plot:()=>vy,pointer:()=>ac,pointerX:()=>cc,pointerY:()=>sa,raster:()=>eP,rect:()=>Ny,rectX:()=>lh,rectY:()=>uh,reverse:()=>VF,ruleX:()=>Xr,ruleY:()=>Gr,scale:()=>oc,select:()=>pU,selectFirst:()=>Zy,selectLast:()=>Jy,selectMaxX:()=>Hv,selectMaxY:()=>Zv,selectMinX:()=>Gv,selectMinY:()=>Wv,shiftX:()=>dU,shuffle:()=>YF,sort:()=>Nw,sphere:()=>SP,spike:()=>L$,stackX:()=>NT,stackX1:()=>v9,stackX2:()=>_9,stackY:()=>OT,stackY1:()=>S9,stackY2:()=>I9,text:()=>Zo,textX:()=>iv,textY:()=>ov,tickX:()=>Lv,tickY:()=>Bv,tip:()=>bv,transform:()=>bn,tree:()=>KT,treeLink:()=>zv,treeNode:()=>Gy,valueof:()=>wt,vector:()=>bT,vectorX:()=>cv,vectorY:()=>lv,voronoi:()=>yP,voronoiMesh:()=>gP,window:()=>ph,windowX:()=>q9,windowY:()=>j9});function Ot(e,t){return e==null||t==null?NaN:e<t?-1:e>t?1:e>=t?0:NaN}function Jn(e,t){return e==null||t==null?NaN:t<e?-1:t>e?1:t>=e?0:NaN}function Ts(e){let t,n,r;e.length!==2?(t=Ot,n=(a,c)=>Ot(e(a),c),r=(a,c)=>e(a)-c):(t=e===Ot||e===Jn?e:jY,n=e,r=e);function i(a,c,l=0,u=a.length){if(l<u){if(t(c,c)!==0)return u;do{let f=l+u>>>1;n(a[f],c)<0?l=f+1:u=f}while(l<u)}return l}function o(a,c,l=0,u=a.length){if(l<u){if(t(c,c)!==0)return u;do{let f=l+u>>>1;n(a[f],c)<=0?l=f+1:u=f}while(l<u)}return l}function s(a,c,l=0,u=a.length){let f=i(a,c,l,u-1);return f>l&&r(a[f-1],c)>-r(a[f],c)?f-1:f}return{left:i,center:s,right:o}}function jY(){return 0}function mp(e){return e===null?NaN:+e}function*RL(e,t){if(t===void 0)for(let n of e)n!=null&&(n=+n)>=n&&(yield n);else{let n=-1;for(let r of e)(r=t(r,++n,e))!=null&&(r=+r)>=r&&(yield r)}}var FL=Ts(Ot),$L=FL.right,VY=FL.left,YY=Ts(mp).center,Es=$L;var yp=PL(UL),hI=PL(XY);function PL(e){return function(t,n,r=n){if(!((n=+n)>=0))throw new RangeError("invalid rx");if(!((r=+r)>=0))throw new RangeError("invalid ry");let{data:i,width:o,height:s}=t;if(!((o=Math.floor(o))>=0))throw new RangeError("invalid width");if(!((s=Math.floor(s!==void 0?s:i.length/o))>=0))throw new RangeError("invalid height");if(!o||!s||!n&&!r)return t;let a=n&&e(n),c=r&&e(r),l=i.slice();return a&&c?(Cu(a,l,i,o,s),Cu(a,i,l,o,s),Cu(a,l,i,o,s),ku(c,i,l,o,s),ku(c,l,i,o,s),ku(c,i,l,o,s)):a?(Cu(a,i,l,o,s),Cu(a,l,i,o,s),Cu(a,i,l,o,s)):c&&(ku(c,i,l,o,s),ku(c,l,i,o,s),ku(c,i,l,o,s)),t}}function Cu(e,t,n,r,i){for(let o=0,s=r*i;o<s;)e(t,n,o,o+=r,1)}function ku(e,t,n,r,i){for(let o=0,s=r*i;o<r;++o)e(t,n,o,o+s,r)}function XY(e){let t=UL(e);return(n,r,i,o,s)=>{i<<=2,o<<=2,s<<=2,t(n,r,i+0,o+0,s),t(n,r,i+1,o+1,s),t(n,r,i+2,o+2,s),t(n,r,i+3,o+3,s)}}function UL(e){let t=Math.floor(e);if(t===e)return GY(e);let n=e-t,r=2*e+1;return(i,o,s,a,c)=>{if(!((a-=c)>=s))return;let l=t*o[s],u=c*t,f=u+c;for(let h=s,d=s+u;h<d;h+=c)l+=o[Math.min(a,h)];for(let h=s,d=a;h<=d;h+=c)l+=o[Math.min(a,h+u)],i[h]=(l+n*(o[Math.max(s,h-f)]+o[Math.min(a,h+f)]))/r,l-=o[Math.max(s,h-u)]}}function GY(e){let t=2*e+1;return(n,r,i,o,s)=>{if(!((o-=s)>=i))return;let a=e*r[i],c=s*e;for(let l=i,u=i+c;l<u;l+=s)a+=r[Math.min(o,l)];for(let l=i,u=o;l<=u;l+=s)a+=r[Math.min(o,l+c)],n[l]=a/t,a-=r[Math.max(i,l-c)]}}function Io(e,t){let n=0;if(t===void 0)for(let r of e)r!=null&&(r=+r)>=r&&++n;else{let r=-1;for(let i of e)(i=t(i,++r,e))!=null&&(i=+i)>=i&&++n}return n}function WY(e){return e.length|0}function HY(e){return!(e>0)}function ZY(e){return typeof e!="object"||"length"in e?e:Array.from(e)}function JY(e){return t=>e(...t)}function ux(...e){let t=typeof e[e.length-1]=="function"&&JY(e.pop());e=e.map(ZY);let n=e.map(WY),r=e.length-1,i=new Array(r+1).fill(0),o=[];if(r<0||n.some(HY))return o;for(;;){o.push(i.map((a,c)=>e[c][a]));let s=r;for(;++i[s]===n[s];){if(s===0)return t?o.map(t):o;i[s--]=0}}}function fx(e,t){var n=0,r=0;return Float64Array.from(e,t===void 0?i=>n+=+i||0:i=>n+=+t(i,r++,e)||0)}function Da(e,t){let n=0,r,i=0,o=0;if(t===void 0)for(let s of e)s!=null&&(s=+s)>=s&&(r=s-i,i+=r/++n,o+=r*(s-i));else{let s=-1;for(let a of e)(a=t(a,++s,e))!=null&&(a=+a)>=a&&(r=a-i,i+=r/++n,o+=r*(a-i))}if(n>1)return o/(n-1)}function li(e,t){let n=Da(e,t);return n&&Math.sqrt(n)}function ue(e,t){let n,r;if(t===void 0)for(let i of e)i!=null&&(n===void 0?i>=i&&(n=r=i):(n>i&&(n=i),r<i&&(r=i)));else{let i=-1;for(let o of e)(o=t(o,++i,e))!=null&&(n===void 0?o>=o&&(n=r=o):(n>o&&(n=o),r<o&&(r=o)))}return[n,r]}var Tn=class{constructor(){this._partials=new Float64Array(32),this._n=0}add(t){let n=this._partials,r=0;for(let i=0;i<this._n&&i<32;i++){let o=n[i],s=t+o,a=Math.abs(t)<Math.abs(o)?t-(s-o):o-(s-t);a&&(n[r++]=a),t=s}return n[r]=t,this._n=r+1,this}valueOf(){let t=this._partials,n=this._n,r,i,o,s=0;if(n>0){for(s=t[--n];n>0&&(r=s,i=t[--n],s=r+i,o=i-(s-r),!o););n>0&&(o<0&&t[n-1]<0||o>0&&t[n-1]>0)&&(i=o*2,r=s+i,i==r-s&&(s=r))}return s}};var Qn=class extends Map{constructor(t,n=jL){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:n}}),t!=null)for(let[r,i]of t)this.set(r,i)}get(t){return super.get(dI(this,t))}has(t){return super.has(dI(this,t))}set(t,n){return super.set(zL(this,t),n)}delete(t){return super.delete(qL(this,t))}},Kn=class extends Set{constructor(t,n=jL){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:n}}),t!=null)for(let r of t)this.add(r)}has(t){return super.has(dI(this,t))}add(t){return super.add(zL(this,t))}delete(t){return super.delete(qL(this,t))}};function dI({_intern:e,_key:t},n){let r=t(n);return e.has(r)?e.get(r):n}function zL({_intern:e,_key:t},n){let r=t(n);return e.has(r)?e.get(r):(e.set(r,n),n)}function qL({_intern:e,_key:t},n){let r=t(n);return e.has(r)&&(n=e.get(r),e.delete(r)),n}function jL(e){return e!==null&&typeof e=="object"?e.valueOf():e}function gp(e){return e}function fn(e,...t){return mI(e,gp,gp,t)}function Ui(e,t,...n){return mI(e,gp,t,n)}function pI(e,t,...n){return mI(e,Array.from,t,n)}function mI(e,t,n,r){return function i(o,s){if(s>=r.length)return n(o);let a=new Qn,c=r[s++],l=-1;for(let u of o){let f=c(u,++l,o),h=a.get(f);h?h.push(u):a.set(f,[u])}for(let[u,f]of a)a.set(u,i(f,s));return t(a)}(e,0)}function yI(e,t){return Array.from(t,n=>e[n])}function Ds(e,...t){if(typeof e[Symbol.iterator]!="function")throw new TypeError("values is not iterable");e=Array.from(e);let[n]=t;if(n&&n.length!==2||t.length>1){let r=Uint32Array.from(e,(i,o)=>o);return t.length>1?(t=t.map(i=>e.map(i)),r.sort((i,o)=>{for(let s of t){let a=Jc(s[i],s[o]);if(a)return a}})):(n=e.map(n),r.sort((i,o)=>Jc(n[i],n[o]))),yI(e,r)}return e.sort(xp(n))}function xp(e=Ot){if(e===Ot)return Jc;if(typeof e!="function")throw new TypeError("compare is not a function");return(t,n)=>{let r=e(t,n);return r||r===0?r:(e(n,n)===0)-(e(t,t)===0)}}function Jc(e,t){return(e==null||!(e>=e))-(t==null||!(t>=t))||(e<t?-1:e>t?1:0)}function Ru(e,t,n){return(t.length!==2?Ds(Ui(e,t,n),([r,i],[o,s])=>Ot(i,s)||Ot(r,o)):Ds(fn(e,n),([r,i],[o,s])=>t(i,s)||Ot(r,o))).map(([r])=>r)}var QY=Math.sqrt(50),KY=Math.sqrt(10),tX=Math.sqrt(2);function hx(e,t,n){let r=(t-e)/Math.max(0,n),i=Math.floor(Math.log10(r)),o=r/Math.pow(10,i),s=o>=QY?10:o>=KY?5:o>=tX?2:1,a,c,l;return i<0?(l=Math.pow(10,-i)/s,a=Math.round(e*l),c=Math.round(t*l),a/l<e&&++a,c/l>t&&--c,l=-l):(l=Math.pow(10,i)*s,a=Math.round(e/l),c=Math.round(t/l),a*l<e&&++a,c*l>t&&--c),c<a&&.5<=n&&n<2?hx(e,t,n*2):[a,c,l]}function En(e,t,n){if(t=+t,e=+e,n=+n,!(n>0))return[];if(e===t)return[e];let r=t<e,[i,o,s]=r?hx(t,e,n):hx(e,t,n);if(!(o>=i))return[];let a=o-i+1,c=new Array(a);if(r)if(s<0)for(let l=0;l<a;++l)c[l]=(o-l)/-s;else for(let l=0;l<a;++l)c[l]=(o-l)*s;else if(s<0)for(let l=0;l<a;++l)c[l]=(i+l)/-s;else for(let l=0;l<a;++l)c[l]=(i+l)*s;return c}function Ns(e,t,n){return t=+t,e=+e,n=+n,hx(e,t,n)[2]}function Fu(e,t,n){t=+t,e=+e,n=+n;let r=t<e,i=r?Ns(t,e,n):Ns(e,t,n);return(r?-1:1)*(i<0?1/-i:i)}function $u(e,t,n){let r;for(;;){let i=Ns(e,t,n);if(i===r||i===0||!isFinite(i))return[e,t];i>0?(e=Math.floor(e/i)*i,t=Math.ceil(t/i)*i):i<0&&(e=Math.ceil(e*i)/i,t=Math.floor(t*i)/i),r=i}}function Na(e){return Math.max(1,Math.ceil(Math.log(Io(e))/Math.LN2)+1)}function Jt(e,t){let n;if(t===void 0)for(let r of e)r!=null&&(n<r||n===void 0&&r>=r)&&(n=r);else{let r=-1;for(let i of e)(i=t(i,++r,e))!=null&&(n<i||n===void 0&&i>=i)&&(n=i)}return n}function dx(e,t){let n,r=-1,i=-1;if(t===void 0)for(let o of e)++i,o!=null&&(n<o||n===void 0&&o>=o)&&(n=o,r=i);else for(let o of e)(o=t(o,++i,e))!=null&&(n<o||n===void 0&&o>=o)&&(n=o,r=i);return r}function fe(e,t){let n;if(t===void 0)for(let r of e)r!=null&&(n>r||n===void 0&&r>=r)&&(n=r);else{let r=-1;for(let i of e)(i=t(i,++r,e))!=null&&(n>i||n===void 0&&i>=i)&&(n=i)}return n}function px(e,t){let n,r=-1,i=-1;if(t===void 0)for(let o of e)++i,o!=null&&(n>o||n===void 0&&o>=o)&&(n=o,r=i);else for(let o of e)(o=t(o,++i,e))!=null&&(n>o||n===void 0&&o>=o)&&(n=o,r=i);return r}function mx(e,t,n=0,r=1/0,i){if(t=Math.floor(t),n=Math.floor(Math.max(0,n)),r=Math.floor(Math.min(e.length-1,r)),!(n<=t&&t<=r))return e;for(i=i===void 0?Jc:xp(i);r>n;){if(r-n>600){let c=r-n+1,l=t-n+1,u=Math.log(c),f=.5*Math.exp(2*u/3),h=.5*Math.sqrt(u*f*(c-f)/c)*(l-c/2<0?-1:1),d=Math.max(n,Math.floor(t-l*f/c+h)),p=Math.min(r,Math.floor(t+(c-l)*f/c+h));mx(e,t,d,p,i)}let o=e[t],s=n,a=r;for(bp(e,n,t),i(e[r],o)>0&&bp(e,n,r);s<a;){for(bp(e,s,a),++s,--a;i(e[s],o)<0;)++s;for(;i(e[a],o)>0;)--a}i(e[n],o)===0?bp(e,n,a):(++a,bp(e,a,r)),a<=t&&(n=a+1),t<=a&&(r=a-1)}return e}function bp(e,t,n){let r=e[t];e[t]=e[n],e[n]=r}function Qc(e,t=Ot){let n,r=!1;if(t.length===1){let i;for(let o of e){let s=t(o);(r?Ot(s,i)>0:Ot(s,s)===0)&&(n=o,i=s,r=!0)}}else for(let i of e)(r?t(i,n)>0:t(i,i)===0)&&(n=i,r=!0);return n}function tr(e,t,n){if(e=Float64Array.from(RL(e,n)),!(!(r=e.length)||isNaN(t=+t))){if(t<=0||r<2)return fe(e);if(t>=1)return Jt(e);var r,i=(r-1)*t,o=Math.floor(i),s=Jt(mx(e,o).subarray(0,o+1)),a=fe(e.subarray(o+1));return s+(a-s)*(i-o)}}function gI(e,t,n=mp){if(!(!(r=e.length)||isNaN(t=+t))){if(t<=0||r<2)return+n(e[0],0,e);if(t>=1)return+n(e[r-1],r-1,e);var r,i=(r-1)*t,o=Math.floor(i),s=+n(e[o],o,e),a=+n(e[o+1],o+1,e);return s+(a-s)*(i-o)}}function yx(e,t,n){let r=Io(e),i=tr(e,.75)-tr(e,.25);return r&&i?Math.ceil((n-t)/(2*i*Math.pow(r,-1/3))):1}function wp(e,t,n){let r=Io(e),i=li(e);return r&&i?Math.ceil((n-t)*Math.cbrt(r)/(3.49*i)):1}function Os(e,t){let n=0,r=0;if(t===void 0)for(let i of e)i!=null&&(i=+i)>=i&&(++n,r+=i);else{let i=-1;for(let o of e)(o=t(o,++i,e))!=null&&(o=+o)>=o&&(++n,r+=o)}if(n)return r/n}function zi(e,t){return tr(e,.5,t)}function*nX(e){for(let t of e)yield*t}function Pu(e){return Array.from(nX(e))}function Uu(e,t){let n=new Qn;if(t===void 0)for(let o of e)o!=null&&o>=o&&n.set(o,(n.get(o)||0)+1);else{let o=-1;for(let s of e)(s=t(s,++o,e))!=null&&s>=s&&n.set(s,(n.get(s)||0)+1)}let r,i=0;for(let[o,s]of n)s>i&&(i=s,r=o);return r}function gx(e,t=rX){let n=[],r,i=!1;for(let o of e)i&&n.push(t(r,o)),r=o,i=!0;return n}function rX(e,t){return[e,t]}function Ue(e,t,n){e=+e,t=+t,n=(i=arguments.length)<2?(t=e,e=0,1):i<3?1:+n;for(var r=-1,i=Math.max(0,Math.ceil((t-e)/n))|0,o=new Array(i);++r<i;)o[r]=e+r*n;return o}function vp(e,t=Ot){if(typeof e[Symbol.iterator]!="function")throw new TypeError("values is not iterable");let n=Array.from(e),r=new Float64Array(n.length);t.length!==2&&(n=n.map(t),t=Ot);let i=(a,c)=>t(n[a],n[c]),o,s;return e=Uint32Array.from(n,(a,c)=>c),e.sort(t===Ot?(a,c)=>Jc(n[a],n[c]):xp(i)),e.forEach((a,c)=>{let l=i(a,o===void 0?a:o);l>=0?((o===void 0||l>0)&&(o=a,s=c),r[a]=s):r[a]=NaN}),r}function xx(e,t=Ot){let n,r=!1;if(t.length===1){let i;for(let o of e){let s=t(o);(r?Ot(s,i)<0:Ot(s,s)===0)&&(n=o,i=s,r=!0)}}else for(let i of e)(r?t(i,n)<0:t(i,i)===0)&&(n=i,r=!0);return n}function Dn(e,t){let n=0;if(t===void 0)for(let r of e)(r=+r)&&(n+=r);else{let r=-1;for(let i of e)(i=+t(i,++r,e))&&(n+=i)}return n}function Oa(e){if(typeof e[Symbol.iterator]!="function")throw new TypeError("values is not iterable");return Array.from(e).reverse()}function VL(e){return e}var xI=1,bI=2,wI=3,bx=4,YL=1e-6;function iX(e){return"translate("+e+",0)"}function oX(e){return"translate(0,"+e+")"}function sX(e){return t=>+e(t)}function aX(e,t){return t=Math.max(0,e.bandwidth()-t*2)/2,e.round()&&(t=Math.round(t)),n=>+e(n)+t}function cX(){return!this.__axis}function lX(e,t){var n=[],r=null,i=null,o=6,s=6,a=3,c=typeof window<"u"&&window.devicePixelRatio>1?0:.5,l=e===xI||e===bx?-1:1,u=e===bx||e===bI?"x":"y",f=e===xI||e===wI?iX:oX;function h(d){var p=r??(t.ticks?t.ticks.apply(t,n):t.domain()),m=i??(t.tickFormat?t.tickFormat.apply(t,n):VL),y=Math.max(o,0)+a,g=t.range(),x=+g[0]+c,b=+g[g.length-1]+c,w=(t.bandwidth?aX:sX)(t.copy(),c),_=d.selection?d.selection():d,v=_.selectAll(".domain").data([null]),I=_.selectAll(".tick").data(p,t).order(),E=I.exit(),M=I.enter().append("g").attr("class","tick"),N=I.select("line"),A=I.select("text");v=v.merge(v.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),I=I.merge(M),N=N.merge(M.append("line").attr("stroke","currentColor").attr(u+"2",l*o)),A=A.merge(M.append("text").attr("fill","currentColor").attr(u,l*y).attr("dy",e===xI?"0em":e===wI?"0.71em":"0.32em")),d!==_&&(v=v.transition(d),I=I.transition(d),N=N.transition(d),A=A.transition(d),E=E.transition(d).attr("opacity",YL).attr("transform",function(O){return isFinite(O=w(O))?f(O+c):this.getAttribute("transform")}),M.attr("opacity",YL).attr("transform",function(O){var C=this.parentNode.__axis;return f((C&&isFinite(C=C(O))?C:w(O))+c)})),E.remove(),v.attr("d",e===bx||e===bI?s?"M"+l*s+","+x+"H"+c+"V"+b+"H"+l*s:"M"+c+","+x+"V"+b:s?"M"+x+","+l*s+"V"+c+"H"+b+"V"+l*s:"M"+x+","+c+"H"+b),I.attr("opacity",1).attr("transform",function(O){return f(w(O)+c)}),N.attr(u+"2",l*o),A.attr(u,l*y).text(m),_.filter(cX).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",e===bI?"start":e===bx?"end":"middle"),_.each(function(){this.__axis=w})}return h.scale=function(d){return arguments.length?(t=d,h):t},h.ticks=function(){return n=Array.from(arguments),h},h.tickArguments=function(d){return arguments.length?(n=d==null?[]:Array.from(d),h):n.slice()},h.tickValues=function(d){return arguments.length?(r=d==null?null:Array.from(d),h):r&&r.slice()},h.tickFormat=function(d){return arguments.length?(i=d,h):i},h.tickSize=function(d){return arguments.length?(o=s=+d,h):o},h.tickSizeInner=function(d){return arguments.length?(o=+d,h):o},h.tickSizeOuter=function(d){return arguments.length?(s=+d,h):s},h.tickPadding=function(d){return arguments.length?(a=+d,h):a},h.offset=function(d){return arguments.length?(c=+d,h):c},h}function vI(e){return lX(wI,e)}var uX={value:()=>{}};function GL(){for(var e=0,t=arguments.length,n={},r;e<t;++e){if(!(r=arguments[e]+"")||r in n||/[\s.]/.test(r))throw new Error("illegal type: "+r);n[r]=[]}return new wx(n)}function wx(e){this._=e}function fX(e,t){return e.trim().split(/^|\s+/).map(function(n){var r="",i=n.indexOf(".");if(i>=0&&(r=n.slice(i+1),n=n.slice(0,i)),n&&!t.hasOwnProperty(n))throw new Error("unknown type: "+n);return{type:n,name:r}})}wx.prototype=GL.prototype={constructor:wx,on:function(e,t){var n=this._,r=fX(e+"",n),i,o=-1,s=r.length;if(arguments.length<2){for(;++o<s;)if((i=(e=r[o]).type)&&(i=hX(n[i],e.name)))return i;return}if(t!=null&&typeof t!="function")throw new Error("invalid callback: "+t);for(;++o<s;)if(i=(e=r[o]).type)n[i]=XL(n[i],e.name,t);else if(t==null)for(i in n)n[i]=XL(n[i],e.name,null);return this},copy:function(){var e={},t=this._;for(var n in t)e[n]=t[n].slice();return new wx(e)},call:function(e,t){if((i=arguments.length-2)>0)for(var n=new Array(i),r=0,i,o;r<i;++r)n[r]=arguments[r+2];if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(o=this._[e],r=0,i=o.length;r<i;++r)o[r].value.apply(t,n)},apply:function(e,t,n){if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(var r=this._[e],i=0,o=r.length;i<o;++i)r[i].value.apply(t,n)}};function hX(e,t){for(var n=0,r=e.length,i;n<r;++n)if((i=e[n]).name===t)return i.value}function XL(e,t,n){for(var r=0,i=e.length;r<i;++r)if(e[r].name===t){e[r]=uX,e=e.slice(0,r).concat(e.slice(r+1));break}return n!=null&&e.push({name:t,value:n}),e}var Kc=GL;var vx="http://www.w3.org/1999/xhtml",ui={svg:"http://www.w3.org/2000/svg",xhtml:vx,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function Ls(e){var t=e+="",n=t.indexOf(":");return n>=0&&(t=e.slice(0,n))!=="xmlns"&&(e=e.slice(n+1)),ui.hasOwnProperty(t)?{space:ui[t],local:e}:e}function dX(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===vx&&t.documentElement.namespaceURI===vx?t.createElement(e):t.createElementNS(n,e)}}function pX(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function Bs(e){var t=Ls(e);return(t.local?pX:dX)(t)}function mX(){}function tl(e){return e==null?mX:function(){return this.querySelector(e)}}function WL(e){typeof e!="function"&&(e=tl(e));for(var t=this._groups,n=t.length,r=new Array(n),i=0;i<n;++i)for(var o=t[i],s=o.length,a=r[i]=new Array(s),c,l,u=0;u<s;++u)(c=o[u])&&(l=e.call(c,c.__data__,u,o))&&("__data__"in c&&(l.__data__=c.__data__),a[u]=l);return new Fe(r,this._parents)}function _I(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function yX(){return[]}function _p(e){return e==null?yX:function(){return this.querySelectorAll(e)}}function gX(e){return function(){return _I(e.apply(this,arguments))}}function HL(e){typeof e=="function"?e=gX(e):e=_p(e);for(var t=this._groups,n=t.length,r=[],i=[],o=0;o<n;++o)for(var s=t[o],a=s.length,c,l=0;l<a;++l)(c=s[l])&&(r.push(e.call(c,c.__data__,l,s)),i.push(c));return new Fe(r,i)}function Sp(e){return function(){return this.matches(e)}}function _x(e){return function(t){return t.matches(e)}}var xX=Array.prototype.find;function bX(e){return function(){return xX.call(this.children,e)}}function wX(){return this.firstElementChild}function ZL(e){return this.select(e==null?wX:bX(typeof e=="function"?e:_x(e)))}var vX=Array.prototype.filter;function _X(){return Array.from(this.children)}function SX(e){return function(){return vX.call(this.children,e)}}function JL(e){return this.selectAll(e==null?_X:SX(typeof e=="function"?e:_x(e)))}function QL(e){typeof e!="function"&&(e=Sp(e));for(var t=this._groups,n=t.length,r=new Array(n),i=0;i<n;++i)for(var o=t[i],s=o.length,a=r[i]=[],c,l=0;l<s;++l)(c=o[l])&&e.call(c,c.__data__,l,o)&&a.push(c);return new Fe(r,this._parents)}function Sx(e){return new Array(e.length)}function KL(){return new Fe(this._enter||this._groups.map(Sx),this._parents)}function Ip(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}Ip.prototype={constructor:Ip,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,t){return this._parent.insertBefore(e,t)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}};function tB(e){return function(){return e}}function IX(e,t,n,r,i,o){for(var s=0,a,c=t.length,l=o.length;s<l;++s)(a=t[s])?(a.__data__=o[s],r[s]=a):n[s]=new Ip(e,o[s]);for(;s<c;++s)(a=t[s])&&(i[s]=a)}function MX(e,t,n,r,i,o,s){var a,c,l=new Map,u=t.length,f=o.length,h=new Array(u),d;for(a=0;a<u;++a)(c=t[a])&&(h[a]=d=s.call(c,c.__data__,a,t)+"",l.has(d)?i[a]=c:l.set(d,c));for(a=0;a<f;++a)d=s.call(e,o[a],a,o)+"",(c=l.get(d))?(r[a]=c,c.__data__=o[a],l.delete(d)):n[a]=new Ip(e,o[a]);for(a=0;a<u;++a)(c=t[a])&&l.get(h[a])===c&&(i[a]=c)}function AX(e){return e.__data__}function eB(e,t){if(!arguments.length)return Array.from(this,AX);var n=t?MX:IX,r=this._parents,i=this._groups;typeof e!="function"&&(e=tB(e));for(var o=i.length,s=new Array(o),a=new Array(o),c=new Array(o),l=0;l<o;++l){var u=r[l],f=i[l],h=f.length,d=TX(e.call(u,u&&u.__data__,l,r)),p=d.length,m=a[l]=new Array(p),y=s[l]=new Array(p),g=c[l]=new Array(h);n(u,f,m,y,g,d,t);for(var x=0,b=0,w,_;x<p;++x)if(w=m[x]){for(x>=b&&(b=x+1);!(_=y[b])&&++b<p;);w._next=_||null}}return s=new Fe(s,r),s._enter=a,s._exit=c,s}function TX(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function nB(){return new Fe(this._exit||this._groups.map(Sx),this._parents)}function rB(e,t,n){var r=this.enter(),i=this,o=this.exit();return typeof e=="function"?(r=e(r),r&&(r=r.selection())):r=r.append(e+""),t!=null&&(i=t(i),i&&(i=i.selection())),n==null?o.remove():n(o),r&&i?r.merge(i).order():i}function iB(e){for(var t=e.selection?e.selection():e,n=this._groups,r=t._groups,i=n.length,o=r.length,s=Math.min(i,o),a=new Array(i),c=0;c<s;++c)for(var l=n[c],u=r[c],f=l.length,h=a[c]=new Array(f),d,p=0;p<f;++p)(d=l[p]||u[p])&&(h[p]=d);for(;c<i;++c)a[c]=n[c];return new Fe(a,this._parents)}function oB(){for(var e=this._groups,t=-1,n=e.length;++t<n;)for(var r=e[t],i=r.length-1,o=r[i],s;--i>=0;)(s=r[i])&&(o&&s.compareDocumentPosition(o)^4&&o.parentNode.insertBefore(s,o),o=s);return this}function sB(e){e||(e=EX);function t(f,h){return f&&h?e(f.__data__,h.__data__):!f-!h}for(var n=this._groups,r=n.length,i=new Array(r),o=0;o<r;++o){for(var s=n[o],a=s.length,c=i[o]=new Array(a),l,u=0;u<a;++u)(l=s[u])&&(c[u]=l);c.sort(t)}return new Fe(i,this._parents).order()}function EX(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}function aB(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function cB(){return Array.from(this)}function lB(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],i=0,o=r.length;i<o;++i){var s=r[i];if(s)return s}return null}function uB(){let e=0;for(let t of this)++e;return e}function fB(){return!this.node()}function hB(e){for(var t=this._groups,n=0,r=t.length;n<r;++n)for(var i=t[n],o=0,s=i.length,a;o<s;++o)(a=i[o])&&e.call(a,a.__data__,o,i);return this}function DX(e){return function(){this.removeAttribute(e)}}function NX(e){return function(){this.removeAttributeNS(e.space,e.local)}}function OX(e,t){return function(){this.setAttribute(e,t)}}function LX(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function BX(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttribute(e):this.setAttribute(e,n)}}function CX(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,n)}}function dB(e,t){var n=Ls(e);if(arguments.length<2){var r=this.node();return n.local?r.getAttributeNS(n.space,n.local):r.getAttribute(n)}return this.each((t==null?n.local?NX:DX:typeof t=="function"?n.local?CX:BX:n.local?LX:OX)(n,t))}function Ix(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function kX(e){return function(){this.style.removeProperty(e)}}function RX(e,t,n){return function(){this.style.setProperty(e,t,n)}}function FX(e,t,n){return function(){var r=t.apply(this,arguments);r==null?this.style.removeProperty(e):this.style.setProperty(e,r,n)}}function pB(e,t,n){return arguments.length>1?this.each((t==null?kX:typeof t=="function"?FX:RX)(e,t,n??"")):La(this.node(),e)}function La(e,t){return e.style.getPropertyValue(t)||Ix(e).getComputedStyle(e,null).getPropertyValue(t)}function $X(e){return function(){delete this[e]}}function PX(e,t){return function(){this[e]=t}}function UX(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function mB(e,t){return arguments.length>1?this.each((t==null?$X:typeof t=="function"?UX:PX)(e,t)):this.node()[e]}function yB(e){return e.trim().split(/^|\s+/)}function SI(e){return e.classList||new gB(e)}function gB(e){this._node=e,this._names=yB(e.getAttribute("class")||"")}gB.prototype={add:function(e){var t=this._names.indexOf(e);t<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function xB(e,t){for(var n=SI(e),r=-1,i=t.length;++r<i;)n.add(t[r])}function bB(e,t){for(var n=SI(e),r=-1,i=t.length;++r<i;)n.remove(t[r])}function zX(e){return function(){xB(this,e)}}function qX(e){return function(){bB(this,e)}}function jX(e,t){return function(){(t.apply(this,arguments)?xB:bB)(this,e)}}function wB(e,t){var n=yB(e+"");if(arguments.length<2){for(var r=SI(this.node()),i=-1,o=n.length;++i<o;)if(!r.contains(n[i]))return!1;return!0}return this.each((typeof t=="function"?jX:t?zX:qX)(n,t))}function VX(){this.textContent=""}function YX(e){return function(){this.textContent=e}}function XX(e){return function(){var t=e.apply(this,arguments);this.textContent=t??""}}function vB(e){return arguments.length?this.each(e==null?VX:(typeof e=="function"?XX:YX)(e)):this.node().textContent}function GX(){this.innerHTML=""}function WX(e){return function(){this.innerHTML=e}}function HX(e){return function(){var t=e.apply(this,arguments);this.innerHTML=t??""}}function _B(e){return arguments.length?this.each(e==null?GX:(typeof e=="function"?HX:WX)(e)):this.node().innerHTML}function ZX(){this.nextSibling&&this.parentNode.appendChild(this)}function SB(){return this.each(ZX)}function JX(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function IB(){return this.each(JX)}function MB(e){var t=typeof e=="function"?e:Bs(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})}function QX(){return null}function AB(e,t){var n=typeof e=="function"?e:Bs(e),r=t==null?QX:typeof t=="function"?t:tl(t);return this.select(function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)})}function KX(){var e=this.parentNode;e&&e.removeChild(this)}function TB(){return this.each(KX)}function tG(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function eG(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function EB(e){return this.select(e?eG:tG)}function DB(e){return arguments.length?this.property("__data__",e):this.node().__data__}function nG(e){return function(t){e.call(this,t,this.__data__)}}function rG(e){return e.trim().split(/^|\s+/).map(function(t){var n="",r=t.indexOf(".");return r>=0&&(n=t.slice(r+1),t=t.slice(0,r)),{type:t,name:n}})}function iG(e){return function(){var t=this.__on;if(t){for(var n=0,r=-1,i=t.length,o;n<i;++n)o=t[n],(!e.type||o.type===e.type)&&o.name===e.name?this.removeEventListener(o.type,o.listener,o.options):t[++r]=o;++r?t.length=r:delete this.__on}}}function oG(e,t,n){return function(){var r=this.__on,i,o=nG(t);if(r){for(var s=0,a=r.length;s<a;++s)if((i=r[s]).type===e.type&&i.name===e.name){this.removeEventListener(i.type,i.listener,i.options),this.addEventListener(i.type,i.listener=o,i.options=n),i.value=t;return}}this.addEventListener(e.type,o,n),i={type:e.type,name:e.name,value:t,listener:o,options:n},r?r.push(i):this.__on=[i]}}function NB(e,t,n){var r=rG(e+""),i,o=r.length,s;if(arguments.length<2){var a=this.node().__on;if(a){for(var c=0,l=a.length,u;c<l;++c)for(i=0,u=a[c];i<o;++i)if((s=r[i]).type===u.type&&s.name===u.name)return u.value}return}for(a=t?oG:iG,i=0;i<o;++i)this.each(a(r[i],t,n));return this}function OB(e,t,n){var r=Ix(e),i=r.CustomEvent;typeof i=="function"?i=new i(t,n):(i=r.document.createEvent("Event"),n?(i.initEvent(t,n.bubbles,n.cancelable),i.detail=n.detail):i.initEvent(t,!1,!1)),e.dispatchEvent(i)}function sG(e,t){return function(){return OB(this,e,t)}}function aG(e,t){return function(){return OB(this,e,t.apply(this,arguments))}}function LB(e,t){return this.each((typeof t=="function"?aG:sG)(e,t))}function*BB(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],i=0,o=r.length,s;i<o;++i)(s=r[i])&&(yield s)}var II=[null];function Fe(e,t){this._groups=e,this._parents=t}function CB(){return new Fe([[document.documentElement]],II)}function cG(){return this}Fe.prototype=CB.prototype={constructor:Fe,select:WL,selectAll:HL,selectChild:ZL,selectChildren:JL,filter:QL,data:eB,enter:KL,exit:nB,join:rB,merge:iB,selection:cG,order:oB,sort:sB,call:aB,nodes:cB,node:lB,size:uB,empty:fB,each:hB,attr:dB,style:pB,property:mB,classed:wB,text:vB,html:_B,raise:SB,lower:IB,append:MB,insert:AB,remove:TB,clone:EB,datum:DB,on:NB,dispatch:LB,[Symbol.iterator]:BB};var Cs=CB;function Yt(e){return typeof e=="string"?new Fe([[document.querySelector(e)]],[document.documentElement]):new Fe([[e]],II)}function kB(e){let t;for(;t=e.sourceEvent;)e=t;return e}function Fn(e,t){if(e=kB(e),t===void 0&&(t=e.currentTarget),t){var n=t.ownerSVGElement||t;if(n.createSVGPoint){var r=n.createSVGPoint();return r.x=e.clientX,r.y=e.clientY,r=r.matrixTransform(t.getScreenCTM().inverse()),[r.x,r.y]}if(t.getBoundingClientRect){var i=t.getBoundingClientRect();return[e.clientX-i.left-t.clientLeft,e.clientY-i.top-t.clientTop]}}return[e.pageX,e.pageY]}var Mx={capture:!0,passive:!1};function Ax(e){e.preventDefault(),e.stopImmediatePropagation()}function Mp(e){var t=e.document.documentElement,n=Yt(e).on("dragstart.drag",Ax,Mx);"onselectstart"in t?n.on("selectstart.drag",Ax,Mx):(t.__noselect=t.style.MozUserSelect,t.style.MozUserSelect="none")}function Ap(e,t){var n=e.document.documentElement,r=Yt(e).on("dragstart.drag",null);t&&(r.on("click.drag",Ax,Mx),setTimeout(function(){r.on("click.drag",null)},0)),"onselectstart"in n?r.on("selectstart.drag",null):(n.style.MozUserSelect=n.__noselect,delete n.__noselect)}function ks(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function Ba(e,t){var n=Object.create(e.prototype);for(var r in t)n[r]=t[r];return n}function Ao(){}var Ca=.7,rl=1/Ca,zu="\\s*([+-]?\\d+)\\s*",Tp="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",Mo="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",lG=/^#([0-9a-f]{3,8})$/,uG=new RegExp(`^rgb\\(${zu},${zu},${zu}\\)$`),fG=new RegExp(`^rgb\\(${Mo},${Mo},${Mo}\\)$`),hG=new RegExp(`^rgba\\(${zu},${zu},${zu},${Tp}\\)$`),dG=new RegExp(`^rgba\\(${Mo},${Mo},${Mo},${Tp}\\)$`),pG=new RegExp(`^hsl\\(${Tp},${Mo},${Mo}\\)$`),mG=new RegExp(`^hsla\\(${Tp},${Mo},${Mo},${Tp}\\)$`),RB={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};ks(Ao,$r,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:FB,formatHex:FB,formatHex8:yG,formatHsl:gG,formatRgb:$B,toString:$B});function FB(){return this.rgb().formatHex()}function yG(){return this.rgb().formatHex8()}function gG(){return VB(this).formatHsl()}function $B(){return this.rgb().formatRgb()}function $r(e){var t,n;return e=(e+"").trim().toLowerCase(),(t=lG.exec(e))?(n=t[1].length,t=parseInt(t[1],16),n===6?PB(t):n===3?new He(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?Tx(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?Tx(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=uG.exec(e))?new He(t[1],t[2],t[3],1):(t=fG.exec(e))?new He(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=hG.exec(e))?Tx(t[1],t[2],t[3],t[4]):(t=dG.exec(e))?Tx(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=pG.exec(e))?qB(t[1],t[2]/100,t[3]/100,1):(t=mG.exec(e))?qB(t[1],t[2]/100,t[3]/100,t[4]):RB.hasOwnProperty(e)?PB(RB[e]):e==="transparent"?new He(NaN,NaN,NaN,0):null}function PB(e){return new He(e>>16&255,e>>8&255,e&255,1)}function Tx(e,t,n,r){return r<=0&&(e=t=n=NaN),new He(e,t,n,r)}function Ep(e){return e instanceof Ao||(e=$r(e)),e?(e=e.rgb(),new He(e.r,e.g,e.b,e.opacity)):new He}function sn(e,t,n,r){return arguments.length===1?Ep(e):new He(e,t,n,r??1)}function He(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}ks(He,sn,Ba(Ao,{brighter(e){return e=e==null?rl:Math.pow(rl,e),new He(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?Ca:Math.pow(Ca,e),new He(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new He(nl(this.r),nl(this.g),nl(this.b),Dx(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:UB,formatHex:UB,formatHex8:xG,formatRgb:zB,toString:zB}));function UB(){return`#${el(this.r)}${el(this.g)}${el(this.b)}`}function xG(){return`#${el(this.r)}${el(this.g)}${el(this.b)}${el((isNaN(this.opacity)?1:this.opacity)*255)}`}function zB(){let e=Dx(this.opacity);return`${e===1?"rgb(":"rgba("}${nl(this.r)}, ${nl(this.g)}, ${nl(this.b)}${e===1?")":`, ${e})`}`}function Dx(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function nl(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function el(e){return e=nl(e),(e<16?"0":"")+e.toString(16)}function qB(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new qi(e,t,n,r)}function VB(e){if(e instanceof qi)return new qi(e.h,e.s,e.l,e.opacity);if(e instanceof Ao||(e=$r(e)),!e)return new qi;if(e instanceof qi)return e;e=e.rgb();var t=e.r/255,n=e.g/255,r=e.b/255,i=Math.min(t,n,r),o=Math.max(t,n,r),s=NaN,a=o-i,c=(o+i)/2;return a?(t===o?s=(n-r)/a+(n<r)*6:n===o?s=(r-t)/a+2:s=(t-n)/a+4,a/=c<.5?o+i:2-o-i,s*=60):a=c>0&&c<1?0:s,new qi(s,a,c,e.opacity)}function Dp(e,t,n,r){return arguments.length===1?VB(e):new qi(e,t,n,r??1)}function qi(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}ks(qi,Dp,Ba(Ao,{brighter(e){return e=e==null?rl:Math.pow(rl,e),new qi(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?Ca:Math.pow(Ca,e),new qi(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,i=2*n-r;return new He(MI(e>=240?e-240:e+120,i,r),MI(e,i,r),MI(e<120?e+240:e-120,i,r),this.opacity)},clamp(){return new qi(jB(this.h),Ex(this.s),Ex(this.l),Dx(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let e=Dx(this.opacity);return`${e===1?"hsl(":"hsla("}${jB(this.h)}, ${Ex(this.s)*100}%, ${Ex(this.l)*100}%${e===1?")":`, ${e})`}`}}));function jB(e){return e=(e||0)%360,e<0?e+360:e}function Ex(e){return Math.max(0,Math.min(1,e||0))}function MI(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}var Nx=Math.PI/180,Ox=180/Math.PI;var Lx=18,YB=.96422,XB=1,GB=.82521,WB=4/29,qu=6/29,HB=3*qu*qu,bG=qu*qu*qu;function ZB(e){if(e instanceof To)return new To(e.l,e.a,e.b,e.opacity);if(e instanceof Rs)return JB(e);e instanceof He||(e=Ep(e));var t=DI(e.r),n=DI(e.g),r=DI(e.b),i=AI((.2225045*t+.7168786*n+.0606169*r)/XB),o,s;return t===n&&n===r?o=s=i:(o=AI((.4360747*t+.3850649*n+.1430804*r)/YB),s=AI((.0139322*t+.0971045*n+.7141733*r)/GB)),new To(116*i-16,500*(o-i),200*(i-s),e.opacity)}function ju(e,t,n,r){return arguments.length===1?ZB(e):new To(e,t,n,r??1)}function To(e,t,n,r){this.l=+e,this.a=+t,this.b=+n,this.opacity=+r}ks(To,ju,Ba(Ao,{brighter(e){return new To(this.l+Lx*(e??1),this.a,this.b,this.opacity)},darker(e){return new To(this.l-Lx*(e??1),this.a,this.b,this.opacity)},rgb(){var e=(this.l+16)/116,t=isNaN(this.a)?e:e+this.a/500,n=isNaN(this.b)?e:e-this.b/200;return t=YB*TI(t),e=XB*TI(e),n=GB*TI(n),new He(EI(3.1338561*t-1.6168667*e-.4906146*n),EI(-.9787684*t+1.9161415*e+.033454*n),EI(.0719453*t-.2289914*e+1.4052427*n),this.opacity)}}));function AI(e){return e>bG?Math.pow(e,1/3):e/HB+WB}function TI(e){return e>qu?e*e*e:HB*(e-WB)}function EI(e){return 255*(e<=.0031308?12.92*e:1.055*Math.pow(e,1/2.4)-.055)}function DI(e){return(e/=255)<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4)}function wG(e){if(e instanceof Rs)return new Rs(e.h,e.c,e.l,e.opacity);if(e instanceof To||(e=ZB(e)),e.a===0&&e.b===0)return new Rs(NaN,0<e.l&&e.l<100?0:NaN,e.l,e.opacity);var t=Math.atan2(e.b,e.a)*Ox;return new Rs(t<0?t+360:t,Math.sqrt(e.a*e.a+e.b*e.b),e.l,e.opacity)}function Np(e,t,n,r){return arguments.length===1?wG(e):new Rs(e,t,n,r??1)}function Rs(e,t,n,r){this.h=+e,this.c=+t,this.l=+n,this.opacity=+r}function JB(e){if(isNaN(e.h))return new To(e.l,0,0,e.opacity);var t=e.h*Nx;return new To(e.l,Math.cos(t)*e.c,Math.sin(t)*e.c,e.opacity)}ks(Rs,Np,Ba(Ao,{brighter(e){return new Rs(this.h,this.c,this.l+Lx*(e??1),this.opacity)},darker(e){return new Rs(this.h,this.c,this.l-Lx*(e??1),this.opacity)},rgb(){return JB(this).rgb()}}));var eC=-.14861,NI=1.78277,OI=-.29227,Bx=-.90649,Op=1.97294,QB=Op*Bx,KB=Op*NI,tC=NI*OI-Bx*eC;function vG(e){if(e instanceof il)return new il(e.h,e.s,e.l,e.opacity);e instanceof He||(e=Ep(e));var t=e.r/255,n=e.g/255,r=e.b/255,i=(tC*r+QB*t-KB*n)/(tC+QB-KB),o=r-i,s=(Op*(n-i)-OI*o)/Bx,a=Math.sqrt(s*s+o*o)/(Op*i*(1-i)),c=a?Math.atan2(s,o)*Ox-120:NaN;return new il(c<0?c+360:c,a,i,e.opacity)}function er(e,t,n,r){return arguments.length===1?vG(e):new il(e,t,n,r??1)}function il(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}ks(il,er,Ba(Ao,{brighter(e){return e=e==null?rl:Math.pow(rl,e),new il(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?Ca:Math.pow(Ca,e),new il(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=isNaN(this.h)?0:(this.h+120)*Nx,t=+this.l,n=isNaN(this.s)?0:this.s*t*(1-t),r=Math.cos(e),i=Math.sin(e);return new He(255*(t+n*(eC*r+NI*i)),255*(t+n*(OI*r+Bx*i)),255*(t+n*(Op*r)),this.opacity)}}));function LI(e,t,n,r,i){var o=e*e,s=o*e;return((1-3*e+3*o-s)*t+(4-6*o+3*s)*n+(1+3*e+3*o-3*s)*r+s*i)/6}function nC(e){var t=e.length-1;return function(n){var r=n<=0?n=0:n>=1?(n=1,t-1):Math.floor(n*t),i=e[r],o=e[r+1],s=r>0?e[r-1]:2*i-o,a=r<t-1?e[r+2]:2*o-i;return LI((n-r/t)*t,s,i,o,a)}}function rC(e){var t=e.length;return function(n){var r=Math.floor(((n%=1)<0?++n:n)*t),i=e[(r+t-1)%t],o=e[r%t],s=e[(r+1)%t],a=e[(r+2)%t];return LI((n-r/t)*t,i,o,s,a)}}var Vu=e=>()=>e;function iC(e,t){return function(n){return e+n*t}}function _G(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(r){return Math.pow(e+r*t,n)}}function Yu(e,t){var n=t-e;return n?iC(e,n>180||n<-180?n-360*Math.round(n/360):n):Vu(isNaN(e)?t:e)}function oC(e){return(e=+e)==1?Te:function(t,n){return n-t?_G(t,n,e):Vu(isNaN(t)?n:t)}}function Te(e,t){var n=t-e;return n?iC(e,n):Vu(isNaN(e)?t:e)}var fi=function e(t){var n=oC(t);function r(i,o){var s=n((i=sn(i)).r,(o=sn(o)).r),a=n(i.g,o.g),c=n(i.b,o.b),l=Te(i.opacity,o.opacity);return function(u){return i.r=s(u),i.g=a(u),i.b=c(u),i.opacity=l(u),i+""}}return r.gamma=e,r}(1);function sC(e){return function(t){var n=t.length,r=new Array(n),i=new Array(n),o=new Array(n),s,a;for(s=0;s<n;++s)a=sn(t[s]),r[s]=a.r||0,i[s]=a.g||0,o[s]=a.b||0;return r=e(r),i=e(i),o=e(o),a.opacity=1,function(c){return a.r=r(c),a.g=i(c),a.b=o(c),a+""}}}var BI=sC(nC),SG=sC(rC);function aC(e,t){t||(t=[]);var n=e?Math.min(t.length,e.length):0,r=t.slice(),i;return function(o){for(i=0;i<n;++i)r[i]=e[i]*(1-o)+t[i]*o;return r}}function cC(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function lC(e,t){var n=t?t.length:0,r=e?Math.min(n,e.length):0,i=new Array(r),o=new Array(n),s;for(s=0;s<r;++s)i[s]=Pr(e[s],t[s]);for(;s<n;++s)o[s]=t[s];return function(a){for(s=0;s<r;++s)o[s]=i[s](a);return o}}function uC(e,t){var n=new Date;return e=+e,t=+t,function(r){return n.setTime(e*(1-r)+t*r),n}}function Se(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}function fC(e,t){var n={},r={},i;(e===null||typeof e!="object")&&(e={}),(t===null||typeof t!="object")&&(t={});for(i in t)i in e?n[i]=Pr(e[i],t[i]):r[i]=t[i];return function(o){for(i in n)r[i]=n[i](o);return r}}var kI=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,CI=new RegExp(kI.source,"g");function IG(e){return function(){return e}}function MG(e){return function(t){return e(t)+""}}function Lp(e,t){var n=kI.lastIndex=CI.lastIndex=0,r,i,o,s=-1,a=[],c=[];for(e=e+"",t=t+"";(r=kI.exec(e))&&(i=CI.exec(t));)(o=i.index)>n&&(o=t.slice(n,o),a[s]?a[s]+=o:a[++s]=o),(r=r[0])===(i=i[0])?a[s]?a[s]+=i:a[++s]=i:(a[++s]=null,c.push({i:s,x:Se(r,i)})),n=CI.lastIndex;return n<t.length&&(o=t.slice(n),a[s]?a[s]+=o:a[++s]=o),a.length<2?c[0]?MG(c[0].x):IG(t):(t=c.length,function(l){for(var u=0,f;u<t;++u)a[(f=c[u]).i]=f.x(l);return a.join("")})}function Pr(e,t){var n=typeof t,r;return t==null||n==="boolean"?Vu(t):(n==="number"?Se:n==="string"?(r=$r(t))?(t=r,fi):Lp:t instanceof $r?fi:t instanceof Date?uC:cC(t)?aC:Array.isArray(t)?lC:typeof t.valueOf!="function"&&typeof t.toString!="function"||isNaN(t)?fC:Se)(e,t)}function ol(e,t){return e=+e,t=+t,function(n){return Math.round(e*(1-n)+t*n)}}var hC=180/Math.PI,Cx={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function RI(e,t,n,r,i,o){var s,a,c;return(s=Math.sqrt(e*e+t*t))&&(e/=s,t/=s),(c=e*n+t*r)&&(n-=e*c,r-=t*c),(a=Math.sqrt(n*n+r*r))&&(n/=a,r/=a,c/=a),e*r<t*n&&(e=-e,t=-t,c=-c,s=-s),{translateX:i,translateY:o,rotate:Math.atan2(t,e)*hC,skewX:Math.atan(c)*hC,scaleX:s,scaleY:a}}var kx;function dC(e){let t=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(e+"");return t.isIdentity?Cx:RI(t.a,t.b,t.c,t.d,t.e,t.f)}function pC(e){return e==null?Cx:(kx||(kx=document.createElementNS("http://www.w3.org/2000/svg","g")),kx.setAttribute("transform",e),(e=kx.transform.baseVal.consolidate())?(e=e.matrix,RI(e.a,e.b,e.c,e.d,e.e,e.f)):Cx)}function mC(e,t,n,r){function i(l){return l.length?l.pop()+" ":""}function o(l,u,f,h,d,p){if(l!==f||u!==h){var m=d.push("translate(",null,t,null,n);p.push({i:m-4,x:Se(l,f)},{i:m-2,x:Se(u,h)})}else(f||h)&&d.push("translate("+f+t+h+n)}function s(l,u,f,h){l!==u?(l-u>180?u+=360:u-l>180&&(l+=360),h.push({i:f.push(i(f)+"rotate(",null,r)-2,x:Se(l,u)})):u&&f.push(i(f)+"rotate("+u+r)}function a(l,u,f,h){l!==u?h.push({i:f.push(i(f)+"skewX(",null,r)-2,x:Se(l,u)}):u&&f.push(i(f)+"skewX("+u+r)}function c(l,u,f,h,d,p){if(l!==f||u!==h){var m=d.push(i(d)+"scale(",null,",",null,")");p.push({i:m-4,x:Se(l,f)},{i:m-2,x:Se(u,h)})}else(f!==1||h!==1)&&d.push(i(d)+"scale("+f+","+h+")")}return function(l,u){var f=[],h=[];return l=e(l),u=e(u),o(l.translateX,l.translateY,u.translateX,u.translateY,f,h),s(l.rotate,u.rotate,f,h),a(l.skewX,u.skewX,f,h),c(l.scaleX,l.scaleY,u.scaleX,u.scaleY,f,h),l=u=null,function(d){for(var p=-1,m=h.length,y;++p<m;)f[(y=h[p]).i]=y.x(d);return f.join("")}}}var FI=mC(dC,"px, ","px)","deg)"),$I=mC(pC,", ",")",")");var AG=1e-12;function yC(e){return((e=Math.exp(e))+1/e)/2}function TG(e){return((e=Math.exp(e))-1/e)/2}function EG(e){return((e=Math.exp(2*e))-1)/(e+1)}var PI=function e(t,n,r){function i(o,s){var a=o[0],c=o[1],l=o[2],u=s[0],f=s[1],h=s[2],d=u-a,p=f-c,m=d*d+p*p,y,g;if(m<AG)g=Math.log(h/l)/t,y=function(I){return[a+I*d,c+I*p,l*Math.exp(t*I*g)]};else{var x=Math.sqrt(m),b=(h*h-l*l+r*m)/(2*l*n*x),w=(h*h-l*l-r*m)/(2*h*n*x),_=Math.log(Math.sqrt(b*b+1)-b),v=Math.log(Math.sqrt(w*w+1)-w);g=(v-_)/t,y=function(I){var E=I*g,M=yC(_),N=l/(n*x)*(M*EG(t*E+_)-TG(_));return[a+N*d,c+N*p,l*M/yC(t*E+_)]}}return y.duration=g*1e3*t/Math.SQRT2,y}return i.rho=function(o){var s=Math.max(.001,+o),a=s*s,c=a*a;return e(s,a,c)},i}(Math.SQRT2,2,4);function gC(e){return function(t,n){var r=e((t=Dp(t)).h,(n=Dp(n)).h),i=Te(t.s,n.s),o=Te(t.l,n.l),s=Te(t.opacity,n.opacity);return function(a){return t.h=r(a),t.s=i(a),t.l=o(a),t.opacity=s(a),t+""}}}var UI=gC(Yu),DG=gC(Te);function Rx(e,t){var n=Te((e=ju(e)).l,(t=ju(t)).l),r=Te(e.a,t.a),i=Te(e.b,t.b),o=Te(e.opacity,t.opacity);return function(s){return e.l=n(s),e.a=r(s),e.b=i(s),e.opacity=o(s),e+""}}function xC(e){return function(t,n){var r=e((t=Np(t)).h,(n=Np(n)).h),i=Te(t.c,n.c),o=Te(t.l,n.l),s=Te(t.opacity,n.opacity);return function(a){return t.h=r(a),t.c=i(a),t.l=o(a),t.opacity=s(a),t+""}}}var zI=xC(Yu),NG=xC(Te);function bC(e){return function t(n){n=+n;function r(i,o){var s=e((i=er(i)).h,(o=er(o)).h),a=Te(i.s,o.s),c=Te(i.l,o.l),l=Te(i.opacity,o.opacity);return function(u){return i.h=s(u),i.s=a(u),i.l=c(Math.pow(u,n)),i.opacity=l(u),i+""}}return r.gamma=t,r}(1)}var OG=bC(Yu),Xu=bC(Te);function Eo(e,t){t===void 0&&(t=e,e=Pr);for(var n=0,r=t.length-1,i=t[0],o=new Array(r<0?0:r);n<r;)o[n]=e(i,i=t[++n]);return function(s){var a=Math.max(0,Math.min(r-1,Math.floor(s*=r)));return o[a](s-a)}}function $n(e,t){for(var n=new Array(t),r=0;r<t;++r)n[r]=e(r/(t-1));return n}var Gu=0,Cp=0,Bp=0,vC=1e3,Fx,kp,$x=0,sl=0,Px=0,Rp=typeof performance=="object"&&performance.now?performance:Date,_C=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function $p(){return sl||(_C(LG),sl=Rp.now()+Px)}function LG(){sl=0}function Fp(){this._call=this._time=this._next=null}Fp.prototype=Ux.prototype={constructor:Fp,restart:function(e,t,n){if(typeof e!="function")throw new TypeError("callback is not a function");n=(n==null?$p():+n)+(t==null?0:+t),!this._next&&kp!==this&&(kp?kp._next=this:Fx=this,kp=this),this._call=e,this._time=n,qI()},stop:function(){this._call&&(this._call=null,this._time=1/0,qI())}};function Ux(e,t,n){var r=new Fp;return r.restart(e,t,n),r}function SC(){$p(),++Gu;for(var e=Fx,t;e;)(t=sl-e._time)>=0&&e._call.call(void 0,t),e=e._next;--Gu}function wC(){sl=($x=Rp.now())+Px,Gu=Cp=0;try{SC()}finally{Gu=0,CG(),sl=0}}function BG(){var e=Rp.now(),t=e-$x;t>vC&&(Px-=t,$x=e)}function CG(){for(var e,t=Fx,n,r=1/0;t;)t._call?(r>t._time&&(r=t._time),e=t,t=t._next):(n=t._next,t._next=null,t=e?e._next=n:Fx=n);kp=e,qI(r)}function qI(e){if(!Gu){Cp&&(Cp=clearTimeout(Cp));var t=e-sl;t>24?(e<1/0&&(Cp=setTimeout(wC,e-Rp.now()-Px)),Bp&&(Bp=clearInterval(Bp))):(Bp||($x=Rp.now(),Bp=setInterval(BG,vC)),Gu=1,_C(wC))}}function zx(e,t,n){var r=new Fp;return t=t==null?0:+t,r.restart(i=>{r.stop(),e(i+t)},t,n),r}var kG=Kc("start","end","cancel","interrupt"),RG=[],AC=0,IC=1,jx=2,qx=3,MC=4,Vx=5,Pp=6;function ka(e,t,n,r,i,o){var s=e.__transition;if(!s)e.__transition={};else if(n in s)return;FG(e,n,{name:t,index:r,group:i,on:kG,tween:RG,time:o.time,delay:o.delay,duration:o.duration,ease:o.ease,timer:null,state:AC})}function Up(e,t){var n=an(e,t);if(n.state>AC)throw new Error("too late; already scheduled");return n}function Nn(e,t){var n=an(e,t);if(n.state>qx)throw new Error("too late; already running");return n}function an(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw new Error("transition not found");return n}function FG(e,t,n){var r=e.__transition,i;r[t]=n,n.timer=Ux(o,0,n.time);function o(l){n.state=IC,n.timer.restart(s,n.delay,n.time),n.delay<=l&&s(l-n.delay)}function s(l){var u,f,h,d;if(n.state!==IC)return c();for(u in r)if(d=r[u],d.name===n.name){if(d.state===qx)return zx(s);d.state===MC?(d.state=Pp,d.timer.stop(),d.on.call("interrupt",e,e.__data__,d.index,d.group),delete r[u]):+u<t&&(d.state=Pp,d.timer.stop(),d.on.call("cancel",e,e.__data__,d.index,d.group),delete r[u])}if(zx(function(){n.state===qx&&(n.state=MC,n.timer.restart(a,n.delay,n.time),a(l))}),n.state=jx,n.on.call("start",e,e.__data__,n.index,n.group),n.state===jx){for(n.state=qx,i=new Array(h=n.tween.length),u=0,f=-1;u<h;++u)(d=n.tween[u].value.call(e,e.__data__,n.index,n.group))&&(i[++f]=d);i.length=f+1}}function a(l){for(var u=l<n.duration?n.ease.call(null,l/n.duration):(n.timer.restart(c),n.state=Vx,1),f=-1,h=i.length;++f<h;)i[f].call(e,u);n.state===Vx&&(n.on.call("end",e,e.__data__,n.index,n.group),c())}function c(){n.state=Pp,n.timer.stop(),delete r[t];for(var l in r)return;delete e.__transition}}function Do(e,t){var n=e.__transition,r,i,o=!0,s;if(n){t=t==null?null:t+"";for(s in n){if((r=n[s]).name!==t){o=!1;continue}i=r.state>jx&&r.state<Vx,r.state=Pp,r.timer.stop(),r.on.call(i?"interrupt":"cancel",e,e.__data__,r.index,r.group),delete n[s]}o&&delete e.__transition}}function TC(e){return this.each(function(){Do(this,e)})}function $G(e,t){var n,r;return function(){var i=Nn(this,e),o=i.tween;if(o!==n){r=n=o;for(var s=0,a=r.length;s<a;++s)if(r[s].name===t){r=r.slice(),r.splice(s,1);break}}i.tween=r}}function PG(e,t,n){var r,i;if(typeof n!="function")throw new Error;return function(){var o=Nn(this,e),s=o.tween;if(s!==r){i=(r=s).slice();for(var a={name:t,value:n},c=0,l=i.length;c<l;++c)if(i[c].name===t){i[c]=a;break}c===l&&i.push(a)}o.tween=i}}function EC(e,t){var n=this._id;if(e+="",arguments.length<2){for(var r=an(this.node(),n).tween,i=0,o=r.length,s;i<o;++i)if((s=r[i]).name===e)return s.value;return null}return this.each((t==null?$G:PG)(n,e,t))}function Wu(e,t,n){var r=e._id;return e.each(function(){var i=Nn(this,r);(i.value||(i.value={}))[t]=n.apply(this,arguments)}),function(i){return an(i,r).value[t]}}function Yx(e,t){var n;return(typeof t=="number"?Se:t instanceof $r?fi:(n=$r(t))?(t=n,fi):Lp)(e,t)}function UG(e){return function(){this.removeAttribute(e)}}function zG(e){return function(){this.removeAttributeNS(e.space,e.local)}}function qG(e,t,n){var r,i=n+"",o;return function(){var s=this.getAttribute(e);return s===i?null:s===r?o:o=t(r=s,n)}}function jG(e,t,n){var r,i=n+"",o;return function(){var s=this.getAttributeNS(e.space,e.local);return s===i?null:s===r?o:o=t(r=s,n)}}function VG(e,t,n){var r,i,o;return function(){var s,a=n(this),c;return a==null?void this.removeAttribute(e):(s=this.getAttribute(e),c=a+"",s===c?null:s===r&&c===i?o:(i=c,o=t(r=s,a)))}}function YG(e,t,n){var r,i,o;return function(){var s,a=n(this),c;return a==null?void this.removeAttributeNS(e.space,e.local):(s=this.getAttributeNS(e.space,e.local),c=a+"",s===c?null:s===r&&c===i?o:(i=c,o=t(r=s,a)))}}function DC(e,t){var n=Ls(e),r=n==="transform"?$I:Yx;return this.attrTween(e,typeof t=="function"?(n.local?YG:VG)(n,r,Wu(this,"attr."+e,t)):t==null?(n.local?zG:UG)(n):(n.local?jG:qG)(n,r,t))}function XG(e,t){return function(n){this.setAttribute(e,t.call(this,n))}}function GG(e,t){return function(n){this.setAttributeNS(e.space,e.local,t.call(this,n))}}function WG(e,t){var n,r;function i(){var o=t.apply(this,arguments);return o!==r&&(n=(r=o)&&GG(e,o)),n}return i._value=t,i}function HG(e,t){var n,r;function i(){var o=t.apply(this,arguments);return o!==r&&(n=(r=o)&&XG(e,o)),n}return i._value=t,i}function NC(e,t){var n="attr."+e;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(t==null)return this.tween(n,null);if(typeof t!="function")throw new Error;var r=Ls(e);return this.tween(n,(r.local?WG:HG)(r,t))}function ZG(e,t){return function(){Up(this,e).delay=+t.apply(this,arguments)}}function JG(e,t){return t=+t,function(){Up(this,e).delay=t}}function OC(e){var t=this._id;return arguments.length?this.each((typeof e=="function"?ZG:JG)(t,e)):an(this.node(),t).delay}function QG(e,t){return function(){Nn(this,e).duration=+t.apply(this,arguments)}}function KG(e,t){return t=+t,function(){Nn(this,e).duration=t}}function LC(e){var t=this._id;return arguments.length?this.each((typeof e=="function"?QG:KG)(t,e)):an(this.node(),t).duration}function tW(e,t){if(typeof t!="function")throw new Error;return function(){Nn(this,e).ease=t}}function BC(e){var t=this._id;return arguments.length?this.each(tW(t,e)):an(this.node(),t).ease}function eW(e,t){return function(){var n=t.apply(this,arguments);if(typeof n!="function")throw new Error;Nn(this,e).ease=n}}function CC(e){if(typeof e!="function")throw new Error;return this.each(eW(this._id,e))}function kC(e){typeof e!="function"&&(e=Sp(e));for(var t=this._groups,n=t.length,r=new Array(n),i=0;i<n;++i)for(var o=t[i],s=o.length,a=r[i]=[],c,l=0;l<s;++l)(c=o[l])&&e.call(c,c.__data__,l,o)&&a.push(c);return new nr(r,this._parents,this._name,this._id)}function RC(e){if(e._id!==this._id)throw new Error;for(var t=this._groups,n=e._groups,r=t.length,i=n.length,o=Math.min(r,i),s=new Array(r),a=0;a<o;++a)for(var c=t[a],l=n[a],u=c.length,f=s[a]=new Array(u),h,d=0;d<u;++d)(h=c[d]||l[d])&&(f[d]=h);for(;a<r;++a)s[a]=t[a];return new nr(s,this._parents,this._name,this._id)}function nW(e){return(e+"").trim().split(/^|\s+/).every(function(t){var n=t.indexOf(".");return n>=0&&(t=t.slice(0,n)),!t||t==="start"})}function rW(e,t,n){var r,i,o=nW(t)?Up:Nn;return function(){var s=o(this,e),a=s.on;a!==r&&(i=(r=a).copy()).on(t,n),s.on=i}}function FC(e,t){var n=this._id;return arguments.length<2?an(this.node(),n).on.on(e):this.each(rW(n,e,t))}function iW(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function $C(){return this.on("end.remove",iW(this._id))}function PC(e){var t=this._name,n=this._id;typeof e!="function"&&(e=tl(e));for(var r=this._groups,i=r.length,o=new Array(i),s=0;s<i;++s)for(var a=r[s],c=a.length,l=o[s]=new Array(c),u,f,h=0;h<c;++h)(u=a[h])&&(f=e.call(u,u.__data__,h,a))&&("__data__"in u&&(f.__data__=u.__data__),l[h]=f,ka(l[h],t,n,h,l,an(u,n)));return new nr(o,this._parents,t,n)}function UC(e){var t=this._name,n=this._id;typeof e!="function"&&(e=_p(e));for(var r=this._groups,i=r.length,o=[],s=[],a=0;a<i;++a)for(var c=r[a],l=c.length,u,f=0;f<l;++f)if(u=c[f]){for(var h=e.call(u,u.__data__,f,c),d,p=an(u,n),m=0,y=h.length;m<y;++m)(d=h[m])&&ka(d,t,n,m,h,p);o.push(h),s.push(u)}return new nr(o,s,t,n)}var oW=Cs.prototype.constructor;function zC(){return new oW(this._groups,this._parents)}function sW(e,t){var n,r,i;return function(){var o=La(this,e),s=(this.style.removeProperty(e),La(this,e));return o===s?null:o===n&&s===r?i:i=t(n=o,r=s)}}function qC(e){return function(){this.style.removeProperty(e)}}function aW(e,t,n){var r,i=n+"",o;return function(){var s=La(this,e);return s===i?null:s===r?o:o=t(r=s,n)}}function cW(e,t,n){var r,i,o;return function(){var s=La(this,e),a=n(this),c=a+"";return a==null&&(c=a=(this.style.removeProperty(e),La(this,e))),s===c?null:s===r&&c===i?o:(i=c,o=t(r=s,a))}}function lW(e,t){var n,r,i,o="style."+t,s="end."+o,a;return function(){var c=Nn(this,e),l=c.on,u=c.value[o]==null?a||(a=qC(t)):void 0;(l!==n||i!==u)&&(r=(n=l).copy()).on(s,i=u),c.on=r}}function jC(e,t,n){var r=(e+="")=="transform"?FI:Yx;return t==null?this.styleTween(e,sW(e,r)).on("end.style."+e,qC(e)):typeof t=="function"?this.styleTween(e,cW(e,r,Wu(this,"style."+e,t))).each(lW(this._id,e)):this.styleTween(e,aW(e,r,t),n).on("end.style."+e,null)}function uW(e,t,n){return function(r){this.style.setProperty(e,t.call(this,r),n)}}function fW(e,t,n){var r,i;function o(){var s=t.apply(this,arguments);return s!==i&&(r=(i=s)&&uW(e,s,n)),r}return o._value=t,o}function VC(e,t,n){var r="style."+(e+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(t==null)return this.tween(r,null);if(typeof t!="function")throw new Error;return this.tween(r,fW(e,t,n??""))}function hW(e){return function(){this.textContent=e}}function dW(e){return function(){var t=e(this);this.textContent=t??""}}function YC(e){return this.tween("text",typeof e=="function"?dW(Wu(this,"text",e)):hW(e==null?"":e+""))}function pW(e){return function(t){this.textContent=e.call(this,t)}}function mW(e){var t,n;function r(){var i=e.apply(this,arguments);return i!==n&&(t=(n=i)&&pW(i)),t}return r._value=e,r}function XC(e){var t="text";if(arguments.length<1)return(t=this.tween(t))&&t._value;if(e==null)return this.tween(t,null);if(typeof e!="function")throw new Error;return this.tween(t,mW(e))}function GC(){for(var e=this._name,t=this._id,n=Xx(),r=this._groups,i=r.length,o=0;o<i;++o)for(var s=r[o],a=s.length,c,l=0;l<a;++l)if(c=s[l]){var u=an(c,t);ka(c,e,n,l,s,{time:u.time+u.delay+u.duration,delay:0,duration:u.duration,ease:u.ease})}return new nr(r,this._parents,e,n)}function WC(){var e,t,n=this,r=n._id,i=n.size();return new Promise(function(o,s){var a={value:s},c={value:function(){--i===0&&o()}};n.each(function(){var l=Nn(this,r),u=l.on;u!==e&&(t=(e=u).copy(),t._.cancel.push(a),t._.interrupt.push(a),t._.end.push(c)),l.on=t}),i===0&&o()})}var yW=0;function nr(e,t,n,r){this._groups=e,this._parents=t,this._name=n,this._id=r}function HC(e){return Cs().transition(e)}function Xx(){return++yW}var Fs=Cs.prototype;nr.prototype=HC.prototype={constructor:nr,select:PC,selectAll:UC,selectChild:Fs.selectChild,selectChildren:Fs.selectChildren,filter:kC,merge:RC,selection:zC,transition:GC,call:Fs.call,nodes:Fs.nodes,node:Fs.node,size:Fs.size,empty:Fs.empty,each:Fs.each,on:FC,attr:DC,attrTween:NC,style:jC,styleTween:VC,text:YC,textTween:XC,remove:$C,tween:EC,delay:OC,duration:LC,ease:BC,easeVarying:CC,end:WC,[Symbol.iterator]:Fs[Symbol.iterator]};function Gx(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var gW={time:null,delay:0,duration:250,ease:Gx};function xW(e,t){for(var n;!(n=e.__transition)||!(n=n[t]);)if(!(e=e.parentNode))throw new Error(`transition ${t} not found`);return n}function ZC(e){var t,n;e instanceof nr?(t=e._id,e=e._name):(t=Xx(),(n=gW).time=$p(),e=e==null?null:e+"");for(var r=this._groups,i=r.length,o=0;o<i;++o)for(var s=r[o],a=s.length,c,l=0;l<a;++l)(c=s[l])&&ka(c,e,t,l,s,n||xW(c,t));return new nr(r,this._parents,e,t)}Cs.prototype.interrupt=TC;Cs.prototype.transition=ZC;var Wx=e=>()=>e;function jI(e,{sourceEvent:t,target:n,selection:r,mode:i,dispatch:o}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},selection:{value:r,enumerable:!0,configurable:!0},mode:{value:i,enumerable:!0,configurable:!0},_:{value:o}})}function JC(e){e.stopImmediatePropagation()}function Hx(e){e.preventDefault(),e.stopImmediatePropagation()}var QC={name:"drag"},VI={name:"space"},Hu={name:"handle"},Zu={name:"center"},{abs:KC,max:Pn,min:Un}=Math;function tk(e){return[+e[0],+e[1]]}function XI(e){return[tk(e[0]),tk(e[1])]}var Zx={name:"x",handles:["w","e"].map(zp),input:function(e,t){return e==null?null:[[+e[0],t[0][1]],[+e[1],t[1][1]]]},output:function(e){return e&&[e[0][0],e[1][0]]}},Jx={name:"y",handles:["n","s"].map(zp),input:function(e,t){return e==null?null:[[t[0][0],+e[0]],[t[1][0],+e[1]]]},output:function(e){return e&&[e[0][1],e[1][1]]}},bW={name:"xy",handles:["n","w","e","s","nw","ne","sw","se"].map(zp),input:function(e){return e==null?null:XI(e)},output:function(e){return e}},$s={overlay:"crosshair",selection:"move",n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"},ek={e:"w",w:"e",nw:"ne",ne:"nw",se:"sw",sw:"se"},nk={n:"s",s:"n",nw:"sw",ne:"se",se:"ne",sw:"nw"},wW={overlay:1,selection:1,n:null,e:1,s:null,w:-1,nw:-1,ne:1,se:1,sw:-1},vW={overlay:1,selection:1,n:-1,e:null,s:1,w:null,nw:-1,ne:-1,se:1,sw:1};function zp(e){return{type:e}}function _W(e){return!e.ctrlKey&&!e.button}function SW(){var e=this.ownerSVGElement||this;return e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]}function IW(){return navigator.maxTouchPoints||"ontouchstart"in this}function YI(e){for(;!e.__brush;)if(!(e=e.parentNode))return;return e.__brush}function MW(e){return e[0][0]===e[1][0]||e[0][1]===e[1][1]}function GI(){return ZI(Zx)}function WI(){return ZI(Jx)}function HI(){return ZI(bW)}function ZI(e){var t=SW,n=_W,r=IW,i=!0,o=Kc("start","brush","end"),s=6,a;function c(y){var g=y.property("__brush",m).selectAll(".overlay").data([zp("overlay")]);g.enter().append("rect").attr("class","overlay").attr("pointer-events","all").attr("cursor",$s.overlay).merge(g).each(function(){var b=YI(this).extent;Yt(this).attr("x",b[0][0]).attr("y",b[0][1]).attr("width",b[1][0]-b[0][0]).attr("height",b[1][1]-b[0][1])}),y.selectAll(".selection").data([zp("selection")]).enter().append("rect").attr("class","selection").attr("cursor",$s.selection).attr("fill","#777").attr("fill-opacity",.3).attr("stroke","#fff").attr("shape-rendering","crispEdges");var x=y.selectAll(".handle").data(e.handles,function(b){return b.type});x.exit().remove(),x.enter().append("rect").attr("class",function(b){return"handle handle--"+b.type}).attr("cursor",function(b){return $s[b.type]}),y.each(l).attr("fill","none").attr("pointer-events","all").on("mousedown.brush",h).filter(r).on("touchstart.brush",h).on("touchmove.brush",d).on("touchend.brush touchcancel.brush",p).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}c.move=function(y,g,x){y.tween?y.on("start.brush",function(b){u(this,arguments).beforestart().start(b)}).on("interrupt.brush end.brush",function(b){u(this,arguments).end(b)}).tween("brush",function(){var b=this,w=b.__brush,_=u(b,arguments),v=w.selection,I=e.input(typeof g=="function"?g.apply(this,arguments):g,w.extent),E=Pr(v,I);function M(N){w.selection=N===1&&I===null?null:E(N),l.call(b),_.brush()}return v!==null&&I!==null?M:M(1)}):y.each(function(){var b=this,w=arguments,_=b.__brush,v=e.input(typeof g=="function"?g.apply(b,w):g,_.extent),I=u(b,w).beforestart();Do(b),_.selection=v===null?null:v,l.call(b),I.start(x).brush(x).end(x)})},c.clear=function(y,g){c.move(y,null,g)};function l(){var y=Yt(this),g=YI(this).selection;g?(y.selectAll(".selection").style("display",null).attr("x",g[0][0]).attr("y",g[0][1]).attr("width",g[1][0]-g[0][0]).attr("height",g[1][1]-g[0][1]),y.selectAll(".handle").style("display",null).attr("x",function(x){return x.type[x.type.length-1]==="e"?g[1][0]-s/2:g[0][0]-s/2}).attr("y",function(x){return x.type[0]==="s"?g[1][1]-s/2:g[0][1]-s/2}).attr("width",function(x){return x.type==="n"||x.type==="s"?g[1][0]-g[0][0]+s:s}).attr("height",function(x){return x.type==="e"||x.type==="w"?g[1][1]-g[0][1]+s:s})):y.selectAll(".selection,.handle").style("display","none").attr("x",null).attr("y",null).attr("width",null).attr("height",null)}function u(y,g,x){var b=y.__brush.emitter;return b&&(!x||!b.clean)?b:new f(y,g,x)}function f(y,g,x){this.that=y,this.args=g,this.state=y.__brush,this.active=0,this.clean=x}f.prototype={beforestart:function(){return++this.active===1&&(this.state.emitter=this,this.starting=!0),this},start:function(y,g){return this.starting?(this.starting=!1,this.emit("start",y,g)):this.emit("brush",y),this},brush:function(y,g){return this.emit("brush",y,g),this},end:function(y,g){return--this.active===0&&(delete this.state.emitter,this.emit("end",y,g)),this},emit:function(y,g,x){var b=Yt(this.that).datum();o.call(y,this.that,new jI(y,{sourceEvent:g,target:c,selection:e.output(this.state.selection),mode:x,dispatch:o}),b)}};function h(y){if(a&&!y.touches||!n.apply(this,arguments))return;var g=this,x=y.target.__data__.type,b=(i&&y.metaKey?x="overlay":x)==="selection"?QC:i&&y.altKey?Zu:Hu,w=e===Jx?null:wW[x],_=e===Zx?null:vW[x],v=YI(g),I=v.extent,E=v.selection,M=I[0][0],N,A,O=I[0][1],C,S,T=I[1][0],D,R,F=I[1][1],k,$,P=0,U=0,W,nt=w&&_&&i&&y.shiftKey,ot,at,Y=Array.from(y.touches||[y],tt=>{let ce=tt.identifier;return tt=Fn(tt,g),tt.point0=tt.slice(),tt.identifier=ce,tt});Do(g);var st=u(g,arguments,!0).beforestart();if(x==="overlay"){E&&(W=!0);let tt=[Y[0],Y[1]||Y[0]];v.selection=E=[[N=e===Jx?M:Un(tt[0][0],tt[1][0]),C=e===Zx?O:Un(tt[0][1],tt[1][1])],[D=e===Jx?T:Pn(tt[0][0],tt[1][0]),k=e===Zx?F:Pn(tt[0][1],tt[1][1])]],Y.length>1&&Rt(y)}else N=E[0][0],C=E[0][1],D=E[1][0],k=E[1][1];A=N,S=C,R=D,$=k;var q=Yt(g).attr("pointer-events","none"),Z=q.selectAll(".overlay").attr("cursor",$s[x]);if(y.touches)st.moved=z,st.ended=ht;else{var rt=Yt(y.view).on("mousemove.brush",z,!0).on("mouseup.brush",ht,!0);i&&rt.on("keydown.brush",Ht,!0).on("keyup.brush",Qt,!0),Mp(y.view)}l.call(g),st.start(y,b.name);function z(tt){for(let ce of tt.changedTouches||[tt])for(let Ar of Y)Ar.identifier===ce.identifier&&(Ar.cur=Fn(ce,g));if(nt&&!ot&&!at&&Y.length===1){let ce=Y[0];KC(ce.cur[0]-ce[0])>KC(ce.cur[1]-ce[1])?at=!0:ot=!0}for(let ce of Y)ce.cur&&(ce[0]=ce.cur[0],ce[1]=ce.cur[1]);W=!0,Hx(tt),Rt(tt)}function Rt(tt){let ce=Y[0],Ar=ce.point0;var Ji;switch(P=ce[0]-Ar[0],U=ce[1]-Ar[1],b){case VI:case QC:{w&&(P=Pn(M-N,Un(T-D,P)),A=N+P,R=D+P),_&&(U=Pn(O-C,Un(F-k,U)),S=C+U,$=k+U);break}case Hu:{Y[1]?(w&&(A=Pn(M,Un(T,Y[0][0])),R=Pn(M,Un(T,Y[1][0])),w=1),_&&(S=Pn(O,Un(F,Y[0][1])),$=Pn(O,Un(F,Y[1][1])),_=1)):(w<0?(P=Pn(M-N,Un(T-N,P)),A=N+P,R=D):w>0&&(P=Pn(M-D,Un(T-D,P)),A=N,R=D+P),_<0?(U=Pn(O-C,Un(F-C,U)),S=C+U,$=k):_>0&&(U=Pn(O-k,Un(F-k,U)),S=C,$=k+U));break}case Zu:{w&&(A=Pn(M,Un(T,N-P*w)),R=Pn(M,Un(T,D+P*w))),_&&(S=Pn(O,Un(F,C-U*_)),$=Pn(O,Un(F,k+U*_)));break}}R<A&&(w*=-1,Ji=N,N=D,D=Ji,Ji=A,A=R,R=Ji,x in ek&&Z.attr("cursor",$s[x=ek[x]])),$<S&&(_*=-1,Ji=C,C=k,k=Ji,Ji=S,S=$,$=Ji,x in nk&&Z.attr("cursor",$s[x=nk[x]])),v.selection&&(E=v.selection),ot&&(A=E[0][0],R=E[1][0]),at&&(S=E[0][1],$=E[1][1]),(E[0][0]!==A||E[0][1]!==S||E[1][0]!==R||E[1][1]!==$)&&(v.selection=[[A,S],[R,$]],l.call(g),st.brush(tt,b.name))}function ht(tt){if(JC(tt),tt.touches){if(tt.touches.length)return;a&&clearTimeout(a),a=setTimeout(function(){a=null},500)}else Ap(tt.view,W),rt.on("keydown.brush keyup.brush mousemove.brush mouseup.brush",null);q.attr("pointer-events","all"),Z.attr("cursor",$s.overlay),v.selection&&(E=v.selection),MW(E)&&(v.selection=null,l.call(g)),st.end(tt,b.name)}function Ht(tt){switch(tt.keyCode){case 16:{nt=w&&_;break}case 18:{b===Hu&&(w&&(D=R-P*w,N=A+P*w),_&&(k=$-U*_,C=S+U*_),b=Zu,Rt(tt));break}case 32:{(b===Hu||b===Zu)&&(w<0?D=R-P:w>0&&(N=A-P),_<0?k=$-U:_>0&&(C=S-U),b=VI,Z.attr("cursor",$s.selection),Rt(tt));break}default:return}Hx(tt)}function Qt(tt){switch(tt.keyCode){case 16:{nt&&(ot=at=nt=!1,Rt(tt));break}case 18:{b===Zu&&(w<0?D=R:w>0&&(N=A),_<0?k=$:_>0&&(C=S),b=Hu,Rt(tt));break}case 32:{b===VI&&(tt.altKey?(w&&(D=R-P*w,N=A+P*w),_&&(k=$-U*_,C=S+U*_),b=Zu):(w<0?D=R:w>0&&(N=A),_<0?k=$:_>0&&(C=S),b=Hu),Z.attr("cursor",$s[x]),Rt(tt));break}default:return}Hx(tt)}}function d(y){u(this,arguments).moved(y)}function p(y){u(this,arguments).ended(y)}function m(){var y=this.__brush||{selection:null};return y.extent=XI(t.apply(this,arguments)),y.dim=e,y}return c.extent=function(y){return arguments.length?(t=typeof y=="function"?y:Wx(XI(y)),c):t},c.filter=function(y){return arguments.length?(n=typeof y=="function"?y:Wx(!!y),c):n},c.touchable=function(y){return arguments.length?(r=typeof y=="function"?y:Wx(!!y),c):r},c.handleSize=function(y){return arguments.length?(s=+y,c):s},c.keyModifiers=function(y){return arguments.length?(i=!!y,c):i},c.on=function(){var y=o.on.apply(o,arguments);return y===o?c:y},c}var JI=Math.PI,QI=2*JI,al=1e-6,AW=QI-al;function rk(e){this._+=e[0];for(let t=1,n=e.length;t<n;++t)this._+=arguments[t]+e[t]}function TW(e){let t=Math.floor(e);if(!(t>=0))throw new Error(`invalid digits: ${e}`);if(t>15)return rk;let n=10**t;return function(r){this._+=r[0];for(let i=1,o=r.length;i<o;++i)this._+=Math.round(arguments[i]*n)/n+r[i]}}var Ra=class{constructor(t){this._x0=this._y0=this._x1=this._y1=null,this._="",this._append=t==null?rk:TW(t)}moveTo(t,n){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+n}`}closePath(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._append`Z`)}lineTo(t,n){this._append`L${this._x1=+t},${this._y1=+n}`}quadraticCurveTo(t,n,r,i){this._append`Q${+t},${+n},${this._x1=+r},${this._y1=+i}`}bezierCurveTo(t,n,r,i,o,s){this._append`C${+t},${+n},${+r},${+i},${this._x1=+o},${this._y1=+s}`}arcTo(t,n,r,i,o){if(t=+t,n=+n,r=+r,i=+i,o=+o,o<0)throw new Error(`negative radius: ${o}`);let s=this._x1,a=this._y1,c=r-t,l=i-n,u=s-t,f=a-n,h=u*u+f*f;if(this._x1===null)this._append`M${this._x1=t},${this._y1=n}`;else if(h>al)if(!(Math.abs(f*c-l*u)>al)||!o)this._append`L${this._x1=t},${this._y1=n}`;else{let d=r-s,p=i-a,m=c*c+l*l,y=d*d+p*p,g=Math.sqrt(m),x=Math.sqrt(h),b=o*Math.tan((JI-Math.acos((m+h-y)/(2*g*x)))/2),w=b/x,_=b/g;Math.abs(w-1)>al&&this._append`L${t+w*u},${n+w*f}`,this._append`A${o},${o},0,0,${+(f*d>u*p)},${this._x1=t+_*c},${this._y1=n+_*l}`}}arc(t,n,r,i,o,s){if(t=+t,n=+n,r=+r,s=!!s,r<0)throw new Error(`negative radius: ${r}`);let a=r*Math.cos(i),c=r*Math.sin(i),l=t+a,u=n+c,f=1^s,h=s?i-o:o-i;this._x1===null?this._append`M${l},${u}`:(Math.abs(this._x1-l)>al||Math.abs(this._y1-u)>al)&&this._append`L${l},${u}`,r&&(h<0&&(h=h%QI+QI),h>AW?this._append`A${r},${r},0,1,${f},${t-a},${n-c}A${r},${r},0,1,${f},${this._x1=l},${this._y1=u}`:h>al&&this._append`A${r},${r},0,${+(h>=JI)},${f},${this._x1=t+r*Math.cos(o)},${this._y1=n+r*Math.sin(o)}`)}rect(t,n,r,i){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+n}h${r=+r}v${+i}h${-r}Z`}toString(){return this._}};function ik(){return new Ra}ik.prototype=Ra.prototype;function rr(e=3){return new Ra(+e)}var EW=Array.prototype,Qx=EW.slice;function ok(e,t){return e-t}function sk(e){for(var t=0,n=e.length,r=e[n-1][1]*e[0][0]-e[n-1][0]*e[0][1];++t<n;)r+=e[t-1][1]*e[t][0]-e[t-1][0]*e[t][1];return r}var No=e=>()=>e;function ak(e,t){for(var n=-1,r=t.length,i;++n<r;)if(i=DW(e,t[n]))return i;return 0}function DW(e,t){for(var n=t[0],r=t[1],i=-1,o=0,s=e.length,a=s-1;o<s;a=o++){var c=e[o],l=c[0],u=c[1],f=e[a],h=f[0],d=f[1];if(NW(c,f,t))return 0;u>r!=d>r&&n<(h-l)*(r-u)/(d-u)+l&&(i=-i)}return i}function NW(e,t,n){var r;return OW(e,t,n)&&LW(e[r=+(e[0]===t[0])],n[r],t[r])}function OW(e,t,n){return(t[0]-e[0])*(n[1]-e[1])===(n[0]-e[0])*(t[1]-e[1])}function LW(e,t,n){return e<=t&&t<=n||n<=t&&t<=e}function ck(){}var Ps=[[],[[[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 Fa(){var e=1,t=1,n=Na,r=c;function i(l){var u=n(l);if(Array.isArray(u))u=u.slice().sort(ok);else{let f=ue(l,BW);for(u=En(...$u(f[0],f[1],u),u);u[u.length-1]>=f[1];)u.pop();for(;u[1]<f[0];)u.shift()}return u.map(f=>o(l,f))}function o(l,u){let f=u==null?NaN:+u;if(isNaN(f))throw new Error(`invalid value: ${u}`);var h=[],d=[];return s(l,f,function(p){r(p,l,f),sk(p)>0?h.push([p]):d.push(p)}),d.forEach(function(p){for(var m=0,y=h.length,g;m<y;++m)if(ak((g=h[m])[0],p)!==-1){g.push(p);return}}),{type:"MultiPolygon",value:u,coordinates:h}}function s(l,u,f){var h=new Array,d=new Array,p,m,y,g,x,b;for(p=m=-1,g=cl(l[0],u),Ps[g<<1].forEach(w);++p<e-1;)y=g,g=cl(l[p+1],u),Ps[y|g<<1].forEach(w);for(Ps[g<<0].forEach(w);++m<t-1;){for(p=-1,g=cl(l[m*e+e],u),x=cl(l[m*e],u),Ps[g<<1|x<<2].forEach(w);++p<e-1;)y=g,g=cl(l[m*e+e+p+1],u),b=x,x=cl(l[m*e+p+1],u),Ps[y|g<<1|x<<2|b<<3].forEach(w);Ps[g|x<<3].forEach(w)}for(p=-1,x=l[m*e]>=u,Ps[x<<2].forEach(w);++p<e-1;)b=x,x=cl(l[m*e+p+1],u),Ps[x<<2|b<<3].forEach(w);Ps[x<<3].forEach(w);function w(_){var v=[_[0][0]+p,_[0][1]+m],I=[_[1][0]+p,_[1][1]+m],E=a(v),M=a(I),N,A;(N=d[E])?(A=h[M])?(delete d[N.end],delete h[A.start],N===A?(N.ring.push(I),f(N.ring)):h[N.start]=d[A.end]={start:N.start,end:A.end,ring:N.ring.concat(A.ring)}):(delete d[N.end],N.ring.push(I),d[N.end=M]=N):(N=h[M])?(A=d[E])?(delete h[N.start],delete d[A.end],N===A?(N.ring.push(I),f(N.ring)):h[A.start]=d[N.end]={start:A.start,end:N.end,ring:A.ring.concat(N.ring)}):(delete h[N.start],N.ring.unshift(v),h[N.start=E]=N):h[E]=d[M]={start:E,end:M,ring:[v,I]}}}function a(l){return l[0]*2+l[1]*(e+1)*4}function c(l,u,f){l.forEach(function(h){var d=h[0],p=h[1],m=d|0,y=p|0,g=KI(u[y*e+m]);d>0&&d<e&&m===d&&(h[0]=lk(d,KI(u[y*e+m-1]),g,f)),p>0&&p<t&&y===p&&(h[1]=lk(p,KI(u[(y-1)*e+m]),g,f))})}return i.contour=o,i.size=function(l){if(!arguments.length)return[e,t];var u=Math.floor(l[0]),f=Math.floor(l[1]);if(!(u>=0&&f>=0))throw new Error("invalid size");return e=u,t=f,i},i.thresholds=function(l){return arguments.length?(n=typeof l=="function"?l:Array.isArray(l)?No(Qx.call(l)):No(l),i):n},i.smooth=function(l){return arguments.length?(r=l?c:ck,i):r===c},i}function BW(e){return isFinite(e)?e:NaN}function cl(e,t){return e==null?!1:+e>=t}function KI(e){return e==null||isNaN(e=+e)?-1/0:e}function lk(e,t,n,r){let i=r-t,o=n-t,s=isFinite(i)||isFinite(o)?i/o:Math.sign(i)/Math.sign(o);return isNaN(s)?e:e+s-.5}function CW(e){return e[0]}function kW(e){return e[1]}function RW(){return 1}function tM(){var e=CW,t=kW,n=RW,r=960,i=500,o=20,s=2,a=o*3,c=r+a*2>>s,l=i+a*2>>s,u=No(20);function f(x){var b=new Float32Array(c*l),w=Math.pow(2,-s),_=-1;for(let C of x){var v=(e(C,++_,x)+a)*w,I=(t(C,_,x)+a)*w,E=+n(C,_,x);if(E&&v>=0&&v<c&&I>=0&&I<l){var M=Math.floor(v),N=Math.floor(I),A=v-M-.5,O=I-N-.5;b[M+N*c]+=(1-A)*(1-O)*E,b[M+1+N*c]+=A*(1-O)*E,b[M+1+(N+1)*c]+=A*O*E,b[M+(N+1)*c]+=(1-A)*O*E}}return yp({data:b,width:c,height:l},o*w),b}function h(x){var b=f(x),w=u(b),_=Math.pow(2,2*s);return Array.isArray(w)||(w=En(Number.MIN_VALUE,Jt(b)/_,w)),Fa().size([c,l]).thresholds(w.map(v=>v*_))(b).map((v,I)=>(v.value=+w[I],d(v)))}h.contours=function(x){var b=f(x),w=Fa().size([c,l]),_=Math.pow(2,2*s),v=I=>{I=+I;var E=d(w.contour(b,I*_));return E.value=I,E};return Object.defineProperty(v,"max",{get:()=>Jt(b)/_}),v};function d(x){return x.coordinates.forEach(p),x}function p(x){x.forEach(m)}function m(x){x.forEach(y)}function y(x){x[0]=x[0]*Math.pow(2,s)-a,x[1]=x[1]*Math.pow(2,s)-a}function g(){return a=o*3,c=r+a*2>>s,l=i+a*2>>s,h}return h.x=function(x){return arguments.length?(e=typeof x=="function"?x:No(+x),h):e},h.y=function(x){return arguments.length?(t=typeof x=="function"?x:No(+x),h):t},h.weight=function(x){return arguments.length?(n=typeof x=="function"?x:No(+x),h):n},h.size=function(x){if(!arguments.length)return[r,i];var b=+x[0],w=+x[1];if(!(b>=0&&w>=0))throw new Error("invalid size");return r=b,i=w,g()},h.cellSize=function(x){if(!arguments.length)return 1<<s;if(!((x=+x)>=1))throw new Error("invalid cell size");return s=Math.floor(Math.log(x)/Math.LN2),g()},h.thresholds=function(x){return arguments.length?(u=typeof x=="function"?x:Array.isArray(x)?No(Qx.call(x)):No(x),h):u},h.bandwidth=function(x){if(!arguments.length)return Math.sqrt(o*(o+1));if(!((x=+x)>=0))throw new Error("invalid bandwidth");return o=(Math.sqrt(4*x*x+1)-1)/2,g()},h}var te=11102230246251565e-32,Ze=134217729,qp=(3+8*te)*te;function ll(e,t,n,r,i){let o,s,a,c,l=t[0],u=r[0],f=0,h=0;u>l==u>-l?(o=l,l=t[++f]):(o=u,u=r[++h]);let d=0;if(f<e&&h<n)for(u>l==u>-l?(s=l+o,a=o-(s-l),l=t[++f]):(s=u+o,a=o-(s-u),u=r[++h]),o=s,a!==0&&(i[d++]=a);f<e&&h<n;)u>l==u>-l?(s=o+l,c=s-o,a=o-(s-c)+(l-c),l=t[++f]):(s=o+u,c=s-o,a=o-(s-c)+(u-c),u=r[++h]),o=s,a!==0&&(i[d++]=a);for(;f<e;)s=o+l,c=s-o,a=o-(s-c)+(l-c),l=t[++f],o=s,a!==0&&(i[d++]=a);for(;h<n;)s=o+u,c=s-o,a=o-(s-c)+(u-c),u=r[++h],o=s,a!==0&&(i[d++]=a);return(o!==0||d===0)&&(i[d++]=o),d}function jp(e,t){let n=t[0];for(let r=1;r<e;r++)n+=t[r];return n}function V(e){return new Float64Array(e)}var FW=(3+16*te)*te,$W=(2+12*te)*te,PW=(9+64*te)*te*te,Ju=V(4),uk=V(8),fk=V(12),hk=V(16),ir=V(4);function UW(e,t,n,r,i,o,s){let a,c,l,u,f,h,d,p,m,y,g,x,b,w,_,v,I,E,M=e-i,N=n-i,A=t-o,O=r-o;w=M*O,h=Ze*M,d=h-(h-M),p=M-d,h=Ze*O,m=h-(h-O),y=O-m,_=p*y-(w-d*m-p*m-d*y),v=A*N,h=Ze*A,d=h-(h-A),p=A-d,h=Ze*N,m=h-(h-N),y=N-m,I=p*y-(v-d*m-p*m-d*y),g=_-I,f=_-g,Ju[0]=_-(g+f)+(f-I),x=w+g,f=x-w,b=w-(x-f)+(g-f),g=b-v,f=b-g,Ju[1]=b-(g+f)+(f-v),E=x+g,f=E-x,Ju[2]=x-(E-f)+(g-f),Ju[3]=E;let C=jp(4,Ju),S=$W*s;if(C>=S||-C>=S||(f=e-M,a=e-(M+f)+(f-i),f=n-N,l=n-(N+f)+(f-i),f=t-A,c=t-(A+f)+(f-o),f=r-O,u=r-(O+f)+(f-o),a===0&&c===0&&l===0&&u===0)||(S=PW*s+qp*Math.abs(C),C+=M*u+O*a-(A*l+N*c),C>=S||-C>=S))return C;w=a*O,h=Ze*a,d=h-(h-a),p=a-d,h=Ze*O,m=h-(h-O),y=O-m,_=p*y-(w-d*m-p*m-d*y),v=c*N,h=Ze*c,d=h-(h-c),p=c-d,h=Ze*N,m=h-(h-N),y=N-m,I=p*y-(v-d*m-p*m-d*y),g=_-I,f=_-g,ir[0]=_-(g+f)+(f-I),x=w+g,f=x-w,b=w-(x-f)+(g-f),g=b-v,f=b-g,ir[1]=b-(g+f)+(f-v),E=x+g,f=E-x,ir[2]=x-(E-f)+(g-f),ir[3]=E;let T=ll(4,Ju,4,ir,uk);w=M*u,h=Ze*M,d=h-(h-M),p=M-d,h=Ze*u,m=h-(h-u),y=u-m,_=p*y-(w-d*m-p*m-d*y),v=A*l,h=Ze*A,d=h-(h-A),p=A-d,h=Ze*l,m=h-(h-l),y=l-m,I=p*y-(v-d*m-p*m-d*y),g=_-I,f=_-g,ir[0]=_-(g+f)+(f-I),x=w+g,f=x-w,b=w-(x-f)+(g-f),g=b-v,f=b-g,ir[1]=b-(g+f)+(f-v),E=x+g,f=E-x,ir[2]=x-(E-f)+(g-f),ir[3]=E;let D=ll(T,uk,4,ir,fk);w=a*u,h=Ze*a,d=h-(h-a),p=a-d,h=Ze*u,m=h-(h-u),y=u-m,_=p*y-(w-d*m-p*m-d*y),v=c*l,h=Ze*c,d=h-(h-c),p=c-d,h=Ze*l,m=h-(h-l),y=l-m,I=p*y-(v-d*m-p*m-d*y),g=_-I,f=_-g,ir[0]=_-(g+f)+(f-I),x=w+g,f=x-w,b=w-(x-f)+(g-f),g=b-v,f=b-g,ir[1]=b-(g+f)+(f-v),E=x+g,f=E-x,ir[2]=x-(E-f)+(g-f),ir[3]=E;let R=ll(D,fk,4,ir,hk);return hk[R-1]}function Qu(e,t,n,r,i,o){let s=(t-o)*(n-i),a=(e-i)*(r-o),c=s-a,l=Math.abs(s+a);return Math.abs(c)>=FW*l?c:-UW(e,t,n,r,i,o,l)}var h2t=(7+56*te)*te,d2t=(3+28*te)*te,p2t=(26+288*te)*te*te,m2t=V(4),y2t=V(4),g2t=V(4),x2t=V(4),b2t=V(4),w2t=V(4),v2t=V(4),_2t=V(4),S2t=V(4),I2t=V(8),M2t=V(8),A2t=V(8),T2t=V(4),E2t=V(8),D2t=V(8),N2t=V(8),O2t=V(12),L2t=V(192),B2t=V(192);var R2t=(10+96*te)*te,F2t=(4+48*te)*te,$2t=(44+576*te)*te*te,P2t=V(4),U2t=V(4),z2t=V(4),q2t=V(4),j2t=V(4),V2t=V(4),Y2t=V(4),X2t=V(4),G2t=V(8),W2t=V(8),H2t=V(8),Z2t=V(8),J2t=V(8),Q2t=V(8),K2t=V(8),tSt=V(8),eSt=V(8),nSt=V(4),rSt=V(4),iSt=V(4),oSt=V(8),sSt=V(16),aSt=V(16),cSt=V(16),lSt=V(32),uSt=V(32),fSt=V(48),hSt=V(64),dSt=V(1152),pSt=V(1152);var xSt=(16+224*te)*te,bSt=(5+72*te)*te,wSt=(71+1408*te)*te*te,vSt=V(4),_St=V(4),SSt=V(4),ISt=V(4),MSt=V(4),ASt=V(4),TSt=V(4),ESt=V(4),DSt=V(4),NSt=V(4),OSt=V(24),LSt=V(24),BSt=V(24),CSt=V(24),kSt=V(24),RSt=V(24),FSt=V(24),$St=V(24),PSt=V(24),USt=V(24),zSt=V(1152),qSt=V(1152),jSt=V(1152),VSt=V(1152),YSt=V(1152),XSt=V(2304),GSt=V(2304),WSt=V(3456),HSt=V(5760),ZSt=V(8),JSt=V(8),QSt=V(8),KSt=V(16),tIt=V(24),eIt=V(48),nIt=V(48),rIt=V(96),iIt=V(192),oIt=V(384),sIt=V(384),aIt=V(384),cIt=V(768);var lIt=V(96),uIt=V(96),fIt=V(96),hIt=V(1152);var pk=Math.pow(2,-52),Kx=new Uint32Array(512),tf=class e{static from(t,n=XW,r=GW){let i=t.length,o=new Float64Array(i*2);for(let s=0;s<i;s++){let a=t[s];o[2*s]=n(a),o[2*s+1]=r(a)}return new e(o)}constructor(t){let n=t.length>>1;if(n>0&&typeof t[0]!="number")throw new Error("Expected coords to contain numbers.");this.coords=t;let r=Math.max(2*n-5,0);this._triangles=new Uint32Array(r*3),this._halfedges=new Int32Array(r*3),this._hashSize=Math.ceil(Math.sqrt(n)),this._hullPrev=new Uint32Array(n),this._hullNext=new Uint32Array(n),this._hullTri=new Uint32Array(n),this._hullHash=new Int32Array(this._hashSize),this._ids=new Uint32Array(n),this._dists=new Float64Array(n),this.update()}update(){let{coords:t,_hullPrev:n,_hullNext:r,_hullTri:i,_hullHash:o}=this,s=t.length>>1,a=1/0,c=1/0,l=-1/0,u=-1/0;for(let M=0;M<s;M++){let N=t[2*M],A=t[2*M+1];N<a&&(a=N),A<c&&(c=A),N>l&&(l=N),A>u&&(u=A),this._ids[M]=M}let f=(a+l)/2,h=(c+u)/2,d,p,m;for(let M=0,N=1/0;M<s;M++){let A=eM(f,h,t[2*M],t[2*M+1]);A<N&&(d=M,N=A)}let y=t[2*d],g=t[2*d+1];for(let M=0,N=1/0;M<s;M++){if(M===d)continue;let A=eM(y,g,t[2*M],t[2*M+1]);A<N&&A>0&&(p=M,N=A)}let x=t[2*p],b=t[2*p+1],w=1/0;for(let M=0;M<s;M++){if(M===d||M===p)continue;let N=VW(y,g,x,b,t[2*M],t[2*M+1]);N<w&&(m=M,w=N)}let _=t[2*m],v=t[2*m+1];if(w===1/0){for(let A=0;A<s;A++)this._dists[A]=t[2*A]-t[0]||t[2*A+1]-t[1];Ku(this._ids,this._dists,0,s-1);let M=new Uint32Array(s),N=0;for(let A=0,O=-1/0;A<s;A++){let C=this._ids[A],S=this._dists[C];S>O&&(M[N++]=C,O=S)}this.hull=M.subarray(0,N),this.triangles=new Uint32Array(0),this.halfedges=new Uint32Array(0);return}if(Qu(y,g,x,b,_,v)<0){let M=p,N=x,A=b;p=m,x=_,b=v,m=M,_=N,v=A}let I=YW(y,g,x,b,_,v);this._cx=I.x,this._cy=I.y;for(let M=0;M<s;M++)this._dists[M]=eM(t[2*M],t[2*M+1],I.x,I.y);Ku(this._ids,this._dists,0,s-1),this._hullStart=d;let E=3;r[d]=n[m]=p,r[p]=n[d]=m,r[m]=n[p]=d,i[d]=0,i[p]=1,i[m]=2,o.fill(-1),o[this._hashKey(y,g)]=d,o[this._hashKey(x,b)]=p,o[this._hashKey(_,v)]=m,this.trianglesLen=0,this._addTriangle(d,p,m,-1,-1,-1);for(let M=0,N,A;M<this._ids.length;M++){let O=this._ids[M],C=t[2*O],S=t[2*O+1];if(M>0&&Math.abs(C-N)<=pk&&Math.abs(S-A)<=pk||(N=C,A=S,O===d||O===p||O===m))continue;let T=0;for(let $=0,P=this._hashKey(C,S);$<this._hashSize&&(T=o[(P+$)%this._hashSize],!(T!==-1&&T!==r[T]));$++);T=n[T];let D=T,R;for(;R=r[D],Qu(C,S,t[2*D],t[2*D+1],t[2*R],t[2*R+1])>=0;)if(D=R,D===T){D=-1;break}if(D===-1)continue;let F=this._addTriangle(D,O,r[D],-1,-1,i[D]);i[O]=this._legalize(F+2),i[D]=F,E++;let k=r[D];for(;R=r[k],Qu(C,S,t[2*k],t[2*k+1],t[2*R],t[2*R+1])<0;)F=this._addTriangle(k,O,R,i[O],-1,i[k]),i[O]=this._legalize(F+2),r[k]=k,E--,k=R;if(D===T)for(;R=n[D],Qu(C,S,t[2*R],t[2*R+1],t[2*D],t[2*D+1])<0;)F=this._addTriangle(R,O,D,-1,i[D],i[R]),this._legalize(F+2),i[R]=F,r[D]=D,E--,D=R;this._hullStart=n[O]=D,r[D]=n[k]=O,r[O]=k,o[this._hashKey(C,S)]=O,o[this._hashKey(t[2*D],t[2*D+1])]=D}this.hull=new Uint32Array(E);for(let M=0,N=this._hullStart;M<E;M++)this.hull[M]=N,N=r[N];this.triangles=this._triangles.subarray(0,this.trianglesLen),this.halfedges=this._halfedges.subarray(0,this.trianglesLen)}_hashKey(t,n){return Math.floor(qW(t-this._cx,n-this._cy)*this._hashSize)%this._hashSize}_legalize(t){let{_triangles:n,_halfedges:r,coords:i}=this,o=0,s=0;for(;;){let a=r[t],c=t-t%3;if(s=c+(t+2)%3,a===-1){if(o===0)break;t=Kx[--o];continue}let l=a-a%3,u=c+(t+1)%3,f=l+(a+2)%3,h=n[s],d=n[t],p=n[u],m=n[f];if(jW(i[2*h],i[2*h+1],i[2*d],i[2*d+1],i[2*p],i[2*p+1],i[2*m],i[2*m+1])){n[t]=m,n[a]=h;let g=r[f];if(g===-1){let b=this._hullStart;do{if(this._hullTri[b]===f){this._hullTri[b]=t;break}b=this._hullPrev[b]}while(b!==this._hullStart)}this._link(t,g),this._link(a,r[s]),this._link(s,f);let x=l+(a+1)%3;o<Kx.length&&(Kx[o++]=x)}else{if(o===0)break;t=Kx[--o]}}return s}_link(t,n){this._halfedges[t]=n,n!==-1&&(this._halfedges[n]=t)}_addTriangle(t,n,r,i,o,s){let a=this.trianglesLen;return this._triangles[a]=t,this._triangles[a+1]=n,this._triangles[a+2]=r,this._link(a,i),this._link(a+1,o),this._link(a+2,s),this.trianglesLen+=3,a}};function qW(e,t){let n=e/(Math.abs(e)+Math.abs(t));return(t>0?3-n:1+n)/4}function eM(e,t,n,r){let i=e-n,o=t-r;return i*i+o*o}function jW(e,t,n,r,i,o,s,a){let c=e-s,l=t-a,u=n-s,f=r-a,h=i-s,d=o-a,p=c*c+l*l,m=u*u+f*f,y=h*h+d*d;return c*(f*y-m*d)-l*(u*y-m*h)+p*(u*d-f*h)<0}function VW(e,t,n,r,i,o){let s=n-e,a=r-t,c=i-e,l=o-t,u=s*s+a*a,f=c*c+l*l,h=.5/(s*l-a*c),d=(l*u-a*f)*h,p=(s*f-c*u)*h;return d*d+p*p}function YW(e,t,n,r,i,o){let s=n-e,a=r-t,c=i-e,l=o-t,u=s*s+a*a,f=c*c+l*l,h=.5/(s*l-a*c),d=e+(l*u-a*f)*h,p=t+(s*f-c*u)*h;return{x:d,y:p}}function Ku(e,t,n,r){if(r-n<=20)for(let i=n+1;i<=r;i++){let o=e[i],s=t[o],a=i-1;for(;a>=n&&t[e[a]]>s;)e[a+1]=e[a--];e[a+1]=o}else{let i=n+r>>1,o=n+1,s=r;Vp(e,i,o),t[e[n]]>t[e[r]]&&Vp(e,n,r),t[e[o]]>t[e[r]]&&Vp(e,o,r),t[e[n]]>t[e[o]]&&Vp(e,n,o);let a=e[o],c=t[a];for(;;){do o++;while(t[e[o]]<c);do s--;while(t[e[s]]>c);if(s<o)break;Vp(e,o,s)}e[n+1]=e[s],e[s]=a,r-o+1>=s-n?(Ku(e,t,o,r),Ku(e,t,n,s-1)):(Ku(e,t,n,s-1),Ku(e,t,o,r))}}function Vp(e,t,n){let r=e[t];e[t]=e[n],e[n]=r}function XW(e){return e[0]}function GW(e){return e[1]}var hi=class{constructor(){this._x0=this._y0=this._x1=this._y1=null,this._=""}moveTo(t,n){this._+=`M${this._x0=this._x1=+t},${this._y0=this._y1=+n}`}closePath(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")}lineTo(t,n){this._+=`L${this._x1=+t},${this._y1=+n}`}arc(t,n,r){t=+t,n=+n,r=+r;let i=t+r,o=n;if(r<0)throw new Error("negative radius");this._x1===null?this._+=`M${i},${o}`:(Math.abs(this._x1-i)>1e-6||Math.abs(this._y1-o)>1e-6)&&(this._+="L"+i+","+o),r&&(this._+=`A${r},${r},0,1,1,${t-r},${n}A${r},${r},0,1,1,${this._x1=i},${this._y1=o}`)}rect(t,n,r,i){this._+=`M${this._x0=this._x1=+t},${this._y0=this._y1=+n}h${+r}v${+i}h${-r}Z`}value(){return this._||null}};var $a=class{constructor(){this._=[]}moveTo(t,n){this._.push([t,n])}closePath(){this._.push(this._[0].slice())}lineTo(t,n){this._.push([t,n])}value(){return this._.length?this._:null}};var Yp=class{constructor(t,[n,r,i,o]=[0,0,960,500]){if(!((i=+i)>=(n=+n))||!((o=+o)>=(r=+r)))throw new Error("invalid bounds");this.delaunay=t,this._circumcenters=new Float64Array(t.points.length*2),this.vectors=new Float64Array(t.points.length*2),this.xmax=i,this.xmin=n,this.ymax=o,this.ymin=r,this._init()}update(){return this.delaunay.update(),this._init(),this}_init(){let{delaunay:{points:t,hull:n,triangles:r},vectors:i}=this,o,s,a=this.circumcenters=this._circumcenters.subarray(0,r.length/3*2);for(let m=0,y=0,g=r.length,x,b;m<g;m+=3,y+=2){let w=r[m]*2,_=r[m+1]*2,v=r[m+2]*2,I=t[w],E=t[w+1],M=t[_],N=t[_+1],A=t[v],O=t[v+1],C=M-I,S=N-E,T=A-I,D=O-E,R=(C*D-S*T)*2;if(Math.abs(R)<1e-9){if(o===void 0){o=s=0;for(let k of n)o+=t[k*2],s+=t[k*2+1];o/=n.length,s/=n.length}let F=1e9*Math.sign((o-I)*D-(s-E)*T);x=(I+A)/2-F*D,b=(E+O)/2+F*T}else{let F=1/R,k=C*C+S*S,$=T*T+D*D;x=I+(D*k-S*$)*F,b=E+(C*$-T*k)*F}a[y]=x,a[y+1]=b}let c=n[n.length-1],l,u=c*4,f,h=t[2*c],d,p=t[2*c+1];i.fill(0);for(let m=0;m<n.length;++m)c=n[m],l=u,f=h,d=p,u=c*4,h=t[2*c],p=t[2*c+1],i[l+2]=i[u]=d-p,i[l+3]=i[u+1]=h-f}render(t){let n=t==null?t=new hi:void 0,{delaunay:{halfedges:r,inedges:i,hull:o},circumcenters:s,vectors:a}=this;if(o.length<=1)return null;for(let u=0,f=r.length;u<f;++u){let h=r[u];if(h<u)continue;let d=Math.floor(u/3)*2,p=Math.floor(h/3)*2,m=s[d],y=s[d+1],g=s[p],x=s[p+1];this._renderSegment(m,y,g,x,t)}let c,l=o[o.length-1];for(let u=0;u<o.length;++u){c=l,l=o[u];let f=Math.floor(i[l]/3)*2,h=s[f],d=s[f+1],p=c*4,m=this._project(h,d,a[p+2],a[p+3]);m&&this._renderSegment(h,d,m[0],m[1],t)}return n&&n.value()}renderBounds(t){let n=t==null?t=new hi:void 0;return t.rect(this.xmin,this.ymin,this.xmax-this.xmin,this.ymax-this.ymin),n&&n.value()}renderCell(t,n){let r=n==null?n=new hi:void 0,i=this._clip(t);if(i===null||!i.length)return;n.moveTo(i[0],i[1]);let o=i.length;for(;i[0]===i[o-2]&&i[1]===i[o-1]&&o>1;)o-=2;for(let s=2;s<o;s+=2)(i[s]!==i[s-2]||i[s+1]!==i[s-1])&&n.lineTo(i[s],i[s+1]);return n.closePath(),r&&r.value()}*cellPolygons(){let{delaunay:{points:t}}=this;for(let n=0,r=t.length/2;n<r;++n){let i=this.cellPolygon(n);i&&(i.index=n,yield i)}}cellPolygon(t){let n=new $a;return this.renderCell(t,n),n.value()}_renderSegment(t,n,r,i,o){let s,a=this._regioncode(t,n),c=this._regioncode(r,i);a===0&&c===0?(o.moveTo(t,n),o.lineTo(r,i)):(s=this._clipSegment(t,n,r,i,a,c))&&(o.moveTo(s[0],s[1]),o.lineTo(s[2],s[3]))}contains(t,n,r){return n=+n,n!==n||(r=+r,r!==r)?!1:this.delaunay._step(t,n,r)===t}*neighbors(t){let n=this._clip(t);if(n)for(let r of this.delaunay.neighbors(t)){let i=this._clip(r);if(i){t:for(let o=0,s=n.length;o<s;o+=2)for(let a=0,c=i.length;a<c;a+=2)if(n[o]===i[a]&&n[o+1]===i[a+1]&&n[(o+2)%s]===i[(a+c-2)%c]&&n[(o+3)%s]===i[(a+c-1)%c]){yield r;break t}}}}_cell(t){let{circumcenters:n,delaunay:{inedges:r,halfedges:i,triangles:o}}=this,s=r[t];if(s===-1)return null;let a=[],c=s;do{let l=Math.floor(c/3);if(a.push(n[l*2],n[l*2+1]),c=c%3===2?c-2:c+1,o[c]!==t)break;c=i[c]}while(c!==s&&c!==-1);return a}_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];let n=this._cell(t);if(n===null)return null;let{vectors:r}=this,i=t*4;return this._simplify(r[i]||r[i+1]?this._clipInfinite(t,n,r[i],r[i+1],r[i+2],r[i+3]):this._clipFinite(t,n))}_clipFinite(t,n){let r=n.length,i=null,o,s,a=n[r-2],c=n[r-1],l,u=this._regioncode(a,c),f,h=0;for(let d=0;d<r;d+=2)if(o=a,s=c,a=n[d],c=n[d+1],l=u,u=this._regioncode(a,c),l===0&&u===0)f=h,h=0,i?i.push(a,c):i=[a,c];else{let p,m,y,g,x;if(l===0){if((p=this._clipSegment(o,s,a,c,l,u))===null)continue;[m,y,g,x]=p}else{if((p=this._clipSegment(a,c,o,s,u,l))===null)continue;[g,x,m,y]=p,f=h,h=this._edgecode(m,y),f&&h&&this._edge(t,f,h,i,i.length),i?i.push(m,y):i=[m,y]}f=h,h=this._edgecode(g,x),f&&h&&this._edge(t,f,h,i,i.length),i?i.push(g,x):i=[g,x]}if(i)f=h,h=this._edgecode(i[0],i[1]),f&&h&&this._edge(t,f,h,i,i.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 i}_clipSegment(t,n,r,i,o,s){let a=o<s;for(a&&([t,n,r,i,o,s]=[r,i,t,n,s,o]);;){if(o===0&&s===0)return a?[r,i,t,n]:[t,n,r,i];if(o&s)return null;let c,l,u=o||s;u&8?(c=t+(r-t)*(this.ymax-n)/(i-n),l=this.ymax):u&4?(c=t+(r-t)*(this.ymin-n)/(i-n),l=this.ymin):u&2?(l=n+(i-n)*(this.xmax-t)/(r-t),c=this.xmax):(l=n+(i-n)*(this.xmin-t)/(r-t),c=this.xmin),o?(t=c,n=l,o=this._regioncode(t,n)):(r=c,i=l,s=this._regioncode(r,i))}}_clipInfinite(t,n,r,i,o,s){let a=Array.from(n),c;if((c=this._project(a[0],a[1],r,i))&&a.unshift(c[0],c[1]),(c=this._project(a[a.length-2],a[a.length-1],o,s))&&a.push(c[0],c[1]),a=this._clipFinite(t,a))for(let l=0,u=a.length,f,h=this._edgecode(a[u-2],a[u-1]);l<u;l+=2)f=h,h=this._edgecode(a[l],a[l+1]),f&&h&&(l=this._edge(t,f,h,a,l),u=a.length);else this.contains(t,(this.xmin+this.xmax)/2,(this.ymin+this.ymax)/2)&&(a=[this.xmin,this.ymin,this.xmax,this.ymin,this.xmax,this.ymax,this.xmin,this.ymax]);return a}_edge(t,n,r,i,o){for(;n!==r;){let s,a;switch(n){case 5:n=4;continue;case 4:n=6,s=this.xmax,a=this.ymin;break;case 6:n=2;continue;case 2:n=10,s=this.xmax,a=this.ymax;break;case 10:n=8;continue;case 8:n=9,s=this.xmin,a=this.ymax;break;case 9:n=1;continue;case 1:n=5,s=this.xmin,a=this.ymin;break}(i[o]!==s||i[o+1]!==a)&&this.contains(t,s,a)&&(i.splice(o,0,s,a),o+=2)}return o}_project(t,n,r,i){let o=1/0,s,a,c;if(i<0){if(n<=this.ymin)return null;(s=(this.ymin-n)/i)<o&&(c=this.ymin,a=t+(o=s)*r)}else if(i>0){if(n>=this.ymax)return null;(s=(this.ymax-n)/i)<o&&(c=this.ymax,a=t+(o=s)*r)}if(r>0){if(t>=this.xmax)return null;(s=(this.xmax-t)/r)<o&&(a=this.xmax,c=n+(o=s)*i)}else if(r<0){if(t<=this.xmin)return null;(s=(this.xmin-t)/r)<o&&(a=this.xmin,c=n+(o=s)*i)}return[a,c]}_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){let r=(n+2)%t.length,i=(n+4)%t.length;(t[n]===t[r]&&t[r]===t[i]||t[n+1]===t[r+1]&&t[r+1]===t[i+1])&&(t.splice(r,2),n-=2)}t.length||(t=null)}return t}};var WW=2*Math.PI,ef=Math.pow;function HW(e){return e[0]}function ZW(e){return e[1]}function JW(e){let{triangles:t,coords:n}=e;for(let r=0;r<t.length;r+=3){let i=2*t[r],o=2*t[r+1],s=2*t[r+2];if((n[s]-n[i])*(n[o+1]-n[i+1])-(n[o]-n[i])*(n[s+1]-n[i+1])>1e-10)return!1}return!0}function QW(e,t,n){return[e+Math.sin(e+t)*n,t+Math.cos(e-t)*n]}var di=class e{static from(t,n=HW,r=ZW,i){return new e("length"in t?KW(t,n,r,i):Float64Array.from(tH(t,n,r,i)))}constructor(t){this._delaunator=new tf(t),this.inedges=new Int32Array(t.length/2),this._hullIndex=new Int32Array(t.length/2),this.points=this._delaunator.coords,this._init()}update(){return this._delaunator.update(),this._init(),this}_init(){let t=this._delaunator,n=this.points;if(t.hull&&t.hull.length>2&&JW(t)){this.collinear=Int32Array.from({length:n.length/2},(h,d)=>d).sort((h,d)=>n[2*h]-n[2*d]||n[2*h+1]-n[2*d+1]);let c=this.collinear[0],l=this.collinear[this.collinear.length-1],u=[n[2*c],n[2*c+1],n[2*l],n[2*l+1]],f=1e-8*Math.hypot(u[3]-u[1],u[2]-u[0]);for(let h=0,d=n.length/2;h<d;++h){let p=QW(n[2*h],n[2*h+1],f);n[2*h]=p[0],n[2*h+1]=p[1]}this._delaunator=new tf(n)}else delete this.collinear;let r=this.halfedges=this._delaunator.halfedges,i=this.hull=this._delaunator.hull,o=this.triangles=this._delaunator.triangles,s=this.inedges.fill(-1),a=this._hullIndex.fill(-1);for(let c=0,l=r.length;c<l;++c){let u=o[c%3===2?c-2:c+1];(r[c]===-1||s[u]===-1)&&(s[u]=c)}for(let c=0,l=i.length;c<l;++c)a[i[c]]=c;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],s[i[0]]=1,i.length===2&&(s[i[1]]=0,this.triangles[1]=i[1],this.triangles[2]=i[1]))}voronoi(t){return new Yp(this,t)}*neighbors(t){let{inedges:n,hull:r,_hullIndex:i,halfedges:o,triangles:s,collinear:a}=this;if(a){let f=a.indexOf(t);f>0&&(yield a[f-1]),f<a.length-1&&(yield a[f+1]);return}let c=n[t];if(c===-1)return;let l=c,u=-1;do{if(yield u=s[l],l=l%3===2?l-2:l+1,s[l]!==t)return;if(l=o[l],l===-1){let f=r[(i[t]+1)%r.length];f!==u&&(yield f);return}}while(l!==c)}find(t,n,r=0){if(t=+t,t!==t||(n=+n,n!==n))return-1;let i=r,o;for(;(o=this._step(r,t,n))>=0&&o!==r&&o!==i;)r=o;return o}_step(t,n,r){let{inedges:i,hull:o,_hullIndex:s,halfedges:a,triangles:c,points:l}=this;if(i[t]===-1||!l.length)return(t+1)%(l.length>>1);let u=t,f=ef(n-l[t*2],2)+ef(r-l[t*2+1],2),h=i[t],d=h;do{let p=c[d],m=ef(n-l[p*2],2)+ef(r-l[p*2+1],2);if(m<f&&(f=m,u=p),d=d%3===2?d-2:d+1,c[d]!==t)break;if(d=a[d],d===-1){if(d=o[(s[t]+1)%o.length],d!==p&&ef(n-l[d*2],2)+ef(r-l[d*2+1],2)<f)return d;break}}while(d!==h);return u}render(t){let n=t==null?t=new hi:void 0,{points:r,halfedges:i,triangles:o}=this;for(let s=0,a=i.length;s<a;++s){let c=i[s];if(c<s)continue;let l=o[s]*2,u=o[c]*2;t.moveTo(r[l],r[l+1]),t.lineTo(r[u],r[u+1])}return this.renderHull(t),n&&n.value()}renderPoints(t,n){n===void 0&&(!t||typeof t.moveTo!="function")&&(n=t,t=null),n=n==null?2:+n;let r=t==null?t=new hi:void 0,{points:i}=this;for(let o=0,s=i.length;o<s;o+=2){let a=i[o],c=i[o+1];t.moveTo(a+n,c),t.arc(a,c,n,0,WW)}return r&&r.value()}renderHull(t){let n=t==null?t=new hi:void 0,{hull:r,points:i}=this,o=r[0]*2,s=r.length;t.moveTo(i[o],i[o+1]);for(let a=1;a<s;++a){let c=2*r[a];t.lineTo(i[c],i[c+1])}return t.closePath(),n&&n.value()}hullPolygon(){let t=new $a;return this.renderHull(t),t.value()}renderTriangle(t,n){let r=n==null?n=new hi:void 0,{points:i,triangles:o}=this,s=o[t*=3]*2,a=o[t+1]*2,c=o[t+2]*2;return n.moveTo(i[s],i[s+1]),n.lineTo(i[a],i[a+1]),n.lineTo(i[c],i[c+1]),n.closePath(),r&&r.value()}*trianglePolygons(){let{triangles:t}=this;for(let n=0,r=t.length/3;n<r;++n)yield this.trianglePolygon(n)}trianglePolygon(t){let n=new $a;return this.renderTriangle(t,n),n.value()}};function KW(e,t,n,r){let i=e.length,o=new Float64Array(i*2);for(let s=0;s<i;++s){let a=e[s];o[s*2]=t.call(r,a,s,e),o[s*2+1]=n.call(r,a,s,e)}return o}function*tH(e,t,n,r){let i=0;for(let o of e)yield t.call(r,o,i,e),yield n.call(r,o,i,e),++i}function mk(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString("en").replace(/,/g,""):e.toString(10)}function ul(e,t){if((n=(e=t?e.toExponential(t-1):e.toExponential()).indexOf("e"))<0)return null;var n,r=e.slice(0,n);return[r.length>1?r[0]+r.slice(2):r,+e.slice(n+1)]}function Oo(e){return e=ul(Math.abs(e)),e?e[1]:NaN}function yk(e,t){return function(n,r){for(var i=n.length,o=[],s=0,a=e[0],c=0;i>0&&a>0&&(c+a+1>r&&(a=Math.max(1,r-c)),o.push(n.substring(i-=a,i+a)),!((c+=a+1)>r));)a=e[s=(s+1)%e.length];return o.reverse().join(t)}}function gk(e){return function(t){return t.replace(/[0-9]/g,function(n){return e[+n]})}}var eH=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function Lo(e){if(!(t=eH.exec(e)))throw new Error("invalid format: "+e);var t;return new tb({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}Lo.prototype=tb.prototype;function tb(e){this.fill=e.fill===void 0?" ":e.fill+"",this.align=e.align===void 0?">":e.align+"",this.sign=e.sign===void 0?"-":e.sign+"",this.symbol=e.symbol===void 0?"":e.symbol+"",this.zero=!!e.zero,this.width=e.width===void 0?void 0:+e.width,this.comma=!!e.comma,this.precision=e.precision===void 0?void 0:+e.precision,this.trim=!!e.trim,this.type=e.type===void 0?"":e.type+""}tb.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function xk(e){t:for(var t=e.length,n=1,r=-1,i;n<t;++n)switch(e[n]){case".":r=i=n;break;case"0":r===0&&(r=n),i=n;break;default:if(!+e[n])break t;r>0&&(r=0);break}return r>0?e.slice(0,r)+e.slice(i+1):e}var nM;function bk(e,t){var n=ul(e,t);if(!n)return e+"";var r=n[0],i=n[1],o=i-(nM=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,s=r.length;return o===s?r:o>s?r+new Array(o-s+1).join("0"):o>0?r.slice(0,o)+"."+r.slice(o):"0."+new Array(1-o).join("0")+ul(e,Math.max(0,t+o-1))[0]}function rM(e,t){var n=ul(e,t);if(!n)return e+"";var r=n[0],i=n[1];return i<0?"0."+new Array(-i).join("0")+r:r.length>i+1?r.slice(0,i+1)+"."+r.slice(i+1):r+new Array(i-r.length+2).join("0")}var iM={"%":(e,t)=>(e*100).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+"",d:mk,e:(e,t)=>e.toExponential(t),f:(e,t)=>e.toFixed(t),g:(e,t)=>e.toPrecision(t),o:e=>Math.round(e).toString(8),p:(e,t)=>rM(e*100,t),r:rM,s:bk,X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function oM(e){return e}var wk=Array.prototype.map,vk=["y","z","a","f","p","n","\xB5","m","","k","M","G","T","P","E","Z","Y"];function _k(e){var t=e.grouping===void 0||e.thousands===void 0?oM:yk(wk.call(e.grouping,Number),e.thousands+""),n=e.currency===void 0?"":e.currency[0]+"",r=e.currency===void 0?"":e.currency[1]+"",i=e.decimal===void 0?".":e.decimal+"",o=e.numerals===void 0?oM:gk(wk.call(e.numerals,String)),s=e.percent===void 0?"%":e.percent+"",a=e.minus===void 0?"\u2212":e.minus+"",c=e.nan===void 0?"NaN":e.nan+"";function l(f){f=Lo(f);var h=f.fill,d=f.align,p=f.sign,m=f.symbol,y=f.zero,g=f.width,x=f.comma,b=f.precision,w=f.trim,_=f.type;_==="n"?(x=!0,_="g"):iM[_]||(b===void 0&&(b=12),w=!0,_="g"),(y||h==="0"&&d==="=")&&(y=!0,h="0",d="=");var v=m==="$"?n:m==="#"&&/[boxX]/.test(_)?"0"+_.toLowerCase():"",I=m==="$"?r:/[%p]/.test(_)?s:"",E=iM[_],M=/[defgprs%]/.test(_);b=b===void 0?6:/[gprs]/.test(_)?Math.max(1,Math.min(21,b)):Math.max(0,Math.min(20,b));function N(A){var O=v,C=I,S,T,D;if(_==="c")C=E(A)+C,A="";else{A=+A;var R=A<0||1/A<0;if(A=isNaN(A)?c:E(Math.abs(A),b),w&&(A=xk(A)),R&&+A==0&&p!=="+"&&(R=!1),O=(R?p==="("?p:a:p==="-"||p==="("?"":p)+O,C=(_==="s"?vk[8+nM/3]:"")+C+(R&&p==="("?")":""),M){for(S=-1,T=A.length;++S<T;)if(D=A.charCodeAt(S),48>D||D>57){C=(D===46?i+A.slice(S+1):A.slice(S))+C,A=A.slice(0,S);break}}}x&&!y&&(A=t(A,1/0));var F=O.length+A.length+C.length,k=F<g?new Array(g-F+1).join(h):"";switch(x&&y&&(A=t(k+A,k.length?g-C.length:1/0),k=""),d){case"<":A=O+A+C+k;break;case"=":A=O+k+A+C;break;case"^":A=k.slice(0,F=k.length>>1)+O+A+C+k.slice(F);break;default:A=k+O+A+C;break}return o(A)}return N.toString=function(){return f+""},N}function u(f,h){var d=l((f=Lo(f),f.type="f",f)),p=Math.max(-8,Math.min(8,Math.floor(Oo(h)/3)))*3,m=Math.pow(10,-p),y=vk[8+p/3];return function(g){return d(m*g)+y}}return{format:l,formatPrefix:u}}var eb,pi,nb;sM({thousands:",",grouping:[3],currency:["$",""]});function sM(e){return eb=_k(e),pi=eb.format,nb=eb.formatPrefix,eb}function aM(e){return Math.max(0,-Oo(Math.abs(e)))}function cM(e,t){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(Oo(t)/3)))*3-Oo(Math.abs(e)))}function lM(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,Oo(t)-Oo(e))+1}var et=1e-6,fl=1e-12,Lt=Math.PI,ye=Lt/2,uM=Lt/4,hn=Lt*2,$e=180/Lt,Xt=Lt/180,$t=Math.abs,mi=Math.atan,Je=Math.atan2,K=Math.cos,Xp=Math.ceil,rb=Math.exp;var ib=Math.hypot,hl=Math.log,ob=Math.pow,Q=Math.sin,zn=Math.sign||function(e){return e>0?1:e<0?-1:0},ge=Math.sqrt,nf=Math.tan;function sb(e){return e>1?0:e<-1?Lt:Math.acos(e)}function Ie(e){return e>1?ye:e<-1?-ye:Math.asin(e)}function Qe(){}function ab(e,t){e&&Ik.hasOwnProperty(e.type)&&Ik[e.type](e,t)}var Sk={Feature:function(e,t){ab(e.geometry,t)},FeatureCollection:function(e,t){for(var n=e.features,r=-1,i=n.length;++r<i;)ab(n[r].geometry,t)}},Ik={Sphere:function(e,t){t.sphere()},Point:function(e,t){e=e.coordinates,t.point(e[0],e[1],e[2])},MultiPoint:function(e,t){for(var n=e.coordinates,r=-1,i=n.length;++r<i;)e=n[r],t.point(e[0],e[1],e[2])},LineString:function(e,t){fM(e.coordinates,t,0)},MultiLineString:function(e,t){for(var n=e.coordinates,r=-1,i=n.length;++r<i;)fM(n[r],t,0)},Polygon:function(e,t){Mk(e.coordinates,t)},MultiPolygon:function(e,t){for(var n=e.coordinates,r=-1,i=n.length;++r<i;)Mk(n[r],t)},GeometryCollection:function(e,t){for(var n=e.geometries,r=-1,i=n.length;++r<i;)ab(n[r],t)}};function fM(e,t,n){var r=-1,i=e.length-n,o;for(t.lineStart();++r<i;)o=e[r],t.point(o[0],o[1],o[2]);t.lineEnd()}function Mk(e,t){var n=-1,r=e.length;for(t.polygonStart();++n<r;)fM(e[n],t,1);t.polygonEnd()}function Ur(e,t){e&&Sk.hasOwnProperty(e.type)?Sk[e.type](e,t):ab(e,t)}function Gp(e){return[Je(e[1],e[0]),Ie(e[2])]}function Bo(e){var t=e[0],n=e[1],r=K(n);return[r*K(t),r*Q(t),Q(n)]}function Wp(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function rf(e,t){return[e[1]*t[2]-e[2]*t[1],e[2]*t[0]-e[0]*t[2],e[0]*t[1]-e[1]*t[0]]}function cb(e,t){e[0]+=t[0],e[1]+=t[1],e[2]+=t[2]}function Hp(e,t){return[e[0]*t,e[1]*t,e[2]*t]}function Zp(e){var t=ge(e[0]*e[0]+e[1]*e[1]+e[2]*e[2]);e[0]/=t,e[1]/=t,e[2]/=t}var Jp,lb,ub,fb,hb,db,pb,mb,hM,dM,pM,Ek,Dk,or,sr,ar,ji={sphere:Qe,point:mM,lineStart:Ak,lineEnd:Tk,polygonStart:function(){ji.lineStart=iH,ji.lineEnd=oH},polygonEnd:function(){ji.lineStart=Ak,ji.lineEnd=Tk}};function mM(e,t){e*=Xt,t*=Xt;var n=K(t);Qp(n*K(e),n*Q(e),Q(t))}function Qp(e,t,n){++Jp,ub+=(e-ub)/Jp,fb+=(t-fb)/Jp,hb+=(n-hb)/Jp}function Ak(){ji.point=nH}function nH(e,t){e*=Xt,t*=Xt;var n=K(t);or=n*K(e),sr=n*Q(e),ar=Q(t),ji.point=rH,Qp(or,sr,ar)}function rH(e,t){e*=Xt,t*=Xt;var n=K(t),r=n*K(e),i=n*Q(e),o=Q(t),s=Je(ge((s=sr*o-ar*i)*s+(s=ar*r-or*o)*s+(s=or*i-sr*r)*s),or*r+sr*i+ar*o);lb+=s,db+=s*(or+(or=r)),pb+=s*(sr+(sr=i)),mb+=s*(ar+(ar=o)),Qp(or,sr,ar)}function Tk(){ji.point=mM}function iH(){ji.point=sH}function oH(){Nk(Ek,Dk),ji.point=mM}function sH(e,t){Ek=e,Dk=t,e*=Xt,t*=Xt,ji.point=Nk;var n=K(t);or=n*K(e),sr=n*Q(e),ar=Q(t),Qp(or,sr,ar)}function Nk(e,t){e*=Xt,t*=Xt;var n=K(t),r=n*K(e),i=n*Q(e),o=Q(t),s=sr*o-ar*i,a=ar*r-or*o,c=or*i-sr*r,l=ib(s,a,c),u=Ie(l),f=l&&-u/l;hM.add(f*s),dM.add(f*a),pM.add(f*c),lb+=u,db+=u*(or+(or=r)),pb+=u*(sr+(sr=i)),mb+=u*(ar+(ar=o)),Qp(or,sr,ar)}function yM(e){Jp=lb=ub=fb=hb=db=pb=mb=0,hM=new Tn,dM=new Tn,pM=new Tn,Ur(e,ji);var t=+hM,n=+dM,r=+pM,i=ib(t,n,r);return i<fl&&(t=db,n=pb,r=mb,lb<et&&(t=ub,n=fb,r=hb),i=ib(t,n,r),i<fl)?[NaN,NaN]:[Je(n,t)*$e,Ie(r/i)*$e]}function Kp(e,t){function n(r,i){return r=e(r,i),t(r[0],r[1])}return e.invert&&t.invert&&(n.invert=function(r,i){return r=t.invert(r,i),r&&e.invert(r[0],r[1])}),n}function gM(e,t){return $t(e)>Lt&&(e-=Math.round(e/hn)*hn),[e,t]}gM.invert=gM;function xM(e,t,n){return(e%=hn)?t||n?Kp(Lk(e),Bk(t,n)):Lk(e):t||n?Bk(t,n):gM}function Ok(e){return function(t,n){return t+=e,$t(t)>Lt&&(t-=Math.round(t/hn)*hn),[t,n]}}function Lk(e){var t=Ok(e);return t.invert=Ok(-e),t}function Bk(e,t){var n=K(e),r=Q(e),i=K(t),o=Q(t);function s(a,c){var l=K(c),u=K(a)*l,f=Q(a)*l,h=Q(c),d=h*n+u*r;return[Je(f*i-d*o,u*n-h*r),Ie(d*i+f*o)]}return s.invert=function(a,c){var l=K(c),u=K(a)*l,f=Q(a)*l,h=Q(c),d=h*i-f*o;return[Je(f*i+h*o,u*n+d*r),Ie(d*n-u*r)]},s}function Ck(e){e=xM(e[0]*Xt,e[1]*Xt,e.length>2?e[2]*Xt:0);function t(n){return n=e(n[0]*Xt,n[1]*Xt),n[0]*=$e,n[1]*=$e,n}return t.invert=function(n){return n=e.invert(n[0]*Xt,n[1]*Xt),n[0]*=$e,n[1]*=$e,n},t}function Rk(e,t,n,r,i,o){if(n){var s=K(t),a=Q(t),c=r*n;i==null?(i=t+r*hn,o=t-c/2):(i=kk(s,i),o=kk(s,o),(r>0?i<o:i>o)&&(i+=r*hn));for(var l,u=i;r>0?u>o:u<o;u-=c)l=Gp([s,-a*K(u),-a*Q(u)]),e.point(l[0],l[1])}}function kk(e,t){t=Bo(t),t[0]-=e,Zp(t);var n=sb(-t[1]);return((-t[2]<0?-n:n)+hn-et)%hn}function yb(){var e=[],t;return{point:function(n,r,i){t.push([n,r,i])},lineStart:function(){e.push(t=[])},lineEnd:Qe,rejoin:function(){e.length>1&&e.push(e.pop().concat(e.shift()))},result:function(){var n=e;return e=[],t=null,n}}}function of(e,t){return $t(e[0]-t[0])<et&&$t(e[1]-t[1])<et}function gb(e,t,n,r){this.x=e,this.z=t,this.o=n,this.e=r,this.v=!1,this.n=this.p=null}function xb(e,t,n,r,i){var o=[],s=[],a,c;if(e.forEach(function(p){if(!((m=p.length-1)<=0)){var m,y=p[0],g=p[m],x;if(of(y,g)){if(!y[2]&&!g[2]){for(i.lineStart(),a=0;a<m;++a)i.point((y=p[a])[0],y[1]);i.lineEnd();return}g[0]+=2*et}o.push(x=new gb(y,p,null,!0)),s.push(x.o=new gb(y,null,x,!1)),o.push(x=new gb(g,p,null,!1)),s.push(x.o=new gb(g,null,x,!0))}}),!!o.length){for(s.sort(t),Fk(o),Fk(s),a=0,c=s.length;a<c;++a)s[a].e=n=!n;for(var l=o[0],u,f;;){for(var h=l,d=!0;h.v;)if((h=h.n)===l)return;u=h.z,i.lineStart();do{if(h.v=h.o.v=!0,h.e){if(d)for(a=0,c=u.length;a<c;++a)i.point((f=u[a])[0],f[1]);else r(h.x,h.n.x,1,i);h=h.n}else{if(d)for(u=h.p.z,a=u.length-1;a>=0;--a)i.point((f=u[a])[0],f[1]);else r(h.x,h.p.x,-1,i);h=h.p}h=h.o,u=h.z,d=!d}while(!h.v);i.lineEnd()}}}function Fk(e){if(t=e.length){for(var t,n=0,r=e[0],i;++n<t;)r.n=i=e[n],i.p=r,r=i;r.n=i=e[0],i.p=r}}function bM(e){return $t(e[0])<=Lt?e[0]:zn(e[0])*(($t(e[0])+Lt)%hn-Lt)}function $k(e,t){var n=bM(t),r=t[1],i=Q(r),o=[Q(n),-K(n),0],s=0,a=0,c=new Tn;i===1?r=ye+et:i===-1&&(r=-ye-et);for(var l=0,u=e.length;l<u;++l)if(h=(f=e[l]).length)for(var f,h,d=f[h-1],p=bM(d),m=d[1]/2+uM,y=Q(m),g=K(m),x=0;x<h;++x,p=w,y=v,g=I,d=b){var b=f[x],w=bM(b),_=b[1]/2+uM,v=Q(_),I=K(_),E=w-p,M=E>=0?1:-1,N=M*E,A=N>Lt,O=y*v;if(c.add(Je(O*M*Q(N),g*I+O*K(N))),s+=A?E+M*hn:E,A^p>=n^w>=n){var C=rf(Bo(d),Bo(b));Zp(C);var S=rf(o,C);Zp(S);var T=(A^E>=0?-1:1)*Ie(S[2]);(r>T||r===T&&(C[0]||C[1]))&&(a+=A^E>=0?1:-1)}}return(s<-et||s<et&&c<-fl)^a&1}function bb(e,t,n,r){return function(i){var o=t(i),s=yb(),a=t(s),c=!1,l,u,f,h={point:d,lineStart:m,lineEnd:y,polygonStart:function(){h.point=g,h.lineStart=x,h.lineEnd=b,u=[],l=[]},polygonEnd:function(){h.point=d,h.lineStart=m,h.lineEnd=y,u=Pu(u);var w=$k(l,r);u.length?(c||(i.polygonStart(),c=!0),xb(u,cH,w,n,i)):w&&(c||(i.polygonStart(),c=!0),i.lineStart(),n(null,null,1,i),i.lineEnd()),c&&(i.polygonEnd(),c=!1),u=l=null},sphere:function(){i.polygonStart(),i.lineStart(),n(null,null,1,i),i.lineEnd(),i.polygonEnd()}};function d(w,_){e(w,_)&&i.point(w,_)}function p(w,_){o.point(w,_)}function m(){h.point=p,o.lineStart()}function y(){h.point=d,o.lineEnd()}function g(w,_){f.push([w,_]),a.point(w,_)}function x(){a.lineStart(),f=[]}function b(){g(f[0][0],f[0][1]),a.lineEnd();var w=a.clean(),_=s.result(),v,I=_.length,E,M,N;if(f.pop(),l.push(f),f=null,!!I){if(w&1){if(M=_[0],(E=M.length-1)>0){for(c||(i.polygonStart(),c=!0),i.lineStart(),v=0;v<E;++v)i.point((N=M[v])[0],N[1]);i.lineEnd()}return}I>1&&w&2&&_.push(_.pop().concat(_.shift())),u.push(_.filter(aH))}}return h}}function aH(e){return e.length>1}function cH(e,t){return((e=e.x)[0]<0?e[1]-ye-et:ye-e[1])-((t=t.x)[0]<0?t[1]-ye-et:ye-t[1])}var wM=bb(function(){return!0},lH,fH,[-Lt,-ye]);function lH(e){var t=NaN,n=NaN,r=NaN,i;return{lineStart:function(){e.lineStart(),i=1},point:function(o,s){var a=o>0?Lt:-Lt,c=$t(o-t);$t(c-Lt)<et?(e.point(t,n=(n+s)/2>0?ye:-ye),e.point(r,n),e.lineEnd(),e.lineStart(),e.point(a,n),e.point(o,n),i=0):r!==a&&c>=Lt&&($t(t-r)<et&&(t-=r*et),$t(o-a)<et&&(o-=a*et),n=uH(t,n,o,s),e.point(r,n),e.lineEnd(),e.lineStart(),e.point(a,n),i=0),e.point(t=o,n=s),r=a},lineEnd:function(){e.lineEnd(),t=n=NaN},clean:function(){return 2-i}}}function uH(e,t,n,r){var i,o,s=Q(e-n);return $t(s)>et?mi((Q(t)*(o=K(r))*Q(n)-Q(r)*(i=K(t))*Q(e))/(i*o*s)):(t+r)/2}function fH(e,t,n,r){var i;if(e==null)i=n*ye,r.point(-Lt,i),r.point(0,i),r.point(Lt,i),r.point(Lt,0),r.point(Lt,-i),r.point(0,-i),r.point(-Lt,-i),r.point(-Lt,0),r.point(-Lt,i);else if($t(e[0]-t[0])>et){var o=e[0]<t[0]?Lt:-Lt;i=n*o/2,r.point(-o,i),r.point(0,i),r.point(o,i)}else r.point(t[0],t[1])}function Pk(e){var t=K(e),n=6*Xt,r=t>0,i=$t(t)>et;function o(u,f,h,d){Rk(d,e,n,h,u,f)}function s(u,f){return K(u)*K(f)>t}function a(u){var f,h,d,p,m;return{lineStart:function(){p=d=!1,m=1},point:function(y,g){var x=[y,g],b,w=s(y,g),_=r?w?0:l(y,g):w?l(y+(y<0?Lt:-Lt),g):0;if(!f&&(p=d=w)&&u.lineStart(),w!==d&&(b=c(f,x),(!b||of(f,b)||of(x,b))&&(x[2]=1)),w!==d)m=0,w?(u.lineStart(),b=c(x,f),u.point(b[0],b[1])):(b=c(f,x),u.point(b[0],b[1],2),u.lineEnd()),f=b;else if(i&&f&&r^w){var v;!(_&h)&&(v=c(x,f,!0))&&(m=0,r?(u.lineStart(),u.point(v[0][0],v[0][1]),u.point(v[1][0],v[1][1]),u.lineEnd()):(u.point(v[1][0],v[1][1]),u.lineEnd(),u.lineStart(),u.point(v[0][0],v[0][1],3)))}w&&(!f||!of(f,x))&&u.point(x[0],x[1]),f=x,d=w,h=_},lineEnd:function(){d&&u.lineEnd(),f=null},clean:function(){return m|(p&&d)<<1}}}function c(u,f,h){var d=Bo(u),p=Bo(f),m=[1,0,0],y=rf(d,p),g=Wp(y,y),x=y[0],b=g-x*x;if(!b)return!h&&u;var w=t*g/b,_=-t*x/b,v=rf(m,y),I=Hp(m,w),E=Hp(y,_);cb(I,E);var M=v,N=Wp(I,M),A=Wp(M,M),O=N*N-A*(Wp(I,I)-1);if(!(O<0)){var C=ge(O),S=Hp(M,(-N-C)/A);if(cb(S,I),S=Gp(S),!h)return S;var T=u[0],D=f[0],R=u[1],F=f[1],k;D<T&&(k=T,T=D,D=k);var $=D-T,P=$t($-Lt)<et,U=P||$<et;if(!P&&F<R&&(k=R,R=F,F=k),U?P?R+F>0^S[1]<($t(S[0]-T)<et?R:F):R<=S[1]&&S[1]<=F:$>Lt^(T<=S[0]&&S[0]<=D)){var W=Hp(M,(-N+C)/A);return cb(W,I),[S,Gp(W)]}}}function l(u,f){var h=r?e:Lt-e,d=0;return u<-h?d|=1:u>h&&(d|=2),f<-h?d|=4:f>h&&(d|=8),d}return bb(s,a,o,r?[0,-e]:[-Lt,e-Lt])}function Uk(e,t,n,r,i,o){var s=e[0],a=e[1],c=t[0],l=t[1],u=0,f=1,h=c-s,d=l-a,p;if(p=n-s,!(!h&&p>0)){if(p/=h,h<0){if(p<u)return;p<f&&(f=p)}else if(h>0){if(p>f)return;p>u&&(u=p)}if(p=i-s,!(!h&&p<0)){if(p/=h,h<0){if(p>f)return;p>u&&(u=p)}else if(h>0){if(p<u)return;p<f&&(f=p)}if(p=r-a,!(!d&&p>0)){if(p/=d,d<0){if(p<u)return;p<f&&(f=p)}else if(d>0){if(p>f)return;p>u&&(u=p)}if(p=o-a,!(!d&&p<0)){if(p/=d,d<0){if(p>f)return;p>u&&(u=p)}else if(d>0){if(p<u)return;p<f&&(f=p)}return u>0&&(e[0]=s+u*h,e[1]=a+u*d),f<1&&(t[0]=s+f*h,t[1]=a+f*d),!0}}}}}var tm=1e9,wb=-tm;function sf(e,t,n,r){function i(l,u){return e<=l&&l<=n&&t<=u&&u<=r}function o(l,u,f,h){var d=0,p=0;if(l==null||(d=s(l,f))!==(p=s(u,f))||c(l,u)<0^f>0)do h.point(d===0||d===3?e:n,d>1?r:t);while((d=(d+f+4)%4)!==p);else h.point(u[0],u[1])}function s(l,u){return $t(l[0]-e)<et?u>0?0:3:$t(l[0]-n)<et?u>0?2:1:$t(l[1]-t)<et?u>0?1:0:u>0?3:2}function a(l,u){return c(l.x,u.x)}function c(l,u){var f=s(l,1),h=s(u,1);return f!==h?f-h:f===0?u[1]-l[1]:f===1?l[0]-u[0]:f===2?l[1]-u[1]:u[0]-l[0]}return function(l){var u=l,f=yb(),h,d,p,m,y,g,x,b,w,_,v,I={point:E,lineStart:O,lineEnd:C,polygonStart:N,polygonEnd:A};function E(T,D){i(T,D)&&u.point(T,D)}function M(){for(var T=0,D=0,R=d.length;D<R;++D)for(var F=d[D],k=1,$=F.length,P=F[0],U,W,nt=P[0],ot=P[1];k<$;++k)U=nt,W=ot,P=F[k],nt=P[0],ot=P[1],W<=r?ot>r&&(nt-U)*(r-W)>(ot-W)*(e-U)&&++T:ot<=r&&(nt-U)*(r-W)<(ot-W)*(e-U)&&--T;return T}function N(){u=f,h=[],d=[],v=!0}function A(){var T=M(),D=v&&T,R=(h=Pu(h)).length;(D||R)&&(l.polygonStart(),D&&(l.lineStart(),o(null,null,1,l),l.lineEnd()),R&&xb(h,a,T,o,l),l.polygonEnd()),u=l,h=d=p=null}function O(){I.point=S,d&&d.push(p=[]),_=!0,w=!1,x=b=NaN}function C(){h&&(S(m,y),g&&w&&f.rejoin(),h.push(f.result())),I.point=E,w&&u.lineEnd()}function S(T,D){var R=i(T,D);if(d&&p.push([T,D]),_)m=T,y=D,g=R,_=!1,R&&(u.lineStart(),u.point(T,D));else if(R&&w)u.point(T,D);else{var F=[x=Math.max(wb,Math.min(tm,x)),b=Math.max(wb,Math.min(tm,b))],k=[T=Math.max(wb,Math.min(tm,T)),D=Math.max(wb,Math.min(tm,D))];Uk(F,k,e,t,n,r)?(w||(u.lineStart(),u.point(F[0],F[1])),u.point(k[0],k[1]),R||u.lineEnd(),v=!1):R&&(u.lineStart(),u.point(T,D),v=!1)}x=T,b=D,w=R}return I}}function zk(e,t,n){var r=Ue(e,t-et,n).concat(t);return function(i){return r.map(function(o){return[i,o]})}}function qk(e,t,n){var r=Ue(e,t-et,n).concat(t);return function(i){return r.map(function(o){return[o,i]})}}function vM(){var e,t,n,r,i,o,s,a,c=10,l=c,u=90,f=360,h,d,p,m,y=2.5;function g(){return{type:"MultiLineString",coordinates:x()}}function x(){return Ue(Xp(r/u)*u,n,u).map(p).concat(Ue(Xp(a/f)*f,s,f).map(m)).concat(Ue(Xp(t/c)*c,e,c).filter(function(b){return $t(b%u)>et}).map(h)).concat(Ue(Xp(o/l)*l,i,l).filter(function(b){return $t(b%f)>et}).map(d))}return g.lines=function(){return x().map(function(b){return{type:"LineString",coordinates:b}})},g.outline=function(){return{type:"Polygon",coordinates:[p(r).concat(m(s).slice(1),p(n).reverse().slice(1),m(a).reverse().slice(1))]}},g.extent=function(b){return arguments.length?g.extentMajor(b).extentMinor(b):g.extentMinor()},g.extentMajor=function(b){return arguments.length?(r=+b[0][0],n=+b[1][0],a=+b[0][1],s=+b[1][1],r>n&&(b=r,r=n,n=b),a>s&&(b=a,a=s,s=b),g.precision(y)):[[r,a],[n,s]]},g.extentMinor=function(b){return arguments.length?(t=+b[0][0],e=+b[1][0],o=+b[0][1],i=+b[1][1],t>e&&(b=t,t=e,e=b),o>i&&(b=o,o=i,i=b),g.precision(y)):[[t,o],[e,i]]},g.step=function(b){return arguments.length?g.stepMajor(b).stepMinor(b):g.stepMinor()},g.stepMajor=function(b){return arguments.length?(u=+b[0],f=+b[1],g):[u,f]},g.stepMinor=function(b){return arguments.length?(c=+b[0],l=+b[1],g):[c,l]},g.precision=function(b){return arguments.length?(y=+b,h=zk(o,i,90),d=qk(t,e,y),p=zk(a,s,90),m=qk(r,n,y),g):y},g.extentMajor([[-180,-90+et],[180,90-et]]).extentMinor([[-180,-80-et],[180,80+et]])}function _M(){return vM()()}var em=e=>e;var SM=new Tn,IM=new Tn,jk,Vk,MM,AM,Pa={point:Qe,lineStart:Qe,lineEnd:Qe,polygonStart:function(){Pa.lineStart=hH,Pa.lineEnd=pH},polygonEnd:function(){Pa.lineStart=Pa.lineEnd=Pa.point=Qe,SM.add($t(IM)),IM=new Tn},result:function(){var e=SM/2;return SM=new Tn,e}};function hH(){Pa.point=dH}function dH(e,t){Pa.point=Yk,jk=MM=e,Vk=AM=t}function Yk(e,t){IM.add(AM*e-MM*t),MM=e,AM=t}function pH(){Yk(jk,Vk)}var TM=Pa;var af=1/0,vb=af,nm=-af,_b=nm,mH={point:yH,lineStart:Qe,lineEnd:Qe,polygonStart:Qe,polygonEnd:Qe,result:function(){var e=[[af,vb],[nm,_b]];return nm=_b=-(vb=af=1/0),e}};function yH(e,t){e<af&&(af=e),e>nm&&(nm=e),t<vb&&(vb=t),t>_b&&(_b=t)}var cf=mH;var EM=0,DM=0,rm=0,Sb=0,Ib=0,lf=0,NM=0,OM=0,im=0,Wk,Hk,Co,ko,Vi={point:dl,lineStart:Xk,lineEnd:Gk,polygonStart:function(){Vi.lineStart=bH,Vi.lineEnd=wH},polygonEnd:function(){Vi.point=dl,Vi.lineStart=Xk,Vi.lineEnd=Gk},result:function(){var e=im?[NM/im,OM/im]:lf?[Sb/lf,Ib/lf]:rm?[EM/rm,DM/rm]:[NaN,NaN];return EM=DM=rm=Sb=Ib=lf=NM=OM=im=0,e}};function dl(e,t){EM+=e,DM+=t,++rm}function Xk(){Vi.point=gH}function gH(e,t){Vi.point=xH,dl(Co=e,ko=t)}function xH(e,t){var n=e-Co,r=t-ko,i=ge(n*n+r*r);Sb+=i*(Co+e)/2,Ib+=i*(ko+t)/2,lf+=i,dl(Co=e,ko=t)}function Gk(){Vi.point=dl}function bH(){Vi.point=vH}function wH(){Zk(Wk,Hk)}function vH(e,t){Vi.point=Zk,dl(Wk=Co=e,Hk=ko=t)}function Zk(e,t){var n=e-Co,r=t-ko,i=ge(n*n+r*r);Sb+=i*(Co+e)/2,Ib+=i*(ko+t)/2,lf+=i,i=ko*e-Co*t,NM+=i*(Co+e),OM+=i*(ko+t),im+=i*3,dl(Co=e,ko=t)}var LM=Vi;function Mb(e){this._context=e}Mb.prototype={_radius:4.5,pointRadius:function(e){return this._radius=e,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){this._line===0&&this._context.closePath(),this._point=NaN},point:function(e,t){switch(this._point){case 0:{this._context.moveTo(e,t),this._point=1;break}case 1:{this._context.lineTo(e,t);break}default:{this._context.moveTo(e+this._radius,t),this._context.arc(e,t,this._radius,0,hn);break}}},result:Qe};var CM=new Tn,BM,Jk,Qk,om,sm,Ab={point:Qe,lineStart:function(){Ab.point=_H},lineEnd:function(){BM&&Kk(Jk,Qk),Ab.point=Qe},polygonStart:function(){BM=!0},polygonEnd:function(){BM=null},result:function(){var e=+CM;return CM=new Tn,e}};function _H(e,t){Ab.point=Kk,Jk=om=e,Qk=sm=t}function Kk(e,t){om-=e,sm-=t,CM.add(ge(om*om+sm*sm)),om=e,sm=t}var kM=Ab;var tR,Tb,eR,nR,uf=class{constructor(t){this._append=t==null?rR:SH(t),this._radius=4.5,this._=""}pointRadius(t){return this._radius=+t,this}polygonStart(){this._line=0}polygonEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){this._line===0&&(this._+="Z"),this._point=NaN}point(t,n){switch(this._point){case 0:{this._append`M${t},${n}`,this._point=1;break}case 1:{this._append`L${t},${n}`;break}default:{if(this._append`M${t},${n}`,this._radius!==eR||this._append!==Tb){let 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`,eR=r,Tb=this._append,nR=this._,this._=i}this._+=nR;break}}}result(){let t=this._;return this._="",t.length?t:null}};function rR(e){let t=1;this._+=e[0];for(let n=e.length;t<n;++t)this._+=arguments[t]+e[t]}function SH(e){let t=Math.floor(e);if(!(t>=0))throw new RangeError(`invalid digits: ${e}`);if(t>15)return rR;if(t!==tR){let n=10**t;tR=t,Tb=function(i){let o=1;this._+=i[0];for(let s=i.length;o<s;++o)this._+=Math.round(arguments[o]*n)/n+i[o]}}return Tb}function On(e,t){let n=3,r=4.5,i,o;function s(a){return a&&(typeof r=="function"&&o.pointRadius(+r.apply(this,arguments)),Ur(a,i(o))),o.result()}return s.area=function(a){return Ur(a,i(TM)),TM.result()},s.measure=function(a){return Ur(a,i(kM)),kM.result()},s.bounds=function(a){return Ur(a,i(cf)),cf.result()},s.centroid=function(a){return Ur(a,i(LM)),LM.result()},s.projection=function(a){return arguments.length?(i=a==null?(e=null,em):(e=a).stream,s):e},s.context=function(a){return arguments.length?(o=a==null?(t=null,new uf(n)):new Mb(t=a),typeof r!="function"&&o.pointRadius(r),s):t},s.pointRadius=function(a){return arguments.length?(r=typeof a=="function"?a:(o.pointRadius(+a),+a),s):r},s.digits=function(a){if(!arguments.length)return n;if(a==null)n=null;else{let c=Math.floor(a);if(!(c>=0))throw new RangeError(`invalid digits: ${a}`);n=c}return t===null&&(o=new uf(n)),s},s.projection(e).digits(n).context(t)}function pl(e){return{stream:ff(e)}}function ff(e){return function(t){var n=new RM;for(var r in e)n[r]=e[r];return n.stream=t,n}}function RM(){}RM.prototype={constructor:RM,point:function(e,t){this.stream.point(e,t)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}};function FM(e,t,n){var r=e.clipExtent&&e.clipExtent();return e.scale(150).translate([0,0]),r!=null&&e.clipExtent(null),Ur(n,e.stream(cf)),t(cf.result()),r!=null&&e.clipExtent(r),e}function am(e,t,n){return FM(e,function(r){var i=t[1][0]-t[0][0],o=t[1][1]-t[0][1],s=Math.min(i/(r[1][0]-r[0][0]),o/(r[1][1]-r[0][1])),a=+t[0][0]+(i-s*(r[1][0]+r[0][0]))/2,c=+t[0][1]+(o-s*(r[1][1]+r[0][1]))/2;e.scale(150*s).translate([a,c])},n)}function Eb(e,t,n){return am(e,[[0,0],t],n)}function Db(e,t,n){return FM(e,function(r){var i=+t,o=i/(r[1][0]-r[0][0]),s=(i-o*(r[1][0]+r[0][0]))/2,a=-o*r[0][1];e.scale(150*o).translate([s,a])},n)}function Nb(e,t,n){return FM(e,function(r){var i=+t,o=i/(r[1][1]-r[0][1]),s=-o*r[0][0],a=(i-o*(r[1][1]+r[0][1]))/2;e.scale(150*o).translate([s,a])},n)}var iR=16,IH=K(30*Xt);function $M(e,t){return+t?AH(e,t):MH(e)}function MH(e){return ff({point:function(t,n){t=e(t,n),this.stream.point(t[0],t[1])}})}function AH(e,t){function n(r,i,o,s,a,c,l,u,f,h,d,p,m,y){var g=l-r,x=u-i,b=g*g+x*x;if(b>4*t&&m--){var w=s+h,_=a+d,v=c+p,I=ge(w*w+_*_+v*v),E=Ie(v/=I),M=$t($t(v)-1)<et||$t(o-f)<et?(o+f)/2:Je(_,w),N=e(M,E),A=N[0],O=N[1],C=A-r,S=O-i,T=x*C-g*S;(T*T/b>t||$t((g*C+x*S)/b-.5)>.3||s*h+a*d+c*p<IH)&&(n(r,i,o,s,a,c,A,O,M,w/=I,_/=I,v,m,y),y.point(A,O),n(A,O,M,w,_,v,l,u,f,h,d,p,m,y))}}return function(r){var i,o,s,a,c,l,u,f,h,d,p,m,y={point:g,lineStart:x,lineEnd:w,polygonStart:function(){r.polygonStart(),y.lineStart=_},polygonEnd:function(){r.polygonEnd(),y.lineStart=x}};function g(E,M){E=e(E,M),r.point(E[0],E[1])}function x(){f=NaN,y.point=b,r.lineStart()}function b(E,M){var N=Bo([E,M]),A=e(E,M);n(f,h,u,d,p,m,f=A[0],h=A[1],u=E,d=N[0],p=N[1],m=N[2],iR,r),r.point(f,h)}function w(){y.point=g,r.lineEnd()}function _(){x(),y.point=v,y.lineEnd=I}function v(E,M){b(i=E,M),o=f,s=h,a=d,c=p,l=m,y.point=b}function I(){n(f,h,u,d,p,m,o,s,i,a,c,l,iR,r),y.lineEnd=w,w()}return y}}var TH=ff({point:function(e,t){this.stream.point(e*Xt,t*Xt)}});function EH(e){return ff({point:function(t,n){var r=e(t,n);return this.stream.point(r[0],r[1])}})}function DH(e,t,n,r,i){function o(s,a){return s*=r,a*=i,[t+e*s,n-e*a]}return o.invert=function(s,a){return[(s-t)/e*r,(n-a)/e*i]},o}function oR(e,t,n,r,i,o){if(!o)return DH(e,t,n,r,i);var s=K(o),a=Q(o),c=s*e,l=a*e,u=s/e,f=a/e,h=(a*n-s*t)/e,d=(a*t+s*n)/e;function p(m,y){return m*=r,y*=i,[c*m-l*y+t,n-l*m-c*y]}return p.invert=function(m,y){return[r*(u*m-f*y+h),i*(d-f*m-u*y)]},p}function Ln(e){return PM(function(){return e})()}function PM(e){var t,n=150,r=480,i=250,o=0,s=0,a=0,c=0,l=0,u,f=0,h=1,d=1,p=null,m=wM,y=null,g,x,b,w=em,_=.5,v,I,E,M,N;function A(T){return E(T[0]*Xt,T[1]*Xt)}function O(T){return T=E.invert(T[0],T[1]),T&&[T[0]*$e,T[1]*$e]}A.stream=function(T){return M&&N===T?M:M=TH(EH(u)(m(v(w(N=T)))))},A.preclip=function(T){return arguments.length?(m=T,p=void 0,S()):m},A.postclip=function(T){return arguments.length?(w=T,y=g=x=b=null,S()):w},A.clipAngle=function(T){return arguments.length?(m=+T?Pk(p=T*Xt):(p=null,wM),S()):p*$e},A.clipExtent=function(T){return arguments.length?(w=T==null?(y=g=x=b=null,em):sf(y=+T[0][0],g=+T[0][1],x=+T[1][0],b=+T[1][1]),S()):y==null?null:[[y,g],[x,b]]},A.scale=function(T){return arguments.length?(n=+T,C()):n},A.translate=function(T){return arguments.length?(r=+T[0],i=+T[1],C()):[r,i]},A.center=function(T){return arguments.length?(o=T[0]%360*Xt,s=T[1]%360*Xt,C()):[o*$e,s*$e]},A.rotate=function(T){return arguments.length?(a=T[0]%360*Xt,c=T[1]%360*Xt,l=T.length>2?T[2]%360*Xt:0,C()):[a*$e,c*$e,l*$e]},A.angle=function(T){return arguments.length?(f=T%360*Xt,C()):f*$e},A.reflectX=function(T){return arguments.length?(h=T?-1:1,C()):h<0},A.reflectY=function(T){return arguments.length?(d=T?-1:1,C()):d<0},A.precision=function(T){return arguments.length?(v=$M(I,_=T*T),S()):ge(_)},A.fitExtent=function(T,D){return am(A,T,D)},A.fitSize=function(T,D){return Eb(A,T,D)},A.fitWidth=function(T,D){return Db(A,T,D)},A.fitHeight=function(T,D){return Nb(A,T,D)};function C(){var T=oR(n,0,0,h,d,f).apply(null,t(o,s)),D=oR(n,r-T[0],i-T[1],h,d,f);return u=xM(a,c,l),I=Kp(t,D),E=Kp(u,I),v=$M(I,_),S()}function S(){return M=N=null,A}return function(){return t=e.apply(this,arguments),A.invert=t.invert&&O,C()}}function hf(e){var t=0,n=Lt/3,r=PM(e),i=r(t,n);return i.parallels=function(o){return arguments.length?r(t=o[0]*Xt,n=o[1]*Xt):[t*$e,n*$e]},i}function sR(e){var t=K(e);function n(r,i){return[r*t,Q(i)/t]}return n.invert=function(r,i){return[r/t,Ie(i*t)]},n}function aR(e,t){var n=Q(e),r=(n+Q(t))/2;if($t(r)<et)return sR(e);var i=1+n*(2*r-n),o=ge(i)/r;function s(a,c){var l=ge(i-2*r*Q(c))/r;return[l*Q(a*=r),o-l*K(a)]}return s.invert=function(a,c){var l=o-c,u=Je(a,$t(l))*zn(l);return l*r<0&&(u-=Lt*zn(a)*zn(l)),[u/r,Ie((i-(a*a+l*l)*r*r)/(2*r))]},s}function Ua(){return hf(aR).scale(155.424).center([0,33.6442])}function cm(){return Ua().parallels([29.5,45.5]).scale(1070).translate([480,250]).rotate([96,0]).center([-.6,38.7])}function NH(e){var t=e.length;return{point:function(n,r){for(var i=-1;++i<t;)e[i].point(n,r)},sphere:function(){for(var n=-1;++n<t;)e[n].sphere()},lineStart:function(){for(var n=-1;++n<t;)e[n].lineStart()},lineEnd:function(){for(var n=-1;++n<t;)e[n].lineEnd()},polygonStart:function(){for(var n=-1;++n<t;)e[n].polygonStart()},polygonEnd:function(){for(var n=-1;++n<t;)e[n].polygonEnd()}}}function UM(){var e,t,n=cm(),r,i=Ua().rotate([154,0]).center([-2,58.5]).parallels([55,65]),o,s=Ua().rotate([157,0]).center([-3,19.9]).parallels([8,18]),a,c,l={point:function(h,d){c=[h,d]}};function u(h){var d=h[0],p=h[1];return c=null,r.point(d,p),c||(o.point(d,p),c)||(a.point(d,p),c)}u.invert=function(h){var d=n.scale(),p=n.translate(),m=(h[0]-p[0])/d,y=(h[1]-p[1])/d;return(y>=.12&&y<.234&&m>=-.425&&m<-.214?i:y>=.166&&y<.234&&m>=-.214&&m<-.115?s:n).invert(h)},u.stream=function(h){return e&&t===h?e:e=NH([n.stream(t=h),i.stream(h),s.stream(h)])},u.precision=function(h){return arguments.length?(n.precision(h),i.precision(h),s.precision(h),f()):n.precision()},u.scale=function(h){return arguments.length?(n.scale(h),i.scale(h*.35),s.scale(h),u.translate(n.translate())):n.scale()},u.translate=function(h){if(!arguments.length)return n.translate();var d=n.scale(),p=+h[0],m=+h[1];return r=n.translate(h).clipExtent([[p-.455*d,m-.238*d],[p+.455*d,m+.238*d]]).stream(l),o=i.translate([p-.307*d,m+.201*d]).clipExtent([[p-.425*d+et,m+.12*d+et],[p-.214*d-et,m+.234*d-et]]).stream(l),a=s.translate([p-.205*d,m+.212*d]).clipExtent([[p-.214*d+et,m+.166*d+et],[p-.115*d-et,m+.234*d-et]]).stream(l),f()},u.fitExtent=function(h,d){return am(u,h,d)},u.fitSize=function(h,d){return Eb(u,h,d)},u.fitWidth=function(h,d){return Db(u,h,d)},u.fitHeight=function(h,d){return Nb(u,h,d)};function f(){return e=t=null,u}return u.scale(1070)}function Ob(e){return function(t,n){var r=K(t),i=K(n),o=e(r*i);return o===1/0?[2,0]:[o*i*Q(t),o*Q(n)]}}function Ro(e){return function(t,n){var r=ge(t*t+n*n),i=e(r),o=Q(i),s=K(i);return[Je(t*o,r*s),Ie(r&&n*o/r)]}}var zM=Ob(function(e){return ge(2/(1+e))});zM.invert=Ro(function(e){return 2*Ie(e/2)});function qM(){return Ln(zM).scale(124.75).clipAngle(180-.001)}var jM=Ob(function(e){return(e=sb(e))&&e/Q(e)});jM.invert=Ro(function(e){return e});function VM(){return Ln(jM).scale(79.4188).clipAngle(180-.001)}function df(e,t){return[e,hl(nf((ye+t)/2))]}df.invert=function(e,t){return[e,2*mi(rb(t))-ye]};function YM(){return XM(df).scale(961/hn)}function XM(e){var t=Ln(e),n=t.center,r=t.scale,i=t.translate,o=t.clipExtent,s=null,a,c,l;t.scale=function(f){return arguments.length?(r(f),u()):r()},t.translate=function(f){return arguments.length?(i(f),u()):i()},t.center=function(f){return arguments.length?(n(f),u()):n()},t.clipExtent=function(f){return arguments.length?(f==null?s=a=c=l=null:(s=+f[0][0],a=+f[0][1],c=+f[1][0],l=+f[1][1]),u()):s==null?null:[[s,a],[c,l]]};function u(){var f=Lt*r(),h=t(Ck(t.rotate()).invert([0,0]));return o(s==null?[[h[0]-f,h[1]-f],[h[0]+f,h[1]+f]]:e===df?[[Math.max(h[0]-f,s),a],[Math.min(h[0]+f,c),l]]:[[s,Math.max(h[1]-f,a)],[c,Math.min(h[1]+f,l)]])}return u()}function Lb(e){return nf((ye+e)/2)}function cR(e,t){var n=K(e),r=e===t?Q(e):hl(n/K(t))/hl(Lb(t)/Lb(e)),i=n*ob(Lb(e),r)/r;if(!r)return df;function o(s,a){i>0?a<-ye+et&&(a=-ye+et):a>ye-et&&(a=ye-et);var c=i/ob(Lb(a),r);return[c*Q(r*s),i-c*K(r*s)]}return o.invert=function(s,a){var c=i-a,l=zn(r)*ge(s*s+c*c),u=Je(s,$t(c))*zn(c);return c*r<0&&(u-=Lt*zn(s)*zn(c)),[u/r,2*mi(ob(i/l,1/r))-ye]},o}function GM(){return hf(cR).scale(109.5).parallels([30,30])}function pf(e,t){return[e,t]}pf.invert=pf;function WM(){return Ln(pf).scale(152.63)}function lR(e,t){var n=K(e),r=e===t?Q(e):(n-K(t))/(t-e),i=n/r+e;if($t(r)<et)return pf;function o(s,a){var c=i-a,l=r*s;return[c*Q(l),i-c*K(l)]}return o.invert=function(s,a){var c=i-a,l=Je(s,$t(c))*zn(c);return c*r<0&&(l-=Lt*zn(s)*zn(c)),[l/r,i-zn(r)*ge(s*s+c*c)]},o}function HM(){return hf(lR).scale(131.154).center([0,13.9389])}var lm=1.340264,um=-.081106,fm=893e-6,hm=.003796,Bb=ge(3)/2,OH=12;function ZM(e,t){var n=Ie(Bb*Q(t)),r=n*n,i=r*r*r;return[e*K(n)/(Bb*(lm+3*um*r+i*(7*fm+9*hm*r))),n*(lm+um*r+i*(fm+hm*r))]}ZM.invert=function(e,t){for(var n=t,r=n*n,i=r*r*r,o=0,s,a,c;o<OH&&(a=n*(lm+um*r+i*(fm+hm*r))-t,c=lm+3*um*r+i*(7*fm+9*hm*r),n-=s=a/c,r=n*n,i=r*r*r,!($t(s)<fl));++o);return[Bb*e*(lm+3*um*r+i*(7*fm+9*hm*r))/K(n),Ie(Q(n)/Bb)]};function JM(){return Ln(ZM).scale(177.158)}function QM(e,t){var n=K(t),r=K(e)*n;return[n*Q(e)/r,Q(t)/r]}QM.invert=Ro(mi);function KM(){return Ln(QM).scale(144.049).clipAngle(60)}function tA(e,t){return[K(t)*Q(e),Q(t)]}tA.invert=Ro(Ie);function eA(){return Ln(tA).scale(249.5).clipAngle(90+et)}function nA(e,t){var n=K(t),r=1+K(e)*n;return[n*Q(e)/r,Q(t)/r]}nA.invert=Ro(function(e){return 2*mi(e)});function rA(){return Ln(nA).scale(250).clipAngle(142)}function iA(e,t){return[hl(nf((ye+t)/2)),-e]}iA.invert=function(e,t){return[-t,2*mi(rb(e))-ye]};function oA(){var e=XM(iA),t=e.center,n=e.rotate;return e.center=function(r){return arguments.length?t([-r[1],r[0]]):(r=t(),[r[1],-r[0]])},e.rotate=function(r){return arguments.length?n([r[0],r[1],r.length>2?r[2]+90:90]):(r=n(),[r[0],r[1],r[2]-90])},n([0,0,90]).scale(159.155)}function LH(e,t){return e.parent===t.parent?1:2}function BH(e){return e.reduce(CH,0)/e.length}function CH(e,t){return e+t.x}function kH(e){return 1+e.reduce(RH,0)}function RH(e,t){return Math.max(e,t.y)}function FH(e){for(var t;t=e.children;)e=t[0];return e}function $H(e){for(var t;t=e.children;)e=t[t.length-1];return e}function Cb(){var e=LH,t=1,n=1,r=!1;function i(o){var s,a=0;o.eachAfter(function(h){var d=h.children;d?(h.x=BH(d),h.y=kH(d)):(h.x=s?a+=e(h,s):0,h.y=0,s=h)});var c=FH(o),l=$H(o),u=c.x-e(c,l)/2,f=l.x+e(l,c)/2;return o.eachAfter(r?function(h){h.x=(h.x-o.x)*t,h.y=(o.y-h.y)*n}:function(h){h.x=(h.x-u)/(f-u)*t,h.y=(1-(o.y?h.y/o.y:1))*n})}return i.separation=function(o){return arguments.length?(e=o,i):e},i.size=function(o){return arguments.length?(r=!1,t=+o[0],n=+o[1],i):r?null:[t,n]},i.nodeSize=function(o){return arguments.length?(r=!0,t=+o[0],n=+o[1],i):r?[t,n]:null},i}function PH(e){var t=0,n=e.children,r=n&&n.length;if(!r)t=1;else for(;--r>=0;)t+=n[r].value;e.value=t}function uR(){return this.eachAfter(PH)}function fR(e,t){let n=-1;for(let r of this)e.call(t,r,++n,this);return this}function hR(e,t){for(var n=this,r=[n],i,o,s=-1;n=r.pop();)if(e.call(t,n,++s,this),i=n.children)for(o=i.length-1;o>=0;--o)r.push(i[o]);return this}function dR(e,t){for(var n=this,r=[n],i=[],o,s,a,c=-1;n=r.pop();)if(i.push(n),o=n.children)for(s=0,a=o.length;s<a;++s)r.push(o[s]);for(;n=i.pop();)e.call(t,n,++c,this);return this}function pR(e,t){let n=-1;for(let r of this)if(e.call(t,r,++n,this))return r}function mR(e){return this.eachAfter(function(t){for(var n=+e(t.data)||0,r=t.children,i=r&&r.length;--i>=0;)n+=r[i].value;t.value=n})}function yR(e){return this.eachBefore(function(t){t.children&&t.children.sort(e)})}function gR(e){for(var t=this,n=UH(t,e),r=[t];t!==n;)t=t.parent,r.push(t);for(var i=r.length;e!==n;)r.splice(i,0,e),e=e.parent;return r}function UH(e,t){if(e===t)return e;var n=e.ancestors(),r=t.ancestors(),i=null;for(e=n.pop(),t=r.pop();e===t;)i=e,e=n.pop(),t=r.pop();return i}function xR(){for(var e=this,t=[e];e=e.parent;)t.push(e);return t}function bR(){return Array.from(this)}function wR(){var e=[];return this.eachBefore(function(t){t.children||e.push(t)}),e}function vR(){var e=this,t=[];return e.each(function(n){n!==e&&t.push({source:n.parent,target:n})}),t}function*_R(){var e=this,t,n=[e],r,i,o;do for(t=n.reverse(),n=[];e=t.pop();)if(yield e,r=e.children)for(i=0,o=r.length;i<o;++i)n.push(r[i]);while(n.length)}function sA(e,t){e instanceof Map?(e=[void 0,e],t===void 0&&(t=jH)):t===void 0&&(t=qH);for(var n=new za(e),r,i=[n],o,s,a,c;r=i.pop();)if((s=t(r.data))&&(c=(s=Array.from(s)).length))for(r.children=s,a=c-1;a>=0;--a)i.push(o=s[a]=new za(s[a])),o.parent=r,o.depth=r.depth+1;return n.eachBefore(aA)}function zH(){return sA(this).eachBefore(VH)}function qH(e){return e.children}function jH(e){return Array.isArray(e)?e[1]:null}function VH(e){e.data.value!==void 0&&(e.value=e.data.value),e.data=e.data.data}function aA(e){var t=0;do e.height=t;while((e=e.parent)&&e.height<++t)}function za(e){this.data=e,this.depth=this.height=0,this.parent=null}za.prototype=sA.prototype={constructor:za,count:uR,each:fR,eachAfter:dR,eachBefore:hR,find:pR,sum:mR,sort:yR,path:gR,ancestors:xR,descendants:bR,leaves:wR,links:vR,copy:zH,[Symbol.iterator]:_R};function kb(e){return e==null?null:YH(e)}function YH(e){if(typeof e!="function")throw new Error;return e}var XH={depth:-1},SR={},cA={};function GH(e){return e.id}function WH(e){return e.parentId}function Rb(){var e=GH,t=WH,n;function r(i){var o=Array.from(i),s=e,a=t,c,l,u,f,h,d,p,m,y=new Map;if(n!=null){let g=o.map((w,_)=>HH(n(w,_,i))),x=g.map(IR),b=new Set(g).add("");for(let w of x)b.has(w)||(b.add(w),g.push(w),x.push(IR(w)),o.push(cA));s=(w,_)=>g[_],a=(w,_)=>x[_]}for(u=0,c=o.length;u<c;++u)l=o[u],d=o[u]=new za(l),(p=s(l,u,i))!=null&&(p+="")&&(m=d.id=p,y.set(m,y.has(m)?SR:d)),(p=a(l,u,i))!=null&&(p+="")&&(d.parent=p);for(u=0;u<c;++u)if(d=o[u],p=d.parent){if(h=y.get(p),!h)throw new Error("missing: "+p);if(h===SR)throw new Error("ambiguous: "+p);h.children?h.children.push(d):h.children=[d],d.parent=h}else{if(f)throw new Error("multiple roots");f=d}if(!f)throw new Error("no root");if(n!=null){for(;f.data===cA&&f.children.length===1;)f=f.children[0],--c;for(let g=o.length-1;g>=0&&(d=o[g],d.data===cA);--g)d.data=null}if(f.parent=XH,f.eachBefore(function(g){g.depth=g.parent.depth+1,--c}).eachBefore(aA),f.parent=null,c>0)throw new Error("cycle");return f}return r.id=function(i){return arguments.length?(e=kb(i),r):e},r.parentId=function(i){return arguments.length?(t=kb(i),r):t},r.path=function(i){return arguments.length?(n=kb(i),r):n},r}function HH(e){e=`${e}`;let t=e.length;return lA(e,t-1)&&!lA(e,t-2)&&(e=e.slice(0,-1)),e[0]==="/"?e:`/${e}`}function IR(e){let t=e.length;if(t<2)return"";for(;--t>1&&!lA(e,t););return e.slice(0,t)}function lA(e,t){if(e[t]==="/"){let n=0;for(;t>0&&e[--t]==="\\";)++n;if(!(n&1))return!0}return!1}function ZH(e,t){return e.parent===t.parent?1:2}function uA(e){var t=e.children;return t?t[0]:e.t}function fA(e){var t=e.children;return t?t[t.length-1]:e.t}function JH(e,t,n){var r=n/(t.i-e.i);t.c-=r,t.s+=n,e.c+=r,t.z+=n,t.m+=n}function QH(e){for(var t=0,n=0,r=e.children,i=r.length,o;--i>=0;)o=r[i],o.z+=t,o.m+=t,t+=o.s+(n+=o.c)}function KH(e,t,n){return e.a.parent===t.parent?e.a:n}function Fb(e,t){this._=e,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=t}Fb.prototype=Object.create(za.prototype);function tZ(e){for(var t=new Fb(e,0),n,r=[t],i,o,s,a;n=r.pop();)if(o=n._.children)for(n.children=new Array(a=o.length),s=a-1;s>=0;--s)r.push(i=n.children[s]=new Fb(o[s],s)),i.parent=n;return(t.parent=new Fb(null,0)).children=[t],t}function ml(){var e=ZH,t=1,n=1,r=null;function i(l){var u=tZ(l);if(u.eachAfter(o),u.parent.m=-u.z,u.eachBefore(s),r)l.eachBefore(c);else{var f=l,h=l,d=l;l.eachBefore(function(x){x.x<f.x&&(f=x),x.x>h.x&&(h=x),x.depth>d.depth&&(d=x)});var p=f===h?1:e(f,h)/2,m=p-f.x,y=t/(h.x+p+m),g=n/(d.depth||1);l.eachBefore(function(x){x.x=(x.x+m)*y,x.y=x.depth*g})}return l}function o(l){var u=l.children,f=l.parent.children,h=l.i?f[l.i-1]:null;if(u){QH(l);var d=(u[0].z+u[u.length-1].z)/2;h?(l.z=h.z+e(l._,h._),l.m=l.z-d):l.z=d}else h&&(l.z=h.z+e(l._,h._));l.parent.A=a(l,h,l.parent.A||f[0])}function s(l){l._.x=l.z+l.parent.m,l.m+=l.parent.m}function a(l,u,f){if(u){for(var h=l,d=l,p=u,m=h.parent.children[0],y=h.m,g=d.m,x=p.m,b=m.m,w;p=fA(p),h=uA(h),p&&h;)m=uA(m),d=fA(d),d.a=l,w=p.z+x-h.z-y+e(p._,h._),w>0&&(JH(KH(p,l,f),l,w),y+=w,g+=w),x+=p.m,y+=h.m,b+=m.m,g+=d.m;p&&!fA(d)&&(d.t=p,d.m+=x-g),h&&!uA(m)&&(m.t=h,m.m+=y-b,f=l)}return f}function c(l){l.x*=t,l.y=l.depth*n}return i.separation=function(l){return arguments.length?(e=l,i):e},i.size=function(l){return arguments.length?(r=!1,t=+l[0],n=+l[1],i):r?null:[t,n]},i.nodeSize=function(l){return arguments.length?(r=!0,t=+l[0],n=+l[1],i):r?[t,n]:null},i}var MR=23283064365386963e-26;function yl(e=Math.random()){let t=(0<=e&&e<1?e/MR:Math.abs(e))|0;return()=>(t=1664525*t+1013904223|0,MR*(t>>>0))}function Ke(e,t){switch(arguments.length){case 0:break;case 1:this.range(e);break;default:this.range(t).domain(e);break}return this}function dm(e,t){switch(arguments.length){case 0:break;case 1:{typeof e=="function"?this.interpolator(e):this.range(e);break}default:{this.domain(e),typeof t=="function"?this.interpolator(t):this.range(t);break}}return this}var pm=Symbol("implicit");function gl(){var e=new Qn,t=[],n=[],r=pm;function i(o){let s=e.get(o);if(s===void 0){if(r!==pm)return r;e.set(o,s=t.push(o)-1)}return n[s%n.length]}return i.domain=function(o){if(!arguments.length)return t.slice();t=[],e=new Qn;for(let s of o)e.has(s)||e.set(s,t.push(s)-1);return i},i.range=function(o){return arguments.length?(n=Array.from(o),i):n.slice()},i.unknown=function(o){return arguments.length?(r=o,i):r},i.copy=function(){return gl(t,n).unknown(r)},Ke.apply(i,arguments),i}function qa(){var e=gl().unknown(void 0),t=e.domain,n=e.range,r=0,i=1,o,s,a=!1,c=0,l=0,u=.5;delete e.unknown;function f(){var h=t().length,d=i<r,p=d?i:r,m=d?r:i;o=(m-p)/Math.max(1,h-c+l*2),a&&(o=Math.floor(o)),p+=(m-p-o*(h-c))*u,s=o*(1-c),a&&(p=Math.round(p),s=Math.round(s));var y=Ue(h).map(function(g){return p+o*g});return n(d?y.reverse():y)}return e.domain=function(h){return arguments.length?(t(h),f()):t()},e.range=function(h){return arguments.length?([r,i]=h,r=+r,i=+i,f()):[r,i]},e.rangeRound=function(h){return[r,i]=h,r=+r,i=+i,a=!0,f()},e.bandwidth=function(){return s},e.step=function(){return o},e.round=function(h){return arguments.length?(a=!!h,f()):a},e.padding=function(h){return arguments.length?(c=Math.min(1,l=+h),f()):c},e.paddingInner=function(h){return arguments.length?(c=Math.min(1,h),f()):c},e.paddingOuter=function(h){return arguments.length?(l=+h,f()):l},e.align=function(h){return arguments.length?(u=Math.max(0,Math.min(1,h)),f()):u},e.copy=function(){return qa(t(),[r,i]).round(a).paddingInner(c).paddingOuter(l).align(u)},Ke.apply(f(),arguments)}function AR(e){var t=e.copy;return e.padding=e.paddingOuter,delete e.paddingInner,delete e.paddingOuter,e.copy=function(){return AR(t())},e}function hA(){return AR(qa.apply(null,arguments).paddingInner(1))}function dA(e){return function(){return e}}function mf(e){return+e}var TR=[0,1];function Sr(e){return e}function pA(e,t){return(t-=e=+e)?function(n){return(n-e)/t}:dA(isNaN(t)?NaN:.5)}function eZ(e,t){var n;return e>t&&(n=e,e=t,t=n),function(r){return Math.max(e,Math.min(t,r))}}function nZ(e,t,n){var r=e[0],i=e[1],o=t[0],s=t[1];return i<r?(r=pA(i,r),o=n(s,o)):(r=pA(r,i),o=n(o,s)),function(a){return o(r(a))}}function rZ(e,t,n){var r=Math.min(e.length,t.length)-1,i=new Array(r),o=new Array(r),s=-1;for(e[r]<e[0]&&(e=e.slice().reverse(),t=t.slice().reverse());++s<r;)i[s]=pA(e[s],e[s+1]),o[s]=n(t[s],t[s+1]);return function(a){var c=Es(e,a,1,r)-1;return o[c](i[c](a))}}function Fo(e,t){return t.domain(e.domain()).range(e.range()).interpolate(e.interpolate()).clamp(e.clamp()).unknown(e.unknown())}function xl(){var e=TR,t=TR,n=Pr,r,i,o,s=Sr,a,c,l;function u(){var h=Math.min(e.length,t.length);return s!==Sr&&(s=eZ(e[0],e[h-1])),a=h>2?rZ:nZ,c=l=null,f}function f(h){return h==null||isNaN(h=+h)?o:(c||(c=a(e.map(r),t,n)))(r(s(h)))}return f.invert=function(h){return s(i((l||(l=a(t,e.map(r),Se)))(h)))},f.domain=function(h){return arguments.length?(e=Array.from(h,mf),u()):e.slice()},f.range=function(h){return arguments.length?(t=Array.from(h),u()):t.slice()},f.rangeRound=function(h){return t=Array.from(h),n=ol,u()},f.clamp=function(h){return arguments.length?(s=h?!0:Sr,u()):s!==Sr},f.interpolate=function(h){return arguments.length?(n=h,u()):n},f.unknown=function(h){return arguments.length?(o=h,f):o},function(h,d){return r=h,i=d,u()}}function mm(){return xl()(Sr,Sr)}function mA(e,t,n,r){var i=Fu(e,t,n),o;switch(r=Lo(r??",f"),r.type){case"s":{var s=Math.max(Math.abs(e),Math.abs(t));return r.precision==null&&!isNaN(o=cM(i,s))&&(r.precision=o),nb(r,s)}case"":case"e":case"g":case"p":case"r":{r.precision==null&&!isNaN(o=lM(i,Math.max(Math.abs(e),Math.abs(t))))&&(r.precision=o-(r.type==="e"));break}case"f":case"%":{r.precision==null&&!isNaN(o=aM(i))&&(r.precision=o-(r.type==="%")*2);break}}return pi(r)}function Us(e){var t=e.domain;return e.ticks=function(n){var r=t();return En(r[0],r[r.length-1],n??10)},e.tickFormat=function(n,r){var i=t();return mA(i[0],i[i.length-1],n??10,r)},e.nice=function(n){n==null&&(n=10);var r=t(),i=0,o=r.length-1,s=r[i],a=r[o],c,l,u=10;for(a<s&&(l=s,s=a,a=l,l=i,i=o,o=l);u-- >0;){if(l=Ns(s,a,n),l===c)return r[i]=s,r[o]=a,t(r);if(l>0)s=Math.floor(s/l)*l,a=Math.ceil(a/l)*l;else if(l<0)s=Math.ceil(s*l)/l,a=Math.floor(a*l)/l;else break;c=l}return e},e}function zs(){var e=mm();return e.copy=function(){return Fo(e,zs())},Ke.apply(e,arguments),Us(e)}function ym(e){var t;function n(r){return r==null||isNaN(r=+r)?t:r}return n.invert=n,n.domain=n.range=function(r){return arguments.length?(e=Array.from(r,mf),n):e.slice()},n.unknown=function(r){return arguments.length?(t=r,n):t},n.copy=function(){return ym(e).unknown(t)},e=arguments.length?Array.from(e,mf):[0,1],Us(n)}function gm(e,t){e=e.slice();var n=0,r=e.length-1,i=e[n],o=e[r],s;return o<i&&(s=n,n=r,r=s,s=i,i=o,o=s),e[n]=t.floor(i),e[r]=t.ceil(o),e}function ER(e){return Math.log(e)}function DR(e){return Math.exp(e)}function iZ(e){return-Math.log(-e)}function oZ(e){return-Math.exp(-e)}function sZ(e){return isFinite(e)?+("1e"+e):e<0?0:e}function aZ(e){return e===10?sZ:e===Math.E?Math.exp:t=>Math.pow(e,t)}function cZ(e){return e===Math.E?Math.log:e===10&&Math.log10||e===2&&Math.log2||(e=Math.log(e),t=>Math.log(t)/e)}function NR(e){return(t,n)=>-e(-t,n)}function yA(e){let t=e(ER,DR),n=t.domain,r=10,i,o;function s(){return i=cZ(r),o=aZ(r),n()[0]<0?(i=NR(i),o=NR(o),e(iZ,oZ)):e(ER,DR),t}return t.base=function(a){return arguments.length?(r=+a,s()):r},t.domain=function(a){return arguments.length?(n(a),s()):n()},t.ticks=a=>{let c=n(),l=c[0],u=c[c.length-1],f=u<l;f&&([l,u]=[u,l]);let h=i(l),d=i(u),p,m,y=a==null?10:+a,g=[];if(!(r%1)&&d-h<y){if(h=Math.floor(h),d=Math.ceil(d),l>0){for(;h<=d;++h)for(p=1;p<r;++p)if(m=h<0?p/o(-h):p*o(h),!(m<l)){if(m>u)break;g.push(m)}}else for(;h<=d;++h)for(p=r-1;p>=1;--p)if(m=h>0?p/o(-h):p*o(h),!(m<l)){if(m>u)break;g.push(m)}g.length*2<y&&(g=En(l,u,y))}else g=En(h,d,Math.min(d-h,y)).map(o);return f?g.reverse():g},t.tickFormat=(a,c)=>{if(a==null&&(a=10),c==null&&(c=r===10?"s":","),typeof c!="function"&&(!(r%1)&&(c=Lo(c)).precision==null&&(c.trim=!0),c=pi(c)),a===1/0)return c;let l=Math.max(1,r*a/t.ticks().length);return u=>{let f=u/o(Math.round(i(u)));return f*r<r-.5&&(f*=r),f<=l?c(u):""}},t.nice=()=>n(gm(n(),{floor:a=>o(Math.floor(i(a))),ceil:a=>o(Math.ceil(i(a)))})),t}function xm(){let e=yA(xl()).domain([1,10]);return e.copy=()=>Fo(e,xm()).base(e.base()),Ke.apply(e,arguments),e}function OR(e){return function(t){return Math.sign(t)*Math.log1p(Math.abs(t/e))}}function LR(e){return function(t){return Math.sign(t)*Math.expm1(Math.abs(t))*e}}function gA(e){var t=1,n=e(OR(t),LR(t));return n.constant=function(r){return arguments.length?e(OR(t=+r),LR(t)):t},Us(n)}function bm(){var e=gA(xl());return e.copy=function(){return Fo(e,bm()).constant(e.constant())},Ke.apply(e,arguments)}function BR(e){return function(t){return t<0?-Math.pow(-t,e):Math.pow(t,e)}}function lZ(e){return e<0?-Math.sqrt(-e):Math.sqrt(e)}function uZ(e){return e<0?-e*e:e*e}function xA(e){var t=e(Sr,Sr),n=1;function r(){return n===1?e(Sr,Sr):n===.5?e(lZ,uZ):e(BR(n),BR(1/n))}return t.exponent=function(i){return arguments.length?(n=+i,r()):n},Us(t)}function wm(){var e=xA(xl());return e.copy=function(){return Fo(e,wm()).exponent(e.exponent())},Ke.apply(e,arguments),e}function vm(){var e=[],t=[],n=[],r;function i(){var s=0,a=Math.max(1,t.length);for(n=new Array(a-1);++s<a;)n[s-1]=gI(e,s/a);return o}function o(s){return s==null||isNaN(s=+s)?r:t[Es(n,s)]}return o.invertExtent=function(s){var a=t.indexOf(s);return a<0?[NaN,NaN]:[a>0?n[a-1]:e[0],a<n.length?n[a]:e[e.length-1]]},o.domain=function(s){if(!arguments.length)return e.slice();e=[];for(let a of s)a!=null&&!isNaN(a=+a)&&e.push(a);return e.sort(Ot),i()},o.range=function(s){return arguments.length?(t=Array.from(s),i()):t.slice()},o.unknown=function(s){return arguments.length?(r=s,o):r},o.quantiles=function(){return n.slice()},o.copy=function(){return vm().domain(e).range(t).unknown(r)},Ke.apply(o,arguments)}function _m(){var e=[.5],t=[0,1],n,r=1;function i(o){return o!=null&&o<=o?t[Es(e,o,0,r)]:n}return i.domain=function(o){return arguments.length?(e=Array.from(o),r=Math.min(e.length,t.length-1),i):e.slice()},i.range=function(o){return arguments.length?(t=Array.from(o),r=Math.min(e.length,t.length-1),i):t.slice()},i.invertExtent=function(o){var s=t.indexOf(o);return[e[s-1],e[s]]},i.unknown=function(o){return arguments.length?(n=o,i):n},i.copy=function(){return _m().domain(e).range(t).unknown(n)},Ke.apply(i,arguments)}var bA=new Date,wA=new Date;function we(e,t,n,r){function i(o){return e(o=arguments.length===0?new Date:new Date(+o)),o}return i.floor=o=>(e(o=new Date(+o)),o),i.ceil=o=>(e(o=new Date(o-1)),t(o,1),e(o),o),i.round=o=>{let s=i(o),a=i.ceil(o);return o-s<a-o?s:a},i.offset=(o,s)=>(t(o=new Date(+o),s==null?1:Math.floor(s)),o),i.range=(o,s,a)=>{let c=[];if(o=i.ceil(o),a=a==null?1:Math.floor(a),!(o<s)||!(a>0))return c;let l;do c.push(l=new Date(+o)),t(o,a),e(o);while(l<o&&o<s);return c},i.filter=o=>we(s=>{if(s>=s)for(;e(s),!o(s);)s.setTime(s-1)},(s,a)=>{if(s>=s)if(a<0)for(;++a<=0;)for(;t(s,-1),!o(s););else for(;--a>=0;)for(;t(s,1),!o(s););}),n&&(i.count=(o,s)=>(bA.setTime(+o),wA.setTime(+s),e(bA),e(wA),Math.floor(n(bA,wA))),i.every=o=>(o=Math.floor(o),!isFinite(o)||!(o>0)?null:o>1?i.filter(r?s=>r(s)%o===0:s=>i.count(0,s)%o===0):i)),i}var Sm=we(()=>{},(e,t)=>{e.setTime(+e+t)},(e,t)=>t-e);Sm.every=e=>(e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?we(t=>{t.setTime(Math.floor(t/e)*e)},(t,n)=>{t.setTime(+t+n*e)},(t,n)=>(n-t)/e):Sm);var _4t=Sm.range;var dn=we(e=>{e.setTime(e-e.getMilliseconds())},(e,t)=>{e.setTime(+e+t*1e3)},(e,t)=>(t-e)/1e3,e=>e.getUTCSeconds()),CR=dn.range;var qs=we(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*1e3)},(e,t)=>{e.setTime(+e+t*6e4)},(e,t)=>(t-e)/6e4,e=>e.getMinutes()),fZ=qs.range,js=we(e=>{e.setUTCSeconds(0,0)},(e,t)=>{e.setTime(+e+t*6e4)},(e,t)=>(t-e)/6e4,e=>e.getUTCMinutes()),hZ=js.range;var Vs=we(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*1e3-e.getMinutes()*6e4)},(e,t)=>{e.setTime(+e+t*36e5)},(e,t)=>(t-e)/36e5,e=>e.getHours()),dZ=Vs.range,Ys=we(e=>{e.setUTCMinutes(0,0,0)},(e,t)=>{e.setTime(+e+t*36e5)},(e,t)=>(t-e)/36e5,e=>e.getUTCHours()),pZ=Ys.range;var yi=we(e=>e.setHours(0,0,0,0),(e,t)=>e.setDate(e.getDate()+t),(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*6e4)/864e5,e=>e.getDate()-1),mZ=yi.range,vl=we(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/864e5,e=>e.getUTCDate()-1),yZ=vl.range,_l=we(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/864e5,e=>Math.floor(e/864e5)),gZ=_l.range;function Sl(e){return we(t=>{t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)},(t,n)=>{t.setDate(t.getDate()+n*7)},(t,n)=>(n-t-(n.getTimezoneOffset()-t.getTimezoneOffset())*6e4)/6048e5)}var zr=Sl(0),ja=Sl(1),$b=Sl(2),Pb=Sl(3),Po=Sl(4),Ub=Sl(5),zb=Sl(6),RR=zr.range,xZ=ja.range,bZ=$b.range,wZ=Pb.range,vZ=Po.range,_Z=Ub.range,SZ=zb.range;function Il(e){return we(t=>{t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)},(t,n)=>{t.setUTCDate(t.getUTCDate()+n*7)},(t,n)=>(n-t)/6048e5)}var qr=Il(0),Va=Il(1),qb=Il(2),jb=Il(3),Uo=Il(4),Vb=Il(5),Yb=Il(6),FR=qr.range,IZ=Va.range,MZ=qb.range,AZ=jb.range,TZ=Uo.range,EZ=Vb.range,DZ=Yb.range;var Xs=we(e=>{e.setDate(1),e.setHours(0,0,0,0)},(e,t)=>{e.setMonth(e.getMonth()+t)},(e,t)=>t.getMonth()-e.getMonth()+(t.getFullYear()-e.getFullYear())*12,e=>e.getMonth()),NZ=Xs.range,Gs=we(e=>{e.setUTCDate(1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCMonth(e.getUTCMonth()+t)},(e,t)=>t.getUTCMonth()-e.getUTCMonth()+(t.getUTCFullYear()-e.getUTCFullYear())*12,e=>e.getUTCMonth()),OZ=Gs.range;var qn=we(e=>{e.setMonth(0,1),e.setHours(0,0,0,0)},(e,t)=>{e.setFullYear(e.getFullYear()+t)},(e,t)=>t.getFullYear()-e.getFullYear(),e=>e.getFullYear());qn.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:we(t=>{t.setFullYear(Math.floor(t.getFullYear()/e)*e),t.setMonth(0,1),t.setHours(0,0,0,0)},(t,n)=>{t.setFullYear(t.getFullYear()+n*e)});var LZ=qn.range,jn=we(e=>{e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCFullYear(e.getUTCFullYear()+t)},(e,t)=>t.getUTCFullYear()-e.getUTCFullYear(),e=>e.getUTCFullYear());jn.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:we(t=>{t.setUTCFullYear(Math.floor(t.getUTCFullYear()/e)*e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,n)=>{t.setUTCFullYear(t.getUTCFullYear()+n*e)});var BZ=jn.range;function PR(e,t,n,r,i,o){let s=[[dn,1,1e3],[dn,5,5*1e3],[dn,15,15*1e3],[dn,30,30*1e3],[o,1,6e4],[o,5,5*6e4],[o,15,15*6e4],[o,30,30*6e4],[i,1,36e5],[i,3,3*36e5],[i,6,6*36e5],[i,12,12*36e5],[r,1,864e5],[r,2,2*864e5],[n,1,6048e5],[t,1,2592e6],[t,3,3*2592e6],[e,1,31536e6]];function a(l,u,f){let h=u<l;h&&([l,u]=[u,l]);let d=f&&typeof f.range=="function"?f:c(l,u,f),p=d?d.range(l,+u+1):[];return h?p.reverse():p}function c(l,u,f){let h=Math.abs(u-l)/f,d=Ts(([,,y])=>y).right(s,h);if(d===s.length)return e.every(Fu(l/31536e6,u/31536e6,f));if(d===0)return Sm.every(Math.max(Fu(l,u,f),1));let[p,m]=s[h/s[d-1][2]<s[d][2]/h?d-1:d];return p.every(m)}return[a,c]}var[vA,Mm]=PR(jn,Gs,qr,_l,Ys,js),[_A,SA]=PR(qn,Xs,zr,yi,Vs,qs);function IA(e){if(0<=e.y&&e.y<100){var t=new Date(-1,e.m,e.d,e.H,e.M,e.S,e.L);return t.setFullYear(e.y),t}return new Date(e.y,e.m,e.d,e.H,e.M,e.S,e.L)}function MA(e){if(0<=e.y&&e.y<100){var t=new Date(Date.UTC(-1,e.m,e.d,e.H,e.M,e.S,e.L));return t.setUTCFullYear(e.y),t}return new Date(Date.UTC(e.y,e.m,e.d,e.H,e.M,e.S,e.L))}function Am(e,t,n){return{y:e,m:t,d:n,H:0,M:0,S:0,L:0}}function AA(e){var t=e.dateTime,n=e.date,r=e.time,i=e.periods,o=e.days,s=e.shortDays,a=e.months,c=e.shortMonths,l=Tm(i),u=Em(i),f=Tm(o),h=Em(o),d=Tm(s),p=Em(s),m=Tm(a),y=Em(a),g=Tm(c),x=Em(c),b={a:R,A:F,b:k,B:$,c:null,d:YR,e:YR,f:rJ,g:dJ,G:mJ,H:tJ,I:eJ,j:nJ,L:ZR,m:iJ,M:oJ,p:P,q:U,Q:WR,s:HR,S:sJ,u:aJ,U:cJ,V:lJ,w:uJ,W:fJ,x:null,X:null,y:hJ,Y:pJ,Z:yJ,"%":GR},w={a:W,A:nt,b:ot,B:at,c:null,d:XR,e:XR,f:wJ,g:NJ,G:LJ,H:gJ,I:xJ,j:bJ,L:QR,m:vJ,M:_J,p:Y,q:st,Q:WR,s:HR,S:SJ,u:IJ,U:MJ,V:AJ,w:TJ,W:EJ,x:null,X:null,y:DJ,Y:OJ,Z:BJ,"%":GR},_={a:N,A,b:O,B:C,c:S,d:jR,e:jR,f:ZZ,g:qR,G:zR,H:VR,I:VR,j:XZ,L:HZ,m:YZ,M:GZ,p:M,q:VZ,Q:QZ,s:KZ,S:WZ,u:PZ,U:UZ,V:zZ,w:$Z,W:qZ,x:T,X:D,y:qR,Y:zR,Z:jZ,"%":JZ};b.x=v(n,b),b.X=v(r,b),b.c=v(t,b),w.x=v(n,w),w.X=v(r,w),w.c=v(t,w);function v(q,Z){return function(rt){var z=[],Rt=-1,ht=0,Ht=q.length,Qt,tt,ce;for(rt instanceof Date||(rt=new Date(+rt));++Rt<Ht;)q.charCodeAt(Rt)===37&&(z.push(q.slice(ht,Rt)),(tt=UR[Qt=q.charAt(++Rt)])!=null?Qt=q.charAt(++Rt):tt=Qt==="e"?" ":"0",(ce=Z[Qt])&&(Qt=ce(rt,tt)),z.push(Qt),ht=Rt+1);return z.push(q.slice(ht,Rt)),z.join("")}}function I(q,Z){return function(rt){var z=Am(1900,void 0,1),Rt=E(z,q,rt+="",0),ht,Ht;if(Rt!=rt.length)return null;if("Q"in z)return new Date(z.Q);if("s"in z)return new Date(z.s*1e3+("L"in z?z.L:0));if(Z&&!("Z"in z)&&(z.Z=0),"p"in z&&(z.H=z.H%12+z.p*12),z.m===void 0&&(z.m="q"in z?z.q:0),"V"in z){if(z.V<1||z.V>53)return null;"w"in z||(z.w=1),"Z"in z?(ht=MA(Am(z.y,0,1)),Ht=ht.getUTCDay(),ht=Ht>4||Ht===0?Va.ceil(ht):Va(ht),ht=vl.offset(ht,(z.V-1)*7),z.y=ht.getUTCFullYear(),z.m=ht.getUTCMonth(),z.d=ht.getUTCDate()+(z.w+6)%7):(ht=IA(Am(z.y,0,1)),Ht=ht.getDay(),ht=Ht>4||Ht===0?ja.ceil(ht):ja(ht),ht=yi.offset(ht,(z.V-1)*7),z.y=ht.getFullYear(),z.m=ht.getMonth(),z.d=ht.getDate()+(z.w+6)%7)}else("W"in z||"U"in z)&&("w"in z||(z.w="u"in z?z.u%7:"W"in z?1:0),Ht="Z"in z?MA(Am(z.y,0,1)).getUTCDay():IA(Am(z.y,0,1)).getDay(),z.m=0,z.d="W"in z?(z.w+6)%7+z.W*7-(Ht+5)%7:z.w+z.U*7-(Ht+6)%7);return"Z"in z?(z.H+=z.Z/100|0,z.M+=z.Z%100,MA(z)):IA(z)}}function E(q,Z,rt,z){for(var Rt=0,ht=Z.length,Ht=rt.length,Qt,tt;Rt<ht;){if(z>=Ht)return-1;if(Qt=Z.charCodeAt(Rt++),Qt===37){if(Qt=Z.charAt(Rt++),tt=_[Qt in UR?Z.charAt(Rt++):Qt],!tt||(z=tt(q,rt,z))<0)return-1}else if(Qt!=rt.charCodeAt(z++))return-1}return z}function M(q,Z,rt){var z=l.exec(Z.slice(rt));return z?(q.p=u.get(z[0].toLowerCase()),rt+z[0].length):-1}function N(q,Z,rt){var z=d.exec(Z.slice(rt));return z?(q.w=p.get(z[0].toLowerCase()),rt+z[0].length):-1}function A(q,Z,rt){var z=f.exec(Z.slice(rt));return z?(q.w=h.get(z[0].toLowerCase()),rt+z[0].length):-1}function O(q,Z,rt){var z=g.exec(Z.slice(rt));return z?(q.m=x.get(z[0].toLowerCase()),rt+z[0].length):-1}function C(q,Z,rt){var z=m.exec(Z.slice(rt));return z?(q.m=y.get(z[0].toLowerCase()),rt+z[0].length):-1}function S(q,Z,rt){return E(q,t,Z,rt)}function T(q,Z,rt){return E(q,n,Z,rt)}function D(q,Z,rt){return E(q,r,Z,rt)}function R(q){return s[q.getDay()]}function F(q){return o[q.getDay()]}function k(q){return c[q.getMonth()]}function $(q){return a[q.getMonth()]}function P(q){return i[+(q.getHours()>=12)]}function U(q){return 1+~~(q.getMonth()/3)}function W(q){return s[q.getUTCDay()]}function nt(q){return o[q.getUTCDay()]}function ot(q){return c[q.getUTCMonth()]}function at(q){return a[q.getUTCMonth()]}function Y(q){return i[+(q.getUTCHours()>=12)]}function st(q){return 1+~~(q.getUTCMonth()/3)}return{format:function(q){var Z=v(q+="",b);return Z.toString=function(){return q},Z},parse:function(q){var Z=I(q+="",!1);return Z.toString=function(){return q},Z},utcFormat:function(q){var Z=v(q+="",w);return Z.toString=function(){return q},Z},utcParse:function(q){var Z=I(q+="",!0);return Z.toString=function(){return q},Z}}}var UR={"-":"",_:" ",0:"0"},pn=/^\s*\d+/,kZ=/^%/,RZ=/[\\^$*+?|[\]().{}]/g;function ne(e,t,n){var r=e<0?"-":"",i=(r?-e:e)+"",o=i.length;return r+(o<n?new Array(n-o+1).join(t)+i:i)}function FZ(e){return e.replace(RZ,"\\$&")}function Tm(e){return new RegExp("^(?:"+e.map(FZ).join("|")+")","i")}function Em(e){return new Map(e.map((t,n)=>[t.toLowerCase(),n]))}function $Z(e,t,n){var r=pn.exec(t.slice(n,n+1));return r?(e.w=+r[0],n+r[0].length):-1}function PZ(e,t,n){var r=pn.exec(t.slice(n,n+1));return r?(e.u=+r[0],n+r[0].length):-1}function UZ(e,t,n){var r=pn.exec(t.slice(n,n+2));return r?(e.U=+r[0],n+r[0].length):-1}function zZ(e,t,n){var r=pn.exec(t.slice(n,n+2));return r?(e.V=+r[0],n+r[0].length):-1}function qZ(e,t,n){var r=pn.exec(t.slice(n,n+2));return r?(e.W=+r[0],n+r[0].length):-1}function zR(e,t,n){var r=pn.exec(t.slice(n,n+4));return r?(e.y=+r[0],n+r[0].length):-1}function qR(e,t,n){var r=pn.exec(t.slice(n,n+2));return r?(e.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function jZ(e,t,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(t.slice(n,n+6));return r?(e.Z=r[1]?0:-(r[2]+(r[3]||"00")),n+r[0].length):-1}function VZ(e,t,n){var r=pn.exec(t.slice(n,n+1));return r?(e.q=r[0]*3-3,n+r[0].length):-1}function YZ(e,t,n){var r=pn.exec(t.slice(n,n+2));return r?(e.m=r[0]-1,n+r[0].length):-1}function jR(e,t,n){var r=pn.exec(t.slice(n,n+2));return r?(e.d=+r[0],n+r[0].length):-1}function XZ(e,t,n){var r=pn.exec(t.slice(n,n+3));return r?(e.m=0,e.d=+r[0],n+r[0].length):-1}function VR(e,t,n){var r=pn.exec(t.slice(n,n+2));return r?(e.H=+r[0],n+r[0].length):-1}function GZ(e,t,n){var r=pn.exec(t.slice(n,n+2));return r?(e.M=+r[0],n+r[0].length):-1}function WZ(e,t,n){var r=pn.exec(t.slice(n,n+2));return r?(e.S=+r[0],n+r[0].length):-1}function HZ(e,t,n){var r=pn.exec(t.slice(n,n+3));return r?(e.L=+r[0],n+r[0].length):-1}function ZZ(e,t,n){var r=pn.exec(t.slice(n,n+6));return r?(e.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function JZ(e,t,n){var r=kZ.exec(t.slice(n,n+1));return r?n+r[0].length:-1}function QZ(e,t,n){var r=pn.exec(t.slice(n));return r?(e.Q=+r[0],n+r[0].length):-1}function KZ(e,t,n){var r=pn.exec(t.slice(n));return r?(e.s=+r[0],n+r[0].length):-1}function YR(e,t){return ne(e.getDate(),t,2)}function tJ(e,t){return ne(e.getHours(),t,2)}function eJ(e,t){return ne(e.getHours()%12||12,t,2)}function nJ(e,t){return ne(1+yi.count(qn(e),e),t,3)}function ZR(e,t){return ne(e.getMilliseconds(),t,3)}function rJ(e,t){return ZR(e,t)+"000"}function iJ(e,t){return ne(e.getMonth()+1,t,2)}function oJ(e,t){return ne(e.getMinutes(),t,2)}function sJ(e,t){return ne(e.getSeconds(),t,2)}function aJ(e){var t=e.getDay();return t===0?7:t}function cJ(e,t){return ne(zr.count(qn(e)-1,e),t,2)}function JR(e){var t=e.getDay();return t>=4||t===0?Po(e):Po.ceil(e)}function lJ(e,t){return e=JR(e),ne(Po.count(qn(e),e)+(qn(e).getDay()===4),t,2)}function uJ(e){return e.getDay()}function fJ(e,t){return ne(ja.count(qn(e)-1,e),t,2)}function hJ(e,t){return ne(e.getFullYear()%100,t,2)}function dJ(e,t){return e=JR(e),ne(e.getFullYear()%100,t,2)}function pJ(e,t){return ne(e.getFullYear()%1e4,t,4)}function mJ(e,t){var n=e.getDay();return e=n>=4||n===0?Po(e):Po.ceil(e),ne(e.getFullYear()%1e4,t,4)}function yJ(e){var t=e.getTimezoneOffset();return(t>0?"-":(t*=-1,"+"))+ne(t/60|0,"0",2)+ne(t%60,"0",2)}function XR(e,t){return ne(e.getUTCDate(),t,2)}function gJ(e,t){return ne(e.getUTCHours(),t,2)}function xJ(e,t){return ne(e.getUTCHours()%12||12,t,2)}function bJ(e,t){return ne(1+vl.count(jn(e),e),t,3)}function QR(e,t){return ne(e.getUTCMilliseconds(),t,3)}function wJ(e,t){return QR(e,t)+"000"}function vJ(e,t){return ne(e.getUTCMonth()+1,t,2)}function _J(e,t){return ne(e.getUTCMinutes(),t,2)}function SJ(e,t){return ne(e.getUTCSeconds(),t,2)}function IJ(e){var t=e.getUTCDay();return t===0?7:t}function MJ(e,t){return ne(qr.count(jn(e)-1,e),t,2)}function KR(e){var t=e.getUTCDay();return t>=4||t===0?Uo(e):Uo.ceil(e)}function AJ(e,t){return e=KR(e),ne(Uo.count(jn(e),e)+(jn(e).getUTCDay()===4),t,2)}function TJ(e){return e.getUTCDay()}function EJ(e,t){return ne(Va.count(jn(e)-1,e),t,2)}function DJ(e,t){return ne(e.getUTCFullYear()%100,t,2)}function NJ(e,t){return e=KR(e),ne(e.getUTCFullYear()%100,t,2)}function OJ(e,t){return ne(e.getUTCFullYear()%1e4,t,4)}function LJ(e,t){var n=e.getUTCDay();return e=n>=4||n===0?Uo(e):Uo.ceil(e),ne(e.getUTCFullYear()%1e4,t,4)}function BJ(){return"+0000"}function GR(){return"%"}function WR(e){return+e}function HR(e){return Math.floor(+e/1e3)}var yf,gf,tF,zo,eF;TA({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function TA(e){return yf=AA(e),gf=yf.format,tF=yf.parse,zo=yf.utcFormat,eF=yf.utcParse,yf}function CJ(e){return new Date(e)}function kJ(e){return e instanceof Date?+e:+new Date(+e)}function Xb(e,t,n,r,i,o,s,a,c,l){var u=mm(),f=u.invert,h=u.domain,d=l(".%L"),p=l(":%S"),m=l("%I:%M"),y=l("%I %p"),g=l("%a %d"),x=l("%b %d"),b=l("%B"),w=l("%Y");function _(v){return(c(v)<v?d:a(v)<v?p:s(v)<v?m:o(v)<v?y:r(v)<v?i(v)<v?g:x:n(v)<v?b:w)(v)}return u.invert=function(v){return new Date(f(v))},u.domain=function(v){return arguments.length?h(Array.from(v,kJ)):h().map(CJ)},u.ticks=function(v){var I=h();return e(I[0],I[I.length-1],v??10)},u.tickFormat=function(v,I){return I==null?_:l(I)},u.nice=function(v){var I=h();return(!v||typeof v.range!="function")&&(v=t(I[0],I[I.length-1],v??10)),v?h(gm(I,v)):u},u.copy=function(){return Fo(u,Xb(e,t,n,r,i,o,s,a,c,l))},u}function Gb(){return Ke.apply(Xb(_A,SA,qn,Xs,zr,yi,Vs,qs,dn,gf).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)}function Wb(){return Ke.apply(Xb(vA,Mm,jn,Gs,qr,vl,Ys,js,dn,zo).domain([Date.UTC(2e3,0,1),Date.UTC(2e3,0,2)]),arguments)}function Dm(e,t){return t.domain(e.domain()).interpolator(e.interpolator()).clamp(e.clamp()).unknown(e.unknown())}function Hb(){var e=0,t=.5,n=1,r=1,i,o,s,a,c,l=Sr,u,f=!1,h;function d(m){return isNaN(m=+m)?h:(m=.5+((m=+u(m))-o)*(r*m<r*o?a:c),l(f?Math.max(0,Math.min(1,m)):m))}d.domain=function(m){return arguments.length?([e,t,n]=m,i=u(e=+e),o=u(t=+t),s=u(n=+n),a=i===o?0:.5/(o-i),c=o===s?0:.5/(s-o),r=o<i?-1:1,d):[e,t,n]},d.clamp=function(m){return arguments.length?(f=!!m,d):f},d.interpolator=function(m){return arguments.length?(l=m,d):l};function p(m){return function(y){var g,x,b;return arguments.length?([g,x,b]=y,l=Eo(m,[g,x,b]),d):[l(0),l(.5),l(1)]}}return d.range=p(Pr),d.rangeRound=p(ol),d.unknown=function(m){return arguments.length?(h=m,d):h},function(m){return u=m,i=m(e),o=m(t),s=m(n),a=i===o?0:.5/(o-i),c=o===s?0:.5/(s-o),r=o<i?-1:1,d}}function Nm(){var e=Us(Hb()(Sr));return e.copy=function(){return Dm(e,Nm())},dm.apply(e,arguments)}function Zb(){var e=yA(Hb()).domain([.1,1,10]);return e.copy=function(){return Dm(e,Zb()).base(e.base())},dm.apply(e,arguments)}function Jb(){var e=gA(Hb());return e.copy=function(){return Dm(e,Jb()).constant(e.constant())},dm.apply(e,arguments)}function Qb(){var e=xA(Hb());return e.copy=function(){return Dm(e,Qb()).exponent(e.exponent())},dm.apply(e,arguments)}function X(e){for(var t=e.length/6|0,n=new Array(t),r=0;r<t;)n[r]="#"+e.slice(r*6,++r*6);return n}var EA=X("1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf");var DA=X("7fc97fbeaed4fdc086ffff99386cb0f0027fbf5b17666666");var NA=X("1b9e77d95f027570b3e7298a66a61ee6ab02a6761d666666");var OA=X("4269d0efb118ff725c6cc5b03ca951ff8ab7a463f297bbf59c6b4e9498a0");var LA=X("a6cee31f78b4b2df8a33a02cfb9a99e31a1cfdbf6fff7f00cab2d66a3d9affff99b15928");var BA=X("fbb4aeb3cde3ccebc5decbe4fed9a6ffffcce5d8bdfddaecf2f2f2");var CA=X("b3e2cdfdcdaccbd5e8f4cae4e6f5c9fff2aef1e2cccccccc");var kA=X("e41a1c377eb84daf4a984ea3ff7f00ffff33a65628f781bf999999");var RA=X("66c2a5fc8d628da0cbe78ac3a6d854ffd92fe5c494b3b3b3");var FA=X("8dd3c7ffffb3bebadafb807280b1d3fdb462b3de69fccde5d9d9d9bc80bdccebc5ffed6f");var $A=X("4e79a7f28e2ce1575976b7b259a14fedc949af7aa1ff9da79c755fbab0ab");var pt=e=>BI(e[e.length-1]);var Kb=new Array(3).concat("d8b365f5f5f55ab4ac","a6611adfc27d80cdc1018571","a6611adfc27df5f5f580cdc1018571","8c510ad8b365f6e8c3c7eae55ab4ac01665e","8c510ad8b365f6e8c3f5f5f5c7eae55ab4ac01665e","8c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e","8c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e","5430058c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e003c30","5430058c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e003c30").map(X),t1=pt(Kb);var e1=new Array(3).concat("af8dc3f7f7f77fbf7b","7b3294c2a5cfa6dba0008837","7b3294c2a5cff7f7f7a6dba0008837","762a83af8dc3e7d4e8d9f0d37fbf7b1b7837","762a83af8dc3e7d4e8f7f7f7d9f0d37fbf7b1b7837","762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b7837","762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b7837","40004b762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b783700441b","40004b762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b783700441b").map(X),n1=pt(e1);var r1=new Array(3).concat("e9a3c9f7f7f7a1d76a","d01c8bf1b6dab8e1864dac26","d01c8bf1b6daf7f7f7b8e1864dac26","c51b7de9a3c9fde0efe6f5d0a1d76a4d9221","c51b7de9a3c9fde0eff7f7f7e6f5d0a1d76a4d9221","c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221","c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221","8e0152c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221276419","8e0152c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221276419").map(X),i1=pt(r1);var o1=new Array(3).concat("998ec3f7f7f7f1a340","5e3c99b2abd2fdb863e66101","5e3c99b2abd2f7f7f7fdb863e66101","542788998ec3d8daebfee0b6f1a340b35806","542788998ec3d8daebf7f7f7fee0b6f1a340b35806","5427888073acb2abd2d8daebfee0b6fdb863e08214b35806","5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b35806","2d004b5427888073acb2abd2d8daebfee0b6fdb863e08214b358067f3b08","2d004b5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b358067f3b08").map(X),s1=pt(o1);var Om=new Array(3).concat("ef8a62f7f7f767a9cf","ca0020f4a58292c5de0571b0","ca0020f4a582f7f7f792c5de0571b0","b2182bef8a62fddbc7d1e5f067a9cf2166ac","b2182bef8a62fddbc7f7f7f7d1e5f067a9cf2166ac","b2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac","b2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac","67001fb2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac053061","67001fb2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac053061").map(X),xf=pt(Om);var a1=new Array(3).concat("ef8a62ffffff999999","ca0020f4a582bababa404040","ca0020f4a582ffffffbababa404040","b2182bef8a62fddbc7e0e0e09999994d4d4d","b2182bef8a62fddbc7ffffffe0e0e09999994d4d4d","b2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d","b2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d","67001fb2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d1a1a1a","67001fb2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d1a1a1a").map(X),c1=pt(a1);var Lm=new Array(3).concat("fc8d59ffffbf91bfdb","d7191cfdae61abd9e92c7bb6","d7191cfdae61ffffbfabd9e92c7bb6","d73027fc8d59fee090e0f3f891bfdb4575b4","d73027fc8d59fee090ffffbfe0f3f891bfdb4575b4","d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4","d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4","a50026d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4313695","a50026d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4313695").map(X),bf=pt(Lm);var l1=new Array(3).concat("fc8d59ffffbf91cf60","d7191cfdae61a6d96a1a9641","d7191cfdae61ffffbfa6d96a1a9641","d73027fc8d59fee08bd9ef8b91cf601a9850","d73027fc8d59fee08bffffbfd9ef8b91cf601a9850","d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850","d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850","a50026d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850006837","a50026d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850006837").map(X),u1=pt(l1);var f1=new Array(3).concat("fc8d59ffffbf99d594","d7191cfdae61abdda42b83ba","d7191cfdae61ffffbfabdda42b83ba","d53e4ffc8d59fee08be6f59899d5943288bd","d53e4ffc8d59fee08bffffbfe6f59899d5943288bd","d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd","d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd","9e0142d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd5e4fa2","9e0142d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd5e4fa2").map(X),h1=pt(f1);var d1=new Array(3).concat("e5f5f999d8c92ca25f","edf8fbb2e2e266c2a4238b45","edf8fbb2e2e266c2a42ca25f006d2c","edf8fbccece699d8c966c2a42ca25f006d2c","edf8fbccece699d8c966c2a441ae76238b45005824","f7fcfde5f5f9ccece699d8c966c2a441ae76238b45005824","f7fcfde5f5f9ccece699d8c966c2a441ae76238b45006d2c00441b").map(X),p1=pt(d1);var m1=new Array(3).concat("e0ecf49ebcda8856a7","edf8fbb3cde38c96c688419d","edf8fbb3cde38c96c68856a7810f7c","edf8fbbfd3e69ebcda8c96c68856a7810f7c","edf8fbbfd3e69ebcda8c96c68c6bb188419d6e016b","f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d6e016b","f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d810f7c4d004b").map(X),y1=pt(m1);var g1=new Array(3).concat("e0f3dba8ddb543a2ca","f0f9e8bae4bc7bccc42b8cbe","f0f9e8bae4bc7bccc443a2ca0868ac","f0f9e8ccebc5a8ddb57bccc443a2ca0868ac","f0f9e8ccebc5a8ddb57bccc44eb3d32b8cbe08589e","f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe08589e","f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe0868ac084081").map(X),x1=pt(g1);var b1=new Array(3).concat("fee8c8fdbb84e34a33","fef0d9fdcc8afc8d59d7301f","fef0d9fdcc8afc8d59e34a33b30000","fef0d9fdd49efdbb84fc8d59e34a33b30000","fef0d9fdd49efdbb84fc8d59ef6548d7301f990000","fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301f990000","fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301fb300007f0000").map(X),w1=pt(b1);var v1=new Array(3).concat("ece2f0a6bddb1c9099","f6eff7bdc9e167a9cf02818a","f6eff7bdc9e167a9cf1c9099016c59","f6eff7d0d1e6a6bddb67a9cf1c9099016c59","f6eff7d0d1e6a6bddb67a9cf3690c002818a016450","fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016450","fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016c59014636").map(X),_1=pt(v1);var S1=new Array(3).concat("ece7f2a6bddb2b8cbe","f1eef6bdc9e174a9cf0570b0","f1eef6bdc9e174a9cf2b8cbe045a8d","f1eef6d0d1e6a6bddb74a9cf2b8cbe045a8d","f1eef6d0d1e6a6bddb74a9cf3690c00570b0034e7b","fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0034e7b","fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0045a8d023858").map(X),I1=pt(S1);var M1=new Array(3).concat("e7e1efc994c7dd1c77","f1eef6d7b5d8df65b0ce1256","f1eef6d7b5d8df65b0dd1c77980043","f1eef6d4b9dac994c7df65b0dd1c77980043","f1eef6d4b9dac994c7df65b0e7298ace125691003f","f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125691003f","f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125698004367001f").map(X),A1=pt(M1);var T1=new Array(3).concat("fde0ddfa9fb5c51b8a","feebe2fbb4b9f768a1ae017e","feebe2fbb4b9f768a1c51b8a7a0177","feebe2fcc5c0fa9fb5f768a1c51b8a7a0177","feebe2fcc5c0fa9fb5f768a1dd3497ae017e7a0177","fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a0177","fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a017749006a").map(X),E1=pt(T1);var D1=new Array(3).concat("edf8b17fcdbb2c7fb8","ffffcca1dab441b6c4225ea8","ffffcca1dab441b6c42c7fb8253494","ffffccc7e9b47fcdbb41b6c42c7fb8253494","ffffccc7e9b47fcdbb41b6c41d91c0225ea80c2c84","ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea80c2c84","ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea8253494081d58").map(X),N1=pt(D1);var O1=new Array(3).concat("f7fcb9addd8e31a354","ffffccc2e69978c679238443","ffffccc2e69978c67931a354006837","ffffccd9f0a3addd8e78c67931a354006837","ffffccd9f0a3addd8e78c67941ab5d238443005a32","ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443005a32","ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443006837004529").map(X),L1=pt(O1);var B1=new Array(3).concat("fff7bcfec44fd95f0e","ffffd4fed98efe9929cc4c02","ffffd4fed98efe9929d95f0e993404","ffffd4fee391fec44ffe9929d95f0e993404","ffffd4fee391fec44ffe9929ec7014cc4c028c2d04","ffffe5fff7bcfee391fec44ffe9929ec7014cc4c028c2d04","ffffe5fff7bcfee391fec44ffe9929ec7014cc4c02993404662506").map(X),C1=pt(B1);var k1=new Array(3).concat("ffeda0feb24cf03b20","ffffb2fecc5cfd8d3ce31a1c","ffffb2fecc5cfd8d3cf03b20bd0026","ffffb2fed976feb24cfd8d3cf03b20bd0026","ffffb2fed976feb24cfd8d3cfc4e2ae31a1cb10026","ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cb10026","ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cbd0026800026").map(X),R1=pt(k1);var F1=new Array(3).concat("deebf79ecae13182bd","eff3ffbdd7e76baed62171b5","eff3ffbdd7e76baed63182bd08519c","eff3ffc6dbef9ecae16baed63182bd08519c","eff3ffc6dbef9ecae16baed64292c62171b5084594","f7fbffdeebf7c6dbef9ecae16baed64292c62171b5084594","f7fbffdeebf7c6dbef9ecae16baed64292c62171b508519c08306b").map(X),$1=pt(F1);var P1=new Array(3).concat("e5f5e0a1d99b31a354","edf8e9bae4b374c476238b45","edf8e9bae4b374c47631a354006d2c","edf8e9c7e9c0a1d99b74c47631a354006d2c","edf8e9c7e9c0a1d99b74c47641ab5d238b45005a32","f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45005a32","f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45006d2c00441b").map(X),U1=pt(P1);var z1=new Array(3).concat("f0f0f0bdbdbd636363","f7f7f7cccccc969696525252","f7f7f7cccccc969696636363252525","f7f7f7d9d9d9bdbdbd969696636363252525","f7f7f7d9d9d9bdbdbd969696737373525252252525","fffffff0f0f0d9d9d9bdbdbd969696737373525252252525","fffffff0f0f0d9d9d9bdbdbd969696737373525252252525000000").map(X),q1=pt(z1);var j1=new Array(3).concat("efedf5bcbddc756bb1","f2f0f7cbc9e29e9ac86a51a3","f2f0f7cbc9e29e9ac8756bb154278f","f2f0f7dadaebbcbddc9e9ac8756bb154278f","f2f0f7dadaebbcbddc9e9ac8807dba6a51a34a1486","fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a34a1486","fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a354278f3f007d").map(X),V1=pt(j1);var Y1=new Array(3).concat("fee0d2fc9272de2d26","fee5d9fcae91fb6a4acb181d","fee5d9fcae91fb6a4ade2d26a50f15","fee5d9fcbba1fc9272fb6a4ade2d26a50f15","fee5d9fcbba1fc9272fb6a4aef3b2ccb181d99000d","fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181d99000d","fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181da50f1567000d").map(X),X1=pt(Y1);var G1=new Array(3).concat("fee6cefdae6be6550d","feeddefdbe85fd8d3cd94701","feeddefdbe85fd8d3ce6550da63603","feeddefdd0a2fdae6bfd8d3ce6550da63603","feeddefdd0a2fdae6bfd8d3cf16913d948018c2d04","fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d948018c2d04","fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d94801a636037f2704").map(X),W1=pt(G1);function H1(e){return e=Math.max(0,Math.min(1,e)),"rgb("+Math.max(0,Math.min(255,Math.round(-4.54-e*(35.34-e*(2381.73-e*(6402.7-e*(7024.72-e*2710.57)))))))+", "+Math.max(0,Math.min(255,Math.round(32.49+e*(170.73+e*(52.82-e*(131.46-e*(176.58-e*67.37)))))))+", "+Math.max(0,Math.min(255,Math.round(81.24+e*(442.36-e*(2482.43-e*(6167.24-e*(6614.94-e*2475.67)))))))+")"}var Z1=Xu(er(300,.5,0),er(-240,.5,1));var Q1=Xu(er(-100,.75,.35),er(80,1.5,.8)),K1=Xu(er(260,.75,.35),er(80,1.5,.8)),J1=er();function tw(e){(e<0||e>1)&&(e-=Math.floor(e));var t=Math.abs(e-.5);return J1.h=360*e-100,J1.s=1.5-1.5*t,J1.l=.8-.9*t,J1+""}var ew=sn(),RJ=Math.PI/3,FJ=Math.PI*2/3;function nw(e){var t;return e=(.5-e)*Math.PI,ew.r=255*(t=Math.sin(e))*t,ew.g=255*(t=Math.sin(e+RJ))*t,ew.b=255*(t=Math.sin(e+FJ))*t,ew+""}function rw(e){return e=Math.max(0,Math.min(1,e)),"rgb("+Math.max(0,Math.min(255,Math.round(34.61+e*(1172.33-e*(10793.56-e*(33300.12-e*(38394.49-e*14825.05)))))))+", "+Math.max(0,Math.min(255,Math.round(23.31+e*(557.33+e*(1225.33-e*(3574.96-e*(1073.77+e*707.56)))))))+", "+Math.max(0,Math.min(255,Math.round(27.2+e*(3211.1-e*(15327.97-e*(27814-e*(22569.18-e*6838.66)))))))+")"}function iw(e){var t=e.length;return function(n){return e[Math.max(0,Math.min(t-1,Math.floor(n*t)))]}}var ow=iw(X("44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725")),sw=iw(X("00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf")),aw=iw(X("00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4")),cw=iw(X("0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921"));function tn(e){return function(){return e}}var PA=Math.cos;var wf=Math.min,Bm=Math.sin,re=Math.sqrt,UA=1e-12,Ml=Math.PI,GNt=Ml/2,vf=2*Ml;function lw(e){let t=3;return e.digits=function(n){if(!arguments.length)return t;if(n==null)t=null;else{let r=Math.floor(n);if(!(r>=0))throw new RangeError(`invalid digits: ${n}`);t=r}return e},()=>new Ra(t)}var JNt=Array.prototype.slice;function uw(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function nF(e){this._context=e}nF.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._context.lineTo(e,t);break}}};function Ws(e){return new nF(e)}function fw(e){return e[0]}function hw(e){return e[1]}function Cm(e,t){var n=tn(!0),r=null,i=Ws,o=null,s=lw(a);e=typeof e=="function"?e:e===void 0?fw:tn(e),t=typeof t=="function"?t:t===void 0?hw:tn(t);function a(c){var l,u=(c=uw(c)).length,f,h=!1,d;for(r==null&&(o=i(d=s())),l=0;l<=u;++l)!(l<u&&n(f=c[l],l,c))===h&&((h=!h)?o.lineStart():o.lineEnd()),h&&o.point(+e(f,l,c),+t(f,l,c));if(d)return o=null,d+""||null}return a.x=function(c){return arguments.length?(e=typeof c=="function"?c:tn(+c),a):e},a.y=function(c){return arguments.length?(t=typeof c=="function"?c:tn(+c),a):t},a.defined=function(c){return arguments.length?(n=typeof c=="function"?c:tn(!!c),a):n},a.curve=function(c){return arguments.length?(i=c,r!=null&&(o=i(r)),a):i},a.context=function(c){return arguments.length?(c==null?r=o=null:o=i(r=c),a):r},a}function _f(e,t,n){var r=null,i=tn(!0),o=null,s=Ws,a=null,c=lw(l);e=typeof e=="function"?e:e===void 0?fw:tn(+e),t=typeof t=="function"?t:t===void 0?tn(0):tn(+t),n=typeof n=="function"?n:n===void 0?hw:tn(+n);function l(f){var h,d,p,m=(f=uw(f)).length,y,g=!1,x,b=new Array(m),w=new Array(m);for(o==null&&(a=s(x=c())),h=0;h<=m;++h){if(!(h<m&&i(y=f[h],h,f))===g)if(g=!g)d=h,a.areaStart(),a.lineStart();else{for(a.lineEnd(),a.lineStart(),p=h-1;p>=d;--p)a.point(b[p],w[p]);a.lineEnd(),a.areaEnd()}g&&(b[h]=+e(y,h,f),w[h]=+t(y,h,f),a.point(r?+r(y,h,f):b[h],n?+n(y,h,f):w[h]))}if(x)return a=null,x+""||null}function u(){return Cm().defined(i).curve(s).context(o)}return l.x=function(f){return arguments.length?(e=typeof f=="function"?f:tn(+f),r=null,l):e},l.x0=function(f){return arguments.length?(e=typeof f=="function"?f:tn(+f),l):e},l.x1=function(f){return arguments.length?(r=f==null?null:typeof f=="function"?f:tn(+f),l):r},l.y=function(f){return arguments.length?(t=typeof f=="function"?f:tn(+f),n=null,l):t},l.y0=function(f){return arguments.length?(t=typeof f=="function"?f:tn(+f),l):t},l.y1=function(f){return arguments.length?(n=f==null?null:typeof f=="function"?f:tn(+f),l):n},l.lineX0=l.lineY0=function(){return u().x(e).y(t)},l.lineY1=function(){return u().x(e).y(n)},l.lineX1=function(){return u().x(r).y(t)},l.defined=function(f){return arguments.length?(i=typeof f=="function"?f:tn(!!f),l):i},l.curve=function(f){return arguments.length?(s=f,o!=null&&(a=s(o)),l):s},l.context=function(f){return arguments.length?(f==null?o=a=null:a=s(o=f),l):o},l}var dw=class{constructor(t,n){this._context=t,this._x=n}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(t,n){switch(t=+t,n=+n,this._point){case 0:{this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+t)/2,this._y0,this._x0,n,t,n):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+n)/2,t,this._y0,t,n);break}}this._x0=t,this._y0=n}};function zA(e){return new dw(e,!0)}function qA(e){return new dw(e,!1)}var $J=re(3),km={draw(e,t){let n=re(t+wf(t/28,.75))*.59436,r=n/2,i=r*$J;e.moveTo(0,n),e.lineTo(0,-n),e.moveTo(-i,-r),e.lineTo(i,r),e.moveTo(-i,r),e.lineTo(i,-r)}};var Hs={draw(e,t){let n=re(t/Ml);e.moveTo(n,0),e.arc(0,0,n,0,vf)}};var Rm={draw(e,t){let n=re(t/5)/2;e.moveTo(-3*n,-n),e.lineTo(-n,-n),e.lineTo(-n,-3*n),e.lineTo(n,-3*n),e.lineTo(n,-n),e.lineTo(3*n,-n),e.lineTo(3*n,n),e.lineTo(n,n),e.lineTo(n,3*n),e.lineTo(-n,3*n),e.lineTo(-n,n),e.lineTo(-3*n,n),e.closePath()}};var rF=re(1/3),PJ=rF*2,Fm={draw(e,t){let n=re(t/PJ),r=n*rF;e.moveTo(0,-n),e.lineTo(r,0),e.lineTo(0,n),e.lineTo(-r,0),e.closePath()}};var $m={draw(e,t){let n=re(t)*.62625;e.moveTo(0,-n),e.lineTo(n,0),e.lineTo(0,n),e.lineTo(-n,0),e.closePath()}};var Pm={draw(e,t){let n=re(t-wf(t/7,2))*.87559;e.moveTo(-n,0),e.lineTo(n,0),e.moveTo(0,n),e.lineTo(0,-n)}};var Um={draw(e,t){let n=re(t),r=-n/2;e.rect(r,r,n,n)}};var zm={draw(e,t){let n=re(t)*.4431;e.moveTo(n,n),e.lineTo(n,-n),e.lineTo(-n,-n),e.lineTo(-n,n),e.closePath()}};var UJ=.8908130915292852,iF=Bm(Ml/10)/Bm(7*Ml/10),zJ=Bm(vf/10)*iF,qJ=-PA(vf/10)*iF,qm={draw(e,t){let n=re(t*UJ),r=zJ*n,i=qJ*n;e.moveTo(0,-n),e.lineTo(r,i);for(let o=1;o<5;++o){let s=vf*o/5,a=PA(s),c=Bm(s);e.lineTo(c*n,-a*n),e.lineTo(a*r-c*i,c*r+a*i)}e.closePath()}};var jA=re(3),jm={draw(e,t){let n=-re(t/(jA*3));e.moveTo(0,n*2),e.lineTo(-jA*n,-n),e.lineTo(jA*n,-n),e.closePath()}};var jJ=re(3),Vm={draw(e,t){let n=re(t)*.6824,r=n/2,i=n*jJ/2;e.moveTo(0,-n),e.lineTo(i,r),e.lineTo(-i,r),e.closePath()}};var gi=-.5,xi=re(3)/2,VA=1/re(12),VJ=(VA/2+1)*3,Ym={draw(e,t){let n=re(t/VJ),r=n/2,i=n*VA,o=r,s=n*VA+n,a=-o,c=s;e.moveTo(r,i),e.lineTo(o,s),e.lineTo(a,c),e.lineTo(gi*r-xi*i,xi*r+gi*i),e.lineTo(gi*o-xi*s,xi*o+gi*s),e.lineTo(gi*a-xi*c,xi*a+gi*c),e.lineTo(gi*r+xi*i,gi*i-xi*r),e.lineTo(gi*o+xi*s,gi*s-xi*o),e.lineTo(gi*a+xi*c,gi*c-xi*a),e.closePath()}};var Sf={draw(e,t){let n=re(t-wf(t/6,1.7))*.6189;e.moveTo(-n,-n),e.lineTo(n,n),e.moveTo(-n,n),e.lineTo(n,-n)}};var pw=[Hs,Rm,Fm,Um,qm,jm,Ym],YA=[Hs,Pm,Sf,Vm,km,zm,$m];function bi(){}function If(e,t,n){e._context.bezierCurveTo((2*e._x0+e._x1)/3,(2*e._y0+e._y1)/3,(e._x0+2*e._x1)/3,(e._y0+2*e._y1)/3,(e._x0+4*e._x1+t)/6,(e._y0+4*e._y1+n)/6)}function Xm(e){this._context=e}Xm.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:If(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:If(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function XA(e){return new Xm(e)}function oF(e){this._context=e}oF.prototype={areaStart:bi,areaEnd:bi,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x2=e,this._y2=t;break;case 1:this._point=2,this._x3=e,this._y3=t;break;case 2:this._point=3,this._x4=e,this._y4=t,this._context.moveTo((this._x0+4*this._x1+e)/6,(this._y0+4*this._y1+t)/6);break;default:If(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function GA(e){return new oF(e)}function sF(e){this._context=e}sF.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var n=(this._x0+4*this._x1+e)/6,r=(this._y0+4*this._y1+t)/6;this._line?this._context.lineTo(n,r):this._context.moveTo(n,r);break;case 3:this._point=4;default:If(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function WA(e){return new sF(e)}function aF(e,t){this._basis=new Xm(e),this._beta=t}aF.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var e=this._x,t=this._y,n=e.length-1;if(n>0)for(var r=e[0],i=t[0],o=e[n]-r,s=t[n]-i,a=-1,c;++a<=n;)c=a/n,this._basis.point(this._beta*e[a]+(1-this._beta)*(r+c*o),this._beta*t[a]+(1-this._beta)*(i+c*s));this._x=this._y=null,this._basis.lineEnd()},point:function(e,t){this._x.push(+e),this._y.push(+t)}};var HA=function e(t){function n(r){return t===1?new Xm(r):new aF(r,t)}return n.beta=function(r){return e(+r)},n}(.85);function Mf(e,t,n){e._context.bezierCurveTo(e._x1+e._k*(e._x2-e._x0),e._y1+e._k*(e._y2-e._y0),e._x2+e._k*(e._x1-t),e._y2+e._k*(e._y1-n),e._x2,e._y2)}function mw(e,t){this._context=e,this._k=(1-t)/6}mw.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:Mf(this,this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2,this._x1=e,this._y1=t;break;case 2:this._point=3;default:Mf(this,e,t);break}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};var ZA=function e(t){function n(r){return new mw(r,t)}return n.tension=function(r){return e(+r)},n}(0);function yw(e,t){this._context=e,this._k=(1-t)/6}yw.prototype={areaStart:bi,areaEnd:bi,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x3=e,this._y3=t;break;case 1:this._point=2,this._context.moveTo(this._x4=e,this._y4=t);break;case 2:this._point=3,this._x5=e,this._y5=t;break;default:Mf(this,e,t);break}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};var JA=function e(t){function n(r){return new yw(r,t)}return n.tension=function(r){return e(+r)},n}(0);function gw(e,t){this._context=e,this._k=(1-t)/6}gw.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:Mf(this,e,t);break}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};var QA=function e(t){function n(r){return new gw(r,t)}return n.tension=function(r){return e(+r)},n}(0);function Gm(e,t,n){var r=e._x1,i=e._y1,o=e._x2,s=e._y2;if(e._l01_a>UA){var a=2*e._l01_2a+3*e._l01_a*e._l12_a+e._l12_2a,c=3*e._l01_a*(e._l01_a+e._l12_a);r=(r*a-e._x0*e._l12_2a+e._x2*e._l01_2a)/c,i=(i*a-e._y0*e._l12_2a+e._y2*e._l01_2a)/c}if(e._l23_a>UA){var l=2*e._l23_2a+3*e._l23_a*e._l12_a+e._l12_2a,u=3*e._l23_a*(e._l23_a+e._l12_a);o=(o*l+e._x1*e._l23_2a-t*e._l12_2a)/u,s=(s*l+e._y1*e._l23_2a-n*e._l12_2a)/u}e._context.bezierCurveTo(r,i,o,s,e._x2,e._y2)}function cF(e,t){this._context=e,this._alpha=t}cF.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){if(e=+e,t=+t,this._point){var n=this._x2-e,r=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3;default:Gm(this,e,t);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};var KA=function e(t){function n(r){return t?new cF(r,t):new mw(r,0)}return n.alpha=function(r){return e(+r)},n}(.5);function lF(e,t){this._context=e,this._alpha=t}lF.prototype={areaStart:bi,areaEnd:bi,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(e,t){if(e=+e,t=+t,this._point){var n=this._x2-e,r=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=e,this._y3=t;break;case 1:this._point=2,this._context.moveTo(this._x4=e,this._y4=t);break;case 2:this._point=3,this._x5=e,this._y5=t;break;default:Gm(this,e,t);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};var t3=function e(t){function n(r){return t?new lF(r,t):new yw(r,0)}return n.alpha=function(r){return e(+r)},n}(.5);function uF(e,t){this._context=e,this._alpha=t}uF.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){if(e=+e,t=+t,this._point){var n=this._x2-e,r=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:Gm(this,e,t);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};var e3=function e(t){function n(r){return t?new uF(r,t):new gw(r,0)}return n.alpha=function(r){return e(+r)},n}(.5);function fF(e){this._context=e}fF.prototype={areaStart:bi,areaEnd:bi,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(e,t){e=+e,t=+t,this._point?this._context.lineTo(e,t):(this._point=1,this._context.moveTo(e,t))}};function n3(e){return new fF(e)}function hF(e){return e<0?-1:1}function dF(e,t,n){var r=e._x1-e._x0,i=t-e._x1,o=(e._y1-e._y0)/(r||i<0&&-0),s=(n-e._y1)/(i||r<0&&-0),a=(o*i+s*r)/(r+i);return(hF(o)+hF(s))*Math.min(Math.abs(o),Math.abs(s),.5*Math.abs(a))||0}function pF(e,t){var n=e._x1-e._x0;return n?(3*(e._y1-e._y0)/n-t)/2:t}function r3(e,t,n){var r=e._x0,i=e._y0,o=e._x1,s=e._y1,a=(o-r)/3;e._context.bezierCurveTo(r+a,i+a*t,o-a,s-a*n,o,s)}function xw(e){this._context=e}xw.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:r3(this,this._t0,pF(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){var n=NaN;if(e=+e,t=+t,!(e===this._x1&&t===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,r3(this,pF(this,n=dF(this,e,t)),n);break;default:r3(this,this._t0,n=dF(this,e,t));break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=n}}};function mF(e){this._context=new yF(e)}(mF.prototype=Object.create(xw.prototype)).point=function(e,t){xw.prototype.point.call(this,t,e)};function yF(e){this._context=e}yF.prototype={moveTo:function(e,t){this._context.moveTo(t,e)},closePath:function(){this._context.closePath()},lineTo:function(e,t){this._context.lineTo(t,e)},bezierCurveTo:function(e,t,n,r,i,o){this._context.bezierCurveTo(t,e,r,n,o,i)}};function i3(e){return new xw(e)}function o3(e){return new mF(e)}function xF(e){this._context=e}xF.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var e=this._x,t=this._y,n=e.length;if(n)if(this._line?this._context.lineTo(e[0],t[0]):this._context.moveTo(e[0],t[0]),n===2)this._context.lineTo(e[1],t[1]);else for(var r=gF(e),i=gF(t),o=0,s=1;s<n;++o,++s)this._context.bezierCurveTo(r[0][o],i[0][o],r[1][o],i[1][o],e[s],t[s]);(this._line||this._line!==0&&n===1)&&this._context.closePath(),this._line=1-this._line,this._x=this._y=null},point:function(e,t){this._x.push(+e),this._y.push(+t)}};function gF(e){var t,n=e.length-1,r,i=new Array(n),o=new Array(n),s=new Array(n);for(i[0]=0,o[0]=2,s[0]=e[0]+2*e[1],t=1;t<n-1;++t)i[t]=1,o[t]=4,s[t]=4*e[t]+2*e[t+1];for(i[n-1]=2,o[n-1]=7,s[n-1]=8*e[n-1]+e[n],t=1;t<n;++t)r=i[t]/o[t-1],o[t]-=r,s[t]-=r*s[t-1];for(i[n-1]=s[n-1]/o[n-1],t=n-2;t>=0;--t)i[t]=(s[t]-i[t+1])/o[t];for(o[n-1]=(e[n]+i[n-1])/2,t=0;t<n-1;++t)o[t]=2*e[t+1]-i[t+1];return[i,o]}function s3(e){return new xF(e)}function bw(e,t){this._context=e,this._t=t}bw.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0<this._t&&this._t<1&&this._point===2&&this._context.lineTo(this._x,this._y),(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line>=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,t),this._context.lineTo(e,t);else{var n=this._x*(1-this._t)+e*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,t)}break}}this._x=e,this._y=t}};function a3(e){return new bw(e,.5)}function c3(e){return new bw(e,0)}function l3(e){return new bw(e,1)}var Wm=e=>()=>e;function u3(e,{sourceEvent:t,target:n,transform:r,dispatch:i}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:r,enumerable:!0,configurable:!0},_:{value:i}})}function jr(e,t,n){this.k=e,this.x=t,this.y=n}jr.prototype={constructor:jr,scale:function(e){return e===1?this:new jr(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new jr(this.k,this.x+this.k*e,this.y+this.k*t)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var Hm=new jr(1,0,0);f3.prototype=jr.prototype;function f3(e){for(;!e.__zoom;)if(!(e=e.parentNode))return Hm;return e.__zoom}function ww(e){e.stopImmediatePropagation()}function Af(e){e.preventDefault(),e.stopImmediatePropagation()}function YJ(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function XJ(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function bF(){return this.__zoom||Hm}function GJ(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function WJ(){return navigator.maxTouchPoints||"ontouchstart"in this}function HJ(e,t,n){var r=e.invertX(t[0][0])-n[0][0],i=e.invertX(t[1][0])-n[1][0],o=e.invertY(t[0][1])-n[0][1],s=e.invertY(t[1][1])-n[1][1];return e.translate(i>r?(r+i)/2:Math.min(0,r)||Math.max(0,i),s>o?(o+s)/2:Math.min(0,o)||Math.max(0,s))}function h3(){var e=YJ,t=XJ,n=HJ,r=GJ,i=WJ,o=[0,1/0],s=[[-1/0,-1/0],[1/0,1/0]],a=250,c=PI,l=Kc("start","zoom","end"),u,f,h,d=500,p=150,m=0,y=10;function g(S){S.property("__zoom",bF).on("wheel.zoom",E,{passive:!1}).on("mousedown.zoom",M).on("dblclick.zoom",N).filter(i).on("touchstart.zoom",A).on("touchmove.zoom",O).on("touchend.zoom touchcancel.zoom",C).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}g.transform=function(S,T,D,R){var F=S.selection?S.selection():S;F.property("__zoom",bF),S!==F?_(S,T,D,R):F.interrupt().each(function(){v(this,arguments).event(R).start().zoom(null,typeof T=="function"?T.apply(this,arguments):T).end()})},g.scaleBy=function(S,T,D,R){g.scaleTo(S,function(){var F=this.__zoom.k,k=typeof T=="function"?T.apply(this,arguments):T;return F*k},D,R)},g.scaleTo=function(S,T,D,R){g.transform(S,function(){var F=t.apply(this,arguments),k=this.__zoom,$=D==null?w(F):typeof D=="function"?D.apply(this,arguments):D,P=k.invert($),U=typeof T=="function"?T.apply(this,arguments):T;return n(b(x(k,U),$,P),F,s)},D,R)},g.translateBy=function(S,T,D,R){g.transform(S,function(){return n(this.__zoom.translate(typeof T=="function"?T.apply(this,arguments):T,typeof D=="function"?D.apply(this,arguments):D),t.apply(this,arguments),s)},null,R)},g.translateTo=function(S,T,D,R,F){g.transform(S,function(){var k=t.apply(this,arguments),$=this.__zoom,P=R==null?w(k):typeof R=="function"?R.apply(this,arguments):R;return n(Hm.translate(P[0],P[1]).scale($.k).translate(typeof T=="function"?-T.apply(this,arguments):-T,typeof D=="function"?-D.apply(this,arguments):-D),k,s)},R,F)};function x(S,T){return T=Math.max(o[0],Math.min(o[1],T)),T===S.k?S:new jr(T,S.x,S.y)}function b(S,T,D){var R=T[0]-D[0]*S.k,F=T[1]-D[1]*S.k;return R===S.x&&F===S.y?S:new jr(S.k,R,F)}function w(S){return[(+S[0][0]+ +S[1][0])/2,(+S[0][1]+ +S[1][1])/2]}function _(S,T,D,R){S.on("start.zoom",function(){v(this,arguments).event(R).start()}).on("interrupt.zoom end.zoom",function(){v(this,arguments).event(R).end()}).tween("zoom",function(){var F=this,k=arguments,$=v(F,k).event(R),P=t.apply(F,k),U=D==null?w(P):typeof D=="function"?D.apply(F,k):D,W=Math.max(P[1][0]-P[0][0],P[1][1]-P[0][1]),nt=F.__zoom,ot=typeof T=="function"?T.apply(F,k):T,at=c(nt.invert(U).concat(W/nt.k),ot.invert(U).concat(W/ot.k));return function(Y){if(Y===1)Y=ot;else{var st=at(Y),q=W/st[2];Y=new jr(q,U[0]-st[0]*q,U[1]-st[1]*q)}$.zoom(null,Y)}})}function v(S,T,D){return!D&&S.__zooming||new I(S,T)}function I(S,T){this.that=S,this.args=T,this.active=0,this.sourceEvent=null,this.extent=t.apply(S,T),this.taps=0}I.prototype={event:function(S){return S&&(this.sourceEvent=S),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(S,T){return this.mouse&&S!=="mouse"&&(this.mouse[1]=T.invert(this.mouse[0])),this.touch0&&S!=="touch"&&(this.touch0[1]=T.invert(this.touch0[0])),this.touch1&&S!=="touch"&&(this.touch1[1]=T.invert(this.touch1[0])),this.that.__zoom=T,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(S){var T=Yt(this.that).datum();l.call(S,this.that,new u3(S,{sourceEvent:this.sourceEvent,target:g,type:S,transform:this.that.__zoom,dispatch:l}),T)}};function E(S,...T){if(!e.apply(this,arguments))return;var D=v(this,T).event(S),R=this.__zoom,F=Math.max(o[0],Math.min(o[1],R.k*Math.pow(2,r.apply(this,arguments)))),k=Fn(S);if(D.wheel)(D.mouse[0][0]!==k[0]||D.mouse[0][1]!==k[1])&&(D.mouse[1]=R.invert(D.mouse[0]=k)),clearTimeout(D.wheel);else{if(R.k===F)return;D.mouse=[k,R.invert(k)],Do(this),D.start()}Af(S),D.wheel=setTimeout($,p),D.zoom("mouse",n(b(x(R,F),D.mouse[0],D.mouse[1]),D.extent,s));function $(){D.wheel=null,D.end()}}function M(S,...T){if(h||!e.apply(this,arguments))return;var D=S.currentTarget,R=v(this,T,!0).event(S),F=Yt(S.view).on("mousemove.zoom",U,!0).on("mouseup.zoom",W,!0),k=Fn(S,D),$=S.clientX,P=S.clientY;Mp(S.view),ww(S),R.mouse=[k,this.__zoom.invert(k)],Do(this),R.start();function U(nt){if(Af(nt),!R.moved){var ot=nt.clientX-$,at=nt.clientY-P;R.moved=ot*ot+at*at>m}R.event(nt).zoom("mouse",n(b(R.that.__zoom,R.mouse[0]=Fn(nt,D),R.mouse[1]),R.extent,s))}function W(nt){F.on("mousemove.zoom mouseup.zoom",null),Ap(nt.view,R.moved),Af(nt),R.event(nt).end()}}function N(S,...T){if(e.apply(this,arguments)){var D=this.__zoom,R=Fn(S.changedTouches?S.changedTouches[0]:S,this),F=D.invert(R),k=D.k*(S.shiftKey?.5:2),$=n(b(x(D,k),R,F),t.apply(this,T),s);Af(S),a>0?Yt(this).transition().duration(a).call(_,$,R,S):Yt(this).call(g.transform,$,R,S)}}function A(S,...T){if(e.apply(this,arguments)){var D=S.touches,R=D.length,F=v(this,T,S.changedTouches.length===R).event(S),k,$,P,U;for(ww(S),$=0;$<R;++$)P=D[$],U=Fn(P,this),U=[U,this.__zoom.invert(U),P.identifier],F.touch0?!F.touch1&&F.touch0[2]!==U[2]&&(F.touch1=U,F.taps=0):(F.touch0=U,k=!0,F.taps=1+!!u);u&&(u=clearTimeout(u)),k&&(F.taps<2&&(f=U[0],u=setTimeout(function(){u=null},d)),Do(this),F.start())}}function O(S,...T){if(this.__zooming){var D=v(this,T).event(S),R=S.changedTouches,F=R.length,k,$,P,U;for(Af(S),k=0;k<F;++k)$=R[k],P=Fn($,this),D.touch0&&D.touch0[2]===$.identifier?D.touch0[0]=P:D.touch1&&D.touch1[2]===$.identifier&&(D.touch1[0]=P);if($=D.that.__zoom,D.touch1){var W=D.touch0[0],nt=D.touch0[1],ot=D.touch1[0],at=D.touch1[1],Y=(Y=ot[0]-W[0])*Y+(Y=ot[1]-W[1])*Y,st=(st=at[0]-nt[0])*st+(st=at[1]-nt[1])*st;$=x($,Math.sqrt(Y/st)),P=[(W[0]+ot[0])/2,(W[1]+ot[1])/2],U=[(nt[0]+at[0])/2,(nt[1]+at[1])/2]}else if(D.touch0)P=D.touch0[0],U=D.touch0[1];else return;D.zoom("touch",n(b($,P,U),D.extent,s))}}function C(S,...T){if(this.__zooming){var D=v(this,T).event(S),R=S.changedTouches,F=R.length,k,$;for(ww(S),h&&clearTimeout(h),h=setTimeout(function(){h=null},d),k=0;k<F;++k)$=R[k],D.touch0&&D.touch0[2]===$.identifier?delete D.touch0:D.touch1&&D.touch1[2]===$.identifier&&delete D.touch1;if(D.touch1&&!D.touch0&&(D.touch0=D.touch1,delete D.touch1),D.touch0)D.touch0[1]=this.__zoom.invert(D.touch0[0]);else if(D.end(),D.taps===2&&($=Fn($,this),Math.hypot(f[0]-$[0],f[1]-$[1])<y)){var P=Yt(this).on("dblclick.zoom");P&&P.apply(this,arguments)}}}return g.wheelDelta=function(S){return arguments.length?(r=typeof S=="function"?S:Wm(+S),g):r},g.filter=function(S){return arguments.length?(e=typeof S=="function"?S:Wm(!!S),g):e},g.touchable=function(S){return arguments.length?(i=typeof S=="function"?S:Wm(!!S),g):i},g.extent=function(S){return arguments.length?(t=typeof S=="function"?S:Wm([[+S[0][0],+S[0][1]],[+S[1][0],+S[1][1]]]),g):t},g.scaleExtent=function(S){return arguments.length?(o[0]=+S[0],o[1]=+S[1],g):[o[0],o[1]]},g.translateExtent=function(S){return arguments.length?(s[0][0]=+S[0][0],s[1][0]=+S[1][0],s[0][1]=+S[0][1],s[1][1]=+S[1][1],g):[[s[0][0],s[0][1]],[s[1][0],s[1][1]]]},g.constrain=function(S){return arguments.length?(n=S,g):n},g.duration=function(S){return arguments.length?(a=+S,g):a},g.interpolate=function(S){return arguments.length?(c=S,g):c},g.on=function(){var S=l.on.apply(l,arguments);return S===l?g:S},g.clickDistance=function(S){return arguments.length?(m=(S=+S)*S,g):Math.sqrt(m)},g.tapDistance=function(S){return arguments.length?(y=+S,g):y},g}function ze(e){return e!=null&&!Number.isNaN(e)}function mn(e,t){return+ze(t)-+ze(e)||Ot(e,t)}function Al(e,t){return+ze(t)-+ze(e)||Jn(e,t)}function Zm(e){return e!=null&&`${e}`!=""}function Tf(e){return isFinite(e)?e:NaN}function cr(e){return e>0&&isFinite(e)?e:NaN}function Ya(e){return e<0&&isFinite(e)?e:NaN}function Ef(e,t){if(e instanceof Date||(e=new Date(+e)),isNaN(e))return typeof t=="function"?t(e):t;let n=e.getUTCHours(),r=e.getUTCMinutes(),i=e.getUTCSeconds(),o=e.getUTCMilliseconds();return`${ZJ(e.getUTCFullYear(),4)}-${Zs(e.getUTCMonth()+1,2)}-${Zs(e.getUTCDate(),2)}${n||r||i||o?`T${Zs(n,2)}:${Zs(r,2)}${i||o?`:${Zs(i,2)}${o?`.${Zs(o,3)}`:""}`:""}Z`:""}`}function ZJ(e){return e<0?`-${Zs(-e,6)}`:e>9999?`+${Zs(e,6)}`:Zs(e,4)}function Zs(e,t){return`${e}`.padStart(t,"0")}var JJ=/^(?:[-+]\d{2})?\d{4}(?:-\d{2}(?:-\d{2})?)?(?:T\d{2}:\d{2}(?::\d{2}(?:\.\d{3})?)?(?:Z|[-+]\d{2}:?\d{2})?)?$/;function Jm(e,t){return JJ.test(e+="")?new Date(e):typeof t=="function"?t(e):t}function Js(e){if(e==null)return;let t=e[0],n=e[e.length-1];return Jn(t,n)}var Nf=1e3,Ga=Nf*60,Wa=Ga*60,jo=Wa*24,qo=jo*7,Tl=jo*30,Xa=jo*365,d3=[["millisecond",1],["2 milliseconds",2],["5 milliseconds",5],["10 milliseconds",10],["20 milliseconds",20],["50 milliseconds",50],["100 milliseconds",100],["200 milliseconds",200],["500 milliseconds",500],["second",Nf],["5 seconds",5*Nf],["15 seconds",15*Nf],["30 seconds",30*Nf],["minute",Ga],["5 minutes",5*Ga],["15 minutes",15*Ga],["30 minutes",30*Ga],["hour",Wa],["3 hours",3*Wa],["6 hours",6*Wa],["12 hours",12*Wa],["day",jo],["2 days",2*jo],["week",qo],["2 weeks",2*qo],["month",Tl],["3 months",3*Tl],["6 months",6*Tl],["year",Xa],["2 years",2*Xa],["5 years",5*Xa],["10 years",10*Xa],["20 years",20*Xa],["50 years",50*Xa],["100 years",100*Xa]],p3=new Map([["second",Nf],["minute",Ga],["hour",Wa],["day",jo],["monday",qo],["tuesday",qo],["wednesday",qo],["thursday",qo],["friday",qo],["saturday",qo],["sunday",qo],["week",qo],["month",Tl],["year",Xa]]),vF=new Map([["second",dn],["minute",qs],["hour",Vs],["day",yi],["monday",ja],["tuesday",$b],["wednesday",Pb],["thursday",Po],["friday",Ub],["saturday",zb],["sunday",zr],["week",zr],["month",Xs],["year",qn]]),m3=new Map([["second",dn],["minute",js],["hour",Ys],["day",_l],["monday",Va],["tuesday",qb],["wednesday",jb],["thursday",Uo],["friday",Vb],["saturday",Yb],["sunday",qr],["week",qr],["month",Gs],["year",jn]]),Of=Symbol("intervalDuration"),_w=Symbol("intervalType");for(let[e,t]of vF)t[Of]=p3.get(e),t[_w]="time";for(let[e,t]of m3)t[Of]=p3.get(e),t[_w]="utc";var Qm=[["year",jn,"utc"],["month",Gs,"utc"],["day",_l,"utc",6*Tl],["hour",Ys,"utc",3*jo],["minute",js,"utc",6*Wa],["second",dn,"utc",30*Ga]],vw=[["year",qn,"time"],["month",Xs,"time"],["day",yi,"time",6*Tl],["hour",Vs,"time",3*jo],["minute",qs,"time",6*Wa],["second",dn,"time",30*Ga]],QJ=[Qm[0],vw[0],Qm[1],vw[1],Qm[2],vw[2],...Qm.slice(3)];function Sw(e){let t=`${e}`.toLowerCase();t.endsWith("s")&&(t=t.slice(0,-1));let n=1,r=/^(?:(\d+)\s+)/.exec(t);switch(r&&(t=t.slice(r[0].length),n=+r[1]),t){case"quarter":t="month",n*=3;break;case"half":t="month",n*=6;break}let i=m3.get(t);if(!i)throw new Error(`unknown interval: ${e}`);if(n>1&&!i.every)throw new Error(`non-periodic interval: ${t}`);return[t,n]}function y3(e){return _F(Sw(e),"time")}function Km(e){return _F(Sw(e),"utc")}function _F([e,t],n){let r=(n==="time"?vF:m3).get(e);return t>1&&(r=r.every(t),r[Of]=p3.get(e)*t,r[_w]=n),r}function g3(e,t){if(!(t>1))return;let n=e[Of];if(!d3.some(([,i])=>i===n)||n%jo===0&&jo<n&&n<Tl)return;let[r]=d3[Ts(([,i])=>Math.log(i)).center(d3,Math.log(n*t))];return(e[_w]==="time"?y3:Km)(r)}function wF(e,t,n){let r=t==="time"?gf:zo;if(n==null)return r(e==="year"?"%Y":e==="month"?"%Y-%m":e==="day"?"%Y-%m-%d":e==="hour"||e==="minute"?"%Y-%m-%dT%H:%M":e==="second"?"%Y-%m-%dT%H:%M:%S":"%Y-%m-%dT%H:%M:%S.%L");let i=KJ(n);switch(e){case"millisecond":return Df(r(".%L"),r(":%M:%S"),i);case"second":return Df(r(":%S"),r("%-I:%M"),i);case"minute":return Df(r("%-I:%M"),r("%p"),i);case"hour":return Df(r("%-I %p"),r("%b %-d"),i);case"day":return Df(r("%-d"),r("%b"),i);case"month":return Df(r("%b"),r("%Y"),i);case"year":return r("%Y")}throw new Error("unable to format time ticks")}function KJ(e){return e==="left"||e==="right"?(t,n)=>`
|
|
12
12
|
${t}
|
|
13
13
|
${n}`:e==="top"?(t,n)=>`${n}
|
|
14
14
|
${t}`:(t,n)=>`${t}
|
|
15
|
-
${n}`}function GZ(e){return e==="time"?iw:e==="utc"?Lm:YZ}function RF(e,t,n){let r=Ht(tx(t,(i,o)=>Math.abs(o-i)));if(r<1e3)return CF("millisecond","utc",n);for(let[i,o,s,a]of GZ(e)){if(r>a||i==="hour"&&!r)break;if(t.every(c=>o.floor(c)>=c))return CF(i,s,n)}}function vf(e,t,n){return(r,i,o)=>{let s=e(r,i),a=t(r,i),c=i-Zs(o);return i!==c&&o[c]!==void 0&&a===t(o[c],c)?s:n(s,a)}}var vl=Object.getPrototypeOf(Uint8Array),WZ=Object.prototype.toString,VA=Symbol("reindex");function wt(e,t,n){let r=typeof t;return r==="string"?$F(e,YA(t),n):r==="function"?$F(e,t,n):r==="number"||t instanceof Date||r==="boolean"?Gt(e,hn(t),n):typeof t?.transform=="function"?PF(t.transform(e),n):HZ(PF(t,n),e?.[VA])}function HZ(e,t){return t?Fm(e,t):e}function $F(e,t,n){return Gt(e,n?.prototype instanceof vl?ZZ(t):t,n)}function PF(e,t){return t===void 0?je(e):e instanceof t?e:t.prototype instanceof vl&&!(e instanceof vl)?t.from(e,XA):t.from(e)}function ZZ(e){return(t,n)=>XA(e(t,n))}var Wa=[null],YA=e=>t=>t[e],Ee={transform:ar},G={transform:e=>e};var km=()=>1,UF=()=>!0,qe=e=>e==null?e:`${e}`,Bt=e=>e==null?e:+e;var _l=e=>e?e[0]:void 0,Ha=e=>e?e[1]:void 0,zF=e=>e?e[2]:void 0,hn=e=>()=>e;function If(e){let t=+`${e}`.slice(1)/100;return(n,r)=>Qn(n,t,r)}function Ke(e){return e instanceof vl?e:Gt(e,XA,Float64Array)}function XA(e){return e==null?NaN:Number(e)}function qF(e){return Gt(e,GA)}function GA(e){return e instanceof Date&&!isNaN(e)?e:typeof e=="string"?bl(e):e==null||isNaN(e=+e)?void 0:new Date(e)}function Be(e,t){return e===void 0&&(e=t),e===null?[void 0,"none"]:Qa(e)?[void 0,e]:[e,void 0]}function se(e,t){return e===void 0&&(e=t),e===null||typeof e=="number"?[void 0,e]:[e,void 0]}function WA(e,t,n){if(e!=null)return sn(e,t,n)}function sn(e,t,n){let r=`${e}`.toLowerCase();if(!n.includes(r))throw new Error(`invalid ${t}: ${e}`);return r}function je(e){return e==null||e instanceof Array||e instanceof vl?e:Array.from(e)}function Gt(e,t,n=Array){return e==null?e:e instanceof n?e.map(t):n.from(e,t)}function Za(e,t=Array){return e instanceof t?e.slice():t.from(e)}function HA({x:e,x1:t,x2:n}){return e!==void 0||t!==void 0||n!==void 0}function ZA({y:e,y1:t,y2:n}){return e!==void 0||t!==void 0||n!==void 0}function Mf(e){return HA(e)||ZA(e)||e.interval!==void 0}function pn(e){return e?.toString===WZ}function Bo(e){return pn(e)&&(e.type!==void 0||e.domain!==void 0)}function jr(e){return pn(e)&&typeof e.transform!="function"}function Lo(e){return jr(e)&&e.value===void 0&&e.channel===void 0}function JA(e,t,n,r=G){return t===void 0&&n===void 0?(t=0,n=e===void 0?r:e):t===void 0?t=e===void 0?0:e:n===void 0&&(n=e===void 0?0:e),[t,n]}function $e(e,t){return e===void 0&&t===void 0?[_l,Ha]:[e,t]}function jn({z:e,fill:t,stroke:n}={}){return e===void 0&&([e]=Be(t)),e===void 0&&([e]=Be(n)),e}function ar(e){let t=e.length,n=new Uint32Array(t);for(let r=0;r<t;++r)n[r]=r;return n}function Fm(e,t){return Gt(t,n=>e[n],e.constructor)}function Af(e){return e.length===1?(t,n)=>e(Fm(n,t)):e}function Js(e,t,n){return e.subarray?e.subarray(t,n):e.slice(t,n)}function Qs(e){return e!==null&&typeof e=="object"?e.valueOf():e}function aw(e,t){if(t[e]!==void 0)return t[e];switch(e){case"x1":case"x2":e="x";break;case"y1":case"y2":e="y";break}return t[e]}function mn(e){let t;return[{transform:()=>t,label:On(e)},n=>t=n]}function Dn(e){return e==null?[e]:mn(e)}function On(e,t){return typeof e=="string"?e:e&&e.label!==void 0?e.label:t}function Tf(e,t){return{transform(n){let r=e.transform(n),i=t.transform(n);return Le(r)||Le(i)?Gt(r,(o,s)=>new Date((+r[s]+ +i[s])/2)):Gt(r,(o,s)=>(+r[s]+ +i[s])/2,Float64Array)},label:e.label}}function Sl(e,t){let n=QA(t?.interval,t?.type);return n?Gt(e,n):e}function QA(e,t){let n=Ef(e,t);return n&&(r=>ze(r)?n.floor(r):r)}function Ef(e,t){if(e!=null){if(typeof e=="number"){0<e&&e<1&&Number.isInteger(1/e)&&(e=-1/e);let n=Math.abs(e);return e<0?{floor:r=>Math.floor(r*n)/n,offset:r=>(r*n+1)/n,range:(r,i)=>Ue(Math.ceil(r*n),i*n).map(o=>o/n)}:{floor:r=>Math.floor(r/n)*n,offset:r=>r+n,range:(r,i)=>Ue(Math.ceil(r/n),i/n).map(o=>o*n)}}if(typeof e=="string")return(t==="time"?qA:Cm)(e);if(typeof e.floor!="function")throw new Error("invalid interval; missing floor method");if(typeof e.offset!="function")throw new Error("invalid interval; missing offset method");return e}}function Co(e,t){if(e=Ef(e,t),e&&typeof e.range!="function")throw new Error("invalid interval: missing range method");return e}function jF(e,t){if(e=Co(e,t),e&&typeof e.ceil!="function")throw new Error("invalid interval: missing ceil method");return e}function VF(e){return Ja(e)&&typeof e?.floor=="function"&&e.floor()instanceof Date}function Ja(e){return typeof e?.range=="function"}function pi(e){return e===void 0||jr(e)?e:{value:e}}function YF(e){return e==null?null:{transform:t=>wt(t,e,Float64Array),label:On(e)}}function XF(e){if(!cr(e))return!1;for(let t of e)if(t!=null)return typeof t=="object"&&"0"in t&&"1"in t}function cr(e){return e&&typeof e[Symbol.iterator]=="function"}function cw(e){for(let t of e)if(t!=null)return typeof t!="object"||t instanceof Date}function Ne(e){for(let t of e){if(t==null)continue;let n=typeof t;return n==="string"||n==="boolean"}}function Le(e){for(let t of e)if(t!=null)return t instanceof Date}function GF(e){for(let t of e)if(t!=null)return typeof t=="string"&&isNaN(t)&&bl(t)}function WF(e){for(let t of e)if(t!=null){if(typeof t!="string")return!1;if(t.trim())return!isNaN(t)}}function Ks(e){for(let t of e)if(t!=null)return typeof t=="number"}function lw(e,t){let n;for(let r of e)if(r!=null){if(!t(r))return!1;n=!0}return n}var JZ=new Set("none,currentcolor,transparent,aliceblue,antiquewhite,aqua,aquamarine,azure,beige,bisque,black,blanchedalmond,blue,blueviolet,brown,burlywood,cadetblue,chartreuse,chocolate,coral,cornflowerblue,cornsilk,crimson,cyan,darkblue,darkcyan,darkgoldenrod,darkgray,darkgreen,darkgrey,darkkhaki,darkmagenta,darkolivegreen,darkorange,darkorchid,darkred,darksalmon,darkseagreen,darkslateblue,darkslategray,darkslategrey,darkturquoise,darkviolet,deeppink,deepskyblue,dimgray,dimgrey,dodgerblue,firebrick,floralwhite,forestgreen,fuchsia,gainsboro,ghostwhite,gold,goldenrod,gray,green,greenyellow,grey,honeydew,hotpink,indianred,indigo,ivory,khaki,lavender,lavenderblush,lawngreen,lemonchiffon,lightblue,lightcoral,lightcyan,lightgoldenrodyellow,lightgray,lightgreen,lightgrey,lightpink,lightsalmon,lightseagreen,lightskyblue,lightslategray,lightslategrey,lightsteelblue,lightyellow,lime,limegreen,linen,magenta,maroon,mediumaquamarine,mediumblue,mediumorchid,mediumpurple,mediumseagreen,mediumslateblue,mediumspringgreen,mediumturquoise,mediumvioletred,midnightblue,mintcream,mistyrose,moccasin,navajowhite,navy,oldlace,olive,olivedrab,orange,orangered,orchid,palegoldenrod,palegreen,paleturquoise,palevioletred,papayawhip,peachpuff,peru,pink,plum,powderblue,purple,rebeccapurple,red,rosybrown,royalblue,saddlebrown,salmon,sandybrown,seagreen,seashell,sienna,silver,skyblue,slateblue,slategray,slategrey,snow,springgreen,steelblue,tan,teal,thistle,tomato,turquoise,violet,wheat,white,whitesmoke,yellow".split(","));function Qa(e){return typeof e!="string"?!1:(e=e.toLowerCase().trim(),/^#[0-9a-f]{3,8}$/.test(e)||/^(?:url|var|rgb|rgba|hsl|hsla|hwb|lab|lch|oklab|oklch|color|color-mix)\(.*\)$/.test(e)||JZ.has(e))}function HF(e){return typeof e=="number"&&(0<=e&&e<=1||isNaN(e))}function re(e){return e==null||ta(e)}function ta(e){return/^\s*none\s*$/i.test(e)}function ZF(e){return/^\s*round\s*$/i.test(e)}function uw(e,t){return WA(e,t,["middle","top-left","top","top-right","right","bottom-right","bottom","bottom-left","left"])}function ko(e="middle"){return uw(e,"frameAnchor")}function JF(e={},...t){let n=e;for(let r of t)for(let i in r)if(n[i]===void 0){let o=r[i];n===e?n={...n,[i]:o}:n[i]=o}return n}function QZ(e){console.warn("named iterables are deprecated; please use an object instead");let t=new Set;return Object.fromEntries(Array.from(e,n=>{let{name:r}=n;if(r==null)throw new Error("missing name");let i=`${r}`;if(i==="__proto__")throw new Error(`illegal name: ${i}`);if(t.has(i))throw new Error(`duplicate name: ${i}`);return t.add(i),[r,n]}))}function Rm(e){return cr(e)?QZ(e):e}function fw(e){return e===!0?e="frame":e===!1?e=null:e!=null&&(e=sn(e,"clip",["frame","sphere"])),e}var mi=Symbol("position"),Vr=Symbol("color"),Il=Symbol("radius"),Ml=Symbol("length"),Al=Symbol("opacity"),Nf=Symbol("symbol"),QF=Symbol("projection"),de=new Map([["x",mi],["y",mi],["fx",mi],["fy",mi],["r",Il],["color",Vr],["opacity",Al],["symbol",Nf],["length",Ml],["projection",QF]]);function KF(e){return e===mi||e===QF}function tR(e){return e===mi||e===Il||e===Ml||e===Al}var KA=Math.sqrt(3),tT=2/KA,KZ={draw(e,t){let n=Math.sqrt(t/Math.PI),r=n*tT,i=r/2;e.moveTo(0,r),e.lineTo(n,i),e.lineTo(n,-i),e.lineTo(0,-r),e.lineTo(-n,-i),e.lineTo(-n,i),e.closePath()}},eT=new Map([["asterisk",gm],["circle",Ws],["cross",xm],["diamond",bm],["diamond2",wm],["hexagon",KZ],["plus",vm],["square",_m],["square2",Sm],["star",Im],["times",mf],["triangle",Mm],["triangle2",Am],["wye",Tm]]);function nT(e){return e&&typeof e.draw=="function"}function eR(e){return nT(e)?!0:typeof e!="string"?!1:eT.has(e.toLowerCase())}function Df(e){if(e==null||nT(e))return e;let t=eT.get(`${e}`.toLowerCase());if(t)return t;throw new Error(`invalid symbol: ${e}`)}function nR(e){if(e==null||nT(e))return[void 0,e];if(typeof e=="string"){let t=eT.get(`${e}`.toLowerCase());if(t)return[void 0,t]}return[e,void 0]}function yn({filter:e,sort:t,reverse:n,transform:r,initializer:i,...o}={},s){if(r===void 0&&(e!=null&&(r=oT(e)),t!=null&&!Lo(t)&&(r=rT(r,aT(t))),n&&(r=rT(r,sT))),s!=null&&i!=null)throw new Error("transforms cannot be applied after initializers");return{...o,...(t===null||Lo(t))&&{sort:t},transform:rT(r,s)}}function Ie({filter:e,sort:t,reverse:n,initializer:r,...i}={},o){return r===void 0&&(e!=null&&(r=oT(e)),t!=null&&!Lo(t)&&(r=iT(r,aT(t))),n&&(r=iT(r,sT))),{...i,...(t===null||Lo(t))&&{sort:t},initializer:iT(r,o)}}function rT(e,t){return e==null?t===null?void 0:t:t==null?e===null?void 0:e:function(n,r,i){return{data:n,facets:r}=e.call(this,n,r,i),t.call(this,je(n),r,i)}}function iT(e,t){return e==null?t===null?void 0:t:t==null?e===null?void 0:e:function(n,r,i,...o){let s,a,c,l,u,f;return{data:a=n,facets:c=r,channels:s}=e.call(this,n,r,i,...o),{data:u=a,facets:f=c,channels:l}=t.call(this,a,c,{...i,...s},...o),{data:u,facets:f,channels:{...s,...l}}}}function dw(e,t){return(e.initializer!=null?Ie:yn)(e,t)}function rR(e,t){return dw(t,oT(e))}function oT(e){return(t,n)=>{let r=wt(t,e);return{data:t,facets:n.map(i=>i.filter(o=>r[o]))}}}function iR({sort:e,...t}={}){return{...dw(t,sT),sort:Lo(e)?e:null}}function sT(e,t){return{data:e,facets:t.map(n=>n.slice().reverse())}}function oR({seed:e,sort:t,...n}={}){return{...dw(n,sR(e==null?Math.random:Io(e))),sort:Lo(t)?t:null}}function hw(e,{sort:t,...n}={}){return{...(jr(e)&&e.channel!==void 0?Ie:dw)(n,aT(e)),sort:Lo(t)?t:null}}function aT(e){return(typeof e=="function"&&e.length!==1?tJ:sR)(e)}function tJ(e){return(t,n)=>{let r=(i,o)=>e(t[i],t[o]);return{data:t,facets:n.map(i=>i.slice().sort(r))}}}function sR(e){let t,n;({channel:t,value:e,order:n}={...pi(e)});let r=t?.startsWith("-");if(r&&(t=t.slice(1)),n===void 0&&(n=r?xl:dn),typeof n!="function")switch(`${n}`.toLowerCase()){case"ascending":n=dn;break;case"descending":n=xl;break;default:throw new Error(`invalid order: ${n}`)}return(i,o,s)=>{let a;if(t===void 0)a=wt(i,e);else{if(s===void 0)throw new Error("channel sort requires an initializer");if(a=s[t],!a)return{};a=a.value}let c=(l,u)=>n(a[l],a[u]);return{data:i,facets:o.map(l=>l.slice().sort(c))}}}function Pm(e,t){return pw(null,null,e,t)}function tc(e={y:"count"},t={}){let{x:n=G}=t;if(n==null)throw new Error("missing channel: x");return pw(n,null,e,t)}function ec(e={x:"count"},t={}){let{y:n=G}=t;if(n==null)throw new Error("missing channel: y");return pw(null,n,e,t)}function Um(e={fill:"count"},t={}){let{x:n,y:r}=t;if([n,r]=$e(n,r),n==null)throw new Error("missing channel: x");if(r==null)throw new Error("missing channel: y");return pw(n,r,e,t)}function pw(e,t,{data:n=gw,filter:r,sort:i,reverse:o,...s}={},a={}){s=lT(s,a),n=fR(n,G),i=i==null?void 0:lR("sort",i,a),r=r==null?void 0:uR("filter",r,a);let[c,l]=Dn(e),[u,f]=Dn(t),{z:d,fill:h,stroke:p,x1:m,x2:g,y1:y,y2:x,...b}=a,[w,_]=Dn(d),[v]=Be(h),[I]=Be(p),[A,T]=Dn(v),[D,E]=Dn(I);return{..."z"in a&&{z:w||d},..."fill"in a&&{fill:A||h},..."stroke"in a&&{stroke:D||p},...yn(b,(O,C,S)=>{let M=Sl(wt(O,e),S?.x),N=Sl(wt(O,t),S?.y),F=wt(O,d),R=wt(O,v),k=wt(O,I),$=zm(s,{z:F,fill:R,stroke:k}),P=[],U=[],W=M&&l([]),et=N&&f([]),rt=F&&_([]),at=R&&T([]),Y=k&&E([]),ot=0;for(let j of s)j.initialize(O);i&&i.initialize(O),r&&r.initialize(O);for(let j of C){let H=[];for(let nt of s)nt.scope("facet",j);i&&i.scope("facet",j),r&&r.scope("facet",j);for(let[nt,z]of Ka(j,$))for(let[kt,dt]of Ka(z,N))for(let[Wt,Zt]of Ka(dt,M)){let K={data:O};if(M&&(K.x=Wt),N&&(K.y=kt),$&&(K.z=nt),!(r&&!r.reduce(Zt,K))){H.push(ot++),U.push(n.reduceIndex(Zt,O,K)),M&&W.push(Wt),N&&et.push(kt),F&&rt.push($===F?nt:F[Zt[0]]),R&&at.push($===R?nt:R[Zt[0]]),k&&Y.push($===k?nt:k[Zt[0]]);for(let ae of s)ae.reduce(Zt,K);i&&i.reduce(Zt,K)}}P.push(H)}return uT(P,i,o),{data:U,facets:P}}),...!Fo(s,"x")&&(c?{x:c}:{x1:m,x2:g}),...!Fo(s,"y")&&(u?{y:u}:{y1:y,y2:x}),...Object.fromEntries(s.map(({name:O,output:C})=>[O,C]))}}function Fo(e,...t){for(let{name:n}of e)if(t.includes(n))return!0;return!1}function cT(e,t,n=mw){let r=Object.entries(e);return t.title!=null&&e.title===void 0&&r.push(["title",sJ]),t.href!=null&&e.href===void 0&&r.push(["href",xw]),r.filter(([,i])=>i!==void 0).map(([i,o])=>o===null?eJ(i):n(i,o,t))}function mw(e,t,n,r=yw){let i;pn(t)&&"reduce"in t&&(i=t.scale,t=t.reduce);let o=r(e,t,n),[s,a]=mn(o.label),c;return{name:e,output:i===void 0?s:{value:s,scale:i},initialize(l){o.initialize(l),c=a([])},scope(l,u){o.scope(l,u)},reduce(l,u){c.push(o.reduce(l,u))}}}function eJ(e){return{name:e,initialize(){},scope(){},reduce(){}}}function yw(e,t,n,r=Of){let i=aw(e,n),o=r(t,i),s,a;return{label:On(o===$m?null:i,o.label),initialize(c){s=i===void 0?c:wt(c,i),o.scope==="data"&&(a=o.reduceIndex(ar(c),s))},scope(c,l){o.scope===c&&(a=o.reduceIndex(l,s))},reduce(c,l){return o.scope==null?o.reduceIndex(c,s,l):o.reduceIndex(c,s,a,l)}}}function Ka(e,t){return t?cn(e,n=>t[n]):[[,e]]}function Of(e,t,n=nJ){if(e==null)return n(e);if(typeof e.reduceIndex=="function")return e;if(typeof e.reduce=="function"&&pn(e))return iJ(e);if(typeof e=="function")return oJ(e);if(/^p\d{2}$/i.test(e))return ea(If(e));switch(`${e}`.toLowerCase()){case"first":return xw;case"last":return aJ;case"identity":return gw;case"count":return $m;case"distinct":return cJ;case"sum":return t==null?$m:lJ;case"proportion":return cR(t,"data");case"proportion-facet":return cR(t,"facet");case"deviation":return ea(ii);case"min":return ea(ue);case"min-index":return ea(J0);case"max":return ea(Ht);case"max-index":return ea(Z0);case"mean":return aR(Ds);case"median":return aR(Pi);case"variance":return ea(Ea);case"mode":return ea(Bu)}return n(e)}function nJ(e){throw new Error(`invalid reduce: ${e}`)}function lT(e,t){return cT(e,t,lR)}function lR(e,t,n){return mw(e,t,n,uR)}function uR(e,t,n){return yw(e,t,n,fR)}function fR(e,t){return Of(e,t,rJ)}function rJ(e){switch(`${e}`.toLowerCase()){case"x":return uJ;case"y":return fJ;case"z":return fT}throw new Error(`invalid group reduce: ${e}`)}function zm(e,t){for(let n in t){let r=t[n];if(r!==void 0&&!e.some(i=>i.name===n))return r}}function uT(e,t,n){if(t){let r=t.output.transform(),i=(o,s)=>dn(r[o],r[s]);e.forEach(o=>o.sort(i))}n&&e.forEach(r=>r.reverse())}function iJ(e){return console.warn("deprecated reduce interface; implement reduceIndex instead."),{...e,reduceIndex:e.reduce.bind(e)}}function oJ(e){return{reduceIndex(t,n,r){return e(Fm(n,t),r)}}}function ea(e){return{reduceIndex(t,n){return e(t,r=>n[r])}}}function aR(e){return{reduceIndex(t,n){let r=e(t,i=>n[i]);return Le(n)?new Date(r):r}}}var gw={reduceIndex(e,t){return Fm(t,e)}},xw={reduceIndex(e,t){return t[e[0]]}},sJ={reduceIndex(e,t){let r=Es($i(e,o=>o.length,o=>t[o]),Ha),i=r.slice(-5).reverse();if(i.length<r.length){let o=r.slice(0,-4);i[4]=[`\u2026 ${o.length.toLocaleString("en-US")} more`,An(o,Ha)]}return i.map(([o,s])=>`${o} (${s.toLocaleString("en-US")})`).join(`
|
|
16
|
-
`)}},aJ={reduceIndex(e,t){return t[e[e.length-1]]}},$m={label:"Frequency",reduceIndex(e){return e.length}},cJ={label:"Distinct",reduceIndex(e,t){let n=new Jn;for(let r of e)n.add(t[r]);return n.size}},lJ=ea(An);function cR(e,t){return e==null?{scope:t,label:"Frequency",reduceIndex:(n,r,i=1)=>n.length/i}:{scope:t,reduceIndex:(n,r,i=1)=>An(n,o=>r[o])/i}}var uJ={reduceIndex(e,t,{x:n}){return n}},fJ={reduceIndex(e,t,{y:n}){return n}},fT={reduceIndex(e,t,{z:n}){return n}};function dR(e){if(typeof e!="function")throw new Error(`invalid test function: ${e}`);return{reduceIndex(t,n,{data:r}){return n[t.find(i=>e(r[i],i,r))]}}}function Bf(e,{scale:t,type:n,value:r,filter:i,hint:o,label:s=On(r)},a){return o===void 0&&typeof r?.transform=="function"&&(o=r.hint),hT(a,{scale:t,type:n,value:wt(e,r),label:s,filter:i,hint:o})}function bw(e,t){return Object.fromEntries(Object.entries(e).map(([n,r])=>[n,Bf(t,r,n)]))}function Lf(e,t){let n=Object.fromEntries(Object.entries(e).map(([r,{scale:i,value:o}])=>{let s=i==null?null:t[i];return[r,s==null?o:Gt(o,s)]}));return n.channels=e,n}function hT(e,t){let{scale:n,value:r}=t;if(n===!0||n==="auto")switch(e){case"fill":case"stroke":case"color":t.scale=n!==!0&&lw(r,Qa)?null:"color";break;case"fillOpacity":case"strokeOpacity":case"opacity":t.scale=n!==!0&&lw(r,HF)?null:"opacity";break;case"symbol":n!==!0&&lw(r,eR)?(t.scale=null,t.value=Gt(r,Df)):t.scale="symbol";break;default:t.scale=de.has(e)?e:null;break}else if(n===!1)t.scale=null;else if(n!=null&&!de.has(n))throw new Error(`unknown scale: ${n}`);return t}function pR(e,t,n,r,i){let{order:o,reverse:s,reduce:a=!0,limit:c}=i;for(let l in i){if(!de.has(l))continue;let{value:u,order:f=o,reverse:d=s,reduce:h=a,limit:p=c}=pi(i[l]),m=u?.startsWith("-");if(m&&(u=u.slice(1)),f=f===void 0?m!==(u==="width"||u==="height")?yR:mR:pJ(f),h==null||h===!1)continue;let g=l==="fx"||l==="fy"?hJ(t,r[l]):dJ(n,l);if(!g)throw new Error(`missing channel for scale: ${l}`);let y=g.value,[x=0,b=1/0]=cr(p)?p:p<0?[p]:[0,p];if(u==null)g.domain=()=>{let w=Array.from(new Jn(y));return d&&(w=w.reverse()),(x!==0||b!==1/0)&&(w=w.slice(x,b)),w};else{let w=u==="data"?e:u==="height"?hR(n,"y1","y2"):u==="width"?hR(n,"x1","x2"):dT(n,u,u==="y"?"y2":u==="x"?"x2":void 0),_=Of(h===!0?"max":h,w);g.domain=()=>{let v=US(ar(y),I=>_.reduceIndex(I,w),I=>y[I]);return f&&v.sort(f),d&&v.reverse(),(x!==0||b!==1/0)&&(v=v.slice(x,b)),v.map(_l)}}}}function dJ(e,t){for(let n in e){let r=e[n];if(r.scale===t)return r}}function hJ(e,t){let n=e.original;if(n===e)return t;let r=t.value,i=t.value=[];for(let o=0;o<n.length;++o){let s=r[n[o][0]];for(let a of e[o])i[a]=s}return t}function hR(e,t,n){let r=dT(e,t),i=dT(e,n);return Gt(i,(o,s)=>Math.abs(o-r[s]),Float64Array)}function dT(e,t,n){let r=e[t];if(!r&&n!==void 0&&(r=e[n]),r)return r.value;throw new Error(`missing channel: ${t}`)}function pJ(e){if(e==null||typeof e=="function")return e;switch(`${e}`.toLowerCase()){case"ascending":return mR;case"descending":return yR}throw new Error(`invalid order: ${e}`)}function mR([e,t],[n,r]){return dn(t,r)||dn(e,n)}function yR([e,t],[n,r]){return xl(t,r)||dn(e,n)}function qm(e,t){let n=e[t];if(n){for(;n.source;)n=n.source;return n.source===null?null:n}}function nc(e={}){let{document:t=typeof window<"u"?window.document:void 0,clip:n}=e;return{document:t,clip:fw(n)}}function ut(e,{document:t}){return Vt(Bs(e).call(t.documentElement))}var pT=0,mT;function gR(){let e=pT;return pT=0,mT=void 0,e}function Vn(e){e!==mT&&(mT=e,console.warn(e),++pT)}var bR=Math.PI,na=2*bR,xR=.618;function wR({projection:e,inset:t=0,insetTop:n=t,insetRight:r=t,insetBottom:i=t,insetLeft:o=t}={},s){if(e==null)return;if(typeof e.stream=="function")return e;let a,c,l="frame";if(pn(e)){let _;if({type:e,domain:c,inset:_,insetTop:n=_!==void 0?_:n,insetRight:r=_!==void 0?_:r,insetBottom:i=_!==void 0?_:i,insetLeft:o=_!==void 0?_:o,clip:l=l,...a}=e,e==null)return}typeof e!="function"&&({type:e}=vR(e));let{width:u,height:f,marginLeft:d,marginRight:h,marginTop:p,marginBottom:m}=s,g=u-d-h-o-r,y=f-p-m-n-i;if(e=e?.({width:g,height:y,clip:l,...a}),e==null)return;l=mJ(l,d,p,u-h,f-m);let x=d+o,b=p+n,w;if(c!=null){let[[_,v],[I,A]]=En(e).bounds(c),T=Math.min(g/(I-_),y/(A-v));T>0?(x-=(T*(_+I)-g)/2,b-=(T*(v+A)-y)/2,w=al({point(D,E){this.stream.point(D*T+x,E*T+b)}})):Vn("Warning: the projection could not be fit to the specified domain; using the default scale.")}return w??=x===0&&b===0?_R():al({point(_,v){this.stream.point(_+x,v+b)}}),{stream:_=>e.stream(w.stream(l(_)))}}function vR(e){switch(`${e}`.toLowerCase()){case"albers-usa":return ji(dM,.7463,.4673);case"albers":return ww(Vp,.7463,.4673);case"azimuthal-equal-area":return ji(pM,4,4);case"azimuthal-equidistant":return ji(yM,na,na);case"conic-conformal":return ww(bM,na,na);case"conic-equal-area":return ww(Pa,6.1702,2.9781);case"conic-equidistant":return ww(vM,7.312,3.6282);case"equal-earth":return ji(SM,5.4133,2.6347);case"equirectangular":return ji(wM,na,bR);case"gnomonic":return ji(MM,3.4641,3.4641);case"identity":return{type:_R};case"reflect-y":return{type:yJ};case"mercator":return ji(gM,na,na);case"orthographic":return ji(TM,2,2);case"stereographic":return ji(NM,2,2);case"transverse-mercator":return ji(OM,na,na);default:throw new Error(`unknown projection type: ${e}`)}}function mJ(e,t,n,r,i){if(e===!1||e==null||typeof e=="number")return o=>o;switch(e===!0&&(e="frame"),`${e}`.toLowerCase()){case"frame":return Ju(t,n,r,i);default:throw new Error(`unknown projection clip type: ${e}`)}}function ji(e,t,n){return{type:({width:r,height:i,rotate:o,precision:s=.15,clip:a})=>{let c=e();return s!=null&&c.precision?.(s),o!=null&&c.rotate?.(o),typeof a=="number"&&c.clipAngle?.(a),c.scale(Math.min(r/t,i/n)),c.translate([r/2,i/2]),c},aspectRatio:n/t}}function ww(e,t,n){let{type:r,aspectRatio:i}=ji(e,t,n);return{type:o=>{let{parallels:s,domain:a,width:c,height:l}=o,u=r(o);return s!=null&&(u.parallels(s),a===void 0&&u.fitSize([c,l],{type:"Sphere"})),u},aspectRatio:i}}var _R=hn({stream:e=>e}),yJ=hn(al({point(e,t){this.stream.point(e,-t)}}));function yT(e,t,n,r){let i=n[e],o=n[t],s=i.length,a=n[e]=new Float64Array(s).fill(NaN),c=n[t]=new Float64Array(s).fill(NaN),l,u=r.stream({point(f,d){a[l]=f,c[l]=d}});for(l=0;l<s;++l)u.point(i[l],o[l])}function SR({projection:e}={}){return e==null?!1:typeof e.stream=="function"?!0:(pn(e)&&(e=e.type),e!=null)}function IR(e){if(typeof e?.stream=="function")return xR;if(pn(e)&&(e=e.type),e!=null){if(typeof e!="function"){let{aspectRatio:t}=vR(e);if(t)return t}return xR}}function rc(e,t,{projection:n}){let{x:r,y:i}=e,o={};return r&&(o.x=r),i&&(o.y=i),o=Lf(o,t),n&&r?.scale==="x"&&i?.scale==="y"&&yT("x","y",o,n),r&&(o.x=Ke(o.x)),i&&(o.y=Ke(o.y)),o}function MR(e){let t=[],n=[],r={scale:"x",value:t},i={scale:"y",value:n},o={point(s,a){t.push(s),n.push(a)},lineStart(){},lineEnd(){},polygonStart(){},polygonEnd(){},sphere(){}};for(let s of e.value)Pr(s,o);return[r,i]}var DR=new Map([["accent",eA],["category10",tA],["dark2",nA],["observable10",rA],["paired",iA],["pastel1",oA],["pastel2",sA],["set1",aA],["set2",cA],["set3",lA],["tableau10",uA]]);function OR(e){return e!=null&&DR.has(`${e}`.toLowerCase())}var AR=new Map([...DR,["brbg",ra(Fb,Rb)],["prgn",ra($b,Pb)],["piyg",ra(Ub,zb)],["puor",ra(qb,jb)],["rdbu",ra(hm,uf)],["rdgy",ra(Vb,Yb)],["rdylbu",ra(pm,ff)],["rdylgn",ra(Xb,Gb)],["spectral",ra(Wb,Hb)],["burd",TR(hm,uf)],["buylrd",TR(pm,ff)],["blues",gn(w1,v1)],["greens",gn(_1,S1)],["greys",gn(I1,M1)],["oranges",gn(D1,O1)],["purples",gn(A1,T1)],["reds",gn(E1,N1)],["turbo",ia(U1)],["viridis",ia(q1)],["magma",ia(j1)],["inferno",ia(V1)],["plasma",ia(Y1)],["cividis",ia(B1)],["cubehelix",ia(L1)],["warm",ia(k1)],["cool",ia(F1)],["bugn",gn(Zb,Jb)],["bupu",gn(Qb,Kb)],["gnbu",gn(t1,e1)],["orrd",gn(n1,r1)],["pubu",gn(s1,a1)],["pubugn",gn(i1,o1)],["purd",gn(c1,l1)],["rdpu",gn(u1,f1)],["ylgn",gn(p1,m1)],["ylgnbu",gn(d1,h1)],["ylorbr",gn(y1,g1)],["ylorrd",gn(x1,b1)],["rainbow",ER(R1)],["sinebow",ER(P1)]]);function gn(e,t){return({length:n})=>n===1?[e[3][1]]:n===2?[e[3][1],e[3][2]]:(n=Math.max(3,Math.floor(n)),n>9?Fn(t,n):e[n])}function ra(e,t){return({length:n})=>n===2?[e[3][0],e[3][2]]:(n=Math.max(3,Math.floor(n)),n>11?Fn(t,n):e[n])}function TR(e,t){return({length:n})=>n===2?[e[3][2],e[3][0]]:(n=Math.max(3,Math.floor(n)),n>11?Fn(r=>t(1-r),n):e[n].slice().reverse())}function ia(e){return({length:t})=>Fn(e,Math.max(2,Math.floor(t)))}function ER(e){return({length:t})=>Fn(e,Math.floor(t)+1).slice(0,-1)}function gT(e){let t=`${e}`.toLowerCase();if(!AR.has(t))throw new Error(`unknown ordinal scheme: ${t}`);return AR.get(t)}function jm(e,t){let n=gT(e),r=typeof n=="function"?n({length:t}):n;return r.length!==t?r.slice(0,t):r}function BR(e,t="greys"){let n=new Set,[r,i]=jm(t,2);for(let o of e)if(o!=null)if(o===!0)n.add(i);else if(o===!1)n.add(r);else return;return[...n]}var NR=new Map([["brbg",Rb],["prgn",Pb],["piyg",zb],["puor",jb],["rdbu",uf],["rdgy",Yb],["rdylbu",ff],["rdylgn",Gb],["spectral",Hb],["burd",e=>uf(1-e)],["buylrd",e=>ff(1-e)],["blues",v1],["greens",S1],["greys",M1],["purples",T1],["reds",N1],["oranges",O1],["turbo",U1],["viridis",q1],["magma",j1],["inferno",V1],["plasma",Y1],["cividis",B1],["cubehelix",L1],["warm",k1],["cool",F1],["bugn",Jb],["bupu",Kb],["gnbu",e1],["orrd",r1],["pubugn",o1],["pubu",a1],["purd",l1],["rdpu",f1],["ylgnbu",h1],["ylgn",m1],["ylorbr",g1],["ylorrd",b1],["rainbow",R1],["sinebow",P1]]);function Cf(e){let t=`${e}`.toLowerCase();if(!NR.has(t))throw new Error(`unknown quantitative scheme: ${t}`);return NR.get(t)}var gJ=new Set(["brbg","prgn","piyg","puor","rdbu","rdgy","rdylbu","rdylgn","spectral","burd","buylrd"]);function LR(e){return e!=null&&gJ.has(`${e}`.toLowerCase())}var bT=e=>t=>e(1-t),xT=[0,1],CR=new Map([["number",_e],["rgb",si],["hsl",dI],["hcl",hI],["lab",bx]]);function wT(e){let t=`${e}`.toLowerCase();if(!CR.has(t))throw new Error(`unknown interpolator: ${t}`);return CR.get(t)}function Ff(e,t,n,{type:r,nice:i,clamp:o,zero:s,domain:a=qR(e,n),unknown:c,round:l,scheme:u,interval:f,range:d=de.get(e)===Il?vJ(n,a):de.get(e)===Ml?_J(n,a):de.get(e)===Al?xT:void 0,interpolate:h=de.get(e)===Vr?u==null&&d!==void 0?si:Cf(u!==void 0?u:r==="cyclical"?"rainbow":"turbo"):l?Qc:_e,reverse:p}){if(f=Co(f,r),(r==="cyclical"||r==="sequential")&&(r="linear"),typeof h!="function"&&(h=wT(h)),p=!!p,d!==void 0){let m=(a=je(a)).length,g=(d=je(d)).length;if(m!==g){if(h.length===1)throw new Error("invalid piecewise interpolator");h=mo(h,d),d=void 0}}if(h.length===1?(p&&(h=bT(h),p=!1),d===void 0&&(d=Float64Array.from(a,(m,g)=>g/(a.length-1)),d.length===2&&(d=xT)),t.interpolate((d===xT?hn:Vm)(h))):t.interpolate(h),s){let[m,g]=le(a);(m>0||g<0)&&(a=Za(a),Zs(a)!==Math.sign(m)?a[a.length-1]=0:a[0]=0)}return p&&(a=Da(a)),t.domain(a).unknown(c),i&&(t.nice(xJ(i,r)),a=t.domain()),d!==void 0&&t.range(d),o&&t.clamp(o),{type:r,domain:a,range:d,scale:t,interpolate:h,interval:f}}function xJ(e,t){return e===!0?void 0:typeof e=="number"?e:jF(e,t)}function kR(e,t,n){return Ff(e,Us(),t,n)}function FR(e,t,n){return vT(e,t,{...n,exponent:.5})}function vT(e,t,{exponent:n=1,...r}){return Ff(e,nm().exponent(n),t,{...r,type:"pow"})}function RR(e,t,{base:n=10,domain:r=SJ(t),...i}){return Ff(e,tm().base(n),t,{...i,domain:r})}function $R(e,t,{constant:n=1,...r}){return Ff(e,em().constant(n),t,r)}function PR(e,t,{range:n,quantiles:r=n===void 0?5:(n=[...n]).length,n:i=r,scheme:o="rdylbu",domain:s=IJ(t),unknown:a,interpolate:c,reverse:l}){return n===void 0&&(n=c!==void 0?Fn(c,i):de.get(e)===Vr?jm(o,i):void 0),s.length>0&&(s=rm(s,n===void 0?{length:i}:n).quantiles()),vw(e,t,{domain:s,range:n,reverse:l,unknown:a})}function UR(e,t,{range:n,n:r=n===void 0?5:(n=[...n]).length,scheme:i="rdylbu",domain:o=qR(e,t),unknown:s,interpolate:a,reverse:c}){let[l,u]=le(o),f;return n===void 0?(f=Mn(l,u,r),f[0]<=l&&f.splice(0,1),f[f.length-1]>=u&&f.pop(),r=f.length+1,n=a!==void 0?Fn(a,r):de.get(e)===Vr?jm(i,r):void 0):(f=Fn(_e(l,u),r+1).slice(1,-1),l instanceof Date&&(f=f.map(d=>new Date(d)))),Zs(je(o))<0&&f.reverse(),vw(e,t,{domain:f,range:n,reverse:c,unknown:s})}function vw(e,t,{domain:n=[0],unknown:r,scheme:i="rdylbu",interpolate:o,range:s=o!==void 0?Fn(o,n.length+1):de.get(e)===Vr?jm(i,n.length+1):void 0,reverse:a}){n=je(n);let c=Zs(n);if(!isNaN(c)&&!bJ(n,c))throw new Error(`the ${e} scale has a non-monotonic domain`);return a&&(s=Da(s)),{type:"threshold",scale:im(c<0?Da(n):n,s===void 0?[]:s).unknown(r),domain:n,range:s}}function bJ(e,t){for(let n=1,r=e.length,i=e[0];n<r;++n){let o=Hn(i,i=e[n]);if(o!==0&&o!==t)return!1}return!0}function zR(e){return{type:"identity",scale:tR(de.get(e))?Qp():t=>t}}function kf(e,t=bf){return e.length?[ue(e,({value:n})=>n===void 0?n:ue(n,t)),Ht(e,({value:n})=>n===void 0?n:Ht(n,t))]:[0,1]}function qR(e,t){let n=de.get(e);return(n===Il||n===Al||n===Ml?wJ:kf)(t)}function wJ(e){return[0,e.length?Ht(e,({value:t})=>t===void 0?t:Ht(t,bf)):1]}function vJ(e,t){let n=e.find(({radius:s})=>s!==void 0);if(n!==void 0)return[0,n.radius];let r=Qn(e,.5,({value:s})=>s===void 0?NaN:Qn(s,.25,sr)),i=t.map(s=>3*Math.sqrt(s/r)),o=30/Ht(i);return o<1?i.map(s=>s*o):i}function _J(e,t){let n=Pi(e,({value:o})=>o===void 0?NaN:Pi(o,Math.abs)),r=t.map(o=>12*o/n),i=60/Ht(r);return i<1?r.map(o=>o*i):r}function SJ(e){for(let{value:t}of e)if(t!==void 0)for(let n of t){if(n>0)return kf(e,sr);if(n<0)return kf(e,Va)}return[1,10]}function IJ(e){let t=[];for(let{value:n}of e)if(n!==void 0)for(let r of n)t.push(r);return t}function Vm(e){return(t,n)=>r=>e(t+r*(n-t))}function _w(e,t,n,r,{type:i,nice:o,clamp:s,domain:a=kf(r),unknown:c,pivot:l=0,scheme:u,range:f,symmetric:d=!0,interpolate:h=de.get(e)===Vr?u==null&&f!==void 0?si:Cf(u!==void 0?u:"rdbu"):_e,reverse:p}){l=+l,a=je(a);let[m,g]=a;if(a.length>2&&Vn(`Warning: the diverging ${e} scale domain contains extra elements.`),Hn(m,g)<0&&([m,g]=[g,m],p=!p),m=Math.min(m,l),g=Math.max(g,l),typeof h!="function"&&(h=wT(h)),f!==void 0&&(h=h.length===1?Vm(h)(...f):mo(h,f)),p&&(h=bT(h)),d){let y=n.apply(l),x=y-n.apply(m),b=n.apply(g)-y;x<b?m=n.invert(y-b):x>b&&(g=n.invert(y+x))}return t.domain([m,l,g]).unknown(c).interpolator(h),s&&t.clamp(s),o&&t.nice(o),{type:i,domain:[m,g],pivot:l,interpolate:h,scale:t}}function jR(e,t,n){return _w(e,dm(),MJ,t,n)}function VR(e,t,n){return _T(e,t,{...n,exponent:.5})}function _T(e,t,{exponent:n=1,...r}){return _w(e,kb().exponent(n=+n),EJ(n),t,{...r,type:"diverging-pow"})}function YR(e,t,{base:n=10,pivot:r=1,domain:i=kf(t,r<0?Va:sr),...o}){return _w(e,Lb().base(n=+n),AJ,t,{domain:i,pivot:r,...o})}function XR(e,t,{constant:n=1,...r}){return _w(e,Cb().constant(n=+n),NJ(n),t,r)}var MJ={apply(e){return e},invert(e){return e}},AJ={apply:Math.log,invert:Math.exp},TJ={apply(e){return Math.sign(e)*Math.sqrt(Math.abs(e))},invert(e){return Math.sign(e)*(e*e)}};function EJ(e){return e===.5?TJ:{apply(t){return Math.sign(t)*Math.pow(Math.abs(t),e)},invert(t){return Math.sign(t)*Math.pow(Math.abs(t),1/e)}}}function NJ(e){return{apply(t){return Math.sign(t)*Math.log1p(Math.abs(t/e))},invert(t){return Math.sign(t)*Math.expm1(Math.abs(t))*e}}}function GR(e,t,n,r){return Ff(e,t,n,r)}function WR(e,t,n){return GR(e,Db(),t,n)}function HR(e,t,n){return GR(e,Ob(),t,n)}var Rf=Symbol("ordinal");function JR(e,t,n,{type:r,interval:i,domain:o,range:s,reverse:a,hint:c}){return i=Co(i,r),o===void 0&&(o=n7(n,i,e)),(r==="categorical"||r===Rf)&&(r="ordinal"),a&&(o=Da(o)),o=t.domain(o).domain(),s!==void 0&&(typeof s=="function"&&(s=s(o)),t.range(s)),{type:r,domain:o,range:s,scale:t,hint:c,interval:i}}function QR(e,t,{type:n,interval:r,domain:i,range:o,scheme:s,unknown:a,...c}){r=Co(r,n),i===void 0&&(i=n7(t,r,e));let l;if(de.get(e)===Nf)l=DJ(t),o=o===void 0?OJ(l):Gt(o,Df);else if(de.get(e)===Vr&&(o===void 0&&(n==="ordinal"||n===Rf)&&(o=BR(i,s),o!==void 0&&(s=void 0)),s===void 0&&o===void 0&&(s=n==="ordinal"?"turbo":"observable10"),s!==void 0))if(o!==void 0){let u=Cf(s),f=o[0],d=o[1]-o[0];o=({length:h})=>Fn(p=>u(f+d*p),h)}else o=gT(s);if(a===Zp)throw new Error(`implicit unknown on ${e} scale is not supported`);return JR(e,ll().unknown(a),t,{...c,type:n,domain:i,range:o,hint:l})}function KR(e,t,{align:n=.5,padding:r=.5,...i}){return e7($M().align(n).padding(r),t,i,e)}function t7(e,t,{align:n=.5,padding:r=.1,paddingInner:i=r,paddingOuter:o=e==="fx"||e==="fy"?0:r,...s}){return e7(za().align(n).paddingInner(i).paddingOuter(o),t,s,e)}function e7(e,t,n,r){let{round:i}=n;return i!==void 0&&e.round(i=!!i),e=JR(r,e,t,n),e.round=i,e}function n7(e,t,n){let r=new Jn;for(let{value:i,domain:o}of e){if(o!==void 0)return o();if(i!==void 0)for(let s of i)r.add(s)}if(t!==void 0){let[i,o]=le(r).map(t.floor,t);return t.range(i,t.offset(o))}if(r.size>1e4&&de.get(n)===mi)throw new Error(`implicit ordinal domain of ${n} scale has more than 10,000 values`);return Es(r,dn)}function ZR(e,t){let n;for(let{hint:r}of e){let i=r?.[t];if(i!==void 0){if(n===void 0)n=i;else if(n!==i)return}}return n}function DJ(e){return{fill:ZR(e,"fill"),stroke:ZR(e,"stroke")}}function OJ(e){return re(e.fill)?gA:J1}function Ym(e,{label:t,inset:n=0,insetTop:r=n,insetRight:i=n,insetBottom:o=n,insetLeft:s=n,round:a,nice:c,clamp:l,zero:u,align:f,padding:d,projection:h,facet:{label:p=t}={},...m}={}){let g={};for(let[y,x]of e){let b=m[y],w=u7(y,x,{round:de.get(y)===mi?a:void 0,nice:c,clamp:l,zero:u,align:f,padding:d,projection:h,...b});if(w){let{label:_=y==="fx"||y==="fy"?p:t,percent:v,transform:I,inset:A,insetTop:T=A!==void 0?A:y==="y"?r:0,insetRight:D=A!==void 0?A:y==="x"?i:0,insetBottom:E=A!==void 0?A:y==="y"?o:0,insetLeft:O=A!==void 0?A:y==="x"?s:0}=b||{};if(I==null)I=void 0;else if(typeof I!="function")throw new Error("invalid scale transform; not a function");w.percent=!!v,w.label=_===void 0?BJ(x,w):_,w.transform=I,y==="x"||y==="fx"?(w.insetLeft=+O,w.insetRight=+D):(y==="y"||y==="fy")&&(w.insetTop=+T,w.insetBottom=+E),g[y]=w}}return g}function IT(e){let t={},n={scales:t};for(let[r,i]of Object.entries(e)){let{scale:o,type:s,interval:a,label:c}=i;t[r]=d7(i),n[r]=o,o.type=s,a!=null&&(o.interval=a),c!=null&&(o.label=c)}return n}function a7(e,t){let{x:n,y:r,fx:i,fy:o}=e,s=i||o?Mw(t):t;i&&r7(i,s),o&&i7(o,s);let a=i||o?MT(e,t):t;n&&r7(n,a),r&&i7(r,a)}function BJ(e=[],t){let n;for(let{label:r}of e)if(r!==void 0){if(n===void 0)n=r;else if(n!==r)return}if(n!==void 0)return!Ro(t)&&t.percent&&(n=`${n} (%)`),{inferred:!0,toString:()=>n}}function Iw(e){return Math.sign(Zs(e.domain()))*Math.sign(Zs(e.range()))}function Mw(e){let{marginTop:t,marginRight:n,marginBottom:r,marginLeft:i,width:o,height:s,facet:{marginTop:a,marginRight:c,marginBottom:l,marginLeft:u}}=e;return{marginTop:Math.max(t,a),marginRight:Math.max(n,c),marginBottom:Math.max(r,l),marginLeft:Math.max(i,u),width:o,height:s}}function MT({fx:e,fy:t},n){let{marginTop:r,marginRight:i,marginBottom:o,marginLeft:s,width:a,height:c}=Mw(n);return{marginTop:r,marginRight:i,marginBottom:o,marginLeft:s,width:e?e.scale.bandwidth()+s+i:a,height:t?t.scale.bandwidth()+r+o:c,facet:{width:a,height:c}}}function r7(e,t){if(e.range===void 0){let{insetLeft:n,insetRight:r}=e,{width:i,marginLeft:o=0,marginRight:s=0}=t,a=o+n,c=i-s-r;e.range=[a,Math.max(a,c)],Ro(e)||(e.range=l7(e)),e.scale.range(e.range)}c7(e)}function i7(e,t){if(e.range===void 0){let{insetTop:n,insetBottom:r}=e,{height:i,marginTop:o=0,marginBottom:s=0}=t,a=o+n,c=i-s-r;e.range=[Math.max(a,c),a],Ro(e)?e.range.reverse():e.range=l7(e),e.scale.range(e.range)}c7(e)}function c7(e){e.round===void 0&&kJ(e)&&LJ(e)<=30&&e.scale.round(!0)}function LJ({scale:e}){let t=e.domain().length,[n,r]=e.range(),i=e.paddingInner?e.paddingInner():1,o=e.paddingOuter?e.paddingOuter():e.padding(),s=t-i,a=Math.abs(r-n)/Math.max(1,s+o*2);return(a-Math.floor(a))*s}function l7(e){let t=e.scale.domain().length+AT(e);if(!(t>2))return e.range;let[n,r]=e.range;return Array.from({length:t},(i,o)=>n+o/(t-1)*(r-n))}function Aw(e,t,n){return u7(e,n===void 0?void 0:[{hint:n}],{...t})}function u7(e,t=[],n={}){let r=CJ(e,t,n);if(n.type===void 0&&n.domain===void 0&&n.range===void 0&&n.interval==null&&e!=="fx"&&e!=="fy"&&Ro({type:r})){let i=t.map(({value:o})=>o).filter(o=>o!==void 0);i.some(Le)?Vn(`Warning: some data associated with the ${e} scale are dates. Dates are typically associated with a "utc" or "time" scale rather than a "${$f(r)}" scale. If you are using a bar mark, you probably want a rect mark with the interval option instead; if you are using a group transform, you probably want a bin transform instead. If you want to treat this data as ordinal, you can specify the interval of the ${e} scale (e.g., d3.utcDay), or you can suppress this warning by setting the type of the ${e} scale to "${$f(r)}".`):i.some(GF)?Vn(`Warning: some data associated with the ${e} scale are strings that appear to be dates (e.g., YYYY-MM-DD). If these strings represent dates, you should parse them to Date objects. Dates are typically associated with a "utc" or "time" scale rather than a "${$f(r)}" scale. If you are using a bar mark, you probably want a rect mark with the interval option instead; if you are using a group transform, you probably want a bin transform instead. If you want to treat this data as ordinal, you can suppress this warning by setting the type of the ${e} scale to "${$f(r)}".`):i.some(WF)&&Vn(`Warning: some data associated with the ${e} scale are strings that appear to be numbers. If these strings represent numbers, you should parse or coerce them to numbers. Numbers are typically associated with a "linear" scale rather than a "${$f(r)}" scale. If you want to treat this data as ordinal, you can specify the interval of the ${e} scale (e.g., 1 for integers), or you can suppress this warning by setting the type of the ${e} scale to "${$f(r)}".`)}switch(n.type=r,r){case"diverging":case"diverging-sqrt":case"diverging-pow":case"diverging-log":case"diverging-symlog":case"cyclical":case"sequential":case"linear":case"sqrt":case"threshold":case"quantile":case"pow":case"log":case"symlog":n=Sw(t,n,Ke);break;case"identity":switch(de.get(e)){case mi:n=Sw(t,n,Ke);break;case Nf:n=Sw(t,n,FJ);break}break;case"utc":case"time":n=Sw(t,n,qF);break}switch(r){case"diverging":return jR(e,t,n);case"diverging-sqrt":return VR(e,t,n);case"diverging-pow":return _T(e,t,n);case"diverging-log":return YR(e,t,n);case"diverging-symlog":return XR(e,t,n);case"categorical":case"ordinal":case Rf:return QR(e,t,n);case"cyclical":case"sequential":case"linear":return kR(e,t,n);case"sqrt":return FR(e,t,n);case"threshold":return vw(e,t,n);case"quantile":return PR(e,t,n);case"quantize":return UR(e,t,n);case"pow":return vT(e,t,n);case"log":return RR(e,t,n);case"symlog":return $R(e,t,n);case"utc":return HR(e,t,n);case"time":return WR(e,t,n);case"point":return KR(e,t,n);case"band":return t7(e,t,n);case"identity":return zR(e);case void 0:return;default:throw new Error(`unknown scale type: ${r}`)}}function $f(e){return typeof e=="symbol"?e.description:e}function o7(e){return typeof e=="string"?`${e}`.toLowerCase():e}var s7={toString:()=>"projection"};function CJ(e,t,{type:n,domain:r,range:i,scheme:o,pivot:s,projection:a}){if(n=o7(n),e==="fx"||e==="fy")return"band";(e==="x"||e==="y")&&a!=null&&(n=s7);for(let l of t){let u=o7(l.type);if(u!==void 0){if(n===void 0)n=u;else if(n!==u)throw new Error(`scale incompatible with channel: ${n} !== ${u}`)}}if(n===s7)return;if(n!==void 0)return n;if(r===void 0&&!t.some(({value:l})=>l!==void 0))return;let c=de.get(e);if(c===Il)return"sqrt";if(c===Al||c===Ml)return"linear";if(c===Nf)return"ordinal";if((r||i||[]).length>2)return ST(c);if(r!==void 0){if(Ne(r))return ST(c);if(Le(r))return"utc"}else{let l=t.map(({value:u})=>u).filter(u=>u!==void 0);if(l.some(Ne))return ST(c);if(l.some(Le))return"utc"}if(c===Vr){if(s!=null||LR(o))return"diverging";if(OR(o))return"categorical"}return"linear"}function ST(e){switch(e){case mi:return"point";case Vr:return Rf;default:return"ordinal"}}function Ro({type:e}){return e==="ordinal"||e==="point"||e==="band"||e===Rf}function AT({type:e}){return e==="threshold"}function kJ({type:e}){return e==="point"||e==="band"}function lr(e){if(e===void 0)return!0;let t=e.domain(),n=e(t[0]);for(let r=1,i=t.length;r<i;++r)if(e(t[r])-n)return!1;return!0}function Sw(e,{domain:t,...n},r){for(let i of e)i.value!==void 0&&(t===void 0&&(t=i.value?.domain),i.value=r(i.value));return{domain:t===void 0?t:r(t),...n}}function FJ(e){return Gt(e,Df)}function Pf(e={}){let t;for(let n in e)if(de.has(n)&&Bo(e[n])){if(t!==void 0)throw new Error("ambiguous scale definition; multiple scales found");t=d7(Aw(n,e[n]))}if(t===void 0)throw new Error("invalid scale definition; no scale found");return t}function f7(e){return t=>{if(!de.has(t=`${t}`))throw new Error(`unknown scale: ${t}`);return e[t]}}function d7({scale:e,type:t,domain:n,range:r,interpolate:i,interval:o,transform:s,percent:a,pivot:c}){if(t==="identity")return{type:"identity",apply:u=>u,invert:u=>u};let l=e.unknown?e.unknown():void 0;return{type:t,domain:Za(n),...r!==void 0&&{range:Za(r)},...s!==void 0&&{transform:s},...a&&{percent:a},...l!==void 0&&{unknown:l},...o!==void 0&&{interval:o},...i!==void 0&&{interpolate:i},...e.clamp&&{clamp:e.clamp()},...c!==void 0&&{pivot:c,symmetric:!1},...e.base&&{base:e.base()},...e.exponent&&{exponent:e.exponent()},...e.constant&&{constant:e.constant()},...e.align&&{align:e.align(),round:e.round()},...e.padding&&(e.paddingInner?{paddingInner:e.paddingInner(),paddingOuter:e.paddingOuter()}:{padding:e.padding()}),...e.bandwidth&&{bandwidth:e.bandwidth(),step:e.step()},apply:u=>e(u),...e.invert&&{invert:u=>e.invert(u)}}}function Tw(e){let t,n;return(...r)=>((n?.length!==r.length||n.some((i,o)=>i!==r[o]))&&(n=r,t=e(...r)),t)}var RJ=Tw(e=>new Intl.NumberFormat(e)),$J=Tw((e,t)=>new Intl.DateTimeFormat(e,{timeZone:"UTC",...t&&{month:t}})),PJ=Tw((e,t)=>new Intl.DateTimeFormat(e,{timeZone:"UTC",...t&&{weekday:t}}));function UJ(e="en-US"){let t=RJ(e);return n=>n!=null&&!isNaN(n)?t.format(n):void 0}function h7(e="en-US",t="short"){let n=$J(e,t);return r=>r!=null&&!isNaN(r=+new Date(Date.UTC(2e3,+r)))?n.format(r):void 0}function p7(e="en-US",t="short"){let n=PJ(e,t);return r=>r!=null&&!isNaN(r=+new Date(Date.UTC(2001,0,+r)))?n.format(r):void 0}function TT(e){return wf(e,"Invalid Date")}function zJ(e="en-US"){let t=UJ(e);return n=>(n instanceof Date?TT:typeof n=="number"?t:qe)(n)}var Vi=zJ();var Ce=(typeof window<"u"?window.devicePixelRatio>1:typeof it>"u")?0:.5,qJ=0;function Ew(){return`plot-clip-${++qJ}`}function Nw(e,{title:t,href:n,ariaLabel:r,ariaDescription:i,ariaHidden:o,target:s,fill:a,fillOpacity:c,stroke:l,strokeWidth:u,strokeOpacity:f,strokeLinejoin:d,strokeLinecap:h,strokeMiterlimit:p,strokeDasharray:m,strokeDashoffset:g,opacity:y,mixBlendMode:x,imageFilter:b,paintOrder:w,pointerEvents:_,shapeRendering:v,channels:I},{ariaLabel:A,fill:T="currentColor",fillOpacity:D,stroke:E="none",strokeOpacity:O,strokeWidth:C,strokeLinecap:S,strokeLinejoin:M,strokeMiterlimit:N,paintOrder:F}){T===null&&(a=null,c=null),E===null&&(l=null,f=null),re(T)?!re(E)&&(!re(a)||I?.fill)&&(E="none"):re(E)&&(!re(l)||I?.stroke)&&(T="none");let[R,k]=Be(a,T),[$,P]=se(c,D),[U,W]=Be(l,E),[et,rt]=se(f,O),[at,Y]=se(y);ta(W)||(u===void 0&&(u=C),h===void 0&&(h=S),d===void 0&&(d=M),p===void 0&&!ZF(d)&&(p=N),!ta(k)&&w===void 0&&(w=F));let[ot,j]=se(u);return T!==null&&(e.fill=fe(k,"currentColor"),e.fillOpacity=Xm(P,1)),E!==null&&(e.stroke=fe(W,"none"),e.strokeWidth=Xm(j,1),e.strokeOpacity=Xm(rt,1),e.strokeLinejoin=fe(d,"miter"),e.strokeLinecap=fe(h,"butt"),e.strokeMiterlimit=Xm(p,4),e.strokeDasharray=fe(m,"none"),e.strokeDashoffset=fe(g,"0")),e.target=qe(s),e.ariaLabel=qe(A),e.ariaDescription=qe(i),e.ariaHidden=qe(o),e.opacity=Xm(Y,1),e.mixBlendMode=fe(x,"normal"),e.imageFilter=fe(b,"none"),e.paintOrder=fe(w,"normal"),e.pointerEvents=fe(_,"auto"),e.shapeRendering=fe(v,"auto"),{title:{value:t,optional:!0,filter:null},href:{value:n,optional:!0,filter:null},ariaLabel:{value:r,optional:!0,filter:null},fill:{value:R,scale:"auto",optional:!0},fillOpacity:{value:$,scale:"auto",optional:!0},stroke:{value:U,scale:"auto",optional:!0},strokeOpacity:{value:et,scale:"auto",optional:!0},strokeWidth:{value:ot,optional:!0},opacity:{value:at,scale:"auto",optional:!0}}}function jJ(e,t){t&&e.filter(n=>Bm(t[n])).append("title").call(YJ,t)}function VJ(e,t){t&&e.filter(([n])=>Bm(t[n])).append("title").call(XJ,t)}function YJ(e,t){t&&e.text(n=>Vi(t[n]))}function XJ(e,t){t&&e.text(([n])=>Vi(t[n]))}function Qt(e,{target:t,tip:n},{ariaLabel:r,title:i,fill:o,fillOpacity:s,stroke:a,strokeOpacity:c,strokeWidth:l,opacity:u,href:f}){r&&ft(e,"aria-label",d=>r[d]),o&&ft(e,"fill",d=>o[d]),s&&ft(e,"fill-opacity",d=>s[d]),a&&ft(e,"stroke",d=>a[d]),c&&ft(e,"stroke-opacity",d=>c[d]),l&&ft(e,"stroke-width",d=>l[d]),u&&ft(e,"opacity",d=>u[d]),f&&m7(e,d=>f[d],t),n||jJ(e,i)}function Tl(e,{target:t,tip:n},{ariaLabel:r,title:i,fill:o,fillOpacity:s,stroke:a,strokeOpacity:c,strokeWidth:l,opacity:u,href:f}){r&&ft(e,"aria-label",([d])=>r[d]),o&&ft(e,"fill",([d])=>o[d]),s&&ft(e,"fill-opacity",([d])=>s[d]),a&&ft(e,"stroke",([d])=>a[d]),c&&ft(e,"stroke-opacity",([d])=>c[d]),l&&ft(e,"stroke-width",([d])=>l[d]),u&&ft(e,"opacity",([d])=>u[d]),f&&m7(e,([d])=>f[d],t),n||VJ(e,i)}function GJ({ariaLabel:e,title:t,fill:n,fillOpacity:r,stroke:i,strokeOpacity:o,strokeWidth:s,opacity:a,href:c},{tip:l}){return[e,l?void 0:t,n,r,i,o,s,a,c].filter(u=>u!==void 0)}function Gm(e,t,n){let r=cn(e,i=>t[i]);return n===void 0&&r.size>1+e.length>>1&&Vn("Warning: the implicit z channel has high cardinality. This may occur when the fill or stroke channel is associated with quantitative data rather than ordinal or categorical data. You can suppress this warning by setting the z option explicitly; if this data represents a single series, set z to null."),r.values()}function*Dw(e,t,n,r){let{z:i}=n,{z:o}=r,s=GJ(r,n),a=[...t,...s];for(let c of o?Gm(e,o,i):[e]){let l,u;t:for(let f of c){for(let d of a)if(!ze(d[f])){u&&u.push(-1);continue t}if(l===void 0){u&&(yield u),l=s.map(d=>Qs(d[f])),u=[f];continue}u.push(f);for(let d=0;d<s.length;++d)if(Qs(s[d][f])!==l[d]){yield u,l=s.map(p=>Qs(p[f])),u=[f];continue t}}u&&(yield u)}}function WJ(e,t,n,r){let i,{clip:o=r.clip}=t;switch(o){case"frame":{let{width:s,height:a,marginLeft:c,marginRight:l,marginTop:u,marginBottom:f}=n,d=Ew();i=`url(#${d})`,e=ut("svg:g",r).call(h=>h.append("svg:clipPath").attr("id",d).append("rect").attr("x",c).attr("y",u).attr("width",s-l-c).attr("height",a-u-f)).each(function(){this.appendChild(e.node()),e.node=()=>this});break}case"sphere":{let{projection:s}=r;if(!s)throw new Error('the "sphere" clip option requires a projection');let a=Ew();i=`url(#${a})`,e.append("clipPath").attr("id",a).append("path").attr("d",En(s)({type:"Sphere"}));break}}ft(e,"aria-label",t.ariaLabel),ft(e,"aria-description",t.ariaDescription),ft(e,"aria-hidden",t.ariaHidden),ft(e,"clip-path",i)}function Ct(e,t,n,r){WJ(e,t,n,r),ft(e,"fill",t.fill),ft(e,"fill-opacity",t.fillOpacity),ft(e,"stroke",t.stroke),ft(e,"stroke-width",t.strokeWidth),ft(e,"stroke-opacity",t.strokeOpacity),ft(e,"stroke-linejoin",t.strokeLinejoin),ft(e,"stroke-linecap",t.strokeLinecap),ft(e,"stroke-miterlimit",t.strokeMiterlimit),ft(e,"stroke-dasharray",t.strokeDasharray),ft(e,"stroke-dashoffset",t.strokeDashoffset),ft(e,"shape-rendering",t.shapeRendering),ft(e,"filter",t.imageFilter),ft(e,"paint-order",t.paintOrder);let{pointerEvents:i=r.pointerSticky===!1?"none":void 0}=t;ft(e,"pointer-events",i)}function Lt(e,t){HJ(e,"mix-blend-mode",t.mixBlendMode),ft(e,"opacity",t.opacity)}function m7(e,t,n){e.each(function(r){let i=t(r);if(i!=null){let o=this.ownerDocument.createElementNS(oi.svg,"a");o.setAttribute("fill","inherit"),o.setAttributeNS(oi.xlink,"href",i),n!=null&&o.setAttribute("target",n),this.parentNode.insertBefore(o,this).appendChild(this)}})}function ft(e,t,n){n!=null&&e.attr(t,n)}function HJ(e,t,n){n!=null&&e.style(t,n)}function Et(e,t,{x:n,y:r},i=Ce,o=Ce){i+=t.dx,o+=t.dy,n?.bandwidth&&(i+=n.bandwidth()/2),r?.bandwidth&&(o+=r.bandwidth()/2),(i||o)&&e.attr("transform",`translate(${i},${o})`)}function fe(e,t){if((e=qe(e))!==t)return e}function Xm(e,t){if((e=Bt(e))!==t)return e}var ZJ=/^-?([_a-z]|[\240-\377]|\\[0-9a-f]{1,6}(\r\n|[ \t\r\n\f])?|\\[^\r\n\f0-9a-f])([_a-z0-9-]|[\240-\377]|\\[0-9a-f]{1,6}(\r\n|[ \t\r\n\f])?|\\[^\r\n\f0-9a-f])*$/i;function Uf(e){if(e===void 0)return"plot-d6a7b5";if(e=`${e}`,!ZJ.test(e))throw new Error(`invalid class name: ${e}`);return e}function zf(e,t){if(typeof t=="string")e.property("style",t);else if(t!=null)for(let n of e)Object.assign(n.style,t)}function xn({frameAnchor:e},{width:t,height:n,marginTop:r,marginRight:i,marginBottom:o,marginLeft:s}){return[/left$/.test(e)?s:/right$/.test(e)?t-i:(s+t-i)/2,/^top/.test(e)?r:/^bottom/.test(e)?n-o:(r+n-o)/2]}function g7(e,t,n={}){let r=.5-Ce,i=.5+Ce,o=.5+Ce,s=.5-Ce;for(let{marginTop:m,marginRight:g,marginBottom:y,marginLeft:x}of t)m>r&&(r=m),g>i&&(i=g),y>o&&(o=y),x>s&&(s=x);let{margin:a,marginTop:c=a!==void 0?a:r,marginRight:l=a!==void 0?a:i,marginBottom:u=a!==void 0?a:o,marginLeft:f=a!==void 0?a:s}=n;c=+c,l=+l,u=+u,f=+f;let{width:d=640,height:h=JJ(e,n,{width:d,marginTopDefault:r,marginRightDefault:i,marginBottomDefault:o,marginLeftDefault:s})+Math.max(0,c-r+u-o)}=n;d=+d,h=+h;let p={width:d,height:h,marginTop:c,marginRight:l,marginBottom:u,marginLeft:f};if(e.fx||e.fy){let{margin:m,marginTop:g=m!==void 0?m:c,marginRight:y=m!==void 0?m:l,marginBottom:x=m!==void 0?m:u,marginLeft:b=m!==void 0?m:f}=n.facet??{};g=+g,y=+y,x=+x,b=+b,p.facet={marginTop:g,marginRight:y,marginBottom:x,marginLeft:b}}return p}function JJ({x:e,y:t,fy:n,fx:r},{projection:i,aspectRatio:o},{width:s,marginTopDefault:a,marginRightDefault:c,marginBottomDefault:l,marginLeftDefault:u}){let f=n?n.scale.domain().length:1,d=IR(i);if(d){let p=r?r.scale.domain().length:1,m=(1.1*f-.1)/(1.1*p-.1)*d,g=Math.max(.1,Math.min(10,m));return Math.round((s-u-c)*g+a+l)}let h=t?Ro(t)?t.scale.domain().length:Math.max(7,17/f):1;if(o!=null){if(o=+o,!(isFinite(o)&&o>0))throw new Error(`invalid aspectRatio: ${o}`);let p=y7("y",t)/(y7("x",e)*o),m=r?r.scale.bandwidth():1,g=n?n.scale.bandwidth():1,y=m*(s-u-c)-e.insetLeft-e.insetRight;return(p*y+t.insetTop+t.insetBottom)/g+a+l}return!!(t||n)*Math.max(1,Math.min(60,h*f))*20+!!r*30+60}function y7(e,t){if(!t)throw new Error(`aspectRatio requires ${e} scale`);let{type:n,domain:r}=t,i;switch(n){case"linear":case"utc":case"time":i=Number;break;case"pow":{let a=t.scale.exponent();i=c=>Math.pow(c,a);break}case"log":i=Math.log;break;case"point":case"band":return r.length;default:throw new Error(`unsupported ${e} scale for aspectRatio: ${n}`)}let[o,s]=le(r);return Math.abs(i(s)-i(o))}function b7(e,t){let{fx:n,fy:r}=Ym(e,t),i=n?.scale.domain(),o=r?.scale.domain();return i&&o?G0(i,o).map(([s,a],c)=>({x:s,y:a,i:c})):i?i.map((s,a)=>({x:s,i:a})):o?o.map((s,a)=>({y:s,i:a})):void 0}function w7(e,{x:t,y:n}){return t&&=BT(t),n&&=BT(n),e.filter(t&&n?r=>t.has(r.x)&&n.has(r.y):t?r=>t.has(r.x):r=>n.has(r.y)).sort(t&&n?(r,i)=>t.get(r.x)-t.get(i.x)||n.get(r.y)-n.get(i.y):t?(r,i)=>t.get(r.x)-t.get(i.x):(r,i)=>n.get(r.y)-n.get(i.y))}function Bw(e,{fx:t,fy:n}){let r=ar(e),i=t?.value,o=n?.value;return t&&n?$i(r,s=>(s.fx=i[s[0]],s.fy=o[s[0]],s),s=>i[s],s=>o[s]):t?$i(r,s=>(s.fx=i[s[0]],s),s=>i[s]):$i(r,s=>(s.fy=o[s[0]],s),s=>o[s])}function v7(e,t,{marginTop:n,marginLeft:r}){return e&&t?({x:i,y:o})=>`translate(${e(i)-r},${t(o)-n})`:e?({x:i})=>`translate(${e(i)-r},0)`:({y:i})=>`translate(0,${t(i)-n})`}function _7(e){let t=[],n=new Uint32Array(An(e,r=>r.length));for(let r of e){let i=0;for(let o of e)r!==o&&(n.set(o,i),i+=o.length);t.push(n.slice(0,i))}return t}var QJ=new Map([["top",ET],["right",OT],["bottom",NT],["left",DT],["top-left",Ow(ET,DT)],["top-right",Ow(ET,OT)],["bottom-left",Ow(NT,DT)],["bottom-right",Ow(NT,OT)],["top-empty",tQ],["right-empty",rQ],["bottom-empty",eQ],["left-empty",nQ],["empty",iQ]]);function S7(e){if(e==null)return null;let t=QJ.get(`${e}`.toLowerCase());if(t)return t;throw new Error(`invalid facet anchor: ${e}`)}var x7=new WeakMap;function BT(e){let t=x7.get(e);return t||x7.set(e,t=new Zn(Gt(e,(n,r)=>[n,r]))),t}function ic(e,t){return BT(e).get(t)}function KJ(e,t,n){return t=Qs(t),n=Qs(n),e.find(r=>Object.is(Qs(r.x),t)&&Object.is(Qs(r.y),n))}function Lw(e,t,n){return KJ(e,t,n)?.empty}function ET(e,{y:t},{y:n}){return t?ic(t,n)===0:!0}function NT(e,{y:t},{y:n}){return t?ic(t,n)===t.length-1:!0}function DT(e,{x:t},{x:n}){return t?ic(t,n)===0:!0}function OT(e,{x:t},{x:n}){return t?ic(t,n)===t.length-1:!0}function tQ(e,{y:t},{x:n,y:r,empty:i}){if(i)return!1;if(!t)return;let o=ic(t,r);if(o>0)return Lw(e,n,t[o-1])}function eQ(e,{y:t},{x:n,y:r,empty:i}){if(i)return!1;if(!t)return;let o=ic(t,r);if(o<t.length-1)return Lw(e,n,t[o+1])}function nQ(e,{x:t},{x:n,y:r,empty:i}){if(i)return!1;if(!t)return;let o=ic(t,n);if(o>0)return Lw(e,t[o-1],r)}function rQ(e,{x:t},{x:n,y:r,empty:i}){if(i)return!1;if(!t)return;let o=ic(t,n);if(o<t.length-1)return Lw(e,t[o+1],r)}function iQ(e,t,{empty:n}){return n}function Ow(e,t){return function(){return e.apply(null,arguments)&&t.apply(null,arguments)}}function Cw(e,{channels:{fx:t,fy:n},groups:r}){return t&&n?e.map(({x:i,y:o})=>r.get(i)?.get(o)??[]):t?e.map(({x:i})=>r.get(i)??[]):e.map(({y:i})=>r.get(i)??[])}var St=class{constructor(t,n={},r={},i){let{facet:o="auto",facetAnchor:s,fx:a,fy:c,sort:l,dx:u=0,dy:f=0,margin:d=0,marginTop:h=d,marginRight:p=d,marginBottom:m=d,marginLeft:g=d,clip:y=i?.clip,channels:x,tip:b,render:w}=r;if(this.data=t,this.sort=Lo(l)?l:null,this.initializer=Ie(r).initializer,this.transform=this.initializer?r.transform:yn(r).transform,o===null||o===!1?this.facet=null:(this.facet=sn(o===!0?"include":o,"facet",["auto","include","exclude","super"]),this.fx=t===Wa&&typeof a=="string"?[a]:a,this.fy=t===Wa&&typeof c=="string"?[c]:c),this.facetAnchor=S7(s),n=Rm(n),x!==void 0&&(n={...oQ(x),...n}),i!==void 0&&(n={...Nw(this,r,i),...n}),this.channels=Object.fromEntries(Object.entries(n).map(([_,v])=>{if(jr(v.value)){let{value:I,label:A=v.label,scale:T=v.scale}=v.value;v={...v,label:A,scale:T,value:I}}if(t===Wa&&typeof v.value=="string"){let{value:I}=v;v={...v,value:[I]}}return[_,v]}).filter(([_,{value:v,optional:I}])=>{if(v!=null)return!0;if(I)return!1;throw new Error(`missing channel value: ${_}`)})),this.dx=+u,this.dy=+f,this.marginTop=+h,this.marginRight=+p,this.marginBottom=+m,this.marginLeft=+g,this.clip=fw(y),this.tip=sQ(b),this.facet==="super"){if(a||c)throw new Error("super-faceting cannot use fx or fy");for(let _ in this.channels){let{scale:v}=n[_];if(!(v!=="x"&&v!=="y"))throw new Error("super-faceting cannot use x or y")}}w!=null&&(this.render=qf(w,this.render))}initialize(t,n,r){let i=je(this.data);t===void 0&&i!=null&&(t=[ar(i)]);let o=t;this.transform!=null&&({facets:t,data:i}=this.transform(i,t,r),i=je(i)),t!==void 0&&(t.original=o);let s=bw(this.channels,i);return this.sort!=null&&pR(i,t,s,n,this.sort),{data:i,facets:t,channels:s}}filter(t,n,r){for(let i in n){let{filter:o=ze}=n[i];if(o!==null){let s=r[i];t=t.filter(a=>o(s[a]))}}return t}project(t,n,r){for(let i in t)if(t[i].scale==="x"&&/^x|x$/.test(i)){let o=i.replace(/^x|x$/,"y");o in t&&t[o].scale==="y"&&yT(i,o,n,r.projection)}}scale(t,n,r){let i=Lf(t,n);return r.projection&&this.project(t,i,r),i}};function tn(...e){return e.plot=St.prototype.plot,e}function qf(e,t){if(e==null)return t===null?void 0:t;if(t==null)return e===null?void 0:e;if(typeof e!="function")throw new TypeError(`invalid render transform: ${e}`);if(typeof t!="function")throw new TypeError(`invalid render transform: ${t}`);return function(n,r,i,o,s,a){return e.call(this,n,r,i,o,s,(c,l,u,f,d)=>t.call(this,c,l,u,f,d,a))}}function oQ(e){return Object.fromEntries(Object.entries(Rm(e)).map(([t,n])=>(n=typeof n=="string"?{value:n,label:t}:pi(n),n.filter===void 0&&n.scale==null&&(n={...n,filter:null}),[t,n])))}function sQ(e){return e===!0?"xy":e===!1||e==null?null:typeof e=="string"?sn(e,"tip",["x","y","xy"]):e}function Yi(e,t){return e?.tip===!0?{...e,tip:t}:pn(e?.tip)&&e.tip.pointer===void 0?{...e,tip:{...e.tip,pointer:t}}:e}var I7=new WeakMap;function LT(e,t,{x:n,y:r,px:i,py:o,maxRadius:s=40,channels:a,render:c,...l}={}){return s=+s,i!=null&&(n??=null,a={...a,px:{value:i,scale:"x"}}),o!=null&&(r??=null,a={...a,py:{value:o,scale:"y"}}),{x:n,y:r,channels:a,...l,render:qf(function(u,f,d,h,p,m){p={...p,pointerSticky:!1};let g=p.ownerSVGElement,{data:y}=p.getMarkState(this),x=I7.get(g);x||I7.set(g,x={sticky:!1,roots:[],renders:[]});let b=x.renders.push(W)-1,{x:w,y:_,fx:v,fy:I}=f,A=v?v(u.fx)-h.marginLeft:0,T=I?I(u.fy)-h.marginTop:0;w?.bandwidth&&(A+=w.bandwidth()/2),_?.bandwidth&&(T+=_.bandwidth()/2);let D=u.fi!=null,E;if(D){let Y=x.facetStates;Y||(x.facetStates=Y=new Map),E=Y.get(this),E||Y.set(this,E=new Map)}let[O,C]=xn(this,h),{px:S,py:M}=d,N=S?Y=>S[Y]:CT(d,O),F=M?Y=>M[Y]:kT(d,C),R,k,$,P;function U(Y,ot){if(D)if(P&&(P=cancelAnimationFrame(P)),Y==null)E.delete(u.fi);else{E.set(u.fi,ot),P=requestAnimationFrame(()=>{P=null;for(let[j,H]of E)if(H<ot||H===ot&&j<u.fi){Y=null;break}W(Y)});return}W(Y)}function W(Y){if(R===Y&&$===x.sticky)return;R=Y,$=p.pointerSticky=x.sticky;let ot=R==null?[]:[R];D&&(ot.fx=u.fx,ot.fy=u.fy,ot.fi=u.fi);let j=m(ot,f,d,h,p);if(k){if(D){let H=k.parentNode,nt=k.getAttribute("transform"),z=j.getAttribute("transform");nt?j.setAttribute("transform",nt):j.removeAttribute("transform"),z?H.setAttribute("transform",z):H.removeAttribute("transform"),j.removeAttribute("aria-label"),j.removeAttribute("aria-description"),j.removeAttribute("aria-hidden")}k.replaceWith(j)}return x.roots[b]=k=j,R==null&&E?.size>1||p.dispatchValue(R==null?null:y[R]),j}function et(Y){if(x.sticky||Y.pointerType==="mouse"&&Y.buttons===1)return;let[ot,j]=kn(Y);ot-=A,j-=T;let H=ot<h.marginLeft||ot>h.width-h.marginRight?1:e,nt=j<h.marginTop||j>h.height-h.marginBottom?1:t,z=null,kt=s*s;for(let dt of u){let Wt=H*(N(dt)-ot),Zt=nt*(F(dt)-j),K=Wt*Wt+Zt*Zt;K<=kt&&(z=dt,kt=K)}if(z!=null&&(e!==1||t!==1)){let dt=N(z)-ot,Wt=F(z)-j;kt=dt*dt+Wt*Wt}U(z,kt)}function rt(Y){Y.pointerType==="mouse"&&R!=null&&(x.sticky&&x.roots.some(ot=>ot?.contains(Y.target))||(x.sticky?(x.sticky=!1,x.renders.forEach(ot=>ot(null))):(x.sticky=!0,W(R)),Y.stopImmediatePropagation()))}function at(Y){Y.pointerType==="mouse"&&(x.sticky||U(null))}return g.addEventListener("pointerenter",et),g.addEventListener("pointermove",et),g.addEventListener("pointerdown",rt),g.addEventListener("pointerleave",at),W(null)},c)}}function jf(e){return LT(1,1,e)}function Vf(e){return LT(1,.01,e)}function El(e){return LT(.01,1,e)}function CT({x1:e,x2:t,x:n=e},r){return e&&t?i=>(e[i]+t[i])/2:n?i=>n[i]:()=>r}function kT({y1:e,y2:t,y:n=e},r){return e&&t?i=>(e[i]+t[i])/2:n?i=>n[i]:()=>r}function kw(e){return Ro(e)&&e.interval===void 0?void 0:"tabular-nums"}function M7(e,t){let{label:n=e.label,tickSize:r=6,width:i=240,height:o=44+r,marginTop:s=18,marginRight:a=0,marginBottom:c=16+r,marginLeft:l=0,style:u,ticks:f=(i-l-a)/64,tickFormat:d,fontVariant:h=kw(e),round:p=!0,opacity:m,className:g}=t,y=nc(t);g=Uf(g),m=se(m)[1],d===null&&(d=()=>null);let x=ut("svg",y).attr("class",`${g}-ramp`).attr("font-family","system-ui, sans-serif").attr("font-size",10).attr("width",i).attr("height",o).attr("viewBox",`0 0 ${i} ${o}`).call(O=>O.append("style").text(`:where(.${g}-ramp) {
|
|
15
|
+
${n}`}function tQ(e){return e==="time"?vw:e==="utc"?Qm:QJ}function SF(e,t,n){let r=Jt(gx(t,(i,o)=>Math.abs(o-i)));if(r<1e3)return wF("millisecond","utc",n);for(let[i,o,s,a]of tQ(e)){if(r>a||i==="hour"&&!r)break;if(t.every(c=>o.floor(c)>=c))return wF(i,s,n)}}function Df(e,t,n){return(r,i,o)=>{let s=e(r,i),a=t(r,i),c=i-Js(o);return i!==c&&o[c]!==void 0&&a===t(o[c],c)?s:n(s,a)}}var El=Object.getPrototypeOf(Uint8Array),eQ=Object.prototype.toString,x3=Symbol("reindex");function wt(e,t,n){let r=typeof t;return r==="string"?IF(e,b3(t),n):r==="function"?IF(e,t,n):r==="number"||t instanceof Date||r==="boolean"?Wt(e,yn(t),n):typeof t?.transform=="function"?MF(t.transform(e),n):nQ(MF(t,n),e?.[x3])}function nQ(e,t){return t?ey(e,t):e}function IF(e,t,n){return Wt(e,n?.prototype instanceof El?rQ(t):t,n)}function MF(e,t){return t===void 0?je(e):e instanceof t?e:t.prototype instanceof El&&!(e instanceof El)?t.from(e,w3):t.from(e)}function rQ(e){return(t,n)=>w3(e(t,n))}var Ha=[null],b3=e=>t=>t[e],Ee={transform:lr},G={transform:e=>e};var ty=()=>1,AF=()=>!0,qe=e=>e==null?e:`${e}`,Bt=e=>e==null?e:+e;var Dl=e=>e?e[0]:void 0,Za=e=>e?e[1]:void 0,TF=e=>e?e[2]:void 0,yn=e=>()=>e;function Lf(e){let t=+`${e}`.slice(1)/100;return(n,r)=>tr(n,t,r)}function en(e){return e instanceof El?e:Wt(e,w3,Float64Array)}function w3(e){return e==null?NaN:Number(e)}function EF(e){return Wt(e,v3)}function v3(e){return e instanceof Date&&!isNaN(e)?e:typeof e=="string"?Jm(e):e==null||isNaN(e=+e)?void 0:new Date(e)}function Le(e,t){return e===void 0&&(e=t),e===null?[void 0,"none"]:Ka(e)?[void 0,e]:[e,void 0]}function ae(e,t){return e===void 0&&(e=t),e===null||typeof e=="number"?[void 0,e]:[e,void 0]}function _3(e,t,n){if(e!=null)return cn(e,t,n)}function cn(e,t,n){let r=`${e}`.toLowerCase();if(!n.includes(r))throw new Error(`invalid ${t}: ${e}`);return r}function je(e){return e==null||e instanceof Array||e instanceof El?e:Array.from(e)}function Wt(e,t,n=Array){return e==null?e:e instanceof n?e.map(t):n.from(e,t)}function Ja(e,t=Array){return e instanceof t?e.slice():t.from(e)}function S3({x:e,x1:t,x2:n}){return e!==void 0||t!==void 0||n!==void 0}function I3({y:e,y1:t,y2:n}){return e!==void 0||t!==void 0||n!==void 0}function Bf(e){return S3(e)||I3(e)||e.interval!==void 0}function gn(e){return e?.toString===eQ}function Vo(e){return gn(e)&&(e.type!==void 0||e.domain!==void 0)}function Vr(e){return gn(e)&&typeof e.transform!="function"}function Yo(e){return Vr(e)&&e.value===void 0&&e.channel===void 0}function M3(e,t,n,r=G){return t===void 0&&n===void 0?(t=0,n=e===void 0?r:e):t===void 0?t=e===void 0?0:e:n===void 0&&(n=e===void 0?0:e),[t,n]}function Pe(e,t){return e===void 0&&t===void 0?[Dl,Za]:[e,t]}function Vn({z:e,fill:t,stroke:n}={}){return e===void 0&&([e]=Le(t)),e===void 0&&([e]=Le(n)),e}function lr(e){let t=e.length,n=new Uint32Array(t);for(let r=0;r<t;++r)n[r]=r;return n}function ey(e,t){return Wt(t,n=>e[n],e.constructor)}function Cf(e){return e.length===1?(t,n)=>e(ey(n,t)):e}function Qs(e,t,n){return e.subarray?e.subarray(t,n):e.slice(t,n)}function Ks(e){return e!==null&&typeof e=="object"?e.valueOf():e}function Iw(e,t){if(t[e]!==void 0)return t[e];switch(e){case"x1":case"x2":e="x";break;case"y1":case"y2":e="y";break}return t[e]}function xn(e){let t;return[{transform:()=>t,label:Cn(e)},n=>t=n]}function Bn(e){return e==null?[e]:xn(e)}function Cn(e,t){return typeof e=="string"?e:e&&e.label!==void 0?e.label:t}function kf(e,t){return{transform(n){let r=e.transform(n),i=t.transform(n);return Be(r)||Be(i)?Wt(r,(o,s)=>new Date((+r[s]+ +i[s])/2)):Wt(r,(o,s)=>(+r[s]+ +i[s])/2,Float64Array)},label:e.label}}function Nl(e,t){let n=A3(t?.interval,t?.type);return n?Wt(e,n):e}function A3(e,t){let n=Rf(e,t);return n&&(r=>ze(r)?n.floor(r):r)}function Rf(e,t){if(e!=null){if(typeof e=="number"){0<e&&e<1&&Number.isInteger(1/e)&&(e=-1/e);let n=Math.abs(e);return e<0?{floor:r=>Math.floor(r*n)/n,offset:r=>(r*n+1)/n,range:(r,i)=>Ue(Math.ceil(r*n),i*n).map(o=>o/n)}:{floor:r=>Math.floor(r/n)*n,offset:r=>r+n,range:(r,i)=>Ue(Math.ceil(r/n),i/n).map(o=>o*n)}}if(typeof e=="string")return(t==="time"?y3:Km)(e);if(typeof e.floor!="function")throw new Error("invalid interval; missing floor method");if(typeof e.offset!="function")throw new Error("invalid interval; missing offset method");return e}}function Xo(e,t){if(e=Rf(e,t),e&&typeof e.range!="function")throw new Error("invalid interval: missing range method");return e}function DF(e,t){if(e=Xo(e,t),e&&typeof e.ceil!="function")throw new Error("invalid interval: missing ceil method");return e}function NF(e){return Qa(e)&&typeof e?.floor=="function"&&e.floor()instanceof Date}function Qa(e){return typeof e?.range=="function"}function wi(e){return e===void 0||Vr(e)?e:{value:e}}function OF(e){return e==null?null:{transform:t=>wt(t,e,Float64Array),label:Cn(e)}}function LF(e){if(!ur(e))return!1;for(let t of e)if(t!=null)return typeof t=="object"&&"0"in t&&"1"in t}function ur(e){return e&&typeof e[Symbol.iterator]=="function"}function Mw(e){for(let t of e)if(t!=null)return typeof t!="object"||t instanceof Date}function De(e){for(let t of e){if(t==null)continue;let n=typeof t;return n==="string"||n==="boolean"}}function Be(e){for(let t of e)if(t!=null)return t instanceof Date}function BF(e){for(let t of e)if(t!=null)return typeof t=="string"&&isNaN(t)&&Jm(t)}function CF(e){for(let t of e)if(t!=null){if(typeof t!="string")return!1;if(t.trim())return!isNaN(t)}}function ta(e){for(let t of e)if(t!=null)return typeof t=="number"}function Aw(e,t){let n;for(let r of e)if(r!=null){if(!t(r))return!1;n=!0}return n}var iQ=new Set("none,currentcolor,transparent,aliceblue,antiquewhite,aqua,aquamarine,azure,beige,bisque,black,blanchedalmond,blue,blueviolet,brown,burlywood,cadetblue,chartreuse,chocolate,coral,cornflowerblue,cornsilk,crimson,cyan,darkblue,darkcyan,darkgoldenrod,darkgray,darkgreen,darkgrey,darkkhaki,darkmagenta,darkolivegreen,darkorange,darkorchid,darkred,darksalmon,darkseagreen,darkslateblue,darkslategray,darkslategrey,darkturquoise,darkviolet,deeppink,deepskyblue,dimgray,dimgrey,dodgerblue,firebrick,floralwhite,forestgreen,fuchsia,gainsboro,ghostwhite,gold,goldenrod,gray,green,greenyellow,grey,honeydew,hotpink,indianred,indigo,ivory,khaki,lavender,lavenderblush,lawngreen,lemonchiffon,lightblue,lightcoral,lightcyan,lightgoldenrodyellow,lightgray,lightgreen,lightgrey,lightpink,lightsalmon,lightseagreen,lightskyblue,lightslategray,lightslategrey,lightsteelblue,lightyellow,lime,limegreen,linen,magenta,maroon,mediumaquamarine,mediumblue,mediumorchid,mediumpurple,mediumseagreen,mediumslateblue,mediumspringgreen,mediumturquoise,mediumvioletred,midnightblue,mintcream,mistyrose,moccasin,navajowhite,navy,oldlace,olive,olivedrab,orange,orangered,orchid,palegoldenrod,palegreen,paleturquoise,palevioletred,papayawhip,peachpuff,peru,pink,plum,powderblue,purple,rebeccapurple,red,rosybrown,royalblue,saddlebrown,salmon,sandybrown,seagreen,seashell,sienna,silver,skyblue,slateblue,slategray,slategrey,snow,springgreen,steelblue,tan,teal,thistle,tomato,turquoise,violet,wheat,white,whitesmoke,yellow".split(","));function Ka(e){return typeof e!="string"?!1:(e=e.toLowerCase().trim(),/^#[0-9a-f]{3,8}$/.test(e)||/^(?:url|var|rgb|rgba|hsl|hsla|hwb|lab|lch|oklab|oklch|color|color-mix)\(.*\)$/.test(e)||iQ.has(e))}function kF(e){return typeof e=="number"&&(0<=e&&e<=1||isNaN(e))}function ie(e){return e==null||ea(e)}function ea(e){return/^\s*none\s*$/i.test(e)}function RF(e){return/^\s*round\s*$/i.test(e)}function Tw(e,t){return _3(e,t,["middle","top-left","top","top-right","right","bottom-right","bottom","bottom-left","left"])}function Go(e="middle"){return Tw(e,"frameAnchor")}function FF(e={},...t){let n=e;for(let r of t)for(let i in r)if(n[i]===void 0){let o=r[i];n===e?n={...n,[i]:o}:n[i]=o}return n}function oQ(e){console.warn("named iterables are deprecated; please use an object instead");let t=new Set;return Object.fromEntries(Array.from(e,n=>{let{name:r}=n;if(r==null)throw new Error("missing name");let i=`${r}`;if(i==="__proto__")throw new Error(`illegal name: ${i}`);if(t.has(i))throw new Error(`duplicate name: ${i}`);return t.add(i),[r,n]}))}function ny(e){return ur(e)?oQ(e):e}function Ew(e){return e===!0?e="frame":e===!1?e=null:e!=null&&(e=cn(e,"clip",["frame","sphere"])),e}var vi=Symbol("position"),Yr=Symbol("color"),Ol=Symbol("radius"),Ll=Symbol("length"),Bl=Symbol("opacity"),Ff=Symbol("symbol"),$F=Symbol("projection"),de=new Map([["x",vi],["y",vi],["fx",vi],["fy",vi],["r",Ol],["color",Yr],["opacity",Bl],["symbol",Ff],["length",Ll],["projection",$F]]);function PF(e){return e===vi||e===$F}function UF(e){return e===vi||e===Ol||e===Ll||e===Bl}var T3=Math.sqrt(3),E3=2/T3,sQ={draw(e,t){let n=Math.sqrt(t/Math.PI),r=n*E3,i=r/2;e.moveTo(0,r),e.lineTo(n,i),e.lineTo(n,-i),e.lineTo(0,-r),e.lineTo(-n,-i),e.lineTo(-n,i),e.closePath()}},D3=new Map([["asterisk",km],["circle",Hs],["cross",Rm],["diamond",Fm],["diamond2",$m],["hexagon",sQ],["plus",Pm],["square",Um],["square2",zm],["star",qm],["times",Sf],["triangle",jm],["triangle2",Vm],["wye",Ym]]);function N3(e){return e&&typeof e.draw=="function"}function zF(e){return N3(e)?!0:typeof e!="string"?!1:D3.has(e.toLowerCase())}function $f(e){if(e==null||N3(e))return e;let t=D3.get(`${e}`.toLowerCase());if(t)return t;throw new Error(`invalid symbol: ${e}`)}function qF(e){if(e==null||N3(e))return[void 0,e];if(typeof e=="string"){let t=D3.get(`${e}`.toLowerCase());if(t)return[void 0,t]}return[e,void 0]}function bn({filter:e,sort:t,reverse:n,transform:r,initializer:i,...o}={},s){if(r===void 0&&(e!=null&&(r=B3(e)),t!=null&&!Yo(t)&&(r=O3(r,k3(t))),n&&(r=O3(r,C3))),s!=null&&i!=null)throw new Error("transforms cannot be applied after initializers");return{...o,...(t===null||Yo(t))&&{sort:t},transform:O3(r,s)}}function Me({filter:e,sort:t,reverse:n,initializer:r,...i}={},o){return r===void 0&&(e!=null&&(r=B3(e)),t!=null&&!Yo(t)&&(r=L3(r,k3(t))),n&&(r=L3(r,C3))),{...i,...(t===null||Yo(t))&&{sort:t},initializer:L3(r,o)}}function O3(e,t){return e==null?t===null?void 0:t:t==null?e===null?void 0:e:function(n,r,i){return{data:n,facets:r}=e.call(this,n,r,i),t.call(this,je(n),r,i)}}function L3(e,t){return e==null?t===null?void 0:t:t==null?e===null?void 0:e:function(n,r,i,...o){let s,a,c,l,u,f;return{data:a=n,facets:c=r,channels:s}=e.call(this,n,r,i,...o),{data:u=a,facets:f=c,channels:l}=t.call(this,a,c,{...i,...s},...o),{data:u,facets:f,channels:{...s,...l}}}}function Dw(e,t){return(e.initializer!=null?Me:bn)(e,t)}function jF(e,t){return Dw(t,B3(e))}function B3(e){return(t,n)=>{let r=wt(t,e);return{data:t,facets:n.map(i=>i.filter(o=>r[o]))}}}function VF({sort:e,...t}={}){return{...Dw(t,C3),sort:Yo(e)?e:null}}function C3(e,t){return{data:e,facets:t.map(n=>n.slice().reverse())}}function YF({seed:e,sort:t,...n}={}){return{...Dw(n,XF(e==null?Math.random:yl(e))),sort:Yo(t)?t:null}}function Nw(e,{sort:t,...n}={}){return{...(Vr(e)&&e.channel!==void 0?Me:Dw)(n,k3(e)),sort:Yo(t)?t:null}}function k3(e){return(typeof e=="function"&&e.length!==1?aQ:XF)(e)}function aQ(e){return(t,n)=>{let r=(i,o)=>e(t[i],t[o]);return{data:t,facets:n.map(i=>i.slice().sort(r))}}}function XF(e){let t,n;({channel:t,value:e,order:n}={...wi(e)});let r=t?.startsWith("-");if(r&&(t=t.slice(1)),n===void 0&&(n=r?Al:mn),typeof n!="function")switch(`${n}`.toLowerCase()){case"ascending":n=mn;break;case"descending":n=Al;break;default:throw new Error(`invalid order: ${n}`)}return(i,o,s)=>{let a;if(t===void 0)a=wt(i,e);else{if(s===void 0)throw new Error("channel sort requires an initializer");if(a=s[t],!a)return{};a=a.value}let c=(l,u)=>n(a[l],a[u]);return{data:i,facets:o.map(l=>l.slice().sort(c))}}}function iy(e,t){return Ow(null,null,e,t)}function ec(e={y:"count"},t={}){let{x:n=G}=t;if(n==null)throw new Error("missing channel: x");return Ow(n,null,e,t)}function nc(e={x:"count"},t={}){let{y:n=G}=t;if(n==null)throw new Error("missing channel: y");return Ow(null,n,e,t)}function oy(e={fill:"count"},t={}){let{x:n,y:r}=t;if([n,r]=Pe(n,r),n==null)throw new Error("missing channel: x");if(r==null)throw new Error("missing channel: y");return Ow(n,r,e,t)}function Ow(e,t,{data:n=Cw,filter:r,sort:i,reverse:o,...s}={},a={}){s=F3(s,a),n=JF(n,G),i=i==null?void 0:HF("sort",i,a),r=r==null?void 0:ZF("filter",r,a);let[c,l]=Bn(e),[u,f]=Bn(t),{z:h,fill:d,stroke:p,x1:m,x2:y,y1:g,y2:x,...b}=a,[w,_]=Bn(h),[v]=Le(d),[I]=Le(p),[E,M]=Bn(v),[N,A]=Bn(I);return{..."z"in a&&{z:w||h},..."fill"in a&&{fill:E||d},..."stroke"in a&&{stroke:N||p},...bn(b,(O,C,S)=>{let T=Nl(wt(O,e),S?.x),D=Nl(wt(O,t),S?.y),R=wt(O,h),F=wt(O,v),k=wt(O,I),$=sy(s,{z:R,fill:F,stroke:k}),P=[],U=[],W=T&&l([]),nt=D&&f([]),ot=R&&_([]),at=F&&M([]),Y=k&&A([]),st=0;for(let q of s)q.initialize(O);i&&i.initialize(O),r&&r.initialize(O);for(let q of C){let Z=[];for(let rt of s)rt.scope("facet",q);i&&i.scope("facet",q),r&&r.scope("facet",q);for(let[rt,z]of tc(q,$))for(let[Rt,ht]of tc(z,D))for(let[Ht,Qt]of tc(ht,T)){let tt={data:O};if(T&&(tt.x=Ht),D&&(tt.y=Rt),$&&(tt.z=rt),!(r&&!r.reduce(Qt,tt))){Z.push(st++),U.push(n.reduceIndex(Qt,O,tt)),T&&W.push(Ht),D&&nt.push(Rt),R&&ot.push($===R?rt:R[Qt[0]]),F&&at.push($===F?rt:F[Qt[0]]),k&&Y.push($===k?rt:k[Qt[0]]);for(let ce of s)ce.reduce(Qt,tt);i&&i.reduce(Qt,tt)}}P.push(Z)}return $3(P,i,o),{data:U,facets:P}}),...!Wo(s,"x")&&(c?{x:c}:{x1:m,x2:y}),...!Wo(s,"y")&&(u?{y:u}:{y1:g,y2:x}),...Object.fromEntries(s.map(({name:O,output:C})=>[O,C]))}}function Wo(e,...t){for(let{name:n}of e)if(t.includes(n))return!0;return!1}function R3(e,t,n=Lw){let r=Object.entries(e);return t.title!=null&&e.title===void 0&&r.push(["title",dQ]),t.href!=null&&e.href===void 0&&r.push(["href",kw]),r.filter(([,i])=>i!==void 0).map(([i,o])=>o===null?cQ(i):n(i,o,t))}function Lw(e,t,n,r=Bw){let i;gn(t)&&"reduce"in t&&(i=t.scale,t=t.reduce);let o=r(e,t,n),[s,a]=xn(o.label),c;return{name:e,output:i===void 0?s:{value:s,scale:i},initialize(l){o.initialize(l),c=a([])},scope(l,u){o.scope(l,u)},reduce(l,u){c.push(o.reduce(l,u))}}}function cQ(e){return{name:e,initialize(){},scope(){},reduce(){}}}function Bw(e,t,n,r=Pf){let i=Iw(e,n),o=r(t,i),s,a;return{label:Cn(o===ry?null:i,o.label),initialize(c){s=i===void 0?c:wt(c,i),o.scope==="data"&&(a=o.reduceIndex(lr(c),s))},scope(c,l){o.scope===c&&(a=o.reduceIndex(l,s))},reduce(c,l){return o.scope==null?o.reduceIndex(c,s,l):o.reduceIndex(c,s,a,l)}}}function tc(e,t){return t?fn(e,n=>t[n]):[[,e]]}function Pf(e,t,n=lQ){if(e==null)return n(e);if(typeof e.reduceIndex=="function")return e;if(typeof e.reduce=="function"&&gn(e))return fQ(e);if(typeof e=="function")return hQ(e);if(/^p\d{2}$/i.test(e))return na(Lf(e));switch(`${e}`.toLowerCase()){case"first":return kw;case"last":return pQ;case"identity":return Cw;case"count":return ry;case"distinct":return mQ;case"sum":return t==null?ry:yQ;case"proportion":return WF(t,"data");case"proportion-facet":return WF(t,"facet");case"deviation":return na(li);case"min":return na(fe);case"min-index":return na(px);case"max":return na(Jt);case"max-index":return na(dx);case"mean":return GF(Os);case"median":return GF(zi);case"variance":return na(Da);case"mode":return na(Uu)}return n(e)}function lQ(e){throw new Error(`invalid reduce: ${e}`)}function F3(e,t){return R3(e,t,HF)}function HF(e,t,n){return Lw(e,t,n,ZF)}function ZF(e,t,n){return Bw(e,t,n,JF)}function JF(e,t){return Pf(e,t,uQ)}function uQ(e){switch(`${e}`.toLowerCase()){case"x":return gQ;case"y":return xQ;case"z":return P3}throw new Error(`invalid group reduce: ${e}`)}function sy(e,t){for(let n in t){let r=t[n];if(r!==void 0&&!e.some(i=>i.name===n))return r}}function $3(e,t,n){if(t){let r=t.output.transform(),i=(o,s)=>mn(r[o],r[s]);e.forEach(o=>o.sort(i))}n&&e.forEach(r=>r.reverse())}function fQ(e){return console.warn("deprecated reduce interface; implement reduceIndex instead."),{...e,reduceIndex:e.reduce.bind(e)}}function hQ(e){return{reduceIndex(t,n,r){return e(ey(n,t),r)}}}function na(e){return{reduceIndex(t,n){return e(t,r=>n[r])}}}function GF(e){return{reduceIndex(t,n){let r=e(t,i=>n[i]);return Be(n)?new Date(r):r}}}var Cw={reduceIndex(e,t){return ey(t,e)}},kw={reduceIndex(e,t){return t[e[0]]}},dQ={reduceIndex(e,t){let r=Ds(Ui(e,o=>o.length,o=>t[o]),Za),i=r.slice(-5).reverse();if(i.length<r.length){let o=r.slice(0,-4);i[4]=[`\u2026 ${o.length.toLocaleString("en-US")} more`,Dn(o,Za)]}return i.map(([o,s])=>`${o} (${s.toLocaleString("en-US")})`).join(`
|
|
16
|
+
`)}},pQ={reduceIndex(e,t){return t[e[e.length-1]]}},ry={label:"Frequency",reduceIndex(e){return e.length}},mQ={label:"Distinct",reduceIndex(e,t){let n=new Kn;for(let r of e)n.add(t[r]);return n.size}},yQ=na(Dn);function WF(e,t){return e==null?{scope:t,label:"Frequency",reduceIndex:(n,r,i=1)=>n.length/i}:{scope:t,reduceIndex:(n,r,i=1)=>Dn(n,o=>r[o])/i}}var gQ={reduceIndex(e,t,{x:n}){return n}},xQ={reduceIndex(e,t,{y:n}){return n}},P3={reduceIndex(e,t,{z:n}){return n}};function QF(e){if(typeof e!="function")throw new Error(`invalid test function: ${e}`);return{reduceIndex(t,n,{data:r}){return n[t.find(i=>e(r[i],i,r))]}}}function Uf(e,{scale:t,type:n,value:r,filter:i,hint:o,label:s=Cn(r)},a){return o===void 0&&typeof r?.transform=="function"&&(o=r.hint),z3(a,{scale:t,type:n,value:wt(e,r),label:s,filter:i,hint:o})}function Rw(e,t){return Object.fromEntries(Object.entries(e).map(([n,r])=>[n,Uf(t,r,n)]))}function zf(e,t){let n=Object.fromEntries(Object.entries(e).map(([r,{scale:i,value:o}])=>{let s=i==null?null:t[i];return[r,s==null?o:Wt(o,s)]}));return n.channels=e,n}function z3(e,t){let{scale:n,value:r}=t;if(n===!0||n==="auto")switch(e){case"fill":case"stroke":case"color":t.scale=n!==!0&&Aw(r,Ka)?null:"color";break;case"fillOpacity":case"strokeOpacity":case"opacity":t.scale=n!==!0&&Aw(r,kF)?null:"opacity";break;case"symbol":n!==!0&&Aw(r,zF)?(t.scale=null,t.value=Wt(r,$f)):t.scale="symbol";break;default:t.scale=de.has(e)?e:null;break}else if(n===!1)t.scale=null;else if(n!=null&&!de.has(n))throw new Error(`unknown scale: ${n}`);return t}function t7(e,t,n,r,i){let{order:o,reverse:s,reduce:a=!0,limit:c}=i;for(let l in i){if(!de.has(l))continue;let{value:u,order:f=o,reverse:h=s,reduce:d=a,limit:p=c}=wi(i[l]),m=u?.startsWith("-");if(m&&(u=u.slice(1)),f=f===void 0?m!==(u==="width"||u==="height")?n7:e7:vQ(f),d==null||d===!1)continue;let y=l==="fx"||l==="fy"?wQ(t,r[l]):bQ(n,l);if(!y)throw new Error(`missing channel for scale: ${l}`);let g=y.value,[x=0,b=1/0]=ur(p)?p:p<0?[p]:[0,p];if(u==null)y.domain=()=>{let w=Array.from(new Kn(g));return h&&(w=w.reverse()),(x!==0||b!==1/0)&&(w=w.slice(x,b)),w};else{let w=u==="data"?e:u==="height"?KF(n,"y1","y2"):u==="width"?KF(n,"x1","x2"):U3(n,u,u==="y"?"y2":u==="x"?"x2":void 0),_=Pf(d===!0?"max":d,w);y.domain=()=>{let v=pI(lr(g),I=>_.reduceIndex(I,w),I=>g[I]);return f&&v.sort(f),h&&v.reverse(),(x!==0||b!==1/0)&&(v=v.slice(x,b)),v.map(Dl)}}}}function bQ(e,t){for(let n in e){let r=e[n];if(r.scale===t)return r}}function wQ(e,t){let n=e.original;if(n===e)return t;let r=t.value,i=t.value=[];for(let o=0;o<n.length;++o){let s=r[n[o][0]];for(let a of e[o])i[a]=s}return t}function KF(e,t,n){let r=U3(e,t),i=U3(e,n);return Wt(i,(o,s)=>Math.abs(o-r[s]),Float64Array)}function U3(e,t,n){let r=e[t];if(!r&&n!==void 0&&(r=e[n]),r)return r.value;throw new Error(`missing channel: ${t}`)}function vQ(e){if(e==null||typeof e=="function")return e;switch(`${e}`.toLowerCase()){case"ascending":return e7;case"descending":return n7}throw new Error(`invalid order: ${e}`)}function e7([e,t],[n,r]){return mn(t,r)||mn(e,n)}function n7([e,t],[n,r]){return Al(t,r)||mn(e,n)}function ay(e,t){let n=e[t];if(n){for(;n.source;)n=n.source;return n.source===null?null:n}}function rc(e={}){let{document:t=typeof window<"u"?window.document:void 0,clip:n}=e;return{document:t,clip:Ew(n)}}function ut(e,{document:t}){return Yt(Bs(e).call(t.documentElement))}var q3=0,j3;function r7(){let e=q3;return q3=0,j3=void 0,e}function Yn(e){e!==j3&&(j3=e,console.warn(e),++q3)}var o7=Math.PI,ra=2*o7,i7=.618;function s7({projection:e,inset:t=0,insetTop:n=t,insetRight:r=t,insetBottom:i=t,insetLeft:o=t}={},s){if(e==null)return;if(typeof e.stream=="function")return e;let a,c,l="frame";if(gn(e)){let _;if({type:e,domain:c,inset:_,insetTop:n=_!==void 0?_:n,insetRight:r=_!==void 0?_:r,insetBottom:i=_!==void 0?_:i,insetLeft:o=_!==void 0?_:o,clip:l=l,...a}=e,e==null)return}typeof e!="function"&&({type:e}=a7(e));let{width:u,height:f,marginLeft:h,marginRight:d,marginTop:p,marginBottom:m}=s,y=u-h-d-o-r,g=f-p-m-n-i;if(e=e?.({width:y,height:g,clip:l,...a}),e==null)return;l=_Q(l,h,p,u-d,f-m);let x=h+o,b=p+n,w;if(c!=null){let[[_,v],[I,E]]=On(e).bounds(c),M=Math.min(y/(I-_),g/(E-v));M>0?(x-=(M*(_+I)-y)/2,b-=(M*(v+E)-g)/2,w=pl({point(N,A){this.stream.point(N*M+x,A*M+b)}})):Yn("Warning: the projection could not be fit to the specified domain; using the default scale.")}return w??=x===0&&b===0?c7():pl({point(_,v){this.stream.point(_+x,v+b)}}),{stream:_=>e.stream(w.stream(l(_)))}}function a7(e){switch(`${e}`.toLowerCase()){case"albers-usa":return Yi(UM,.7463,.4673);case"albers":return Fw(cm,.7463,.4673);case"azimuthal-equal-area":return Yi(qM,4,4);case"azimuthal-equidistant":return Yi(VM,ra,ra);case"conic-conformal":return Fw(GM,ra,ra);case"conic-equal-area":return Fw(Ua,6.1702,2.9781);case"conic-equidistant":return Fw(HM,7.312,3.6282);case"equal-earth":return Yi(JM,5.4133,2.6347);case"equirectangular":return Yi(WM,ra,o7);case"gnomonic":return Yi(KM,3.4641,3.4641);case"identity":return{type:c7};case"reflect-y":return{type:SQ};case"mercator":return Yi(YM,ra,ra);case"orthographic":return Yi(eA,2,2);case"stereographic":return Yi(rA,2,2);case"transverse-mercator":return Yi(oA,ra,ra);default:throw new Error(`unknown projection type: ${e}`)}}function _Q(e,t,n,r,i){if(e===!1||e==null||typeof e=="number")return o=>o;switch(e===!0&&(e="frame"),`${e}`.toLowerCase()){case"frame":return sf(t,n,r,i);default:throw new Error(`unknown projection clip type: ${e}`)}}function Yi(e,t,n){return{type:({width:r,height:i,rotate:o,precision:s=.15,clip:a})=>{let c=e();return s!=null&&c.precision?.(s),o!=null&&c.rotate?.(o),typeof a=="number"&&c.clipAngle?.(a),c.scale(Math.min(r/t,i/n)),c.translate([r/2,i/2]),c},aspectRatio:n/t}}function Fw(e,t,n){let{type:r,aspectRatio:i}=Yi(e,t,n);return{type:o=>{let{parallels:s,domain:a,width:c,height:l}=o,u=r(o);return s!=null&&(u.parallels(s),a===void 0&&u.fitSize([c,l],{type:"Sphere"})),u},aspectRatio:i}}var c7=yn({stream:e=>e}),SQ=yn(pl({point(e,t){this.stream.point(e,-t)}}));function V3(e,t,n,r){let i=n[e],o=n[t],s=i.length,a=n[e]=new Float64Array(s).fill(NaN),c=n[t]=new Float64Array(s).fill(NaN),l,u=r.stream({point(f,h){a[l]=f,c[l]=h}});for(l=0;l<s;++l)u.point(i[l],o[l])}function l7({projection:e}={}){return e==null?!1:typeof e.stream=="function"?!0:(gn(e)&&(e=e.type),e!=null)}function u7(e){if(typeof e?.stream=="function")return i7;if(gn(e)&&(e=e.type),e!=null){if(typeof e!="function"){let{aspectRatio:t}=a7(e);if(t)return t}return i7}}function ic(e,t,{projection:n}){let{x:r,y:i}=e,o={};return r&&(o.x=r),i&&(o.y=i),o=zf(o,t),n&&r?.scale==="x"&&i?.scale==="y"&&V3("x","y",o,n),r&&(o.x=en(o.x)),i&&(o.y=en(o.y)),o}function f7(e){let t=[],n=[],r={scale:"x",value:t},i={scale:"y",value:n},o={point(s,a){t.push(s),n.push(a)},lineStart(){},lineEnd(){},polygonStart(){},polygonEnd(){},sphere(){}};for(let s of e.value)Ur(s,o);return[r,i]}var y7=new Map([["accent",DA],["category10",EA],["dark2",NA],["observable10",OA],["paired",LA],["pastel1",BA],["pastel2",CA],["set1",kA],["set2",RA],["set3",FA],["tableau10",$A]]);function g7(e){return e!=null&&y7.has(`${e}`.toLowerCase())}var h7=new Map([...y7,["brbg",ia(Kb,t1)],["prgn",ia(e1,n1)],["piyg",ia(r1,i1)],["puor",ia(o1,s1)],["rdbu",ia(Om,xf)],["rdgy",ia(a1,c1)],["rdylbu",ia(Lm,bf)],["rdylgn",ia(l1,u1)],["spectral",ia(f1,h1)],["burd",d7(Om,xf)],["buylrd",d7(Lm,bf)],["blues",wn(F1,$1)],["greens",wn(P1,U1)],["greys",wn(z1,q1)],["oranges",wn(G1,W1)],["purples",wn(j1,V1)],["reds",wn(Y1,X1)],["turbo",oa(rw)],["viridis",oa(ow)],["magma",oa(sw)],["inferno",oa(aw)],["plasma",oa(cw)],["cividis",oa(H1)],["cubehelix",oa(Z1)],["warm",oa(Q1)],["cool",oa(K1)],["bugn",wn(d1,p1)],["bupu",wn(m1,y1)],["gnbu",wn(g1,x1)],["orrd",wn(b1,w1)],["pubu",wn(S1,I1)],["pubugn",wn(v1,_1)],["purd",wn(M1,A1)],["rdpu",wn(T1,E1)],["ylgn",wn(O1,L1)],["ylgnbu",wn(D1,N1)],["ylorbr",wn(B1,C1)],["ylorrd",wn(k1,R1)],["rainbow",p7(tw)],["sinebow",p7(nw)]]);function wn(e,t){return({length:n})=>n===1?[e[3][1]]:n===2?[e[3][1],e[3][2]]:(n=Math.max(3,Math.floor(n)),n>9?$n(t,n):e[n])}function ia(e,t){return({length:n})=>n===2?[e[3][0],e[3][2]]:(n=Math.max(3,Math.floor(n)),n>11?$n(t,n):e[n])}function d7(e,t){return({length:n})=>n===2?[e[3][2],e[3][0]]:(n=Math.max(3,Math.floor(n)),n>11?$n(r=>t(1-r),n):e[n].slice().reverse())}function oa(e){return({length:t})=>$n(e,Math.max(2,Math.floor(t)))}function p7(e){return({length:t})=>$n(e,Math.floor(t)+1).slice(0,-1)}function Y3(e){let t=`${e}`.toLowerCase();if(!h7.has(t))throw new Error(`unknown ordinal scheme: ${t}`);return h7.get(t)}function cy(e,t){let n=Y3(e),r=typeof n=="function"?n({length:t}):n;return r.length!==t?r.slice(0,t):r}function x7(e,t="greys"){let n=new Set,[r,i]=cy(t,2);for(let o of e)if(o!=null)if(o===!0)n.add(i);else if(o===!1)n.add(r);else return;return[...n]}var m7=new Map([["brbg",t1],["prgn",n1],["piyg",i1],["puor",s1],["rdbu",xf],["rdgy",c1],["rdylbu",bf],["rdylgn",u1],["spectral",h1],["burd",e=>xf(1-e)],["buylrd",e=>bf(1-e)],["blues",$1],["greens",U1],["greys",q1],["purples",V1],["reds",X1],["oranges",W1],["turbo",rw],["viridis",ow],["magma",sw],["inferno",aw],["plasma",cw],["cividis",H1],["cubehelix",Z1],["warm",Q1],["cool",K1],["bugn",p1],["bupu",y1],["gnbu",x1],["orrd",w1],["pubugn",_1],["pubu",I1],["purd",A1],["rdpu",E1],["ylgnbu",N1],["ylgn",L1],["ylorbr",C1],["ylorrd",R1],["rainbow",tw],["sinebow",nw]]);function qf(e){let t=`${e}`.toLowerCase();if(!m7.has(t))throw new Error(`unknown quantitative scheme: ${t}`);return m7.get(t)}var IQ=new Set(["brbg","prgn","piyg","puor","rdbu","rdgy","rdylbu","rdylgn","spectral","burd","buylrd"]);function b7(e){return e!=null&&IQ.has(`${e}`.toLowerCase())}var G3=e=>t=>e(1-t),X3=[0,1],w7=new Map([["number",Se],["rgb",fi],["hsl",UI],["hcl",zI],["lab",Rx]]);function W3(e){let t=`${e}`.toLowerCase();if(!w7.has(t))throw new Error(`unknown interpolator: ${t}`);return w7.get(t)}function Vf(e,t,n,{type:r,nice:i,clamp:o,zero:s,domain:a=E7(e,n),unknown:c,round:l,scheme:u,interval:f,range:h=de.get(e)===Ol?EQ(n,a):de.get(e)===Ll?DQ(n,a):de.get(e)===Bl?X3:void 0,interpolate:d=de.get(e)===Yr?u==null&&h!==void 0?fi:qf(u!==void 0?u:r==="cyclical"?"rainbow":"turbo"):l?ol:Se,reverse:p}){if(f=Xo(f,r),(r==="cyclical"||r==="sequential")&&(r="linear"),typeof d!="function"&&(d=W3(d)),p=!!p,h!==void 0){let m=(a=je(a)).length,y=(h=je(h)).length;if(m!==y){if(d.length===1)throw new Error("invalid piecewise interpolator");d=Eo(d,h),h=void 0}}if(d.length===1?(p&&(d=G3(d),p=!1),h===void 0&&(h=Float64Array.from(a,(m,y)=>y/(a.length-1)),h.length===2&&(h=X3)),t.interpolate((h===X3?yn:ly)(d))):t.interpolate(d),s){let[m,y]=ue(a);(m>0||y<0)&&(a=Ja(a),Js(a)!==Math.sign(m)?a[a.length-1]=0:a[0]=0)}return p&&(a=Oa(a)),t.domain(a).unknown(c),i&&(t.nice(MQ(i,r)),a=t.domain()),h!==void 0&&t.range(h),o&&t.clamp(o),{type:r,domain:a,range:h,scale:t,interpolate:d,interval:f}}function MQ(e,t){return e===!0?void 0:typeof e=="number"?e:DF(e,t)}function v7(e,t,n){return Vf(e,zs(),t,n)}function _7(e,t,n){return H3(e,t,{...n,exponent:.5})}function H3(e,t,{exponent:n=1,...r}){return Vf(e,wm().exponent(n),t,{...r,type:"pow"})}function S7(e,t,{base:n=10,domain:r=NQ(t),...i}){return Vf(e,xm().base(n),t,{...i,domain:r})}function I7(e,t,{constant:n=1,...r}){return Vf(e,bm().constant(n),t,r)}function M7(e,t,{range:n,quantiles:r=n===void 0?5:(n=[...n]).length,n:i=r,scheme:o="rdylbu",domain:s=OQ(t),unknown:a,interpolate:c,reverse:l}){return n===void 0&&(n=c!==void 0?$n(c,i):de.get(e)===Yr?cy(o,i):void 0),s.length>0&&(s=vm(s,n===void 0?{length:i}:n).quantiles()),$w(e,t,{domain:s,range:n,reverse:l,unknown:a})}function A7(e,t,{range:n,n:r=n===void 0?5:(n=[...n]).length,scheme:i="rdylbu",domain:o=E7(e,t),unknown:s,interpolate:a,reverse:c}){let[l,u]=ue(o),f;return n===void 0?(f=En(l,u,r),f[0]<=l&&f.splice(0,1),f[f.length-1]>=u&&f.pop(),r=f.length+1,n=a!==void 0?$n(a,r):de.get(e)===Yr?cy(i,r):void 0):(f=$n(Se(l,u),r+1).slice(1,-1),l instanceof Date&&(f=f.map(h=>new Date(h)))),Js(je(o))<0&&f.reverse(),$w(e,t,{domain:f,range:n,reverse:c,unknown:s})}function $w(e,t,{domain:n=[0],unknown:r,scheme:i="rdylbu",interpolate:o,range:s=o!==void 0?$n(o,n.length+1):de.get(e)===Yr?cy(i,n.length+1):void 0,reverse:a}){n=je(n);let c=Js(n);if(!isNaN(c)&&!AQ(n,c))throw new Error(`the ${e} scale has a non-monotonic domain`);return a&&(s=Oa(s)),{type:"threshold",scale:_m(c<0?Oa(n):n,s===void 0?[]:s).unknown(r),domain:n,range:s}}function AQ(e,t){for(let n=1,r=e.length,i=e[0];n<r;++n){let o=Jn(i,i=e[n]);if(o!==0&&o!==t)return!1}return!0}function T7(e){return{type:"identity",scale:UF(de.get(e))?ym():t=>t}}function jf(e,t=Tf){return e.length?[fe(e,({value:n})=>n===void 0?n:fe(n,t)),Jt(e,({value:n})=>n===void 0?n:Jt(n,t))]:[0,1]}function E7(e,t){let n=de.get(e);return(n===Ol||n===Bl||n===Ll?TQ:jf)(t)}function TQ(e){return[0,e.length?Jt(e,({value:t})=>t===void 0?t:Jt(t,Tf)):1]}function EQ(e,t){let n=e.find(({radius:s})=>s!==void 0);if(n!==void 0)return[0,n.radius];let r=tr(e,.5,({value:s})=>s===void 0?NaN:tr(s,.25,cr)),i=t.map(s=>3*Math.sqrt(s/r)),o=30/Jt(i);return o<1?i.map(s=>s*o):i}function DQ(e,t){let n=zi(e,({value:o})=>o===void 0?NaN:zi(o,Math.abs)),r=t.map(o=>12*o/n),i=60/Jt(r);return i<1?r.map(o=>o*i):r}function NQ(e){for(let{value:t}of e)if(t!==void 0)for(let n of t){if(n>0)return jf(e,cr);if(n<0)return jf(e,Ya)}return[1,10]}function OQ(e){let t=[];for(let{value:n}of e)if(n!==void 0)for(let r of n)t.push(r);return t}function ly(e){return(t,n)=>r=>e(t+r*(n-t))}function Pw(e,t,n,r,{type:i,nice:o,clamp:s,domain:a=jf(r),unknown:c,pivot:l=0,scheme:u,range:f,symmetric:h=!0,interpolate:d=de.get(e)===Yr?u==null&&f!==void 0?fi:qf(u!==void 0?u:"rdbu"):Se,reverse:p}){l=+l,a=je(a);let[m,y]=a;if(a.length>2&&Yn(`Warning: the diverging ${e} scale domain contains extra elements.`),Jn(m,y)<0&&([m,y]=[y,m],p=!p),m=Math.min(m,l),y=Math.max(y,l),typeof d!="function"&&(d=W3(d)),f!==void 0&&(d=d.length===1?ly(d)(...f):Eo(d,f)),p&&(d=G3(d)),h){let g=n.apply(l),x=g-n.apply(m),b=n.apply(y)-g;x<b?m=n.invert(g-b):x>b&&(y=n.invert(g+x))}return t.domain([m,l,y]).unknown(c).interpolator(d),s&&t.clamp(s),o&&t.nice(o),{type:i,domain:[m,y],pivot:l,interpolate:d,scale:t}}function D7(e,t,n){return Pw(e,Nm(),LQ,t,n)}function N7(e,t,n){return Z3(e,t,{...n,exponent:.5})}function Z3(e,t,{exponent:n=1,...r}){return Pw(e,Qb().exponent(n=+n),kQ(n),t,{...r,type:"diverging-pow"})}function O7(e,t,{base:n=10,pivot:r=1,domain:i=jf(t,r<0?Ya:cr),...o}){return Pw(e,Zb().base(n=+n),BQ,t,{domain:i,pivot:r,...o})}function L7(e,t,{constant:n=1,...r}){return Pw(e,Jb().constant(n=+n),RQ(n),t,r)}var LQ={apply(e){return e},invert(e){return e}},BQ={apply:Math.log,invert:Math.exp},CQ={apply(e){return Math.sign(e)*Math.sqrt(Math.abs(e))},invert(e){return Math.sign(e)*(e*e)}};function kQ(e){return e===.5?CQ:{apply(t){return Math.sign(t)*Math.pow(Math.abs(t),e)},invert(t){return Math.sign(t)*Math.pow(Math.abs(t),1/e)}}}function RQ(e){return{apply(t){return Math.sign(t)*Math.log1p(Math.abs(t/e))},invert(t){return Math.sign(t)*Math.expm1(Math.abs(t))*e}}}function B7(e,t,n,r){return Vf(e,t,n,r)}function C7(e,t,n){return B7(e,Gb(),t,n)}function k7(e,t,n){return B7(e,Wb(),t,n)}var Yf=Symbol("ordinal");function F7(e,t,n,{type:r,interval:i,domain:o,range:s,reverse:a,hint:c}){return i=Xo(i,r),o===void 0&&(o=q7(n,i,e)),(r==="categorical"||r===Yf)&&(r="ordinal"),a&&(o=Oa(o)),o=t.domain(o).domain(),s!==void 0&&(typeof s=="function"&&(s=s(o)),t.range(s)),{type:r,domain:o,range:s,scale:t,hint:c,interval:i}}function $7(e,t,{type:n,interval:r,domain:i,range:o,scheme:s,unknown:a,...c}){r=Xo(r,n),i===void 0&&(i=q7(t,r,e));let l;if(de.get(e)===Ff)l=FQ(t),o=o===void 0?$Q(l):Wt(o,$f);else if(de.get(e)===Yr&&(o===void 0&&(n==="ordinal"||n===Yf)&&(o=x7(i,s),o!==void 0&&(s=void 0)),s===void 0&&o===void 0&&(s=n==="ordinal"?"turbo":"observable10"),s!==void 0))if(o!==void 0){let u=qf(s),f=o[0],h=o[1]-o[0];o=({length:d})=>$n(p=>u(f+h*p),d)}else o=Y3(s);if(a===pm)throw new Error(`implicit unknown on ${e} scale is not supported`);return F7(e,gl().unknown(a),t,{...c,type:n,domain:i,range:o,hint:l})}function P7(e,t,{align:n=.5,padding:r=.5,...i}){return z7(hA().align(n).padding(r),t,i,e)}function U7(e,t,{align:n=.5,padding:r=.1,paddingInner:i=r,paddingOuter:o=e==="fx"||e==="fy"?0:r,...s}){return z7(qa().align(n).paddingInner(i).paddingOuter(o),t,s,e)}function z7(e,t,n,r){let{round:i}=n;return i!==void 0&&e.round(i=!!i),e=F7(r,e,t,n),e.round=i,e}function q7(e,t,n){let r=new Kn;for(let{value:i,domain:o}of e){if(o!==void 0)return o();if(i!==void 0)for(let s of i)r.add(s)}if(t!==void 0){let[i,o]=ue(r).map(t.floor,t);return t.range(i,t.offset(o))}if(r.size>1e4&&de.get(n)===vi)throw new Error(`implicit ordinal domain of ${n} scale has more than 10,000 values`);return Ds(r,mn)}function R7(e,t){let n;for(let{hint:r}of e){let i=r?.[t];if(i!==void 0){if(n===void 0)n=i;else if(n!==i)return}}return n}function FQ(e){return{fill:R7(e,"fill"),stroke:R7(e,"stroke")}}function $Q(e){return ie(e.fill)?YA:pw}function uy(e,{label:t,inset:n=0,insetTop:r=n,insetRight:i=n,insetBottom:o=n,insetLeft:s=n,round:a,nice:c,clamp:l,zero:u,align:f,padding:h,projection:d,facet:{label:p=t}={},...m}={}){let y={};for(let[g,x]of e){let b=m[g],w=Z7(g,x,{round:de.get(g)===vi?a:void 0,nice:c,clamp:l,zero:u,align:f,padding:h,projection:d,...b});if(w){let{label:_=g==="fx"||g==="fy"?p:t,percent:v,transform:I,inset:E,insetTop:M=E!==void 0?E:g==="y"?r:0,insetRight:N=E!==void 0?E:g==="x"?i:0,insetBottom:A=E!==void 0?E:g==="y"?o:0,insetLeft:O=E!==void 0?E:g==="x"?s:0}=b||{};if(I==null)I=void 0;else if(typeof I!="function")throw new Error("invalid scale transform; not a function");w.percent=!!v,w.label=_===void 0?PQ(x,w):_,w.transform=I,g==="x"||g==="fx"?(w.insetLeft=+O,w.insetRight=+N):(g==="y"||g==="fy")&&(w.insetTop=+M,w.insetBottom=+A),y[g]=w}}return y}function Q3(e){let t={},n={scales:t};for(let[r,i]of Object.entries(e)){let{scale:o,type:s,interval:a,label:c}=i;t[r]=Q7(i),n[r]=o,o.type=s,a!=null&&(o.interval=a),c!=null&&(o.label=c)}return n}function G7(e,t){let{x:n,y:r,fx:i,fy:o}=e,s=i||o?qw(t):t;i&&j7(i,s),o&&V7(o,s);let a=i||o?K3(e,t):t;n&&j7(n,a),r&&V7(r,a)}function PQ(e=[],t){let n;for(let{label:r}of e)if(r!==void 0){if(n===void 0)n=r;else if(n!==r)return}if(n!==void 0)return!Ho(t)&&t.percent&&(n=`${n} (%)`),{inferred:!0,toString:()=>n}}function zw(e){return Math.sign(Js(e.domain()))*Math.sign(Js(e.range()))}function qw(e){let{marginTop:t,marginRight:n,marginBottom:r,marginLeft:i,width:o,height:s,facet:{marginTop:a,marginRight:c,marginBottom:l,marginLeft:u}}=e;return{marginTop:Math.max(t,a),marginRight:Math.max(n,c),marginBottom:Math.max(r,l),marginLeft:Math.max(i,u),width:o,height:s}}function K3({fx:e,fy:t},n){let{marginTop:r,marginRight:i,marginBottom:o,marginLeft:s,width:a,height:c}=qw(n);return{marginTop:r,marginRight:i,marginBottom:o,marginLeft:s,width:e?e.scale.bandwidth()+s+i:a,height:t?t.scale.bandwidth()+r+o:c,facet:{width:a,height:c}}}function j7(e,t){if(e.range===void 0){let{insetLeft:n,insetRight:r}=e,{width:i,marginLeft:o=0,marginRight:s=0}=t,a=o+n,c=i-s-r;e.range=[a,Math.max(a,c)],Ho(e)||(e.range=H7(e)),e.scale.range(e.range)}W7(e)}function V7(e,t){if(e.range===void 0){let{insetTop:n,insetBottom:r}=e,{height:i,marginTop:o=0,marginBottom:s=0}=t,a=o+n,c=i-s-r;e.range=[Math.max(a,c),a],Ho(e)?e.range.reverse():e.range=H7(e),e.scale.range(e.range)}W7(e)}function W7(e){e.round===void 0&&qQ(e)&&UQ(e)<=30&&e.scale.round(!0)}function UQ({scale:e}){let t=e.domain().length,[n,r]=e.range(),i=e.paddingInner?e.paddingInner():1,o=e.paddingOuter?e.paddingOuter():e.padding(),s=t-i,a=Math.abs(r-n)/Math.max(1,s+o*2);return(a-Math.floor(a))*s}function H7(e){let t=e.scale.domain().length+tT(e);if(!(t>2))return e.range;let[n,r]=e.range;return Array.from({length:t},(i,o)=>n+o/(t-1)*(r-n))}function jw(e,t,n){return Z7(e,n===void 0?void 0:[{hint:n}],{...t})}function Z7(e,t=[],n={}){let r=zQ(e,t,n);if(n.type===void 0&&n.domain===void 0&&n.range===void 0&&n.interval==null&&e!=="fx"&&e!=="fy"&&Ho({type:r})){let i=t.map(({value:o})=>o).filter(o=>o!==void 0);i.some(Be)?Yn(`Warning: some data associated with the ${e} scale are dates. Dates are typically associated with a "utc" or "time" scale rather than a "${Xf(r)}" scale. If you are using a bar mark, you probably want a rect mark with the interval option instead; if you are using a group transform, you probably want a bin transform instead. If you want to treat this data as ordinal, you can specify the interval of the ${e} scale (e.g., d3.utcDay), or you can suppress this warning by setting the type of the ${e} scale to "${Xf(r)}".`):i.some(BF)?Yn(`Warning: some data associated with the ${e} scale are strings that appear to be dates (e.g., YYYY-MM-DD). If these strings represent dates, you should parse them to Date objects. Dates are typically associated with a "utc" or "time" scale rather than a "${Xf(r)}" scale. If you are using a bar mark, you probably want a rect mark with the interval option instead; if you are using a group transform, you probably want a bin transform instead. If you want to treat this data as ordinal, you can suppress this warning by setting the type of the ${e} scale to "${Xf(r)}".`):i.some(CF)&&Yn(`Warning: some data associated with the ${e} scale are strings that appear to be numbers. If these strings represent numbers, you should parse or coerce them to numbers. Numbers are typically associated with a "linear" scale rather than a "${Xf(r)}" scale. If you want to treat this data as ordinal, you can specify the interval of the ${e} scale (e.g., 1 for integers), or you can suppress this warning by setting the type of the ${e} scale to "${Xf(r)}".`)}switch(n.type=r,r){case"diverging":case"diverging-sqrt":case"diverging-pow":case"diverging-log":case"diverging-symlog":case"cyclical":case"sequential":case"linear":case"sqrt":case"threshold":case"quantile":case"pow":case"log":case"symlog":n=Uw(t,n,en);break;case"identity":switch(de.get(e)){case vi:n=Uw(t,n,en);break;case Ff:n=Uw(t,n,jQ);break}break;case"utc":case"time":n=Uw(t,n,EF);break}switch(r){case"diverging":return D7(e,t,n);case"diverging-sqrt":return N7(e,t,n);case"diverging-pow":return Z3(e,t,n);case"diverging-log":return O7(e,t,n);case"diverging-symlog":return L7(e,t,n);case"categorical":case"ordinal":case Yf:return $7(e,t,n);case"cyclical":case"sequential":case"linear":return v7(e,t,n);case"sqrt":return _7(e,t,n);case"threshold":return $w(e,t,n);case"quantile":return M7(e,t,n);case"quantize":return A7(e,t,n);case"pow":return H3(e,t,n);case"log":return S7(e,t,n);case"symlog":return I7(e,t,n);case"utc":return k7(e,t,n);case"time":return C7(e,t,n);case"point":return P7(e,t,n);case"band":return U7(e,t,n);case"identity":return T7(e);case void 0:return;default:throw new Error(`unknown scale type: ${r}`)}}function Xf(e){return typeof e=="symbol"?e.description:e}function Y7(e){return typeof e=="string"?`${e}`.toLowerCase():e}var X7={toString:()=>"projection"};function zQ(e,t,{type:n,domain:r,range:i,scheme:o,pivot:s,projection:a}){if(n=Y7(n),e==="fx"||e==="fy")return"band";(e==="x"||e==="y")&&a!=null&&(n=X7);for(let l of t){let u=Y7(l.type);if(u!==void 0){if(n===void 0)n=u;else if(n!==u)throw new Error(`scale incompatible with channel: ${n} !== ${u}`)}}if(n===X7)return;if(n!==void 0)return n;if(r===void 0&&!t.some(({value:l})=>l!==void 0))return;let c=de.get(e);if(c===Ol)return"sqrt";if(c===Bl||c===Ll)return"linear";if(c===Ff)return"ordinal";if((r||i||[]).length>2)return J3(c);if(r!==void 0){if(De(r))return J3(c);if(Be(r))return"utc"}else{let l=t.map(({value:u})=>u).filter(u=>u!==void 0);if(l.some(De))return J3(c);if(l.some(Be))return"utc"}if(c===Yr){if(s!=null||b7(o))return"diverging";if(g7(o))return"categorical"}return"linear"}function J3(e){switch(e){case vi:return"point";case Yr:return Yf;default:return"ordinal"}}function Ho({type:e}){return e==="ordinal"||e==="point"||e==="band"||e===Yf}function tT({type:e}){return e==="threshold"}function qQ({type:e}){return e==="point"||e==="band"}function fr(e){if(e===void 0)return!0;let t=e.domain(),n=e(t[0]);for(let r=1,i=t.length;r<i;++r)if(e(t[r])-n)return!1;return!0}function Uw(e,{domain:t,...n},r){for(let i of e)i.value!==void 0&&(t===void 0&&(t=i.value?.domain),i.value=r(i.value));return{domain:t===void 0?t:r(t),...n}}function jQ(e){return Wt(e,$f)}function oc(e={}){let t;for(let n in e)if(de.has(n)&&Vo(e[n])){if(t!==void 0)throw new Error("ambiguous scale definition; multiple scales found");t=Q7(jw(n,e[n]))}if(t===void 0)throw new Error("invalid scale definition; no scale found");return t}function J7(e){return t=>{if(!de.has(t=`${t}`))throw new Error(`unknown scale: ${t}`);return e[t]}}function Q7({scale:e,type:t,domain:n,range:r,interpolate:i,interval:o,transform:s,percent:a,pivot:c}){if(t==="identity")return{type:"identity",apply:u=>u,invert:u=>u};let l=e.unknown?e.unknown():void 0;return{type:t,domain:Ja(n),...r!==void 0&&{range:Ja(r)},...s!==void 0&&{transform:s},...a&&{percent:a},...l!==void 0&&{unknown:l},...o!==void 0&&{interval:o},...i!==void 0&&{interpolate:i},...e.clamp&&{clamp:e.clamp()},...c!==void 0&&{pivot:c,symmetric:!1},...e.base&&{base:e.base()},...e.exponent&&{exponent:e.exponent()},...e.constant&&{constant:e.constant()},...e.align&&{align:e.align(),round:e.round()},...e.padding&&(e.paddingInner?{paddingInner:e.paddingInner(),paddingOuter:e.paddingOuter()}:{padding:e.padding()}),...e.bandwidth&&{bandwidth:e.bandwidth(),step:e.step()},apply:u=>e(u),...e.invert&&{invert:u=>e.invert(u)}}}function Vw(e){let t,n;return(...r)=>((n?.length!==r.length||n.some((i,o)=>i!==r[o]))&&(n=r,t=e(...r)),t)}var VQ=Vw(e=>new Intl.NumberFormat(e)),YQ=Vw((e,t)=>new Intl.DateTimeFormat(e,{timeZone:"UTC",...t&&{month:t}})),XQ=Vw((e,t)=>new Intl.DateTimeFormat(e,{timeZone:"UTC",...t&&{weekday:t}}));function GQ(e="en-US"){let t=VQ(e);return n=>n!=null&&!isNaN(n)?t.format(n):void 0}function K7(e="en-US",t="short"){let n=YQ(e,t);return r=>r!=null&&!isNaN(r=+new Date(Date.UTC(2e3,+r)))?n.format(r):void 0}function t$(e="en-US",t="short"){let n=XQ(e,t);return r=>r!=null&&!isNaN(r=+new Date(Date.UTC(2001,0,+r)))?n.format(r):void 0}function eT(e){return Ef(e,"Invalid Date")}function WQ(e="en-US"){let t=GQ(e);return n=>(n instanceof Date?eT:typeof n=="number"?t:qe)(n)}var Xi=WQ();var Ce=(typeof window<"u"?window.devicePixelRatio>1:typeof it>"u")?0:.5,HQ=0;function Yw(){return`plot-clip-${++HQ}`}function Xw(e,{title:t,href:n,ariaLabel:r,ariaDescription:i,ariaHidden:o,target:s,fill:a,fillOpacity:c,stroke:l,strokeWidth:u,strokeOpacity:f,strokeLinejoin:h,strokeLinecap:d,strokeMiterlimit:p,strokeDasharray:m,strokeDashoffset:y,opacity:g,mixBlendMode:x,imageFilter:b,paintOrder:w,pointerEvents:_,shapeRendering:v,channels:I},{ariaLabel:E,fill:M="currentColor",fillOpacity:N,stroke:A="none",strokeOpacity:O,strokeWidth:C,strokeLinecap:S,strokeLinejoin:T,strokeMiterlimit:D,paintOrder:R}){M===null&&(a=null,c=null),A===null&&(l=null,f=null),ie(M)?!ie(A)&&(!ie(a)||I?.fill)&&(A="none"):ie(A)&&(!ie(l)||I?.stroke)&&(M="none");let[F,k]=Le(a,M),[$,P]=ae(c,N),[U,W]=Le(l,A),[nt,ot]=ae(f,O),[at,Y]=ae(g);ea(W)||(u===void 0&&(u=C),d===void 0&&(d=S),h===void 0&&(h=T),p===void 0&&!RF(h)&&(p=D),!ea(k)&&w===void 0&&(w=R));let[st,q]=ae(u);return M!==null&&(e.fill=he(k,"currentColor"),e.fillOpacity=fy(P,1)),A!==null&&(e.stroke=he(W,"none"),e.strokeWidth=fy(q,1),e.strokeOpacity=fy(ot,1),e.strokeLinejoin=he(h,"miter"),e.strokeLinecap=he(d,"butt"),e.strokeMiterlimit=fy(p,4),e.strokeDasharray=he(m,"none"),e.strokeDashoffset=he(y,"0")),e.target=qe(s),e.ariaLabel=qe(E),e.ariaDescription=qe(i),e.ariaHidden=qe(o),e.opacity=fy(Y,1),e.mixBlendMode=he(x,"normal"),e.imageFilter=he(b,"none"),e.paintOrder=he(w,"normal"),e.pointerEvents=he(_,"auto"),e.shapeRendering=he(v,"auto"),{title:{value:t,optional:!0,filter:null},href:{value:n,optional:!0,filter:null},ariaLabel:{value:r,optional:!0,filter:null},fill:{value:F,scale:"auto",optional:!0},fillOpacity:{value:$,scale:"auto",optional:!0},stroke:{value:U,scale:"auto",optional:!0},strokeOpacity:{value:nt,scale:"auto",optional:!0},strokeWidth:{value:st,optional:!0},opacity:{value:at,scale:"auto",optional:!0}}}function ZQ(e,t){t&&e.filter(n=>Zm(t[n])).append("title").call(QQ,t)}function JQ(e,t){t&&e.filter(([n])=>Zm(t[n])).append("title").call(KQ,t)}function QQ(e,t){t&&e.text(n=>Xi(t[n]))}function KQ(e,t){t&&e.text(([n])=>Xi(t[n]))}function Kt(e,{target:t,tip:n},{ariaLabel:r,title:i,fill:o,fillOpacity:s,stroke:a,strokeOpacity:c,strokeWidth:l,opacity:u,href:f}){r&&ft(e,"aria-label",h=>r[h]),o&&ft(e,"fill",h=>o[h]),s&&ft(e,"fill-opacity",h=>s[h]),a&&ft(e,"stroke",h=>a[h]),c&&ft(e,"stroke-opacity",h=>c[h]),l&&ft(e,"stroke-width",h=>l[h]),u&&ft(e,"opacity",h=>u[h]),f&&e$(e,h=>f[h],t),n||ZQ(e,i)}function Cl(e,{target:t,tip:n},{ariaLabel:r,title:i,fill:o,fillOpacity:s,stroke:a,strokeOpacity:c,strokeWidth:l,opacity:u,href:f}){r&&ft(e,"aria-label",([h])=>r[h]),o&&ft(e,"fill",([h])=>o[h]),s&&ft(e,"fill-opacity",([h])=>s[h]),a&&ft(e,"stroke",([h])=>a[h]),c&&ft(e,"stroke-opacity",([h])=>c[h]),l&&ft(e,"stroke-width",([h])=>l[h]),u&&ft(e,"opacity",([h])=>u[h]),f&&e$(e,([h])=>f[h],t),n||JQ(e,i)}function tK({ariaLabel:e,title:t,fill:n,fillOpacity:r,stroke:i,strokeOpacity:o,strokeWidth:s,opacity:a,href:c},{tip:l}){return[e,l?void 0:t,n,r,i,o,s,a,c].filter(u=>u!==void 0)}function hy(e,t,n){let r=fn(e,i=>t[i]);return n===void 0&&r.size>1+e.length>>1&&Yn("Warning: the implicit z channel has high cardinality. This may occur when the fill or stroke channel is associated with quantitative data rather than ordinal or categorical data. You can suppress this warning by setting the z option explicitly; if this data represents a single series, set z to null."),r.values()}function*Gw(e,t,n,r){let{z:i}=n,{z:o}=r,s=tK(r,n),a=[...t,...s];for(let c of o?hy(e,o,i):[e]){let l,u;t:for(let f of c){for(let h of a)if(!ze(h[f])){u&&u.push(-1);continue t}if(l===void 0){u&&(yield u),l=s.map(h=>Ks(h[f])),u=[f];continue}u.push(f);for(let h=0;h<s.length;++h)if(Ks(s[h][f])!==l[h]){yield u,l=s.map(p=>Ks(p[f])),u=[f];continue t}}u&&(yield u)}}function eK(e,t,n,r){let i,{clip:o=r.clip}=t;switch(o){case"frame":{let{width:s,height:a,marginLeft:c,marginRight:l,marginTop:u,marginBottom:f}=n,h=Yw();i=`url(#${h})`,e=ut("svg:g",r).call(d=>d.append("svg:clipPath").attr("id",h).append("rect").attr("x",c).attr("y",u).attr("width",s-l-c).attr("height",a-u-f)).each(function(){this.appendChild(e.node()),e.node=()=>this});break}case"sphere":{let{projection:s}=r;if(!s)throw new Error('the "sphere" clip option requires a projection');let a=Yw();i=`url(#${a})`,e.append("clipPath").attr("id",a).append("path").attr("d",On(s)({type:"Sphere"}));break}}ft(e,"aria-label",t.ariaLabel),ft(e,"aria-description",t.ariaDescription),ft(e,"aria-hidden",t.ariaHidden),ft(e,"clip-path",i)}function kt(e,t,n,r){eK(e,t,n,r),ft(e,"fill",t.fill),ft(e,"fill-opacity",t.fillOpacity),ft(e,"stroke",t.stroke),ft(e,"stroke-width",t.strokeWidth),ft(e,"stroke-opacity",t.strokeOpacity),ft(e,"stroke-linejoin",t.strokeLinejoin),ft(e,"stroke-linecap",t.strokeLinecap),ft(e,"stroke-miterlimit",t.strokeMiterlimit),ft(e,"stroke-dasharray",t.strokeDasharray),ft(e,"stroke-dashoffset",t.strokeDashoffset),ft(e,"shape-rendering",t.shapeRendering),ft(e,"filter",t.imageFilter),ft(e,"paint-order",t.paintOrder);let{pointerEvents:i=r.pointerSticky===!1?"none":void 0}=t;ft(e,"pointer-events",i)}function Ct(e,t){nK(e,"mix-blend-mode",t.mixBlendMode),ft(e,"opacity",t.opacity)}function e$(e,t,n){e.each(function(r){let i=t(r);if(i!=null){let o=this.ownerDocument.createElementNS(ui.svg,"a");o.setAttribute("fill","inherit"),o.setAttributeNS(ui.xlink,"href",i),n!=null&&o.setAttribute("target",n),this.parentNode.insertBefore(o,this).appendChild(this)}})}function ft(e,t,n){n!=null&&e.attr(t,n)}function nK(e,t,n){n!=null&&e.style(t,n)}function Et(e,t,{x:n,y:r},i=Ce,o=Ce){i+=t.dx,o+=t.dy,n?.bandwidth&&(i+=n.bandwidth()/2),r?.bandwidth&&(o+=r.bandwidth()/2),(i||o)&&e.attr("transform",`translate(${i},${o})`)}function he(e,t){if((e=qe(e))!==t)return e}function fy(e,t){if((e=Bt(e))!==t)return e}var rK=/^-?([_a-z]|[\240-\377]|\\[0-9a-f]{1,6}(\r\n|[ \t\r\n\f])?|\\[^\r\n\f0-9a-f])([_a-z0-9-]|[\240-\377]|\\[0-9a-f]{1,6}(\r\n|[ \t\r\n\f])?|\\[^\r\n\f0-9a-f])*$/i;function Gf(e){if(e===void 0)return"plot-d6a7b5";if(e=`${e}`,!rK.test(e))throw new Error(`invalid class name: ${e}`);return e}function Wf(e,t){if(typeof t=="string")e.property("style",t);else if(t!=null)for(let n of e)Object.assign(n.style,t)}function vn({frameAnchor:e},{width:t,height:n,marginTop:r,marginRight:i,marginBottom:o,marginLeft:s}){return[/left$/.test(e)?s:/right$/.test(e)?t-i:(s+t-i)/2,/^top/.test(e)?r:/^bottom/.test(e)?n-o:(r+n-o)/2]}function r$(e,t,n={}){let r=.5-Ce,i=.5+Ce,o=.5+Ce,s=.5-Ce;for(let{marginTop:m,marginRight:y,marginBottom:g,marginLeft:x}of t)m>r&&(r=m),y>i&&(i=y),g>o&&(o=g),x>s&&(s=x);let{margin:a,marginTop:c=a!==void 0?a:r,marginRight:l=a!==void 0?a:i,marginBottom:u=a!==void 0?a:o,marginLeft:f=a!==void 0?a:s}=n;c=+c,l=+l,u=+u,f=+f;let{width:h=640,height:d=iK(e,n,{width:h,marginTopDefault:r,marginRightDefault:i,marginBottomDefault:o,marginLeftDefault:s})+Math.max(0,c-r+u-o)}=n;h=+h,d=+d;let p={width:h,height:d,marginTop:c,marginRight:l,marginBottom:u,marginLeft:f};if(e.fx||e.fy){let{margin:m,marginTop:y=m!==void 0?m:c,marginRight:g=m!==void 0?m:l,marginBottom:x=m!==void 0?m:u,marginLeft:b=m!==void 0?m:f}=n.facet??{};y=+y,g=+g,x=+x,b=+b,p.facet={marginTop:y,marginRight:g,marginBottom:x,marginLeft:b}}return p}function iK({x:e,y:t,fy:n,fx:r},{projection:i,aspectRatio:o},{width:s,marginTopDefault:a,marginRightDefault:c,marginBottomDefault:l,marginLeftDefault:u}){let f=n?n.scale.domain().length:1,h=u7(i);if(h){let p=r?r.scale.domain().length:1,m=(1.1*f-.1)/(1.1*p-.1)*h,y=Math.max(.1,Math.min(10,m));return Math.round((s-u-c)*y+a+l)}let d=t?Ho(t)?t.scale.domain().length:Math.max(7,17/f):1;if(o!=null){if(o=+o,!(isFinite(o)&&o>0))throw new Error(`invalid aspectRatio: ${o}`);let p=n$("y",t)/(n$("x",e)*o),m=r?r.scale.bandwidth():1,y=n?n.scale.bandwidth():1,g=m*(s-u-c)-e.insetLeft-e.insetRight;return(p*g+t.insetTop+t.insetBottom)/y+a+l}return!!(t||n)*Math.max(1,Math.min(60,d*f))*20+!!r*30+60}function n$(e,t){if(!t)throw new Error(`aspectRatio requires ${e} scale`);let{type:n,domain:r}=t,i;switch(n){case"linear":case"utc":case"time":i=Number;break;case"pow":{let a=t.scale.exponent();i=c=>Math.pow(c,a);break}case"log":i=Math.log;break;case"point":case"band":return r.length;default:throw new Error(`unsupported ${e} scale for aspectRatio: ${n}`)}let[o,s]=ue(r);return Math.abs(i(s)-i(o))}function o$(e,t){let{fx:n,fy:r}=uy(e,t),i=n?.scale.domain(),o=r?.scale.domain();return i&&o?ux(i,o).map(([s,a],c)=>({x:s,y:a,i:c})):i?i.map((s,a)=>({x:s,i:a})):o?o.map((s,a)=>({y:s,i:a})):void 0}function s$(e,{x:t,y:n}){return t&&=sT(t),n&&=sT(n),e.filter(t&&n?r=>t.has(r.x)&&n.has(r.y):t?r=>t.has(r.x):r=>n.has(r.y)).sort(t&&n?(r,i)=>t.get(r.x)-t.get(i.x)||n.get(r.y)-n.get(i.y):t?(r,i)=>t.get(r.x)-t.get(i.x):(r,i)=>n.get(r.y)-n.get(i.y))}function Hw(e,{fx:t,fy:n}){let r=lr(e),i=t?.value,o=n?.value;return t&&n?Ui(r,s=>(s.fx=i[s[0]],s.fy=o[s[0]],s),s=>i[s],s=>o[s]):t?Ui(r,s=>(s.fx=i[s[0]],s),s=>i[s]):Ui(r,s=>(s.fy=o[s[0]],s),s=>o[s])}function a$(e,t,{marginTop:n,marginLeft:r}){return e&&t?({x:i,y:o})=>`translate(${e(i)-r},${t(o)-n})`:e?({x:i})=>`translate(${e(i)-r},0)`:({y:i})=>`translate(0,${t(i)-n})`}function c$(e){let t=[],n=new Uint32Array(Dn(e,r=>r.length));for(let r of e){let i=0;for(let o of e)r!==o&&(n.set(o,i),i+=o.length);t.push(n.slice(0,i))}return t}var oK=new Map([["top",nT],["right",oT],["bottom",rT],["left",iT],["top-left",Ww(nT,iT)],["top-right",Ww(nT,oT)],["bottom-left",Ww(rT,iT)],["bottom-right",Ww(rT,oT)],["top-empty",aK],["right-empty",uK],["bottom-empty",cK],["left-empty",lK],["empty",fK]]);function l$(e){if(e==null)return null;let t=oK.get(`${e}`.toLowerCase());if(t)return t;throw new Error(`invalid facet anchor: ${e}`)}var i$=new WeakMap;function sT(e){let t=i$.get(e);return t||i$.set(e,t=new Qn(Wt(e,(n,r)=>[n,r]))),t}function sc(e,t){return sT(e).get(t)}function sK(e,t,n){return t=Ks(t),n=Ks(n),e.find(r=>Object.is(Ks(r.x),t)&&Object.is(Ks(r.y),n))}function Zw(e,t,n){return sK(e,t,n)?.empty}function nT(e,{y:t},{y:n}){return t?sc(t,n)===0:!0}function rT(e,{y:t},{y:n}){return t?sc(t,n)===t.length-1:!0}function iT(e,{x:t},{x:n}){return t?sc(t,n)===0:!0}function oT(e,{x:t},{x:n}){return t?sc(t,n)===t.length-1:!0}function aK(e,{y:t},{x:n,y:r,empty:i}){if(i)return!1;if(!t)return;let o=sc(t,r);if(o>0)return Zw(e,n,t[o-1])}function cK(e,{y:t},{x:n,y:r,empty:i}){if(i)return!1;if(!t)return;let o=sc(t,r);if(o<t.length-1)return Zw(e,n,t[o+1])}function lK(e,{x:t},{x:n,y:r,empty:i}){if(i)return!1;if(!t)return;let o=sc(t,n);if(o>0)return Zw(e,t[o-1],r)}function uK(e,{x:t},{x:n,y:r,empty:i}){if(i)return!1;if(!t)return;let o=sc(t,n);if(o<t.length-1)return Zw(e,t[o+1],r)}function fK(e,t,{empty:n}){return n}function Ww(e,t){return function(){return e.apply(null,arguments)&&t.apply(null,arguments)}}function Jw(e,{channels:{fx:t,fy:n},groups:r}){return t&&n?e.map(({x:i,y:o})=>r.get(i)?.get(o)??[]):t?e.map(({x:i})=>r.get(i)??[]):e.map(({y:i})=>r.get(i)??[])}var St=class{constructor(t,n={},r={},i){let{facet:o="auto",facetAnchor:s,fx:a,fy:c,sort:l,dx:u=0,dy:f=0,margin:h=0,marginTop:d=h,marginRight:p=h,marginBottom:m=h,marginLeft:y=h,clip:g=i?.clip,channels:x,tip:b,render:w}=r;if(this.data=t,this.sort=Yo(l)?l:null,this.initializer=Me(r).initializer,this.transform=this.initializer?r.transform:bn(r).transform,o===null||o===!1?this.facet=null:(this.facet=cn(o===!0?"include":o,"facet",["auto","include","exclude","super"]),this.fx=t===Ha&&typeof a=="string"?[a]:a,this.fy=t===Ha&&typeof c=="string"?[c]:c),this.facetAnchor=l$(s),n=ny(n),x!==void 0&&(n={...hK(x),...n}),i!==void 0&&(n={...Xw(this,r,i),...n}),this.channels=Object.fromEntries(Object.entries(n).map(([_,v])=>{if(Vr(v.value)){let{value:I,label:E=v.label,scale:M=v.scale}=v.value;v={...v,label:E,scale:M,value:I}}if(t===Ha&&typeof v.value=="string"){let{value:I}=v;v={...v,value:[I]}}return[_,v]}).filter(([_,{value:v,optional:I}])=>{if(v!=null)return!0;if(I)return!1;throw new Error(`missing channel value: ${_}`)})),this.dx=+u,this.dy=+f,this.marginTop=+d,this.marginRight=+p,this.marginBottom=+m,this.marginLeft=+y,this.clip=Ew(g),this.tip=dK(b),this.facet==="super"){if(a||c)throw new Error("super-faceting cannot use fx or fy");for(let _ in this.channels){let{scale:v}=n[_];if(!(v!=="x"&&v!=="y"))throw new Error("super-faceting cannot use x or y")}}w!=null&&(this.render=Hf(w,this.render))}initialize(t,n,r){let i=je(this.data);t===void 0&&i!=null&&(t=[lr(i)]);let o=t;this.transform!=null&&({facets:t,data:i}=this.transform(i,t,r),i=je(i)),t!==void 0&&(t.original=o);let s=Rw(this.channels,i);return this.sort!=null&&t7(i,t,s,n,this.sort),{data:i,facets:t,channels:s}}filter(t,n,r){for(let i in n){let{filter:o=ze}=n[i];if(o!==null){let s=r[i];t=t.filter(a=>o(s[a]))}}return t}project(t,n,r){for(let i in t)if(t[i].scale==="x"&&/^x|x$/.test(i)){let o=i.replace(/^x|x$/,"y");o in t&&t[o].scale==="y"&&V3(i,o,n,r.projection)}}scale(t,n,r){let i=zf(t,n);return r.projection&&this.project(t,i,r),i}};function nn(...e){return e.plot=St.prototype.plot,e}function Hf(e,t){if(e==null)return t===null?void 0:t;if(t==null)return e===null?void 0:e;if(typeof e!="function")throw new TypeError(`invalid render transform: ${e}`);if(typeof t!="function")throw new TypeError(`invalid render transform: ${t}`);return function(n,r,i,o,s,a){return e.call(this,n,r,i,o,s,(c,l,u,f,h)=>t.call(this,c,l,u,f,h,a))}}function hK(e){return Object.fromEntries(Object.entries(ny(e)).map(([t,n])=>(n=typeof n=="string"?{value:n,label:t}:wi(n),n.filter===void 0&&n.scale==null&&(n={...n,filter:null}),[t,n])))}function dK(e){return e===!0?"xy":e===!1||e==null?null:typeof e=="string"?cn(e,"tip",["x","y","xy"]):e}function Gi(e,t){return e?.tip===!0?{...e,tip:t}:gn(e?.tip)&&e.tip.pointer===void 0?{...e,tip:{...e.tip,pointer:t}}:e}var u$=new WeakMap;function aT(e,t,{x:n,y:r,px:i,py:o,maxRadius:s=40,channels:a,render:c,...l}={}){return s=+s,i!=null&&(n??=null,a={...a,px:{value:i,scale:"x"}}),o!=null&&(r??=null,a={...a,py:{value:o,scale:"y"}}),{x:n,y:r,channels:a,...l,render:Hf(function(u,f,h,d,p,m){p={...p,pointerSticky:!1};let y=p.ownerSVGElement,{data:g}=p.getMarkState(this),x=u$.get(y);x||u$.set(y,x={sticky:!1,roots:[],renders:[]});let b=x.renders.push(W)-1,{x:w,y:_,fx:v,fy:I}=f,E=v?v(u.fx)-d.marginLeft:0,M=I?I(u.fy)-d.marginTop:0;w?.bandwidth&&(E+=w.bandwidth()/2),_?.bandwidth&&(M+=_.bandwidth()/2);let N=u.fi!=null,A;if(N){let Y=x.facetStates;Y||(x.facetStates=Y=new Map),A=Y.get(this),A||Y.set(this,A=new Map)}let[O,C]=vn(this,d),{px:S,py:T}=h,D=S?Y=>S[Y]:cT(h,O),R=T?Y=>T[Y]:lT(h,C),F,k,$,P;function U(Y,st){if(N)if(P&&(P=cancelAnimationFrame(P)),Y==null)A.delete(u.fi);else{A.set(u.fi,st),P=requestAnimationFrame(()=>{P=null;for(let[q,Z]of A)if(Z<st||Z===st&&q<u.fi){Y=null;break}W(Y)});return}W(Y)}function W(Y){if(F===Y&&$===x.sticky)return;F=Y,$=p.pointerSticky=x.sticky;let st=F==null?[]:[F];N&&(st.fx=u.fx,st.fy=u.fy,st.fi=u.fi);let q=m(st,f,h,d,p);if(k){if(N){let Z=k.parentNode,rt=k.getAttribute("transform"),z=q.getAttribute("transform");rt?q.setAttribute("transform",rt):q.removeAttribute("transform"),z?Z.setAttribute("transform",z):Z.removeAttribute("transform"),q.removeAttribute("aria-label"),q.removeAttribute("aria-description"),q.removeAttribute("aria-hidden")}k.replaceWith(q)}return x.roots[b]=k=q,F==null&&A?.size>1||p.dispatchValue(F==null?null:g[F]),q}function nt(Y){if(x.sticky||Y.pointerType==="mouse"&&Y.buttons===1)return;let[st,q]=Fn(Y);st-=E,q-=M;let Z=st<d.marginLeft||st>d.width-d.marginRight?1:e,rt=q<d.marginTop||q>d.height-d.marginBottom?1:t,z=null,Rt=s*s;for(let ht of u){let Ht=Z*(D(ht)-st),Qt=rt*(R(ht)-q),tt=Ht*Ht+Qt*Qt;tt<=Rt&&(z=ht,Rt=tt)}if(z!=null&&(e!==1||t!==1)){let ht=D(z)-st,Ht=R(z)-q;Rt=ht*ht+Ht*Ht}U(z,Rt)}function ot(Y){Y.pointerType==="mouse"&&F!=null&&(x.sticky&&x.roots.some(st=>st?.contains(Y.target))||(x.sticky?(x.sticky=!1,x.renders.forEach(st=>st(null))):(x.sticky=!0,W(F)),Y.stopImmediatePropagation()))}function at(Y){Y.pointerType==="mouse"&&(x.sticky||U(null))}return y.addEventListener("pointerenter",nt),y.addEventListener("pointermove",nt),y.addEventListener("pointerdown",ot),y.addEventListener("pointerleave",at),W(null)},c)}}function ac(e){return aT(1,1,e)}function cc(e){return aT(1,.01,e)}function sa(e){return aT(.01,1,e)}function cT({x1:e,x2:t,x:n=e},r){return e&&t?i=>(e[i]+t[i])/2:n?i=>n[i]:()=>r}function lT({y1:e,y2:t,y:n=e},r){return e&&t?i=>(e[i]+t[i])/2:n?i=>n[i]:()=>r}function Qw(e){return Ho(e)&&e.interval===void 0?void 0:"tabular-nums"}function f$(e,t){let{label:n=e.label,tickSize:r=6,width:i=240,height:o=44+r,marginTop:s=18,marginRight:a=0,marginBottom:c=16+r,marginLeft:l=0,style:u,ticks:f=(i-l-a)/64,tickFormat:h,fontVariant:d=Qw(e),round:p=!0,opacity:m,className:y}=t,g=rc(t);y=Gf(y),m=ae(m)[1],h===null&&(h=()=>null);let x=ut("svg",g).attr("class",`${y}-ramp`).attr("font-family","system-ui, sans-serif").attr("font-size",10).attr("width",i).attr("height",o).attr("viewBox",`0 0 ${i} ${o}`).call(O=>O.append("style").text(`:where(.${y}-ramp) {
|
|
17
17
|
display: block;
|
|
18
18
|
height: auto;
|
|
19
19
|
height: intrinsic;
|
|
20
20
|
max-width: 100%;
|
|
21
21
|
overflow: visible;
|
|
22
22
|
}
|
|
23
|
-
:where(.${
|
|
23
|
+
:where(.${y}-ramp text) {
|
|
24
24
|
white-space: pre;
|
|
25
|
-
}`)).call(zf,u),b=O=>O.selectAll(".tick line").attr("y1",s+c-o),w,_=p?(O,C)=>O.rangeRound(C):(O,C)=>O.range(C),{type:v,domain:I,range:A,interpolate:T,scale:D,pivot:E}=e;if(T){let O=A===void 0?T:mo(T.length===1?Vm(T):T,A);w=_(D.copy(),Fn(_e(l,i-a),Math.min(I.length+(E!==void 0),A===void 0?1/0:A.length)));let C=256,S=y.document.createElement("canvas");S.width=C,S.height=1;let M=S.getContext("2d");for(let N=0,F=C-1;N<C;++N)M.fillStyle=O(N/F),M.fillRect(N,0,1,1);x.append("image").attr("opacity",m).attr("x",l).attr("y",s).attr("width",i-l-a).attr("height",o-s-c).attr("preserveAspectRatio","none").attr("xlink:href",S.toDataURL())}else if(v==="threshold"){let O=I,C=d===void 0?S=>S:typeof d=="string"?ci(d):d;w=_(Us().domain([-1,A.length-1]),[l,i-a]),x.append("g").attr("fill-opacity",m).selectAll().data(A).enter().append("rect").attr("x",(S,M)=>w(M-1)).attr("y",s).attr("width",(S,M)=>w(M)-w(M-1)).attr("height",o-s-c).attr("fill",S=>S),f=Gt(O,(S,M)=>M),d=S=>C(O[S],S)}else w=_(za().domain(I),[l,i-a]),x.append("g").attr("fill-opacity",m).selectAll().data(I).enter().append("rect").attr("x",w).attr("y",s).attr("width",Math.max(0,w.bandwidth()-1)).attr("height",o-s-c).attr("fill",D),b=()=>{};return x.append("g").attr("transform",`translate(0,${o-c})`).call(GS(w).ticks(Array.isArray(f)?null:f,typeof d=="string"?d:void 0).tickFormat(typeof d=="function"?d:void 0).tickSize(r).tickValues(Array.isArray(f)?f:null)).attr("font-size",null).attr("font-family",null).attr("font-variant",fe(h,"normal")).call(b).call(O=>O.select(".domain").remove()),n!==void 0&&x.append("text").attr("x",l).attr("y",s-6).attr("fill","currentColor").attr("font-weight","bold").text(n),x.node()}var Yf=Math.PI/180;function Xi(e,{marker:t,markerStart:n=t,markerMid:r=t,markerEnd:i=t}={}){e.markerStart=FT(n),e.markerMid=FT(r),e.markerEnd=FT(i)}function FT(e){if(e==null||e===!1)return null;if(e===!0)return T7;if(typeof e=="function")return e;switch(`${e}`.toLowerCase()){case"none":return null;case"arrow":return A7("auto");case"arrow-reverse":return A7("auto-start-reverse");case"dot":return aQ;case"circle":case"circle-fill":return T7;case"circle-stroke":return cQ;case"tick":return RT("auto");case"tick-x":return RT(90);case"tick-y":return RT(0)}throw new Error(`invalid marker: ${e}`)}function A7(e){return(t,n)=>ut("svg:marker",n).attr("viewBox","-5 -5 10 10").attr("markerWidth",6.67).attr("markerHeight",6.67).attr("orient",e).attr("fill","none").attr("stroke",t).attr("stroke-width",1.5).attr("stroke-linecap","round").attr("stroke-linejoin","round").call(r=>r.append("path").attr("d","M-1.5,-3l3,3l-3,3")).node()}function aQ(e,t){return ut("svg:marker",t).attr("viewBox","-5 -5 10 10").attr("markerWidth",6.67).attr("markerHeight",6.67).attr("fill",e).attr("stroke","none").call(n=>n.append("circle").attr("r",2.5)).node()}function T7(e,t){return ut("svg:marker",t).attr("viewBox","-5 -5 10 10").attr("markerWidth",6.67).attr("markerHeight",6.67).attr("fill",e).attr("stroke","var(--plot-background)").attr("stroke-width",1.5).call(n=>n.append("circle").attr("r",3)).node()}function cQ(e,t){return ut("svg:marker",t).attr("viewBox","-5 -5 10 10").attr("markerWidth",6.67).attr("markerHeight",6.67).attr("fill","var(--plot-background)").attr("stroke",e).attr("stroke-width",1.5).call(n=>n.append("circle").attr("r",3)).node()}function RT(e){return(t,n)=>ut("svg:marker",n).attr("viewBox","-3 -3 6 6").attr("markerWidth",6).attr("markerHeight",6).attr("orient",e).attr("stroke",t).call(r=>r.append("path").attr("d","M0,-3v6")).node()}var lQ=0;function oa(e,t,{stroke:n},r){return N7(e,t,n&&(i=>n[i]),r)}function E7(e,t,{stroke:n},r){return N7(e,t,n&&(([i])=>n[i]),r)}function N7(e,{markerStart:t,markerMid:n,markerEnd:r,stroke:i},o=()=>i,s){let a=new Map;function c(l){return function(u){let f=o(u),d=a.get(l);d||a.set(l,d=new Map);let h=d.get(f);if(!h){let p=this.parentNode.insertBefore(l(f,s),this),m=`plot-marker-${++lQ}`;p.setAttribute("id",m),d.set(f,h=`url(#${m})`)}return h}}t&&e.attr("marker-start",c(t)),n&&e.attr("marker-mid",c(n)),r&&e.attr("marker-end",c(r))}function Nl({inset:e,insetLeft:t,insetRight:n,...r}={}){return[t,n]=D7(e,t,n),{inset:e,insetLeft:t,insetRight:n,...r}}function Dl({inset:e,insetTop:t,insetBottom:n,...r}={}){return[t,n]=D7(e,t,n),{inset:e,insetTop:t,insetBottom:n,...r}}function D7(e,t,n){return e===void 0&&t===void 0&&n===void 0?Ce?[1,0]:[.5,.5]:[t,n]}function O7(e,{interval:t}){return e={...pi(e)},e.interval=Ef(e.interval===void 0?t:e.interval),e}function Fw(e,t,n,r){let{[e]:i,[`${e}1`]:o,[`${e}2`]:s}=n,{value:a,interval:c}=O7(i,n);if(a==null||c==null&&!r)return n;let l=On(i);if(c==null){let h,p={transform:m=>h||(h=wt(m,a)),label:l};return{...n,[e]:void 0,[`${e}1`]:o===void 0?p:o,[`${e}2`]:s===void 0&&!(o===s&&r)?p:s}}let u,f;function d(h){return f!==void 0&&h===u?f:f=Gt(wt(u=h,a),p=>c.floor(p))}return t({...n,[e]:void 0,[`${e}1`]:o===void 0?{transform:d,label:l}:o,[`${e}2`]:s===void 0?{transform:h=>d(h).map(p=>c.offset(p)),label:l}:s})}function B7(e,t,n){let{[e]:r}=n,{value:i,interval:o}=O7(r,n);return i==null||o==null?n:t({...n,[e]:{label:On(r),transform:s=>{let a=Gt(wt(s,i),l=>o.floor(l)),c=a.map(l=>o.offset(l));return a.map(Le(a)?(l,u)=>l==null||isNaN(l=+l)||(u=c[u],u==null)||isNaN(u=+u)?void 0:new Date((l+u)/2):(l,u)=>l==null||(u=c[u],u==null)?NaN:(+l+ +u)/2)}}})}function $T(e={}){return Fw("x",Nl,e,!0)}function PT(e={}){return Fw("y",Dl,e,!0)}function Rw(e={}){return Fw("x",Nl,e)}function $w(e={}){return Fw("y",Dl,e)}function Pw(e={}){return B7("x",Nl,e)}function Uw(e={}){return B7("y",Dl,e)}var L7={ariaLabel:"rule",fill:null,stroke:"currentColor"},Wm=class extends St{constructor(t,n={}){let{x:r,y1:i,y2:o,inset:s=0,insetTop:a=s,insetBottom:c=s}=n;super(t,{x:{value:r,scale:"x",optional:!0},y1:{value:i,scale:"y",optional:!0},y2:{value:o,scale:"y",optional:!0}},Yi(n,"x"),L7),this.insetTop=Bt(a),this.insetBottom=Bt(c),Xi(this,n)}render(t,n,r,i,o){let{x:s,y:a}=n,{x:c,y1:l,y2:u}=r,{width:f,height:d,marginTop:h,marginRight:p,marginLeft:m,marginBottom:g}=i,{insetTop:y,insetBottom:x}=this;return ut("svg:g",o).call(Ct,this,i,o).call(Et,this,{x:c&&s},Ce,0).call(b=>b.selectAll().data(t).enter().append("line").call(Lt,this).attr("x1",c?w=>c[w]:(m+f-p)/2).attr("x2",c?w=>c[w]:(m+f-p)/2).attr("y1",l&&!lr(a)?w=>l[w]+y:h+y).attr("y2",u&&!lr(a)?a.bandwidth?w=>u[w]+a.bandwidth()-x:w=>u[w]-x:d-g-x).call(Qt,this,r).call(oa,this,r,o)).node()}},Hm=class extends St{constructor(t,n={}){let{x1:r,x2:i,y:o,inset:s=0,insetRight:a=s,insetLeft:c=s}=n;super(t,{y:{value:o,scale:"y",optional:!0},x1:{value:r,scale:"x",optional:!0},x2:{value:i,scale:"x",optional:!0}},Yi(n,"y"),L7),this.insetRight=Bt(a),this.insetLeft=Bt(c),Xi(this,n)}render(t,n,r,i,o){let{x:s,y:a}=n,{y:c,x1:l,x2:u}=r,{width:f,height:d,marginTop:h,marginRight:p,marginLeft:m,marginBottom:g}=i,{insetLeft:y,insetRight:x}=this;return ut("svg:g",o).call(Ct,this,i,o).call(Et,this,{y:c&&a},0,Ce).call(b=>b.selectAll().data(t).enter().append("line").call(Lt,this).attr("x1",l&&!lr(s)?w=>l[w]+y:m+y).attr("x2",u&&!lr(s)?s.bandwidth?w=>u[w]+s.bandwidth()-x:w=>u[w]-x:f-p-x).attr("y1",c?w=>c[w]:(h+d-g)/2).attr("y2",c?w=>c[w]:(h+d-g)/2).call(Qt,this,r).call(oa,this,r,o)).node()}};function Yr(e,t){let{x:n=G,y:r,y1:i,y2:o,...s}=$w(t);return[i,o]=C7(r,i,o),new Wm(e,{...s,x:n,y1:i,y2:o})}function Xr(e,t){let{y:n=G,x:r,x1:i,x2:o,...s}=Rw(t);return[i,o]=C7(r,i,o),new Hm(e,{...s,y:n,x1:i,x2:o})}function C7(e,t,n){if(e==null){if(t===void 0){if(n!==void 0)return[0,n]}else if(n===void 0)return[0,t]}else{if(t===void 0)return n===void 0?[0,e]:[e,n];if(n===void 0)return[e,t]}return[t,n]}function oc(e,...t){let n=t.length;for(let r=0,i=!0;r<n;++r)typeof t[r]!="function"&&(i&&(e=e.slice(),i=!1),e.splice(r,2,e[r]+t[r]+e[r+1]),t.splice(r,1),--r,--n);return r=>{let i=e[0];for(let o=0;o<n;++o)i+=t[o](r)+e[o+1];return i}}var uQ={ariaLabel:"text",strokeLinejoin:"round",strokeWidth:3,paintOrder:"stroke"},P7="\xAD",Bl=class extends St{constructor(t,n={}){let{x:r,y:i,text:o=cr(t)&&cw(t)?G:Ee,frameAnchor:s,textAnchor:a=/right$/i.test(s)?"end":/left$/i.test(s)?"start":"middle",lineAnchor:c=/^top/i.test(s)?"top":/^bottom/i.test(s)?"bottom":"middle",lineHeight:l=1,lineWidth:u=1/0,textOverflow:f,monospace:d,fontFamily:h=d?"ui-monospace, monospace":void 0,fontSize:p,fontStyle:m,fontVariant:g,fontWeight:y,rotate:x}=n,[b,w]=se(x,0),[_,v]=pQ(p);if(super(t,{x:{value:r,scale:"x",optional:!0},y:{value:i,scale:"y",optional:!0},fontSize:{value:_,optional:!0},rotate:{value:YF(b),optional:!0},text:{value:o,filter:Bm,optional:!0}},n,uQ),this.rotate=w,this.textAnchor=fe(a,"middle"),this.lineAnchor=sn(c,"lineAnchor",["top","middle","bottom"]),this.lineHeight=+l,this.lineWidth=+u,this.textOverflow=zT(f),this.monospace=!!d,this.fontFamily=qe(h),this.fontSize=v,this.fontStyle=qe(m),this.fontVariant=qe(g),this.fontWeight=qe(y),this.frameAnchor=ko(s),!(this.lineWidth>=0))throw new Error(`invalid lineWidth: ${u}`);this.splitLines=jT(this),this.clipLine=VT(this)}render(t,n,r,i,o){let{x:s,y:a}=n,{x:c,y:l,rotate:u,text:f,title:d,fontSize:h}=r,{rotate:p}=this,[m,g]=xn(this,i);return ut("svg:g",o).call(Ct,this,i,o).call(qT,this,f,i).call(Et,this,{x:c&&s,y:l&&a}).call(y=>y.selectAll().data(t).enter().append("text").call(Lt,this).call(fQ,this,f,d).attr("transform",oc`translate(${c?x=>c[x]:m},${l?x=>l[x]:g})${u?x=>` rotate(${u[x]})`:p?` rotate(${p})`:""}`).call(ft,"font-size",h&&(x=>h[x])).call(Qt,this,r)).node()}};function zT(e){return e==null?null:sn(e,"textOverflow",["clip","ellipsis","clip-start","clip-end","ellipsis-start","ellipsis-middle","ellipsis-end"]).replace(/^(clip|ellipsis)$/,"$1-end")}function fQ(e,t,n,r){if(!n)return;let{lineAnchor:i,lineHeight:o,textOverflow:s,splitLines:a,clipLine:c}=t;e.each(function(l){let u=a(Vi(n[l])??"").map(c),f=u.length,d=i==="top"?.71:i==="bottom"?1-f:(164-f*100)/200;if(f>1){let h=0;for(let p=0;p<f;++p){if(++h,!u[p])continue;let m=this.ownerDocument.createElementNS(oi.svg,"tspan");m.setAttribute("x",0),p===h-1?m.setAttribute("y",`${(d+p)*o}em`):m.setAttribute("dy",`${h*o}em`),m.textContent=u[p],this.appendChild(m),h=0}}else d&&this.setAttribute("y",`${d*o}em`),this.textContent=u[0];if(s&&!r&&u[0]!==n[l]){let h=this.ownerDocument.createElementNS(oi.svg,"title");h.textContent=n[l],this.appendChild(h)}})}function $o(e,{x:t,y:n,...r}={}){return r.frameAnchor===void 0&&([t,n]=$e(t,n)),new Bl(e,{...r,x:t,y:n})}function zw(e,{x:t=G,...n}={}){return new Bl(e,Uw({...n,x:t}))}function qw(e,{y:t=G,...n}={}){return new Bl(e,Pw({...n,y:t}))}function qT(e,t,n){ft(e,"text-anchor",t.textAnchor),ft(e,"font-family",t.fontFamily),ft(e,"font-size",t.fontSize),ft(e,"font-style",t.fontStyle),ft(e,"font-variant",t.fontVariant===void 0?dQ(n):t.fontVariant),ft(e,"font-weight",t.fontWeight)}function dQ(e){return e&&(Ks(e)||Le(e))?"tabular-nums":void 0}var hQ=new Set(["inherit","initial","revert","unset","xx-small","x-small","small","medium","large","x-large","xx-large","xxx-large","larger","smaller"]);function pQ(e){return e==null||typeof e=="number"?[void 0,e]:typeof e!="string"?[e,void 0]:(e=e.trim().toLowerCase(),hQ.has(e)||/^[+-]?\d*\.?\d+(e[+-]?\d+)?(\w*|%)$/.test(e)?[void 0,e]:[e,void 0])}function mQ(e,t,n){let r=[],i,o=0;for(let[s,a,c]of yQ(e)){if(i===void 0&&(i=s),o>i&&n(e,i,a)>t&&(r.push(e.slice(i,o)+(e[o-1]===P7?"-":"")),i=s),c){r.push(e.slice(i,a)),i=void 0;continue}o=a}return r}function*yQ(e){let t=0,n=0,r=e.length;for(;n<r;){let i=1;switch(e[n]){case P7:case"-":++n,yield[t,n,!1],t=n;break;case" ":for(yield[t,n,!1];e[++n]===" ";);t=n;break;case"\r":e[n+1]===`
|
|
25
|
+
}`)).call(Wf,u),b=O=>O.selectAll(".tick line").attr("y1",s+c-o),w,_=p?(O,C)=>O.rangeRound(C):(O,C)=>O.range(C),{type:v,domain:I,range:E,interpolate:M,scale:N,pivot:A}=e;if(M){let O=E===void 0?M:Eo(M.length===1?ly(M):M,E);w=_(N.copy(),$n(Se(l,i-a),Math.min(I.length+(A!==void 0),E===void 0?1/0:E.length)));let C=256,S=g.document.createElement("canvas");S.width=C,S.height=1;let T=S.getContext("2d");for(let D=0,R=C-1;D<C;++D)T.fillStyle=O(D/R),T.fillRect(D,0,1,1);x.append("image").attr("opacity",m).attr("x",l).attr("y",s).attr("width",i-l-a).attr("height",o-s-c).attr("preserveAspectRatio","none").attr("xlink:href",S.toDataURL())}else if(v==="threshold"){let O=I,C=h===void 0?S=>S:typeof h=="string"?pi(h):h;w=_(zs().domain([-1,E.length-1]),[l,i-a]),x.append("g").attr("fill-opacity",m).selectAll().data(E).enter().append("rect").attr("x",(S,T)=>w(T-1)).attr("y",s).attr("width",(S,T)=>w(T)-w(T-1)).attr("height",o-s-c).attr("fill",S=>S),f=Wt(O,(S,T)=>T),h=S=>C(O[S],S)}else w=_(qa().domain(I),[l,i-a]),x.append("g").attr("fill-opacity",m).selectAll().data(I).enter().append("rect").attr("x",w).attr("y",s).attr("width",Math.max(0,w.bandwidth()-1)).attr("height",o-s-c).attr("fill",N),b=()=>{};return x.append("g").attr("transform",`translate(0,${o-c})`).call(vI(w).ticks(Array.isArray(f)?null:f,typeof h=="string"?h:void 0).tickFormat(typeof h=="function"?h:void 0).tickSize(r).tickValues(Array.isArray(f)?f:null)).attr("font-size",null).attr("font-family",null).attr("font-variant",he(d,"normal")).call(b).call(O=>O.select(".domain").remove()),n!==void 0&&x.append("text").attr("x",l).attr("y",s-6).attr("fill","currentColor").attr("font-weight","bold").text(n),x.node()}var Zf=Math.PI/180;function Wi(e,{marker:t,markerStart:n=t,markerMid:r=t,markerEnd:i=t}={}){e.markerStart=uT(n),e.markerMid=uT(r),e.markerEnd=uT(i)}function uT(e){if(e==null||e===!1)return null;if(e===!0)return d$;if(typeof e=="function")return e;switch(`${e}`.toLowerCase()){case"none":return null;case"arrow":return h$("auto");case"arrow-reverse":return h$("auto-start-reverse");case"dot":return pK;case"circle":case"circle-fill":return d$;case"circle-stroke":return mK;case"tick":return fT("auto");case"tick-x":return fT(90);case"tick-y":return fT(0)}throw new Error(`invalid marker: ${e}`)}function h$(e){return(t,n)=>ut("svg:marker",n).attr("viewBox","-5 -5 10 10").attr("markerWidth",6.67).attr("markerHeight",6.67).attr("orient",e).attr("fill","none").attr("stroke",t).attr("stroke-width",1.5).attr("stroke-linecap","round").attr("stroke-linejoin","round").call(r=>r.append("path").attr("d","M-1.5,-3l3,3l-3,3")).node()}function pK(e,t){return ut("svg:marker",t).attr("viewBox","-5 -5 10 10").attr("markerWidth",6.67).attr("markerHeight",6.67).attr("fill",e).attr("stroke","none").call(n=>n.append("circle").attr("r",2.5)).node()}function d$(e,t){return ut("svg:marker",t).attr("viewBox","-5 -5 10 10").attr("markerWidth",6.67).attr("markerHeight",6.67).attr("fill",e).attr("stroke","var(--plot-background)").attr("stroke-width",1.5).call(n=>n.append("circle").attr("r",3)).node()}function mK(e,t){return ut("svg:marker",t).attr("viewBox","-5 -5 10 10").attr("markerWidth",6.67).attr("markerHeight",6.67).attr("fill","var(--plot-background)").attr("stroke",e).attr("stroke-width",1.5).call(n=>n.append("circle").attr("r",3)).node()}function fT(e){return(t,n)=>ut("svg:marker",n).attr("viewBox","-3 -3 6 6").attr("markerWidth",6).attr("markerHeight",6).attr("orient",e).attr("stroke",t).call(r=>r.append("path").attr("d","M0,-3v6")).node()}var yK=0;function aa(e,t,{stroke:n},r){return m$(e,t,n&&(i=>n[i]),r)}function p$(e,t,{stroke:n},r){return m$(e,t,n&&(([i])=>n[i]),r)}function m$(e,{markerStart:t,markerMid:n,markerEnd:r,stroke:i},o=()=>i,s){let a=new Map;function c(l){return function(u){let f=o(u),h=a.get(l);h||a.set(l,h=new Map);let d=h.get(f);if(!d){let p=this.parentNode.insertBefore(l(f,s),this),m=`plot-marker-${++yK}`;p.setAttribute("id",m),h.set(f,d=`url(#${m})`)}return d}}t&&e.attr("marker-start",c(t)),n&&e.attr("marker-mid",c(n)),r&&e.attr("marker-end",c(r))}function kl({inset:e,insetLeft:t,insetRight:n,...r}={}){return[t,n]=y$(e,t,n),{inset:e,insetLeft:t,insetRight:n,...r}}function Rl({inset:e,insetTop:t,insetBottom:n,...r}={}){return[t,n]=y$(e,t,n),{inset:e,insetTop:t,insetBottom:n,...r}}function y$(e,t,n){return e===void 0&&t===void 0&&n===void 0?Ce?[1,0]:[.5,.5]:[t,n]}function g$(e,{interval:t}){return e={...wi(e)},e.interval=Rf(e.interval===void 0?t:e.interval),e}function Kw(e,t,n,r){let{[e]:i,[`${e}1`]:o,[`${e}2`]:s}=n,{value:a,interval:c}=g$(i,n);if(a==null||c==null&&!r)return n;let l=Cn(i);if(c==null){let d,p={transform:m=>d||(d=wt(m,a)),label:l};return{...n,[e]:void 0,[`${e}1`]:o===void 0?p:o,[`${e}2`]:s===void 0&&!(o===s&&r)?p:s}}let u,f;function h(d){return f!==void 0&&d===u?f:f=Wt(wt(u=d,a),p=>c.floor(p))}return t({...n,[e]:void 0,[`${e}1`]:o===void 0?{transform:h,label:l}:o,[`${e}2`]:s===void 0?{transform:d=>h(d).map(p=>c.offset(p)),label:l}:s})}function x$(e,t,n){let{[e]:r}=n,{value:i,interval:o}=g$(r,n);return i==null||o==null?n:t({...n,[e]:{label:Cn(r),transform:s=>{let a=Wt(wt(s,i),l=>o.floor(l)),c=a.map(l=>o.offset(l));return a.map(Be(a)?(l,u)=>l==null||isNaN(l=+l)||(u=c[u],u==null)||isNaN(u=+u)?void 0:new Date((l+u)/2):(l,u)=>l==null||(u=c[u],u==null)?NaN:(+l+ +u)/2)}}})}function hT(e={}){return Kw("x",kl,e,!0)}function dT(e={}){return Kw("y",Rl,e,!0)}function tv(e={}){return Kw("x",kl,e)}function ev(e={}){return Kw("y",Rl,e)}function nv(e={}){return x$("x",kl,e)}function rv(e={}){return x$("y",Rl,e)}var b$={ariaLabel:"rule",fill:null,stroke:"currentColor"},dy=class extends St{constructor(t,n={}){let{x:r,y1:i,y2:o,inset:s=0,insetTop:a=s,insetBottom:c=s}=n;super(t,{x:{value:r,scale:"x",optional:!0},y1:{value:i,scale:"y",optional:!0},y2:{value:o,scale:"y",optional:!0}},Gi(n,"x"),b$),this.insetTop=Bt(a),this.insetBottom=Bt(c),Wi(this,n)}render(t,n,r,i,o){let{x:s,y:a}=n,{x:c,y1:l,y2:u}=r,{width:f,height:h,marginTop:d,marginRight:p,marginLeft:m,marginBottom:y}=i,{insetTop:g,insetBottom:x}=this;return ut("svg:g",o).call(kt,this,i,o).call(Et,this,{x:c&&s},Ce,0).call(b=>b.selectAll().data(t).enter().append("line").call(Ct,this).attr("x1",c?w=>c[w]:(m+f-p)/2).attr("x2",c?w=>c[w]:(m+f-p)/2).attr("y1",l&&!fr(a)?w=>l[w]+g:d+g).attr("y2",u&&!fr(a)?a.bandwidth?w=>u[w]+a.bandwidth()-x:w=>u[w]-x:h-y-x).call(Kt,this,r).call(aa,this,r,o)).node()}},py=class extends St{constructor(t,n={}){let{x1:r,x2:i,y:o,inset:s=0,insetRight:a=s,insetLeft:c=s}=n;super(t,{y:{value:o,scale:"y",optional:!0},x1:{value:r,scale:"x",optional:!0},x2:{value:i,scale:"x",optional:!0}},Gi(n,"y"),b$),this.insetRight=Bt(a),this.insetLeft=Bt(c),Wi(this,n)}render(t,n,r,i,o){let{x:s,y:a}=n,{y:c,x1:l,x2:u}=r,{width:f,height:h,marginTop:d,marginRight:p,marginLeft:m,marginBottom:y}=i,{insetLeft:g,insetRight:x}=this;return ut("svg:g",o).call(kt,this,i,o).call(Et,this,{y:c&&a},0,Ce).call(b=>b.selectAll().data(t).enter().append("line").call(Ct,this).attr("x1",l&&!fr(s)?w=>l[w]+g:m+g).attr("x2",u&&!fr(s)?s.bandwidth?w=>u[w]+s.bandwidth()-x:w=>u[w]-x:f-p-x).attr("y1",c?w=>c[w]:(d+h-y)/2).attr("y2",c?w=>c[w]:(d+h-y)/2).call(Kt,this,r).call(aa,this,r,o)).node()}};function Xr(e,t){let{x:n=G,y:r,y1:i,y2:o,...s}=ev(t);return[i,o]=w$(r,i,o),new dy(e,{...s,x:n,y1:i,y2:o})}function Gr(e,t){let{y:n=G,x:r,x1:i,x2:o,...s}=tv(t);return[i,o]=w$(r,i,o),new py(e,{...s,y:n,x1:i,x2:o})}function w$(e,t,n){if(e==null){if(t===void 0){if(n!==void 0)return[0,n]}else if(n===void 0)return[0,t]}else{if(t===void 0)return n===void 0?[0,e]:[e,n];if(n===void 0)return[e,t]}return[t,n]}function lc(e,...t){let n=t.length;for(let r=0,i=!0;r<n;++r)typeof t[r]!="function"&&(i&&(e=e.slice(),i=!1),e.splice(r,2,e[r]+t[r]+e[r+1]),t.splice(r,1),--r,--n);return r=>{let i=e[0];for(let o=0;o<n;++o)i+=t[o](r)+e[o+1];return i}}var gK={ariaLabel:"text",strokeLinejoin:"round",strokeWidth:3,paintOrder:"stroke"},M$="\xAD",$l=class extends St{constructor(t,n={}){let{x:r,y:i,text:o=ur(t)&&Mw(t)?G:Ee,frameAnchor:s,textAnchor:a=/right$/i.test(s)?"end":/left$/i.test(s)?"start":"middle",lineAnchor:c=/^top/i.test(s)?"top":/^bottom/i.test(s)?"bottom":"middle",lineHeight:l=1,lineWidth:u=1/0,textOverflow:f,monospace:h,fontFamily:d=h?"ui-monospace, monospace":void 0,fontSize:p,fontStyle:m,fontVariant:y,fontWeight:g,rotate:x}=n,[b,w]=ae(x,0),[_,v]=vK(p);if(super(t,{x:{value:r,scale:"x",optional:!0},y:{value:i,scale:"y",optional:!0},fontSize:{value:_,optional:!0},rotate:{value:OF(b),optional:!0},text:{value:o,filter:Zm,optional:!0}},n,gK),this.rotate=w,this.textAnchor=he(a,"middle"),this.lineAnchor=cn(c,"lineAnchor",["top","middle","bottom"]),this.lineHeight=+l,this.lineWidth=+u,this.textOverflow=mT(f),this.monospace=!!h,this.fontFamily=qe(d),this.fontSize=v,this.fontStyle=qe(m),this.fontVariant=qe(y),this.fontWeight=qe(g),this.frameAnchor=Go(s),!(this.lineWidth>=0))throw new Error(`invalid lineWidth: ${u}`);this.splitLines=gT(this),this.clipLine=xT(this)}render(t,n,r,i,o){let{x:s,y:a}=n,{x:c,y:l,rotate:u,text:f,title:h,fontSize:d}=r,{rotate:p}=this,[m,y]=vn(this,i);return ut("svg:g",o).call(kt,this,i,o).call(yT,this,f,i).call(Et,this,{x:c&&s,y:l&&a}).call(g=>g.selectAll().data(t).enter().append("text").call(Ct,this).call(xK,this,f,h).attr("transform",lc`translate(${c?x=>c[x]:m},${l?x=>l[x]:y})${u?x=>` rotate(${u[x]})`:p?` rotate(${p})`:""}`).call(ft,"font-size",d&&(x=>d[x])).call(Kt,this,r)).node()}};function mT(e){return e==null?null:cn(e,"textOverflow",["clip","ellipsis","clip-start","clip-end","ellipsis-start","ellipsis-middle","ellipsis-end"]).replace(/^(clip|ellipsis)$/,"$1-end")}function xK(e,t,n,r){if(!n)return;let{lineAnchor:i,lineHeight:o,textOverflow:s,splitLines:a,clipLine:c}=t;e.each(function(l){let u=a(Xi(n[l])??"").map(c),f=u.length,h=i==="top"?.71:i==="bottom"?1-f:(164-f*100)/200;if(f>1){let d=0;for(let p=0;p<f;++p){if(++d,!u[p])continue;let m=this.ownerDocument.createElementNS(ui.svg,"tspan");m.setAttribute("x",0),p===d-1?m.setAttribute("y",`${(h+p)*o}em`):m.setAttribute("dy",`${d*o}em`),m.textContent=u[p],this.appendChild(m),d=0}}else h&&this.setAttribute("y",`${h*o}em`),this.textContent=u[0];if(s&&!r&&u[0]!==n[l]){let d=this.ownerDocument.createElementNS(ui.svg,"title");d.textContent=n[l],this.appendChild(d)}})}function Zo(e,{x:t,y:n,...r}={}){return r.frameAnchor===void 0&&([t,n]=Pe(t,n)),new $l(e,{...r,x:t,y:n})}function iv(e,{x:t=G,...n}={}){return new $l(e,rv({...n,x:t}))}function ov(e,{y:t=G,...n}={}){return new $l(e,nv({...n,y:t}))}function yT(e,t,n){ft(e,"text-anchor",t.textAnchor),ft(e,"font-family",t.fontFamily),ft(e,"font-size",t.fontSize),ft(e,"font-style",t.fontStyle),ft(e,"font-variant",t.fontVariant===void 0?bK(n):t.fontVariant),ft(e,"font-weight",t.fontWeight)}function bK(e){return e&&(ta(e)||Be(e))?"tabular-nums":void 0}var wK=new Set(["inherit","initial","revert","unset","xx-small","x-small","small","medium","large","x-large","xx-large","xxx-large","larger","smaller"]);function vK(e){return e==null||typeof e=="number"?[void 0,e]:typeof e!="string"?[e,void 0]:(e=e.trim().toLowerCase(),wK.has(e)||/^[+-]?\d*\.?\d+(e[+-]?\d+)?(\w*|%)$/.test(e)?[void 0,e]:[e,void 0])}function _K(e,t,n){let r=[],i,o=0;for(let[s,a,c]of SK(e)){if(i===void 0&&(i=s),o>i&&n(e,i,a)>t&&(r.push(e.slice(i,o)+(e[o-1]===M$?"-":"")),i=s),c){r.push(e.slice(i,a)),i=void 0;continue}o=a}return r}function*SK(e){let t=0,n=0,r=e.length;for(;n<r;){let i=1;switch(e[n]){case M$:case"-":++n,yield[t,n,!1],t=n;break;case" ":for(yield[t,n,!1];e[++n]===" ";);t=n;break;case"\r":e[n+1]===`
|
|
26
26
|
`&&++i;case`
|
|
27
|
-
`:yield[t,n,!0],n+=i,t=n;break;default:++n;break}}yield[t,n,!0]}var k7={a:56,b:63,c:57,d:63,e:58,f:37,g:62,h:60,i:26,j:26,k:55,l:26,m:88,n:60,o:60,p:62,q:62,r:39,s:54,t:38,u:60,v:55,w:79,x:54,y:55,z:55,A:69,B:67,C:73,D:74,E:61,F:58,G:76,H:75,I:28,J:55,K:67,L:58,M:89,N:75,O:78,P:65,Q:78,R:67,S:65,T:65,U:75,V:69,W:98,X:69,Y:67,Z:67,0:64,1:48,2:62,3:64,4:66,5:63,6:65,7:58,8:65,9:65," ":29,"!":32,'"':49,"'":31,"(":39,")":39,",":31,"-":48,".":31,"/":32,":":31,";":31,"?":52,"\u2018":31,"\u2019":31,"\u201C":47,"\u201D":47,"\u2026":82};function jw(e,t=0,n=e.length){let r=0;for(let i=t;i<n;i=Xf(e,i))r+=k7[e[i]]??(z7(e,i)?120:k7.e);return r}function Vw(e,t=0,n=e.length){let r=0;for(let i=t;i<n;i=Xf(e,i))r+=z7(e,i)?126:63;return r}function jT({monospace:e,lineWidth:t,textOverflow:n}){if(n!=null||t==1/0)return o=>o.split(/\r\n?|\n/g);let r=e?Vw:jw,i=t*100;return o=>mQ(o,i,r)}function VT({monospace:e,lineWidth:t,textOverflow:n}){if(n==null||t==1/0)return o=>o;let r=e?Vw:jw,i=t*100;switch(n){case"clip-start":return o=>R7(o,i,r,"");case"clip-end":return o=>F7(o,i,r,"");case"ellipsis-start":return o=>R7(o,i,r,Ol);case"ellipsis-middle":return o=>gQ(o,i,r,Ol);case"ellipsis-end":return o=>F7(o,i,r,Ol)}}var Ol="\u2026";function Ll(e,t,n,r){let i=[],o=0;for(let s=0,a=0,c=e.length;s<c;s=a){a=Xf(e,s);let l=n(e,s,a);if(o+l>t){for(o+=r;o>t&&s>0;)a=s,s=i.pop(),o-=n(e,s,a);return[s,t-o]}o+=l,i.push(s)}return[-1,0]}function F7(e,t,n,r){e=e.trim();let i=n(r),[o]=Ll(e,t,n,i);return o<0?e:e.slice(0,o).trimEnd()+r}function gQ(e,t,n,r){e=e.trim();let i=n(e);if(i<=t)return e;let o=n(r)/2,[s,a]=Ll(e,t/2,n,o),[c]=Ll(e,i-t/2-a+o,n,-o);return c<0?r:e.slice(0,s).trimEnd()+r+e.slice(Xf(e,c)).trimStart()}function R7(e,t,n,r){e=e.trim();let i=n(e);if(i<=t)return e;let o=n(r),[s]=Ll(e,i-t+o,n,-o);return s<0?r:r+e.slice(Xf(e,s)).trimStart()}var UT=/[\p{Combining_Mark}\p{Emoji_Modifier}]+/uy,$7=/\p{Extended_Pictographic}/uy;function Xf(e,t){return t+=xQ(e,t)?2:1,wQ(e,t)&&(t=UT.lastIndex),bQ(e,t)?Xf(e,t+1):t}function U7(e,t){return e.charCodeAt(t)<128}function xQ(e,t){let n=e.charCodeAt(t);if(n>=55296&&n<56320){let r=e.charCodeAt(t+1);return r>=56320&&r<57344}return!1}function bQ(e,t){return e.charCodeAt(t)===8205}function wQ(e,t){return U7(e,t)?!1:(UT.lastIndex=t,UT.test(e))}function z7(e,t){return U7(e,t)?!1:($7.lastIndex=t,$7.test(e))}var q7={ariaLabel:"vector",fill:"none",stroke:"currentColor",strokeWidth:1.5,strokeLinejoin:"round",strokeLinecap:"round"},j7=3.5,vQ=j7*5,V7={draw(e,t,n){let r=t*n/vQ;e.moveTo(0,0),e.lineTo(0,-t),e.moveTo(-r,r-t),e.lineTo(0,-t),e.lineTo(r,r-t)}},Y7={draw(e,t,n){e.moveTo(-n,0),e.lineTo(0,-t),e.lineTo(n,0)}},_Q=new Map([["arrow",V7],["spike",Y7]]);function SQ(e){return e&&typeof e.draw=="function"}function IQ(e){if(SQ(e))return e;let t=_Q.get(`${e}`.toLowerCase());if(t)return t;throw new Error(`invalid shape: ${e}`)}var Cl=class extends St{constructor(t,n={}){let{x:r,y:i,r:o=j7,length:s,rotate:a,shape:c=V7,anchor:l="middle",frameAnchor:u}=n,[f,d]=se(s,12),[h,p]=se(a,0);super(t,{x:{value:r,scale:"x",optional:!0},y:{value:i,scale:"y",optional:!0},length:{value:f,scale:"length",optional:!0},rotate:{value:h,optional:!0}},n,q7),this.r=+o,this.length=d,this.rotate=p,this.shape=IQ(c),this.anchor=sn(l,"anchor",["start","middle","end"]),this.frameAnchor=ko(u)}render(t,n,r,i,o){let{x:s,y:a}=n,{x:c,y:l,length:u,rotate:f}=r,{length:d,rotate:h,anchor:p,shape:m,r:g}=this,[y,x]=xn(this,i);return ut("svg:g",o).call(Ct,this,i,o).call(Et,this,{x:c&&s,y:l&&a}).call(b=>b.selectAll().data(t).enter().append("path").call(Lt,this).attr("transform",oc`translate(${c?w=>c[w]:y},${l?w=>l[w]:x})${f?w=>` rotate(${f[w]})`:h?` rotate(${h})`:""}${p==="start"?"":p==="end"?u?w=>` translate(0,${u[w]})`:` translate(0,${d})`:u?w=>` translate(0,${u[w]/2})`:` translate(0,${d/2})`}`).attr("d",u?w=>{let _=er();return m.draw(_,u[w],g),_}:(()=>{let w=er();return m.draw(w,d,g),w})()).call(Qt,this,r)).node()}};function YT(e,t={}){let{x:n,y:r,...i}=t;return t.frameAnchor===void 0&&([n,r]=$e(n,r)),new Cl(e,{...i,x:n,y:r})}function Yw(e,t={}){let{x:n=G,...r}=t;return new Cl(e,{...r,x:n})}function Xw(e,t={}){let{y:n=G,...r}=t;return new Cl(e,{...r,y:n})}function X7(e,t={}){let{shape:n=Y7,stroke:r=q7.stroke,strokeWidth:i=1,fill:o=r,fillOpacity:s=.3,anchor:a="start",...c}=t;return YT(e,{...c,shape:n,stroke:r,strokeWidth:i,fill:o,fillOpacity:s,anchor:a})}function sc(e,t){return arguments.length<2&&!cr(e)&&(t=e,e=null),t===void 0&&(t={}),[e,t]}function Gw({anchor:e}={},t){return e===void 0?t[0]:sn(e,"anchor",t)}function G7(e){return Gw(e,["left","right"])}function W7(e){return Gw(e,["right","left"])}function H7(e){return Gw(e,["bottom","top"])}function Z7(e){return Gw(e,["top","bottom"])}function Zm(){let[e,t]=sc(...arguments);return J7("y",G7(t),e,t)}function Ww(){let[e,t]=sc(...arguments);return J7("fy",W7(t),e,t)}function Jm(){let[e,t]=sc(...arguments);return Q7("x",H7(t),e,t)}function Hw(){let[e,t]=sc(...arguments);return Q7("fx",Z7(t),e,t)}function J7(e,t,n,{color:r="currentColor",opacity:i=1,stroke:o=r,strokeOpacity:s=i,strokeWidth:a=1,fill:c=r,fillOpacity:l=i,textAnchor:u,textStroke:f,textStrokeOpacity:d,textStrokeWidth:h,tickSize:p=e==="y"?6:0,tickPadding:m,tickRotate:g,x:y,margin:x,marginTop:b=x===void 0?20:x,marginRight:w=x===void 0?t==="right"?40:0:x,marginBottom:_=x===void 0?20:x,marginLeft:v=x===void 0?t==="left"?40:0:x,label:I,labelAnchor:A,labelArrow:T,labelOffset:D,...E}){return p=Bt(p),m=Bt(m),g=Bt(g),A!==void 0&&(A=sn(A,"labelAnchor",["center","top","bottom"])),T=s$(T),tn(p&&!re(o)?MQ(e,t,n,{stroke:o,strokeOpacity:s,strokeWidth:a,tickSize:p,tickPadding:m,tickRotate:g,x:y,...E}):null,re(c)?null:TQ(e,t,n,{fill:c,fillOpacity:l,stroke:f,strokeOpacity:d,strokeWidth:h,textAnchor:u,tickSize:p,tickPadding:m,tickRotate:g,x:y,marginTop:b,marginRight:w,marginBottom:_,marginLeft:v,...E}),!re(c)&&I!==null?$o([],n$({fill:c,fillOpacity:l,...E},function(O,C,S,M,N){let F=M[e],{marginTop:R,marginRight:k,marginBottom:$,marginLeft:P}=e==="y"&&N.inset||N,U=A??(F.bandwidth?"center":"top"),W=D??(t==="right"?k:P)-3;return U==="center"?(this.textAnchor=void 0,this.lineAnchor=t==="right"?"bottom":"top",this.frameAnchor=t,this.rotate=-90):(this.textAnchor=t==="right"?"end":"start",this.lineAnchor=U,this.frameAnchor=`${U}-${t}`,this.rotate=0),this.dy=U==="top"?3-R:U==="bottom"?$-3:0,this.dx=t==="right"?W:-W,this.ariaLabel=`${e}-axis label`,{facets:[[0]],channels:{text:{value:[o$(e,F,{anchor:t,label:I,labelAnchor:U,labelArrow:T})]}}}})):null)}function Q7(e,t,n,{color:r="currentColor",opacity:i=1,stroke:o=r,strokeOpacity:s=i,strokeWidth:a=1,fill:c=r,fillOpacity:l=i,textAnchor:u,textStroke:f,textStrokeOpacity:d,textStrokeWidth:h,tickSize:p=e==="x"?6:0,tickPadding:m,tickRotate:g,y,margin:x,marginTop:b=x===void 0?t==="top"?30:0:x,marginRight:w=x===void 0?20:x,marginBottom:_=x===void 0?t==="bottom"?30:0:x,marginLeft:v=x===void 0?20:x,label:I,labelAnchor:A,labelArrow:T,labelOffset:D,...E}){return p=Bt(p),m=Bt(m),g=Bt(g),A!==void 0&&(A=sn(A,"labelAnchor",["center","left","right"])),T=s$(T),tn(p&&!re(o)?AQ(e,t,n,{stroke:o,strokeOpacity:s,strokeWidth:a,tickSize:p,tickPadding:m,tickRotate:g,y,...E}):null,re(c)?null:EQ(e,t,n,{fill:c,fillOpacity:l,stroke:f,strokeOpacity:d,strokeWidth:h,textAnchor:u,tickSize:p,tickPadding:m,tickRotate:g,y,marginTop:b,marginRight:w,marginBottom:_,marginLeft:v,...E}),!re(c)&&I!==null?$o([],n$({fill:c,fillOpacity:l,...E},function(O,C,S,M,N){let F=M[e],{marginTop:R,marginRight:k,marginBottom:$,marginLeft:P}=e==="x"&&N.inset||N,U=A??(F.bandwidth?"center":"right"),W=D??(t==="top"?R:$)-3;return U==="center"?(this.frameAnchor=t,this.textAnchor=void 0):(this.frameAnchor=`${t}-${U}`,this.textAnchor=U==="right"?"end":"start"),this.lineAnchor=t,this.dy=t==="top"?-W:W,this.dx=U==="right"?k-3:U==="left"?3-P:0,this.ariaLabel=`${e}-axis label`,{facets:[[0]],channels:{text:{value:[o$(e,F,{anchor:t,label:I,labelAnchor:U,labelArrow:T})]}}}})):null)}function MQ(e,t,n,{strokeWidth:r=1,strokeLinecap:i=null,strokeLinejoin:o=null,facetAnchor:s=t+(e==="y"?"-empty":""),frameAnchor:a=t,tickSize:c,inset:l=0,insetLeft:u=l,insetRight:f=l,dx:d=0,y:h=e==="y"?void 0:null,...p}){return Gf(Xw,e,n,{ariaLabel:`${e}-axis tick`,ariaHidden:!0},{strokeWidth:r,strokeLinecap:i,strokeLinejoin:o,facetAnchor:s,frameAnchor:a,y:h,...p,dx:t==="left"?+d-Ce+ +u:+d+Ce-f,anchor:"start",length:c,shape:t==="left"?BQ:LQ})}function AQ(e,t,n,{strokeWidth:r=1,strokeLinecap:i=null,strokeLinejoin:o=null,facetAnchor:s=t+(e==="x"?"-empty":""),frameAnchor:a=t,tickSize:c,inset:l=0,insetTop:u=l,insetBottom:f=l,dy:d=0,x:h=e==="x"?void 0:null,...p}){return Gf(Yw,e,n,{ariaLabel:`${e}-axis tick`,ariaHidden:!0},{strokeWidth:r,strokeLinejoin:o,strokeLinecap:i,facetAnchor:s,frameAnchor:a,x:h,...p,dy:t==="bottom"?+d-Ce-f:+d+Ce+ +u,anchor:"start",length:c,shape:t==="bottom"?DQ:OQ})}function TQ(e,t,n,{facetAnchor:r=t+(e==="y"?"-empty":""),frameAnchor:i=t,tickSize:o,tickRotate:s=0,tickPadding:a=Math.max(3,9-o)+(Math.abs(s)>60?4*Math.cos(s*Yf):0),text:c,textAnchor:l=Math.abs(s)>60?"middle":t==="left"?"end":"start",lineAnchor:u=s>60?"top":s<-60?"bottom":"middle",fontVariant:f,inset:d=0,insetLeft:h=d,insetRight:p=d,dx:m=0,y:g=e==="y"?void 0:null,...y}){return Gf(qw,e,n,{ariaLabel:`${e}-axis tick label`},{facetAnchor:r,frameAnchor:i,text:c,textAnchor:l,lineAnchor:u,fontVariant:f,rotate:s,y:g,...y,dx:t==="left"?+m-o-a+ +h:+m+ +o+ +a-p},function(x,b,w,_,v){f===void 0&&(this.fontVariant=i$(x)),c===void 0&&(v.text=r$(x,b,w,_,t))})}function EQ(e,t,n,{facetAnchor:r=t+(e==="x"?"-empty":""),frameAnchor:i=t,tickSize:o,tickRotate:s=0,tickPadding:a=Math.max(3,9-o)+(Math.abs(s)>=10?4*Math.cos(s*Yf):0),text:c,textAnchor:l=Math.abs(s)>=10?s<0^t==="bottom"?"start":"end":"middle",lineAnchor:u=Math.abs(s)>=10?"middle":t==="bottom"?"top":"bottom",fontVariant:f,inset:d=0,insetTop:h=d,insetBottom:p=d,dy:m=0,x:g=e==="x"?void 0:null,...y}){return Gf(zw,e,n,{ariaLabel:`${e}-axis tick label`},{facetAnchor:r,frameAnchor:i,text:c===void 0?null:c,textAnchor:l,lineAnchor:u,fontVariant:f,rotate:s,x:g,...y,dy:t==="bottom"?+m+ +o+ +a-p:+m-o-a+ +h},function(x,b,w,_,v){f===void 0&&(this.fontVariant=i$(x)),c===void 0&&(v.text=r$(x,b,w,_,t))})}function Zw(){let[e,t]=sc(...arguments);return K7("y",G7(t),e,t)}function Jw(){let[e,t]=sc(...arguments);return K7("fy",W7(t),e,t)}function Qw(){let[e,t]=sc(...arguments);return t$("x",H7(t),e,t)}function Kw(){let[e,t]=sc(...arguments);return t$("fx",Z7(t),e,t)}function K7(e,t,n,{y:r=e==="y"?void 0:null,x:i=null,x1:o=t==="left"?i:null,x2:s=t==="right"?i:null,...a}){return Gf(Xr,e,n,{ariaLabel:`${e}-grid`,ariaHidden:!0},{y:r,x1:o,x2:s,...e$(a)})}function t$(e,t,n,{x:r=e==="x"?void 0:null,y:i=null,y1:o=t==="top"?i:null,y2:s=t==="bottom"?i:null,...a}){return Gf(Yr,e,n,{ariaLabel:`${e}-grid`,ariaHidden:!0},{x:r,y1:o,y2:s,...e$(a)})}function e$({color:e="currentColor",opacity:t=.1,stroke:n=e,strokeOpacity:r=t,strokeWidth:i=1,...o}){return{stroke:n,strokeOpacity:r,strokeWidth:i,...o}}function n$({fill:e,fillOpacity:t,fontFamily:n,fontSize:r,fontStyle:i,fontVariant:o,fontWeight:s,monospace:a,pointerEvents:c,shapeRendering:l,clip:u=!1},f){return[,e]=Be(e),[,t]=se(t),{facet:"super",x:null,y:null,fill:e,fillOpacity:t,fontFamily:n,fontSize:r,fontStyle:i,fontVariant:o,fontWeight:s,monospace:a,pointerEvents:c,shapeRendering:l,clip:u,initializer:f}}function Gf(e,t,n,r,i,o){let s;function a(u,f,d,h,p,m){let g=u==null&&(t==="fx"||t==="fy"),{[t]:y}=h;if(!y)throw new Error(`missing scale: ${t}`);let x=y.domain(),{interval:b,ticks:w,tickFormat:_,tickSpacing:v=t==="x"?80:35}=i;if(typeof w=="string"&&a$(y)&&(b=w,w=void 0),w===void 0&&(w=Co(b,y.type)??NQ(y,v)),u==null){if(cr(w))u=je(w);else if(Ja(w))u=XT(w,...le(x));else if(y.interval){let A=y.interval;if(y.ticks){let[T,D]=le(x),E=(D-T)/A[Sf];A=jA(A,E/w)??A,u=XT(A,T,D)}else{u=x;let T=u.length;A=jA(A,T/w)??A,A!==y.interval&&(u=XT(A,...le(u)))}if(A===y.interval){let T=Math.round(u.length/w);T>1&&(u=u.filter((D,E)=>E%T===0))}}else y.ticks?u=y.ticks(w):u=x;if(!y.ticks&&u.length&&u!==x){let A=new Jn(x);u=u.filter(T=>A.has(T)),u.length||Vn(`Warning: the ${t}-axis ticks appear to not align with the scale domain, resulting in no ticks. Try different ticks?`)}t==="y"||t==="x"?f=[ar(u)]:s[t]={scale:t,value:G}}o?.call(this,y,u,w,_,s);let I=Object.fromEntries(Object.entries(s).map(([A,T])=>[A,{...T,value:wt(u,T.value)}]));return g&&(f=m.filterFacets(u,I)),{data:u,facets:f,channels:I}}let c=Ie(i).initializer,l=e(n,Ie({...i,initializer:a},c));return n==null?(s=l.channels,l.channels={}):s={},r!==void 0&&Object.assign(l,r),l.clip===void 0&&(l.clip=!1),l}function NQ(e,t){let[n,r]=le(e.range());return(r-n)/t}function r$(e,t,n,r,i){return{value:Qm(e,t,n,r,i)}}function Qm(e,t,n,r,i){return typeof r=="function"?r:r===void 0&&t&&Le(t)?RF(e.type,t,i)??Vi:e.tickFormat?e.tickFormat(typeof n=="number"?n:null,r):r===void 0?Vi:typeof r=="string"?(Le(e.domain())?No:ci)(r):hn(r)}function XT(e,t,n){return e.range(t,e.offset(e.floor(n)))}var DQ={draw(e,t){e.moveTo(0,0),e.lineTo(0,t)}},OQ={draw(e,t){e.moveTo(0,0),e.lineTo(0,-t)}},BQ={draw(e,t){e.moveTo(0,0),e.lineTo(-t,0)}},LQ={draw(e,t){e.moveTo(0,0),e.lineTo(t,0)}};function i$(e){return e.bandwidth&&!e.interval?void 0:"tabular-nums"}function o$(e,t,{anchor:n,label:r=t.label,labelAnchor:i,labelArrow:o}={}){if(!(r==null||r.inferred&&a$(t)&&/^(date|time|year)$/i.test(r))){if(r=String(r),o==="auto"&&(o=(!t.bandwidth||t.interval)&&!/[↑↓→←]/.test(r)),!o)return r;if(o===!0){let s=Iw(t);s&&(o=/x$/.test(e)||i==="center"?/x$/.test(e)===s<0?"left":"right":s<0?"up":"down")}switch(o){case"left":return`\u2190 ${r}`;case"right":return`${r} \u2192`;case"up":return n==="right"?`${r} \u2191`:`\u2191 ${r}`;case"down":return n==="right"?`${r} \u2193`:`\u2193 ${r}`}return r}}function s$(e="auto"){return re(e)?!1:typeof e=="boolean"?e:sn(e,"labelArrow",["auto","up","right","down","left"])}function a$(e){return Le(e.domain())}function c$(e,t){if(t==null)return t;let n=e(t);if(!n)throw new Error(`scale not found: ${t}`);return n}function l$(e,{opacity:t,...n}={}){if(!Ro(e)&&!AT(e))throw new Error(`swatches legend requires ordinal or threshold color scale (not ${e.type})`);return f$(e,n,(r,i,o,s)=>r.append("svg").attr("width",o).attr("height",s).attr("fill",i.scale).attr("fill-opacity",se(t)[1]).append("rect").attr("width","100%").attr("height","100%"))}function u$(e,{fill:t=e.hint?.fill!==void 0?e.hint.fill:"none",fillOpacity:n=1,stroke:r=e.hint?.stroke!==void 0?e.hint.stroke:re(t)?"currentColor":"none",strokeOpacity:i=1,strokeWidth:o=1.5,r:s=4.5,...a}={},c){let[l,u]=Be(t),[f,d]=Be(r),h=c$(c,l),p=c$(c,f),m=s*s*Math.PI;return n=se(n)[1],i=se(i)[1],o=se(o)[1],f$(e,a,(g,y,x,b)=>g.append("svg").attr("viewBox","-8 -8 16 16").attr("width",x).attr("height",b).attr("fill",l==="color"?w=>h.scale(w):u).attr("fill-opacity",n).attr("stroke",f==="color"?w=>p.scale(w):d).attr("stroke-opacity",i).attr("stroke-width",o).append("path").attr("d",w=>{let _=er();return e.scale(w).draw(_,m),_}))}function f$(e,t={},n){let{columns:r,tickFormat:i,fontVariant:o=kw(e),swatchSize:s=15,swatchWidth:a=s,swatchHeight:c=s,marginLeft:l=0,className:u,style:f,width:d}=t,h=nc(t);u=Uf(u),i=Qm(e.scale,e.domain,void 0,i);let p=ut("div",h).attr("class",`${u}-swatches ${u}-swatches-${r!=null?"columns":"wrap"}`),m;return r!=null?(m=`:where(.${u}-swatches-columns .${u}-swatch) {
|
|
27
|
+
`:yield[t,n,!0],n+=i,t=n;break;default:++n;break}}yield[t,n,!0]}var v$={a:56,b:63,c:57,d:63,e:58,f:37,g:62,h:60,i:26,j:26,k:55,l:26,m:88,n:60,o:60,p:62,q:62,r:39,s:54,t:38,u:60,v:55,w:79,x:54,y:55,z:55,A:69,B:67,C:73,D:74,E:61,F:58,G:76,H:75,I:28,J:55,K:67,L:58,M:89,N:75,O:78,P:65,Q:78,R:67,S:65,T:65,U:75,V:69,W:98,X:69,Y:67,Z:67,0:64,1:48,2:62,3:64,4:66,5:63,6:65,7:58,8:65,9:65," ":29,"!":32,'"':49,"'":31,"(":39,")":39,",":31,"-":48,".":31,"/":32,":":31,";":31,"?":52,"\u2018":31,"\u2019":31,"\u201C":47,"\u201D":47,"\u2026":82};function sv(e,t=0,n=e.length){let r=0;for(let i=t;i<n;i=Jf(e,i))r+=v$[e[i]]??(T$(e,i)?120:v$.e);return r}function av(e,t=0,n=e.length){let r=0;for(let i=t;i<n;i=Jf(e,i))r+=T$(e,i)?126:63;return r}function gT({monospace:e,lineWidth:t,textOverflow:n}){if(n!=null||t==1/0)return o=>o.split(/\r\n?|\n/g);let r=e?av:sv,i=t*100;return o=>_K(o,i,r)}function xT({monospace:e,lineWidth:t,textOverflow:n}){if(n==null||t==1/0)return o=>o;let r=e?av:sv,i=t*100;switch(n){case"clip-start":return o=>S$(o,i,r,"");case"clip-end":return o=>_$(o,i,r,"");case"ellipsis-start":return o=>S$(o,i,r,Fl);case"ellipsis-middle":return o=>IK(o,i,r,Fl);case"ellipsis-end":return o=>_$(o,i,r,Fl)}}var Fl="\u2026";function Pl(e,t,n,r){let i=[],o=0;for(let s=0,a=0,c=e.length;s<c;s=a){a=Jf(e,s);let l=n(e,s,a);if(o+l>t){for(o+=r;o>t&&s>0;)a=s,s=i.pop(),o-=n(e,s,a);return[s,t-o]}o+=l,i.push(s)}return[-1,0]}function _$(e,t,n,r){e=e.trim();let i=n(r),[o]=Pl(e,t,n,i);return o<0?e:e.slice(0,o).trimEnd()+r}function IK(e,t,n,r){e=e.trim();let i=n(e);if(i<=t)return e;let o=n(r)/2,[s,a]=Pl(e,t/2,n,o),[c]=Pl(e,i-t/2-a+o,n,-o);return c<0?r:e.slice(0,s).trimEnd()+r+e.slice(Jf(e,c)).trimStart()}function S$(e,t,n,r){e=e.trim();let i=n(e);if(i<=t)return e;let o=n(r),[s]=Pl(e,i-t+o,n,-o);return s<0?r:r+e.slice(Jf(e,s)).trimStart()}var pT=/[\p{Combining_Mark}\p{Emoji_Modifier}]+/uy,I$=/\p{Extended_Pictographic}/uy;function Jf(e,t){return t+=MK(e,t)?2:1,TK(e,t)&&(t=pT.lastIndex),AK(e,t)?Jf(e,t+1):t}function A$(e,t){return e.charCodeAt(t)<128}function MK(e,t){let n=e.charCodeAt(t);if(n>=55296&&n<56320){let r=e.charCodeAt(t+1);return r>=56320&&r<57344}return!1}function AK(e,t){return e.charCodeAt(t)===8205}function TK(e,t){return A$(e,t)?!1:(pT.lastIndex=t,pT.test(e))}function T$(e,t){return A$(e,t)?!1:(I$.lastIndex=t,I$.test(e))}var E$={ariaLabel:"vector",fill:"none",stroke:"currentColor",strokeWidth:1.5,strokeLinejoin:"round",strokeLinecap:"round"},D$=3.5,EK=D$*5,N$={draw(e,t,n){let r=t*n/EK;e.moveTo(0,0),e.lineTo(0,-t),e.moveTo(-r,r-t),e.lineTo(0,-t),e.lineTo(r,r-t)}},O$={draw(e,t,n){e.moveTo(-n,0),e.lineTo(0,-t),e.lineTo(n,0)}},DK=new Map([["arrow",N$],["spike",O$]]);function NK(e){return e&&typeof e.draw=="function"}function OK(e){if(NK(e))return e;let t=DK.get(`${e}`.toLowerCase());if(t)return t;throw new Error(`invalid shape: ${e}`)}var Ul=class extends St{constructor(t,n={}){let{x:r,y:i,r:o=D$,length:s,rotate:a,shape:c=N$,anchor:l="middle",frameAnchor:u}=n,[f,h]=ae(s,12),[d,p]=ae(a,0);super(t,{x:{value:r,scale:"x",optional:!0},y:{value:i,scale:"y",optional:!0},length:{value:f,scale:"length",optional:!0},rotate:{value:d,optional:!0}},n,E$),this.r=+o,this.length=h,this.rotate=p,this.shape=OK(c),this.anchor=cn(l,"anchor",["start","middle","end"]),this.frameAnchor=Go(u)}render(t,n,r,i,o){let{x:s,y:a}=n,{x:c,y:l,length:u,rotate:f}=r,{length:h,rotate:d,anchor:p,shape:m,r:y}=this,[g,x]=vn(this,i);return ut("svg:g",o).call(kt,this,i,o).call(Et,this,{x:c&&s,y:l&&a}).call(b=>b.selectAll().data(t).enter().append("path").call(Ct,this).attr("transform",lc`translate(${c?w=>c[w]:g},${l?w=>l[w]:x})${f?w=>` rotate(${f[w]})`:d?` rotate(${d})`:""}${p==="start"?"":p==="end"?u?w=>` translate(0,${u[w]})`:` translate(0,${h})`:u?w=>` translate(0,${u[w]/2})`:` translate(0,${h/2})`}`).attr("d",u?w=>{let _=rr();return m.draw(_,u[w],y),_}:(()=>{let w=rr();return m.draw(w,h,y),w})()).call(Kt,this,r)).node()}};function bT(e,t={}){let{x:n,y:r,...i}=t;return t.frameAnchor===void 0&&([n,r]=Pe(n,r)),new Ul(e,{...i,x:n,y:r})}function cv(e,t={}){let{x:n=G,...r}=t;return new Ul(e,{...r,x:n})}function lv(e,t={}){let{y:n=G,...r}=t;return new Ul(e,{...r,y:n})}function L$(e,t={}){let{shape:n=O$,stroke:r=E$.stroke,strokeWidth:i=1,fill:o=r,fillOpacity:s=.3,anchor:a="start",...c}=t;return bT(e,{...c,shape:n,stroke:r,strokeWidth:i,fill:o,fillOpacity:s,anchor:a})}function uc(e,t){return arguments.length<2&&!ur(e)&&(t=e,e=null),t===void 0&&(t={}),[e,t]}function uv({anchor:e}={},t){return e===void 0?t[0]:cn(e,"anchor",t)}function B$(e){return uv(e,["left","right"])}function C$(e){return uv(e,["right","left"])}function k$(e){return uv(e,["bottom","top"])}function R$(e){return uv(e,["top","bottom"])}function my(){let[e,t]=uc(...arguments);return F$("y",B$(t),e,t)}function fv(){let[e,t]=uc(...arguments);return F$("fy",C$(t),e,t)}function yy(){let[e,t]=uc(...arguments);return $$("x",k$(t),e,t)}function hv(){let[e,t]=uc(...arguments);return $$("fx",R$(t),e,t)}function F$(e,t,n,{color:r="currentColor",opacity:i=1,stroke:o=r,strokeOpacity:s=i,strokeWidth:a=1,fill:c=r,fillOpacity:l=i,textAnchor:u,textStroke:f,textStrokeOpacity:h,textStrokeWidth:d,tickSize:p=e==="y"?6:0,tickPadding:m,tickRotate:y,x:g,margin:x,marginTop:b=x===void 0?20:x,marginRight:w=x===void 0?t==="right"?40:0:x,marginBottom:_=x===void 0?20:x,marginLeft:v=x===void 0?t==="left"?40:0:x,label:I,labelAnchor:E,labelArrow:M,labelOffset:N,...A}){return p=Bt(p),m=Bt(m),y=Bt(y),E!==void 0&&(E=cn(E,"labelAnchor",["center","top","bottom"])),M=X$(M),nn(p&&!ie(o)?LK(e,t,n,{stroke:o,strokeOpacity:s,strokeWidth:a,tickSize:p,tickPadding:m,tickRotate:y,x:g,...A}):null,ie(c)?null:CK(e,t,n,{fill:c,fillOpacity:l,stroke:f,strokeOpacity:h,strokeWidth:d,textAnchor:u,tickSize:p,tickPadding:m,tickRotate:y,x:g,marginTop:b,marginRight:w,marginBottom:_,marginLeft:v,...A}),!ie(c)&&I!==null?Zo([],q$({fill:c,fillOpacity:l,...A},function(O,C,S,T,D){let R=T[e],{marginTop:F,marginRight:k,marginBottom:$,marginLeft:P}=e==="y"&&D.inset||D,U=E??(R.bandwidth?"center":"top"),W=N??(t==="right"?k:P)-3;return U==="center"?(this.textAnchor=void 0,this.lineAnchor=t==="right"?"bottom":"top",this.frameAnchor=t,this.rotate=-90):(this.textAnchor=t==="right"?"end":"start",this.lineAnchor=U,this.frameAnchor=`${U}-${t}`,this.rotate=0),this.dy=U==="top"?3-F:U==="bottom"?$-3:0,this.dx=t==="right"?W:-W,this.ariaLabel=`${e}-axis label`,{facets:[[0]],channels:{text:{value:[Y$(e,R,{anchor:t,label:I,labelAnchor:U,labelArrow:M})]}}}})):null)}function $$(e,t,n,{color:r="currentColor",opacity:i=1,stroke:o=r,strokeOpacity:s=i,strokeWidth:a=1,fill:c=r,fillOpacity:l=i,textAnchor:u,textStroke:f,textStrokeOpacity:h,textStrokeWidth:d,tickSize:p=e==="x"?6:0,tickPadding:m,tickRotate:y,y:g,margin:x,marginTop:b=x===void 0?t==="top"?30:0:x,marginRight:w=x===void 0?20:x,marginBottom:_=x===void 0?t==="bottom"?30:0:x,marginLeft:v=x===void 0?20:x,label:I,labelAnchor:E,labelArrow:M,labelOffset:N,...A}){return p=Bt(p),m=Bt(m),y=Bt(y),E!==void 0&&(E=cn(E,"labelAnchor",["center","left","right"])),M=X$(M),nn(p&&!ie(o)?BK(e,t,n,{stroke:o,strokeOpacity:s,strokeWidth:a,tickSize:p,tickPadding:m,tickRotate:y,y:g,...A}):null,ie(c)?null:kK(e,t,n,{fill:c,fillOpacity:l,stroke:f,strokeOpacity:h,strokeWidth:d,textAnchor:u,tickSize:p,tickPadding:m,tickRotate:y,y:g,marginTop:b,marginRight:w,marginBottom:_,marginLeft:v,...A}),!ie(c)&&I!==null?Zo([],q$({fill:c,fillOpacity:l,...A},function(O,C,S,T,D){let R=T[e],{marginTop:F,marginRight:k,marginBottom:$,marginLeft:P}=e==="x"&&D.inset||D,U=E??(R.bandwidth?"center":"right"),W=N??(t==="top"?F:$)-3;return U==="center"?(this.frameAnchor=t,this.textAnchor=void 0):(this.frameAnchor=`${t}-${U}`,this.textAnchor=U==="right"?"end":"start"),this.lineAnchor=t,this.dy=t==="top"?-W:W,this.dx=U==="right"?k-3:U==="left"?3-P:0,this.ariaLabel=`${e}-axis label`,{facets:[[0]],channels:{text:{value:[Y$(e,R,{anchor:t,label:I,labelAnchor:U,labelArrow:M})]}}}})):null)}function LK(e,t,n,{strokeWidth:r=1,strokeLinecap:i=null,strokeLinejoin:o=null,facetAnchor:s=t+(e==="y"?"-empty":""),frameAnchor:a=t,tickSize:c,inset:l=0,insetLeft:u=l,insetRight:f=l,dx:h=0,y:d=e==="y"?void 0:null,...p}){return Qf(lv,e,n,{ariaLabel:`${e}-axis tick`,ariaHidden:!0},{strokeWidth:r,strokeLinecap:i,strokeLinejoin:o,facetAnchor:s,frameAnchor:a,y:d,...p,dx:t==="left"?+h-Ce+ +u:+h+Ce-f,anchor:"start",length:c,shape:t==="left"?PK:UK})}function BK(e,t,n,{strokeWidth:r=1,strokeLinecap:i=null,strokeLinejoin:o=null,facetAnchor:s=t+(e==="x"?"-empty":""),frameAnchor:a=t,tickSize:c,inset:l=0,insetTop:u=l,insetBottom:f=l,dy:h=0,x:d=e==="x"?void 0:null,...p}){return Qf(cv,e,n,{ariaLabel:`${e}-axis tick`,ariaHidden:!0},{strokeWidth:r,strokeLinejoin:o,strokeLinecap:i,facetAnchor:s,frameAnchor:a,x:d,...p,dy:t==="bottom"?+h-Ce-f:+h+Ce+ +u,anchor:"start",length:c,shape:t==="bottom"?FK:$K})}function CK(e,t,n,{facetAnchor:r=t+(e==="y"?"-empty":""),frameAnchor:i=t,tickSize:o,tickRotate:s=0,tickPadding:a=Math.max(3,9-o)+(Math.abs(s)>60?4*Math.cos(s*Zf):0),text:c,textAnchor:l=Math.abs(s)>60?"middle":t==="left"?"end":"start",lineAnchor:u=s>60?"top":s<-60?"bottom":"middle",fontVariant:f,inset:h=0,insetLeft:d=h,insetRight:p=h,dx:m=0,y=e==="y"?void 0:null,...g}){return Qf(ov,e,n,{ariaLabel:`${e}-axis tick label`},{facetAnchor:r,frameAnchor:i,text:c,textAnchor:l,lineAnchor:u,fontVariant:f,rotate:s,y,...g,dx:t==="left"?+m-o-a+ +d:+m+ +o+ +a-p},function(x,b,w,_,v){f===void 0&&(this.fontVariant=V$(x)),c===void 0&&(v.text=j$(x,b,w,_,t))})}function kK(e,t,n,{facetAnchor:r=t+(e==="x"?"-empty":""),frameAnchor:i=t,tickSize:o,tickRotate:s=0,tickPadding:a=Math.max(3,9-o)+(Math.abs(s)>=10?4*Math.cos(s*Zf):0),text:c,textAnchor:l=Math.abs(s)>=10?s<0^t==="bottom"?"start":"end":"middle",lineAnchor:u=Math.abs(s)>=10?"middle":t==="bottom"?"top":"bottom",fontVariant:f,inset:h=0,insetTop:d=h,insetBottom:p=h,dy:m=0,x:y=e==="x"?void 0:null,...g}){return Qf(iv,e,n,{ariaLabel:`${e}-axis tick label`},{facetAnchor:r,frameAnchor:i,text:c===void 0?null:c,textAnchor:l,lineAnchor:u,fontVariant:f,rotate:s,x:y,...g,dy:t==="bottom"?+m+ +o+ +a-p:+m-o-a+ +d},function(x,b,w,_,v){f===void 0&&(this.fontVariant=V$(x)),c===void 0&&(v.text=j$(x,b,w,_,t))})}function dv(){let[e,t]=uc(...arguments);return P$("y",B$(t),e,t)}function pv(){let[e,t]=uc(...arguments);return P$("fy",C$(t),e,t)}function mv(){let[e,t]=uc(...arguments);return U$("x",k$(t),e,t)}function yv(){let[e,t]=uc(...arguments);return U$("fx",R$(t),e,t)}function P$(e,t,n,{y:r=e==="y"?void 0:null,x:i=null,x1:o=t==="left"?i:null,x2:s=t==="right"?i:null,...a}){return Qf(Gr,e,n,{ariaLabel:`${e}-grid`,ariaHidden:!0},{y:r,x1:o,x2:s,...z$(a)})}function U$(e,t,n,{x:r=e==="x"?void 0:null,y:i=null,y1:o=t==="top"?i:null,y2:s=t==="bottom"?i:null,...a}){return Qf(Xr,e,n,{ariaLabel:`${e}-grid`,ariaHidden:!0},{x:r,y1:o,y2:s,...z$(a)})}function z$({color:e="currentColor",opacity:t=.1,stroke:n=e,strokeOpacity:r=t,strokeWidth:i=1,...o}){return{stroke:n,strokeOpacity:r,strokeWidth:i,...o}}function q$({fill:e,fillOpacity:t,fontFamily:n,fontSize:r,fontStyle:i,fontVariant:o,fontWeight:s,monospace:a,pointerEvents:c,shapeRendering:l,clip:u=!1},f){return[,e]=Le(e),[,t]=ae(t),{facet:"super",x:null,y:null,fill:e,fillOpacity:t,fontFamily:n,fontSize:r,fontStyle:i,fontVariant:o,fontWeight:s,monospace:a,pointerEvents:c,shapeRendering:l,clip:u,initializer:f}}function Qf(e,t,n,r,i,o){let s;function a(u,f,h,d,p,m){let y=u==null&&(t==="fx"||t==="fy"),{[t]:g}=d;if(!g)throw new Error(`missing scale: ${t}`);let x=g.domain(),{interval:b,ticks:w,tickFormat:_,tickSpacing:v=t==="x"?80:35}=i;if(typeof w=="string"&&G$(g)&&(b=w,w=void 0),w===void 0&&(w=Xo(b,g.type)??RK(g,v)),u==null){if(ur(w))u=je(w);else if(Qa(w))u=wT(w,...ue(x));else if(g.interval){let E=g.interval;if(g.ticks){let[M,N]=ue(x),A=(N-M)/E[Of];E=g3(E,A/w)??E,u=wT(E,M,N)}else{u=x;let M=u.length;E=g3(E,M/w)??E,E!==g.interval&&(u=wT(E,...ue(u)))}if(E===g.interval){let M=Math.round(u.length/w);M>1&&(u=u.filter((N,A)=>A%M===0))}}else g.ticks?u=g.ticks(w):u=x;if(!g.ticks&&u.length&&u!==x){let E=new Kn(x);u=u.filter(M=>E.has(M)),u.length||Yn(`Warning: the ${t}-axis ticks appear to not align with the scale domain, resulting in no ticks. Try different ticks?`)}t==="y"||t==="x"?f=[lr(u)]:s[t]={scale:t,value:G}}o?.call(this,g,u,w,_,s);let I=Object.fromEntries(Object.entries(s).map(([E,M])=>[E,{...M,value:wt(u,M.value)}]));return y&&(f=m.filterFacets(u,I)),{data:u,facets:f,channels:I}}let c=Me(i).initializer,l=e(n,Me({...i,initializer:a},c));return n==null?(s=l.channels,l.channels={}):s={},r!==void 0&&Object.assign(l,r),l.clip===void 0&&(l.clip=!1),l}function RK(e,t){let[n,r]=ue(e.range());return(r-n)/t}function j$(e,t,n,r,i){return{value:gy(e,t,n,r,i)}}function gy(e,t,n,r,i){return typeof r=="function"?r:r===void 0&&t&&Be(t)?SF(e.type,t,i)??Xi:e.tickFormat?e.tickFormat(typeof n=="number"?n:null,r):r===void 0?Xi:typeof r=="string"?(Be(e.domain())?zo:pi)(r):yn(r)}function wT(e,t,n){return e.range(t,e.offset(e.floor(n)))}var FK={draw(e,t){e.moveTo(0,0),e.lineTo(0,t)}},$K={draw(e,t){e.moveTo(0,0),e.lineTo(0,-t)}},PK={draw(e,t){e.moveTo(0,0),e.lineTo(-t,0)}},UK={draw(e,t){e.moveTo(0,0),e.lineTo(t,0)}};function V$(e){return e.bandwidth&&!e.interval?void 0:"tabular-nums"}function Y$(e,t,{anchor:n,label:r=t.label,labelAnchor:i,labelArrow:o}={}){if(!(r==null||r.inferred&&G$(t)&&/^(date|time|year)$/i.test(r))){if(r=String(r),o==="auto"&&(o=(!t.bandwidth||t.interval)&&!/[↑↓→←]/.test(r)),!o)return r;if(o===!0){let s=zw(t);s&&(o=/x$/.test(e)||i==="center"?/x$/.test(e)===s<0?"left":"right":s<0?"up":"down")}switch(o){case"left":return`\u2190 ${r}`;case"right":return`${r} \u2192`;case"up":return n==="right"?`${r} \u2191`:`\u2191 ${r}`;case"down":return n==="right"?`${r} \u2193`:`\u2193 ${r}`}return r}}function X$(e="auto"){return ie(e)?!1:typeof e=="boolean"?e:cn(e,"labelArrow",["auto","up","right","down","left"])}function G$(e){return Be(e.domain())}function W$(e,t){if(t==null)return t;let n=e(t);if(!n)throw new Error(`scale not found: ${t}`);return n}function H$(e,{opacity:t,...n}={}){if(!Ho(e)&&!tT(e))throw new Error(`swatches legend requires ordinal or threshold color scale (not ${e.type})`);return J$(e,n,(r,i,o,s)=>r.append("svg").attr("width",o).attr("height",s).attr("fill",i.scale).attr("fill-opacity",ae(t)[1]).append("rect").attr("width","100%").attr("height","100%"))}function Z$(e,{fill:t=e.hint?.fill!==void 0?e.hint.fill:"none",fillOpacity:n=1,stroke:r=e.hint?.stroke!==void 0?e.hint.stroke:ie(t)?"currentColor":"none",strokeOpacity:i=1,strokeWidth:o=1.5,r:s=4.5,...a}={},c){let[l,u]=Le(t),[f,h]=Le(r),d=W$(c,l),p=W$(c,f),m=s*s*Math.PI;return n=ae(n)[1],i=ae(i)[1],o=ae(o)[1],J$(e,a,(y,g,x,b)=>y.append("svg").attr("viewBox","-8 -8 16 16").attr("width",x).attr("height",b).attr("fill",l==="color"?w=>d.scale(w):u).attr("fill-opacity",n).attr("stroke",f==="color"?w=>p.scale(w):h).attr("stroke-opacity",i).attr("stroke-width",o).append("path").attr("d",w=>{let _=rr();return e.scale(w).draw(_,m),_}))}function J$(e,t={},n){let{columns:r,tickFormat:i,fontVariant:o=Qw(e),swatchSize:s=15,swatchWidth:a=s,swatchHeight:c=s,marginLeft:l=0,className:u,style:f,width:h}=t,d=rc(t);u=Gf(u),i=gy(e.scale,e.domain,void 0,i);let p=ut("div",d).attr("class",`${u}-swatches ${u}-swatches-${r!=null?"columns":"wrap"}`),m;return r!=null?(m=`:where(.${u}-swatches-columns .${u}-swatch) {
|
|
28
28
|
display: flex;
|
|
29
29
|
align-items: center;
|
|
30
30
|
break-inside: avoid;
|
|
@@ -37,7 +37,7 @@ ${n}`}function GZ(e){return e==="time"?iw:e==="utc"?Lm:YZ}function RF(e,t,n){let
|
|
|
37
37
|
white-space: nowrap;
|
|
38
38
|
overflow: hidden;
|
|
39
39
|
text-overflow: ellipsis;
|
|
40
|
-
}`,p.style("columns",r).selectAll().data(e.domain).enter().append("div").attr("class",`${u}-swatch`).call(n,e,a,c).call(
|
|
40
|
+
}`,p.style("columns",r).selectAll().data(e.domain).enter().append("div").attr("class",`${u}-swatch`).call(n,e,a,c).call(y=>y.append("div").attr("class",`${u}-swatch-label`).attr("title",i).text(i))):(m=`:where(.${u}-swatches-wrap) {
|
|
41
41
|
display: flex;
|
|
42
42
|
align-items: center;
|
|
43
43
|
min-height: 33px;
|
|
@@ -47,7 +47,7 @@ ${n}`}function GZ(e){return e==="time"?iw:e==="utc"?Lm:YZ}function RF(e,t,n){let
|
|
|
47
47
|
display: inline-flex;
|
|
48
48
|
align-items: center;
|
|
49
49
|
margin-right: 1em;
|
|
50
|
-
}`,p.selectAll().data(e.domain).enter().append("span").attr("class",`${u}-swatch`).call(n,e,a,c).append(function(){return this.ownerDocument.createTextNode(i.apply(this,arguments))})),p.call(
|
|
50
|
+
}`,p.selectAll().data(e.domain).enter().append("span").attr("class",`${u}-swatch`).call(n,e,a,c).append(function(){return this.ownerDocument.createTextNode(i.apply(this,arguments))})),p.call(y=>y.insert("style","*").text(`:where(.${u}-swatches) {
|
|
51
51
|
font-family: system-ui, sans-serif;
|
|
52
52
|
font-size: 10px;
|
|
53
53
|
margin-bottom: 0.5em;
|
|
@@ -56,7 +56,7 @@ ${n}`}function GZ(e){return e==="time"?iw:e==="utc"?Lm:YZ}function RF(e,t,n){let
|
|
|
56
56
|
margin-right: 0.5em;
|
|
57
57
|
overflow: visible;
|
|
58
58
|
}
|
|
59
|
-
${m}`)).style("margin-left",l?`${+l}px`:null).style("width",d===void 0?null:`${+d}px`).style("font-variant",fe(o,"normal")).call(zf,f).node()}var tv=new Map([["symbol",u$],["color",p$],["opacity",CQ]]);function d$(e={}){for(let[t,n]of tv){let r=e[t];if(Bo(r)){let i=nc(e),o;if(t==="symbol"){let{fill:s,stroke:a=s===void 0&&Bo(e.color)?"color":void 0}=e;o={fill:s,stroke:a}}return n(Aw(t,r,o),GT(i,r,e),s=>Bo(e[s])?Aw(s,e[s]):null)}}throw new Error("unknown legend type; no scale found")}function h$(e,t,n={}){return(r,i)=>{if(!tv.has(r))throw new Error(`unknown legend type: ${r}`);if(r in e)return tv.get(r)(e[r],GT(t,n[r],i),o=>e[o])}}function GT({className:e,...t},{label:n,ticks:r,tickFormat:i}={},o){return JF(o,{className:e,...t},{label:n,ticks:r,tickFormat:i})}function p$(e,{legend:t=!0,...n}){if(t===!0&&(t=e.type==="ordinal"?"swatches":"ramp"),e.domain!==void 0)switch(`${t}`.toLowerCase()){case"swatches":return l$(e,n);case"ramp":return M7(e,n);default:throw new Error(`unknown legend type: ${t}`)}}function CQ({type:e,interpolate:t,...n},{legend:r=!0,color:i=rn(0,0,0),...o}){if(!t)throw new Error(`${e} opacity scales are not supported`);if(r===!0&&(r="ramp"),`${r}`.toLowerCase()!=="ramp")throw new Error(`${r} opacity legends are not supported`);return p$({type:e,...n,interpolate:kQ(i)},{legend:r,...o})}function kQ(e){let{r:t,g:n,b:r}=rn(e)||rn(0,0,0);return i=>`rgba(${t},${n},${r},${i})`}function m$(e,t,n){let r=[];for(let[i,o]of tv){let s=n[i];if(s?.legend&&i in e){let a=o(e[i],GT(t,e[i],s),c=>e[c]);a!=null&&r.push(a)}}return r}var FQ={ariaLabel:"frame",fill:"none",stroke:"currentColor",clip:!1},RQ={ariaLabel:"frame",fill:null,stroke:"currentColor",strokeLinecap:"square",clip:!1},Km=class extends St{constructor(t={}){let{anchor:n=null,inset:r=0,insetTop:i=r,insetRight:o=r,insetBottom:s=r,insetLeft:a=r,rx:c,ry:l}=t;super(Wa,void 0,t,n==null?FQ:RQ),this.anchor=WA(n,"anchor",["top","right","bottom","left"]),this.insetTop=Bt(i),this.insetRight=Bt(o),this.insetBottom=Bt(s),this.insetLeft=Bt(a),this.rx=Bt(c),this.ry=Bt(l)}render(t,n,r,i,o){let{marginTop:s,marginRight:a,marginBottom:c,marginLeft:l,width:u,height:f}=i,{anchor:d,insetTop:h,insetRight:p,insetBottom:m,insetLeft:g,rx:y,ry:x}=this,b=l+g,w=u-a-p,_=s+h,v=f-c-m;return ut(d?"svg:line":"svg:rect",o).datum(0).call(Ct,this,i,o).call(Lt,this).call(Qt,this,r).call(Et,this,{}).call(d==="left"?I=>I.attr("x1",b).attr("x2",b).attr("y1",_).attr("y2",v):d==="right"?I=>I.attr("x1",w).attr("x2",w).attr("y1",_).attr("y2",v):d==="top"?I=>I.attr("x1",b).attr("x2",w).attr("y1",_).attr("y2",_):d==="bottom"?I=>I.attr("x1",b).attr("x2",w).attr("y1",v).attr("y2",v):I=>I.attr("x",b).attr("y",_).attr("width",w-b).attr("height",v-_).attr("rx",y).attr("ry",x)).node()}};function Wf(e){return new Km(e)}var WT={ariaLabel:"tip",fill:"var(--plot-background)",stroke:"currentColor"},$Q=new Set(["geometry","href","src","ariaLabel","scales"]),ty=class extends St{constructor(t,n={}){n.tip&&(n={...n,tip:!1}),n.title===void 0&&cr(t)&&cw(t)&&(n={...n,title:G});let{x:r,y:i,x1:o,x2:s,y1:a,y2:c,anchor:l,preferredAnchor:u="bottom",monospace:f,fontFamily:d=f?"ui-monospace, monospace":void 0,fontSize:h,fontStyle:p,fontVariant:m,fontWeight:g,lineHeight:y=1,lineWidth:x=20,frameAnchor:b,format:w,textAnchor:_="start",textOverflow:v,textPadding:I=8,title:A,pointerSize:T=12,pathFilter:D="drop-shadow(0 3px 4px rgba(0,0,0,0.2))"}=n;super(t,{x:{value:o!=null&&s!=null?null:r,scale:"x",optional:!0},y:{value:a!=null&&c!=null?null:i,scale:"y",optional:!0},x1:{value:o,scale:"x",optional:s==null},y1:{value:a,scale:"y",optional:c==null},x2:{value:s,scale:"x",optional:o==null},y2:{value:c,scale:"y",optional:a==null},title:{value:A,optional:!0}},n,WT),this.anchor=uw(l,"anchor"),this.preferredAnchor=uw(u,"preferredAnchor"),this.frameAnchor=ko(b),this.textAnchor=fe(_,"middle"),this.textPadding=+I,this.pointerSize=+T,this.pathFilter=qe(D),this.lineHeight=+y,this.lineWidth=+x,this.textOverflow=zT(v),this.monospace=!!f,this.fontFamily=qe(d),this.fontSize=Bt(h),this.fontStyle=qe(p),this.fontVariant=qe(m),this.fontWeight=qe(g);for(let E in WT)E in this.channels&&(this[E]=WT[E]);this.splitLines=jT(this),this.clipLine=VT(this),this.format={...w}}render(t,n,r,i,o){let s=this,{x:a,y:c,fx:l,fy:u}=n,{ownerSVGElement:f,document:d}=o,{anchor:h,monospace:p,lineHeight:m,lineWidth:g}=this,{textPadding:y,pointerSize:x,pathFilter:b}=this,{marginTop:w,marginLeft:_}=i,{x1:v,y1:I,x2:A,y2:T,x:D=v??A,y:E=I??T}=r,O=l?l(t.fx)-_:0,C=u?u(t.fy)-w:0,[S,M]=xn(this,i),N=CT(r,S),F=kT(r,M),R=p?Vw:jw,k=R(Ol),$,P;"title"in r?($=r.channels,P=jQ):($=qQ.call(this,r,n),P=VQ);let U=ut("svg:g",o).call(Ct,this,i,o).call(qT,this).call(Et,this,{x:D&&a,y:E&&c}).call(rt=>rt.selectAll().data(t).enter().append("g").attr("transform",at=>`translate(${Math.round(N(at))},${Math.round(F(at))})`).call(Lt,this).call(at=>at.append("path").attr("filter",b)).call(at=>at.append("text").each(function(Y){let ot=Vt(this);this.setAttribute("fill","currentColor"),this.setAttribute("fill-opacity",1),this.setAttribute("stroke","none");let j=P.call(s,Y,t,$,n,r);if(typeof j=="string")for(let H of s.splitLines(j))W(ot,{value:s.clipLine(H)});else{let H=new Set;for(let nt of j){let{label:z=""}=nt;z&&H.has(z)||(H.add(z),W(ot,nt))}}})));function W(rt,{label:at,value:Y,color:ot,opacity:j}){at??="",Y??="";let H=ot!=null||j!=null,nt,z=g*100,[kt]=Ll(at,z,R,k);if(kt>=0)at=at.slice(0,kt).trimEnd()+Ol,nt=Y.trim(),Y="";else{(at||!Y&&!H)&&(Y=" "+Y);let[Wt]=Ll(Y,z-R(at),R,k);Wt>=0&&(nt=Y.trim(),Y=Y.slice(0,Wt).trimEnd()+Ol)}let dt=rt.append("tspan").attr("x",0).attr("dy",`${m}em`).text("\u200B");at&&dt.append("tspan").attr("font-weight","bold").text(at),Y&&dt.append(()=>d.createTextNode(Y)),H&&dt.append("tspan").text(" \u25A0").attr("fill",ot).attr("fill-opacity",j).style("user-select","none"),nt&&dt.append("title").text(nt)}function et(){let{width:rt,height:at}=i.facet??i;U.selectChildren().each(function(Y){let{x:ot,width:j,height:H}=this.getBBox();j=Math.round(j),H=Math.round(H);let nt=h;if(nt===void 0){let dt=N(Y)+O,Wt=F(Y)+C,Zt=dt+j+x+y*2<rt,K=dt-j-x-y*2>0,ae=Wt+H+x+y*2<at,Sr=Wt-H-x-y*2>0;nt=Zt&&K?ae&&Sr?s.preferredAnchor:Sr?"bottom":"top":ae&&Sr?Zt?"left":"right":(Zt||K)&&(ae||Sr)?`${Sr?"bottom":"top"}-${Zt?"left":"right"}`:s.preferredAnchor}let z=this.firstChild,kt=this.lastChild;if(z.setAttribute("d",zQ(nt,x,y,j,H)),ot)for(let dt of kt.childNodes)dt.setAttribute("x",-ot);kt.setAttribute("y",`${+PQ(nt,kt.childNodes.length,m).toFixed(6)}em`),kt.setAttribute("transform",`translate(${UQ(nt,x,y,j,H)})`)}),U.attr("visibility",null)}return t.length&&(U.attr("visibility","hidden"),f.isConnected?Promise.resolve().then(et):typeof requestAnimationFrame<"u"&&requestAnimationFrame(et)),U.node()}};function nv(e,{x:t,y:n,...r}={}){return r.frameAnchor===void 0&&([t,n]=$e(t,n)),new ty(e,{...r,x:t,y:n})}function PQ(e,t,n){return/^top(?:-|$)/.test(e)?.94-n:-.29-t*n}function UQ(e,t,n,r,i){switch(e){case"middle":return[-r/2,i/2];case"top-left":return[n,t+n];case"top":return[-r/2,t/2+n];case"top-right":return[-r-n,t+n];case"right":return[-t/2-r-n,i/2];case"bottom-left":return[n,-t-n];case"bottom":return[-r/2,-t/2-n];case"bottom-right":return[-r-n,-t-n];case"left":return[n+t/2,i/2]}}function zQ(e,t,n,r,i){let o=r+n*2,s=i+n*2;switch(e){case"middle":return`M${-o/2},${-s/2}h${o}v${s}h${-o}z`;case"top-left":return`M0,0l${t},${t}h${o-t}v${s}h${-o}z`;case"top":return`M0,0l${t/2},${t/2}h${(o-t)/2}v${s}h${-o}v${-s}h${(o-t)/2}z`;case"top-right":return`M0,0l${-t},${t}h${t-o}v${s}h${o}z`;case"right":return`M0,0l${-t/2},${-t/2}v${t/2-s/2}h${-o}v${s}h${o}v${t/2-s/2}z`;case"bottom-left":return`M0,0l${t},${-t}h${o-t}v${-s}h${-o}z`;case"bottom":return`M0,0l${t/2},${-t/2}h${(o-t)/2}v${-s}h${-o}v${s}h${(o-t)/2}z`;case"bottom-right":return`M0,0l${-t},${-t}h${t-o}v${-s}h${o}z`;case"left":return`M0,0l${t/2},${-t/2}v${t/2-s/2}h${o}v${s}h${-o}v${t/2-s/2}z`}}function qQ({channels:e},t){let n={},r=this.format;r=y$(r,e,"x"),r=y$(r,e,"y"),this.format=r;for(let i in r){let o=r[i];if(!(o===null||o===!1))if(i==="fx"||i==="fy")n[i]=!0;else{let s=qm(e,i);s&&(n[i]=s)}}for(let i in e){if(i in n||i in r||$Q.has(i))continue;let o=qm(e,i);o&&(n[i]=o)}this.facet&&(t.fx&&!("fx"in r)&&(n.fx=!0),t.fy&&!("fy"in r)&&(n.fy=!0));for(let i in n){let o=this.format[i];if(typeof o=="string"){let s=n[i]?.value??t[i]?.domain()??[];this.format[i]=(Le(s)?No:ci)(o)}else if(o===void 0||o===!0){let s=t[i];this.format[i]=s?.bandwidth?Qm(s,s.domain()):Vi}}return n}function y$(e,t,n){if(!(n in e))return e;let r=`${n}1`,i=`${n}2`;if((r in e||!(r in t))&&(i in e||!(i in t)))return e;let o=Object.entries(e),s=e[n];return o.splice(o.findIndex(([a])=>a===n)+1,0,[r,s],[i,s]),Object.fromEntries(o)}function jQ(e,t,{title:n}){return Vi(n.value[e],e)}function*VQ(e,t,n,r,i){for(let o in n){if(o==="fx"||o==="fy"){yield{label:ev(r,n,o),value:this.format[o](t[o],e)};continue}if(o==="x1"&&"x2"in n||o==="y1"&&"y2"in n)continue;let s=n[o];if(o==="x2"&&"x1"in n)yield{label:x$(r,n,"x"),value:g$(this.format.x2,n.x1,s,e)};else if(o==="y2"&&"y1"in n)yield{label:x$(r,n,"y"),value:g$(this.format.y2,n.y1,s,e)};else{let a=s.value[e],c=s.scale;if(!ze(a)&&c==null)continue;yield{label:ev(r,n,o),value:this.format[o](a,e),color:c==="color"?i[o][e]:null,opacity:c==="opacity"?i[o][e]:null}}}}function g$(e,t,n,r){return n.hint?.length?`${e(n.value[r]-t.value[r],r)}`:`${e(t.value[r],r)}\u2013${e(n.value[r],r)}`}function x$(e,t,n){let r=ev(e,t,`${n}1`,n),i=ev(e,t,`${n}2`,n);return r===i?r:`${r}\u2013${i}`}function ev(e,t,n,r=n){let i=t[n],o=e[i?.scale??n];return String(o?.label??i?.label??r)}function ny(e={}){let{facet:t,style:n,title:r,subtitle:i,caption:o,ariaLabel:s,ariaDescription:a}=e,c=Uf(e.className),l=e.marks===void 0?[]:w$(e.marks);l.push(...JQ(l));let u=HQ(t,e),f=new Map;for(let k of l){let $=v$(k,u,e);$&&f.set(k,$)}let d=new Map;u&&ey(d,[u],e),ey(d,f,e);let h=w$(QQ(l,d,e));for(let k of h){let $=v$(k,u,e);$&&f.set(k,$)}l.unshift(...h);let p=b7(d,e);if(p!==void 0){let k=u?Cw(p,u):void 0;for(let P of l){if(P.facet===null||P.facet==="super")continue;let U=f.get(P);U!==void 0&&(U.facetsIndex=P.fx!=null||P.fy!=null?Cw(p,U):k)}let $=new Set;for(let{facetsIndex:P}of f.values())P?.forEach((U,W)=>{U?.length>0&&$.add(W)});p.forEach(0<$.size&&$.size<p.length?(P,U)=>P.empty=!$.has(U):P=>P.empty=!1);for(let P of l)if(P.facet==="exclude"){let U=f.get(P);U!==void 0&&(U.facetsIndex=_7(U.facetsIndex))}}for(let k of de.keys())Bo(e[k])&&k!=="fx"&&k!=="fy"&&d.set(k,[]);let m=new Map;for(let k of l){if(m.has(k))throw new Error("duplicate mark; each mark must be unique");let{facetsIndex:$,channels:P}=f.get(k)??{},{data:U,facets:W,channels:et}=k.initialize($,P,e);JT(et,e),m.set(k,{data:U,facets:W,channels:et})}let g=Ym(ey(d,m,e),e),y=g7(g,l,e);a7(g,y);let x=IT(g),{fx:b,fy:w}=x,_=b||w?MT(g,y):y,v=b||w?oK(x,y):y,I=nc(e),A=I.document,T=Bs("svg").call(A.documentElement),D=T;I.ownerSVGElement=T,I.className=c,I.projection=wR(e,_),I.filterFacets=(k,$)=>Cw(p,{channels:$,groups:Bw(k,$)}),I.getMarkState=k=>{let $=m.get(k),P=f.get(k);return{...$,channels:{...$.channels,...P?.channels}}},I.dispatchValue=k=>{D.value!==k&&(D.value=k,D.dispatchEvent(new Event("input",{bubbles:!0})))};let E=new Set;for(let[k,$]of m)if(k.initializer!=null){let P=k.facet==="super"?v:_,U=k.initializer($.data,$.facets,$.channels,x,P,I);if(U.data!==void 0&&($.data=U.data),U.facets!==void 0&&($.facets=U.facets),U.channels!==void 0){let{fx:W,fy:et,...rt}=U.channels;WQ(rt),Object.assign($.channels,rt);for(let at of Object.values(rt)){let{scale:Y}=at;Y!=null&&!KF(de.get(Y))&&(I$(at,e),E.add(Y))}(W!=null||et!=null)&&f.set(k,!0)}}if(E.size){let k=new Map;ey(k,m,e,W=>E.has(W)),ey(d,m,e,W=>E.has(W));let $=iK(Ym(k,e),g),{scales:P,...U}=IT($);Object.assign(g,$),Object.assign(x,U),Object.assign(x.scales,P)}let O,C;p!==void 0&&(O={x:b?.domain(),y:w?.domain()},p=w7(p,O),C=v7(b,w,y));for(let[k,$]of m)$.values=k.scale($.channels,x,I);let{width:S,height:M}=y;Vt(T).attr("class",c).attr("fill","currentColor").attr("font-family","system-ui, sans-serif").attr("font-size",10).attr("text-anchor","middle").attr("width",S).attr("height",M).attr("viewBox",`0 0 ${S} ${M}`).attr("aria-label",s).attr("aria-description",a).call(k=>k.append("style").text(`:where(.${c}) {
|
|
59
|
+
${m}`)).style("margin-left",l?`${+l}px`:null).style("width",h===void 0?null:`${+h}px`).style("font-variant",he(o,"normal")).call(Wf,f).node()}var gv=new Map([["symbol",Z$],["color",t9],["opacity",zK]]);function Q$(e={}){for(let[t,n]of gv){let r=e[t];if(Vo(r)){let i=rc(e),o;if(t==="symbol"){let{fill:s,stroke:a=s===void 0&&Vo(e.color)?"color":void 0}=e;o={fill:s,stroke:a}}return n(jw(t,r,o),vT(i,r,e),s=>Vo(e[s])?jw(s,e[s]):null)}}throw new Error("unknown legend type; no scale found")}function K$(e,t,n={}){return(r,i)=>{if(!gv.has(r))throw new Error(`unknown legend type: ${r}`);if(r in e)return gv.get(r)(e[r],vT(t,n[r],i),o=>e[o])}}function vT({className:e,...t},{label:n,ticks:r,tickFormat:i}={},o){return FF(o,{className:e,...t},{label:n,ticks:r,tickFormat:i})}function t9(e,{legend:t=!0,...n}){if(t===!0&&(t=e.type==="ordinal"?"swatches":"ramp"),e.domain!==void 0)switch(`${t}`.toLowerCase()){case"swatches":return H$(e,n);case"ramp":return f$(e,n);default:throw new Error(`unknown legend type: ${t}`)}}function zK({type:e,interpolate:t,...n},{legend:r=!0,color:i=sn(0,0,0),...o}){if(!t)throw new Error(`${e} opacity scales are not supported`);if(r===!0&&(r="ramp"),`${r}`.toLowerCase()!=="ramp")throw new Error(`${r} opacity legends are not supported`);return t9({type:e,...n,interpolate:qK(i)},{legend:r,...o})}function qK(e){let{r:t,g:n,b:r}=sn(e)||sn(0,0,0);return i=>`rgba(${t},${n},${r},${i})`}function e9(e,t,n){let r=[];for(let[i,o]of gv){let s=n[i];if(s?.legend&&i in e){let a=o(e[i],vT(t,e[i],s),c=>e[c]);a!=null&&r.push(a)}}return r}var jK={ariaLabel:"frame",fill:"none",stroke:"currentColor",clip:!1},VK={ariaLabel:"frame",fill:null,stroke:"currentColor",strokeLinecap:"square",clip:!1},xy=class extends St{constructor(t={}){let{anchor:n=null,inset:r=0,insetTop:i=r,insetRight:o=r,insetBottom:s=r,insetLeft:a=r,rx:c,ry:l}=t;super(Ha,void 0,t,n==null?jK:VK),this.anchor=_3(n,"anchor",["top","right","bottom","left"]),this.insetTop=Bt(i),this.insetRight=Bt(o),this.insetBottom=Bt(s),this.insetLeft=Bt(a),this.rx=Bt(c),this.ry=Bt(l)}render(t,n,r,i,o){let{marginTop:s,marginRight:a,marginBottom:c,marginLeft:l,width:u,height:f}=i,{anchor:h,insetTop:d,insetRight:p,insetBottom:m,insetLeft:y,rx:g,ry:x}=this,b=l+y,w=u-a-p,_=s+d,v=f-c-m;return ut(h?"svg:line":"svg:rect",o).datum(0).call(kt,this,i,o).call(Ct,this).call(Kt,this,r).call(Et,this,{}).call(h==="left"?I=>I.attr("x1",b).attr("x2",b).attr("y1",_).attr("y2",v):h==="right"?I=>I.attr("x1",w).attr("x2",w).attr("y1",_).attr("y2",v):h==="top"?I=>I.attr("x1",b).attr("x2",w).attr("y1",_).attr("y2",_):h==="bottom"?I=>I.attr("x1",b).attr("x2",w).attr("y1",v).attr("y2",v):I=>I.attr("x",b).attr("y",_).attr("width",w-b).attr("height",v-_).attr("rx",g).attr("ry",x)).node()}};function Kf(e){return new xy(e)}var _T={ariaLabel:"tip",fill:"var(--plot-background)",stroke:"currentColor"},YK=new Set(["geometry","href","src","ariaLabel","scales"]),by=class extends St{constructor(t,n={}){n.tip&&(n={...n,tip:!1}),n.title===void 0&&ur(t)&&Mw(t)&&(n={...n,title:G});let{x:r,y:i,x1:o,x2:s,y1:a,y2:c,anchor:l,preferredAnchor:u="bottom",monospace:f,fontFamily:h=f?"ui-monospace, monospace":void 0,fontSize:d,fontStyle:p,fontVariant:m,fontWeight:y,lineHeight:g=1,lineWidth:x=20,frameAnchor:b,format:w,textAnchor:_="start",textOverflow:v,textPadding:I=8,title:E,pointerSize:M=12,pathFilter:N="drop-shadow(0 3px 4px rgba(0,0,0,0.2))"}=n;super(t,{x:{value:o!=null&&s!=null?null:r,scale:"x",optional:!0},y:{value:a!=null&&c!=null?null:i,scale:"y",optional:!0},x1:{value:o,scale:"x",optional:s==null},y1:{value:a,scale:"y",optional:c==null},x2:{value:s,scale:"x",optional:o==null},y2:{value:c,scale:"y",optional:a==null},title:{value:E,optional:!0}},n,_T),this.anchor=Tw(l,"anchor"),this.preferredAnchor=Tw(u,"preferredAnchor"),this.frameAnchor=Go(b),this.textAnchor=he(_,"middle"),this.textPadding=+I,this.pointerSize=+M,this.pathFilter=qe(N),this.lineHeight=+g,this.lineWidth=+x,this.textOverflow=mT(v),this.monospace=!!f,this.fontFamily=qe(h),this.fontSize=Bt(d),this.fontStyle=qe(p),this.fontVariant=qe(m),this.fontWeight=qe(y);for(let A in _T)A in this.channels&&(this[A]=_T[A]);this.splitLines=gT(this),this.clipLine=xT(this),this.format={...w}}render(t,n,r,i,o){let s=this,{x:a,y:c,fx:l,fy:u}=n,{ownerSVGElement:f,document:h}=o,{anchor:d,monospace:p,lineHeight:m,lineWidth:y}=this,{textPadding:g,pointerSize:x,pathFilter:b}=this,{marginTop:w,marginLeft:_}=i,{x1:v,y1:I,x2:E,y2:M,x:N=v??E,y:A=I??M}=r,O=l?l(t.fx)-_:0,C=u?u(t.fy)-w:0,[S,T]=vn(this,i),D=cT(r,S),R=lT(r,T),F=p?av:sv,k=F(Fl),$,P;"title"in r?($=r.channels,P=ZK):($=HK.call(this,r,n),P=JK);let U=ut("svg:g",o).call(kt,this,i,o).call(yT,this).call(Et,this,{x:N&&a,y:A&&c}).call(ot=>ot.selectAll().data(t).enter().append("g").attr("transform",at=>`translate(${Math.round(D(at))},${Math.round(R(at))})`).call(Ct,this).call(at=>at.append("path").attr("filter",b)).call(at=>at.append("text").each(function(Y){let st=Yt(this);this.setAttribute("fill","currentColor"),this.setAttribute("fill-opacity",1),this.setAttribute("stroke","none");let q=P.call(s,Y,t,$,n,r);if(typeof q=="string")for(let Z of s.splitLines(q))W(st,{value:s.clipLine(Z)});else{let Z=new Set;for(let rt of q){let{label:z=""}=rt;z&&Z.has(z)||(Z.add(z),W(st,rt))}}})));function W(ot,{label:at,value:Y,color:st,opacity:q}){at??="",Y??="";let Z=st!=null||q!=null,rt,z=y*100,[Rt]=Pl(at,z,F,k);if(Rt>=0)at=at.slice(0,Rt).trimEnd()+Fl,rt=Y.trim(),Y="";else{(at||!Y&&!Z)&&(Y=" "+Y);let[Ht]=Pl(Y,z-F(at),F,k);Ht>=0&&(rt=Y.trim(),Y=Y.slice(0,Ht).trimEnd()+Fl)}let ht=ot.append("tspan").attr("x",0).attr("dy",`${m}em`).text("\u200B");at&&ht.append("tspan").attr("font-weight","bold").text(at),Y&&ht.append(()=>h.createTextNode(Y)),Z&&ht.append("tspan").text(" \u25A0").attr("fill",st).attr("fill-opacity",q).style("user-select","none"),rt&&ht.append("title").text(rt)}function nt(){let{width:ot,height:at}=i.facet??i;U.selectChildren().each(function(Y){let{x:st,width:q,height:Z}=this.getBBox();q=Math.round(q),Z=Math.round(Z);let rt=d;if(rt===void 0){let ht=D(Y)+O,Ht=R(Y)+C,Qt=ht+q+x+g*2<ot,tt=ht-q-x-g*2>0,ce=Ht+Z+x+g*2<at,Ar=Ht-Z-x-g*2>0;rt=Qt&&tt?ce&&Ar?s.preferredAnchor:Ar?"bottom":"top":ce&&Ar?Qt?"left":"right":(Qt||tt)&&(ce||Ar)?`${Ar?"bottom":"top"}-${Qt?"left":"right"}`:s.preferredAnchor}let z=this.firstChild,Rt=this.lastChild;if(z.setAttribute("d",WK(rt,x,g,q,Z)),st)for(let ht of Rt.childNodes)ht.setAttribute("x",-st);Rt.setAttribute("y",`${+XK(rt,Rt.childNodes.length,m).toFixed(6)}em`),Rt.setAttribute("transform",`translate(${GK(rt,x,g,q,Z)})`)}),U.attr("visibility",null)}return t.length&&(U.attr("visibility","hidden"),f.isConnected?Promise.resolve().then(nt):typeof requestAnimationFrame<"u"&&requestAnimationFrame(nt)),U.node()}};function bv(e,{x:t,y:n,...r}={}){return r.frameAnchor===void 0&&([t,n]=Pe(t,n)),new by(e,{...r,x:t,y:n})}function XK(e,t,n){return/^top(?:-|$)/.test(e)?.94-n:-.29-t*n}function GK(e,t,n,r,i){switch(e){case"middle":return[-r/2,i/2];case"top-left":return[n,t+n];case"top":return[-r/2,t/2+n];case"top-right":return[-r-n,t+n];case"right":return[-t/2-r-n,i/2];case"bottom-left":return[n,-t-n];case"bottom":return[-r/2,-t/2-n];case"bottom-right":return[-r-n,-t-n];case"left":return[n+t/2,i/2]}}function WK(e,t,n,r,i){let o=r+n*2,s=i+n*2;switch(e){case"middle":return`M${-o/2},${-s/2}h${o}v${s}h${-o}z`;case"top-left":return`M0,0l${t},${t}h${o-t}v${s}h${-o}z`;case"top":return`M0,0l${t/2},${t/2}h${(o-t)/2}v${s}h${-o}v${-s}h${(o-t)/2}z`;case"top-right":return`M0,0l${-t},${t}h${t-o}v${s}h${o}z`;case"right":return`M0,0l${-t/2},${-t/2}v${t/2-s/2}h${-o}v${s}h${o}v${t/2-s/2}z`;case"bottom-left":return`M0,0l${t},${-t}h${o-t}v${-s}h${-o}z`;case"bottom":return`M0,0l${t/2},${-t/2}h${(o-t)/2}v${-s}h${-o}v${s}h${(o-t)/2}z`;case"bottom-right":return`M0,0l${-t},${-t}h${t-o}v${-s}h${o}z`;case"left":return`M0,0l${t/2},${-t/2}v${t/2-s/2}h${o}v${s}h${-o}v${t/2-s/2}z`}}function HK({channels:e},t){let n={},r=this.format;r=n9(r,e,"x"),r=n9(r,e,"y"),this.format=r;for(let i in r){let o=r[i];if(!(o===null||o===!1))if(i==="fx"||i==="fy")n[i]=!0;else{let s=ay(e,i);s&&(n[i]=s)}}for(let i in e){if(i in n||i in r||YK.has(i))continue;let o=ay(e,i);o&&(n[i]=o)}this.facet&&(t.fx&&!("fx"in r)&&(n.fx=!0),t.fy&&!("fy"in r)&&(n.fy=!0));for(let i in n){let o=this.format[i];if(typeof o=="string"){let s=n[i]?.value??t[i]?.domain()??[];this.format[i]=(Be(s)?zo:pi)(o)}else if(o===void 0||o===!0){let s=t[i];this.format[i]=s?.bandwidth?gy(s,s.domain()):Xi}}return n}function n9(e,t,n){if(!(n in e))return e;let r=`${n}1`,i=`${n}2`;if((r in e||!(r in t))&&(i in e||!(i in t)))return e;let o=Object.entries(e),s=e[n];return o.splice(o.findIndex(([a])=>a===n)+1,0,[r,s],[i,s]),Object.fromEntries(o)}function ZK(e,t,{title:n}){return Xi(n.value[e],e)}function*JK(e,t,n,r,i){for(let o in n){if(o==="fx"||o==="fy"){yield{label:xv(r,n,o),value:this.format[o](t[o],e)};continue}if(o==="x1"&&"x2"in n||o==="y1"&&"y2"in n)continue;let s=n[o];if(o==="x2"&&"x1"in n)yield{label:i9(r,n,"x"),value:r9(this.format.x2,n.x1,s,e)};else if(o==="y2"&&"y1"in n)yield{label:i9(r,n,"y"),value:r9(this.format.y2,n.y1,s,e)};else{let a=s.value[e],c=s.scale;if(!ze(a)&&c==null)continue;yield{label:xv(r,n,o),value:this.format[o](a,e),color:c==="color"?i[o][e]:null,opacity:c==="opacity"?i[o][e]:null}}}}function r9(e,t,n,r){return n.hint?.length?`${e(n.value[r]-t.value[r],r)}`:`${e(t.value[r],r)}\u2013${e(n.value[r],r)}`}function i9(e,t,n){let r=xv(e,t,`${n}1`,n),i=xv(e,t,`${n}2`,n);return r===i?r:`${r}\u2013${i}`}function xv(e,t,n,r=n){let i=t[n],o=e[i?.scale??n];return String(o?.label??i?.label??r)}function vy(e={}){let{facet:t,style:n,title:r,subtitle:i,caption:o,ariaLabel:s,ariaDescription:a}=e,c=Gf(e.className),l=e.marks===void 0?[]:s9(e.marks);l.push(...itt(l));let u=ntt(t,e),f=new Map;for(let k of l){let $=a9(k,u,e);$&&f.set(k,$)}let h=new Map;u&&wy(h,[u],e),wy(h,f,e);let d=s9(ott(l,h,e));for(let k of d){let $=a9(k,u,e);$&&f.set(k,$)}l.unshift(...d);let p=o$(h,e);if(p!==void 0){let k=u?Jw(p,u):void 0;for(let P of l){if(P.facet===null||P.facet==="super")continue;let U=f.get(P);U!==void 0&&(U.facetsIndex=P.fx!=null||P.fy!=null?Jw(p,U):k)}let $=new Set;for(let{facetsIndex:P}of f.values())P?.forEach((U,W)=>{U?.length>0&&$.add(W)});p.forEach(0<$.size&&$.size<p.length?(P,U)=>P.empty=!$.has(U):P=>P.empty=!1);for(let P of l)if(P.facet==="exclude"){let U=f.get(P);U!==void 0&&(U.facetsIndex=c$(U.facetsIndex))}}for(let k of de.keys())Vo(e[k])&&k!=="fx"&&k!=="fy"&&h.set(k,[]);let m=new Map;for(let k of l){if(m.has(k))throw new Error("duplicate mark; each mark must be unique");let{facetsIndex:$,channels:P}=f.get(k)??{},{data:U,facets:W,channels:nt}=k.initialize($,P,e);MT(nt,e),m.set(k,{data:U,facets:W,channels:nt})}let y=uy(wy(h,m,e),e),g=r$(y,l,e);G7(y,g);let x=Q3(y),{fx:b,fy:w}=x,_=b||w?K3(y,g):g,v=b||w?htt(x,g):g,I=rc(e),E=I.document,M=Bs("svg").call(E.documentElement),N=M;I.ownerSVGElement=M,I.className=c,I.projection=s7(e,_),I.filterFacets=(k,$)=>Jw(p,{channels:$,groups:Hw(k,$)}),I.getMarkState=k=>{let $=m.get(k),P=f.get(k);return{...$,channels:{...$.channels,...P?.channels}}},I.dispatchValue=k=>{N.value!==k&&(N.value=k,N.dispatchEvent(new Event("input",{bubbles:!0})))};let A=new Set;for(let[k,$]of m)if(k.initializer!=null){let P=k.facet==="super"?v:_,U=k.initializer($.data,$.facets,$.channels,x,P,I);if(U.data!==void 0&&($.data=U.data),U.facets!==void 0&&($.facets=U.facets),U.channels!==void 0){let{fx:W,fy:nt,...ot}=U.channels;ett(ot),Object.assign($.channels,ot);for(let at of Object.values(ot)){let{scale:Y}=at;Y!=null&&!PF(de.get(Y))&&(u9(at,e),A.add(Y))}(W!=null||nt!=null)&&f.set(k,!0)}}if(A.size){let k=new Map;wy(k,m,e,W=>A.has(W)),wy(h,m,e,W=>A.has(W));let $=ftt(uy(k,e),y),{scales:P,...U}=Q3($);Object.assign(y,$),Object.assign(x,U),Object.assign(x.scales,P)}let O,C;p!==void 0&&(O={x:b?.domain(),y:w?.domain()},p=s$(p,O),C=a$(b,w,g));for(let[k,$]of m)$.values=k.scale($.channels,x,I);let{width:S,height:T}=g;Yt(M).attr("class",c).attr("fill","currentColor").attr("font-family","system-ui, sans-serif").attr("font-size",10).attr("text-anchor","middle").attr("width",S).attr("height",T).attr("viewBox",`0 0 ${S} ${T}`).attr("aria-label",s).attr("aria-description",a).call(k=>k.append("style").text(`:where(.${c}) {
|
|
60
60
|
--plot-background: white;
|
|
61
61
|
display: block;
|
|
62
62
|
height: auto;
|
|
@@ -66,24 +66,24 @@ ${m}`)).style("margin-left",l?`${+l}px`:null).style("width",d===void 0?null:`${+
|
|
|
66
66
|
:where(.${c} text),
|
|
67
67
|
:where(.${c} tspan) {
|
|
68
68
|
white-space: pre;
|
|
69
|
-
}`)).call(zf,n);for(let k of l){let{channels:$,values:P,facets:U}=m.get(k);if(p===void 0||k.facet==="super"){let W=null;if(U&&(W=U[0],W=k.filter(W,$,P),W.length===0))continue;let et=k.render(W,x,P,v,I);if(et==null)continue;T.appendChild(et)}else{let W;for(let et of p){if(!(k.facetAnchor?.(p,O,et)??!et.empty))continue;let rt=null;if(U){let Y=f.has(k);if(rt=U[Y?et.i:0],rt=k.filter(rt,$,P),rt.length===0)continue;!Y&&rt===U[0]&&(rt=Js(rt)),rt.fx=et.x,rt.fy=et.y,rt.fi=et.i}let at=k.render(rt,x,P,_,I);if(at!=null){(W??=Vt(T).append("g")).append(()=>at).datum(et);for(let Y of["aria-label","aria-description","aria-hidden","transform"])at.hasAttribute(Y)&&(W.attr(Y,at.getAttribute(Y)),at.removeAttribute(Y))}}W?.selectChildren().attr("transform",C)}}let N=m$(g,I,e),{figure:F=r!=null||i!=null||o!=null||N.length>0}=e;F&&(D=A.createElement("figure"),D.className=`${c}-figure`,D.style.maxWidth="initial",r!=null&&D.append(b$(A,r,"h2")),i!=null&&D.append(b$(A,i,"h3")),D.append(...N,T),o!=null&&D.append(YQ(A,o))),D.scale=f7(x.scales),D.legend=h$(g,I,e);let R=gR();return R>0&&Vt(T).append("text").attr("x",S).attr("y",20).attr("dy","-1em").attr("text-anchor","end").attr("font-family","initial").text("\u26A0\uFE0F").append("title").text(`${R.toLocaleString("en-US")} warning${R===1?"":"s"}. Please check the console.`),D}function b$(e,t,n){if(t.ownerDocument)return t;let r=e.createElement(n);return r.append(t),r}function YQ(e,t){let n=e.createElement("figcaption");return n.append(t),n}function XQ({marks:e=[],...t}={}){return ny({...t,marks:[...e,this]})}St.prototype.plot=XQ;function w$(e){return e.flat(1/0).filter(t=>t!=null).map(GQ)}function GQ(e){return typeof e.render=="function"?e:new ZT(e)}var ZT=class extends St{constructor(t){if(typeof t!="function")throw new TypeError("invalid mark; missing render function");super(),this.render=t}render(){}};function JT(e,t){for(let n in e)I$(e[n],t);return e}function I$(e,t){let{scale:n,transform:r=!0}=e;if(n==null||!r)return;let{type:i,percent:o,interval:s,transform:a=o?c=>c*100:QA(s,i)}=t[n]??{};a!=null&&(e.value=Gt(e.value,a),e.transform=!1)}function WQ(e){for(let t in e)hT(t,e[t])}function ey(e,t,n,r=UF){for(let{channels:i}of t.values())for(let o in i){let s=i[o],{scale:a}=s;if(a!=null&&r(a))if(a==="projection"){if(!SR(n)){let c=n.x?.domain===void 0,l=n.y?.domain===void 0;if(c||l){let[u,f]=MR(s);c&&HT(e,"x",u),l&&HT(e,"y",f)}}}else HT(e,a,s)}return e}function HT(e,t,n){let r=e.get(t);r!==void 0?r.push(n):e.set(t,[n])}function HQ(e,t){if(e==null)return;let{x:n,y:r}=e;if(n==null&&r==null)return;let i=je(e.data);if(i==null)throw new Error("missing facet data");let o={};n!=null&&(o.fx=Bf(i,{value:n,scale:"fx"})),r!=null&&(o.fy=Bf(i,{value:r,scale:"fy"})),JT(o,t);let s=Bw(i,o);return{channels:o,groups:s,data:e.data}}function v$(e,t,n){if(e.facet===null||e.facet==="super")return;let{fx:r,fy:i}=e;if(r!=null||i!=null){let c=je(e.data??r??i);if(c===void 0)throw new Error(`missing facet data in ${e.ariaLabel}`);if(c===null)return;let l={};return r!=null&&(l.fx=Bf(c,{value:r,scale:"fx"})),i!=null&&(l.fy=Bf(c,{value:i,scale:"fy"})),JT(l,n),{channels:l,groups:Bw(c,l)}}if(t===void 0)return;let{channels:o,groups:s,data:a}=t;if(e.facet!=="auto"||e.data===a)return{channels:o,groups:s};a.length>0&&(s.size>1||s.size===1&&o.fx&&o.fy&&[...s][0][1].size>1)&&je(e.data)?.length===a.length&&Vn(`Warning: the ${e.ariaLabel} mark appears to use faceted data, but isn\u2019t faceted. The mark data has the same length as the facet data and the mark facet option is "auto", but the mark data and facet data are distinct. If this mark should be faceted, set the mark facet option to true; otherwise, suppress this warning by setting the mark facet option to false.`)}function ZQ(e,t={}){return Ie({...t,x:null,y:null},(n,r,i,o,s,a)=>a.getMarkState(e))}function JQ(e){let t=[];for(let n of e){let r=n.tip;if(r){r===!0?r={}:typeof r=="string"&&(r={pointer:r});let{pointer:i,preferredAnchor:o}=r;i=/^x$/i.test(i)?Vf:/^y$/i.test(i)?El:jf,r=i(ZQ(n,r)),r.title=null,o===void 0&&(r.preferredAnchor=i===El?"left":"bottom");let s=nv(n.data,r);s.facet=n.facet,s.facetAnchor=n.facetAnchor,t.push(s)}}return t}function QQ(e,t,n){let{projection:r,x:i={},y:o={},fx:s={},fy:a={},axis:c,grid:l,facet:u={},facet:{axis:f=c,grid:d}=u,x:{axis:h=c,grid:p=h===null?null:l}=i,y:{axis:m=c,grid:g=m===null?null:l}=o,fx:{axis:y=f,grid:x=y===null?null:d}=s,fy:{axis:b=f,grid:w=b===null?null:d}=a}=n;(r||!Bo(i)&&!_$("x",e))&&(h=p=null),(r||!Bo(o)&&!_$("y",e))&&(m=g=null),t.has("fx")||(y=x=null),t.has("fy")||(b=w=null),h===void 0&&(h=!ov(e,"x")),m===void 0&&(m=!ov(e,"y")),y===void 0&&(y=!ov(e,"fx")),b===void 0&&(b=!ov(e,"fy")),h===!0&&(h="bottom"),m===!0&&(m="left"),y===!0&&(y=h==="top"||h===null?"bottom":"top"),b===!0&&(b=m==="right"||m===null?"left":"right");let _=[];return iv(_,w,Jw,a),rv(_,b,Ww,"right","left",u,a),iv(_,x,Kw,s),rv(_,y,Hw,"top","bottom",u,s),iv(_,g,Zw,o),rv(_,m,Zm,"left","right",n,o),iv(_,p,Qw,i),rv(_,h,Jm,"bottom","top",n,i),_}function rv(e,t,n,r,i,o,s){if(!t)return;let a=KQ(t);s=tK(a?r:t,o,s);let{line:c}=s;(n===Zm||n===Jm)&&c&&!ta(c)&&e.push(Wf(eK(s))),e.push(n(s)),a&&e.push(n({...s,anchor:i,label:null}))}function iv(e,t,n,r){!t||ta(t)||e.push(n(nK(t,r)))}function KQ(e){return/^\s*both\s*$/i.test(e)}function tK(e,t,{line:n=t.line,ticks:r,tickSize:i,tickSpacing:o,tickPadding:s,tickFormat:a,tickRotate:c,fontVariant:l,ariaLabel:u,ariaDescription:f,label:d=t.label,labelAnchor:h,labelArrow:p=t.labelArrow,labelOffset:m}){return{anchor:e,line:n,ticks:r,tickSize:i,tickSpacing:o,tickPadding:s,tickFormat:a,tickRotate:c,fontVariant:l,ariaLabel:u,ariaDescription:f,label:d,labelAnchor:h,labelArrow:p,labelOffset:m}}function eK(e){let{anchor:t,line:n}=e;return{anchor:t,facetAnchor:t+"-empty",stroke:n===!0?void 0:n}}function nK(e,{stroke:t=Qa(e)?e:void 0,ticks:n=rK(e)?e:void 0,tickSpacing:r,ariaLabel:i,ariaDescription:o}){return{stroke:t,ticks:n,tickSpacing:r,ariaLabel:i,ariaDescription:o}}function rK(e){switch(typeof e){case"number":return!0;case"string":return!Qa(e)}return cr(e)||typeof e?.range=="function"}function ov(e,t){let n=`${t}-axis `;return e.some(r=>r.ariaLabel?.startsWith(n))}function _$(e,t){for(let n of t)for(let r in n.channels){let{scale:i}=n.channels[r];if(i===e||i==="projection")return!0}return!1}function iK(e,t){for(let n in e){let r=e[n],i=t[n];r.label===void 0&&i&&(r.label=i.label)}return e}function oK({fx:e,fy:t},n){let{marginTop:r,marginRight:i,marginBottom:o,marginLeft:s,width:a,height:c}=Mw(n),l=e&&S$(e),u=t&&S$(t);return{marginTop:t?u[0]:r,marginRight:e?a-l[1]:i,marginBottom:t?c-u[1]:o,marginLeft:e?l[0]:s,inset:{marginTop:n.marginTop,marginRight:n.marginRight,marginBottom:n.marginBottom,marginLeft:n.marginLeft},width:a,height:c}}function S$(e){let t=e.domain(),n=e(t[0]),r=e(t[t.length-1]);return r<n&&([n,r]=[r,n]),[n,r+e.bandwidth()]}var sK=new Map([["basis",xA],["basis-closed",bA],["basis-open",wA],["bundle",vA],["bump-x",hA],["bump-y",pA],["cardinal",_A],["cardinal-closed",SA],["cardinal-open",IA],["catmull-rom",MA],["catmull-rom-closed",AA],["catmull-rom-open",TA],["linear",Gs],["linear-closed",EA],["monotone-x",DA],["monotone-y",OA],["natural",BA],["step",LA],["step-after",kA],["step-before",CA]]);function ry(e=Gs,t){if(typeof e=="function")return e;let n=sK.get(`${e}`.toLowerCase());if(!n)throw new Error(`unknown curve: ${e}`);if(t!==void 0){if("beta"in n)return n.beta(t);if("tension"in n)return n.tension(t);if("alpha"in n)return n.alpha(t)}return n}function sv(e=ac,t){return typeof e!="function"&&`${e}`.toLowerCase()==="auto"?ac:ry(e,t)}function ac(e){return Gs(e)}function Po(e={y:"count"},t={}){[e,t]=KT(e,t);let{x:n,y:r}=t;return QT(av(n,t,G),null,null,r,e,Nl(t))}function Uo(e={x:"count"},t={}){[e,t]=KT(e,t);let{x:n,y:r}=t;return QT(null,av(r,t,G),n,null,e,Dl(t))}function sa(e={fill:"count"},t={}){[e,t]=KT(e,t);let{x:n,y:r}=aK(t);return QT(n,r,null,null,e,Nl(Dl(t)))}function T$(e,t,n={}){if(n?.interval==null)return n;let{reduce:r=xw}=n,i={filter:null};return n[t]!=null&&(i[t]=r),n[`${t}1`]!=null&&(i[`${t}1`]=r),n[`${t}2`]!=null&&(i[`${t}2`]=r),e(i,n)}function Hf(e={}){return T$(Po,"y",Yi(e,"x"))}function Zf(e={}){return T$(Uo,"x",Yi(e,"y"))}function QT(e,t,n,r,{data:i=gw,filter:o=$m,sort:s,reverse:a,...c}={},l={}){e=M$(e),t=M$(t),c=cK(c,l),i=D$(i,G),s=s==null?void 0:E$("sort",s,l),o=o==null?void 0:N$("filter",o,l),n!=null&&Fo(c,"x","x1","x2")&&(n=null),r!=null&&Fo(c,"y","y1","y2")&&(r=null);let[u,f]=Dn(e),[d,h]=Dn(e),[p,m]=Dn(t),[g,y]=Dn(t),[x,b]=n!=null?[n,"x"]:r!=null?[r,"y"]:[],[w,_]=Dn(x),{x:v,y:I,z:A,fill:T,stroke:D,x1:E,x2:O,y1:C,y2:S,domain:M,cumulative:N,thresholds:F,interval:R,...k}=l,[$,P]=Dn(A),[U]=Be(T),[W]=Be(D),[et,rt]=Dn(U),[at,Y]=Dn(W);return{..."z"in l&&{z:$||A},..."fill"in l&&{fill:et||T},..."stroke"in l&&{stroke:at||D},...yn(k,(ot,j,H)=>{let nt=Sl(wt(ot,x),H?.[b]),z=wt(ot,A),kt=wt(ot,U),dt=wt(ot,W),Wt=zm(c,{z,fill:kt,stroke:dt}),Zt=[],K=[],ae=nt&&_([]),Sr=z&&P([]),Wi=kt&&rt([]),iz=dt&&Y([]),AD=e&&f([]),oz=e&&h([]),TD=t&&m([]),sz=t&&y([]),az=fK(e,t,ot),cz=0;for(let Wl of c)Wl.initialize(ot);s&&s.initialize(ot),o&&o.initialize(ot);for(let Wl of j){let ED=[];for(let Hl of c)Hl.scope("facet",Wl);s&&s.scope("facet",Wl),o&&o.scope("facet",Wl);for(let[Hl,lz]of Ka(Wl,Wt))for(let[uz,og]of Ka(lz,nt))for(let[Hi,Go]of az(og))if(Wt&&(Go.z=Hl),!(o&&!o.reduce(Hi,Go))){ED.push(cz++),K.push(i.reduceIndex(Hi,ot,Go)),nt&&ae.push(uz),z&&Sr.push(Wt===z?Hl:z[(Hi.length>0?Hi:og)[0]]),kt&&Wi.push(Wt===kt?Hl:kt[(Hi.length>0?Hi:og)[0]]),dt&&iz.push(Wt===dt?Hl:dt[(Hi.length>0?Hi:og)[0]]),AD&&(AD.push(Go.x1),oz.push(Go.x2)),TD&&(TD.push(Go.y1),sz.push(Go.y2));for(let fz of c)fz.reduce(Hi,Go);s&&s.reduce(Hi,Go)}Zt.push(ED)}return uT(Zt,s,a),{data:K,facets:Zt}}),...!Fo(c,"x")&&(u?{x1:u,x2:d,x:Tf(u,d)}:{x:v,x1:E,x2:O}),...!Fo(c,"y")&&(p?{y1:p,y2:g,y:Tf(p,g)}:{y:I,y1:C,y2:S}),...w&&{[b]:w},...Object.fromEntries(c.map(({name:ot,output:j})=>[ot,j]))}}function KT({cumulative:e,domain:t,thresholds:n,interval:r,...i},o){return[i,{cumulative:e,domain:t,thresholds:n,interval:r,...o}]}function av(e,{cumulative:t,domain:n,thresholds:r,interval:i},o){return e={...pi(e)},e.domain===void 0&&(e.domain=n),e.cumulative===void 0&&(e.cumulative=t),e.thresholds===void 0&&(e.thresholds=r),e.interval===void 0&&(e.interval=i),e.value===void 0&&(e.value=o),e.thresholds=t3(e.thresholds,e.interval),e}function aK(e){let{x:t,y:n}=e;return t=av(t,e),n=av(n,e),[t.value,n.value]=$e(t.value,n.value),{x:t,y:n}}function M$(e){if(e==null)return;let{value:t,cumulative:n,domain:r=le,thresholds:i}=e,o=s=>{let a=wt(s,t),c;if(Le(a)||uK(i)){a=Gt(a,GA,Float64Array);let[u,f]=typeof r=="function"?r(a):r,d=typeof i=="function"&&!Ja(i)?i(a,u,f):i;typeof d=="number"&&(d=am(u,f,d)),Ja(d)&&(r===le&&(u=d.floor(u),f=d.offset(d.floor(f))),d=d.range(u,d.offset(f))),c=d}else{a=Ke(a);let[u,f]=typeof r=="function"?r(a):r,d=typeof i=="function"&&!Ja(i)?i(a,u,f):i;if(typeof d=="number")if(r===le){let h=Ns(u,f,d);if(isFinite(h))if(h>0){let p=Math.round(u/h),m=Math.round(f/h);p*h<=u||--p,m*h>f||++m;let g=m-p+1;d=new Float64Array(g);for(let y=0;y<g;++y)d[y]=(p+y)*h}else if(h<0){h=-h;let p=Math.round(u*h),m=Math.round(f*h);p/h<=u||--p,m/h>f||++m;let g=m-p+1;d=new Float64Array(g);for(let y=0;y<g;++y)d[y]=(p+y)/h}else d=[u];else d=[u]}else d=Mn(u,f,d);else Ja(d)&&(r===le&&(u=d.floor(u),f=d.offset(d.floor(f))),d=d.range(u,d.offset(f)));c=d}let l=[];if(c.length===1)l.push([c[0],c[0]]);else for(let u=1;u<c.length;++u)l.push([c[u-1],c[u]]);return l.bin=(n<0?hK:n>0?dK:e3)(l,c,a),l};return o.label=On(t),o}function t3(e,t,n=A$){if(e===void 0)return t===void 0?n:Co(t);if(typeof e=="string"){switch(e.toLowerCase()){case"freedman-diaconis":return K0;case"scott":return np;case"sturges":return Na;case"auto":return A$}return Cm(e)}return e}function cK(e,t){return cT(e,t,E$)}function E$(e,t,n){return mw(e,t,n,N$)}function N$(e,t,n){return yw(e,t,n,D$)}function D$(e,t){return Of(e,t,lK)}function lK(e){switch(`${e}`.toLowerCase()){case"x":return pK;case"x1":return yK;case"x2":return gK;case"y":return mK;case"y1":return xK;case"y2":return bK;case"z":return fT}throw new Error(`invalid bin reduce: ${e}`)}function A$(e,t,n){return Math.min(200,np(e,t,n))}function uK(e){return VF(e)||cr(e)&&Le(e)}function fK(e,t,n){let r=e?.(n),i=t?.(n);return r&&i?function*(o){let s=r.bin(o);for(let[a,[c,l]]of r.entries()){let u=i.bin(s[a]);for(let[f,[d,h]]of i.entries())yield[u[f],{data:n,x1:c,y1:d,x2:l,y2:h}]}}:r?function*(o){let s=r.bin(o);for(let[a,[c,l]]of r.entries())yield[s[a],{data:n,x1:c,x2:l}]}:function*(o){let s=i.bin(o);for(let[a,[c,l]]of i.entries())yield[s[a],{data:n,y1:c,y2:l}]}}function e3(e,t,n){return t=Ke(t),r=>{let i=e.map(()=>[]);for(let o of r)i[Ts(t,n[o])-1]?.push(o);return i}}function dK(e,t,n){let r=e3(e,t,n);return i=>{let o=r(i);for(let s=1,a=o.length;s<a;++s){let c=o[s-1],l=o[s];for(let u of c)l.push(u)}return o}}function hK(e,t,n){let r=e3(e,t,n);return i=>{let o=r(i);for(let s=o.length-2;s>=0;--s){let a=o[s+1],c=o[s];for(let l of a)c.push(l)}return o}}function O$(e,t){let n=(+e+ +t)/2;return e instanceof Date?new Date(n):n}var pK={reduceIndex(e,t,{x1:n,x2:r}){return O$(n,r)}},mK={reduceIndex(e,t,{y1:n,y2:r}){return O$(n,r)}},yK={reduceIndex(e,t,{x1:n}){return n}},gK={reduceIndex(e,t,{x2:n}){return n}},xK={reduceIndex(e,t,{y1:n}){return n}},bK={reduceIndex(e,t,{y2:n}){return n}};function Jf(e={}){return HA(e)?e:{...e,x:G}}function Qf(e={}){return ZA(e)?e:{...e,y:G}}function B$(e,t){if(t.length===1)return{data:e,facets:t};let n=e.length,r=new Uint8Array(n),i=0;for(let a of t)for(let c of a)r[c]&&++i,r[c]=1;if(i===0)return{data:e,facets:t};e=Za(e);let o=e[VA]=new Uint32Array(n+i);t=t.map(a=>Za(a,Uint32Array));let s=n;r.fill(0);for(let a of t)for(let c=0,l=a.length;c<l;++c){let u=a[c];r[u]?(a[c]=s,e[s]=e[u],o[s]=u,++s):o[u]=u,r[u]=1}return{data:e,facets:t}}function n3(e={},t={}){arguments.length===1&&([e,t]=ed(e));let{y1:n,y:r=n,x:i,...o}=t,[s,a,c,l]=nd(r,i,"y","x",e,o);return{...s,y1:n,y:a,x1:c,x2:l,x:Tf(c,l)}}function k$(e={},t={}){arguments.length===1&&([e,t]=ed(e));let{y1:n,y:r=n,x:i}=t,[o,s,a]=nd(r,i,"y","x",e,t);return{...o,y1:n,y:s,x:a}}function F$(e={},t={}){arguments.length===1&&([e,t]=ed(e));let{y1:n,y:r=n,x:i}=t,[o,s,,a]=nd(r,i,"y","x",e,t);return{...o,y1:n,y:s,x:a}}function r3(e={},t={}){arguments.length===1&&([e,t]=ed(e));let{x1:n,x:r=n,y:i,...o}=t,[s,a,c,l]=nd(r,i,"x","y",e,o);return{...s,x1:n,x:a,y1:c,y2:l,y:Tf(c,l)}}function R$(e={},t={}){arguments.length===1&&([e,t]=ed(e));let{x1:n,x:r=n,y:i}=t,[o,s,a]=nd(r,i,"x","y",e,t);return{...o,x1:n,x:s,y:a}}function $$(e={},t={}){arguments.length===1&&([e,t]=ed(e));let{x1:n,x:r=n,y:i}=t,[o,s,,a]=nd(r,i,"x","y",e,t);return{...o,x1:n,x:s,y:a}}function Kf({x:e,x1:t,x2:n,...r}={}){return r=Yi(r,"y"),t===void 0&&n===void 0?n3({x:e,...r}):([t,n]=JA(e,t,n),{...r,x1:t,x2:n})}function td({y:e,y1:t,y2:n,...r}={}){return r=Yi(r,"x"),t===void 0&&n===void 0?r3({y:e,...r}):([t,n]=JA(e,t,n),{...r,y1:t,y2:n})}function ed(e){let{offset:t,order:n,reverse:r,...i}=e;return[{offset:t,order:n,reverse:r},i]}var wK={length:!0};function nd(e,t=km,n,r,{offset:i,order:o,reverse:s},a){if(t===null)throw new Error(`stack requires ${r}`);let c=jn(a),[l,u]=Dn(e),[f,d]=mn(t),[h,p]=mn(t);return f.hint=h.hint=wK,i=vK(i),o=IK(o,i,r),[yn(a,(m,g,y)=>{({data:m,facets:g}=B$(m,g));let x=e==null?void 0:u(Sl(wt(m,e),y?.[n])),b=wt(m,t,Float64Array),w=wt(m,c),_=o&&o(m,x,b,w),v=m.length,I=d(new Float64Array(v)),A=p(new Float64Array(v)),T=[];for(let D of g){let E=x?Array.from(cn(D,O=>x[O]).values()):[D];if(_)for(let O of E)O.sort(_);for(let O of E){let C=0,S=0;s&&O.reverse();for(let M of O){let N=b[M];N<0?C=A[M]=(I[M]=C)+N:N>0?S=A[M]=(I[M]=S)+N:A[M]=I[M]=S}}T.push(E)}return i&&i(T,I,A,w),{data:m,facets:g}}),l,f,h]}function vK(e){if(e!=null){if(typeof e=="function")return e;switch(`${e}`.toLowerCase()){case"expand":case"normalize":return _K;case"center":case"silhouette":return SK;case"wiggle":return U$}throw new Error(`unknown offset: ${e}`)}}function P$(e,t){let n=0,r=0;for(let i of e){let o=t[i];o<n&&(n=o),o>r&&(r=o)}return[n,r]}function _K(e,t,n){for(let r of e)for(let i of r){let[o,s]=P$(i,n);for(let a of i){let c=1/(s-o||1);t[a]=c*(t[a]-o),n[a]=c*(n[a]-o)}}}function SK(e,t,n){for(let r of e){for(let i of r){let[o,s]=P$(i,n);for(let a of i){let c=(s+o)/2;t[a]-=c,n[a]-=c}}z$(r,t,n)}q$(e,t,n)}function U$(e,t,n,r){for(let i of e){let o=new Zn,s=0;for(let a of i){let c=-1,l=a.map(h=>Math.abs(n[h]-t[h])),u=a.map(h=>{c=r?r[h]:++c;let p=n[h]-t[h],m=o.has(c)?p-o.get(c):0;return o.set(c,p),m}),f=[0,...W0(u)];for(let h of a)t[h]+=s,n[h]+=s;let d=An(l);d&&(s-=An(l,(h,p)=>(u[p]/2+f[p])*h)/d)}z$(i,t,n)}q$(e,t,n)}function z$(e,t,n){let r=ue(e,i=>ue(i,o=>t[o]));for(let i of e)for(let o of i)t[o]-=r,n[o]-=r}function q$(e,t,n){let r=e.length;if(r===1)return;let i=e.map(a=>a.flat()),o=i.map(a=>(ue(a,c=>t[c])+Ht(a,c=>n[c]))/2),s=ue(o);for(let a=0;a<r;a++){let c=s-o[a];for(let l of i[a])t[l]+=c,n[l]+=c}}function IK(e,t,n){if(e===void 0&&t===U$)return L$(dn);if(e!=null){if(typeof e=="string"){let r=e.startsWith("-"),i=r?xl:dn;switch((r?e.slice(1):e).toLowerCase()){case"value":case n:return MK(i);case"z":return AK(i);case"sum":return TK(i);case"appearance":return EK(i);case"inside-out":return L$(i)}return C$(YA(e))}if(typeof e=="function")return(e.length===1?C$:NK)(e);if(Array.isArray(e))return DK(e);throw new Error(`invalid order: ${e}`)}}function MK(e){return(t,n,r)=>(i,o)=>e(r[i],r[o])}function AK(e){return(t,n,r,i)=>(o,s)=>e(i[o],i[s])}function TK(e){return cv(e,(t,n,r,i)=>Eu(ar(t),o=>An(o,s=>r[s]),o=>i[o]))}function EK(e){return cv(e,(t,n,r,i)=>Eu(ar(t),o=>n[Yc(o,s=>r[s])],o=>i[o]))}function L$(e){return cv(e,(t,n,r,i)=>{let o=ar(t),s=Eu(o,f=>n[Yc(f,d=>r[d])],f=>i[f]),a=$i(o,f=>An(f,d=>r[d]),f=>i[f]),c=[],l=[],u=0;for(let f of s)u<0?(u+=a.get(f),c.push(f)):(u-=a.get(f),l.push(f));return l.reverse().concat(c)})}function C$(e){return t=>{let n=wt(t,e);return(r,i)=>dn(n[r],n[i])}}function NK(e){return t=>(n,r)=>e(t[n],t[r])}function DK(e){return cv(dn,()=>e)}function cv(e,t){return(n,r,i,o)=>{if(!o)throw new Error("missing channel: z");let s=new Zn(t(n,r,i,o).map((a,c)=>[a,c]));return(a,c)=>e(s.get(o[a]),s.get(o[c]))}}var OK={ariaLabel:"area",strokeWidth:1,strokeLinecap:"round",strokeLinejoin:"round",strokeMiterlimit:1},kl=class extends St{constructor(t,n={}){let{x1:r,y1:i,x2:o,y2:s,z:a,curve:c,tension:l}=n;super(t,{x1:{value:r,scale:"x"},y1:{value:i,scale:"y"},x2:{value:o,scale:"x",optional:!0},y2:{value:s,scale:"y",optional:!0},z:{value:jn(n),optional:!0}},n,OK),this.z=a,this.curve=ry(c,l)}filter(t){return t}render(t,n,r,i,o){let{x1:s,y1:a,x2:c=s,y2:l=a}=r;return ut("svg:g",o).call(Ct,this,i,o).call(Et,this,n,0,0).call(u=>u.selectAll().data(Dw(t,[s,a,c,l],this,r)).enter().append("path").call(Lt,this).call(Tl,this,r).attr("d",pf().curve(this.curve).defined(f=>f>=0).x0(f=>s[f]).y0(f=>a[f]).x1(f=>c[f]).y1(f=>l[f]))).node()}};function iy(e,t){return t===void 0?aa(e,{x:_l,y:Ha}):new kl(e,t)}function cc(e,t){let{y:n=Ee,...r}=Zf(t);return new kl(e,Kf(Jf({...r,y1:n,y2:void 0})))}function aa(e,t){let{x:n=Ee,...r}=Hf(t);return new kl(e,td(Qf({...r,x1:n,x2:void 0})))}var BK={ariaLabel:"link",fill:"none",stroke:"currentColor",strokeMiterlimit:1},oy=class extends St{constructor(t,n={}){let{x1:r,y1:i,x2:o,y2:s,curve:a,tension:c}=n;super(t,{x1:{value:r,scale:"x"},y1:{value:i,scale:"y"},x2:{value:o,scale:"x",optional:!0},y2:{value:s,scale:"y",optional:!0}},n,BK),this.curve=sv(a,c),Xi(this,n)}project(t,n,r){this.curve!==ac&&super.project(t,n,r)}render(t,n,r,i,o){let{x1:s,y1:a,x2:c=s,y2:l=a}=r,{curve:u}=this;return ut("svg:g",o).call(Ct,this,i,o).call(Et,this,n).call(f=>f.selectAll().data(t).enter().append("path").call(Lt,this).attr("d",u===ac&&o.projection?LK(o.projection,s,a,c,l):d=>{let h=er(),p=u(h);return p.lineStart(),p.point(s[d],a[d]),p.point(c[d],l[d]),p.lineEnd(),h}).call(Qt,this,r).call(oa,this,r,o)).node()}};function LK(e,t,n,r,i){let o=En(e);return t=Ke(t),n=Ke(n),r=Ke(r),i=Ke(i),s=>o({type:"LineString",coordinates:[[t[s],n[s]],[r[s],i[s]]]})}function lv(e,{x:t,x1:n,x2:r,y:i,y1:o,y2:s,...a}={}){return[n,r]=sy(t,n,r),[o,s]=sy(i,o,s),new oy(e,{...a,x1:n,x2:r,y1:o,y2:s})}function sy(e,t,n){if(e===void 0){if(t===void 0){if(n!==void 0)return[n]}else if(n===void 0)return[t]}else{if(t===void 0)return n===void 0?[e]:[e,n];if(n===void 0)return[e,t]}return[t,n]}var CK={ariaLabel:"arrow",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeMiterlimit:1,strokeWidth:1.5},ay=class extends St{constructor(t,n={}){let{x1:r,y1:i,x2:o,y2:s,bend:a=0,headAngle:c=60,headLength:l=8,inset:u=0,insetStart:f=u,insetEnd:d=u,sweep:h}=n;super(t,{x1:{value:r,scale:"x"},y1:{value:i,scale:"y"},x2:{value:o,scale:"x",optional:!0},y2:{value:s,scale:"y",optional:!0}},n,CK),this.bend=a===!0?22.5:Math.max(-90,Math.min(90,a)),this.headAngle=+c,this.headLength=+l,this.insetStart=+f,this.insetEnd=+d,this.sweep=kK(h)}render(t,n,r,i,o){let{x1:s,y1:a,x2:c=s,y2:l=a,SW:u}=r,{strokeWidth:f,bend:d,headAngle:h,headLength:p,insetStart:m,insetEnd:g}=this,y=u?w=>u[w]:hn(f===void 0?1:f),x=h*Yf/2,b=p/1.5;return ut("svg:g",o).call(Ct,this,i,o).call(Et,this,n).call(w=>w.selectAll().data(t).enter().append("path").call(Lt,this).attr("d",_=>{let v=s[_],I=a[_],A=c[_],T=l[_],D=Math.hypot(A-v,T-I);if(D<=m+g)return null;let E=Math.atan2(T-I,A-v),O=Math.min(b*y(_),D/3),C=this.sweep(v,I,A,T)*d*Yf,S=Math.hypot(D/Math.tan(C),D)/2;if(m||g)if(S<1e5){let et=Math.sign(C),[rt,at]=FK([v,I],[A,T],S,et);if(m&&([v,I]=j$([rt,at,S],[v,I,m],-et*Math.sign(m))),g){let[Y,ot]=j$([rt,at,S],[A,T,g],et*Math.sign(g));E+=Math.atan2(ot-at,Y-rt)-Math.atan2(T-at,A-rt),A=Y,T=ot}}else{let et=A-v,rt=T-I,at=Math.hypot(et,rt);m&&(v+=et/at*m,I+=rt/at*m),g&&(A-=et/at*g,T-=rt/at*g)}let M=E+C,N=M+x,F=M-x,R=A-O*Math.cos(N),k=T-O*Math.sin(N),$=A-O*Math.cos(F),P=T-O*Math.sin(F),U=S<1e5?`A${S},${S} 0,0,${C>0?1:0} `:"L",W=O?`M${R},${k}L${A},${T}L${$},${P}`:"";return`M${v},${I}${U}${A},${T}${W}`}).call(Qt,this,r)).node()}};function kK(e=1){if(typeof e=="number")return hn(Math.sign(e));if(typeof e=="function")return(t,n,r,i)=>Math.sign(e(t,n,r,i));switch(sn(e,"sweep",["+x","-x","+y","-y"])){case"+x":return(t,n,r)=>zt(t,r);case"-x":return(t,n,r)=>Hn(t,r);case"+y":return(t,n,r,i)=>zt(n,i);case"-y":return(t,n,r,i)=>Hn(n,i)}}function FK([e,t],[n,r],i,o){let s=n-e,a=r-t,c=Math.hypot(s,a),l=o*Math.sqrt(i*i-c*c/4)/c;return[(e+n)/2-a*l,(t+r)/2+s*l]}function j$([e,t,n],[r,i,o],s){let a=r-e,c=i-t,l=Math.hypot(a,c),u=(a*a+c*c-o*o+n*n)/(2*l),f=s*Math.sqrt(n*n-u*u);return[e+(a*u+c*f)/l,t+(c*u-a*f)/l]}function V$(e,{x:t,x1:n,x2:r,y:i,y1:o,y2:s,...a}={}){return[n,r]=sy(t,n,r),[o,s]=sy(i,o,s),new ay(e,{...a,x1:n,x2:r,y1:o,y2:s})}var rd=class extends St{constructor(t,n,r={},i){super(t,n,r,i);let{inset:o=0,insetTop:s=o,insetRight:a=o,insetBottom:c=o,insetLeft:l=o,rx:u,ry:f}=r;this.insetTop=Bt(s),this.insetRight=Bt(a),this.insetBottom=Bt(c),this.insetLeft=Bt(l),this.rx=fe(u,"auto"),this.ry=fe(f,"auto")}render(t,n,r,i,o){let{rx:s,ry:a}=this;return ut("svg:g",o).call(Ct,this,i,o).call(this._transform,this,n).call(c=>c.selectAll().data(t).enter().append("rect").call(Lt,this).attr("x",this._x(n,r,i)).attr("width",this._width(n,r,i)).attr("y",this._y(n,r,i)).attr("height",this._height(n,r,i)).call(ft,"rx",s).call(ft,"ry",a).call(Qt,this,r)).node()}_x(t,{x:n},{marginLeft:r}){let{insetLeft:i}=this;return n?o=>n[o]+i:r+i}_y(t,{y:n},{marginTop:r}){let{insetTop:i}=this;return n?o=>n[o]+i:r+i}_width({x:t},{x:n},{marginRight:r,marginLeft:i,width:o}){let{insetLeft:s,insetRight:a}=this,c=n&&t?t.bandwidth():o-r-i;return Math.max(0,c-s-a)}_height({y:t},{y:n},{marginTop:r,marginBottom:i,height:o}){let{insetTop:s,insetBottom:a}=this,c=n&&t?t.bandwidth():o-r-i;return Math.max(0,c-s-a)}},Y$={ariaLabel:"bar"},cy=class extends rd{constructor(t,n={}){let{x1:r,x2:i,y:o}=n;super(t,{x1:{value:r,scale:"x"},x2:{value:i,scale:"x"},y:{value:o,scale:"y",type:"band",optional:!0}},n,Y$)}_transform(t,n,{x:r}){t.call(Et,n,{x:r},0,0)}_x({x:t},{x1:n,x2:r},{marginLeft:i}){let{insetLeft:o}=this;return lr(t)?i+o:s=>Math.min(n[s],r[s])+o}_width({x:t},{x1:n,x2:r},{marginRight:i,marginLeft:o,width:s}){let{insetLeft:a,insetRight:c}=this;return lr(t)?s-i-o-a-c:l=>Math.max(0,Math.abs(r[l]-n[l])-a-c)}},ly=class extends rd{constructor(t,n={}){let{x:r,y1:i,y2:o}=n;super(t,{y1:{value:i,scale:"y"},y2:{value:o,scale:"y"},x:{value:r,scale:"x",type:"band",optional:!0}},n,Y$)}_transform(t,n,{y:r}){t.call(Et,n,{y:r},0,0)}_y({y:t},{y1:n,y2:r},{marginTop:i}){let{insetTop:o}=this;return lr(t)?i+o:s=>Math.min(n[s],r[s])+o}_height({y:t},{y1:n,y2:r},{marginTop:i,marginBottom:o,height:s}){let{insetTop:a,insetBottom:c}=this;return lr(t)?s-i-o-a-c:l=>Math.max(0,Math.abs(r[l]-n[l])-a-c)}};function zo(e,t={}){return Mf(t)||(t={...t,y:Ee,x2:G}),new cy(e,Kf(Rw(Jf(t))))}function qo(e,t={}){return Mf(t)||(t={...t,x:Ee,y2:G}),new ly(e,td($w(Qf(t))))}var RK={ariaLabel:"cell"},Fl=class extends rd{constructor(t,{x:n,y:r,...i}={}){super(t,{x:{value:n,scale:"x",type:"band",optional:!0},y:{value:r,scale:"y",type:"band",optional:!0}},i,RK)}_transform(t,n){t.call(Et,n,{},0,0)}};function lc(e,{x:t,y:n,...r}={}){return[t,n]=$e(t,n),new Fl(e,{...r,x:t,y:n})}function X$(e,{x:t=Ee,fill:n,stroke:r,...i}={}){return n===void 0&&Be(r)[0]===void 0&&(n=G),new Fl(e,{...i,x:t,fill:n,stroke:r})}function G$(e,{y:t=Ee,fill:n,stroke:r,...i}={}){return n===void 0&&Be(r)[0]===void 0&&(n=G),new Fl(e,{...i,y:t,fill:n,stroke:r})}var $K={ariaLabel:"dot",fill:"none",stroke:"currentColor",strokeWidth:1.5};function uy(e){return e.sort===void 0&&e.reverse===void 0?hw({channel:"-r"},e):e}var Rl=class extends St{constructor(t,n={}){let{x:r,y:i,r:o,rotate:s,symbol:a=Ws,frameAnchor:c}=n,[l,u]=se(s,0),[f,d]=nR(a),[h,p]=se(o,f==null?3:4.5);super(t,{x:{value:r,scale:"x",optional:!0},y:{value:i,scale:"y",optional:!0},r:{value:h,scale:"r",filter:sr,optional:!0},rotate:{value:l,optional:!0},symbol:{value:f,scale:"auto",optional:!0}},uy(n),$K),this.r=p,this.rotate=u,this.symbol=d,this.frameAnchor=ko(c);let{channels:m}=this,{symbol:g}=m;if(g){let{fill:y,stroke:x}=m;g.hint={fill:y?y.value===g.value?"color":"currentColor":this.fill??"currentColor",stroke:x?x.value===g.value?"color":"currentColor":this.stroke??"none"}}}render(t,n,r,i,o){let{x:s,y:a}=n,{x:c,y:l,r:u,rotate:f,symbol:d}=r,{r:h,rotate:p,symbol:m}=this,[g,y]=xn(this,i),x=m===Ws,b=u?void 0:h*h*Math.PI;return Va(h)&&(t=[]),ut("svg:g",o).call(Ct,this,i,o).call(Et,this,{x:c&&s,y:l&&a}).call(w=>w.selectAll().data(t).enter().append(x?"circle":"path").call(Lt,this).call(x?_=>{_.attr("cx",c?v=>c[v]:g).attr("cy",l?v=>l[v]:y).attr("r",u?v=>u[v]:h)}:_=>{_.attr("transform",oc`translate(${c?v=>c[v]:g},${l?v=>l[v]:y})${f?v=>` rotate(${f[v]})`:p?` rotate(${p})`:""}`).attr("d",u&&d?v=>{let I=er();return d[v].draw(I,u[v]*u[v]*Math.PI),I}:u?v=>{let I=er();return m.draw(I,u[v]*u[v]*Math.PI),I}:d?v=>{let I=er();return d[v].draw(I,b),I}:(()=>{let v=er();return m.draw(v,b),v})())}).call(Qt,this,r)).node()}};function yi(e,{x:t,y:n,...r}={}){return r.frameAnchor===void 0&&([t,n]=$e(t,n)),new Rl(e,{...r,x:t,y:n})}function W$(e,{x:t=G,...n}={}){return new Rl(e,Uw({...n,x:t}))}function H$(e,{y:t=G,...n}={}){return new Rl(e,Pw({...n,y:t}))}function Z$(e,t){return yi(e,{...t,symbol:"circle"})}function J$(e,t){return yi(e,{...t,symbol:"hexagon"})}var PK={ariaLabel:"line",fill:"none",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round",strokeMiterlimit:1},$l=class extends St{constructor(t,n={}){let{x:r,y:i,z:o,curve:s,tension:a}=n;super(t,{x:{value:r,scale:"x"},y:{value:i,scale:"y"},z:{value:jn(n),optional:!0}},n,PK),this.z=o,this.curve=sv(s,a),Xi(this,n)}filter(t){return t}project(t,n,r){this.curve!==ac&&super.project(t,n,r)}render(t,n,r,i,o){let{x:s,y:a}=r,{curve:c}=this;return ut("svg:g",o).call(Ct,this,i,o).call(Et,this,n).call(l=>l.selectAll().data(Dw(t,[s,a],this,r)).enter().append("path").call(Lt,this).call(Tl,this,r).call(E7,this,r,o).attr("d",c===ac&&o.projection?UK(o.projection,s,a):ym().curve(c).defined(u=>u>=0).x(u=>s[u]).y(u=>a[u]))).node()}};function UK(e,t,n){let r=En(e);return t=Ke(t),n=Ke(n),i=>{let o=[],s=[o];for(let a of i)a===-1?(o=[],s.push(o)):o.push([t[a],n[a]]);return r({type:"MultiLineString",coordinates:s})}}function Pl(e,{x:t,y:n,...r}={}){return[t,n]=$e(t,n),new $l(e,{...r,x:t,y:n})}function uc(e,{x:t=G,y:n=Ee,...r}={}){return new $l(e,Zf({...r,x:t,y:n}))}function fc(e,{x:t=Ee,y:n=G,...r}={}){return new $l(e,Hf({...r,x:t,y:n}))}var zK={ariaLabel:"rect"},Ul=class extends St{constructor(t,n={}){let{x1:r,y1:i,x2:o,y2:s,inset:a=0,insetTop:c=a,insetRight:l=a,insetBottom:u=a,insetLeft:f=a,rx:d,ry:h}=n;super(t,{x1:{value:r,scale:"x",type:r!=null&&o==null?"band":void 0,optional:!0},y1:{value:i,scale:"y",type:i!=null&&s==null?"band":void 0,optional:!0},x2:{value:o,scale:"x",optional:!0},y2:{value:s,scale:"y",optional:!0}},n,zK),this.insetTop=Bt(c),this.insetRight=Bt(l),this.insetBottom=Bt(u),this.insetLeft=Bt(f),this.rx=fe(d,"auto"),this.ry=fe(h,"auto")}render(t,n,r,i,o){let{x:s,y:a}=n,{x1:c,y1:l,x2:u,y2:f}=r,{marginTop:d,marginRight:h,marginBottom:p,marginLeft:m,width:g,height:y}=i,{projection:x}=o,{insetTop:b,insetRight:w,insetBottom:_,insetLeft:v,rx:I,ry:A}=this,T=(s?.bandwidth?s.bandwidth():0)-v-w,D=(a?.bandwidth?a.bandwidth():0)-b-_;return ut("svg:g",o).call(Ct,this,i,o).call(Et,this,{},0,0).call(E=>E.selectAll().data(t).enter().append("rect").call(Lt,this).attr("x",c&&(x||!lr(s))?u?O=>Math.min(c[O],u[O])+v:O=>c[O]+v:m+v).attr("y",l&&(x||!lr(a))?f?O=>Math.min(l[O],f[O])+b:O=>l[O]+b:d+b).attr("width",c&&(x||!lr(s))?u?O=>Math.max(0,Math.abs(u[O]-c[O])+T):T:g-h-m-w-v).attr("height",l&&(x||!lr(a))?f?O=>Math.max(0,Math.abs(l[O]-f[O])+D):D:y-d-p-b-_).call(ft,"rx",I).call(ft,"ry",A).call(Qt,this,r)).node()}};function fy(e,t){return new Ul(e,$T(PT(t)))}function id(e,t={}){return Mf(t)||(t={...t,y:Ee,x2:G,interval:1}),new Ul(e,Kf(PT(Jf(t))))}function od(e,t={}){return Mf(t)||(t={...t,x:Ee,y2:G,interval:1}),new Ul(e,td($T(Qf(t))))}function o3(e,t){t=qK(t);let{x:n,y:r,color:i,size:o}=t,s=uv(e,n),a=uv(e,r),c=uv(e,i),l=uv(e,o),{fx:u,fy:f,x:{value:d,reduce:h,zero:p,...m},y:{value:g,reduce:y,zero:x,...b},color:{value:w,color:_,reduce:v},size:{value:I,reduce:A},mark:T}=t;if(h===void 0&&(h=y==null&&d==null&&I==null&&g!=null?"count":null),y===void 0&&(y=h==null&&g==null&&I==null&&d!=null?"count":null),A===void 0&&I==null&&v==null&&h==null&&y==null&&(d==null||Ne(s))&&(g==null||Ne(a))&&(A="count"),p===void 0&&(p=fv(h)?!0:void 0),x===void 0&&(x=fv(y)?!0:void 0),d==null&&g==null)throw new Error("must specify x or y");if(h!=null&&g==null)throw new Error("reducing x requires y");if(y!=null&&d==null)throw new Error("reducing y requires x");T===void 0&&(T=I!=null||A!=null?"dot":fv(h)||fv(y)||v!=null?"bar":d!=null&&g!=null?Ne(s)||Ne(a)||h==null&&y==null&&!dy(s)&&!dy(a)?"dot":"line":d!=null||g!=null?"rule":null);let D,E,O;switch(T){case"dot":O=yi,E="stroke";break;case"line":O=s&&a||h!=null||y!=null?x||y!=null||s&&dy(s)?fc:p||h!=null||a&&dy(a)?uc:Pl:s?uc:fc,E="stroke",K$(c)&&(D=null);break;case"area":O=!(x||y!=null)&&(p||h!=null||a&&dy(a))?cc:aa,E="fill",K$(c)&&(D=null);break;case"rule":O=s?Yr:Xr,E="stroke";break;case"bar":O=h!=null?Ne(a)?Q$(h)&&s&&Ne(s)?lc:zo:id:y!=null?Ne(s)?Q$(y)&&a&&Ne(a)?lc:qo:od:v!=null||A!=null?s&&Ne(s)&&a&&Ne(a)?lc:s&&Ne(s)?qo:a&&Ne(a)?zo:fy:s&&Ks(s)&&!(a&&Ks(a))?zo:a&&Ks(a)&&!(s&&Ks(s))?qo:lc,E="fill";break;default:throw new Error(`invalid mark: ${T}`)}let C={fx:u,fy:f,x:s??void 0,y:a??void 0,[E]:c??_,z:D,r:l??void 0,tip:!0},S,M={[E]:v??void 0,r:A??void 0};if(h!=null&&y!=null)throw new Error("cannot reduce both x and y");return y!=null?(M.y=y,S=Ne(s)?tc:Po):h!=null?(M.x=h,S=Ne(a)?ec:Uo):(v!=null||A!=null)&&(s&&a?S=Ne(s)&&Ne(a)?Um:Ne(s)?Uo:Ne(a)?Po:sa:s?S=Ne(s)?tc:Po:a&&(S=Ne(a)?ec:Uo)),(S===sa||S===Po)&&(C.x={value:s,...m}),(S===sa||S===Uo)&&(C.y={value:a,...b}),p===void 0&&(p=s&&!(S===sa||S===Po)&&(O===zo||O===cc||O===id||O===Xr)),x===void 0&&(x=a&&!(S===sa||S===Uo)&&(O===qo||O===aa||O===od||O===Yr)),{fx:u??null,fy:f??null,x:{value:d??null,reduce:h??null,zero:!!p,...m},y:{value:g??null,reduce:y??null,zero:!!x,...b},color:{value:w??null,reduce:v??null,..._!==void 0&&{color:_}},size:{value:I??null,reduce:A??null},mark:T,markImpl:t9[O],markOptions:C,transformImpl:t9[S],transformOptions:M,colorMode:E}}function e9(e,t){let n=o3(e,t),{fx:r,fy:i,x:{zero:o},y:{zero:s},markOptions:a,transformOptions:c,colorMode:l}=n,u=i3[n.markImpl],f=i3[n.transformImpl],d=r!=null||i!=null?Wf({strokeOpacity:.1}):null,h=[o?Yr([0]):null,s?Xr([0]):null],p=u(e,f?f(c,a):a);return l==="stroke"?tn(d,h,p):tn(d,p,h)}function dy(e){let t,n;for(let r of e){if(r==null)continue;if(t===void 0){t=r;continue}let i=Math.sign(zt(t,r));if(i){if(n!==void 0&&i!==n)return!1;t=r,n=i}}return!0}function qK({x:e,y:t,color:n,size:r,fx:i,fy:o,mark:s}={}){return jr(e)||(e=sd(e)),jr(t)||(t=sd(t)),jr(n)||(n=Qa(n)?{color:n}:sd(n)),jr(r)||(r=sd(r)),jr(i)&&({value:i}=sd(i)),jr(o)&&({value:o}=sd(o)),s!=null&&(s=`${s}`.toLowerCase()),{x:e,y:t,color:n,size:r,fx:i,fy:o,mark:s}}function uv(e,t){let n=wt(e,t.value);return n&&(n.label=On(t.value)),n}function sd(e){return jK(e)?{reduce:e}:{value:e}}function fv(e){return/^(?:distinct|count|sum|proportion)$/i.test(e)}function Q$(e){return/^(?:first|last|mode)$/i.test(e)}function jK(e){if(e==null)return!1;if(typeof e.reduceIndex=="function"||typeof e.reduce=="function"&&pn(e)||/^p\d{2}$/i.test(e))return!0;switch(`${e}`.toLowerCase()){case"first":case"last":case"count":case"distinct":case"sum":case"proportion":case"proportion-facet":case"deviation":case"min":case"min-index":case"max":case"max-index":case"mean":case"median":case"variance":case"mode":return!0}return!1}function K$(e){return e?new Jn(e).size>e.length>>1:!1}var i3={dot:yi,line:Pl,lineX:uc,lineY:fc,areaX:cc,areaY:aa,ruleX:Yr,ruleY:Xr,barX:zo,barY:qo,rect:fy,rectX:id,rectY:od,cell:lc,bin:sa,binX:Po,binY:Uo,group:Um,groupX:tc,groupY:ec},t9=Object.fromEntries(Object.entries(i3).map(([e,t])=>[t,e]));function ad(e,t={}){let{x:n,x1:r,x2:i}=t;n===void 0&&r===void 0&&i===void 0&&(t={...t,x:n=G});let o={};return n!=null&&(o.x=e),r!=null&&(o.x1=e),i!=null&&(o.x2=e),vr(o,t)}function cd(e,t={}){let{y:n,y1:r,y2:i}=t;n===void 0&&r===void 0&&i===void 0&&(t={...t,y:n=G});let o={};return n!=null&&(o.y=e),r!=null&&(o.y1=e),i!=null&&(o.y2=e),vr(o,t)}function vr(e={},t={}){let n=jn(t),r=Object.entries(e).map(([i,o])=>{let s=aw(i,t);if(s==null)throw new Error(`missing channel: ${i}`);let[a,c]=mn(s);return{key:i,input:s,output:a,setOutput:c,map:VK(o)}});return{...yn(t,(i,o)=>{let s=wt(i,n),a=r.map(({input:l})=>wt(i,l)),c=r.map(({setOutput:l})=>l(new Array(i.length)));for(let l of o)for(let u of s?cn(l,f=>s[f]).values():[l])r.forEach(({map:f},d)=>f.mapIndex(u,a[d],c[d]));return{data:i,facets:o}}),...Object.fromEntries(r.map(({key:i,output:o})=>[i,o]))}}function VK(e){if(e==null)throw new Error("missing map");if(typeof e.mapIndex=="function")return e;if(typeof e.map=="function"&&pn(e))return YK(e);if(typeof e=="function")return s3(Af(e));switch(`${e}`.toLowerCase()){case"cumsum":return GK;case"rank":return s3((t,n)=>rp(t,r=>n[r]));case"quantile":return s3((t,n)=>XK(t,r=>n[r]))}throw new Error(`invalid map: ${e}`)}function YK(e){return console.warn("deprecated map interface; implement mapIndex instead."),{mapIndex:e.map.bind(e)}}function XK(e,t){let n=uo(e,t)-1;return rp(e,t).map(r=>r/n)}function s3(e){return{mapIndex(t,n,r){let i=e(t,n);if(i.length!==t.length)throw new Error("map function returned a mismatched length");for(let o=0,s=t.length;o<s;++o)r[t[o]]=i[o]}}}var GK={mapIndex(e,t,n){let r=0;for(let i of e)n[i]=r+=t[i]}};function n9(e={},t){return arguments.length===1&&(t=e),ad(ld(e),t)}function r9(e={},t){return arguments.length===1&&(t=e),cd(ld(e),t)}function ld(e={}){typeof e=="number"&&(e={k:e});let{k:t,reduce:n,shift:r,anchor:i,strict:o}=e;if(i===void 0&&r!==void 0&&(i=HK(r),Vn(`Warning: the shift option is deprecated; please use anchor "${i}" instead.`)),!((t=Math.floor(t))>0))throw new Error(`invalid k: ${t}`);return ZK(n)(t,WK(i,t),o)}function WK(e="middle",t){switch(`${e}`.toLowerCase()){case"middle":return t-1>>1;case"start":return 0;case"end":return t-1}throw new Error(`invalid anchor: ${e}`)}function HK(e){switch(`${e}`.toLowerCase()){case"centered":return"middle";case"leading":return"start";case"trailing":return"end"}throw new Error(`invalid shift: ${e}`)}function ZK(e="mean"){if(typeof e=="string"){if(/^p\d{2}$/i.test(e))return dv(If(e));switch(e.toLowerCase()){case"deviation":return dv(ii);case"max":return hv((t,n)=>Ht(t,r=>n[r]));case"mean":return JK;case"median":return dv(Pi);case"min":return hv((t,n)=>ue(t,r=>n[r]));case"mode":return hv((t,n)=>Bu(t,r=>n[r]));case"sum":return i9;case"variance":return dv(Ea);case"difference":return ttt;case"ratio":return ett;case"first":return ntt;case"last":return rtt}}if(typeof e!="function")throw new Error(`invalid reduce: ${e}`);return hv(Af(e))}function dv(e){return(t,n,r)=>r?{mapIndex(i,o,s){let a=l=>o[l]==null?NaN:+o[l],c=0;for(let l=0;l<t-1;++l)isNaN(a(l))&&++c;for(let l=0,u=i.length-t+1;l<u;++l)isNaN(a(l+t-1))&&++c,s[i[l+n]]=c===0?e(Js(i,l,l+t),a):NaN,isNaN(a(l))&&--c}}:{mapIndex(i,o,s){let a=c=>o[c]==null?NaN:+o[c];for(let c=-n;c<0;++c)s[i[c+n]]=e(Js(i,0,c+t),a);for(let c=0,l=i.length-n;c<l;++c)s[i[c+n]]=e(Js(i,c,c+t),a)}}}function hv(e){return(t,n,r)=>r?{mapIndex(i,o,s){let a=0;for(let c=0;c<t-1;++c)a+=ze(o[i[c]]);for(let c=0,l=i.length-t+1;c<l;++c)a+=ze(o[i[c+t-1]]),a===t&&(s[i[c+n]]=e(Js(i,c,c+t),o)),a-=ze(o[i[c]])}}:{mapIndex(i,o,s){for(let a=-n;a<0;++a)s[i[a+n]]=e(Js(i,0,a+t),o);for(let a=0,c=i.length-n;a<c;++a)s[i[a+n]]=e(Js(i,a,a+t),o)}}}function i9(e,t,n){return n?{mapIndex(r,i,o){let s=0,a=0;for(let c=0;c<e-1;++c){let l=i[r[c]];l===null||isNaN(l)?++s:a+=+l}for(let c=0,l=r.length-e+1;c<l;++c){let u=i[r[c]],f=i[r[c+e-1]];f===null||isNaN(f)?++s:a+=+f,o[r[c+t]]=s===0?a:NaN,u===null||isNaN(u)?--s:a-=+u}}}:{mapIndex(r,i,o){let s=0,a=r.length;for(let c=0,l=Math.min(a,e-t-1);c<l;++c)s+=+i[r[c]]||0;for(let c=-t,l=a-t;c<l;++c)s+=+i[r[c+e-1]]||0,o[r[c+t]]=s,s-=+i[r[c]]||0}}}function JK(e,t,n){if(n){let r=i9(e,t,n);return{mapIndex(i,o,s){r.mapIndex(i,o,s);for(let a=0,c=i.length-e+1;a<c;++a)s[i[a+t]]/=e}}}else return{mapIndex(r,i,o){let s=0,a=0,c=r.length;for(let l=0,u=Math.min(c,e-t-1);l<u;++l){let f=i[r[l]];f!==null&&!isNaN(f=+f)&&(s+=f,++a)}for(let l=-t,u=c-t;l<u;++l){let f=i[r[l+e-1]],d=i[r[l]];f!==null&&!isNaN(f=+f)&&(s+=f,++a),o[r[l+t]]=s/a,d!==null&&!isNaN(d=+d)&&(s-=d,--a)}}}}function QK(e,t,n,r){for(let i=n+r;n<i;++n){let o=e[t[n]];if(ze(o))return o}}function KK(e,t,n,r){for(let i=n+r-1;i>=n;--i){let o=e[t[i]];if(ze(o))return o}}function o9(e,t,n,r){for(let i=n+r;n<i;++n){let o=e[t[n]];if(o!==null&&!isNaN(o=+o))return o}}function s9(e,t,n,r){for(let i=n+r-1;i>=n;--i){let o=e[t[i]];if(o!==null&&!isNaN(o=+o))return o}}function ttt(e,t,n){return n?{mapIndex(r,i,o){for(let s=0,a=r.length-e;s<a;++s){let c=i[r[s]],l=i[r[s+e-1]];o[r[s+t]]=c===null||l===null?NaN:l-c}}}:{mapIndex(r,i,o){for(let s=-t,a=r.length-e+t+1;s<a;++s)o[r[s+t]]=s9(i,r,s,e)-o9(i,r,s,e)}}}function ett(e,t,n){return n?{mapIndex(r,i,o){for(let s=0,a=r.length-e;s<a;++s){let c=i[r[s]],l=i[r[s+e-1]];o[r[s+t]]=c===null||l===null?NaN:l/c}}}:{mapIndex(r,i,o){for(let s=-t,a=r.length-e+t+1;s<a;++s)o[r[s+t]]=s9(i,r,s,e)/o9(i,r,s,e)}}}function ntt(e,t,n){return n?{mapIndex(r,i,o){for(let s=0,a=r.length-e;s<a;++s)o[r[s+t]]=i[r[s]]}}:{mapIndex(r,i,o){for(let s=-t,a=r.length-e+t+1;s<a;++s)o[r[s+t]]=QK(i,r,s,e)}}}function rtt(e,t,n){return n?{mapIndex(r,i,o){for(let s=0,a=r.length-e;s<a;++s)o[r[s+t]]=i[r[s+e-1]]}}:{mapIndex(r,i,o){for(let s=-t,a=r.length-e+t+1;s<a;++s)o[r[s+t]]=KK(i,r,s,e)}}}var ca={n:20,k:2,color:"currentColor",opacity:.2,strict:!0,anchor:"end"};function a9(e,{x:t=G,y:n,k:r=ca.k,color:i=ca.color,opacity:o=ca.opacity,fill:s=i,fillOpacity:a=o,stroke:c=i,strokeOpacity:l,strokeWidth:u,...f}={}){return tn(re(s)?null:cc(e,vr({x1:dc({k:-r,...f}),x2:dc({k:r,...f})},{x1:t,x2:t,y:n,fill:s,fillOpacity:a,...f})),re(c)?null:uc(e,vr({x:dc(f)},{x:t,y:n,stroke:c,strokeOpacity:l,strokeWidth:u,...f})))}function c9(e,{x:t,y:n=G,k:r=ca.k,color:i=ca.color,opacity:o=ca.opacity,fill:s=i,fillOpacity:a=o,stroke:c=i,strokeOpacity:l,strokeWidth:u,...f}={}){return tn(re(s)?null:aa(e,vr({y1:dc({k:-r,...f}),y2:dc({k:r,...f})},{x:t,y1:n,y2:n,fill:s,fillOpacity:a,...f})),re(c)?null:fc(e,vr({y:dc(f)},{x:t,y:n,stroke:c,strokeOpacity:l,strokeWidth:u,...f})))}function dc({n:e=ca.n,k:t=0,strict:n=ca.strict,anchor:r=ca.anchor}={}){return ld({k:e,reduce:i=>Ds(i)+t*(ii(i)||0),strict:n,anchor:r})}var itt={ariaLabel:"tick",fill:null,stroke:"currentColor"},pv=class extends St{constructor(t,n,r){super(t,n,r,itt),Xi(this,r)}render(t,n,r,i,o){return ut("svg:g",o).call(Ct,this,i,o).call(this._transform,this,n).call(s=>s.selectAll().data(t).enter().append("line").call(Lt,this).attr("x1",this._x1(n,r,i)).attr("x2",this._x2(n,r,i)).attr("y1",this._y1(n,r,i)).attr("y2",this._y2(n,r,i)).call(Qt,this,r).call(oa,this,r,o)).node()}},hy=class extends pv{constructor(t,n={}){let{x:r,y:i,inset:o=0,insetTop:s=o,insetBottom:a=o}=n;super(t,{x:{value:r,scale:"x"},y:{value:i,scale:"y",type:"band",optional:!0}},n),this.insetTop=Bt(s),this.insetBottom=Bt(a)}_transform(t,n,{x:r}){t.call(Et,n,{x:r},Ce,0)}_x1(t,{x:n}){return r=>n[r]}_x2(t,{x:n}){return r=>n[r]}_y1({y:t},{y:n},{marginTop:r}){let{insetTop:i}=this;return n&&t?o=>n[o]+i:r+i}_y2({y:t},{y:n},{height:r,marginBottom:i}){let{insetBottom:o}=this;return n&&t?s=>n[s]+t.bandwidth()-o:r-i-o}},py=class extends pv{constructor(t,n={}){let{x:r,y:i,inset:o=0,insetRight:s=o,insetLeft:a=o}=n;super(t,{y:{value:i,scale:"y"},x:{value:r,scale:"x",type:"band",optional:!0}},n),this.insetRight=Bt(s),this.insetLeft=Bt(a)}_transform(t,n,{y:r}){t.call(Et,n,{y:r},0,Ce)}_x1({x:t},{x:n},{marginLeft:r}){let{insetLeft:i}=this;return n&&t?o=>n[o]+i:r+i}_x2({x:t},{x:n},{width:r,marginRight:i}){let{insetRight:o}=this;return n&&t?s=>n[s]+t.bandwidth()-o:r-i-o}_y1(t,{y:n}){return r=>n[r]}_y2(t,{y:n}){return r=>n[r]}};function mv(e,{x:t=G,...n}={}){return new hy(e,{...n,x:t})}function yv(e,{y:t=G,...n}={}){return new py(e,{...n,y:t})}function l9(e,{x:t=G,y:n=null,fill:r="#ccc",fillOpacity:i,stroke:o="currentColor",strokeOpacity:s,strokeWidth:a=2,sort:c,...l}={}){let u=n!=null?ec:Pm;return tn(Xr(e,u({x1:a3,x2:c3},{x:t,y:n,stroke:o,strokeOpacity:s,...l})),zo(e,u({x1:"p25",x2:"p75"},{x:t,y:n,fill:r,fillOpacity:i,...l})),mv(e,u({x:"p50"},{x:t,y:n,stroke:o,strokeOpacity:s,strokeWidth:a,sort:c,...l})),yi(e,vr({x:f9},{x:t,y:n,z:n,stroke:o,strokeOpacity:s,...l})))}function u9(e,{y:t=G,x:n=null,fill:r="#ccc",fillOpacity:i,stroke:o="currentColor",strokeOpacity:s,strokeWidth:a=2,sort:c,...l}={}){let u=n!=null?tc:Pm;return tn(Yr(e,u({y1:a3,y2:c3},{x:n,y:t,stroke:o,strokeOpacity:s,...l})),qo(e,u({y1:"p25",y2:"p75"},{x:n,y:t,fill:r,fillOpacity:i,...l})),yv(e,u({y:"p50"},{x:n,y:t,stroke:o,strokeOpacity:s,strokeWidth:a,sort:c,...l})),yi(e,vr({y:f9},{x:n,y:t,z:n,stroke:o,strokeOpacity:s,...l})))}function f9(e){let t=a3(e),n=c3(e);return e.map(r=>r<t||r>n?r:NaN)}function a3(e){let t=d9(e)*2.5-h9(e)*1.5;return ue(e,n=>n>=t?n:NaN)}function c3(e){let t=h9(e)*2.5-d9(e)*1.5;return Ht(e,n=>n<=t?n:NaN)}function d9(e){return Qn(e,.25)}function h9(e){return Qn(e,.75)}var ott={ariaLabel:"raster",stroke:null,pixelSize:1};function ud(e,t){let n=+e;if(isNaN(n))throw new Error(`invalid ${t}: ${e}`);return n}function p9(e,t){let n=Math.floor(e);if(isNaN(n))throw new Error(`invalid ${t}: ${e}`);return n}var yy=class extends St{constructor(t,n,r={},i){let{width:o,height:s,x:a,y:c,x1:l=a==null?0:void 0,y1:u=c==null?0:void 0,x2:f=a==null?o:void 0,y2:d=c==null?s:void 0,pixelSize:h=i.pixelSize,blur:p=0,interpolate:m}=r;if(o!=null&&(o=p9(o,"width")),s!=null&&(s=p9(s,"height")),l!=null&&(l=ud(l,"x1")),u!=null&&(u=ud(u,"y1")),f!=null&&(f=ud(f,"x2")),d!=null&&(d=ud(d,"y2")),a==null&&(l==null||f==null))throw new Error("missing x");if(c==null&&(u==null||d==null))throw new Error("missing y");t!=null&&o!=null&&s!=null&&(a===void 0&&l!=null&&f!=null&&(a=htt(l,f,o,s)),c===void 0&&u!=null&&d!=null&&(c=ptt(u,d,o,s))),super(t,{x:{value:a,scale:"x",optional:!0},y:{value:c,scale:"y",optional:!0},x1:{value:l==null?null:[l],scale:"x",optional:!0,filter:null},y1:{value:u==null?null:[u],scale:"y",optional:!0,filter:null},x2:{value:f==null?null:[f],scale:"x",optional:!0,filter:null},y2:{value:d==null?null:[d],scale:"y",optional:!0,filter:null},...n},r,i),this.width=o,this.height=s,this.pixelSize=ud(h,"pixelSize"),this.blur=ud(p,"blur"),this.interpolate=a==null||c==null?null:stt(m)}},gy=class extends yy{constructor(t,n={}){let{imageRendering:r}=n;if(t==null){let{fill:i,fillOpacity:o}=n;se(o)[0]!==void 0&&(n=gv("fillOpacity",n)),Be(i)[0]!==void 0&&(n=gv("fill",n))}super(t,void 0,n,ott),this.imageRendering=fe(r,"auto")}scale(t,{color:n,...r},i){return super.scale(t,r,i)}render(t,n,r,i,o){let s=n[r.channels.fill?.scale]??(M=>M),{x:a,y:c}=r,{document:l}=o,[u,f,d,h]=y9(r,i,o),p=d-u,m=h-f,{pixelSize:g,width:y=Math.round(Math.abs(p)/g),height:x=Math.round(Math.abs(m)/g)}=this,b=y*x,{fill:w,fillOpacity:_}=r,v=0;if(this.interpolate){let M=y/p,N=x/m,F=Gt(a,k=>(k-u)*M,Float64Array),R=Gt(c,k=>(k-f)*N,Float64Array);w&&(w=this.interpolate(t,y,x,F,R,w)),_&&(_=this.interpolate(t,y,x,F,R,_))}else this.data==null&&t&&(v=t.fi*b);let I=l.createElement("canvas");I.width=y,I.height=x;let A=I.getContext("2d"),T=A.createImageData(y,x),D=T.data,{r:E,g:O,b:C}=rn(this.fill)??{r:0,g:0,b:0},S=(this.fillOpacity??1)*255;for(let M=0;M<b;++M){let N=M<<2;if(w){let F=s(w[M+v]);if(F==null){D[N+3]=0;continue}({r:E,g:O,b:C}=rn(F))}_&&(S=_[M+v]*255),D[N+0]=E,D[N+1]=O,D[N+2]=C,D[N+3]=S}return this.blur>0&&$S(T,this.blur),A.putImageData(T,0,0),ut("svg:g",o).call(Ct,this,i,o).call(Et,this,n).call(M=>M.append("image").attr("transform",`translate(${u},${f}) scale(${Math.sign(d-u)},${Math.sign(h-f)})`).attr("width",Math.abs(p)).attr("height",Math.abs(m)).attr("preserveAspectRatio","none").call(ft,"image-rendering",this.imageRendering).call(Lt,this).attr("xlink:href",I.toDataURL())).node()}};function l3(e,t,n){arguments.length<3&&(n=t,t=null);let{x:r,y:i,[e]:o,...s}=n;return r===void 0&&i===void 0&&XF(t)&&(r=_l,i=Ha,o===void 0&&(o=zF)),[t,{...s,x:r,y:i,[e]:o}]}function m9(){let[e,t]=l3("fill",...arguments);return new gy(e,e==null||t.fill!==void 0||t.fillOpacity!==void 0?t:{...t,fill:G})}function y9({x1:e,y1:t,x2:n,y2:r},i,{projection:o}){let{width:s,height:a,marginTop:c,marginRight:l,marginBottom:u,marginLeft:f}=i;return[e&&o==null?e[0]:f,t&&o==null?t[0]:c,n&&o==null?n[0]:s-l,r&&o==null?r[0]:a-u]}function u3({x1:e,y1:t,x2:n,y2:r},i,o,s){let a={};return e&&(a.x1=e),t&&(a.y1=t),n&&(a.x2=n),r&&(a.y2=r),y9(Lf(a,i),o,s)}function gv(e,t={}){let{[e]:n}=t;if(typeof n!="function")throw new Error(`invalid ${e}: not a function`);return Ie({...t,[e]:void 0},function(r,i,o,s,a,c){let{x:l,y:u}=s;if(!l)throw new Error("missing scale: x");if(!u)throw new Error("missing scale: y");let[f,d,h,p]=u3(o,s,a,c),m=h-f,g=p-d,{pixelSize:y}=this,{width:x=Math.round(Math.abs(m)/y),height:b=Math.round(Math.abs(g)/y)}=t,w=new Array(x*b*(i?i.length:1)),_=m/x,v=g/b,I=0;for(let A of i??[void 0])for(let T=.5;T<b;++T)for(let D=.5;D<x;++D,++I)w[I]=n(l.invert(f+D*_),u.invert(d+T*v),A);return{data:w,facets:i,channels:{[e]:{value:w,scale:"auto"}}}})}function stt(e){if(typeof e=="function")return e;if(e==null)return xv;switch(`${e}`.toLowerCase()){case"none":return xv;case"nearest":return d3;case"barycentric":return f3();case"random-walk":return h3()}throw new Error(`invalid interpolate: ${e}`)}function xv(e,t,n,r,i,o){let s=new Array(t*n);for(let a of e)r[a]<0||r[a]>=t||i[a]<0||i[a]>=n||(s[Math.floor(i[a])*t+Math.floor(r[a])]=o[a]);return s}function f3({random:e=Io(42)}={}){return(t,n,r,i,o,s)=>{let{points:a,triangles:c,hull:l}=Pn.from(t,h=>i[h],h=>o[h]),u=new s.constructor(n*r).fill(NaN),f=new Uint8Array(n*r),d=dtt(s,e);for(let h=0;h<c.length;h+=3){let p=c[h],m=c[h+1],g=c[h+2],y=a[2*p],x=a[2*m],b=a[2*g],w=a[2*p+1],_=a[2*m+1],v=a[2*g+1],I=Math.min(y,x,b),A=Math.max(y,x,b),T=Math.min(w,_,v),D=Math.max(w,_,v),E=(_-v)*(y-b)+(w-v)*(b-x);if(!E)continue;let O=s[t[p]],C=s[t[m]],S=s[t[g]];for(let M=Math.floor(I);M<A;++M)for(let N=Math.floor(T);N<D;++N){if(M<0||M>=n||N<0||N>=r)continue;let F=M+.5,R=N+.5,k=((_-v)*(F-b)+(R-v)*(b-x))/E;if(k<0)continue;let $=((v-w)*(F-b)+(R-v)*(y-b))/E;if($<0)continue;let P=1-k-$;if(P<0)continue;let U=M+n*N;u[U]=d(O,k,C,$,S,P,M,N),f[U]=1}}return att(u,f,i,o,s,n,r,l,t,d),u}}function att(e,t,n,r,i,o,s,a,c,l){n=Float64Array.from(a,h=>n[c[h]]),r=Float64Array.from(a,h=>r[c[h]]),i=Array.from(a,h=>i[c[h]]);let u=n.length,f=Array.from({length:u},(h,p)=>ltt(p,n,r)),d=0;for(let h=0;h<s;++h){let p=h+.5;for(let m=0;m<o;++m){let g=m+o*h;if(!t[g]){let y=m+.5;for(let x=0;x<u;++x){let b=(u+d+(x%2?(x+1)/2:-x/2))%u;if(f[b](y,p)){let w=ctt(n.at(b-1),r.at(b-1),n[b],r[b],y,p);e[g]=l(i.at(b-1),w,i[b],1-w,i[b],0,m,h),d=b;break}}}}}}function ctt(e,t,n,r,i,o){let s=n-e,a=r-t,c=s*(n-i)+a*(r-o),l=s*(i-e)+a*(o-t);return c>0&&l>0?c/(c+l):+(c>l)}function my(e,t,n,r){return e*r-n*t}function ltt(e,t,n){let r=t.length,i=t.at(e-2),o=n.at(e-2),s=t.at(e-1),a=n.at(e-1),c=t[e],l=n[e],u=t.at(e+1-r),f=n.at(e+1-r),d=s-c,h=a-l,p=i-s,m=o-a,g=c-u,y=l-f,x=Math.hypot(d,h),b=Math.hypot(p,m),w=Math.hypot(g,y);return(_,v)=>{let I=_-s,A=v-a,T=_-c,D=v-l;return my(I,A,T,D)>-1e-6&&my(I,A,d,h)*b-my(I,A,p,m)*x>-1e-6&&my(T,D,g,y)*x-my(T,D,d,h)*w<=0}}function d3(e,t,n,r,i,o){let s=new o.constructor(t*n),a=Pn.from(e,u=>r[u],u=>i[u]),c,l;for(let u=.5,f=0;u<n;++u){l=c;for(let d=.5;d<t;++d,++f)l=a.find(d,u,l),d===.5&&(c=l),s[f]=o[e[l]]}return s}function h3({random:e=Io(42),minDistance:t=.5,maxSteps:n=2}={}){return(r,i,o,s,a,c)=>{let l=new c.constructor(i*o),u=Pn.from(r,p=>s[p],p=>a[p]),f,d,h;for(let p=.5,m=0;p<o;++p){d=f;for(let g=.5;g<i;++g,++m){let y=g,x=p;h=d=u.find(y,x,d),g===.5&&(f=d);let b,w=0;for(;(b=Math.hypot(s[r[h]]-y,a[r[h]]-x))>t&&w<n;){let _=e(g,p,w)*2*Math.PI;y+=Math.cos(_)*b,x+=Math.sin(_)*b,h=u.find(y,x,h),++w}l[m]=c[r[h]]}}return l}}function utt(e,t,n,r,i,o){return t*e+r*n+o*i}function ftt(e){return(t,n,r,i,o,s,a,c)=>{let l=e(a,c);return l<n?t:l<n+i?r:o}}function dtt(e,t){return Ks(e)||Le(e)?utt:ftt(t)}function htt(e,t,n){return{transform(r){let i=r.length,o=new Float64Array(i),s=(t-e)/n,a=e+s/2;for(let c=0;c<i;++c)o[c]=c%n*s+a;return o}}}function ptt(e,t,n,r){return{transform(i){let o=i.length,s=new Float64Array(o),a=(t-e)/r,c=e+a/2;for(let l=0;l<o;++l)s[l]=Math.floor(l/n)%r*a+c;return s}}}var g9={ariaLabel:"contour",fill:"none",stroke:"currentColor",strokeMiterlimit:1,pixelSize:2},xy=class extends yy{constructor(t,{smooth:n=!0,value:r,...i}={}){let o=Nw({},i,g9);if(r===void 0){for(let a in o)if(o[a].value!=null){if(r!==void 0)throw new Error("ambiguous contour value");r=i[a],i[a]="value"}}if(r!=null){let a={transform:c=>c.map(l=>l.value),label:On(r)};for(let c in o)i[c]==="value"&&(i[c]=a)}if(t==null){if(r==null)throw new Error("missing contour value");i=gv("value",{value:r,...i}),r=null}else{let{interpolate:a}=i;r===void 0&&(r=G),a===void 0&&(i.interpolate="nearest")}super(t,{value:{value:r,optional:!0}},mtt(i),g9);let s={geometry:{value:G}};for(let a in this.channels){let c=this.channels[a],{scale:l}=c;l==="x"||l==="y"||a==="value"||(s[a]=c,delete this.channels[a])}this.contourChannels=s,this.smooth=!!n}filter(t,{x:n,y:r,value:i,...o},s){return super.filter(t,o,s)}render(t,n,r,i,o){let{geometry:s}=r,a=En();return ut("svg:g",o).call(Ct,this,i,o).call(Et,this,n).call(c=>{c.selectAll().data(t).enter().append("path").call(Lt,this).attr("d",l=>a(s[l])).call(Qt,this,r)}).node()}};function mtt({thresholds:e,interval:t,...n}){return e=t3(e,t,Na),Ie(n,function(r,i,o,s,a,c){let[l,u,f,d]=u3(o,s,a,c),h=f-l,p=d-u,{pixelSize:m,width:g=Math.round(Math.abs(h)/m),height:y=Math.round(Math.abs(p)/m)}=this,x=g/h,b=y/p,w=o.value.value,_=[];if(this.interpolate){let{x:D,y:E}=rc(o,s,c),O=Gt(D,N=>(N-l)*x,Float64Array),C=Gt(E,N=>(N-u)*b,Float64Array),S=[o.x,o.y,o.value],M=[O,C,w];for(let N of i){let F=this.filter(N,S,M);_.push(this.interpolate(F,g,y,O,C,w))}}else if(i){let D=g*y,E=i.length;for(let O=0;O<E;++O)_.push(w.slice(O*D,O*D+D))}else _.push(w);if(this.blur>0)for(let D of _)Qh({data:D,width:g,height:y},this.blur);let v=ytt(e,w,...gtt(_));if(v===null)throw new Error(`unsupported thresholds: ${e}`);let{contour:I}=Fa().size([g,y]).smooth(this.smooth),A=[],T=[];for(let D of _)T.push(Ue(A.length,A.push(...Gt(v,E=>I(D,E)))));for(let{coordinates:D}of A)for(let E of D)for(let O of E)for(let C of O)C[0]=C[0]/x+l,C[1]=C[1]/b+u;return{data:A,facets:T,channels:bw(this.contourChannels,A)}})}function ytt(e,t,n,r){if(typeof e?.range=="function")return e.range(e.floor(n),r);if(typeof e=="function"&&(e=e(t,n,r)),typeof e!="number")return je(e);let i=Mn(...Du(n,r,e),e);for(;i[i.length-1]>=r;)i.pop();for(;i[1]<n;)i.shift();return i}function b9(){return new xy(...l3("value",...arguments))}function gtt(e){return[ue(e,t=>ue(t,x9)),Ht(e,t=>Ht(t,x9))]}function x9(e){return isFinite(e)?e:NaN}function _9(e,t){return p3(jf,e,t)}function S9(e,t={}){return p3(Vf,e,t)}function I9(e,t={}){return p3(El,e,t)}function p3(e,t,n={}){let{x:r,y:i,maxRadius:o}=n,s=e({px:r,py:i,maxRadius:o}),a=[];r!=null&&a.push(Yr(t,w9("x",{...s,inset:-6},n))),i!=null&&a.push(Xr(t,w9("y",{...s,inset:-6},n))),r!=null&&a.push($o(t,v9("x",{...s,dy:9,frameAnchor:"bottom",lineAnchor:"top"},n))),i!=null&&a.push($o(t,v9("y",{...s,dx:-9,frameAnchor:"left",textAnchor:"end"},n)));for(let c of a)c.ariaLabel=`crosshair ${c.ariaLabel}`;return tn(...a)}function M9(e,{channels:t,...n},{facet:r,facetAnchor:i,fx:o,fy:s,[e]:a,channels:c,transform:l,initializer:u}){return{...n,facet:r,facetAnchor:i,fx:o,fy:s,[e]:a,channels:{...t,...c},transform:l,initializer:xtt(e,u)}}function xtt(e,t){return t==null?t:function(n,r,{x:i,y:o,px:s,py:a,...c},...l){let{channels:{x:u,y:f,...d}={},...h}=t.call(this,n,r,{...c,x:s,y:a},...l);return{channels:{...d,...u&&{px:u,...e==="x"&&{x:u}},...f&&{py:f,...e==="y"&&{y:f}}},...h}}}function w9(e,t,n){let{color:r="currentColor",opacity:i=.2,ruleStroke:o=r,ruleStrokeOpacity:s=i,ruleStrokeWidth:a}=n;return{...M9(e,t,n),stroke:o,strokeOpacity:s,strokeWidth:a}}function v9(e,t,n){let{color:r="currentColor",textFill:i=r,textFillOpacity:o,textStroke:s="var(--plot-background)",textStrokeOpacity:a,textStrokeWidth:c=5}=n;return{...M9(e,t,btt(e,n)),fill:i,fillOpacity:o,stroke:s,strokeOpacity:a,strokeWidth:c}}function btt(e,t){return Ie(t,(n,r,i)=>({channels:{text:{value:qm(i,e)?.value}}}))}var wtt={ariaLabel:"delaunay link",fill:"none",stroke:"currentColor",strokeMiterlimit:1},vtt={ariaLabel:"delaunay mesh",fill:null,stroke:"currentColor",strokeOpacity:.2},_tt={ariaLabel:"hull",fill:"none",stroke:"currentColor",strokeWidth:1.5,strokeMiterlimit:1},Stt={ariaLabel:"voronoi",fill:"none",stroke:"currentColor",strokeMiterlimit:1},Itt={ariaLabel:"voronoi mesh",fill:null,stroke:"currentColor",strokeOpacity:.2},m3=class extends St{constructor(t,n={}){let{x:r,y:i,z:o,curve:s,tension:a}=n;super(t,{x:{value:r,scale:"x",optional:!0},y:{value:i,scale:"y",optional:!0},z:{value:o,optional:!0}},n,wtt),this.curve=ry(s,a),Xi(this,n)}render(t,n,r,i,o){let{x:s,y:a}=n,{x:c,y:l,z:u}=r,{curve:f}=this,[d,h]=xn(this,i),p=c?x=>c[x]:hn(d),m=l?x=>l[x]:hn(h),g=this;function y(x){let b=-1,w=[],_={};for(let S in r)_[S]=[];let v=[],I=[],A=[],T=[];function D(S,M){S=x[S],M=x[M],w.push(++b),v[b]=p(S),A[b]=m(S),I[b]=p(M),T[b]=m(M);for(let N in r)_[N].push(r[N][M])}let{halfedges:E,hull:O,triangles:C}=Pn.from(x,p,m);for(let S=0;S<E.length;++S){let M=E[S];M>S&&D(C[S],C[M])}for(let S=0;S<O.length;++S)D(O[S],O[(S+1)%O.length]);Vt(this).selectAll().data(w).enter().append("path").call(Lt,g).attr("d",S=>{let M=er(),N=f(M);return N.lineStart(),N.point(v[S],A[S]),N.point(I[S],T[S]),N.lineEnd(),M}).call(Qt,g,_).call(oa,g,_,o)}return ut("svg:g",o).call(Ct,this,i,o).call(Et,this,{x:c&&s,y:l&&a}).call(u?x=>x.selectAll().data(cn(t,b=>u[b]).values()).enter().append("g").each(y):x=>x.datum(t).each(y)).node()}},by=class extends St{constructor(t,n={},r,i=({z:o})=>o){let{x:o,y:s}=n;super(t,{x:{value:o,scale:"x",optional:!0},y:{value:s,scale:"y",optional:!0},z:{value:i(n),optional:!0}},n,r)}render(t,n,r,i,o){let{x:s,y:a}=n,{x:c,y:l,z:u}=r,[f,d]=xn(this,i),h=c?y=>c[y]:hn(f),p=l?y=>l[y]:hn(d),m=this;function g(y){let x=Pn.from(y,h,p);Vt(this).append("path").datum(y[0]).call(Lt,m).attr("d",m._render(x,i)).call(Qt,m,r)}return ut("svg:g",o).call(Ct,this,i,o).call(Et,this,{x:c&&s,y:l&&a}).call(u?y=>y.selectAll().data(cn(t,x=>u[x]).values()).enter().append("g").each(g):y=>y.datum(t).each(g)).node()}},y3=class extends by{constructor(t,n={}){super(t,n,vtt),this.fill="none"}_render(t){return t.render()}},g3=class extends by{constructor(t,n={}){super(t,n,_tt,jn)}_render(t){return t.renderHull()}},x3=class extends St{constructor(t,n={}){let{x:r,y:i,z:o}=n;super(t,{x:{value:r,scale:"x",optional:!0},y:{value:i,scale:"y",optional:!0},z:{value:o,optional:!0}},n,Stt)}render(t,n,r,i,o){let{x:s,y:a}=n,{x:c,y:l,z:u}=r,[f,d]=xn(this,i),h=c?y=>c[y]:hn(f),p=l?y=>l[y]:hn(d),m=this;function g(y){let x=Pn.from(y,h,p),b=A9(x,i);Vt(this).selectAll().data(y).enter().append("path").call(Lt,m).attr("d",(w,_)=>b.renderCell(_)).call(Qt,m,r)}return ut("svg:g",o).call(Ct,this,i,o).call(Et,this,{x:c&&s,y:l&&a}).call(u?y=>y.selectAll().data(cn(t,x=>u[x]).values()).enter().append("g").each(g):y=>y.datum(t).each(g)).node()}},b3=class extends by{constructor(t,n){super(t,n,Itt),this.fill="none"}_render(t,n){return A9(t,n).render()}};function A9(e,t){let{width:n,height:r,marginTop:i,marginRight:o,marginBottom:s,marginLeft:a}=t;return e.voronoi([a,i,n-o,r-s])}function wy(e,t,{x:n,y:r,...i}={}){return[n,r]=$e(n,r),new e(t,{...i,x:n,y:r})}function T9(e,t){return wy(m3,e,t)}function E9(e,t){return wy(y3,e,t)}function N9(e,t){return wy(g3,e,t)}function D9(e,t){return wy(x3,e,t)}function O9(e,t){return wy(b3,e,t)}var Mtt={ariaLabel:"density",fill:"none",stroke:"currentColor",strokeMiterlimit:1},vy=class extends St{constructor(t,{x:n,y:r,z:i,weight:o,fill:s,stroke:a,...c}={}){let l=B9(s)&&(s="currentColor",!0),u=B9(a)&&(a="currentColor",!0);super(t,{x:{value:n,scale:"x",optional:!0},y:{value:r,scale:"y",optional:!0},z:{value:jn({z:i,fill:s,stroke:a}),optional:!0},weight:{value:o,optional:!0}},Ttt({...c,fill:s,stroke:a},l,u),Mtt),l&&(this.fill=void 0),u&&(this.stroke=void 0),this.z=i}filter(t){return t}render(t,n,r,i,o){let{contours:s}=r,a=En();return ut("svg:g",o).call(Ct,this,i,o).call(Et,this,{}).call(c=>c.selectAll().data(t).enter().append("path").call(Lt,this).call(Qt,this,r).attr("d",l=>a(s[l]))).node()}};function L9(e,{x:t,y:n,...r}={}){return[t,n]=$e(t,n),new vy(e,{...r,x:t,y:n})}var Att=new Set(["x","y","z","weight"]);function Ttt(e,t,n){let{bandwidth:i,thresholds:o}=e;return i=i===void 0?20:+i,o=o===void 0?20:typeof o?.[Symbol.iterator]=="function"?Ke(o):+o,Ie(e,function(s,a,c,l,u,f){let d=c.weight?Ke(c.weight.value):null,h=c.z?.value,{z:p}=this,[m,g]=xn(this,u),{width:y,height:x}=u,{x:b,y:w}=rc(c,l,f),_=Object.fromEntries(Object.entries(c).filter(([C])=>!Att.has(C)).map(([C,S])=>[C,{...S,value:[]}])),v=t&&[],I=n&&[],A=AI().x(b?C=>b[C]:m).y(w?C=>w[C]:g).weight(d?C=>d[C]:1).size([y,x]).bandwidth(i),T=[];for(let C of a){let S=[];T.push(S);for(let M of h?Gm(C,h,p):[C]){let N=A.contours(M);S.push([M,N])}}let D=o;if(!(D instanceof vl)){let C=0;for(let S of T)for(let[,M]of S){let N=M.max;N>C&&(C=N)}D=Float64Array.from({length:o-1},(S,M)=>C*100*(M+1)/o)}let E=[],O=[];for(let C of T){let S=[];E.push(S);for(let[M,N]of C)for(let F of D){S.push(O.length),O.push(N(F/100)),v&&v.push(F),I&&I.push(F);for(let R in _)_[R].value.push(c[R].value[M[0]])}}return v&&v.push(0),I&&I.push(0),{data:s,facets:E,channels:{..._,...v&&{fill:{value:v,scale:"color"}},...I&&{stroke:{value:I,scale:"color"}},contours:{value:O}}}})}function B9(e){return/^density$/i.test(e)}function F9(e,{x1:t,x2:n,y1:r,y2:i,x:o=t===void 0&&n===void 0?Ee:void 0,y:s=r===void 0&&i===void 0?G:void 0,fill:a,positiveFill:c="#3ca951",negativeFill:l="#4269d0",fillOpacity:u=1,positiveFillOpacity:f=u,negativeFillOpacity:d=u,stroke:h,strokeOpacity:p,z:m=Be(h)[0],clip:g,tip:y,render:x,...b}={}){return[t,n]=C9(o,t,n),[r,i]=C9(s,r,i),t===n&&r===i&&(r=hc(0)),{tip:y}=Yi({tip:y},"x"),tn(re(c)?null:Object.assign(iy(e,{x1:t,x2:n,y1:r,y2:i,z:m,fill:c,fillOpacity:f,render:qf(x,k9(!0)),clip:g,...b}),{ariaLabel:"positive difference"}),re(l)?null:Object.assign(iy(e,{x1:t,x2:n,y1:r,y2:i,z:m,fill:l,fillOpacity:d,render:qf(x,k9(!1)),clip:g,...b}),{ariaLabel:"negative difference"}),Pl(e,{x:n,y:i,z:m,stroke:h,strokeOpacity:p,tip:y,clip:!0,...b}))}function C9(e,t,n){return t===void 0&&n===void 0?t=n=hc(e):t===void 0?(n=hc(n),t=e===void 0?n:hc(e)):n===void 0?(t=hc(t),n=e===void 0?t:hc(e)):(t=hc(t),n=hc(n)),[t,n]}function hc(e){let t,{value:n,label:r=On(n)}=pi(e);return{transform:i=>t||(t=wt(i,n)),label:r}}function k9(e){return(t,n,r,i,o,s)=>{let{x1:a,x2:c}=r,{height:l}=i,u=new Float32Array(a.length),f=new Float32Array(c.length);(e===Iw(n.y)<0?u:f).fill(l);let d=s(t,n,{...r,x2:a,y2:f},i,o),h=s(t,n,{...r,x1:c,y1:u},i,o),p=d.querySelector("g")??d,m=h.querySelector("g")??h;for(let g=0;p.firstChild;g+=2){let y=Ew(),x=ut("svg:clipPath",o).attr("id",y).node();x.appendChild(p.firstChild),m.childNodes[g].setAttribute("clip-path",`url(#${y})`),m.insertBefore(x,m.childNodes[g])}return h}}var Ett={ariaLabel:"geo",fill:"none",stroke:"currentColor",strokeWidth:1,strokeLinecap:"round",strokeLinejoin:"round",strokeMiterlimit:1},_y=class extends St{constructor(t,n={}){let[r,i]=se(n.r,3);super(t,{geometry:{value:n.geometry,scale:"projection"},r:{value:r,scale:"r",filter:sr,optional:!0}},uy(n),Ett),this.r=i}render(t,n,r,i,o){let{geometry:s,r:a}=r,c=En(o.projection??Ntt(n)),{r:l}=this;return Va(l)?t=[]:l!==void 0&&c.pointRadius(l),ut("svg:g",o).call(Ct,this,i,o).call(Et,this,n).call(u=>{u.selectAll().data(t).enter().append("path").call(Lt,this).attr("d",a?f=>c.pointRadius(a[f])(s[f]):f=>c(s[f])).call(Qt,this,r)}).node()}};function Ntt({x:e,y:t}){if(e||t)return e??=n=>n,t??=n=>n,al({point(n,r){this.stream.point(e(n),t(r))}})}function bv(e,{geometry:t=G,...n}={}){switch(e?.type){case"FeatureCollection":e=e.features;break;case"GeometryCollection":e=e.geometries;break;case"Feature":case"LineString":case"MultiLineString":case"MultiPoint":case"MultiPolygon":case"Point":case"Polygon":case"Sphere":e=[e];break}return new _y(e,{geometry:t,...n})}function R9({strokeWidth:e=1.5,...t}={}){return bv({type:"Sphere"},{strokeWidth:e,...t})}function $9({strokeOpacity:e=.1,...t}={}){return bv(WI(),{strokeOpacity:e,...t})}var fd=.5,dd=0;function P9(e={fill:"count"},{binWidth:t,...n}={}){let{z:r}=n;return t=t===void 0?20:Bt(t),e=lT(e,n),Fo(e,"fill")&&(n.channels={...n.channels,fill:{value:[]}}),n.symbol===void 0&&(n.symbol="hexagon"),n.r===void 0&&!Fo(e,"r")&&(n.r=t/2),Ie(n,(i,o,s,a,c,l)=>{let{x:u,y:f,z:d,fill:h,stroke:p,symbol:m}=s;if(u===void 0)throw new Error("missing channel: x");if(f===void 0)throw new Error("missing channel: y");({x:u,y:f}=rc(s,a,l)),d=d?d.value:wt(i,r),h=h?.value,p=p?.value,m=m?.value;let g=zm(e,{z:d,fill:h,stroke:p,symbol:m}),y=d&&[],x=h&&[],b=p&&[],w=m&&[],_=[],v=[],I=[],A=-1;for(let O of e)O.initialize(i);for(let O of o){let C=[];for(let S of e)S.scope("facet",O);for(let[S,M]of Ka(O,g))for(let{index:N,extent:F}of Dtt(i,M,u,f,t)){C.push(++A),v.push(F.x),I.push(F.y),d&&y.push(g===d?S:d[N[0]]),h&&x.push(g===h?S:h[N[0]]),p&&b.push(g===p?S:p[N[0]]),m&&w.push(g===m?S:m[N[0]]);for(let R of e)R.reduce(N,F)}_.push(C)}let T=s.x.scale,D=s.y.scale,E={x:{value:v,source:a[T]?{value:Gt(v,a[T].invert),scale:T}:null},y:{value:I,source:a[D]?{value:Gt(I,a[D].invert),scale:D}:null},...d&&{z:{value:y}},...h&&{fill:{value:x,scale:"auto"}},...p&&{stroke:{value:b,scale:"auto"}},...m&&{symbol:{value:w,scale:"auto"}},...Object.fromEntries(e.map(({name:O,output:C})=>[O,{scale:"auto",label:C.label,radius:O==="r"?t/2:void 0,value:C.transform()}]))};return{data:i,facets:_,channels:E}})}function Dtt(e,t,n,r,i){let o=i*(1.5/KA),s=new Map;for(let a of t){let c=n[a],l=r[a];if(isNaN(c)||isNaN(l))continue;let u=Math.round(l=(l-dd)/o),f=Math.round(c=(c-fd)/i-(u&1)/2),d=l-u;if(Math.abs(d)*3>1){let m=c-f,g=f+(c<f?-1:1)/2,y=u+(l<u?-1:1),x=c-g,b=l-y;m*m+d*d>x*x+b*b&&(f=g+(u&1?1:-1)/2,u=y)}let h=`${f},${u}`,p=s.get(h);p===void 0&&(p={index:[],extent:{data:e,x:(f+(u&1)/2)*i+fd,y:u*o+dd}},s.set(h,p)),p.index.push(a)}return s.values()}var Ott={ariaLabel:"hexgrid",fill:"none",stroke:"currentColor",strokeOpacity:.1};function U9(e){return new Sy(e)}var Sy=class extends St{constructor({binWidth:t=20,clip:n=!0,...r}={}){super(Wa,void 0,{clip:n,...r},Ott),this.binWidth=Bt(t)}render(t,n,r,i,o){let{binWidth:s}=this,{marginTop:a,marginRight:c,marginBottom:l,marginLeft:u,width:f,height:d}=i,h=u-fd,p=f-c-fd,m=a-dd,g=d-l-dd,y=s/2,x=y*tT,b=x/2,w=y*2,_=x*1.5,v=Math.floor(h/w),I=Math.ceil(p/w),A=Math.floor((m+b)/_),T=Math.ceil((g-b)/_)+1,D=`m0,${pc(-x)}l${pc(y)},${pc(b)}v${pc(x)}l${pc(-y)},${pc(b)}`,E=D;for(let O=A;O<T;++O)for(let C=v;C<I;++C)E+=`M${pc(C*w+(O&1)*y)},${pc(O*_)}${D}`;return ut("svg:g",o).datum(0).call(Ct,this,i,o).call(Et,this,{},Ce+fd,Ce+dd).call(O=>O.append("path").call(Lt,this).call(Qt,this,r).attr("d",E)).node()}};function pc(e){return Math.round(e*1e3)/1e3}var Btt={ariaLabel:"image",fill:null,stroke:null};function Ltt(e){return/^\.*\//.test(e)}function Ctt(e){return/^(blob|data|file|http|https):/i.test(e)}function ktt(e){return typeof e=="string"&&(Ltt(e)||Ctt(e))?[void 0,e]:[e,void 0]}var Iy=class extends St{constructor(t,n={}){let{x:r,y:i,r:o,width:s,height:a,rotate:c,src:l,preserveAspectRatio:u,crossOrigin:f,frameAnchor:d,imageRendering:h}=n;o==null&&(o=void 0),o===void 0&&s===void 0&&a===void 0?s=a=16:s===void 0&&a!==void 0?s=a:a===void 0&&s!==void 0&&(a=s);let[p,m]=ktt(l),[g,y]=se(o),[x,b]=se(s,y!==void 0?y*2:void 0),[w,_]=se(a,y!==void 0?y*2:void 0),[v,I]=se(c,0);super(t,{x:{value:r,scale:"x",optional:!0},y:{value:i,scale:"y",optional:!0},r:{value:g,scale:"r",filter:sr,optional:!0},width:{value:x,filter:sr,optional:!0},height:{value:w,filter:sr,optional:!0},rotate:{value:v,optional:!0},src:{value:p,optional:!0}},uy(n),Btt),this.src=m,this.width=b,this.rotate=I,this.height=_,this.r=y,this.preserveAspectRatio=fe(u,"xMidYMid"),this.crossOrigin=qe(f),this.frameAnchor=ko(d),this.imageRendering=fe(h,"auto")}render(t,n,r,i,o){let{x:s,y:a}=n,{x:c,y:l,width:u,height:f,r:d,rotate:h,src:p}=r,{r:m,width:g,height:y,rotate:x}=this,[b,w]=xn(this,i);return ut("svg:g",o).call(Ct,this,i,o).call(Et,this,{x:c&&s,y:l&&a}).call(_=>_.selectAll().data(t).enter().append("image").call(Lt,this).attr("x",z9(c,u,d,b,g,m)).attr("y",z9(l,f,d,w,y,m)).attr("width",u?v=>u[v]:g!==void 0?g:d?v=>d[v]*2:m*2).attr("height",f?v=>f[v]:y!==void 0?y:d?v=>d[v]*2:m*2).attr("transform",h?v=>`rotate(${h[v]})`:x?`rotate(${x})`:null).attr("transform-origin",h||x?oc`${c?v=>c[v]:b}px ${l?v=>l[v]:w}px`:null).call(ft,"href",p?v=>p[v]:this.src).call(ft,"preserveAspectRatio",this.preserveAspectRatio).call(ft,"crossorigin",this.crossOrigin).call(ft,"image-rendering",this.imageRendering).call(ft,"clip-path",d?v=>`circle(${d[v]}px)`:m!==void 0?`circle(${m}px)`:null).call(Qt,this,r)).node()}};function z9(e,t,n,r,i,o){return t&&e?s=>e[s]-t[s]/2:t?s=>r-t[s]/2:e&&i!==void 0?s=>e[s]-i/2:i!==void 0?r-i/2:n&&e?s=>e[s]-n[s]:n?s=>r-n[s]:e?s=>e[s]-o:r-o}function q9(e,{x:t,y:n,...r}={}){return r.frameAnchor===void 0&&([t,n]=$e(t,n)),new Iy(e,{...r,x:t,y:n})}function Ftt(e,t,n){var r=1e-8,i=t-1,o=n-1,s=0,a,c,l,u,f,d,h,p,m,g,y;if(e<=0)return 0;if(e>=1)return 1;for(t>=1&&n>=1?(l=e<.5?e:1-e,u=Math.sqrt(-2*Math.log(l)),h=(2.30753+u*.27061)/(1+u*(.99229+u*.04481))-u,e<.5&&(h=-h),p=(h*h-3)/6,m=2/(1/(2*t-1)+1/(2*n-1)),g=h*Math.sqrt(p+m)/m-(1/(2*n-1)-1/(2*t-1))*(p+5/6-2/(3*m)),h=t/(t+n*Math.exp(2*g))):(a=Math.log(t/(t+n)),c=Math.log(n/(t+n)),u=Math.exp(t*a)/t,f=Math.exp(n*c)/n,g=u+f,e<u/g?h=Math.pow(t*g*e,1/t):h=1-Math.pow(n*g*(1-e),1/n)),y=-hd(t)-hd(n)+hd(t+n);s<10;s++){if(h===0||h===1)return h;if(d=Rtt(h,t,n)-e,u=Math.exp(i*Math.log(h)+o*Math.log(1-h)+y),f=d/u,h-=u=f/(1-.5*Math.min(1,f*(i/h-o/(1-h)))),h<=0&&(h=.5*(h+u)),h>=1&&(h=.5*(h+u+1)),Math.abs(u)<r*h&&s>0)break}return h}function Rtt(e,t,n){var r=e===0||e===1?0:Math.exp(hd(t+n)-hd(t)-hd(n)+t*Math.log(e)+n*Math.log(1-e));return e<0||e>1?!1:e<(t+1)/(t+n+2)?r*j9(e,t,n)/t:1-r*j9(1-e,n,t)/n}function j9(e,t,n){var r=1e-30,i=1,o=t+n,s=t+1,a=t-1,c=1,l=1-o*e/s,u,f,d,h;for(Math.abs(l)<r&&(l=r),l=1/l,h=l;i<=100&&(u=2*i,f=i*(n-i)*e/((a+u)*(t+u)),l=1+f*l,Math.abs(l)<r&&(l=r),c=1+f/c,Math.abs(c)<r&&(c=r),l=1/l,h*=l*c,f=-(t+i)*(o+i)*e/((t+u)*(s+u)),l=1+f*l,Math.abs(l)<r&&(l=r),c=1+f/c,Math.abs(c)<r&&(c=r),l=1/l,d=l*c,h*=d,!(Math.abs(d-1)<3e-7));i++);return h}function hd(e){var t=0,n=[76.18009172947146,-86.5053203294167,24.01409824083091,-1.231739572450155,.001208650973866179,-5395239384953e-18],r=1.000000000190015,i,o,s;for(s=(o=i=e)+5.5,s-=(i+.5)*Math.log(s);t<6;t++)r+=n[t]/++o;return Math.log(2.506628274631*r/i)-s}function V9(e,t){var n=Ftt(2*Math.min(e,1-e),.5*t,.5);return n=Math.sqrt(t*(1-n)/n),e>.5?n:-n}var $tt={ariaLabel:"linear-regression",fill:"currentColor",fillOpacity:.1,stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round",strokeMiterlimit:1},wv=class extends St{constructor(t,n={}){let{x:r,y:i,z:o,ci:s=.95,precision:a=4}=n;if(super(t,{x:{value:r,scale:"x"},y:{value:i,scale:"y"},z:{value:jn(n),optional:!0}},n,$tt),this.z=o,this.ci=+s,this.precision=+a,!(0<=this.ci&&this.ci<1))throw new Error(`invalid ci; not in [0, 1): ${s}`);if(!(this.precision>0))throw new Error(`invalid precision: ${a}`)}render(t,n,r,i,o){let{x:s,y:a,z:c}=r,{ci:l}=this;return ut("svg:g",o).call(Ct,this,i,o).call(Et,this,n).call(u=>u.selectAll().data(c?Gm(t,c,this.z):[t]).enter().call(f=>f.append("path").attr("fill","none").call(Lt,this).call(Tl,this,{...r,fill:null,fillOpacity:null}).attr("d",d=>this._renderLine(d,s,a)).call(l&&!ta(this.fill)?d=>d.select(Ptt).attr("stroke","none").call(Lt,this).call(Tl,this,{...r,stroke:null,strokeOpacity:null,strokeWidth:null}).attr("d",h=>this._renderBand(h,s,a)):()=>{}))).node()}};function Ptt(){return this.parentNode.insertBefore(this.ownerDocument.createElementNS(oi.svg,"path"),this)}var w3=class extends wv{constructor(t,n){super(t,n)}_renderBand(t,n,r){let{ci:i,precision:o}=this,[s,a]=le(t,u=>r[u]),c=vv(t,r,n),l=G9(t,r,n,(1-i)/2,c);return pf().y(u=>u).x0(u=>l(u,-1)).x1(u=>l(u,1))(Ue(s,a-o/2,o).concat(a))}_renderLine(t,n,r){let[i,o]=le(t,a=>r[a]),s=vv(t,r,n);return`M${s(i)},${i}L${s(o)},${o}`}},v3=class extends wv{constructor(t,n){super(t,n)}_renderBand(t,n,r){let{ci:i,precision:o}=this,[s,a]=le(t,u=>n[u]),c=vv(t,n,r),l=G9(t,n,r,(1-i)/2,c);return pf().x(u=>u).y0(u=>l(u,-1)).y1(u=>l(u,1))(Ue(s,a-o/2,o).concat(a))}_renderLine(t,n,r){let[i,o]=le(t,a=>n[a]),s=vv(t,n,r);return`M${i},${s(i)}L${o},${s(o)}`}};function Y9(e,{y:t=Ee,x:n=G,stroke:r,fill:i=re(r)?"currentColor":r,...o}={}){return new w3(e,Zf({...o,x:n,y:t,fill:i,stroke:r}))}function X9(e,{x:t=Ee,y:n=G,stroke:r,fill:i=re(r)?"currentColor":r,...o}={}){return new v3(e,Hf({...o,x:t,y:n,fill:i,stroke:r}))}function vv(e,t,n){let r=0,i=0,o=0,s=0;for(let u of e){let f=t[u],d=n[u];r+=f,i+=d,o+=f*d,s+=f*f}let a=e.length,c=(a*o-r*i)/(a*s-r*r),l=(i-c*r)/a;return u=>c*u+l}function G9(e,t,n,r,i){let o=An(e,u=>t[u])/e.length,s=0,a=0;for(let u of e)s+=(t[u]-o)**2,a+=(n[u]-i(t[u]))**2;let c=Math.sqrt(a/(e.length-2)),l=V9(r,e.length-2);return(u,f)=>{let d=i(u),h=c*Math.sqrt(1/e.length+(u-o)**2/s);return d+f*l*h}}function My({path:e=G,delimiter:t,frameAnchor:n,treeLayout:r=cl,treeSort:i,treeSeparation:o,treeAnchor:s,treeFilter:a,...c}={}){s=Mv(s),i=Z9(i),a!=null&&(a=S3(a)),n===void 0&&(n=s.frameAnchor);let l=J9(t),u=iP(c,S3),[f,d]=mn(),[h,p]=mn();return{x:f,y:h,frameAnchor:n,...yn(c,(m,g)=>{let y=l(wt(m,e)),x=d([]),b=p([]),w=-1,_=[],v=[],I=bb().path(T=>y[T]),A=r();A.nodeSize&&A.nodeSize([1,1]),A.separation&&o!==void 0&&A.separation(o??km);for(let T of u)T[Sv]=T[nP]([]);for(let T of g){let D=[],E=I(T.filter(O=>y[O]!=null)).each(O=>O.data=m[O.data]);i!=null&&E.sort(i),A(E);for(let O of E.descendants())if(!(a!=null&&!a(O))){D.push(++w),_[w]=O.data,s.position(O,w,x,b);for(let C of u)C[Sv][w]=C[rP](O)}v.push(D)}return{data:_,facets:v}}),...Object.fromEntries(u)}}function Iv({path:e=G,delimiter:t,curve:n="bump-x",stroke:r="#555",strokeWidth:i=1.5,strokeOpacity:o=.5,treeLayout:s=cl,treeSort:a,treeSeparation:c,treeAnchor:l,treeFilter:u,...f}={}){l=Mv(l),a=Z9(a),u!=null&&(u=H9(u)),f={curve:n,stroke:r,strokeWidth:i,strokeOpacity:o,...f};let d=J9(t),h=iP(f,H9),[p,m]=mn(),[g,y]=mn(),[x,b]=mn(),[w,_]=mn();return{x1:p,x2:g,y1:x,y2:w,...yn(f,(v,I)=>{let A=d(wt(v,e)),T=m([]),D=y([]),E=b([]),O=_([]),C=-1,S=[],M=[],N=bb().path(R=>A[R]),F=s();F.nodeSize&&F.nodeSize([1,1]),F.separation&&c!==void 0&&F.separation(c??km);for(let R of h)R[Sv]=R[nP]([]);for(let R of I){let k=[],$=N(R.filter(P=>A[P]!=null)).each(P=>P.data=v[P.data]);a!=null&&$.sort(a),F($);for(let{source:P,target:U}of $.links())if(!(u!=null&&!u(U,P))){k.push(++C),S[C]=U.data,l.position(P,C,T,E),l.position(U,C,D,O);for(let W of h)W[Sv][C]=W[rP](U,P)}M.push(k)}return{data:S,facets:M}}),...Object.fromEntries(h)}}function Mv(e="left"){switch(`${e}`.trim().toLowerCase()){case"left":return Utt;case"right":return ztt}throw new Error(`invalid tree anchor: ${e}`)}var Utt={frameAnchor:"left",dx:6,position({x:e,y:t},n,r,i){r[n]=t,i[n]=-e}},ztt={frameAnchor:"right",dx:-6,position({x:e,y:t},n,r,i){r[n]=-t,i[n]=-e}};function Z9(e){return e==null||typeof e=="function"?e:`${e}`.trim().toLowerCase().startsWith("node:")?W9(S3(e)):W9(qtt(e))}function W9(e){return(t,n)=>dn(e(t),e(n))}function qtt(e){return t=>t.data?.[e]}function J9(e="/"){if(e=`${e}`,e==="/")return n=>n;if(e.length!==1)throw new Error("delimiter must be exactly one character");let t=e.charCodeAt(0);return n=>n.map(r=>jtt(r,t))}var _3=92,Q9=47;function jtt(e,t){if(t===_3)throw new Error("delimiter cannot be backslash");let n=!1;for(let r=0,i=e.length;r<i;++r){switch(e.charCodeAt(r)){case _3:if(!n){n=!0;continue}break;case t:n?(e=e.slice(0,r-1)+e.slice(r),--r,--i):e=e.slice(0,r)+"/"+e.slice(r+1);break;case Q9:n?(e=e.slice(0,r)+"\\\\"+e.slice(r),r+=2,i+=2):(e=e.slice(0,r)+"\\"+e.slice(r),++r,++i);break}n=!1}return e}function Vtt(e){let t=!1;for(let n=0,r=e.length;n<r;++n){switch(e.charCodeAt(n)){case _3:if(!t){t=!0;continue}case Q9:t&&(e=e.slice(0,n-1)+e.slice(n),--n,--r);break}t=!1}return e}function K9(e){return pn(e)&&typeof e.node=="function"}function Ytt(e){return pn(e)&&typeof e.link=="function"}function S3(e){if(K9(e))return e.node;if(e=`${e}`.trim().toLowerCase(),!!e.startsWith("node:")){switch(e){case"node:name":return M3;case"node:path":return I3;case"node:internal":return tP;case"node:external":return eP;case"node:depth":return A3;case"node:height":return T3}throw new Error(`invalid node value: ${e}`)}}function H9(e){if(K9(e))return e.node;if(Ytt(e))return e.link;if(e=`${e}`.trim().toLowerCase(),!(!e.startsWith("node:")&&!e.startsWith("parent:"))){switch(e){case"parent:name":return _v(M3);case"parent:path":return _v(I3);case"parent:depth":return _v(A3);case"parent:height":return _v(T3);case"node:name":return M3;case"node:path":return I3;case"node:internal":return tP;case"node:external":return eP;case"node:depth":return A3;case"node:height":return T3}throw new Error(`invalid link value: ${e}`)}}function I3(e){return e.id}function M3(e){return Xtt(e.id)}function A3(e){return e.depth}function T3(e){return e.height}function tP(e){return!!e.children}function eP(e){return!e.children}function _v(e){return(t,n)=>n==null?void 0:e(n)}function Xtt(e){let t=e.length;for(;--t>0&&!Gtt(e,t););return Vtt(e.slice(t+1))}function Gtt(e,t){if(e[t]==="/"){let n=0;for(;t>0&&e[--t]==="\\";)++n;if(!(n&1))return!0}return!1}var nP=2,rP=3,Sv=4;function iP(e,t){let n=[];for(let r in e){let i=e[r],o=t(i);o!==void 0&&n.push([r,...mn(i),o])}return n}function E3(e,{fill:t,stroke:n,strokeWidth:r,strokeOpacity:i,strokeLinejoin:o,strokeLinecap:s,strokeMiterlimit:a,strokeDasharray:c,strokeDashoffset:l,marker:u,markerStart:f=u,markerEnd:d=u,dot:h=re(f)&&re(d),text:p="node:name",textStroke:m="var(--plot-background)",title:g="node:path",dx:y,dy:x,textAnchor:b,treeLayout:w=cl,textLayout:_=w===cl||w===gb?"mirrored":"normal",tip:v,...I}={}){if(y===void 0&&(y=Mv(I.treeAnchor).dx),b!==void 0)throw new Error("textAnchor is not a configurable tree option");_=sn(_,"textLayout",["mirrored","normal"]);function A(T){return $o(e,My({treeLayout:w,text:p,fill:t===void 0?"currentColor":t,stroke:m,dx:y,dy:x,title:g,...T,...I}))}return tn(lv(e,Iv({treeLayout:w,markerStart:f,markerEnd:d,stroke:n!==void 0?n:t===void 0?"node:internal":t,strokeWidth:r,strokeOpacity:i,strokeLinejoin:o,strokeLinecap:s,strokeMiterlimit:a,strokeDasharray:c,strokeDashoffset:l,...I})),h?yi(e,My({treeLayout:w,fill:t===void 0?"node:internal":t,title:g,tip:v,...I})):null,p!=null?_==="mirrored"?[A({textAnchor:"start",treeFilter:"node:external"}),A({textAnchor:"end",treeFilter:"node:internal",dx:-y})]:A():null)}function oP(e,t){return E3(e,{...t,treeLayout:gb})}function sP({geometry:e=G,...t}={}){return Ie({...t,x:null,y:null},(n,r,i,o,s,{projection:a})=>{let c=wt(n,e),l=c.length,u=new Float64Array(l),f=new Float64Array(l),d=En(a);for(let h=0;h<l;++h)[u[h],f[h]]=d.centroid(c[h]);return{data:n,facets:r,channels:{x:{value:u,scale:a==null?"x":null,source:null},y:{value:f,scale:a==null?"y":null,source:null}}}})}function aP({geometry:e=G,...t}={}){let n;return{...t,x:{transform:r=>Float64Array.from(n=wt(wt(r,e),qI),([i])=>i)},y:{transform:()=>Float64Array.from(n,([,r])=>r)}}}var xP=xz(gP(),1);var eet=({marginLeft:e})=>[1,e],net=({width:e,marginRight:t})=>[-1,e-t],ret=({width:e,marginLeft:t,marginRight:n})=>[0,(t+e-n)/2],iet=({marginTop:e})=>[1,e],oet=({height:e,marginBottom:t})=>[-1,e-t],set=({height:e,marginTop:t,marginBottom:n})=>[0,(t+e-n)/2];function bP(e){return typeof e=="string"?{anchor:e}:e}function wP(e={},t={}){arguments.length===1&&([e,t]=_P(e));let{anchor:n="left",padding:r=1,r:i=t.r}=bP(e);switch(`${n}`.toLowerCase()){case"left":n=eet;break;case"right":n=net;break;case"middle":n=ret;break;default:throw new Error(`unknown dodge anchor: ${n}`)}return SP("x","y",n,Bt(r),i,t)}function vP(e={},t={}){arguments.length===1&&([e,t]=_P(e));let{anchor:n="bottom",padding:r=1,r:i=t.r}=bP(e);switch(`${n}`.toLowerCase()){case"top":n=iet;break;case"bottom":n=oet;break;case"middle":n=set;break;default:throw new Error(`unknown dodge anchor: ${n}`)}return SP("y","x",n,Bt(r),i,t)}function _P(e){let{anchor:t,padding:n,...r}=e,{r:i}=r;return[{anchor:t,padding:n,r:i},r]}function SP(e,t,n,r,i,o){if(i!=null&&typeof i!="number"){let{channels:s,sort:a,reverse:c}=o;s=Rm(s),s?.r===void 0&&(o={...o,channels:{...s,r:{value:i,scale:"r"}}}),a===void 0&&c===void 0&&(o.sort={channel:"-r"})}return Ie(o,function(s,a,c,l,u,f){let{[t]:d,r:h}=c;if(!c[t])throw new Error(`missing channel: ${t}`);({[t]:d}=rc(c,l,f));let p=h?void 0:i!==void 0?Bt(i):this.r!==void 0?this.r:3;h&&(h=wt(h.value,l[h.scale]||G,Float64Array));let[m,g]=n(u),y=m?cet:aet,x=new Float64Array(d.length),b=h?w=>h[w]:()=>p;for(let w of a){let _=(0,xP.default)();w=w.filter(h?I=>bf(d[I])&&sr(h[I]):I=>bf(d[I]));let v=new Float64Array(2*w.length+2);for(let I of w){let A=b(I),T=m?A+r:0,D=d[I]-A,E=d[I]+A,O=2;_.queryInterval(D-r,E+r,([,,S])=>{let M=x[S]-T,N=d[I]-d[S],F=r+(h?h[I]+h[S]:2*p),R=Math.sqrt(F*F-N*N);v[O++]=M-R,v[O++]=M+R});let C=v.slice(0,O);m&&(C=C.filter(S=>S>=0));t:for(let S of C.sort(y)){for(let M=0;M<O;M+=2)if(v[M]+1e-6<S&&S<v[M+1]-1e-6)continue t;x[I]=S+T;break}_.insert([D,E,I])}}m||(m=1);for(let w of a)for(let _ of w)x[_]=x[_]*m+g;return{data:s,facets:a,channels:{[e]:{value:x,source:null},[t]:{value:d,source:c[t]},...h&&{r:{value:h,source:c.r}}}}})}function aet(e,t){return Math.abs(e)-Math.abs(t)}function cet(e,t){return e-t}function MP(e,t){return arguments.length===1&&({basis:e,...t}=e),ad(Ev(e),t)}function AP(e,t){return arguments.length===1&&({basis:e,...t}=e),cd(Ev(e),t)}function Ev(e){if(e===void 0)return IP;if(typeof e=="function")return Nv(Af(e));if(/^p\d{2}$/i.test(e))return gd(If(e));switch(`${e}`.toLowerCase()){case"deviation":return det;case"first":return IP;case"last":return fet;case"max":return het;case"mean":return pet;case"median":return met;case"min":return yet;case"sum":return get;case"extent":return uet}throw new Error(`invalid basis: ${e}`)}function Nv(e){return{mapIndex(t,n,r){let i=+e(t,n);for(let o of t)r[o]=n[o]===null?NaN:n[o]/i}}}function gd(e){return Nv((t,n)=>e(t,r=>n[r]))}var uet={mapIndex(e,t,n){let[r,i]=le(e,s=>t[s]),o=i-r;for(let s of e)n[s]=t[s]===null?NaN:(t[s]-r)/o}},IP=Nv((e,t)=>{for(let n=0;n<e.length;++n){let r=t[e[n]];if(ze(r))return r}}),fet=Nv((e,t)=>{for(let n=e.length-1;n>=0;--n){let r=t[e[n]];if(ze(r))return r}}),det={mapIndex(e,t,n){let r=Ds(e,o=>t[o]),i=ii(e,o=>t[o]);for(let o of e)n[o]=t[o]===null?NaN:i?(t[o]-r)/i:0}},het=gd(Ht),pet=gd(Ds),met=gd(Pi),yet=gd(ue),get=gd(An);function TP(e,t){return xet("x",e,t)}function xet(e,t,n={}){let r,i=1;if(typeof t=="number")i=t,r=(l,u)=>+l+u;else{if(typeof t=="string"){let l=t.startsWith("-")?-1:1;[t,i]=sw(t.replace(/^[+-]/,"")),i*=l}t=Ef(t),r=(l,u)=>t.offset(l,u)}let o=`${e}1`,s=`${e}2`,a=vr({[o]:l=>l.map(u=>r(u,i)),[s]:l=>l},n),c=a[s].transform;return a[s].transform=()=>{let l=c(),[u,f]=le(l);return l.domain=i<0?[u,r(f,i)]:[r(u,i),f],l},a}function EP(e,t={}){if(typeof e=="string")switch(e.toLowerCase()){case"first":return C3(t);case"last":return k3(t)}if(typeof e=="function")return mc(null,e,t);let n,r;for(n in e){if(r!==void 0)throw new Error("ambiguous selector; multiple inputs");r=bet(e[n])}if(r===void 0)throw new Error(`invalid selector: ${e}`);return mc(n,r,t)}function bet(e){if(typeof e=="function")return e;switch(`${e}`.toLowerCase()){case"min":return F3;case"max":return R3}throw new Error(`unknown selector: ${e}`)}function C3(e){return mc(null,wet,e)}function k3(e){return mc(null,vet,e)}function NP(e){return mc("x",F3,e)}function DP(e){return mc("y",F3,e)}function OP(e){return mc("x",R3,e)}function BP(e){return mc("y",R3,e)}function*wet(e){yield e[0]}function*vet(e){yield e[e.length-1]}function*F3(e,t){yield ex(e,n=>t[n])}function*R3(e,t){yield Yc(e,n=>t[n])}function mc(e,t,n){if(e!=null){if(n[e]==null)throw new Error(`missing channel: ${e}`);e=n[e]}let r=jn(n);return yn(n,(i,o)=>{let s=wt(i,r),a=wt(i,e),c=[];for(let l of o){let u=[];for(let f of s?cn(l,d=>s[d]).values():[l])for(let d of t(f,a))u.push(d);c.push(u)}return{data:i,facets:c}})}var _et=new Map([["style","style"],["width","width"],["height","height"],["margin","margin"],["marginLeft","marginLeft"],["marginRight","marginRight"],["marginTop","marginTop"],["marginBottom","marginBottom"],["align","align"],["aspectRatio","aspectRatio"],["axis","axis"],["inset","inset"],["grid","grid"],["label","label"],["padding","padding"],["round","round"],["xScale","x.type"],["xDomain","x.domain"],["xRange","x.range"],["xNice","x.nice"],["xInset","x.inset"],["xInsetLeft","x.insetLeft"],["xInsetRight","x.insetRight"],["xClamp","x.clamp"],["xRound","x.round"],["xAlign","x.align"],["xPadding","x.padding"],["xPaddingInner","x.paddingInner"],["xPaddingOuter","x.paddingOuter"],["xAxis","x.axis"],["xTicks","x.ticks"],["xTickSize","x.tickSize"],["xTickSpacing","x.tickSpacing"],["xTickPadding","x.tickPadding"],["xTickFormat","x.tickFormat"],["xTickRotate","x.tickRotate"],["xGrid","x.grid"],["xLine","x.line"],["xLabel","x.label"],["xLabelAnchor","x.labelAnchor"],["xLabelOffset","x.labelOffset"],["xFontVariant","x.fontVariant"],["xAriaLabel","x.ariaLabel"],["xAriaDescription","x.ariaDescription"],["xReverse","x.reverse"],["xZero","x.zero"],["xBase","x.base"],["xExponent","x.exponent"],["xConstant","x.constant"],["yScale","y.type"],["yDomain","y.domain"],["yRange","y.range"],["yNice","y.nice"],["yInset","y.inset"],["yInsetTop","y.insetTop"],["yInsetBottom","y.insetBottom"],["yClamp","y.clamp"],["yRound","y.round"],["yAlign","y.align"],["yPadding","y.padding"],["yPaddingInner","y.paddingInner"],["yPaddingOuter","y.paddingOuter"],["yAxis","y.axis"],["yTicks","y.ticks"],["yTickSize","y.tickSize"],["yTickSpacing","y.tickSpacing"],["yTickPadding","y.tickPadding"],["yTickFormat","y.tickFormat"],["yTickRotate","y.tickRotate"],["yGrid","y.grid"],["yLine","y.line"],["yLabel","y.label"],["yLabelAnchor","y.labelAnchor"],["yLabelOffset","y.labelOffset"],["yFontVariant","y.fontVariant"],["yAriaLabel","y.ariaLabel"],["yAriaDescription","y.ariaDescription"],["yReverse","y.reverse"],["yZero","y.zero"],["yBase","y.base"],["yExponent","y.exponent"],["yConstant","y.constant"],["facetMargin","facet.margin"],["facetMarginTop","facet.marginTop"],["facetMarginBottom","facet.marginBottom"],["facetMarginLeft","facet.marginLeft"],["facetMarginRight","facet.marginRight"],["facetGrid","facet.grid"],["facetLabel","facet.label"],["fxDomain","fx.domain"],["fxRange","fx.range"],["fxNice","fx.nice"],["fxInset","fx.inset"],["fxInsetLeft","fx.insetLeft"],["fxInsetRight","fx.insetRight"],["fxRound","fx.round"],["fxAlign","fx.align"],["fxPadding","fx.padding"],["fxPaddingInner","fx.paddingInner"],["fxPaddingOuter","fx.paddingOuter"],["fxAxis","fx.axis"],["fxTicks","fx.ticks"],["fxTickSize","fx.tickSize"],["fxTickSpacing","fx.tickSpacing"],["fxTickPadding","fx.tickPadding"],["fxTickFormat","fx.tickFormat"],["fxTickRotate","fx.tickRotate"],["fxGrid","fx.grid"],["fxLine","fx.line"],["fxLabel","fx.label"],["fxLabelAnchor","fx.labelAnchor"],["fxLabelOffset","fx.labelOffset"],["fxFontVariant","fx.fontVariant"],["fxAriaLabel","fx.ariaLabel"],["fxAriaDescription","fx.ariaDescription"],["fxReverse","fx.reverse"],["fyDomain","fy.domain"],["fyRange","fy.range"],["fyNice","fy.mice"],["fyInset","fy,inset"],["fyInsetTop","fy.insetTop"],["fyInsetBottom","fy.insetBottom"],["fyRound","fy.round"],["fyAlign","fy.align"],["fyPadding","fy.padding"],["fyPaddingInner","fy.paddingInner"],["fyPaddingOuter","fy.paddingOuter"],["fyAxis","fy.axis"],["fyTicks","fy.ticks"],["fyTickSize","fy.tickSize"],["fyTickSpacing","fy.tickSpacing"],["fyTickPadding","fy.tickPadding"],["fyTickFormat","fy.tickFormat"],["fyTickRotate","fy.tickRotate"],["fyGrid","fy.grid"],["fyLine","fy.line"],["fyLabel","fy.label"],["fyLabelAnchor","fy.labelAnchor"],["fyLabelOffset","fy.labelOffset"],["fyFontVariant","fy.fontVariant"],["fyAriaLabel","fy.ariaLabel"],["fyAriaDescription","fy.ariaDescription"],["fyReverse","fy.reverse"],["colorScale","color.type"],["colorDomain","color.domain"],["colorRange","color.range"],["colorClamp","color.clamp"],["colorN","color.n"],["colorNice","color.nice"],["colorScheme","color.scheme"],["colorInterpolate","color.interpolate"],["colorPivot","color.pivot"],["colorSymmetric","color.symmetric"],["colorLabel","color.label"],["colorReverse","color.reverse"],["colorZero","color.zero"],["colorTickFormat","color.tickFormat"],["colorBase","color.base"],["colorExponent","color.exponent"],["colorConstant","color.constant"],["opacityScale","opacity.type"],["opacityDomain","opacity.domain"],["opacityRange","opacity.range"],["opacityClamp","opacity.clamp"],["opacityNice","opacity.nice"],["opacityLabel","opacity.label"],["opacityReverse","opacity.reverse"],["opacityZero","opacity.zero"],["opacityTickFormat","opacity.tickFormat"],["opacityBase","opacity.base"],["opacityExponent","opacity.exponent"],["opacityConstant","opacity.constant"],["rScale","r.type"],["rDomain","r.domain"],["rRange","r.range"],["rClamp","r.clamp"],["rNice","r.nice"],["rZero","r.zero"],["rBase","r.base"],["rExponent","r.exponent"],["rConstant","r.constant"],["lengthScale","length.type"],["lengthDomain","length.domain"],["lengthRange","length.range"],["lengthClamp","length.clamp"],["lengthNice","length.nice"],["lengthZero","length.zero"],["lengthBase","length.base"],["lengthExponent","length.exponent"],["lengthConstant","length.constant"],["projectionType","projection.type"],["projectionParallels","projection.parallels"],["projectionPrecision","projection.precision"],["projectionRotate","projection.rotate"],["projectionDomain","projection.domain"],["projectionInset","projection.inset"],["projectionInsetLeft","projection.insetLeft"],["projectionInsetRight","projection.insetRight"],["projectionInsetTop","projection.insetTop"],["projectionInsetBottom","projection.insetBottom"],["projectionClip","projection.clip"]]);function Iet(e,t,n){for(let r=0;r<t.length;++r){let i=t[r];r===t.length-1?e[i]=n:e=e[i]||(e[i]={})}}function LP(e,t,n){for(let r in e){let i=_et.get(r);if(i==null)throw new Error(`Unrecognized plot attribute: ${r}`);let o=e[r];typeof o=="symbol"?n.push(r):o!==void 0&&Iet(t,i.split("."),o)}}var Met=new Set(["frame","hexgrid","sphere","graticule"]);async function kP(e){let t={marks:[]},n=[],{attributes:r,marks:i}=e;LP(r,t,n);let o=[];for(let a of i)for(let{type:c,data:l,options:u}of a.plotSpecs())Met.has(c)?t.marks.push(Dv[c](u)):t.marks.push(Dv[c](l,u)),o.push(a.index);Tet(t,e);let s=ny(t);Eet(s,o),Aet(e,s,r,n);for(let a of e.interactors)await a.init(s);return s}function Aet(e,t,n,r){r.forEach(i=>{let o=n[i];if(o===lo){if(!i.endsWith("Domain"))throw new Error(`Unsupported fixed attribute: ${i}`);let s=i.slice(0,-6),a=t.scale(s);a?.domain&&e.setAttribute(i,n[`${s}Reverse`]?a.domain.slice().reverse():a.domain)}else throw new Error(`Unrecognized symbol: ${o}`)})}function Tet(e,t){let{marks:n}=t;Ov("x",e,n),Ov("y",e,n),Ov("fx",e,n),Ov("fy",e,n)}function Ov(e,t,n){let r=t[e]||{};if(r.axis===null||r.label!==void 0)return;let i=n.map(l=>l.channelField(e)?.field);if(i.every(l=>l==null))return;let o,s,a;for(let l=0;l<i.length;++l){let{column:u,label:f}=i[l]||{};u===void 0&&f===void 0||(o===void 0&&s===void 0?(o=u,s=f,a=Net(n[l].data,e)||"number"):s!==f?s=void 0:o!==u&&(o=void 0))}let c=s||o;if(c!==void 0){if((a==="number"||a==="date")&&(e==="x"||e==="y")){r.percent&&(c=`${c} (%)`);let l=(e==="x"?1:-1)*(r.reverse?-1:1);e==="x"||r.labelAnchor==="center"?c=e==="x"==l<0?`\u2190 ${c}`:`${c} \u2192`:c=`${l<0?"\u2191 ":"\u2193 "}${c}`}t[e]={...r,label:c}}}function Eet(e,t){let n=e.querySelectorAll('g[aria-label="facet"]');if(n.length)for(let r of n)CP(r,t);else CP(e,t)}function CP(e,t){let n=-1;for(let r of e.children){let i=r.getAttribute("aria-label")||"";r.nodeName==="style"||i.includes("-axis")||i.includes("-grid")||r.setAttribute("data-index",t[++n])}}function Net(e,t){for(let n of e){let r=n[t]??n[t+"1"]??n[t+"2"];if(r!=null)return r instanceof Date?"date":typeof r}}var Det={width:640,marginLeft:40,marginRight:20,marginTop:20,marginBottom:30},Ey=class{constructor(t){this.attributes={...Det},this.listeners=null,this.interactors=[],this.legends=[],this.marks=[],this.markset=null,this.element=t||document.createElement("div"),this.element.setAttribute("class","plot"),this.element.style.display="flex",this.element.value=this,this.params=new Map,this.synch=RS()}margins(){return{left:this.getAttribute("marginLeft"),top:this.getAttribute("marginTop"),bottom:this.getAttribute("marginBottom"),right:this.getAttribute("marginRight")}}innerWidth(){let{left:t,right:n}=this.margins();return this.getAttribute("width")-t-n}innerHeight(t=400){let{top:n,bottom:r}=this.margins(),i=this.getAttribute("height");return i==null&&t!=null&&(i=t,this.setAttribute("height",i,{silent:!0})),i-n-r}pending(t){this.synch.pending(t)}update(t){return this.synch.ready(t)&&!this.pendingRender&&(this.pendingRender=!0,requestAnimationFrame(()=>this.render())),this.synch.promise}async render(){this.pendingRender=!1;let t=await kP(this),n=this.legends.flatMap(({legend:r,include:i})=>{let o=r.init(t);return i?o:[]});this.element.replaceChildren(t,...n),this.synch.resolve()}getAttribute(t){return this.attributes[t]}setAttribute(t,n,r){return Hh(this.attributes[t],n)?(n===void 0?delete this.attributes[t]:this.attributes[t]=n,r?.silent||this.listeners?.get(t)?.forEach(i=>i(t,n)),!0):!1}addAttributeListener(t,n){let r=this.listeners||(this.listeners=new Map);return r.has(t)||r.set(t,new Set),r.get(t).add(n),this}removeAttributeListener(t,n){return this.listeners?.get(t)?.delete(n)}addParams(t,n){let{params:r}=this;for(let i of n)r.has(i)?r.get(i).push(t):(r.set(i,[t]),i.addEventListener("value",()=>Promise.allSettled(r.get(i).map(o=>o.requestQuery()))))}addMark(t){return t.setPlot(this,this.marks.length),this.marks.push(t),this.markset=null,this}get markSet(){return this.markset||(this.markset=new Set(this.marks))}addInteractor(t){return this.interactors.push(t),this}addLegend(t,n=!0){t.setPlot(this),this.legends.push({legend:t,include:n})}};function Bv(e){return typeof e!="string"?!1:(e=e.toLowerCase().trim(),e==="none"||e==="currentcolor"||e.startsWith("url(")&&e.endsWith(")")||e.startsWith("var(")&&e.endsWith(")")||Rr(e)!==null)}var Oet=new Set(["order","sort","label","anchor","curve","tension","marker","markerStart","markerMid","markerEnd","textAnchor","lineAnchor","lineHeight","textOverflow","monospace","fontFamily","fontSize","fontStyle","fontVariant","fontWeight","frameAnchor","strokeLinejoin","strokeLinecap","strokeMiterlimit","strokeDasharray","strokeDashoffset","mixBlendMode","shapeRendering","imageRendering","preserveAspectRatio","interpolate","crossOrigin","paintOrder","pointerEvents","target"]);function FP(e){return Oet.has(e)}var Bet=new Set(["asterisk","circle","cross","diamond","diamond2","hexagon","plus","square","square2","star","times","triangle","triangle2","wye"]);function RP(e){return Bet.has(`${e}`.toLowerCase())}function Lv(e){return Iu(e)?Let(e):e}function Let(e){let{batches:t,numRows:n}=e;if(!n)return[];let r=Array.from({length:n},()=>({}));for(let i=0,o=0;o<t.length;++o){let s=t[o],{schema:a,numRows:c,numCols:l}=s;for(let u=0;u<l;++u){let f=s.getChildAt(u),{name:d,type:h}=a.fields[u],p=Gh(h);for(let m=i,g=0;g<c;++g,++m)r[m][d]=p(f.get(g))}i+=c}return r}var $P=e=>e==="stroke"||e==="fill",Cet=e=>e==="symbol",ket=(e,t)=>e!=="sort"&&e!=="tip"&&t!=null&&!Array.isArray(t),$3=(e,t)=>({channel:e,field:t,as:t instanceof xr?t.column:e}),P3=(e,t)=>({channel:e,value:t}),Cv=e=>Array.isArray(e),Bn=class extends ur{constructor(t,n,r,i={}){super(n?.options?.filterBy),this.type=t,this.reqs=i,this.source=n,Cv(this.source)&&(this.data=this.source);let o=this.channels=[],s=this.detail=new Set,a=this.params=new Set,c=(l,u)=>{let f=typeof u;if(l==="channels")for(let d in u)s.add(d),c(d,u[d]);else if(f==="function"&&u[Zh]){let d=u(this,l);for(let h in d)c(h,d[h])}else if(f==="string")FP(l)||$P(l)&&Bv(u)||Cet(l)&&RP(u)?o.push(P3(l,u)):o.push($3(l,Ia(u)));else if(ws(u))if(Array.isArray(u.columns))o.push($3(l,u)),a.add(u);else{let d=P3(l,u.value);o.push(d),u.addEventListener("value",h=>(d.value=h,this.update()))}else f==="object"&&ket(l,u)?o.push($3(l,u)):u!==void 0&&o.push(P3(l,u))};for(let l in r)c(l,r[l])}setPlot(t,n){this.plot=t,this.index=n,t.addParams(this,this.params),this.source?.table&&this.queryPending()}hasOwnData(){return this.source==null||Cv(this.source)}hasFieldInfo(){return!!this._fieldInfo}channel(t){return this.channels.find(n=>n.channel===t)}channelField(t,{exact:n}={}){let r=n?this.channel(t):this.channels.find(i=>i.channel.startsWith(t));return r?.field?r:null}fields(){if(this.hasOwnData())return null;let{source:{table:t},channels:n,reqs:r}=this,i=new Map;for(let{channel:o,field:s}of n){if(!s)continue;let a=s.stats?.stats||[],c=s.stats?.column??s,l=i.get(c)??i.set(c,new Set).get(c);a.forEach(u=>l.add(u)),r[o]?.forEach(u=>l.add(u))}return Array.from(i,([o,s])=>({table:t,column:o,stats:s}))}fieldInfo(t){let n=Object.fromEntries(t.map(r=>[r.column,r]));for(let r of this.channels){let{field:i}=r;i&&Object.assign(r,n[i.stats?.column??i])}return this._fieldInfo=!0,this}query(t=[]){if(this.hasOwnData())return null;let{channels:n,source:{table:r}}=this;return U3(n,r).where(t)}queryPending(){return this.plot.pending(this),this}queryResult(t){return this.data=Lv(t),this}update(){return this.plot.update(this)}plotSpecs(){let{type:t,data:n,detail:r,channels:i}=this,o={},s={};for(let a of i){let c=r.has(a.channel)?s:o;c[a.channel]=gi(a)}return r.size&&(o.channels=s),[{type:t,data:n,options:o}]}};function gi(e){return Object.hasOwn(e,"value")?e.value:$P(e.channel)?{value:e.as,scale:"color"}:e.as}function U3(e,t,n=[]){let r=ht.from({source:t}),i=new Set,o=!1;for(let s of e){let{channel:a,field:c,as:l}=s;if(!n.includes(a)){if(a==="orderby")r.orderby(s.value);else if(c){if(c.aggregate)o=!0;else{if(i.has(l))continue;i.add(l)}r.select({[l]:c})}}}return o&&r.groupby(Array.from(i)),r}function ql(e,t){let{plot:n}=e,r=n.getAttribute(`${t}Scale`);if(!r){let{type:o}=e.channelField(t);r=o==="date"?"time":"linear"}let i={type:r};switch(r){case"log":i.base=n.getAttribute(`${t}Base`)??10;break;case"pow":i.exponent=n.getAttribute(`${t}Exponent`)??1;break;case"symlog":i.constant=n.getAttribute(`${t}Constant`)??1;break}return Yh(i)}function Gr(e,t,n,r,i=1,o){let{field:s}=e.channelField(t);o=o??s;let{type:a,apply:c,sqlApply:l}=ql(e,t),u=!!e.plot.getAttribute(`${t}Reverse`),[f,d]=r.map(x=>c(x)),h=l(o),p=a==="time"||a==="utc"?h:o,m=d===f?0:(n-i)/(d-f),g=m!==1?` * ${m}::DOUBLE`:"";return[u?q`(${d} - ${h}::DOUBLE)${g}`:q`(${h}::DOUBLE - ${f})${g}`,p]}var z3={x:["min","max"]},q3={y:["min","max"]},kv={...z3,...q3};function PP(e,t,n,r,i){let{plot:o}=e,s=o.getAttribute(r),a=o.getAttribute(i);if(Array.isArray(s)&&!s[Sn])return s;{let{column:c,min:l,max:u}=e.channelField(n),f=j3(t,c)||(a?Us().domain([l,u]).nice().domain():[l,u]);return s!==lo&&(f[Sn]=!0),o.setAttribute(r,f,{silent:!0}),f}}function jo(e,t){return PP(e,t,"x","xDomain","xNice")}function Vo(e,t){return PP(e,t,"y","yDomain","yNice")}function j3(e,t){if(!e)return;let n,r,i=(o,s)=>{if(o==="BETWEEN"&&`${s.field}`===t){let{range:a}=s;a&&(n==null||a[0]<n)&&(n=a[0]),a&&(r==null||a[1]>r)&&(r=a[1])}};return Array.isArray(e)?e.forEach(o=>o.visit?.(i)):e.visit&&e.visit(i),n!=null&&r!=null&&n!==r?[n,r]:void 0}var Ny=class extends Bn{constructor(t,n,r){let i=t.endsWith("X")?"y":t.endsWith("Y")?"x":null,o=i?{[i]:["min","max"]}:void 0;super(t,n,r,o),this.dim=i}query(t=[]){let{plot:n,dim:r,source:i}=this,{optimize:o=!0}=i.options||{},s=super.query(t);if(!r)return s;let a=r==="x"?"y":"x",c=this.channelField(a,{exact:!0})?.as,{field:l,as:u,type:f,min:d,max:h}=this.channelField(r);if(o&&(f==="date"||f==="number")&&c){let m=r==="x"?n.innerWidth():n.innerHeight(),[g,y]=j3(t,l)||[d,h],[x]=Gr(this,r,m,[g,y],1,u),b=s.select().map(w=>w.as).filter(w=>w!==u&&w!==c);return Fet(s,x,u,c,b)}else return s.orderby(l)}};function Fet(e,t,n,r,i=[]){let o=q`FLOOR(${t})::INTEGER`,s=a=>ht.from(e).select(a).groupby(o,i);return ht.union(s([{[n]:ei(n),[r]:vu(r,n)},...i]),s([{[n]:ti(n),[r]:_u(r,n)},...i]),s([{[n]:vu(n,r),[r]:ei(r)},...i]),s([{[n]:_u(n,r),[r]:ti(r)},...i])).orderby(i,n)}function UP(e,t="density"){return Iu(e)?kS(e.getChild(t).type):typeof e[0]?.[t]=="number"?Float64Array:Array}function zP(e,t,n="density"){let r=new(UP(t))(e);if(Iu(t)){let i=t.numRows;if(i===0)return r;let o=Mu(t.getChild("index")),s=Mu(t.getChild(n));for(let a=0;a<i;++a)r[o[a]]=s[a]}else for(let i of t)r[i.index]=i[n];return r}function qP(e,t,n,r,i=[],o){let s=e*t,a=r.map(y=>UP(n,y)),c=r.length,l=y=>{let x={};return i.forEach((b,w)=>x[b]=y[w]),r.forEach((b,w)=>x[b]=new a[w](s)),x},u={},f=i.length?null:u[[]]=l([]),d=i.length?y=>u[y]??(u[y]=l(y)):()=>f,h=n.numRows;if(h===0)return Object.values(u);let p=Mu(n.getChild("index")),m=r.map(y=>Mu(n.getChild(y))),g=i.map(y=>n.getChild(y));if(o){let y=p.map(b=>b%e),x=p.map(b=>Math.floor(b/e));if(i.length)for(let b=0;b<h;++b){let w=g.map(v=>v.get(b)),_=d(w);_.index||(_.index=[]),_.index.push(b)}else f.index=p.map((b,w)=>w);Object.values(u).forEach(b=>{for(let w=0;w<c;++w)o(b.index,e,t,y,x,m[w],b[r[w]]);delete b.index})}else for(let y=0;y<h;++y){let x=g.map(w=>w.get(y)),b=d(x);for(let w=0;w<c;++w)b[r[w]][p[y]]=m[w][y]}return Object.values(u)}function Dy(e,t){let n=0,r=0;return e.forEach(i=>{let o=i[t],s=o.length;for(let a=0;a<s;++a){let c=o[a];c<n&&(n=c),c>r&&(r=c)}}),n===0&&r===0?[0,1]:[n,r]}function jP(e,t){let n=new Jn;return e.forEach(r=>{let i=r[t],o=i.length;for(let s=0;s<o;++s)n.add(i[s])}),Array.from(n).sort(zt)}function Ln(e,t,n,r){br(n)?(r=r||(()=>e.requestUpdate()),n.addEventListener("value",i=>(e[t]=i,r())),e[t]=n.value):e[t]=n}function Oy(e,t=!1){let n=new Float64Array(5),r=new Float64Array(4);Ret(n,r,e);let i=Float64Array.of(0,r[1]-n[1]*r[0],r[2]-n[2]*r[0],r[3]-n[3]*r[0],-n[4]*r[0]),o=1+n[1]+n[2]+n[3]+n[4],s=(r[0]+r[1]+r[2]+r[3])/o,a=(i[1]+i[2]+i[3]+i[4])/o;return{sigma:e,negative:t,a:n,b_causal:r,b_anticausal:i,sum_causal:s,sum_anticausal:a}}function Ret(e,t,n){let i=Float64Array.of(.84,1.8675,.84,-1.8675,-.34015,-.1299,-.34015,.1299),o=Math.exp(-1.783/n),s=Math.exp(-1.723/n),a=.6318/n,c=1.997/n,l=Float64Array.of(-o*Math.cos(a),o*Math.sin(a),-o*Math.cos(-a),o*Math.sin(-a),-s*Math.cos(c),s*Math.sin(c),-s*Math.cos(-c),s*Math.sin(-c)),u=n*2.5066282746310007,f=Float64Array.of(i[0],i[1],0,0,0,0,0,0),d=Float64Array.of(1,0,l[0],l[1],0,0,0,0,0,0),h,p;for(p=2;p<8;p+=2){for(f[p]=l[p]*f[p-2]-l[p+1]*f[p-1],f[p+1]=l[p]*f[p-1]+l[p+1]*f[p-2],h=p-2;h>0;h-=2)f[h]+=l[p]*f[h-2]-l[p+1]*f[h-1],f[h+1]+=l[p]*f[h-1]+l[p+1]*f[h-2];for(h=0;h<=p;h+=2)f[h]+=i[p]*d[h]-i[p+1]*d[h+1],f[h+1]+=i[p]*d[h+1]+i[p+1]*d[h];for(d[p+2]=l[p]*d[p]-l[p+1]*d[p+1],d[p+3]=l[p]*d[p+1]+l[p+1]*d[p],h=p;h>0;h-=2)d[h]+=l[p]*d[h-2]-l[p+1]*d[h-1],d[h+1]+=l[p]*d[h-1]+l[p+1]*d[h-2]}for(p=0;p<4;++p)h=p<<1,t[p]=f[h]/u,e[p+1]=d[h+2]}function VP(e,t,n,[r,i]){let o=new Float64Array(Math.max(r,i)),s=new Float64Array(Math.max(r,i)),a=new Float64Array(5),c=new Float64Array(n.length);for(let l=0,u=0;l<i;++l,u+=r){let f=c.subarray(u);Fv(e,n.subarray(u),r,1,o,s,a,f)}for(let l=0;l<r;++l){let u=c.subarray(l);Fv(t,u,i,r,o,s,a,u)}return c}function Fv(e,t,n,r=1,i=new Float64Array(n),o=new Float64Array(n),s=new Float64Array(5),a=i,c=$et){let l=r*2,u=r*3,f=r*4,d=r*n,h,p;for(c(i,t,n,r,e.b_causal,3,e.a,4,e.sum_causal,s,e.sigma),p=4,h=f;p<n;++p,h+=r)i[p]=e.b_causal[0]*t[h]+e.b_causal[1]*t[h-r]+e.b_causal[2]*t[h-l]+e.b_causal[3]*t[h-u]-e.a[1]*i[p-1]-e.a[2]*i[p-2]-e.a[3]*i[p-3]-e.a[4]*i[p-4];for(c(o,t,n,-r,e.b_anticausal,4,e.a,4,e.sum_anticausal,s,e.sigma),p=4,h=d-r*5;p<n;++p,h-=r)o[p]=e.b_anticausal[1]*t[h+r]+e.b_anticausal[2]*t[h+l]+e.b_anticausal[3]*t[h+u]+e.b_anticausal[4]*t[h+f]-e.a[1]*o[p-1]-e.a[2]*o[p-2]-e.a[3]*o[p-3]-e.a[4]*o[p-4];if(e.negative)for(p=0,h=0;p<n;++p,h+=r)a[h]=i[p]+o[n-p-1];else for(p=0,h=0;p<n;++p,h+=r)a[h]=Math.max(0,i[p]+o[n-p-1]);return a}function $et(e,t,n,r,i,o,s,a,c,l,u,f=.5){let d=Math.abs(r)*n,h=r<0?d+r:0,p,m,g;for(m=0;m<=a;++m)for(l[m]=m<=o?i[m]:0,g=1;g<=a&&g<=m;++g)l[m]-=s[g]*l[m-g];for(g=0;g<a;++g)for(e[g]=0,m=1;m<=g;++m)p=h+r*m,p>=0&&p<d&&(e[g]+=l[g-m]*t[p]);let y=t[h],x=Math.ceil(u*10);for(m=0;m<x;++m){for(g=0;g<a;++g)e[g]+=l[g]*y;if(c-=Math.abs(l[0]),c<=f)break;for(l[a]=m+a<=o?i[m+a]:0,g=1;g<=a;++g)l[a]-=s[g]*l[a-g];for(g=0;g<a;++g)l[g]=l[g+1]}}function YP({random:e=Io(42)}={}){return(t,n,r,i,o,s,a)=>{let{points:c,triangles:l,hull:u}=Pn.from(t,h=>i[h],h=>o[h]),f=new Uint8Array(n*r),d=Vet(s,e);for(let h=0;h<l.length;h+=3){let p=l[h],m=l[h+1],g=l[h+2],y=c[2*p],x=c[2*m],b=c[2*g],w=c[2*p+1],_=c[2*m+1],v=c[2*g+1],I=Math.min(y,x,b),A=Math.max(y,x,b),T=Math.min(w,_,v),D=Math.max(w,_,v),E=(_-v)*(y-b)+(w-v)*(b-x);if(!E)continue;let O=s[t[p]],C=s[t[m]],S=s[t[g]];for(let M=Math.floor(I);M<A;++M)for(let N=Math.floor(T);N<D;++N){if(M<0||M>=n||N<0||N>=r)continue;let F=M+.5,R=N+.5,k=((_-v)*(F-b)+(R-v)*(b-x))/E;if(k<0)continue;let $=((v-w)*(F-b)+(R-v)*(y-b))/E;if($<0)continue;let P=1-k-$;if(P<0)continue;let U=M+n*N;a[U]=d(O,k,C,$,S,P,M,N),f[U]=1}}return Pet(a,f,i,o,s,n,r,u,t,d),a}}function Pet(e,t,n,r,i,o,s,a,c,l){n=Float64Array.from(a,h=>n[c[h]]),r=Float64Array.from(a,h=>r[c[h]]),i=Array.from(a,h=>i[c[h]]);let u=n.length,f=Array.from({length:u},(h,p)=>zet(p,n,r)),d=0;for(let h=0;h<s;++h){let p=h+.5;for(let m=0;m<o;++m){let g=m+o*h;if(!t[g]){let y=m+.5;for(let x=0;x<u;++x){let b=(u+d+(x%2?(x+1)/2:-x/2))%u;if(f[b](y,p)){let w=Uet(n.at(b-1),r.at(b-1),n[b],r[b],y,p);e[g]=l(i.at(b-1),w,i[b],1-w,i[b],0,m,h),d=b;break}}}}}}function Uet(e,t,n,r,i,o){let s=n-e,a=r-t,c=s*(n-i)+a*(r-o),l=s*(i-e)+a*(o-t);return c>0&&l>0?c/(c+l):+(c>l)}function By(e,t,n,r){return e*r-n*t}function zet(e,t,n){let r=t.length,i=t.at(e-2),o=n.at(e-2),s=t.at(e-1),a=n.at(e-1),c=t[e],l=n[e],u=t.at(e+1-r),f=n.at(e+1-r),d=s-c,h=a-l,p=i-s,m=o-a,g=c-u,y=l-f,x=Math.hypot(d,h),b=Math.hypot(p,m),w=Math.hypot(g,y);return(_,v)=>{let I=_-s,A=v-a,T=_-c,D=v-l;return By(I,A,T,D)>-1e-6&&By(I,A,d,h)*b-By(I,A,p,m)*x>-1e-6&&By(T,D,g,y)*x-By(T,D,d,h)*w<=0}}function XP(e,t,n,r,i,o,s){let a=Pn.from(e,u=>r[u],u=>i[u]),c,l;for(let u=.5,f=0;u<n;++u){l=c;for(let d=.5;d<t;++d,++f)l=a.find(d,u,l),d===.5&&(c=l),s[f]=o[e[l]]}return s}function GP({random:e=Io(42),minDistance:t=.5,maxSteps:n=2}={}){return(r,i,o,s,a,c,l)=>{let u=Pn.from(r,p=>s[p],p=>a[p]),f,d,h;for(let p=.5,m=0;p<o;++p){d=f;for(let g=.5;g<i;++g,++m){let y=g,x=p;h=d=u.find(y,x,d),g===.5&&(f=d);let b,w=0;for(;(b=Math.hypot(s[r[h]]-y,a[r[h]]-x))>t&&w<n;){let _=e(g,p,w)*2*Math.PI;y+=Math.cos(_)*b,x+=Math.sin(_)*b,h=u.find(y,x,h),++w}l[m]=c[r[h]]}}return l}}function qet(e,t,n,r,i,o){return t*e+r*n+o*i}function jet(e){return(t,n,r,i,o,s,a,c)=>{let l=e(a,c);return l<n?t:l<n+i?r:o}}function Vet(e,t){return Yet(e)||Xet(e)?qet:jet(t)}function Yet(e){for(let t of e)if(t!=null)return typeof t=="number"}function Xet(e){for(let t of e)if(t!=null)return t instanceof Date}var la="density",Gi=class extends Bn{constructor(t,n,r){let{bandwidth:i=0,interpolate:o="none",pixelSize:s=1,pad:a=1,width:c,height:l,...u}=r,f=Get(u);super(t,n,u,kv),this.densityMap=f,Ln(this,"bandwidth",i,()=>this.grids?this.convolve().update():null),Ln(this,"pixelSize",s),Ln(this,"interpolate",o),Ln(this,"pad",a),Ln(this,"width",c),Ln(this,"height",l)}setPlot(t,n){let r=()=>{this.hasFieldInfo()&&this.requestUpdate()};return t.addAttributeListener("domainX",r),t.addAttributeListener("domainY",r),super.setPlot(t,n)}get filterIndexable(){let t=this.plot.getAttribute("xDomain"),n=this.plot.getAttribute("yDomain");return t&&n&&!t[Sn]&&!n[Sn]}query(t=[]){let{interpolate:n,pad:r,channels:i,densityMap:o,source:s}=this,[a,c]=this.extentX=jo(this,t),[l,u]=this.extentY=Vo(this,t),[f,d]=this.bins=this.binDimensions(this),[h,p]=Gr(this,"x",f,[a,c],r),[m,g]=Gr(this,"y",d,[l,u],r),y=r?[Ae(p,[+a,+c]),Ae(g,[+l,+u])]:[Is(+a,p),Ss(p,+c),Is(+l,g),Ss(g,+u)],x=ht.from(s.table).where(t.concat(y)),b=this.groupby=[],w={};for(let v of i)if(Object.hasOwn(v,"field")){let{as:I,channel:A,field:T}=v;T.aggregate?(w[A]=T,o[A]=!0):A==="weight"?w[la]=Fr(T):A!=="x"&&A!=="y"&&(x.select({[I]:T}),b.push(I))}let _=this.aggr=Object.keys(w);if(w.density&&_.length>1)throw new Error("Weight option can not be used with custom aggregates.");if(_.length||(_.push(la),w.density=kr()),n==="linear"){if(_.length>1)throw new Error("Linear binning not applicable to multiple aggregates.");if(!w.density)throw new Error("Linear binning not applicable to custom aggregates.");return Zet(x,h,m,w[la],f,b)}else return Het(x,h,m,w,f,b)}binDimensions(){let{plot:t,pixelSize:n,width:r,height:i}=this;return[r??Math.round(t.innerWidth()/n),i??Math.round(t.innerHeight()/n)]}queryResult(t){let[n,r]=this.bins,i=Wet(this.interpolate);return this.grids=qP(n,r,t,this.aggr,this.groupby,i),this.convolve()}convolve(){let{aggr:t,bandwidth:n,bins:r,grids:i,plot:o}=this;if(this.kde=this.grids,n>0){let s=t.length===1?t[0]:t.includes(la)?la:null;if(!s)return console.warn("No compatible grid found for smoothing."),this;let a=o.innerWidth(),c=o.innerHeight(),[l,u]=r,f=i.some(p=>p[s].some(m=>m<0)),d=Oy(n*(l-1)/a,f),h=Oy(n*(u-1)/c,f);this.kde=this.grids.map(p=>{let m=VP(d,h,p[s],r);return{...p,[s]:m}})}return this}plotSpecs(){throw new Error("Unimplemented. Use a Grid2D mark subclass.")}};function Get(e){let t={};for(let n in e)e[n]==="density"&&(delete e[n],t[n]=!0);return t}function Wet(e="none"){if(typeof e=="function")return e;switch(`${e}`.toLowerCase()){case"none":case"linear":return;case"nearest":return XP;case"barycentric":return YP();case"random-walk":return GP()}throw new Error(`invalid interpolate: ${e}`)}function Het(e,t,n,r,i,o){return e.select({index:q`FLOOR(${t})::INTEGER + FLOOR(${n})::INTEGER * ${i}`,...r}).groupby("index",o)}function Zet(e,t,n,r,i,o){let s=r?.column?`* ${r.column}`:"",a=(d,h)=>e.clone().select({xp:t,yp:n,i:d,w:h}),c=a(q`FLOOR(xp)::INTEGER + FLOOR(yp)::INTEGER * ${i}`,q`(FLOOR(xp)::INTEGER + 1 - xp) * (FLOOR(yp)::INTEGER + 1 - yp)${s}`),l=a(q`FLOOR(xp)::INTEGER + (FLOOR(yp)::INTEGER + 1) * ${i}`,q`(FLOOR(xp)::INTEGER + 1 - xp) * (yp - FLOOR(yp)::INTEGER)${s}`),u=a(q`FLOOR(xp)::INTEGER + 1 + FLOOR(yp)::INTEGER * ${i}`,q`(xp - FLOOR(xp)::INTEGER) * (FLOOR(yp)::INTEGER + 1 - yp)${s}`),f=a(q`FLOOR(xp)::INTEGER + 1 + (FLOOR(yp)::INTEGER + 1) * ${i}`,q`(xp - FLOOR(xp)::INTEGER) * (yp - FLOOR(yp)::INTEGER)${s}`);return ht.from(ht.unionAll(c,l,u,f)).select({index:"i",density:Fr("w")},o).groupby("index",o).having(Uc("density",0))}var Ly=class extends Gi{constructor(t,n){let{thresholds:r=10,...i}=n;super("geo",t,{bandwidth:20,interpolate:"linear",pixelSize:2,...i}),Ln(this,"thresholds",r,()=>this.grids?this.contours().update():null)}convolve(){return super.convolve().contours()}contours(){let{bins:t,densityMap:n,kde:r,thresholds:i,plot:o}=this,s=i;if(!Array.isArray(s)){let[,w]=Dy(r,"density");s=Array.from({length:s-1},(_,v)=>w*(v+1)/s)}(n.fill||n.stroke)&&this.plot.getAttribute("colorScale")!=="log"&&this.plot.setAttribute("colorZero",!0);let[a,c]=t,[l,u]=o.getAttribute("xDomain"),[f,d]=o.getAttribute("yDomain"),h=(u-l)/a,p=(d-f)/c,m=+l,g=+f,y=w=>m+w*h,x=w=>g+w*p,b=Fa().size(t);return this.data=r.flatMap(w=>s.map(_=>Object.assign(Jet(b.contour(w.density,_),y,x),{...w,density:_}))),this}plotSpecs(){let{type:t,channels:n,densityMap:r,data:i}=this,o={};for(let s of n){let{channel:a}=s;a!=="x"&&a!=="y"&&(o[a]=gi(s))}return r.fill&&(o.fill="density"),r.stroke&&(o.stroke="density"),[{type:t,data:i,options:o}]}};function Jet(e,t,n){function r(s){s.forEach(i)}function i(s){s.forEach(o)}function o(s){s[0]=t(s[0]),s[1]=n(s[1])}return e.coordinates.forEach(r),e}function Rv(e,t){if(typeof document<"u"){let n=document.createElement("canvas");return n.setAttribute("width",e),n.setAttribute("height",t),n}throw new Error("Can not create a canvas instance.")}function WP(e=1){let t=255*e|0;return(n,r,i)=>{for(let o=0,s=0;o<i;++o)for(let a=0;a<r;++a,s+=4)n[s+3]=t}}function HP(e){let{apply:t}=e;return(n,r,i,o)=>{for(let s=0,a=0;s<i;++s)for(let c=0,l=(i-s-1)*r;c<r;++c,a+=4)n[a+3]=255*t(o[c+l])|0}}function ZP(e={}){let{r:t=0,g:n=0,b:r=0,opacity:i=1}=typeof e=="string"?rn(e):e,o=new Uint8ClampedArray([t,n,r,255*i|0]);return(s,a,c)=>{for(let l=0,u=0;l<c;++l)for(let f=0;f<a;++f,u+=4)s[u+0]=o[0],s[u+1]=o[1],s[u+2]=o[2],s[u+3]=o[3]}}function JP(e){let{domain:t,range:n}=e,r=Object.create(null),i=new Uint8ClampedArray(4*t.length),o=t.length-1,s=n.length;for(let a=0;a<=o;++a){let c=n[a%s],{r:l,g:u,b:f,opacity:d=1}=typeof c=="string"?rn(c):c,h=a<<2;i[h+0]=l,i[h+1]=u,i[h+2]=f,i[h+3]=255*d|0,r[t[a]]=h}return(a,c,l,u)=>{if(u.map)for(let f=0,d=0;f<l;++f)for(let h=0,p=(l-f-1)*c;h<c;++h,d+=4){let m=r[u[h+p]];a[d+0]=i[m+0],a[d+1]=i[m+1],a[d+2]=i[m+2],a[d+3]=i[m+3]}else{let f=r[u];for(let d=0,h=0;d<l;++d)for(let p=0;p<c;++p,h+=4)a[h+0]=i[f+0],a[h+1]=i[f+1],a[h+2]=i[f+2],a[h+3]=i[f+3]}}}function QP(e,t,n){let{interpolate:r}=t,i=new Uint8ClampedArray(4*e),o=e-1;for(let s=0;s<=o;++s){let a=r(s/o),{r:c,g:l,b:u,opacity:f=1}=typeof a=="string"?rn(a):a,d=s<<2;i[d+0]=c,i[d+1]=l,i[d+2]=u,i[d+3]=255*f|0}return(s,a,c,l)=>{for(let u=0,f=0;u<c;++u)for(let d=0,h=(c-u-1)*a;d<a;++d,f+=4){let p=o*n(l[d+h])<<2;s[f+0]=i[p+0],s[f+1]=i[p+1],s[f+2]=i[p+2],s[f+3]=i[p+3]}}}var yc=class extends Gi{constructor(t,n){super("image",t,n)}setPlot(t,n){let r=()=>{this.hasFieldInfo()&&this.rasterize()};t.addAttributeListener("schemeColor",r),super.setPlot(t,n)}convolve(){return super.convolve().rasterize()}rasterize(){let{bins:t,kde:n}=this,[r,i]=t,{canvas:o,ctx:s,img:a}=ent(this,r,i),{alpha:c,alphaProp:l,color:u,colorProp:f}=V3(this);return this.data=n.map(d=>(u?.(a.data,r,i,d[f]),c?.(a.data,r,i,d[l]),s.putImageData(a,0,0),{src:o.toDataURL()})),this}plotSpecs(){let{type:t,plot:n,data:r}=this,i={src:"src",width:n.innerWidth(),height:n.innerHeight(),preserveAspectRatio:"none",imageRendering:this.channel("imageRendering")?.value,frameAnchor:"middle"};return[{type:t,data:r,options:i}]}},Cy=class extends yc{constructor(t,n){super(t,{bandwidth:20,interpolate:"linear",pixelSize:2,...n})}};function V3(e){let{aggr:t,densityMap:n,groupby:r,plot:i}=e,o=t.includes(la),s=t.includes("fillOpacity"),a=e.channel("fill"),c=e.channel("fillOpacity");if(t.length>2||o&&s)throw new Error("Invalid raster encodings. Try dropping an aggregate?");if(r.includes(c?.as))throw new Error("Raster fillOpacity must be an aggregate or constant.");let l=n.fill||t.includes("fill")?"grid":r.includes(a?.as)?"group":Bv(a?.value)?a.value:o&&i.getAttribute("colorScheme")?"grid":void 0,u=n.fillOpacity||t.includes("fillOpacity")?"grid":typeof c?.value=="number"?c.value:o&&l!=="grid"?"grid":void 0;if(l!=="grid"&&u!=="grid")throw new Error("Raster mark missing density values.");let f=a?.as??(l==="grid"?la:null),d=c?.as??(u==="grid"?la:null),h=l!=="grid"&&l!=="group"?ZP(l):Ket(e,f),p=u!=="grid"?WP(u):Qet(e,d);return{alphaProp:d,colorProp:f,alpha:p,color:h}}function Qet(e,t){let{plot:n,kde:r}=e,i=n.getAttribute("opacityDomain"),o=i===lo,s=i?.[Sn],a=!o&&!s&&i||Dy(r,t);(o||s)&&(s&&(a[Sn]=!0),n.setAttribute("colorDomain",a));let c=Pf({opacity:{type:n.getAttribute("opacityScale"),domain:a,clamp:n.getAttribute("opacityClamp"),nice:n.getAttribute("opacityNice"),reverse:n.getAttribute("opacityReverse"),zero:n.getAttribute("opacityZero"),base:n.getAttribute("opacityBase"),exponent:n.getAttribute("opacityExponent"),constant:n.getAttribute("opacityConstant")}});return HP(c)}function Ket(e,t){let{plot:n,kde:r}=e,i=!r[0][t]?.map,o=i||Array.isArray(r[0][t]),s=n.getAttribute("colorDomain"),a=s===lo,c=s?.[Sn],l=!a&&!c&&s||(i?r.map(f=>f[t]).sort(zt):o?jP(r,t):Dy(r,t));(a||c)&&(c&&(l[Sn]=!0),n.setAttribute("colorDomain",l));let u=Pf({color:{type:n.getAttribute("colorScale"),domain:l,range:n.getAttribute("colorRange"),clamp:n.getAttribute("colorClamp"),n:n.getAttribute("colorN"),nice:n.getAttribute("colorNice"),reverse:n.getAttribute("colorReverse"),scheme:n.getAttribute("colorScheme"),interpolate:n.getAttribute("colorInterpolate"),pivot:n.getAttribute("colorPivot"),symmetric:n.getAttribute("colorSymmetric"),zero:n.getAttribute("colorZero"),base:n.getAttribute("colorBase"),exponent:n.getAttribute("colorExponent"),constant:n.getAttribute("colorConstant")}});if(o)return JP(u);{let f=Pf({x:{type:tnt(u.type),domain:u.domain,reverse:u.reverse,range:[0,1],clamp:u.clamp,base:u.base,exponent:u.exponent,constant:u.constant}});return QP(1024,u,f.apply)}}function tnt(e){return e.endsWith("symlog")?"symlog":e.endsWith("log")?"log":e.endsWith("pow")?"pow":e.endsWith("sqrt")?"sqrt":e==="diverging"?"linear":e}function ent(e,t,n){if(!e.image||e.image.w!==t||e.image.h!==n){let r=Rv(t,n),i=r.getContext("2d",{willReadFrequently:!0}),o=i.getImageData(0,0,t,n);e.image={canvas:r,ctx:i,img:o,w:t,h:n}}return e.image}var ky=class extends yc{constructor(t,n){let{normalize:r=!0,...i}=n;super(t,i),Ln(this,"normalize",r)}query(t=[]){let{channels:n,normalize:r,source:i,binPad:o}=this,[s,a]=this.bins=this.binDimensions(this),[c]=Gr(this,"x",s,jo(this,t),o),[l]=Gr(this,"y",a,Vo(this,t),o),u=ht.from(i.table).where(nnt(this,t));this.aggr=["density"];let f=this.groupby=[],d=[];for(let h of n)if(Object.hasOwn(h,"field")){let{channel:p,field:m}=h;p==="z"?(u.select({[p]:m}),d.push("z")):p!=="x"&&p!=="y"&&(u.select({[p]:m}),f.push(p))}return rnt(u,c,l,d,s,a,f,r)}};function nnt(e,t){if(Array.isArray(t)&&!t.length)return t;let{column:n}=e.channelField("x"),{column:r}=e.channelField("y"),i=s=>{let a=`${s.field}`;return s.op!=="BETWEEN"||a!==n&&a!==r},o=s=>s.op==="AND"?Wn(s.children.filter(a=>i(a))):s;return Array.isArray(t)?t.filter(s=>i(s)).map(s=>o(s)):o(t)}function rnt(e,t,n,r,i,o,s=[],a=!0){e.select({x:q`FLOOR(${t})::INTEGER`,y:q`FLOOR(${n})::INTEGER`});let c=s.concat(r),l=c.length?`PARTITION BY ${c.join(", ")} `:"",u=ht.from(e).select(c,{x0:"x",y0:"y",dx:q`(lead(x) OVER sw - x)`,dy:q`(lead(y) OVER sw - y)`}).window({sw:q`${l}ORDER BY x ASC`}).qualify(Wn(q`(x0 < ${i} OR x0 + dx < ${i})`,q`(y0 < ${o} OR y0 + dy < ${o})`,q`(x0 > 0 OR x0 + dx > 0)`,q`(y0 > 0 OR y0 + dy > 0)`)),f=ht.select({x:q`GREATEST(MAX(ABS(dx)), MAX(ABS(dy)))`}).from("pairs"),d=ht.select({i:q`UNNEST(range((${f})))::INTEGER`}),h=ht.unionAll(ht.select(c,{x:q`x0 + i`,y:q`y0 + ROUND(i * dy / dx::FLOAT)::INTEGER`}).from("pairs","indices").where(q`ABS(dy) <= ABS(dx) AND i < ABS(dx)`),ht.select(c,{x:q`x0 + ROUND(SIGN(dy) * i * dx / dy::FLOAT)::INTEGER`,y:q`y0 + SIGN(dy) * i`}).from("pairs","indices").where(q`ABS(dy) > ABS(dx) AND i < ABS(dy)`),ht.select(c,{x:"x0",y:"y0"}).from("pairs").where(Pc("dx"))),p=["x"].concat(c).join(", "),m=ht.from("raster").select(c,"x","y",a?{w:q`1.0 / COUNT(*) OVER (PARTITION BY ${p})`}:null).where(Wn(Ae("x",[0,i],!0),Ae("y",[0,o],!0)));return ht.with({pairs:u,indices:d,raster:h,points:m}).from("points").select(s,{index:q`x + y * ${i}::INTEGER`,density:a?Fr("w"):kr()}).groupby("index",s)}var xd=class extends Bn{constructor(t,n,r){let{bins:i=1024,bandwidth:o=20,...s}=r,a=t.endsWith("X")?"y":"x";super(t,n,s,a==="x"?z3:q3),this.dim=a,Ln(this,"bins",i),Ln(this,"bandwidth",o,()=>this.grid?this.convolve().update():null)}get filterIndexable(){let t=this.dim==="x"?"xDomain":"yDomain",n=this.plot.getAttribute(t);return n&&!n[Sn]}query(t=[]){if(this.hasOwnData())throw new Error("Density1DMark requires a data source");let{bins:n,channels:r,dim:i,source:{table:o}}=this,s=this.extent=(i==="x"?jo:Vo)(this,t),[a,c]=Gr(this,i,n,s),l=U3(r,o,[i]).where(t.concat(Ae(c,s))),u=this.channelField("weight")?"weight":null;return int(l,a,u)}queryResult(t){return this.grid=zP(this.bins,t),this.convolve()}convolve(){let{bins:t,bandwidth:n,dim:r,grid:i,plot:o,extent:[s,a]}=this,c=i.some(x=>x<0),l=r==="x"?o.innerWidth():o.innerHeight(),u=Oy(n*(t-1)/l,c),f=Fv(u,i,t),d=this.data=[],h=r==="x"?"y":"x",p=this.channelField(r).as,m=+s,g=(a-m)/(t-1),y=1/g;for(let x=0;x<t;++x)d.push({[p]:m+x*g,[h]:f[x]*y});return this}plotSpecs(){let{type:t,data:n,channels:r,dim:i}=this,o=i==="x"?{y:"y"}:{x:"x"};for(let s of r)o[s.channel]=gi(s);return[{type:t,data:n,options:o}]}};function int(e,t,n){let r=n?`* ${n}`:"",i=e.clone().select({p:t,i:q`FLOOR(p)::INTEGER`,w:q`(FLOOR(p) + 1 - p)${r}`}),o=e.clone().select({p:t,i:q`FLOOR(p)::INTEGER + 1`,w:q`(p - FLOOR(p))${r}`});return ht.from(ht.unionAll(i,o)).select({index:"i",density:Fr("w")}).groupby("index").having($h("density",0))}var Fy=class extends Gi{constructor(t,n){let{type:r="dot",...i}=n;super(r,t,{bandwidth:20,interpolate:"linear",pad:0,pixelSize:2,...i})}convolve(){super.convolve();let{bins:t,pad:n,extentX:r,extentY:i}=this,[o,s]=t,a=ql(this,"x"),c=ql(this,"y"),[l,u]=r.map(g=>a.apply(g)),[f,d]=i.map(g=>c.apply(g)),h=(u-l)/(o-n),p=(d-f)/(s-n),m=n?0:.5;return this.data=ont(this.kde,t,l,f,h,p,a.invert,c.invert,m),this}plotSpecs(){let{type:t,channels:n,densityMap:r,data:i}=this,o={};for(let s of n){let{channel:a}=s;o[a]=a==="x"||a==="y"?a:gi(s)}for(let s in r)r[s]&&(o[s]="density");return[{type:t,data:i,options:o}]}};function ont(e,t,n,r,i,o,s,a,c){let l=1/(i*o),[u,f]=t,d=[];for(let h of e){let p=h.density;for(let m=0,g=0;g<f;++g)for(let y=0;y<u;++y,++m)d.push({...h,x:s(n+(y+c)*i),y:a(r+(g+c)*o),density:p[m]*l})}return d}var snt="geom",Ry=class extends Bn{constructor(t,n={},r){!Cv(t)&&!n?.geometry&&(n.geometry=qh(snt)),super("geo",t,n,r)}queryResult(t){super.queryResult(t);let n=this.channelField("geometry")?.as;return n&&this.data&&this.data.forEach(r=>{typeof r[n]=="string"&&(r[n]=JSON.parse(r[n]))}),this}};var $y=class extends Bn{constructor(t,n){let{type:r="hexagon",binWidth:i=20,...o}=n;super(r,t,{r:i/2,clip:!0,...o},kv),this.binWidth=i}get filterIndexable(){let t=this.plot.getAttribute("xDomain"),n=this.plot.getAttribute("yDomain");return t&&n&&!t[Sn]&&!n[Sn]}query(t=[]){if(this.hasOwnData())return null;let{plot:n,binWidth:r,channels:i,source:o}=this,[s,a]=jo(this,t),[c,l]=Vo(this,t),u=.5-n.getAttribute("marginLeft"),f=0-n.getAttribute("marginTop"),d=`${r}::DOUBLE`,h=`${r*(1.5/Math.sqrt(3))}::DOUBLE`,p=`${n.innerWidth()/(a-s)}::DOUBLE`,m=`${n.innerHeight()/(l-c)}::DOUBLE`,g,y,x=new Set,b={};for(let A of i)A.channel==="orderby"?w.orderby(A.value):A.channel==="x"?g=A:A.channel==="y"?y=A:Object.hasOwn(A,"field")&&(b[A.as]=A.field,A.field.aggregate&&A.field.columns.forEach(T=>x.add(T)));let w=ht.select({[g.as]:q`${s}::DOUBLE + ((x + 0.5 * (y & 1)) * ${d} + ${u})::DOUBLE / ${p}`,[y.as]:q`${l}::DOUBLE - (y * ${h} + ${f})::DOUBLE / ${m}`,...b}).groupby("x","y"),_=`${p} * (${g.field} - ${s}::DOUBLE)`,v=`${m} * (${l}::DOUBLE - ${y.field})`,I=ht.select({py:q`(${v} - ${f}) / ${h}`,pj:q`ROUND(py)::INTEGER`,px:q`(${_} - ${u}) / ${d} - 0.5 * (pj & 1)`,pi:q`ROUND(px)::INTEGER`,tt:q`ABS(py-pj) * 3 > 1 AND (px-pi)**2 + (py-pj)**2 > (px - pi - 0.5 * CASE WHEN px < pi THEN -1 ELSE 1 END)**2 + (py - pj - CASE WHEN py < pj THEN -1 ELSE 1 END)**2`,x:q`CASE WHEN tt THEN (pi + (CASE WHEN px < pi THEN -0.5 ELSE 0.5 END) + (CASE WHEN pj & 1 <> 0 THEN 0.5 ELSE -0.5 END))::INTEGER ELSE pi END`,y:q`CASE WHEN tt THEN (pj + CASE WHEN py < pj THEN -1 ELSE 1 END)::INTEGER ELSE pj END`}).select(Array.from(x)).from(o.table).where(vs(g.field),vs(y.field),t);return w.from(I)}};var Py=class extends Gi{constructor(t,n){let{origin:r=[0,0],dim:i="xy",...o}=n;super("image",t,o),this.origin=r,this.tileX=i.toLowerCase().includes("x"),this.tileY=i.toLowerCase().includes("y")}setPlot(t,n){let r=()=>{this.hasFieldInfo()&&this.rasterize()};t.addAttributeListener("schemeColor",r),super.setPlot(t,n)}requestQuery(){return this.requestTiles()}query(t=[]){return this._filter=t,null}tileQuery(t){let{binType:n,binPad:r,channels:i,densityMap:o,source:s}=this,[[a,c],[l,u]]=t,[f,d]=this.bins,[h,p]=Gr(this,"x",f,[a,c],r),[m,g]=Gr(this,"y",d,[l,u],r),y=r?[Ae(p,[+a,+c]),Ae(g,[+l,+u])]:[Is(+a,p),Ss(p,+c),Is(+l,g),Ss(g,+u)],x=ht.from(s.table).where(y),b=this.groupby=[],w={};for(let v of i)if(Object.hasOwn(v,"field")){let{as:I,channel:A,field:T}=v;T.aggregate?(w[A]=T,o[A]=!0):A==="weight"?w.density=Fr(T):A!=="x"&&A!=="y"&&(x.select({[I]:T}),b.push(I))}let _=this.aggr=Object.keys(w);if(w.density&&_.length>1)throw new Error("Weight option can not be used with custom aggregates.");if(_.length||(_.push("density"),w.density=kr()),n==="linear"){if(_.length>1)throw new Error("Linear binning not applicable to multiple aggregates.");if(!w.density)throw new Error("Linear binning not applicable to custom aggregates.");return fnt(x,h,m,w.density,f,b)}else return unt(x,h,m,w,f,b)}async requestTiles(){let t=ni();this.prefetch&&t.cancel(this.prefetch);let{binPad:n,tileX:r,tileY:i,origin:[o,s]}=this,[a,c]=this.bins=this.binDimensions(this),[l,u]=jo(this,this._filter),[f,d]=Vo(this,this._filter),h=u-l,p=d-f,m=Math.floor((l-o)*(a-n)/h),g=Math.floor((f-s)*(c-n)/p),y=(D,E)=>[[o+D*h,o+(D+1)*h],[s+E*p,s+(E+1)*p]],x=Math.floor((l-o)/h),b=r?KP((u-o)/h):x,w=Math.floor((f-s)/p),_=i?KP((d-s)/p):w,v=[];for(let D=x;D<=b;++D)for(let E=w;E<=_;++E)v.push([D,E]);let I=v.map(([D,E])=>t.query(this.tileQuery(y(D,E)))),A=[];if(r)for(let D=w;D<=_;++D)A.push([b+1,D]),A.push([x-1,D]);if(i){let D=r?x-1:x,E=r?b+1:b;for(let O=D;O<=E;++O)A.push([O,_+1]),A.push([O,w-1])}this.prefetch=A.map(([D,E])=>t.prefetch(this.tileQuery(y(D,E))));let T=await Promise.all(I);this.grids=[{density:ant(a,c,m,g,v,T)}],this.convolve().update()}convolve(){return super.convolve().rasterize()}rasterize(){let{bins:t,kde:n}=this,[r,i]=t,{canvas:o,ctx:s,img:a}=lnt(this,r,i),{alpha:c,alphaProp:l,color:u,colorProp:f}=V3(this);return this.data=n.map(d=>(u?.(a.data,r,i,d[f]),c?.(a.data,r,i,d[l]),s.putImageData(a,0,0),{src:o.toDataURL()})),this}plotSpecs(){let{type:t,data:n,plot:r}=this,i={src:"src",width:r.innerWidth(),height:r.innerHeight(),preserveAspectRatio:"none",imageRendering:this.channel("imageRendering")?.value,frameAnchor:"middle"};return[{type:t,data:n,options:i}]}};function ant(e,t,n,r,i,o){let s=new Float64Array(e*t);return o.forEach((a,c)=>{let[l,u]=i[c],f=l*e-n,d=u*t-r;cnt(e,t,s,a,f,d)}),s}function cnt(e,t,n,r,i,o){let s=r.numRows;if(s===0)return;let a=r.getChild("index").toArray(),c=r.getChild("density").toArray();for(let l=0;l<s;++l){let u=a[l],f=i+u%e,d=o+Math.floor(u/e);0<=f&&f<e&&0<=d&&d<t&&(n[f+d*e]=c[l])}}function lnt(e,t,n){if(!e.image||e.image.w!==t||e.image.h!==n){let r=Rv(t,n),i=r.getContext("2d",{willReadFrequently:!0}),o=i.getImageData(0,0,t,n);e.image={canvas:r,ctx:i,img:o,w:t,h:n}}return e.image}function unt(e,t,n,r,i,o){return e.select({index:q`FLOOR(${t})::INTEGER + FLOOR(${n})::INTEGER * ${i}`,...r}).groupby("index",o)}function fnt(e,t,n,r,i,o){let s=r.column?`* ${r.column}`:"",a=(d,h)=>e.clone().select({xp:t,yp:n,i:d,w:h}),c=a(q`FLOOR(xp)::INTEGER + FLOOR(yp)::INTEGER * ${i}`,q`(FLOOR(xp)::INTEGER + 1 - xp) * (FLOOR(yp)::INTEGER + 1 - yp)${s}`),l=a(q`FLOOR(xp)::INTEGER + (FLOOR(yp)::INTEGER + 1) * ${i}`,q`(FLOOR(xp)::INTEGER + 1 - xp) * (yp - FLOOR(yp)::INTEGER)${s}`),u=a(q`FLOOR(xp)::INTEGER + 1 + FLOOR(yp)::INTEGER * ${i}`,q`(xp - FLOOR(xp)::INTEGER) * (FLOOR(yp)::INTEGER + 1 - yp)${s}`),f=a(q`FLOOR(xp)::INTEGER + 1 + (FLOOR(yp)::INTEGER + 1) * ${i}`,q`(xp - FLOOR(xp)::INTEGER) * (yp - FLOOR(yp)::INTEGER)${s}`);return ht.from(ht.unionAll(c,l,u,f)).select({index:"i",density:Fr("w")},o).groupby("index",o).having(Uc("density",0))}function KP(e){let t=Math.floor(e);return t===e?t-1:t}function dnt(e,t,n){var r=1e-8,i=t-1,o=n-1,s=0,a,c,l,u,f,d,h,p,m,g,y;if(e<=0)return 0;if(e>=1)return 1;for(t>=1&&n>=1?(l=e<.5?e:1-e,u=Math.sqrt(-2*Math.log(l)),h=(2.30753+u*.27061)/(1+u*(.99229+u*.04481))-u,e<.5&&(h=-h),p=(h*h-3)/6,m=2/(1/(2*t-1)+1/(2*n-1)),g=h*Math.sqrt(p+m)/m-(1/(2*n-1)-1/(2*t-1))*(p+5/6-2/(3*m)),h=t/(t+n*Math.exp(2*g))):(a=Math.log(t/(t+n)),c=Math.log(n/(t+n)),u=Math.exp(t*a)/t,f=Math.exp(n*c)/n,g=u+f,e<u/g?h=Math.pow(t*g*e,1/t):h=1-Math.pow(n*g*(1-e),1/n)),y=-bd(t)-bd(n)+bd(t+n);s<10;s++){if(h===0||h===1)return h;if(d=hnt(h,t,n)-e,u=Math.exp(i*Math.log(h)+o*Math.log(1-h)+y),f=d/u,h-=u=f/(1-.5*Math.min(1,f*(i/h-o/(1-h)))),h<=0&&(h=.5*(h+u)),h>=1&&(h=.5*(h+u+1)),Math.abs(u)<r*h&&s>0)break}return h}function hnt(e,t,n){var r=e===0||e===1?0:Math.exp(bd(t+n)-bd(t)-bd(n)+t*Math.log(e)+n*Math.log(1-e));return e<0||e>1?!1:e<(t+1)/(t+n+2)?r*tU(e,t,n)/t:1-r*tU(1-e,n,t)/n}function tU(e,t,n){var r=1e-30,i=1,o=t+n,s=t+1,a=t-1,c=1,l=1-o*e/s,u,f,d,h;for(Math.abs(l)<r&&(l=r),l=1/l,h=l;i<=100&&(u=2*i,f=i*(n-i)*e/((a+u)*(t+u)),l=1+f*l,Math.abs(l)<r&&(l=r),c=1+f/c,Math.abs(c)<r&&(c=r),l=1/l,h*=l*c,f=-(t+i)*(o+i)*e/((t+u)*(s+u)),l=1+f*l,Math.abs(l)<r&&(l=r),c=1+f/c,Math.abs(c)<r&&(c=r),l=1/l,d=l*c,h*=d,!(Math.abs(d-1)<3e-7));i++);return h}function bd(e){var t=0,n=[76.18009172947146,-86.5053203294167,24.01409824083091,-1.231739572450155,.001208650973866179,-5395239384953e-18],r=1.000000000190015,i,o,s;for(s=(o=i=e)+5.5,s-=(i+.5)*Math.log(s);t<6;t++)r+=n[t]/++o;return Math.log(2.506628274631*r/i)-s}function eU(e,t){var n=dnt(2*Math.min(e,1-e),.5*t,.5);return n=Math.sqrt(t*(1-n)/n),e>.5?n:-n}var Uy=class extends Bn{constructor(t,n){let{ci:r=.95,precision:i=4,...o}=n;super("line",t,o);let s=()=>this.modelFit?this.confidenceBand().update():null;Ln(this,"ci",r,s),Ln(this,"precision",i,s)}query(t=[]){let n=this.channelField("x").as,r=this.channelField("y").as,i=Array.from(new Set(["stroke","z","fx","fy"].flatMap(o=>this.channelField(o)?.as||[])));return ht.from(super.query(t)).select({intercept:lS(r,n),slope:uS(r,n),n:fS(r,n),ssy:dS(r,n),ssx:hS(r,n),xm:pS(r,n),x0:Su(ei(n).where(vs(r))),x1:Su(ti(n).where(vs(r)))}).select(i).groupby(i)}queryResult(t){return this.modelFit=Lv(t),this.lineData=this.modelFit.flatMap(n=>pnt(n)),this.confidenceBand()}confidenceBand(){let{ci:t,modelFit:n,precision:r,plot:i}=this,o=i.innerWidth();return this.areaData=t?n.flatMap(s=>mnt(t,r,s,o)):null,this}plotSpecs(){let{lineData:t,areaData:n,channels:r,ci:i}=this,o={x:"x",y:"y"},s={x:"x",y1:"y1",y2:"y2",fillOpacity:.1};for(let a of r)switch(a.channel){case"x":case"y":case"fill":break;case"stroke":o.stroke=s.fill=gi(a);break;case"strokeOpacity":o.strokeOpacity=gi(a);break;case"fillOpacity":s.fillOpacity=gi(a);break;default:o[a.channel]=s[a.channel]=gi(a);break}return[...i?[{type:"areaY",data:n,options:s}]:[],{type:"line",data:t,options:o}]}};function pnt(e){let{x0:t,x1:n,xm:r,intercept:i,slope:o,n:s,ssx:a,ssy:c,...l}=e;return[{x:t,y:i+t*o,...l},{x:n,y:i+n*o,...l}]}function mnt(e,t,n,r){let{x0:i,x1:o,xm:s,intercept:a,slope:c,n:l,ssx:u,ssy:f,...d}=n,h=t*(o-i)/r,p=eU((1-e)/2,l-2)*Math.sqrt(f/(l-2));return Ue(i,o-h/2,h).concat(o).map(m=>{let g=a+m*c,y=p*Math.sqrt(1/l+(m-s)**2/u);return{x:m,y1:g-y,y2:g+y,...d}})}function nU(e){let t=e.toLowerCase(),n=e.length,r="";for(let i=0;i<n;++i)r+=(e[i]!==t[i]?"-":"")+t[i];return r}function wd(e){let t={};for(let n in e)t[nU(n)]=e[n];return t}function ynt(e){let{channels:t}=e,n=new Set,r=!1,i=!1;for(let o of t){let{channel:s,field:a,as:c}=o;if(s==="orderby")r=!0;else if(a)if(a.aggregate)i=!0;else{if(n.has(c))continue;n.add(c)}}return!r&&i&&n.size&&e.channels.push({channel:"orderby",value:Array.from(n)}),e}var zy=class{constructor(t,{selection:n,channels:r={}}){this.mark=ynt(t),this.selection=n;let i=Object.entries(wd(r));this.channels=i.length?i:[["opacity",.2]],this.selection.addEventListener("value",kd(()=>this.update()))}init(t){this.svg=t;let n=this.values=[],r=this.mark.index,i=this.nodes=t.querySelectorAll(`[data-index="${r}"] > *`),{channels:o}=this;for(let s=0;s<i.length;++s){let a=i[s];n.push(o.map(c=>a.getAttribute(c[0])))}return this.update()}async update(){let{svg:t,nodes:n,channels:r,values:i,mark:o,selection:s}=this;if(!t)return;let a=await gnt(o,s);for(let c=0;c<n.length;++c){let l=n[c],u=i[c],f=a(l.__data__);for(let d=0;d<r.length;++d){let[h,p]=r[d];l.setAttribute(h,f?u[d]:p)}}}};async function gnt(e,t){let n=t?.predicate(e);if(!n||n.length===0)return()=>!0;let r=e.filterBy?.predicate(e,!0),i={__:Wn(n)},o=e.query(r),s=o.groupby().length?o.select(i):o.$select(i),a=await e.coordinator.query(s),c=a.getChild?.("__");return a.numRows||a.length?c?l=>c.get(l):l=>a[l].__:()=>!1}function Y3(e){let t=e.on,n=!0;function r(i){n=!1,i(),n=!0}return e.reset=(...i)=>{r(()=>e.clear(...i))},e.moveSilent=(...i)=>{r(()=>e.move(...i))},e.on=(...i)=>{if(i.length>1&&i[1]){let o=i[1];i[1]=(...s)=>n&&o(...s)}return t(...i)},e}function rU(){return Y3(vI())}function iU(){return Y3(bI())}function oU(){return Y3(wI())}function qy(e,t){return e===t||e&&t&&Math.abs(e[0]-t[0])<1e-12&&Math.abs(e[1]-t[1])<1e-12||!1}function Yo(e,t){let n=e.channelField(t)?.field;return n?.basis||n}function jy(e,t,n=1){return t.invert(n*Math.floor(e/n))}function $v(){let e=this,t=e.getScreenCTM,n;e.getScreenCTM=()=>e.isConnected?n=t.call(e):n}var vd=class{constructor(t,{channel:n,selection:r,field:i,pixelSize:o=1,peers:s=!0,brush:a}){this.mark=t,this.channel=n,this.pixelSize=o||1,this.selection=r,this.peers=s,this.field=i||Yo(t,n),this.style=a&&wd(a),this.brush=n==="y"?oU():iU(),this.brush.on("brush end",({selection:c})=>this.publish(c))}reset(){this.value=void 0,this.g&&this.brush.reset(this.g)}activate(){this.selection.activate(this.clause(this.value||[0,1]))}publish(t){let n;t&&(n=t.map(r=>jy(r,this.scale,this.pixelSize)).sort((r,i)=>r-i)),qy(n,this.value)||(this.value=n,this.g.call(this.brush.moveSilent,t),this.selection.update(this.clause(n)))}clause(t){let{mark:n,pixelSize:r,field:i,scale:o}=this;return{source:this,schema:{type:"interval",pixelSize:r,scales:[o]},clients:this.peers?n.plot.markSet:new Set().add(n),value:t,predicate:t?Ae(i,t):null}}init(t){let{brush:n,channel:r,style:i}=this;this.scale=t.scale(r);let o=t.scale("x").range,s=t.scale("y").range;n.extent([[ue(o),ue(s)],[Ht(o),Ht(s)]]);let a=Vt(t).selectAll('g[aria-label="facet"]'),c=a.size()?a:Vt(t);if(this.g=c.append("g").attr("class",`interval-${r}`).each($v).call(n).call(n.moveSilent,this.value?.map(this.scale.apply)),i){let l=this.g.selectAll("rect.selection");for(let u in i)l.attr(u,i[u])}t.addEventListener("pointerenter",()=>this.activate())}};var Pv=(e,t)=>e-t,Vy=class{constructor(t,{selection:n,xfield:r,yfield:i,pixelSize:o=1,peers:s=!0,brush:a}){this.mark=t,this.pixelSize=o||1,this.selection=n,this.peers=s,this.xfield=r||Yo(t,"x"),this.yfield=i||Yo(t,"y"),this.style=a&&wd(a),this.brush=rU(),this.brush.on("brush end",({selection:c})=>this.publish(c))}reset(){this.value=void 0,this.g&&this.brush.reset(this.g)}activate(){this.selection.activate(this.clause(this.value||[[0,1],[0,1]]))}publish(t){let{value:n,pixelSize:r,xscale:i,yscale:o}=this,s,a;if(t){let[c,l]=t;s=[c[0],l[0]].map(u=>jy(u,i,r)).sort(Pv),a=[c[1],l[1]].map(u=>jy(u,o,r)).sort(Pv)}(!qy(s,n?.[0])||!qy(a,n?.[1]))&&(this.value=t?[s,a]:void 0,this.g.call(this.brush.moveSilent,t),this.selection.update(this.clause(this.value)))}clause(t){let{mark:n,pixelSize:r,xfield:i,yfield:o,xscale:s,yscale:a}=this;return{source:this,schema:{type:"interval",pixelSize:r,scales:[s,a]},clients:this.peers?n.plot.markSet:new Set().add(n),value:t,predicate:t?Wn(Ae(i,t[0]),Ae(o,t[1])):null}}init(t){let{brush:n,style:r}=this,i=this.xscale=t.scale("x"),o=this.yscale=t.scale("y"),s=i.range,a=o.range;n.extent([[ue(s),ue(a)],[Ht(s),Ht(a)]]);let c=Vt(t).selectAll('g[aria-label="facet"]'),l=c.size()?c:Vt(t);if(this.g=l.append("g").attr("class","interval-xy").each($v).call(n),r){let u=this.g.selectAll("rect.selection");for(let f in r)u.attr(f,r[f])}if(this.value){let[u,f]=this.value[0].map(i.apply).sort(Pv),[d,h]=this.value[1].map(o.apply).sort(Pv);this.g.call(n.moveSilent,[[u,d],[f,h]])}t.addEventListener("pointerenter",()=>this.activate())}};var _d=class{constructor(t,{selection:n,channel:r,field:i}){this.mark=t,this.selection=n,this.clients=new Set().add(t),this.channel=r,this.field=i||Yo(t,[r])}clause(t){let{clients:n,field:r}=this,i=t?_s(r,Cr(t)):null;return{source:this,schema:{type:"point"},clients:n,value:t,predicate:i}}init(t){let n=this,{mark:r,channel:i,selection:o}=this,{data:s}=r,a=r.channelField(i).as,c=Vt(t).selectAll('g[aria-label="facet"]'),l=c.size()?c:Vt(t),u=t.scale(i),f=!ri(o);l.on("pointerdown pointermove",function(d){let[h,p]=kn(d,this),m=xnt(s,a,u.invert(i==="x"?h:p));o.update(f?m:n.clause(m))}),!f&&t.addEventListener("pointerenter",()=>{this.selection.activate(this.clause(0))})}};function xnt(e,t,n){let r=1/0,i;return e.forEach(o=>{let s=Math.abs(o[t]-n);s<r&&(r=s,i=o[t])}),i}var sU=(e,t)=>e-t,Yy=class{constructor(t,{x:n=new Ms,y:r=new Ms,xfield:i,yfield:o,zoom:s=!0,panx:a=!0,pany:c=!0}){this.mark=t,this.xsel=n,this.ysel=r,this.xfield=i||Yo(t,"x"),this.yfield=o||Yo(t,"y"),this.zoom=X3(s,[0,1/0],[1,1]),this.panx=this.xsel&&a,this.pany=this.ysel&&c;let{plot:l}=t;a&&this.xsel.addEventListener("value",u=>{l.setAttribute("xDomain",u)&&l.update()}),c&&this.ysel.addEventListener("value",u=>{l.setAttribute("yDomain",u)&&l.update()})}publish(t){if(this.panx){let n=bnt(t,this.xscale);this.xsel.update(this.clause(n,this.xfield,this.xscale))}if(this.pany){let n=wnt(t,this.yscale);this.ysel.update(this.clause(n,this.yfield,this.yscale))}}clause(t,n,r){return{source:this,schema:{type:"interval",scales:[r]},clients:this.mark.plot.markSet,value:t,predicate:t?Ae(n,t):null}}init(t){if(this.svg=t,this.initialized)return;this.initialized=!0;let{panx:n,pany:r,mark:{plot:{element:i}},xsel:o,ysel:s}=this;this.xscale=t.scale("x"),this.yscale=t.scale("y");let a=this.xscale.range.slice().sort(sU),c=this.yscale.range.slice().sort(sU),l=X3(n,[-1/0,1/0],a),u=X3(r,[-1/0,1/0],c),f=$A().extent([[a[0],c[0]],[a[1],c[1]]]).scaleExtent(this.zoom).translateExtent([[l[0],u[0]],[l[1],u[1]]]).on("start",()=>{this.xscale=this.svg.scale("x"),this.yscale=this.svg.scale("y")}).on("end",()=>i.__zoom=new qr(1,0,0)).on("zoom",({transform:d})=>this.publish(d));if(Vt(i).call(f),n||r){let d=!1;i.addEventListener("mouseenter",()=>{if(!d){if(d=!0,n){let{xscale:h,xfield:p}=this;o.activate(this.clause(h.domain,p,h))}if(r){let{yscale:h,yfield:p}=this;s.activate(this.clause(h.domain,p,h))}}}),i.addEventListener("mouseleave",()=>d=!1)}}};function X3(e,t,n){return e?Array.isArray(e)?e:t:n}function bnt(e,t){return t.range.map(e.invertX,e).map(t.invert,t)}function wnt(e,t){return t.range.map(e.invertY,e).map(t.invert,t)}var jl=class{constructor(t,{selection:n,channels:r,peers:i=!0}){this.value=null,this.mark=t,this.selection=n,this.peers=i,this.channels=r.map(o=>{let s=o==="color"?["fill","stroke"]:o==="x"?["x","x1","x2"]:o==="y"?["y","y1","y2"]:[o];for(let a=0;a<s.length;++a){let c=t.channelField(s[a]);if(c)return{field:c.field?.basis||c.field,as:c.as}}throw new Error(`Missing channel: ${o}`)})}clause(t){let{channels:n,mark:r}=this,i=null;if(t){let o=t.map(s=>{let a=s.map((c,l)=>Ph(n[l].field,Cr(c)));return a.length>1?Wn(a):a[0]});i=o.length>1?$c(o):o[0]}return{source:this,schema:{type:"point"},clients:this.peers?r.plot.markSet:new Set().add(r),value:t,predicate:i}}init(t,n,r){let{mark:i,channels:o,selection:s}=this,{data:a}=i;r=r||(l=>{let u=a[l.__data__];return o.map(f=>u[f.as])}),n=n||`[data-index="${i.index}"]`;let c=new Set(t.querySelectorAll(n));t.addEventListener("pointerdown",l=>{let u=s.single?s.value:this.value,f=l.target,d=null;if(vnt(c,f)){let h=r(f);l.shiftKey&&u?.length?(d=u.filter(p=>G3(p,h)),d.length===u.length&&d.push(h)):u?.length===1&&!G3(u[0],h)?d=null:d=[h]}this.value=d,_nt(u,d)&&s.update(this.clause(d))}),t.addEventListener("pointerenter",()=>{this.selection.activate(this.clause([this.channels.map(()=>0)]))})}};function vnt(e,t){return e.has(t)||e.has(t.parentNode)||e.has(t.parentNode?.parentNode)}function _nt(e,t){return e==null||t==null?e!=null||t!=null:e.length!==t.length||e.some((n,r)=>G3(n,t[r]))}function G3(e,t){let n=e.length;if(t.length!==n)return!0;for(let r=0;r<n;++r)if(e[r]!==t[r])return!0;return!1}var Sd=class{constructor(t,n){let{as:r,...i}=n;this.channel=t,this.options={label:null,...i},this.selection=r,this.element=document.createElement("div"),this.element.setAttribute("class","legend"),this.element.value=this}setPlot(t){let{channel:n,selection:r}=this,i=Snt(t,n);this.selection&&i&&(this.handler=new jl(i,{selection:r,channels:[n]}),this.selection.addEventListener("value",()=>this.update()))}init(t){let{channel:n,options:r,handler:i}=this,s=t.scale(n).type==="ordinal"?r:{marginTop:1,tickSize:2,height:28,...r};return this.legend=t.legend(n,s),i&&(i.init(this.legend,":scope > div",a=>[a.__data__]),this.update()),this.element.replaceChildren(this.legend),this.element}update(){if(!this.legend)return;let{value:t}=this.selection,n=t&&t.length?new Set(t.map(i=>i[0])):null,r=this.legend.querySelectorAll(":scope > div");for(let i of r){let o=n?n.has(i.__data__):!0;i.style.opacity=o?1:.2}}};function Snt({marks:e},t){let n=t==="color"?["fill","stroke"]:t==="opacity"?["opacity","fillOpacity","strokeOpacity"]:null;if(n==null)return null;for(let r=e.length-1;r>-1;--r)for(let i of n)if(e[r].channelField(i,{exact:!0}))return e[r];return null}var Int=new Set(["rectY-x","rectX-y","rect-x","rect-y"]);function Uv(e,t={steps:25}){let n=(r,i)=>Int.has(`${r.type}-${i}`)?{[`${i}1`]:W3(r,i,e,t),[`${i}2`]:W3(r,i,e,{...t,offset:1})}:{[i]:W3(r,i,e,t)};return n[Zh]=!0,n}function W3(e,t,n,r){return{column:n,label:n,get stats(){return{column:n,stats:["min","max"]}},get columns(){return[n]},get basis(){return n},toString(){let{apply:i,sqlApply:o,sqlInvert:s}=ql(e,t),{min:a,max:c}=e.channelField(t),l=Mnt(i(a),i(c),r),u=o(n),f=l.min===0?u:`(${u} - ${l.min})`,d=`${(l.max-l.min)/l.steps}::DOUBLE`,h=r.offset?`${r.offset} + `:"",p=`${l.min} + ${d} * (${h}FLOOR(${f} / ${d}))`;return`${s(p)}`}}}function Mnt(e,t,n){let{steps:r=25,minstep:i=0,nice:o=!0}=n;if(o!==!1){let s=t-e,a=r,c=Math.LN10,l=Math.ceil(Math.log(a)/c),u=Math.max(i,Math.pow(10,Math.round(Math.log(s)/c)-l));for(;Math.ceil(s/u)>a;)u*=10;let f=[5,2],d;for(let m=0,g=f.length;m<g;++m)d=u/f[m],d>=i&&s/d<=a&&(u=d);d=Math.log(u);let h=d>=0?0:~~(-d/c)+1,p=Math.pow(10,-h-1);d=Math.floor(e/u+p)*u,e=e<d?d-u:d,t=Math.ceil(t/u)*u,r=Math.round((t-e)/u)}return{min:e,max:t,steps:r}}var Ant=e=>e&&typeof e=="object"&&!Array.isArray(e);var Xy=class extends ur{constructor({element:t,filterBy:n,from:r,column:i,label:o=i,format:s=u=>u,options:a,value:c,as:l}={}){super(n),this.from=r,this.column=i,this.selection=l,this.format=s,this.element=t??document.createElement("div"),this.element.setAttribute("class","input"),this.element.value=this;let u=document.createElement("label");u.innerText=o||i,this.element.appendChild(u),this.select=document.createElement("select"),a&&(this.data=a.map(f=>Ant(f)?f:{value:f}),this.update()),c=c??this.selection?.value??this.data?.[0]?.value,this.selection?.value===void 0&&this.publish(c),this.element.appendChild(this.select),this.selection&&(this.select.addEventListener("input",()=>{this.publish(this.selectedValue()??null)}),ri(this.selection)||this.selection.addEventListener("value",f=>{f!==this.select.value&&this.selectedValue(f)}))}selectedValue(t){if(arguments.length===0){let n=this.select.selectedIndex;return this.data[n].value}else{let n=this.data?.findIndex(r=>r.value===t);n>=0?this.select.selectedIndex=n:this.select.value=String(t)}}reset(){this.select.selectedIndex=this.from?0:-1}publish(t){let{selection:n,column:r}=this;ri(n)?n.update({source:this,schema:{type:"point"},value:t,predicate:t!==""&&t!==void 0?_s(r,Cr(t)):null}):br(n)&&n.update(t)}query(t=[]){let{from:n,column:r}=this;return n?ht.from(n).select({value:r}).distinct().where(t).orderby(r):null}queryResult(t){return this.data=[{value:"",label:"All"},...t],this}update(){let{data:t,format:n,select:r}=this;r.replaceChildren();for(let{value:i,label:o}of t){let s=document.createElement("option");s.setAttribute("value",i),s.innerText=o??n(i),this.select.appendChild(s)}return this.selection&&this.selectedValue(this.selection?.value??""),this}};var Tnt={contains:B2,prefix:L2,suffix:C2,regexp:O2},Ent=0;var Gy=class extends ur{constructor({element:t,filterBy:n,from:r,column:i,label:o,type:s="contains",as:a}={}){if(super(n),this.id="search_"+ ++Ent,this.type=s,this.from=r,this.column=i,this.selection=a,this.element=t??document.createElement("div"),this.element.setAttribute("class","input"),this.element.value=this,o){let c=document.createElement("label");c.setAttribute("for",this.id),c.innerText=o,this.element.appendChild(c)}this.searchbox=document.createElement("input"),this.searchbox.setAttribute("id",this.id),this.searchbox.setAttribute("type","text"),this.searchbox.setAttribute("placeholder","Query"),this.element.appendChild(this.searchbox),this.selection&&(this.searchbox.addEventListener("input",()=>{this.publish(this.searchbox.value||null)}),ri(this.selection)||this.selection.addEventListener("value",c=>{c!==this.searchbox.value&&(this.searchbox.value=c)}))}reset(){this.searchbox.value=""}publish(t){let{selection:n,column:r,type:i}=this;ri(n)?n.update({source:this,schema:{type:i},value:t,predicate:t?Tnt[i](r,Cr(t)):null}):br(n)&&n.update(t)}query(t=[]){let{from:n,column:r}=this;return n?ht.from(n).select({list:r}).distinct().where(t):null}queryResult(t){return this.data=t,this}update(){let t=document.createElement("datalist"),n=`${this.id}_list`;t.setAttribute("id",n);for(let r of this.data){let i=document.createElement("option");i.setAttribute("value",r.list),t.append(i)}return this.datalist&&this.datalist.remove(),this.element.appendChild(this.datalist=t),this.searchbox.setAttribute("list",n),this}};var Nnt=0;var Wy=class extends ur{constructor({element:t,filterBy:n,as:r,min:i,max:o,step:s,from:a,column:c,label:l=c,value:u=r?.value,width:f}={}){if(super(n),this.id="slider_"+ ++Nnt,this.from=a,this.column=c||"value",this.selection=r,this.min=i,this.max=o,this.step=s,this.element=t||document.createElement("div"),this.element.setAttribute("class","input"),this.element.value=this,l){let d=document.createElement("label");d.setAttribute("for",this.id),d.innerText=l,this.element.appendChild(d)}this.slider=document.createElement("input"),this.slider.setAttribute("id",this.id),this.slider.setAttribute("type","range"),f!=null&&(this.slider.style.width=`${+f}px`),i!=null&&this.slider.setAttribute("min",i),o!=null&&this.slider.setAttribute("max",o),s!=null&&this.slider.setAttribute("step",s),u!=null&&(this.slider.setAttribute("value",u),this.selection?.value===void 0&&this.publish(u)),this.element.appendChild(this.slider),this.selection&&(this.slider.addEventListener("input",()=>{this.publish(+this.slider.value)}),ri(this.selection)||this.selection.addEventListener("value",d=>{d!==+this.slider.value&&(this.slider.value=d)}))}query(t=[]){let{from:n,column:r}=this;return!n||this.min!=null&&this.max!=null?null:ht.select({min:ei(r),max:ti(r)}).from(n).where(t)}queryResult(t){let{min:n,max:r}=Array.from(t)[0];return this.min==null&&this.slider.setAttribute("min",n),this.max==null&&this.slider.setAttribute("max",r),this.step==null&&this.slider.setAttribute("step",(r-n)/500),this}publish(t){let{selection:n,column:r}=this;ri(n)?n.update({source:this,schema:{type:"point"},value:t,predicate:_s(r,Cr(t))}):br(this.selection)&&n.update(t)}};var Z3=Q3(e=>{let t=zv(e);return n=>n==null?"":typeof n=="number"?t(n):n instanceof Date?J3(n):`${n}`}),zv=Q3(e=>t=>t===0?"0":t.toLocaleString(e)),Wjt=Z3(),Hjt=zv();function J3(e){return wf(e,"Invalid Date")}function Q3(e){let t=Q3,n;return(r="en")=>r===t?n:n=e(t=r)}var Dnt=-1;var Hy=class extends ur{constructor({element:t,filterBy:n,from:r,columns:i=["*"],align:o={},format:s,width:a,maxWidth:c,height:l=500,rowBatch:u=100}={}){super(n),this.id=`table-${++Dnt}`,this.from=r,this.columns=i,this.format=s,this.align=o,this.widths=typeof a=="object"?a:{},this.offset=0,this.limit=+u,this.pending=!1,this.sortHeader=null,this.sortColumn=null,this.sortDesc=!1,this.element=t||document.createElement("div"),this.element.setAttribute("id",this.id),this.element.value=this,typeof a=="number"&&(this.element.style.width=`${a}px`),c&&(this.element.style.maxWidth=`${c}px`),this.element.style.maxHeight=`${l}px`,this.element.style.overflow="auto";let f=-1;this.element.addEventListener("scroll",d=>{let{pending:h,loaded:p}=this,{scrollHeight:m,scrollTop:g,clientHeight:y}=d.target,x=g<f;f=g,!(x||h||p)&&m-g<2*y&&(this.pending=!0,this.requestData(this.offset+this.limit))}),this.tbl=document.createElement("table"),this.element.appendChild(this.tbl),this.head=document.createElement("thead"),this.tbl.appendChild(this.head),this.body=document.createElement("tbody"),this.tbl.appendChild(this.body),this.style=document.createElement("style"),this.element.appendChild(this.style)}requestData(t=0){this.offset=t;let n=this.query(this.filterBy?.predicate(this));this.requestQuery(n),ni().prefetch(n.clone().offset(t+this.limit))}fields(){return this.columns.map(t=>Ia(this.from,t))}fieldInfo(t){this.schema=t;let n=this.head;n.innerHTML="";let r=document.createElement("tr");for(let{column:i}of t){let o=document.createElement("th");o.addEventListener("click",s=>this.sort(s,i)),o.appendChild(document.createElement("span")),o.appendChild(document.createTextNode(i)),r.appendChild(o)}return n.appendChild(r),this.formats=Ont(this.format,t),this.style.innerText=Cnt(this.id,Bnt(this.align,t),Lnt(this.widths,t)),this}query(t=[]){let{from:n,limit:r,offset:i,schema:o,sortColumn:s,sortDesc:a}=this;return ht.from(n).select(o.map(c=>c.column)).where(t).orderby(s?a?A2(s):s:[]).limit(r).offset(i)}queryResult(t){return this.pending||(this.loaded=!1,this.body.replaceChildren()),this.data=t,this}update(){let{body:t,formats:n,data:r,schema:i,limit:o}=this,s=i.length,a=0;for(let c of r){++a;let l=document.createElement("tr");for(let u=0;u<s;++u){let f=c[i[u].column],d=document.createElement("td");d.innerText=f==null?"":n[u](f),l.appendChild(d)}t.appendChild(l)}return a<o&&(this.loaded=!0),this.pending=!1,this}sort(t,n){n===this.sortColumn?this.sortDesc=!this.sortDesc:(this.sortColumn=n,this.sortDesc=!1);let r=t.currentTarget,i=this.sortHeader;i===r&&t.metaKey?(i.firstChild.textContent="",this.sortHeader=null,this.sortColumn=null):(i&&(i.firstChild.textContent=""),this.sortHeader=r,r.firstChild.textContent=this.sortDesc?"\u25BE":"\u25B4"),this.requestData()}};function Ont(e={},t,n){return t.map(({column:r,type:i})=>{if(r in e)return e[r];switch(i){case"number":return zv(n);case"date":return J3;default:return Z3(n)}})}function Bnt(e={},t){return t.map(({column:n,type:r})=>n in e?e[n]:r==="number"?"right":"left")}function Lnt(e={},t){return t.map(({column:n})=>e[n])}function Cnt(e,t,n){let r=[];return t.forEach((i,o)=>{let s=+n[o];if(i!=="left"||s){let a=i!=="left"?`text-align:${i};`:"",c=s?`width:${s}px;max-width:${s}px;`:"";r.push(`#${e} tr>:nth-child(${o+1}) {${a}${c}}`)}}),r.join(" ")}function Zy(e,...t){let n=e?.context?.coordinator??ni();for(let r of t)n.connect(r)}function qv(e,t,n){let r=new t(n);return Zy(e,r),r.element}function aU(e){return qv(this,Xy,e)}function cU(e){return qv(this,Gy,e)}function lU(e){return qv(this,Wy,e)}function uU(e){return qv(this,Hy,e)}function fU({direction:e="vertical",wrap:t=!1},n){let r=document.createElement("div");return r.style.display="flex",r.style.flexDirection=e==="vertical"?"column":"row",r.style.flexWrap=t?t===!0?"wrap":t:"nowrap",r.style.justifyContent="flex-start",r.style.alignItems="flex-start",n.forEach(i=>r.appendChild(i)),r.value={element:r},r}function dU(...e){return fU({direction:"vertical"},e.flat())}function hU(...e){return fU({direction:"horizontal"},e.flat())}function pU({dim:e="width",size:t=10}){let n=document.createElement("span");n.style.display="inline-block",n.style[e]=Number.isNaN(+t)?t:`${t}px`;let r={element:n};return n.value=r,n}function mU(e){return pU({dim:"height",size:e})}function yU(e){return pU({dim:"width",size:e})}var jv={};Ir(jv,{align:()=>h6,aspectRatio:()=>p6,axis:()=>m6,colorBase:()=>t8,colorClamp:()=>jE,colorConstant:()=>n8,colorDomain:()=>zE,colorExponent:()=>e8,colorInterpolate:()=>GE,colorLabel:()=>ZE,colorN:()=>VE,colorNice:()=>YE,colorPivot:()=>WE,colorRange:()=>qE,colorReverse:()=>JE,colorScale:()=>UE,colorScheme:()=>XE,colorSymmetric:()=>HE,colorTickFormat:()=>KE,colorZero:()=>QE,facetGrid:()=>$4,facetLabel:()=>P4,facetMargin:()=>L4,facetMarginBottom:()=>k4,facetMarginLeft:()=>F4,facetMarginRight:()=>R4,facetMarginTop:()=>C4,fxAlign:()=>G4,fxAriaDescription:()=>fE,fxAriaLabel:()=>uE,fxAxis:()=>J4,fxDomain:()=>U4,fxFontVariant:()=>lE,fxGrid:()=>iE,fxInset:()=>j4,fxInsetLeft:()=>V4,fxInsetRight:()=>Y4,fxLabel:()=>sE,fxLabelAnchor:()=>aE,fxLabelOffset:()=>cE,fxLine:()=>oE,fxNice:()=>q4,fxPadding:()=>W4,fxPaddingInner:()=>H4,fxPaddingOuter:()=>Z4,fxRange:()=>z4,fxReverse:()=>dE,fxRound:()=>X4,fxTickFormat:()=>nE,fxTickPadding:()=>eE,fxTickRotate:()=>rE,fxTickSize:()=>K4,fxTickSpacing:()=>tE,fxTicks:()=>Q4,fyAlign:()=>wE,fyAriaDescription:()=>$E,fyAriaLabel:()=>RE,fyAxis:()=>IE,fyDomain:()=>hE,fyFontVariant:()=>FE,fyGrid:()=>OE,fyInset:()=>yE,fyInsetBottom:()=>xE,fyInsetTop:()=>gE,fyLabel:()=>LE,fyLabelAnchor:()=>CE,fyLabelOffset:()=>kE,fyLine:()=>BE,fyNice:()=>mE,fyPadding:()=>vE,fyPaddingInner:()=>_E,fyPaddingOuter:()=>SE,fyRange:()=>pE,fyReverse:()=>PE,fyRound:()=>bE,fyTickFormat:()=>NE,fyTickPadding:()=>EE,fyTickRotate:()=>DE,fyTickSize:()=>AE,fyTickSpacing:()=>TE,fyTicks:()=>ME,grid:()=>g6,height:()=>c6,inset:()=>y6,label:()=>x6,lengthBase:()=>D8,lengthClamp:()=>T8,lengthConstant:()=>B8,lengthDomain:()=>M8,lengthExponent:()=>O8,lengthNice:()=>E8,lengthRange:()=>A8,lengthScale:()=>I8,lengthZero:()=>N8,margin:()=>i6,marginBottom:()=>d6,marginLeft:()=>l6,marginRight:()=>u6,marginTop:()=>f6,margins:()=>r6,name:()=>e6,opacityBase:()=>d8,opacityClamp:()=>s8,opacityConstant:()=>p8,opacityDomain:()=>i8,opacityExponent:()=>h8,opacityLabel:()=>c8,opacityNice:()=>a8,opacityRange:()=>o8,opacityReverse:()=>l8,opacityScale:()=>r8,opacityTickFormat:()=>f8,opacityZero:()=>u8,padding:()=>b6,projectionClip:()=>j8,projectionDomain:()=>R8,projectionInset:()=>$8,projectionInsetBottom:()=>q8,projectionInsetLeft:()=>P8,projectionInsetRight:()=>U8,projectionInsetTop:()=>z8,projectionParallels:()=>C8,projectionPrecision:()=>k8,projectionRotate:()=>F8,projectionType:()=>L8,rBase:()=>v8,rClamp:()=>x8,rConstant:()=>S8,rDomain:()=>y8,rExponent:()=>_8,rNice:()=>b8,rRange:()=>g8,rScale:()=>m8,rZero:()=>w8,round:()=>w6,style:()=>s6,width:()=>a6,xAlign:()=>D6,xAriaDescription:()=>W6,xAriaLabel:()=>G6,xAxis:()=>C6,xBase:()=>J6,xClamp:()=>E6,xConstant:()=>K6,xDomain:()=>_6,xExponent:()=>Q6,xFontVariant:()=>X6,xGrid:()=>z6,xInset:()=>M6,xInsetLeft:()=>A6,xInsetRight:()=>T6,xLabel:()=>j6,xLabelAnchor:()=>V6,xLabelOffset:()=>Y6,xLine:()=>q6,xNice:()=>I6,xPadding:()=>O6,xPaddingInner:()=>B6,xPaddingOuter:()=>L6,xRange:()=>S6,xReverse:()=>H6,xRound:()=>N6,xScale:()=>v6,xTickFormat:()=>P6,xTickPadding:()=>$6,xTickRotate:()=>U6,xTickSize:()=>F6,xTickSpacing:()=>R6,xTicks:()=>k6,xZero:()=>Z6,xyDomain:()=>o6,yAlign:()=>l4,yAriaDescription:()=>T4,yAriaLabel:()=>A4,yAxis:()=>h4,yBase:()=>D4,yClamp:()=>a4,yConstant:()=>B4,yDomain:()=>e4,yExponent:()=>O4,yFontVariant:()=>M4,yGrid:()=>w4,yInset:()=>i4,yInsetBottom:()=>s4,yInsetTop:()=>o4,yLabel:()=>_4,yLabelAnchor:()=>S4,yLabelOffset:()=>I4,yLine:()=>v4,yNice:()=>r4,yPadding:()=>u4,yPaddingInner:()=>f4,yPaddingOuter:()=>d4,yRange:()=>n4,yReverse:()=>E4,yRound:()=>c4,yScale:()=>t4,yTickFormat:()=>x4,yTickPadding:()=>g4,yTickRotate:()=>b4,yTickSize:()=>m4,yTickSpacing:()=>y4,yTicks:()=>p4,yZero:()=>N4});var Jy=class extends Map{request(t,n){if(this.has(t))n(this.get(t));else{let r=this.waiting||(this.waiting=new Map),i=r.get(t)||[];r.set(t,i.concat(n))}}set(t,n){this.has(t)&&console.warn(`Overwriting named plot "${t}".`);let{waiting:r}=this;return r?.has(t)&&(r.get(t).forEach(i=>i(n)),r.delete(t)),super.set(t,n)}},K3=new Jy;function t6(e,t,n){(e?.context?.namedPlots??K3).request(t,n)}function gU(e,t,n){(e?.context?.namedPlots??K3).set(t,n)}function e6(e){return t=>gU(this,e,t)}function xU(e,t,n){br(n)?(n.addEventListener("value",r=>{e.setAttribute(t,r),e.update()}),n.value!==void 0&&e.setAttribute(t,n.value)):e.setAttribute(t,n)}function knt(e,t){return n=>{xU(n,e,t)}}function n6(e){return t=>{for(let[n,r]of Object.entries(e))xU(t,n,r)}}function r6(e){let{top:t,bottom:n,left:r,right:i}=e,o={};return t!==void 0&&(o.marginTop=t),n!==void 0&&(o.marginBottom=n),r!==void 0&&(o.marginLeft=r),i!==void 0&&(o.marginRight=i),n6(o)}function i6(e){return n6({marginTop:e,marginBottom:e,marginLeft:e,marginRight:e})}function o6(e){return n6({xDomain:e,yDomain:e})}var L=e=>t=>knt(e,t),s6=L("style"),a6=L("width"),c6=L("height"),l6=L("marginLeft"),u6=L("marginRight"),f6=L("marginTop"),d6=L("marginBottom"),h6=L("align"),p6=L("aspectRatio"),m6=L("axis"),y6=L("inset"),g6=L("grid"),x6=L("label"),b6=L("padding"),w6=L("round"),v6=L("xScale"),_6=L("xDomain"),S6=L("xRange"),I6=L("xNice"),M6=L("xInset"),A6=L("xInsetLeft"),T6=L("xInsetRight"),E6=L("xClamp"),N6=L("xRound"),D6=L("xAlign"),O6=L("xPadding"),B6=L("xPaddingInner"),L6=L("xPaddingOuter"),C6=L("xAxis"),k6=L("xTicks"),F6=L("xTickSize"),R6=L("xTickSpacing"),$6=L("xTickPadding"),P6=L("xTickFormat"),U6=L("xTickRotate"),z6=L("xGrid"),q6=L("xLine"),j6=L("xLabel"),V6=L("xLabelAnchor"),Y6=L("xLabelOffset"),X6=L("xFontVariant"),G6=L("xAriaLabel"),W6=L("xAriaDescription"),H6=L("xReverse"),Z6=L("xZero"),J6=L("xBase"),Q6=L("xExponent"),K6=L("xConstant"),t4=L("yScale"),e4=L("yDomain"),n4=L("yRange"),r4=L("yNice"),i4=L("yInset"),o4=L("yInsetTop"),s4=L("yInsetBottom"),a4=L("yClamp"),c4=L("yRound"),l4=L("yAlign"),u4=L("yPadding"),f4=L("yPaddingInner"),d4=L("yPaddingOuter"),h4=L("yAxis"),p4=L("yTicks"),m4=L("yTickSize"),y4=L("yTickSpacing"),g4=L("yTickPadding"),x4=L("yTickFormat"),b4=L("yTickRotate"),w4=L("yGrid"),v4=L("yLine"),_4=L("yLabel"),S4=L("yLabelAnchor"),I4=L("yLabelOffset"),M4=L("yFontVariant"),A4=L("yAriaLabel"),T4=L("yAriaDescription"),E4=L("yReverse"),N4=L("yZero"),D4=L("yBase"),O4=L("yExponent"),B4=L("yConstant"),L4=L("facetMargin"),C4=L("facetMarginTop"),k4=L("facetMarginBottom"),F4=L("facetMarginLeft"),R4=L("facetMarginRight"),$4=L("facetGrid"),P4=L("facetLabel"),U4=L("fxDomain"),z4=L("fxRange"),q4=L("fxNice"),j4=L("fxInset"),V4=L("fxInsetLeft"),Y4=L("fxInsetRight"),X4=L("fxRound"),G4=L("fxAlign"),W4=L("fxPadding"),H4=L("fxPaddingInner"),Z4=L("fxPaddingOuter"),J4=L("fxAxis"),Q4=L("fxTicks"),K4=L("fxTickSize"),tE=L("fxTickSpacing"),eE=L("fxTickPadding"),nE=L("fxTickFormat"),rE=L("fxTickRotate"),iE=L("fxGrid"),oE=L("fxLine"),sE=L("fxLabel"),aE=L("fxLabelAnchor"),cE=L("fxLabelOffset"),lE=L("fxFontVariant"),uE=L("fxAriaLabel"),fE=L("fxAriaDescription"),dE=L("fxReverse"),hE=L("fyDomain"),pE=L("fyRange"),mE=L("fyNice"),yE=L("fyInset"),gE=L("fyInsetTop"),xE=L("fyInsetBottom"),bE=L("fyRound"),wE=L("fyAlign"),vE=L("fyPadding"),_E=L("fyPaddingInner"),SE=L("fyPaddingOuter"),IE=L("fyAxis"),ME=L("fyTicks"),AE=L("fyTickSize"),TE=L("fyTickSpacing"),EE=L("fyTickPadding"),NE=L("fyTickFormat"),DE=L("fyTickRotate"),OE=L("fyGrid"),BE=L("fyLine"),LE=L("fyLabel"),CE=L("fyLabelAnchor"),kE=L("fyLabelOffset"),FE=L("fyFontVariant"),RE=L("fyAriaLabel"),$E=L("fyAriaDescription"),PE=L("fyReverse"),UE=L("colorScale"),zE=L("colorDomain"),qE=L("colorRange"),jE=L("colorClamp"),VE=L("colorN"),YE=L("colorNice"),XE=L("colorScheme"),GE=L("colorInterpolate"),WE=L("colorPivot"),HE=L("colorSymmetric"),ZE=L("colorLabel"),JE=L("colorReverse"),QE=L("colorZero"),KE=L("colorTickFormat"),t8=L("colorBase"),e8=L("colorExponent"),n8=L("colorConstant"),r8=L("opacityScale"),i8=L("opacityDomain"),o8=L("opacityRange"),s8=L("opacityClamp"),a8=L("opacityNice"),c8=L("opacityLabel"),l8=L("opacityReverse"),u8=L("opacityZero"),f8=L("opacityTickFormat"),d8=L("opacityBase"),h8=L("opacityExponent"),p8=L("opacityConstant"),m8=L("rScale"),y8=L("rDomain"),g8=L("rRange"),x8=L("rClamp"),b8=L("rNice"),w8=L("rZero"),v8=L("rBase"),_8=L("rExponent"),S8=L("rConstant"),I8=L("lengthScale"),M8=L("lengthDomain"),A8=L("lengthRange"),T8=L("lengthClamp"),E8=L("lengthNice"),N8=L("lengthZero"),D8=L("lengthBase"),O8=L("lengthExponent"),B8=L("lengthConstant"),L8=L("projectionType"),C8=L("projectionParallels"),k8=L("projectionPrecision"),F8=L("projectionRotate"),R8=L("projectionDomain"),$8=L("projectionInset"),P8=L("projectionInsetLeft"),U8=L("projectionInsetRight"),z8=L("projectionInsetTop"),q8=L("projectionInsetBottom"),j8=L("projectionClip");function bU(e,t){return{table:e,options:t}}var Vv={};Ir(Vv,{area:()=>Y8,areaX:()=>X8,areaY:()=>G8,arrow:()=>$N,axisFx:()=>jN,axisFy:()=>VN,axisX:()=>zN,axisY:()=>qN,barX:()=>J8,barY:()=>Q8,cell:()=>K8,cellX:()=>tN,cellY:()=>eN,circle:()=>cN,contour:()=>AN,delaunayLink:()=>kN,delaunayMesh:()=>FN,denseLine:()=>MN,density:()=>IN,densityX:()=>_N,densityY:()=>SN,dot:()=>oN,dotX:()=>sN,dotY:()=>aN,frame:()=>UN,geo:()=>HN,graticule:()=>JN,gridFx:()=>GN,gridFy:()=>WN,gridX:()=>YN,gridY:()=>XN,heatmap:()=>TN,hexagon:()=>lN,hexbin:()=>DN,hexgrid:()=>ON,hull:()=>RN,image:()=>vN,line:()=>W8,lineX:()=>H8,lineY:()=>Z8,link:()=>PN,raster:()=>EN,rasterTile:()=>NN,rect:()=>nN,rectX:()=>rN,rectY:()=>iN,regressionY:()=>BN,ruleX:()=>hN,ruleY:()=>pN,sphere:()=>ZN,spike:()=>wN,text:()=>uN,textX:()=>fN,textY:()=>dN,tickX:()=>mN,tickY:()=>yN,vector:()=>gN,vectorX:()=>xN,vectorY:()=>bN,voronoi:()=>LN,voronoiMesh:()=>CN});var Fnt=new Set(["frame","axisX","axisY","axisFx","axisFy","gridX","gridY","gridFx","gridFy","hexgrid","graticule","sphere"]);function At(e,t,n={}){arguments.length===2&&!Array.isArray(t)&&(n=t,t=Fnt.has(e)?null:[{}]);let r=e.startsWith("area")||e.startsWith("line")?Ny:Bn;return V8(r,e,t,n)}function V8(e,t,n,r){return i=>{i.addMark(new e(t,n,r))}}function ua(e,t,n){return r=>{r.addMark(new e(t,n))}}var Y8=(...e)=>At("area",...e),X8=(...e)=>At("areaX",...e),G8=(...e)=>At("areaY",...e),W8=(...e)=>At("line",...e),H8=(...e)=>At("lineX",...e),Z8=(...e)=>At("lineY",...e),J8=(...e)=>At("barX",...e),Q8=(...e)=>At("barY",...e),K8=(...e)=>At("cell",...e),tN=(...e)=>At("cellX",...e),eN=(...e)=>At("cellY",...e),nN=(...e)=>At("rect",...e),rN=(...e)=>At("rectX",...e),iN=(...e)=>At("rectY",...e),oN=(...e)=>At("dot",...e),sN=(...e)=>At("dotX",...e),aN=(...e)=>At("dotY",...e),cN=(...e)=>At("circle",...e),lN=(...e)=>At("hexagon",...e),uN=(...e)=>At("text",...e),fN=(...e)=>At("textX",...e),dN=(...e)=>At("textY",...e),hN=(...e)=>At("ruleX",...e),pN=(...e)=>At("ruleY",...e),mN=(...e)=>At("tickX",...e),yN=(...e)=>At("tickY",...e),gN=(...e)=>At("vector",...e),xN=(...e)=>At("vectoX",...e),bN=(...e)=>At("vectorY",...e),wN=(...e)=>At("spike",...e),vN=(...e)=>At("image",...e),_N=(...e)=>V8(xd,"areaX",...e),SN=(...e)=>V8(xd,"areaY",...e),IN=(...e)=>ua(Fy,...e),MN=(...e)=>ua(ky,...e),AN=(...e)=>ua(Ly,...e),TN=(...e)=>ua(Cy,...e),EN=(...e)=>ua(yc,...e),NN=(...e)=>ua(Py,...e),DN=(...e)=>ua($y,...e),ON=(...e)=>At("hexgrid",...e),BN=(...e)=>ua(Uy,...e),LN=(...e)=>At("voronoi",...e),CN=(...e)=>At("voronoiMesh",...e),kN=(...e)=>At("delaunayLink",...e),FN=(...e)=>At("delaunayMesh",...e),RN=(...e)=>At("hull",...e),$N=(...e)=>At("arrow",...e),PN=(...e)=>At("link",...e),UN=(...e)=>At("frame",...e),zN=(...e)=>At("axisX",...e),qN=(...e)=>At("axisY",...e),jN=(...e)=>At("axisFx",...e),VN=(...e)=>At("axisFy",...e),YN=(...e)=>At("gridX",...e),XN=(...e)=>At("gridY",...e),GN=(...e)=>At("gridFx",...e),WN=(...e)=>At("gridFy",...e),HN=(...e)=>ua(Ry,...e),ZN=(...e)=>At("sphere",...e),JN=(...e)=>At("graticule",...e);var Yv={};Ir(Yv,{highlight:()=>QN,intervalX:()=>iD,intervalXY:()=>sD,intervalY:()=>oD,nearestX:()=>nD,nearestY:()=>rD,pan:()=>aD,panX:()=>cD,panY:()=>lD,panZoom:()=>uD,panZoomX:()=>fD,panZoomY:()=>dD,toggle:()=>Id,toggleColor:()=>eD,toggleX:()=>KN,toggleY:()=>tD});function gc(e,t){return n=>{let r=n.marks[n.marks.length-1];n.addInteractor(new e(r,t))}}function QN({by:e,...t}){return gc(zy,{selection:e,channels:t})}function Id({as:e,...t}){return gc(jl,{...t,selection:e})}function KN(e){return Id({...e,channels:["x"]})}function tD(e){return Id({...e,channels:["y"]})}function eD(e){return Id({...e,channels:["color"]})}function nD({as:e,...t}){return gc(_d,{...t,selection:e,channel:"x"})}function rD({as:e,...t}){return gc(_d,{...t,selection:e,channel:"y"})}function iD({as:e,...t}){return gc(vd,{...t,selection:e,channel:"x"})}function oD({as:e,...t}){return gc(vd,{...t,selection:e,channel:"y"})}function sD({as:e,...t}){return gc(Vy,{...t,selection:e})}function Md(e){return gc(Yy,e)}function aD(e={}){return Md({...e,zoom:!1})}function cD(e={}){return Md({...e,zoom:!1,pany:!1})}function lD(e={}){return Md({...e,zoom:!1,panx:!1})}function uD(e={}){return Md(e)}function fD(e={}){return Md({...e,pany:!1})}function dD(e={}){return Md({...e,panx:!1})}var Xv={};Ir(Xv,{colorLegend:()=>pD,opacityLegend:()=>mD,symbolLegend:()=>yD});function hD(e,t={}){if(t.for){let{for:n,...r}=t,i=new Sd(e,r),o=typeof n,s=a=>a.addLegend(i,!1);return o==="string"?t6(this,n,s):n.value&&s(n.value),i.element}else return n=>n.addLegend(new Sd(e,t))}function pD(e){return hD.call(this,"color",e)}function mD(e){return hD.call(this,"opacity",e)}function yD(e){return hD.call(this,"symbol",e)}function wU(...e){let t=new Ey;return e.flat().forEach(n=>n(t)),Zy(this,...t.marks),t.element}function xD({coordinator:e=ni(),namedPlots:t=new Jy,extensions:n=null,...r}={}){return{...gD,...n,context:{coordinator:e,namedPlots:t,...r}}}var vU="spec",Gv="literal",ZVt="dataref",_U="options",SU="selection",IU="paramref",MU="param",bD="select",Wv="value",AU="crossfilter",Hv="intersect",TU="union",EU="single",NU="data",DU="expression",xc="sql",fa="agg",Qy="input",Ad="hconcat",Td="vconcat",Ed="hspace",Nd="vspace",Zv="mark",wD="from",Dd="plot",Ky="legend",OU="attribute",BU="transform",LU="interactor",tg="Fixed";var $t=class{constructor(t,n=null){this.type=t,this.children=n}instantiate(){throw Error("instantiate not implemented")}codegen(){return Error("codegen not implemented")}toJSON(){return Error("toJSON not implemented")}};var eg=class extends $t{constructor(t,n,r,i,o,s){super(vU,[t]),this.root=t,this.meta=n,this.config=r,this.data=i,this.params=o,this.plotDefaults=s}toJSON(){let{root:t,meta:n,config:r,plotDefaults:i}=this,o=new Map(Object.entries(this.data)),s=new Map(Object.entries(this.params)),a={};if(n&&(a.meta={...n}),r&&(a.config={...r}),o?.size){let c=a.data={};for(let[l,u]of o)c[l]=u.toJSON()}if(s?.size){let c=a.params={};for(let[l,u]of s)c[l]=u.toJSON()}if(i?.length){let c=a.plotDefaults={};for(let l of i)Object.assign(c,l.toJSON())}return Object.assign(a,t.toJSON())}};function CU(e){let t=typeof e;return t==="object"?e?.param:t==="string"?Rnt(e):null}function Rnt(e){return e?.[0]==="$"?e.slice(1):null}function ng(e){return`$${e}`}function kU(e){return[e].flat()}function xi(e){return Array.isArray(e)}function Od(e){return e!==null&&typeof e=="object"&&!xi(e)}function Xo(e){return typeof e=="string"}function Bd(e,t){throw Object.assign(Error(e),{data:t})}function _r(e,t){let n={};for(let r in e)n[r]=t.maybeSelection(e[r]);return new Ld(n)}var Ld=class e extends $t{constructor(t){super(_U),this.options=t}filter(t){let n=Object.fromEntries(Object.entries(this.options).filter(([r,i])=>t(r,i)));return new e(n)}instantiate(t){let{options:n}=this,r={};for(let i in n)r[i]=n[i].instantiate(t);return r}codegen(t){let{options:n}=this,r=[];for(let i in n)r.push(`${i}: ${n[i].codegen(t)}`);return r.length?`{${t.maybeLineWrap(r)}}`:""}toJSON(){let{options:t}=this,n={};for(let r in t)n[r]=t[r].toJSON();return n}};var $U="table",PU="parquet",UU="csv",vD="json",i_="spatial",FU=new Map([[$U,$nt],[PU,Pnt],[UU,Unt],[vD,znt],[i_,qnt]]);function zU(e,t,n){if(t=jnt(t),FU.has(t.type))return FU.get(t.type)(e,t,n);n.error("Unrecognized data format type.",t)}function $nt(e,t,n){let{query:r,type:i,...o}=t;return new Qv(e,r,_r(o,n))}function Pnt(e,t,n){let{file:r,type:i,...o}=t;return new t_(e,r,_r(o,n))}function Unt(e,t,n){let{file:r,type:i,...o}=t;return new e_(e,r,_r(o,n))}function znt(e,t,n){let{data:r,file:i,type:o,...s}=t,a=_r(s,n);return r?new r_(e,r,a):new n_(e,i,a)}function qnt(e,t,n){let{file:r,type:i,...o}=t;return new Kv(e,r,_r(o,n))}function jnt(e){return xi(e)&&(e={type:"json",data:e}),Xo(e)&&(e={type:"table",query:e}),{...e,type:Vnt(e)}}function Vnt(e){return e.type||Ynt(e.file)||"table"}function Ynt(e){let t=e?.lastIndexOf(".");return t>0?e.slice(t+1):null}function RU(e,t){return t?new URL(e,t).toString():e}function Xnt(e,t){let n=e?.codegen(t);return n?`, ${n}`:""}var Jv=class extends $t{constructor(t,n){super(NU),this.name=t,this.format=n}},Cd=class extends Jv{constructor(t,n){super(t,n)}instantiateQuery(t){t.error("instantiateQuery not implemented")}codegenQuery(t){t.error("codegenQuery not implemented")}instantiate(t){let n=this.instantiateQuery(t);if(n)return n}codegen(t){let n=this.codegenQuery(t);if(n)return n}},Qv=class extends Cd{constructor(t,n,r){super(t,$U),this.query=n?.trim(),this.options=r}instantiateQuery(t){let{name:n,query:r,options:i}=this;if(r)return t.api.create(n,r,i.instantiate(t))}codegenQuery(t){let{name:n,query:r,options:i}=this;if(r)return`\`${ao(n,r,i.instantiate(t))}\``}toJSON(){let{format:t,query:n,options:r}=this;return{type:t,query:n,...r.toJSON()}}},Vl=class extends Cd{constructor(t,n,r,i,o){super(t,n),this.file=i,this.method=r,this.options=o}instantiateQuery(t){let{name:n,method:r,file:i,options:o}=this,s=RU(i,t.baseURL),a=o?.instantiate(t);return t.api[r](n,s,a)}codegenQuery(t){let{name:n,method:r,file:i,options:o}=this,s=RU(i,t.baseURL),a=Xnt(o,t);return`${t.ns()}${r}("${n}", "${s}"${a})`}toJSON(){let{format:t,file:n,options:r}=this;return{type:t,file:n,...r.toJSON()}}},Kv=class extends Vl{constructor(t,n,r){super(t,i_,"loadSpatial",n,r)}},t_=class extends Vl{constructor(t,n,r){super(t,PU,"loadParquet",n,r)}},e_=class extends Vl{constructor(t,n,r){super(t,UU,"loadCSV",n,r)}},n_=class extends Vl{constructor(t,n,r){super(t,vD,"loadJSON",n,r)}},r_=class extends Cd{constructor(t,n,r){super(t,vD),this.data=n,this.options=r}instantiateQuery(t){let{name:n,data:r,options:i}=this;return t.api.loadObjects(n,r,i.instantiate(t))}codegenQuery(t){let{name:n,data:r,options:i}=this,o=i?","+i.codegen(t):"",s=`[
|
|
69
|
+
}`)).call(Wf,n);for(let k of l){let{channels:$,values:P,facets:U}=m.get(k);if(p===void 0||k.facet==="super"){let W=null;if(U&&(W=U[0],W=k.filter(W,$,P),W.length===0))continue;let nt=k.render(W,x,P,v,I);if(nt==null)continue;M.appendChild(nt)}else{let W;for(let nt of p){if(!(k.facetAnchor?.(p,O,nt)??!nt.empty))continue;let ot=null;if(U){let Y=f.has(k);if(ot=U[Y?nt.i:0],ot=k.filter(ot,$,P),ot.length===0)continue;!Y&&ot===U[0]&&(ot=Qs(ot)),ot.fx=nt.x,ot.fy=nt.y,ot.fi=nt.i}let at=k.render(ot,x,P,_,I);if(at!=null){(W??=Yt(M).append("g")).append(()=>at).datum(nt);for(let Y of["aria-label","aria-description","aria-hidden","transform"])at.hasAttribute(Y)&&(W.attr(Y,at.getAttribute(Y)),at.removeAttribute(Y))}}W?.selectChildren().attr("transform",C)}}let D=e9(y,I,e),{figure:R=r!=null||i!=null||o!=null||D.length>0}=e;R&&(N=E.createElement("figure"),N.className=`${c}-figure`,N.style.maxWidth="initial",r!=null&&N.append(o9(E,r,"h2")),i!=null&&N.append(o9(E,i,"h3")),N.append(...D,M),o!=null&&N.append(QK(E,o))),N.scale=J7(x.scales),N.legend=K$(y,I,e);let F=r7();return F>0&&Yt(M).append("text").attr("x",S).attr("y",20).attr("dy","-1em").attr("text-anchor","end").attr("font-family","initial").text("\u26A0\uFE0F").append("title").text(`${F.toLocaleString("en-US")} warning${F===1?"":"s"}. Please check the console.`),N}function o9(e,t,n){if(t.ownerDocument)return t;let r=e.createElement(n);return r.append(t),r}function QK(e,t){let n=e.createElement("figcaption");return n.append(t),n}function KK({marks:e=[],...t}={}){return vy({...t,marks:[...e,this]})}St.prototype.plot=KK;function s9(e){return e.flat(1/0).filter(t=>t!=null).map(ttt)}function ttt(e){return typeof e.render=="function"?e:new IT(e)}var IT=class extends St{constructor(t){if(typeof t!="function")throw new TypeError("invalid mark; missing render function");super(),this.render=t}render(){}};function MT(e,t){for(let n in e)u9(e[n],t);return e}function u9(e,t){let{scale:n,transform:r=!0}=e;if(n==null||!r)return;let{type:i,percent:o,interval:s,transform:a=o?c=>c*100:A3(s,i)}=t[n]??{};a!=null&&(e.value=Wt(e.value,a),e.transform=!1)}function ett(e){for(let t in e)z3(t,e[t])}function wy(e,t,n,r=AF){for(let{channels:i}of t.values())for(let o in i){let s=i[o],{scale:a}=s;if(a!=null&&r(a))if(a==="projection"){if(!l7(n)){let c=n.x?.domain===void 0,l=n.y?.domain===void 0;if(c||l){let[u,f]=f7(s);c&&ST(e,"x",u),l&&ST(e,"y",f)}}}else ST(e,a,s)}return e}function ST(e,t,n){let r=e.get(t);r!==void 0?r.push(n):e.set(t,[n])}function ntt(e,t){if(e==null)return;let{x:n,y:r}=e;if(n==null&&r==null)return;let i=je(e.data);if(i==null)throw new Error("missing facet data");let o={};n!=null&&(o.fx=Uf(i,{value:n,scale:"fx"})),r!=null&&(o.fy=Uf(i,{value:r,scale:"fy"})),MT(o,t);let s=Hw(i,o);return{channels:o,groups:s,data:e.data}}function a9(e,t,n){if(e.facet===null||e.facet==="super")return;let{fx:r,fy:i}=e;if(r!=null||i!=null){let c=je(e.data??r??i);if(c===void 0)throw new Error(`missing facet data in ${e.ariaLabel}`);if(c===null)return;let l={};return r!=null&&(l.fx=Uf(c,{value:r,scale:"fx"})),i!=null&&(l.fy=Uf(c,{value:i,scale:"fy"})),MT(l,n),{channels:l,groups:Hw(c,l)}}if(t===void 0)return;let{channels:o,groups:s,data:a}=t;if(e.facet!=="auto"||e.data===a)return{channels:o,groups:s};a.length>0&&(s.size>1||s.size===1&&o.fx&&o.fy&&[...s][0][1].size>1)&&je(e.data)?.length===a.length&&Yn(`Warning: the ${e.ariaLabel} mark appears to use faceted data, but isn\u2019t faceted. The mark data has the same length as the facet data and the mark facet option is "auto", but the mark data and facet data are distinct. If this mark should be faceted, set the mark facet option to true; otherwise, suppress this warning by setting the mark facet option to false.`)}function rtt(e,t={}){return Me({...t,x:null,y:null},(n,r,i,o,s,a)=>a.getMarkState(e))}function itt(e){let t=[];for(let n of e){let r=n.tip;if(r){r===!0?r={}:typeof r=="string"&&(r={pointer:r});let{pointer:i,preferredAnchor:o}=r;i=/^x$/i.test(i)?cc:/^y$/i.test(i)?sa:ac,r=i(rtt(n,r)),r.title=null,o===void 0&&(r.preferredAnchor=i===sa?"left":"bottom");let s=bv(n.data,r);s.facet=n.facet,s.facetAnchor=n.facetAnchor,t.push(s)}}return t}function ott(e,t,n){let{projection:r,x:i={},y:o={},fx:s={},fy:a={},axis:c,grid:l,facet:u={},facet:{axis:f=c,grid:h}=u,x:{axis:d=c,grid:p=d===null?null:l}=i,y:{axis:m=c,grid:y=m===null?null:l}=o,fx:{axis:g=f,grid:x=g===null?null:h}=s,fy:{axis:b=f,grid:w=b===null?null:h}=a}=n;(r||!Vo(i)&&!c9("x",e))&&(d=p=null),(r||!Vo(o)&&!c9("y",e))&&(m=y=null),t.has("fx")||(g=x=null),t.has("fy")||(b=w=null),d===void 0&&(d=!_v(e,"x")),m===void 0&&(m=!_v(e,"y")),g===void 0&&(g=!_v(e,"fx")),b===void 0&&(b=!_v(e,"fy")),d===!0&&(d="bottom"),m===!0&&(m="left"),g===!0&&(g=d==="top"||d===null?"bottom":"top"),b===!0&&(b=m==="right"||m===null?"left":"right");let _=[];return vv(_,w,pv,a),wv(_,b,fv,"right","left",u,a),vv(_,x,yv,s),wv(_,g,hv,"top","bottom",u,s),vv(_,y,dv,o),wv(_,m,my,"left","right",n,o),vv(_,p,mv,i),wv(_,d,yy,"bottom","top",n,i),_}function wv(e,t,n,r,i,o,s){if(!t)return;let a=stt(t);s=att(a?r:t,o,s);let{line:c}=s;(n===my||n===yy)&&c&&!ea(c)&&e.push(Kf(ctt(s))),e.push(n(s)),a&&e.push(n({...s,anchor:i,label:null}))}function vv(e,t,n,r){!t||ea(t)||e.push(n(ltt(t,r)))}function stt(e){return/^\s*both\s*$/i.test(e)}function att(e,t,{line:n=t.line,ticks:r,tickSize:i,tickSpacing:o,tickPadding:s,tickFormat:a,tickRotate:c,fontVariant:l,ariaLabel:u,ariaDescription:f,label:h=t.label,labelAnchor:d,labelArrow:p=t.labelArrow,labelOffset:m}){return{anchor:e,line:n,ticks:r,tickSize:i,tickSpacing:o,tickPadding:s,tickFormat:a,tickRotate:c,fontVariant:l,ariaLabel:u,ariaDescription:f,label:h,labelAnchor:d,labelArrow:p,labelOffset:m}}function ctt(e){let{anchor:t,line:n}=e;return{anchor:t,facetAnchor:t+"-empty",stroke:n===!0?void 0:n}}function ltt(e,{stroke:t=Ka(e)?e:void 0,ticks:n=utt(e)?e:void 0,tickSpacing:r,ariaLabel:i,ariaDescription:o}){return{stroke:t,ticks:n,tickSpacing:r,ariaLabel:i,ariaDescription:o}}function utt(e){switch(typeof e){case"number":return!0;case"string":return!Ka(e)}return ur(e)||typeof e?.range=="function"}function _v(e,t){let n=`${t}-axis `;return e.some(r=>r.ariaLabel?.startsWith(n))}function c9(e,t){for(let n of t)for(let r in n.channels){let{scale:i}=n.channels[r];if(i===e||i==="projection")return!0}return!1}function ftt(e,t){for(let n in e){let r=e[n],i=t[n];r.label===void 0&&i&&(r.label=i.label)}return e}function htt({fx:e,fy:t},n){let{marginTop:r,marginRight:i,marginBottom:o,marginLeft:s,width:a,height:c}=qw(n),l=e&&l9(e),u=t&&l9(t);return{marginTop:t?u[0]:r,marginRight:e?a-l[1]:i,marginBottom:t?c-u[1]:o,marginLeft:e?l[0]:s,inset:{marginTop:n.marginTop,marginRight:n.marginRight,marginBottom:n.marginBottom,marginLeft:n.marginLeft},width:a,height:c}}function l9(e){let t=e.domain(),n=e(t[0]),r=e(t[t.length-1]);return r<n&&([n,r]=[r,n]),[n,r+e.bandwidth()]}var dtt=new Map([["basis",XA],["basis-closed",GA],["basis-open",WA],["bundle",HA],["bump-x",zA],["bump-y",qA],["cardinal",ZA],["cardinal-closed",JA],["cardinal-open",QA],["catmull-rom",KA],["catmull-rom-closed",t3],["catmull-rom-open",e3],["linear",Ws],["linear-closed",n3],["monotone-x",i3],["monotone-y",o3],["natural",s3],["step",a3],["step-after",l3],["step-before",c3]]);function _y(e=Ws,t){if(typeof e=="function")return e;let n=dtt.get(`${e}`.toLowerCase());if(!n)throw new Error(`unknown curve: ${e}`);if(t!==void 0){if("beta"in n)return n.beta(t);if("tension"in n)return n.tension(t);if("alpha"in n)return n.alpha(t)}return n}function Sv(e=fc,t){return typeof e!="function"&&`${e}`.toLowerCase()==="auto"?fc:_y(e,t)}function fc(e){return Ws(e)}function Jo(e={y:"count"},t={}){[e,t]=TT(e,t);let{x:n,y:r}=t;return AT(Iv(n,t,G),null,null,r,e,kl(t))}function Qo(e={x:"count"},t={}){[e,t]=TT(e,t);let{x:n,y:r}=t;return AT(null,Iv(r,t,G),n,null,e,Rl(t))}function ca(e={fill:"count"},t={}){[e,t]=TT(e,t);let{x:n,y:r}=ptt(t);return AT(n,r,null,null,e,kl(Rl(t)))}function d9(e,t,n={}){if(n?.interval==null)return n;let{reduce:r=kw}=n,i={filter:null};return n[t]!=null&&(i[t]=r),n[`${t}1`]!=null&&(i[`${t}1`]=r),n[`${t}2`]!=null&&(i[`${t}2`]=r),e(i,n)}function th(e={}){return d9(Jo,"y",Gi(e,"x"))}function eh(e={}){return d9(Qo,"x",Gi(e,"y"))}function AT(e,t,n,r,{data:i=Cw,filter:o=ry,sort:s,reverse:a,...c}={},l={}){e=f9(e),t=f9(t),c=mtt(c,l),i=y9(i,G),s=s==null?void 0:p9("sort",s,l),o=o==null?void 0:m9("filter",o,l),n!=null&&Wo(c,"x","x1","x2")&&(n=null),r!=null&&Wo(c,"y","y1","y2")&&(r=null);let[u,f]=Bn(e),[h,d]=Bn(e),[p,m]=Bn(t),[y,g]=Bn(t),[x,b]=n!=null?[n,"x"]:r!=null?[r,"y"]:[],[w,_]=Bn(x),{x:v,y:I,z:E,fill:M,stroke:N,x1:A,x2:O,y1:C,y2:S,domain:T,cumulative:D,thresholds:R,interval:F,...k}=l,[$,P]=Bn(E),[U]=Le(M),[W]=Le(N),[nt,ot]=Bn(U),[at,Y]=Bn(W);return{..."z"in l&&{z:$||E},..."fill"in l&&{fill:nt||M},..."stroke"in l&&{stroke:at||N},...bn(k,(st,q,Z)=>{let rt=Nl(wt(st,x),Z?.[b]),z=wt(st,E),Rt=wt(st,U),ht=wt(st,W),Ht=sy(c,{z,fill:Rt,stroke:ht}),Qt=[],tt=[],ce=rt&&_([]),Ar=z&&P([]),Ji=Rt&&ot([]),zz=ht&&Y([]),aO=e&&f([]),qz=e&&d([]),cO=t&&m([]),jz=t&&g([]),Vz=xtt(e,t,st),Yz=0;for(let nu of c)nu.initialize(st);s&&s.initialize(st),o&&o.initialize(st);for(let nu of q){let lO=[];for(let ru of c)ru.scope("facet",nu);s&&s.scope("facet",nu),o&&o.scope("facet",nu);for(let[ru,Xz]of tc(nu,Ht))for(let[Gz,Dg]of tc(Xz,rt))for(let[Qi,os]of Vz(Dg))if(Ht&&(os.z=ru),!(o&&!o.reduce(Qi,os))){lO.push(Yz++),tt.push(i.reduceIndex(Qi,st,os)),rt&&ce.push(Gz),z&&Ar.push(Ht===z?ru:z[(Qi.length>0?Qi:Dg)[0]]),Rt&&Ji.push(Ht===Rt?ru:Rt[(Qi.length>0?Qi:Dg)[0]]),ht&&zz.push(Ht===ht?ru:ht[(Qi.length>0?Qi:Dg)[0]]),aO&&(aO.push(os.x1),qz.push(os.x2)),cO&&(cO.push(os.y1),jz.push(os.y2));for(let Wz of c)Wz.reduce(Qi,os);s&&s.reduce(Qi,os)}Qt.push(lO)}return $3(Qt,s,a),{data:tt,facets:Qt}}),...!Wo(c,"x")&&(u?{x1:u,x2:h,x:kf(u,h)}:{x:v,x1:A,x2:O}),...!Wo(c,"y")&&(p?{y1:p,y2:y,y:kf(p,y)}:{y:I,y1:C,y2:S}),...w&&{[b]:w},...Object.fromEntries(c.map(({name:st,output:q})=>[st,q]))}}function TT({cumulative:e,domain:t,thresholds:n,interval:r,...i},o){return[i,{cumulative:e,domain:t,thresholds:n,interval:r,...o}]}function Iv(e,{cumulative:t,domain:n,thresholds:r,interval:i},o){return e={...wi(e)},e.domain===void 0&&(e.domain=n),e.cumulative===void 0&&(e.cumulative=t),e.thresholds===void 0&&(e.thresholds=r),e.interval===void 0&&(e.interval=i),e.value===void 0&&(e.value=o),e.thresholds=ET(e.thresholds,e.interval),e}function ptt(e){let{x:t,y:n}=e;return t=Iv(t,e),n=Iv(n,e),[t.value,n.value]=Pe(t.value,n.value),{x:t,y:n}}function f9(e){if(e==null)return;let{value:t,cumulative:n,domain:r=ue,thresholds:i}=e,o=s=>{let a=wt(s,t),c;if(Be(a)||gtt(i)){a=Wt(a,v3,Float64Array);let[u,f]=typeof r=="function"?r(a):r,h=typeof i=="function"&&!Qa(i)?i(a,u,f):i;typeof h=="number"&&(h=Mm(u,f,h)),Qa(h)&&(r===ue&&(u=h.floor(u),f=h.offset(h.floor(f))),h=h.range(u,h.offset(f))),c=h}else{a=en(a);let[u,f]=typeof r=="function"?r(a):r,h=typeof i=="function"&&!Qa(i)?i(a,u,f):i;if(typeof h=="number")if(r===ue){let d=Ns(u,f,h);if(isFinite(d))if(d>0){let p=Math.round(u/d),m=Math.round(f/d);p*d<=u||--p,m*d>f||++m;let y=m-p+1;h=new Float64Array(y);for(let g=0;g<y;++g)h[g]=(p+g)*d}else if(d<0){d=-d;let p=Math.round(u*d),m=Math.round(f*d);p/d<=u||--p,m/d>f||++m;let y=m-p+1;h=new Float64Array(y);for(let g=0;g<y;++g)h[g]=(p+g)/d}else h=[u];else h=[u]}else h=En(u,f,h);else Qa(h)&&(r===ue&&(u=h.floor(u),f=h.offset(h.floor(f))),h=h.range(u,h.offset(f)));c=h}let l=[];if(c.length===1)l.push([c[0],c[0]]);else for(let u=1;u<c.length;++u)l.push([c[u-1],c[u]]);return l.bin=(n<0?wtt:n>0?btt:DT)(l,c,a),l};return o.label=Cn(t),o}function ET(e,t,n=h9){if(e===void 0)return t===void 0?n:Xo(t);if(typeof e=="string"){switch(e.toLowerCase()){case"freedman-diaconis":return yx;case"scott":return wp;case"sturges":return Na;case"auto":return h9}return Km(e)}return e}function mtt(e,t){return R3(e,t,p9)}function p9(e,t,n){return Lw(e,t,n,m9)}function m9(e,t,n){return Bw(e,t,n,y9)}function y9(e,t){return Pf(e,t,ytt)}function ytt(e){switch(`${e}`.toLowerCase()){case"x":return vtt;case"x1":return Stt;case"x2":return Itt;case"y":return _tt;case"y1":return Mtt;case"y2":return Att;case"z":return P3}throw new Error(`invalid bin reduce: ${e}`)}function h9(e,t,n){return Math.min(200,wp(e,t,n))}function gtt(e){return NF(e)||ur(e)&&Be(e)}function xtt(e,t,n){let r=e?.(n),i=t?.(n);return r&&i?function*(o){let s=r.bin(o);for(let[a,[c,l]]of r.entries()){let u=i.bin(s[a]);for(let[f,[h,d]]of i.entries())yield[u[f],{data:n,x1:c,y1:h,x2:l,y2:d}]}}:r?function*(o){let s=r.bin(o);for(let[a,[c,l]]of r.entries())yield[s[a],{data:n,x1:c,x2:l}]}:function*(o){let s=i.bin(o);for(let[a,[c,l]]of i.entries())yield[s[a],{data:n,y1:c,y2:l}]}}function DT(e,t,n){return t=en(t),r=>{let i=e.map(()=>[]);for(let o of r)i[Es(t,n[o])-1]?.push(o);return i}}function btt(e,t,n){let r=DT(e,t,n);return i=>{let o=r(i);for(let s=1,a=o.length;s<a;++s){let c=o[s-1],l=o[s];for(let u of c)l.push(u)}return o}}function wtt(e,t,n){let r=DT(e,t,n);return i=>{let o=r(i);for(let s=o.length-2;s>=0;--s){let a=o[s+1],c=o[s];for(let l of a)c.push(l)}return o}}function g9(e,t){let n=(+e+ +t)/2;return e instanceof Date?new Date(n):n}var vtt={reduceIndex(e,t,{x1:n,x2:r}){return g9(n,r)}},_tt={reduceIndex(e,t,{y1:n,y2:r}){return g9(n,r)}},Stt={reduceIndex(e,t,{x1:n}){return n}},Itt={reduceIndex(e,t,{x2:n}){return n}},Mtt={reduceIndex(e,t,{y1:n}){return n}},Att={reduceIndex(e,t,{y2:n}){return n}};function nh(e={}){return S3(e)?e:{...e,x:G}}function rh(e={}){return I3(e)?e:{...e,y:G}}function x9(e,t){if(t.length===1)return{data:e,facets:t};let n=e.length,r=new Uint8Array(n),i=0;for(let a of t)for(let c of a)r[c]&&++i,r[c]=1;if(i===0)return{data:e,facets:t};e=Ja(e);let o=e[x3]=new Uint32Array(n+i);t=t.map(a=>Ja(a,Uint32Array));let s=n;r.fill(0);for(let a of t)for(let c=0,l=a.length;c<l;++c){let u=a[c];r[u]?(a[c]=s,e[s]=e[u],o[s]=u,++s):o[u]=u,r[u]=1}return{data:e,facets:t}}function NT(e={},t={}){arguments.length===1&&([e,t]=sh(e));let{y1:n,y:r=n,x:i,...o}=t,[s,a,c,l]=ah(r,i,"y","x",e,o);return{...s,y1:n,y:a,x1:c,x2:l,x:kf(c,l)}}function v9(e={},t={}){arguments.length===1&&([e,t]=sh(e));let{y1:n,y:r=n,x:i}=t,[o,s,a]=ah(r,i,"y","x",e,t);return{...o,y1:n,y:s,x:a}}function _9(e={},t={}){arguments.length===1&&([e,t]=sh(e));let{y1:n,y:r=n,x:i}=t,[o,s,,a]=ah(r,i,"y","x",e,t);return{...o,y1:n,y:s,x:a}}function OT(e={},t={}){arguments.length===1&&([e,t]=sh(e));let{x1:n,x:r=n,y:i,...o}=t,[s,a,c,l]=ah(r,i,"x","y",e,o);return{...s,x1:n,x:a,y1:c,y2:l,y:kf(c,l)}}function S9(e={},t={}){arguments.length===1&&([e,t]=sh(e));let{x1:n,x:r=n,y:i}=t,[o,s,a]=ah(r,i,"x","y",e,t);return{...o,x1:n,x:s,y:a}}function I9(e={},t={}){arguments.length===1&&([e,t]=sh(e));let{x1:n,x:r=n,y:i}=t,[o,s,,a]=ah(r,i,"x","y",e,t);return{...o,x1:n,x:s,y:a}}function ih({x:e,x1:t,x2:n,...r}={}){return r=Gi(r,"y"),t===void 0&&n===void 0?NT({x:e,...r}):([t,n]=M3(e,t,n),{...r,x1:t,x2:n})}function oh({y:e,y1:t,y2:n,...r}={}){return r=Gi(r,"x"),t===void 0&&n===void 0?OT({y:e,...r}):([t,n]=M3(e,t,n),{...r,y1:t,y2:n})}function sh(e){let{offset:t,order:n,reverse:r,...i}=e;return[{offset:t,order:n,reverse:r},i]}var Ttt={length:!0};function ah(e,t=ty,n,r,{offset:i,order:o,reverse:s},a){if(t===null)throw new Error(`stack requires ${r}`);let c=Vn(a),[l,u]=Bn(e),[f,h]=xn(t),[d,p]=xn(t);return f.hint=d.hint=Ttt,i=Ett(i),o=Ott(o,i,r),[bn(a,(m,y,g)=>{({data:m,facets:y}=x9(m,y));let x=e==null?void 0:u(Nl(wt(m,e),g?.[n])),b=wt(m,t,Float64Array),w=wt(m,c),_=o&&o(m,x,b,w),v=m.length,I=h(new Float64Array(v)),E=p(new Float64Array(v)),M=[];for(let N of y){let A=x?Array.from(fn(N,O=>x[O]).values()):[N];if(_)for(let O of A)O.sort(_);for(let O of A){let C=0,S=0;s&&O.reverse();for(let T of O){let D=b[T];D<0?C=E[T]=(I[T]=C)+D:D>0?S=E[T]=(I[T]=S)+D:E[T]=I[T]=S}}M.push(A)}return i&&i(M,I,E,w),{data:m,facets:y}}),l,f,d]}function Ett(e){if(e!=null){if(typeof e=="function")return e;switch(`${e}`.toLowerCase()){case"expand":case"normalize":return Dtt;case"center":case"silhouette":return Ntt;case"wiggle":return A9}throw new Error(`unknown offset: ${e}`)}}function M9(e,t){let n=0,r=0;for(let i of e){let o=t[i];o<n&&(n=o),o>r&&(r=o)}return[n,r]}function Dtt(e,t,n){for(let r of e)for(let i of r){let[o,s]=M9(i,n);for(let a of i){let c=1/(s-o||1);t[a]=c*(t[a]-o),n[a]=c*(n[a]-o)}}}function Ntt(e,t,n){for(let r of e){for(let i of r){let[o,s]=M9(i,n);for(let a of i){let c=(s+o)/2;t[a]-=c,n[a]-=c}}T9(r,t,n)}E9(e,t,n)}function A9(e,t,n,r){for(let i of e){let o=new Qn,s=0;for(let a of i){let c=-1,l=a.map(d=>Math.abs(n[d]-t[d])),u=a.map(d=>{c=r?r[d]:++c;let p=n[d]-t[d],m=o.has(c)?p-o.get(c):0;return o.set(c,p),m}),f=[0,...fx(u)];for(let d of a)t[d]+=s,n[d]+=s;let h=Dn(l);h&&(s-=Dn(l,(d,p)=>(u[p]/2+f[p])*d)/h)}T9(i,t,n)}E9(e,t,n)}function T9(e,t,n){let r=fe(e,i=>fe(i,o=>t[o]));for(let i of e)for(let o of i)t[o]-=r,n[o]-=r}function E9(e,t,n){let r=e.length;if(r===1)return;let i=e.map(a=>a.flat()),o=i.map(a=>(fe(a,c=>t[c])+Jt(a,c=>n[c]))/2),s=fe(o);for(let a=0;a<r;a++){let c=s-o[a];for(let l of i[a])t[l]+=c,n[l]+=c}}function Ott(e,t,n){if(e===void 0&&t===A9)return b9(mn);if(e!=null){if(typeof e=="string"){let r=e.startsWith("-"),i=r?Al:mn;switch((r?e.slice(1):e).toLowerCase()){case"value":case n:return Ltt(i);case"z":return Btt(i);case"sum":return Ctt(i);case"appearance":return ktt(i);case"inside-out":return b9(i)}return w9(b3(e))}if(typeof e=="function")return(e.length===1?w9:Rtt)(e);if(Array.isArray(e))return Ftt(e);throw new Error(`invalid order: ${e}`)}}function Ltt(e){return(t,n,r)=>(i,o)=>e(r[i],r[o])}function Btt(e){return(t,n,r,i)=>(o,s)=>e(i[o],i[s])}function Ctt(e){return Mv(e,(t,n,r,i)=>Ru(lr(t),o=>Dn(o,s=>r[s]),o=>i[o]))}function ktt(e){return Mv(e,(t,n,r,i)=>Ru(lr(t),o=>n[Qc(o,s=>r[s])],o=>i[o]))}function b9(e){return Mv(e,(t,n,r,i)=>{let o=lr(t),s=Ru(o,f=>n[Qc(f,h=>r[h])],f=>i[f]),a=Ui(o,f=>Dn(f,h=>r[h]),f=>i[f]),c=[],l=[],u=0;for(let f of s)u<0?(u+=a.get(f),c.push(f)):(u-=a.get(f),l.push(f));return l.reverse().concat(c)})}function w9(e){return t=>{let n=wt(t,e);return(r,i)=>mn(n[r],n[i])}}function Rtt(e){return t=>(n,r)=>e(t[n],t[r])}function Ftt(e){return Mv(mn,()=>e)}function Mv(e,t){return(n,r,i,o)=>{if(!o)throw new Error("missing channel: z");let s=new Qn(t(n,r,i,o).map((a,c)=>[a,c]));return(a,c)=>e(s.get(o[a]),s.get(o[c]))}}var $tt={ariaLabel:"area",strokeWidth:1,strokeLinecap:"round",strokeLinejoin:"round",strokeMiterlimit:1},zl=class extends St{constructor(t,n={}){let{x1:r,y1:i,x2:o,y2:s,z:a,curve:c,tension:l}=n;super(t,{x1:{value:r,scale:"x"},y1:{value:i,scale:"y"},x2:{value:o,scale:"x",optional:!0},y2:{value:s,scale:"y",optional:!0},z:{value:Vn(n),optional:!0}},n,$tt),this.z=a,this.curve=_y(c,l)}filter(t){return t}render(t,n,r,i,o){let{x1:s,y1:a,x2:c=s,y2:l=a}=r;return ut("svg:g",o).call(kt,this,i,o).call(Et,this,n,0,0).call(u=>u.selectAll().data(Gw(t,[s,a,c,l],this,r)).enter().append("path").call(Ct,this).call(Cl,this,r).attr("d",_f().curve(this.curve).defined(f=>f>=0).x0(f=>s[f]).y0(f=>a[f]).x1(f=>c[f]).y1(f=>l[f]))).node()}};function Sy(e,t){return t===void 0?la(e,{x:Dl,y:Za}):new zl(e,t)}function hc(e,t){let{y:n=Ee,...r}=eh(t);return new zl(e,ih(nh({...r,y1:n,y2:void 0})))}function la(e,t){let{x:n=Ee,...r}=th(t);return new zl(e,oh(rh({...r,x1:n,x2:void 0})))}var Ptt={ariaLabel:"link",fill:"none",stroke:"currentColor",strokeMiterlimit:1},Iy=class extends St{constructor(t,n={}){let{x1:r,y1:i,x2:o,y2:s,curve:a,tension:c}=n;super(t,{x1:{value:r,scale:"x"},y1:{value:i,scale:"y"},x2:{value:o,scale:"x",optional:!0},y2:{value:s,scale:"y",optional:!0}},n,Ptt),this.curve=Sv(a,c),Wi(this,n)}project(t,n,r){this.curve!==fc&&super.project(t,n,r)}render(t,n,r,i,o){let{x1:s,y1:a,x2:c=s,y2:l=a}=r,{curve:u}=this;return ut("svg:g",o).call(kt,this,i,o).call(Et,this,n).call(f=>f.selectAll().data(t).enter().append("path").call(Ct,this).attr("d",u===fc&&o.projection?Utt(o.projection,s,a,c,l):h=>{let d=rr(),p=u(d);return p.lineStart(),p.point(s[h],a[h]),p.point(c[h],l[h]),p.lineEnd(),d}).call(Kt,this,r).call(aa,this,r,o)).node()}};function Utt(e,t,n,r,i){let o=On(e);return t=en(t),n=en(n),r=en(r),i=en(i),s=>o({type:"LineString",coordinates:[[t[s],n[s]],[r[s],i[s]]]})}function Av(e,{x:t,x1:n,x2:r,y:i,y1:o,y2:s,...a}={}){return[n,r]=My(t,n,r),[o,s]=My(i,o,s),new Iy(e,{...a,x1:n,x2:r,y1:o,y2:s})}function My(e,t,n){if(e===void 0){if(t===void 0){if(n!==void 0)return[n]}else if(n===void 0)return[t]}else{if(t===void 0)return n===void 0?[e]:[e,n];if(n===void 0)return[e,t]}return[t,n]}var ztt={ariaLabel:"arrow",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeMiterlimit:1,strokeWidth:1.5},Ay=class extends St{constructor(t,n={}){let{x1:r,y1:i,x2:o,y2:s,bend:a=0,headAngle:c=60,headLength:l=8,inset:u=0,insetStart:f=u,insetEnd:h=u,sweep:d}=n;super(t,{x1:{value:r,scale:"x"},y1:{value:i,scale:"y"},x2:{value:o,scale:"x",optional:!0},y2:{value:s,scale:"y",optional:!0}},n,ztt),this.bend=a===!0?22.5:Math.max(-90,Math.min(90,a)),this.headAngle=+c,this.headLength=+l,this.insetStart=+f,this.insetEnd=+h,this.sweep=qtt(d)}render(t,n,r,i,o){let{x1:s,y1:a,x2:c=s,y2:l=a,SW:u}=r,{strokeWidth:f,bend:h,headAngle:d,headLength:p,insetStart:m,insetEnd:y}=this,g=u?w=>u[w]:yn(f===void 0?1:f),x=d*Zf/2,b=p/1.5;return ut("svg:g",o).call(kt,this,i,o).call(Et,this,n).call(w=>w.selectAll().data(t).enter().append("path").call(Ct,this).attr("d",_=>{let v=s[_],I=a[_],E=c[_],M=l[_],N=Math.hypot(E-v,M-I);if(N<=m+y)return null;let A=Math.atan2(M-I,E-v),O=Math.min(b*g(_),N/3),C=this.sweep(v,I,E,M)*h*Zf,S=Math.hypot(N/Math.tan(C),N)/2;if(m||y)if(S<1e5){let nt=Math.sign(C),[ot,at]=jtt([v,I],[E,M],S,nt);if(m&&([v,I]=D9([ot,at,S],[v,I,m],-nt*Math.sign(m))),y){let[Y,st]=D9([ot,at,S],[E,M,y],nt*Math.sign(y));A+=Math.atan2(st-at,Y-ot)-Math.atan2(M-at,E-ot),E=Y,M=st}}else{let nt=E-v,ot=M-I,at=Math.hypot(nt,ot);m&&(v+=nt/at*m,I+=ot/at*m),y&&(E-=nt/at*y,M-=ot/at*y)}let T=A+C,D=T+x,R=T-x,F=E-O*Math.cos(D),k=M-O*Math.sin(D),$=E-O*Math.cos(R),P=M-O*Math.sin(R),U=S<1e5?`A${S},${S} 0,0,${C>0?1:0} `:"L",W=O?`M${F},${k}L${E},${M}L${$},${P}`:"";return`M${v},${I}${U}${E},${M}${W}`}).call(Kt,this,r)).node()}};function qtt(e=1){if(typeof e=="number")return yn(Math.sign(e));if(typeof e=="function")return(t,n,r,i)=>Math.sign(e(t,n,r,i));switch(cn(e,"sweep",["+x","-x","+y","-y"])){case"+x":return(t,n,r)=>Ot(t,r);case"-x":return(t,n,r)=>Jn(t,r);case"+y":return(t,n,r,i)=>Ot(n,i);case"-y":return(t,n,r,i)=>Jn(n,i)}}function jtt([e,t],[n,r],i,o){let s=n-e,a=r-t,c=Math.hypot(s,a),l=o*Math.sqrt(i*i-c*c/4)/c;return[(e+n)/2-a*l,(t+r)/2+s*l]}function D9([e,t,n],[r,i,o],s){let a=r-e,c=i-t,l=Math.hypot(a,c),u=(a*a+c*c-o*o+n*n)/(2*l),f=s*Math.sqrt(n*n-u*u);return[e+(a*u+c*f)/l,t+(c*u-a*f)/l]}function N9(e,{x:t,x1:n,x2:r,y:i,y1:o,y2:s,...a}={}){return[n,r]=My(t,n,r),[o,s]=My(i,o,s),new Ay(e,{...a,x1:n,x2:r,y1:o,y2:s})}var ch=class extends St{constructor(t,n,r={},i){super(t,n,r,i);let{inset:o=0,insetTop:s=o,insetRight:a=o,insetBottom:c=o,insetLeft:l=o,rx:u,ry:f}=r;this.insetTop=Bt(s),this.insetRight=Bt(a),this.insetBottom=Bt(c),this.insetLeft=Bt(l),this.rx=he(u,"auto"),this.ry=he(f,"auto")}render(t,n,r,i,o){let{rx:s,ry:a}=this;return ut("svg:g",o).call(kt,this,i,o).call(this._transform,this,n).call(c=>c.selectAll().data(t).enter().append("rect").call(Ct,this).attr("x",this._x(n,r,i)).attr("width",this._width(n,r,i)).attr("y",this._y(n,r,i)).attr("height",this._height(n,r,i)).call(ft,"rx",s).call(ft,"ry",a).call(Kt,this,r)).node()}_x(t,{x:n},{marginLeft:r}){let{insetLeft:i}=this;return n?o=>n[o]+i:r+i}_y(t,{y:n},{marginTop:r}){let{insetTop:i}=this;return n?o=>n[o]+i:r+i}_width({x:t},{x:n},{marginRight:r,marginLeft:i,width:o}){let{insetLeft:s,insetRight:a}=this,c=n&&t?t.bandwidth():o-r-i;return Math.max(0,c-s-a)}_height({y:t},{y:n},{marginTop:r,marginBottom:i,height:o}){let{insetTop:s,insetBottom:a}=this,c=n&&t?t.bandwidth():o-r-i;return Math.max(0,c-s-a)}},O9={ariaLabel:"bar"},Ty=class extends ch{constructor(t,n={}){let{x1:r,x2:i,y:o}=n;super(t,{x1:{value:r,scale:"x"},x2:{value:i,scale:"x"},y:{value:o,scale:"y",type:"band",optional:!0}},n,O9)}_transform(t,n,{x:r}){t.call(Et,n,{x:r},0,0)}_x({x:t},{x1:n,x2:r},{marginLeft:i}){let{insetLeft:o}=this;return fr(t)?i+o:s=>Math.min(n[s],r[s])+o}_width({x:t},{x1:n,x2:r},{marginRight:i,marginLeft:o,width:s}){let{insetLeft:a,insetRight:c}=this;return fr(t)?s-i-o-a-c:l=>Math.max(0,Math.abs(r[l]-n[l])-a-c)}},Ey=class extends ch{constructor(t,n={}){let{x:r,y1:i,y2:o}=n;super(t,{y1:{value:i,scale:"y"},y2:{value:o,scale:"y"},x:{value:r,scale:"x",type:"band",optional:!0}},n,O9)}_transform(t,n,{y:r}){t.call(Et,n,{y:r},0,0)}_y({y:t},{y1:n,y2:r},{marginTop:i}){let{insetTop:o}=this;return fr(t)?i+o:s=>Math.min(n[s],r[s])+o}_height({y:t},{y1:n,y2:r},{marginTop:i,marginBottom:o,height:s}){let{insetTop:a,insetBottom:c}=this;return fr(t)?s-i-o-a-c:l=>Math.max(0,Math.abs(r[l]-n[l])-a-c)}};function Ko(e,t={}){return Bf(t)||(t={...t,y:Ee,x2:G}),new Ty(e,ih(tv(nh(t))))}function ts(e,t={}){return Bf(t)||(t={...t,x:Ee,y2:G}),new Ey(e,oh(ev(rh(t))))}var Vtt={ariaLabel:"cell"},ql=class extends ch{constructor(t,{x:n,y:r,...i}={}){super(t,{x:{value:n,scale:"x",type:"band",optional:!0},y:{value:r,scale:"y",type:"band",optional:!0}},i,Vtt)}_transform(t,n){t.call(Et,n,{},0,0)}};function dc(e,{x:t,y:n,...r}={}){return[t,n]=Pe(t,n),new ql(e,{...r,x:t,y:n})}function L9(e,{x:t=Ee,fill:n,stroke:r,...i}={}){return n===void 0&&Le(r)[0]===void 0&&(n=G),new ql(e,{...i,x:t,fill:n,stroke:r})}function B9(e,{y:t=Ee,fill:n,stroke:r,...i}={}){return n===void 0&&Le(r)[0]===void 0&&(n=G),new ql(e,{...i,y:t,fill:n,stroke:r})}var Ytt={ariaLabel:"dot",fill:"none",stroke:"currentColor",strokeWidth:1.5};function Dy(e){return e.sort===void 0&&e.reverse===void 0?Nw({channel:"-r"},e):e}var jl=class extends St{constructor(t,n={}){let{x:r,y:i,r:o,rotate:s,symbol:a=Hs,frameAnchor:c}=n,[l,u]=ae(s,0),[f,h]=qF(a),[d,p]=ae(o,f==null?3:4.5);super(t,{x:{value:r,scale:"x",optional:!0},y:{value:i,scale:"y",optional:!0},r:{value:d,scale:"r",filter:cr,optional:!0},rotate:{value:l,optional:!0},symbol:{value:f,scale:"auto",optional:!0}},Dy(n),Ytt),this.r=p,this.rotate=u,this.symbol=h,this.frameAnchor=Go(c);let{channels:m}=this,{symbol:y}=m;if(y){let{fill:g,stroke:x}=m;y.hint={fill:g?g.value===y.value?"color":"currentColor":this.fill??"currentColor",stroke:x?x.value===y.value?"color":"currentColor":this.stroke??"none"}}}render(t,n,r,i,o){let{x:s,y:a}=n,{x:c,y:l,r:u,rotate:f,symbol:h}=r,{r:d,rotate:p,symbol:m}=this,[y,g]=vn(this,i),x=m===Hs,b=u?void 0:d*d*Math.PI;return Ya(d)&&(t=[]),ut("svg:g",o).call(kt,this,i,o).call(Et,this,{x:c&&s,y:l&&a}).call(w=>w.selectAll().data(t).enter().append(x?"circle":"path").call(Ct,this).call(x?_=>{_.attr("cx",c?v=>c[v]:y).attr("cy",l?v=>l[v]:g).attr("r",u?v=>u[v]:d)}:_=>{_.attr("transform",lc`translate(${c?v=>c[v]:y},${l?v=>l[v]:g})${f?v=>` rotate(${f[v]})`:p?` rotate(${p})`:""}`).attr("d",u&&h?v=>{let I=rr();return h[v].draw(I,u[v]*u[v]*Math.PI),I}:u?v=>{let I=rr();return m.draw(I,u[v]*u[v]*Math.PI),I}:h?v=>{let I=rr();return h[v].draw(I,b),I}:(()=>{let v=rr();return m.draw(v,b),v})())}).call(Kt,this,r)).node()}};function _i(e,{x:t,y:n,...r}={}){return r.frameAnchor===void 0&&([t,n]=Pe(t,n)),new jl(e,{...r,x:t,y:n})}function C9(e,{x:t=G,...n}={}){return new jl(e,rv({...n,x:t}))}function k9(e,{y:t=G,...n}={}){return new jl(e,nv({...n,y:t}))}function R9(e,t){return _i(e,{...t,symbol:"circle"})}function F9(e,t){return _i(e,{...t,symbol:"hexagon"})}var Xtt={ariaLabel:"line",fill:"none",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round",strokeMiterlimit:1},Vl=class extends St{constructor(t,n={}){let{x:r,y:i,z:o,curve:s,tension:a}=n;super(t,{x:{value:r,scale:"x"},y:{value:i,scale:"y"},z:{value:Vn(n),optional:!0}},n,Xtt),this.z=o,this.curve=Sv(s,a),Wi(this,n)}filter(t){return t}project(t,n,r){this.curve!==fc&&super.project(t,n,r)}render(t,n,r,i,o){let{x:s,y:a}=r,{curve:c}=this;return ut("svg:g",o).call(kt,this,i,o).call(Et,this,n).call(l=>l.selectAll().data(Gw(t,[s,a],this,r)).enter().append("path").call(Ct,this).call(Cl,this,r).call(p$,this,r,o).attr("d",c===fc&&o.projection?Gtt(o.projection,s,a):Cm().curve(c).defined(u=>u>=0).x(u=>s[u]).y(u=>a[u]))).node()}};function Gtt(e,t,n){let r=On(e);return t=en(t),n=en(n),i=>{let o=[],s=[o];for(let a of i)a===-1?(o=[],s.push(o)):o.push([t[a],n[a]]);return r({type:"MultiLineString",coordinates:s})}}function Yl(e,{x:t,y:n,...r}={}){return[t,n]=Pe(t,n),new Vl(e,{...r,x:t,y:n})}function pc(e,{x:t=G,y:n=Ee,...r}={}){return new Vl(e,eh({...r,x:t,y:n}))}function mc(e,{x:t=Ee,y:n=G,...r}={}){return new Vl(e,th({...r,x:t,y:n}))}var Wtt={ariaLabel:"rect"},Xl=class extends St{constructor(t,n={}){let{x1:r,y1:i,x2:o,y2:s,inset:a=0,insetTop:c=a,insetRight:l=a,insetBottom:u=a,insetLeft:f=a,rx:h,ry:d}=n;super(t,{x1:{value:r,scale:"x",type:r!=null&&o==null?"band":void 0,optional:!0},y1:{value:i,scale:"y",type:i!=null&&s==null?"band":void 0,optional:!0},x2:{value:o,scale:"x",optional:!0},y2:{value:s,scale:"y",optional:!0}},n,Wtt),this.insetTop=Bt(c),this.insetRight=Bt(l),this.insetBottom=Bt(u),this.insetLeft=Bt(f),this.rx=he(h,"auto"),this.ry=he(d,"auto")}render(t,n,r,i,o){let{x:s,y:a}=n,{x1:c,y1:l,x2:u,y2:f}=r,{marginTop:h,marginRight:d,marginBottom:p,marginLeft:m,width:y,height:g}=i,{projection:x}=o,{insetTop:b,insetRight:w,insetBottom:_,insetLeft:v,rx:I,ry:E}=this,M=(s?.bandwidth?s.bandwidth():0)-v-w,N=(a?.bandwidth?a.bandwidth():0)-b-_;return ut("svg:g",o).call(kt,this,i,o).call(Et,this,{},0,0).call(A=>A.selectAll().data(t).enter().append("rect").call(Ct,this).attr("x",c&&(x||!fr(s))?u?O=>Math.min(c[O],u[O])+v:O=>c[O]+v:m+v).attr("y",l&&(x||!fr(a))?f?O=>Math.min(l[O],f[O])+b:O=>l[O]+b:h+b).attr("width",c&&(x||!fr(s))?u?O=>Math.max(0,Math.abs(u[O]-c[O])+M):M:y-d-m-w-v).attr("height",l&&(x||!fr(a))?f?O=>Math.max(0,Math.abs(l[O]-f[O])+N):N:g-h-p-b-_).call(ft,"rx",I).call(ft,"ry",E).call(Kt,this,r)).node()}};function Ny(e,t){return new Xl(e,hT(dT(t)))}function lh(e,t={}){return Bf(t)||(t={...t,y:Ee,x2:G,interval:1}),new Xl(e,ih(dT(nh(t))))}function uh(e,t={}){return Bf(t)||(t={...t,x:Ee,y2:G,interval:1}),new Xl(e,oh(hT(rh(t))))}function BT(e,t){t=Htt(t);let{x:n,y:r,color:i,size:o}=t,s=Tv(e,n),a=Tv(e,r),c=Tv(e,i),l=Tv(e,o),{fx:u,fy:f,x:{value:h,reduce:d,zero:p,...m},y:{value:y,reduce:g,zero:x,...b},color:{value:w,color:_,reduce:v},size:{value:I,reduce:E},mark:M}=t;if(d===void 0&&(d=g==null&&h==null&&I==null&&y!=null?"count":null),g===void 0&&(g=d==null&&y==null&&I==null&&h!=null?"count":null),E===void 0&&I==null&&v==null&&d==null&&g==null&&(h==null||De(s))&&(y==null||De(a))&&(E="count"),p===void 0&&(p=Ev(d)?!0:void 0),x===void 0&&(x=Ev(g)?!0:void 0),h==null&&y==null)throw new Error("must specify x or y");if(d!=null&&y==null)throw new Error("reducing x requires y");if(g!=null&&h==null)throw new Error("reducing y requires x");M===void 0&&(M=I!=null||E!=null?"dot":Ev(d)||Ev(g)||v!=null?"bar":h!=null&&y!=null?De(s)||De(a)||d==null&&g==null&&!Oy(s)&&!Oy(a)?"dot":"line":h!=null||y!=null?"rule":null);let N,A,O;switch(M){case"dot":O=_i,A="stroke";break;case"line":O=s&&a||d!=null||g!=null?x||g!=null||s&&Oy(s)?mc:p||d!=null||a&&Oy(a)?pc:Yl:s?pc:mc,A="stroke",P9(c)&&(N=null);break;case"area":O=!(x||g!=null)&&(p||d!=null||a&&Oy(a))?hc:la,A="fill",P9(c)&&(N=null);break;case"rule":O=s?Xr:Gr,A="stroke";break;case"bar":O=d!=null?De(a)?$9(d)&&s&&De(s)?dc:Ko:lh:g!=null?De(s)?$9(g)&&a&&De(a)?dc:ts:uh:v!=null||E!=null?s&&De(s)&&a&&De(a)?dc:s&&De(s)?ts:a&&De(a)?Ko:Ny:s&&ta(s)&&!(a&&ta(a))?Ko:a&&ta(a)&&!(s&&ta(s))?ts:dc,A="fill";break;default:throw new Error(`invalid mark: ${M}`)}let C={fx:u,fy:f,x:s??void 0,y:a??void 0,[A]:c??_,z:N,r:l??void 0,tip:!0},S,T={[A]:v??void 0,r:E??void 0};if(d!=null&&g!=null)throw new Error("cannot reduce both x and y");return g!=null?(T.y=g,S=De(s)?ec:Jo):d!=null?(T.x=d,S=De(a)?nc:Qo):(v!=null||E!=null)&&(s&&a?S=De(s)&&De(a)?oy:De(s)?Qo:De(a)?Jo:ca:s?S=De(s)?ec:Jo:a&&(S=De(a)?nc:Qo)),(S===ca||S===Jo)&&(C.x={value:s,...m}),(S===ca||S===Qo)&&(C.y={value:a,...b}),p===void 0&&(p=s&&!(S===ca||S===Jo)&&(O===Ko||O===hc||O===lh||O===Gr)),x===void 0&&(x=a&&!(S===ca||S===Qo)&&(O===ts||O===la||O===uh||O===Xr)),{fx:u??null,fy:f??null,x:{value:h??null,reduce:d??null,zero:!!p,...m},y:{value:y??null,reduce:g??null,zero:!!x,...b},color:{value:w??null,reduce:v??null,..._!==void 0&&{color:_}},size:{value:I??null,reduce:E??null},mark:M,markImpl:U9[O],markOptions:C,transformImpl:U9[S],transformOptions:T,colorMode:A}}function z9(e,t){let n=BT(e,t),{fx:r,fy:i,x:{zero:o},y:{zero:s},markOptions:a,transformOptions:c,colorMode:l}=n,u=LT[n.markImpl],f=LT[n.transformImpl],h=r!=null||i!=null?Kf({strokeOpacity:.1}):null,d=[o?Xr([0]):null,s?Gr([0]):null],p=u(e,f?f(c,a):a);return l==="stroke"?nn(h,d,p):nn(h,p,d)}function Oy(e){let t,n;for(let r of e){if(r==null)continue;if(t===void 0){t=r;continue}let i=Math.sign(Ot(t,r));if(i){if(n!==void 0&&i!==n)return!1;t=r,n=i}}return!0}function Htt({x:e,y:t,color:n,size:r,fx:i,fy:o,mark:s}={}){return Vr(e)||(e=fh(e)),Vr(t)||(t=fh(t)),Vr(n)||(n=Ka(n)?{color:n}:fh(n)),Vr(r)||(r=fh(r)),Vr(i)&&({value:i}=fh(i)),Vr(o)&&({value:o}=fh(o)),s!=null&&(s=`${s}`.toLowerCase()),{x:e,y:t,color:n,size:r,fx:i,fy:o,mark:s}}function Tv(e,t){let n=wt(e,t.value);return n&&(n.label=Cn(t.value)),n}function fh(e){return Ztt(e)?{reduce:e}:{value:e}}function Ev(e){return/^(?:distinct|count|sum|proportion)$/i.test(e)}function $9(e){return/^(?:first|last|mode)$/i.test(e)}function Ztt(e){if(e==null)return!1;if(typeof e.reduceIndex=="function"||typeof e.reduce=="function"&&gn(e)||/^p\d{2}$/i.test(e))return!0;switch(`${e}`.toLowerCase()){case"first":case"last":case"count":case"distinct":case"sum":case"proportion":case"proportion-facet":case"deviation":case"min":case"min-index":case"max":case"max-index":case"mean":case"median":case"variance":case"mode":return!0}return!1}function P9(e){return e?new Kn(e).size>e.length>>1:!1}var LT={dot:_i,line:Yl,lineX:pc,lineY:mc,areaX:hc,areaY:la,ruleX:Xr,ruleY:Gr,barX:Ko,barY:ts,rect:Ny,rectX:lh,rectY:uh,cell:dc,bin:ca,binX:Jo,binY:Qo,group:oy,groupX:ec,groupY:nc},U9=Object.fromEntries(Object.entries(LT).map(([e,t])=>[t,e]));function hh(e,t={}){let{x:n,x1:r,x2:i}=t;n===void 0&&r===void 0&&i===void 0&&(t={...t,x:n=G});let o={};return n!=null&&(o.x=e),r!=null&&(o.x1=e),i!=null&&(o.x2=e),Ir(o,t)}function dh(e,t={}){let{y:n,y1:r,y2:i}=t;n===void 0&&r===void 0&&i===void 0&&(t={...t,y:n=G});let o={};return n!=null&&(o.y=e),r!=null&&(o.y1=e),i!=null&&(o.y2=e),Ir(o,t)}function Ir(e={},t={}){let n=Vn(t),r=Object.entries(e).map(([i,o])=>{let s=Iw(i,t);if(s==null)throw new Error(`missing channel: ${i}`);let[a,c]=xn(s);return{key:i,input:s,output:a,setOutput:c,map:Jtt(o)}});return{...bn(t,(i,o)=>{let s=wt(i,n),a=r.map(({input:l})=>wt(i,l)),c=r.map(({setOutput:l})=>l(new Array(i.length)));for(let l of o)for(let u of s?fn(l,f=>s[f]).values():[l])r.forEach(({map:f},h)=>f.mapIndex(u,a[h],c[h]));return{data:i,facets:o}}),...Object.fromEntries(r.map(({key:i,output:o})=>[i,o]))}}function Jtt(e){if(e==null)throw new Error("missing map");if(typeof e.mapIndex=="function")return e;if(typeof e.map=="function"&&gn(e))return Qtt(e);if(typeof e=="function")return CT(Cf(e));switch(`${e}`.toLowerCase()){case"cumsum":return tet;case"rank":return CT((t,n)=>vp(t,r=>n[r]));case"quantile":return CT((t,n)=>Ktt(t,r=>n[r]))}throw new Error(`invalid map: ${e}`)}function Qtt(e){return console.warn("deprecated map interface; implement mapIndex instead."),{mapIndex:e.map.bind(e)}}function Ktt(e,t){let n=Io(e,t)-1;return vp(e,t).map(r=>r/n)}function CT(e){return{mapIndex(t,n,r){let i=e(t,n);if(i.length!==t.length)throw new Error("map function returned a mismatched length");for(let o=0,s=t.length;o<s;++o)r[t[o]]=i[o]}}}var tet={mapIndex(e,t,n){let r=0;for(let i of e)n[i]=r+=t[i]}};function q9(e={},t){return arguments.length===1&&(t=e),hh(ph(e),t)}function j9(e={},t){return arguments.length===1&&(t=e),dh(ph(e),t)}function ph(e={}){typeof e=="number"&&(e={k:e});let{k:t,reduce:n,shift:r,anchor:i,strict:o}=e;if(i===void 0&&r!==void 0&&(i=net(r),Yn(`Warning: the shift option is deprecated; please use anchor "${i}" instead.`)),!((t=Math.floor(t))>0))throw new Error(`invalid k: ${t}`);return ret(n)(t,eet(i,t),o)}function eet(e="middle",t){switch(`${e}`.toLowerCase()){case"middle":return t-1>>1;case"start":return 0;case"end":return t-1}throw new Error(`invalid anchor: ${e}`)}function net(e){switch(`${e}`.toLowerCase()){case"centered":return"middle";case"leading":return"start";case"trailing":return"end"}throw new Error(`invalid shift: ${e}`)}function ret(e="mean"){if(typeof e=="string"){if(/^p\d{2}$/i.test(e))return Dv(Lf(e));switch(e.toLowerCase()){case"deviation":return Dv(li);case"max":return Nv((t,n)=>Jt(t,r=>n[r]));case"mean":return iet;case"median":return Dv(zi);case"min":return Nv((t,n)=>fe(t,r=>n[r]));case"mode":return Nv((t,n)=>Uu(t,r=>n[r]));case"sum":return V9;case"variance":return Dv(Da);case"difference":return aet;case"ratio":return cet;case"first":return uet;case"last":return fet}}if(typeof e!="function")throw new Error(`invalid reduce: ${e}`);return Nv(Cf(e))}function Dv(e){return(t,n,r)=>r?{mapIndex(i,o,s){let a=l=>o[l]==null?NaN:+o[l],c=0;for(let l=0;l<t-1;++l)isNaN(a(l))&&++c;for(let l=0,u=i.length-t+1;l<u;++l)isNaN(a(l+t-1))&&++c,s[i[l+n]]=c===0?e(Qs(i,l,l+t),a):NaN,isNaN(a(l))&&--c}}:{mapIndex(i,o,s){let a=c=>o[c]==null?NaN:+o[c];for(let c=-n;c<0;++c)s[i[c+n]]=e(Qs(i,0,c+t),a);for(let c=0,l=i.length-n;c<l;++c)s[i[c+n]]=e(Qs(i,c,c+t),a)}}}function Nv(e){return(t,n,r)=>r?{mapIndex(i,o,s){let a=0;for(let c=0;c<t-1;++c)a+=ze(o[i[c]]);for(let c=0,l=i.length-t+1;c<l;++c)a+=ze(o[i[c+t-1]]),a===t&&(s[i[c+n]]=e(Qs(i,c,c+t),o)),a-=ze(o[i[c]])}}:{mapIndex(i,o,s){for(let a=-n;a<0;++a)s[i[a+n]]=e(Qs(i,0,a+t),o);for(let a=0,c=i.length-n;a<c;++a)s[i[a+n]]=e(Qs(i,a,a+t),o)}}}function V9(e,t,n){return n?{mapIndex(r,i,o){let s=0,a=0;for(let c=0;c<e-1;++c){let l=i[r[c]];l===null||isNaN(l)?++s:a+=+l}for(let c=0,l=r.length-e+1;c<l;++c){let u=i[r[c]],f=i[r[c+e-1]];f===null||isNaN(f)?++s:a+=+f,o[r[c+t]]=s===0?a:NaN,u===null||isNaN(u)?--s:a-=+u}}}:{mapIndex(r,i,o){let s=0,a=r.length;for(let c=0,l=Math.min(a,e-t-1);c<l;++c)s+=+i[r[c]]||0;for(let c=-t,l=a-t;c<l;++c)s+=+i[r[c+e-1]]||0,o[r[c+t]]=s,s-=+i[r[c]]||0}}}function iet(e,t,n){if(n){let r=V9(e,t,n);return{mapIndex(i,o,s){r.mapIndex(i,o,s);for(let a=0,c=i.length-e+1;a<c;++a)s[i[a+t]]/=e}}}else return{mapIndex(r,i,o){let s=0,a=0,c=r.length;for(let l=0,u=Math.min(c,e-t-1);l<u;++l){let f=i[r[l]];f!==null&&!isNaN(f=+f)&&(s+=f,++a)}for(let l=-t,u=c-t;l<u;++l){let f=i[r[l+e-1]],h=i[r[l]];f!==null&&!isNaN(f=+f)&&(s+=f,++a),o[r[l+t]]=s/a,h!==null&&!isNaN(h=+h)&&(s-=h,--a)}}}}function oet(e,t,n,r){for(let i=n+r;n<i;++n){let o=e[t[n]];if(ze(o))return o}}function set(e,t,n,r){for(let i=n+r-1;i>=n;--i){let o=e[t[i]];if(ze(o))return o}}function Y9(e,t,n,r){for(let i=n+r;n<i;++n){let o=e[t[n]];if(o!==null&&!isNaN(o=+o))return o}}function X9(e,t,n,r){for(let i=n+r-1;i>=n;--i){let o=e[t[i]];if(o!==null&&!isNaN(o=+o))return o}}function aet(e,t,n){return n?{mapIndex(r,i,o){for(let s=0,a=r.length-e;s<a;++s){let c=i[r[s]],l=i[r[s+e-1]];o[r[s+t]]=c===null||l===null?NaN:l-c}}}:{mapIndex(r,i,o){for(let s=-t,a=r.length-e+t+1;s<a;++s)o[r[s+t]]=X9(i,r,s,e)-Y9(i,r,s,e)}}}function cet(e,t,n){return n?{mapIndex(r,i,o){for(let s=0,a=r.length-e;s<a;++s){let c=i[r[s]],l=i[r[s+e-1]];o[r[s+t]]=c===null||l===null?NaN:l/c}}}:{mapIndex(r,i,o){for(let s=-t,a=r.length-e+t+1;s<a;++s)o[r[s+t]]=X9(i,r,s,e)/Y9(i,r,s,e)}}}function uet(e,t,n){return n?{mapIndex(r,i,o){for(let s=0,a=r.length-e;s<a;++s)o[r[s+t]]=i[r[s]]}}:{mapIndex(r,i,o){for(let s=-t,a=r.length-e+t+1;s<a;++s)o[r[s+t]]=oet(i,r,s,e)}}}function fet(e,t,n){return n?{mapIndex(r,i,o){for(let s=0,a=r.length-e;s<a;++s)o[r[s+t]]=i[r[s+e-1]]}}:{mapIndex(r,i,o){for(let s=-t,a=r.length-e+t+1;s<a;++s)o[r[s+t]]=set(i,r,s,e)}}}var ua={n:20,k:2,color:"currentColor",opacity:.2,strict:!0,anchor:"end"};function G9(e,{x:t=G,y:n,k:r=ua.k,color:i=ua.color,opacity:o=ua.opacity,fill:s=i,fillOpacity:a=o,stroke:c=i,strokeOpacity:l,strokeWidth:u,...f}={}){return nn(ie(s)?null:hc(e,Ir({x1:yc({k:-r,...f}),x2:yc({k:r,...f})},{x1:t,x2:t,y:n,fill:s,fillOpacity:a,...f})),ie(c)?null:pc(e,Ir({x:yc(f)},{x:t,y:n,stroke:c,strokeOpacity:l,strokeWidth:u,...f})))}function W9(e,{x:t,y:n=G,k:r=ua.k,color:i=ua.color,opacity:o=ua.opacity,fill:s=i,fillOpacity:a=o,stroke:c=i,strokeOpacity:l,strokeWidth:u,...f}={}){return nn(ie(s)?null:la(e,Ir({y1:yc({k:-r,...f}),y2:yc({k:r,...f})},{x:t,y1:n,y2:n,fill:s,fillOpacity:a,...f})),ie(c)?null:mc(e,Ir({y:yc(f)},{x:t,y:n,stroke:c,strokeOpacity:l,strokeWidth:u,...f})))}function yc({n:e=ua.n,k:t=0,strict:n=ua.strict,anchor:r=ua.anchor}={}){return ph({k:e,reduce:i=>Os(i)+t*(li(i)||0),strict:n,anchor:r})}var het={ariaLabel:"tick",fill:null,stroke:"currentColor"},Ov=class extends St{constructor(t,n,r){super(t,n,r,het),Wi(this,r)}render(t,n,r,i,o){return ut("svg:g",o).call(kt,this,i,o).call(this._transform,this,n).call(s=>s.selectAll().data(t).enter().append("line").call(Ct,this).attr("x1",this._x1(n,r,i)).attr("x2",this._x2(n,r,i)).attr("y1",this._y1(n,r,i)).attr("y2",this._y2(n,r,i)).call(Kt,this,r).call(aa,this,r,o)).node()}},Ly=class extends Ov{constructor(t,n={}){let{x:r,y:i,inset:o=0,insetTop:s=o,insetBottom:a=o}=n;super(t,{x:{value:r,scale:"x"},y:{value:i,scale:"y",type:"band",optional:!0}},n),this.insetTop=Bt(s),this.insetBottom=Bt(a)}_transform(t,n,{x:r}){t.call(Et,n,{x:r},Ce,0)}_x1(t,{x:n}){return r=>n[r]}_x2(t,{x:n}){return r=>n[r]}_y1({y:t},{y:n},{marginTop:r}){let{insetTop:i}=this;return n&&t?o=>n[o]+i:r+i}_y2({y:t},{y:n},{height:r,marginBottom:i}){let{insetBottom:o}=this;return n&&t?s=>n[s]+t.bandwidth()-o:r-i-o}},By=class extends Ov{constructor(t,n={}){let{x:r,y:i,inset:o=0,insetRight:s=o,insetLeft:a=o}=n;super(t,{y:{value:i,scale:"y"},x:{value:r,scale:"x",type:"band",optional:!0}},n),this.insetRight=Bt(s),this.insetLeft=Bt(a)}_transform(t,n,{y:r}){t.call(Et,n,{y:r},0,Ce)}_x1({x:t},{x:n},{marginLeft:r}){let{insetLeft:i}=this;return n&&t?o=>n[o]+i:r+i}_x2({x:t},{x:n},{width:r,marginRight:i}){let{insetRight:o}=this;return n&&t?s=>n[s]+t.bandwidth()-o:r-i-o}_y1(t,{y:n}){return r=>n[r]}_y2(t,{y:n}){return r=>n[r]}};function Lv(e,{x:t=G,...n}={}){return new Ly(e,{...n,x:t})}function Bv(e,{y:t=G,...n}={}){return new By(e,{...n,y:t})}function H9(e,{x:t=G,y:n=null,fill:r="#ccc",fillOpacity:i,stroke:o="currentColor",strokeOpacity:s,strokeWidth:a=2,sort:c,...l}={}){let u=n!=null?nc:iy;return nn(Gr(e,u({x1:kT,x2:RT},{x:t,y:n,stroke:o,strokeOpacity:s,...l})),Ko(e,u({x1:"p25",x2:"p75"},{x:t,y:n,fill:r,fillOpacity:i,...l})),Lv(e,u({x:"p50"},{x:t,y:n,stroke:o,strokeOpacity:s,strokeWidth:a,sort:c,...l})),_i(e,Ir({x:J9},{x:t,y:n,z:n,stroke:o,strokeOpacity:s,...l})))}function Z9(e,{y:t=G,x:n=null,fill:r="#ccc",fillOpacity:i,stroke:o="currentColor",strokeOpacity:s,strokeWidth:a=2,sort:c,...l}={}){let u=n!=null?ec:iy;return nn(Xr(e,u({y1:kT,y2:RT},{x:n,y:t,stroke:o,strokeOpacity:s,...l})),ts(e,u({y1:"p25",y2:"p75"},{x:n,y:t,fill:r,fillOpacity:i,...l})),Bv(e,u({y:"p50"},{x:n,y:t,stroke:o,strokeOpacity:s,strokeWidth:a,sort:c,...l})),_i(e,Ir({y:J9},{x:n,y:t,z:n,stroke:o,strokeOpacity:s,...l})))}function J9(e){let t=kT(e),n=RT(e);return e.map(r=>r<t||r>n?r:NaN)}function kT(e){let t=Q9(e)*2.5-K9(e)*1.5;return fe(e,n=>n>=t?n:NaN)}function RT(e){let t=K9(e)*2.5-Q9(e)*1.5;return Jt(e,n=>n<=t?n:NaN)}function Q9(e){return tr(e,.25)}function K9(e){return tr(e,.75)}var det={ariaLabel:"raster",stroke:null,pixelSize:1};function mh(e,t){let n=+e;if(isNaN(n))throw new Error(`invalid ${t}: ${e}`);return n}function tP(e,t){let n=Math.floor(e);if(isNaN(n))throw new Error(`invalid ${t}: ${e}`);return n}var ky=class extends St{constructor(t,n,r={},i){let{width:o,height:s,x:a,y:c,x1:l=a==null?0:void 0,y1:u=c==null?0:void 0,x2:f=a==null?o:void 0,y2:h=c==null?s:void 0,pixelSize:d=i.pixelSize,blur:p=0,interpolate:m}=r;if(o!=null&&(o=tP(o,"width")),s!=null&&(s=tP(s,"height")),l!=null&&(l=mh(l,"x1")),u!=null&&(u=mh(u,"y1")),f!=null&&(f=mh(f,"x2")),h!=null&&(h=mh(h,"y2")),a==null&&(l==null||f==null))throw new Error("missing x");if(c==null&&(u==null||h==null))throw new Error("missing y");t!=null&&o!=null&&s!=null&&(a===void 0&&l!=null&&f!=null&&(a=vet(l,f,o,s)),c===void 0&&u!=null&&h!=null&&(c=_et(u,h,o,s))),super(t,{x:{value:a,scale:"x",optional:!0},y:{value:c,scale:"y",optional:!0},x1:{value:l==null?null:[l],scale:"x",optional:!0,filter:null},y1:{value:u==null?null:[u],scale:"y",optional:!0,filter:null},x2:{value:f==null?null:[f],scale:"x",optional:!0,filter:null},y2:{value:h==null?null:[h],scale:"y",optional:!0,filter:null},...n},r,i),this.width=o,this.height=s,this.pixelSize=mh(d,"pixelSize"),this.blur=mh(p,"blur"),this.interpolate=a==null||c==null?null:pet(m)}},Ry=class extends ky{constructor(t,n={}){let{imageRendering:r}=n;if(t==null){let{fill:i,fillOpacity:o}=n;ae(o)[0]!==void 0&&(n=Cv("fillOpacity",n)),Le(i)[0]!==void 0&&(n=Cv("fill",n))}super(t,void 0,n,det),this.imageRendering=he(r,"auto")}scale(t,{color:n,...r},i){return super.scale(t,r,i)}render(t,n,r,i,o){let s=n[r.channels.fill?.scale]??(T=>T),{x:a,y:c}=r,{document:l}=o,[u,f,h,d]=nP(r,i,o),p=h-u,m=d-f,{pixelSize:y,width:g=Math.round(Math.abs(p)/y),height:x=Math.round(Math.abs(m)/y)}=this,b=g*x,{fill:w,fillOpacity:_}=r,v=0;if(this.interpolate){let T=g/p,D=x/m,R=Wt(a,k=>(k-u)*T,Float64Array),F=Wt(c,k=>(k-f)*D,Float64Array);w&&(w=this.interpolate(t,g,x,R,F,w)),_&&(_=this.interpolate(t,g,x,R,F,_))}else this.data==null&&t&&(v=t.fi*b);let I=l.createElement("canvas");I.width=g,I.height=x;let E=I.getContext("2d"),M=E.createImageData(g,x),N=M.data,{r:A,g:O,b:C}=sn(this.fill)??{r:0,g:0,b:0},S=(this.fillOpacity??1)*255;for(let T=0;T<b;++T){let D=T<<2;if(w){let R=s(w[T+v]);if(R==null){N[D+3]=0;continue}({r:A,g:O,b:C}=sn(R))}_&&(S=_[T+v]*255),N[D+0]=A,N[D+1]=O,N[D+2]=C,N[D+3]=S}return this.blur>0&&hI(M,this.blur),E.putImageData(M,0,0),ut("svg:g",o).call(kt,this,i,o).call(Et,this,n).call(T=>T.append("image").attr("transform",`translate(${u},${f}) scale(${Math.sign(h-u)},${Math.sign(d-f)})`).attr("width",Math.abs(p)).attr("height",Math.abs(m)).attr("preserveAspectRatio","none").call(ft,"image-rendering",this.imageRendering).call(Ct,this).attr("xlink:href",I.toDataURL())).node()}};function FT(e,t,n){arguments.length<3&&(n=t,t=null);let{x:r,y:i,[e]:o,...s}=n;return r===void 0&&i===void 0&&LF(t)&&(r=Dl,i=Za,o===void 0&&(o=TF)),[t,{...s,x:r,y:i,[e]:o}]}function eP(){let[e,t]=FT("fill",...arguments);return new Ry(e,e==null||t.fill!==void 0||t.fillOpacity!==void 0?t:{...t,fill:G})}function nP({x1:e,y1:t,x2:n,y2:r},i,{projection:o}){let{width:s,height:a,marginTop:c,marginRight:l,marginBottom:u,marginLeft:f}=i;return[e&&o==null?e[0]:f,t&&o==null?t[0]:c,n&&o==null?n[0]:s-l,r&&o==null?r[0]:a-u]}function $T({x1:e,y1:t,x2:n,y2:r},i,o,s){let a={};return e&&(a.x1=e),t&&(a.y1=t),n&&(a.x2=n),r&&(a.y2=r),nP(zf(a,i),o,s)}function Cv(e,t={}){let{[e]:n}=t;if(typeof n!="function")throw new Error(`invalid ${e}: not a function`);return Me({...t,[e]:void 0},function(r,i,o,s,a,c){let{x:l,y:u}=s;if(!l)throw new Error("missing scale: x");if(!u)throw new Error("missing scale: y");let[f,h,d,p]=$T(o,s,a,c),m=d-f,y=p-h,{pixelSize:g}=this,{width:x=Math.round(Math.abs(m)/g),height:b=Math.round(Math.abs(y)/g)}=t,w=new Array(x*b*(i?i.length:1)),_=m/x,v=y/b,I=0;for(let E of i??[void 0])for(let M=.5;M<b;++M)for(let N=.5;N<x;++N,++I)w[I]=n(l.invert(f+N*_),u.invert(h+M*v),E);return{data:w,facets:i,channels:{[e]:{value:w,scale:"auto"}}}})}function pet(e){if(typeof e=="function")return e;if(e==null)return kv;switch(`${e}`.toLowerCase()){case"none":return kv;case"nearest":return $y;case"barycentric":return Fy();case"random-walk":return Py()}throw new Error(`invalid interpolate: ${e}`)}function kv(e,t,n,r,i,o){let s=new Array(t*n);for(let a of e)r[a]<0||r[a]>=t||i[a]<0||i[a]>=n||(s[Math.floor(i[a])*t+Math.floor(r[a])]=o[a]);return s}function Fy({random:e=yl(42)}={}){return(t,n,r,i,o,s)=>{let{points:a,triangles:c,hull:l}=di.from(t,d=>i[d],d=>o[d]),u=new s.constructor(n*r).fill(NaN),f=new Uint8Array(n*r),h=wet(s,e);for(let d=0;d<c.length;d+=3){let p=c[d],m=c[d+1],y=c[d+2],g=a[2*p],x=a[2*m],b=a[2*y],w=a[2*p+1],_=a[2*m+1],v=a[2*y+1],I=Math.min(g,x,b),E=Math.max(g,x,b),M=Math.min(w,_,v),N=Math.max(w,_,v),A=(_-v)*(g-b)+(w-v)*(b-x);if(!A)continue;let O=s[t[p]],C=s[t[m]],S=s[t[y]];for(let T=Math.floor(I);T<E;++T)for(let D=Math.floor(M);D<N;++D){if(T<0||T>=n||D<0||D>=r)continue;let R=T+.5,F=D+.5,k=((_-v)*(R-b)+(F-v)*(b-x))/A;if(k<0)continue;let $=((v-w)*(R-b)+(F-v)*(g-b))/A;if($<0)continue;let P=1-k-$;if(P<0)continue;let U=T+n*D;u[U]=h(O,k,C,$,S,P,T,D),f[U]=1}}return met(u,f,i,o,s,n,r,l,t,h),u}}function met(e,t,n,r,i,o,s,a,c,l){n=Float64Array.from(a,d=>n[c[d]]),r=Float64Array.from(a,d=>r[c[d]]),i=Array.from(a,d=>i[c[d]]);let u=n.length,f=Array.from({length:u},(d,p)=>get(p,n,r)),h=0;for(let d=0;d<s;++d){let p=d+.5;for(let m=0;m<o;++m){let y=m+o*d;if(!t[y]){let g=m+.5;for(let x=0;x<u;++x){let b=(u+h+(x%2?(x+1)/2:-x/2))%u;if(f[b](g,p)){let w=yet(n.at(b-1),r.at(b-1),n[b],r[b],g,p);e[y]=l(i.at(b-1),w,i[b],1-w,i[b],0,m,d),h=b;break}}}}}}function yet(e,t,n,r,i,o){let s=n-e,a=r-t,c=s*(n-i)+a*(r-o),l=s*(i-e)+a*(o-t);return c>0&&l>0?c/(c+l):+(c>l)}function Cy(e,t,n,r){return e*r-n*t}function get(e,t,n){let r=t.length,i=t.at(e-2),o=n.at(e-2),s=t.at(e-1),a=n.at(e-1),c=t[e],l=n[e],u=t.at(e+1-r),f=n.at(e+1-r),h=s-c,d=a-l,p=i-s,m=o-a,y=c-u,g=l-f,x=Math.hypot(h,d),b=Math.hypot(p,m),w=Math.hypot(y,g);return(_,v)=>{let I=_-s,E=v-a,M=_-c,N=v-l;return Cy(I,E,M,N)>-1e-6&&Cy(I,E,h,d)*b-Cy(I,E,p,m)*x>-1e-6&&Cy(M,N,y,g)*x-Cy(M,N,h,d)*w<=0}}function $y(e,t,n,r,i,o){let s=new o.constructor(t*n),a=di.from(e,u=>r[u],u=>i[u]),c,l;for(let u=.5,f=0;u<n;++u){l=c;for(let h=.5;h<t;++h,++f)l=a.find(h,u,l),h===.5&&(c=l),s[f]=o[e[l]]}return s}function Py({random:e=yl(42),minDistance:t=.5,maxSteps:n=2}={}){return(r,i,o,s,a,c)=>{let l=new c.constructor(i*o),u=di.from(r,p=>s[p],p=>a[p]),f,h,d;for(let p=.5,m=0;p<o;++p){h=f;for(let y=.5;y<i;++y,++m){let g=y,x=p;d=h=u.find(g,x,h),y===.5&&(f=h);let b,w=0;for(;(b=Math.hypot(s[r[d]]-g,a[r[d]]-x))>t&&w<n;){let _=e(y,p,w)*2*Math.PI;g+=Math.cos(_)*b,x+=Math.sin(_)*b,d=u.find(g,x,d),++w}l[m]=c[r[d]]}}return l}}function xet(e,t,n,r,i,o){return t*e+r*n+o*i}function bet(e){return(t,n,r,i,o,s,a,c)=>{let l=e(a,c);return l<n?t:l<n+i?r:o}}function wet(e,t){return ta(e)||Be(e)?xet:bet(t)}function vet(e,t,n){return{transform(r){let i=r.length,o=new Float64Array(i),s=(t-e)/n,a=e+s/2;for(let c=0;c<i;++c)o[c]=c%n*s+a;return o}}}function _et(e,t,n,r){return{transform(i){let o=i.length,s=new Float64Array(o),a=(t-e)/r,c=e+a/2;for(let l=0;l<o;++l)s[l]=Math.floor(l/n)%r*a+c;return s}}}var rP={ariaLabel:"contour",fill:"none",stroke:"currentColor",strokeMiterlimit:1,pixelSize:2},Uy=class extends ky{constructor(t,{smooth:n=!0,value:r,...i}={}){let o=Xw({},i,rP);if(r===void 0){for(let a in o)if(o[a].value!=null){if(r!==void 0)throw new Error("ambiguous contour value");r=i[a],i[a]="value"}}if(r!=null){let a={transform:c=>c.map(l=>l.value),label:Cn(r)};for(let c in o)i[c]==="value"&&(i[c]=a)}if(t==null){if(r==null)throw new Error("missing contour value");i=Cv("value",{value:r,...i}),r=null}else{let{interpolate:a}=i;r===void 0&&(r=G),a===void 0&&(i.interpolate="nearest")}super(t,{value:{value:r,optional:!0}},Iet(i),rP);let s={geometry:{value:G}};for(let a in this.channels){let c=this.channels[a],{scale:l}=c;l==="x"||l==="y"||a==="value"||(s[a]=c,delete this.channels[a])}this.contourChannels=s,this.smooth=!!n}filter(t,{x:n,y:r,value:i,...o},s){return super.filter(t,o,s)}render(t,n,r,i,o){let{geometry:s}=r,a=On();return ut("svg:g",o).call(kt,this,i,o).call(Et,this,n).call(c=>{c.selectAll().data(t).enter().append("path").call(Ct,this).attr("d",l=>a(s[l])).call(Kt,this,r)}).node()}};function Iet({thresholds:e,interval:t,...n}){return e=ET(e,t,Na),Me(n,function(r,i,o,s,a,c){let[l,u,f,h]=$T(o,s,a,c),d=f-l,p=h-u,{pixelSize:m,width:y=Math.round(Math.abs(d)/m),height:g=Math.round(Math.abs(p)/m)}=this,x=y/d,b=g/p,w=o.value.value,_=[];if(this.interpolate){let{x:N,y:A}=ic(o,s,c),O=Wt(N,D=>(D-l)*x,Float64Array),C=Wt(A,D=>(D-u)*b,Float64Array),S=[o.x,o.y,o.value],T=[O,C,w];for(let D of i){let R=this.filter(D,S,T);_.push(this.interpolate(R,y,g,O,C,w))}}else if(i){let N=y*g,A=i.length;for(let O=0;O<A;++O)_.push(w.slice(O*N,O*N+N))}else _.push(w);if(this.blur>0)for(let N of _)yp({data:N,width:y,height:g},this.blur);let v=Met(e,w,...Aet(_));if(v===null)throw new Error(`unsupported thresholds: ${e}`);let{contour:I}=Fa().size([y,g]).smooth(this.smooth),E=[],M=[];for(let N of _)M.push(Ue(E.length,E.push(...Wt(v,A=>I(N,A)))));for(let{coordinates:N}of E)for(let A of N)for(let O of A)for(let C of O)C[0]=C[0]/x+l,C[1]=C[1]/b+u;return{data:E,facets:M,channels:Rw(this.contourChannels,E)}})}function Met(e,t,n,r){if(typeof e?.range=="function")return e.range(e.floor(n),r);if(typeof e=="function"&&(e=e(t,n,r)),typeof e!="number")return je(e);let i=En(...$u(n,r,e),e);for(;i[i.length-1]>=r;)i.pop();for(;i[1]<n;)i.shift();return i}function oP(){return new Uy(...FT("value",...arguments))}function Aet(e){return[fe(e,t=>fe(t,iP)),Jt(e,t=>Jt(t,iP))]}function iP(e){return isFinite(e)?e:NaN}function cP(e,t){return PT(ac,e,t)}function lP(e,t={}){return PT(cc,e,t)}function uP(e,t={}){return PT(sa,e,t)}function PT(e,t,n={}){let{x:r,y:i,maxRadius:o}=n,s=e({px:r,py:i,maxRadius:o}),a=[];r!=null&&a.push(Xr(t,sP("x",{...s,inset:-6},n))),i!=null&&a.push(Gr(t,sP("y",{...s,inset:-6},n))),r!=null&&a.push(Zo(t,aP("x",{...s,dy:9,frameAnchor:"bottom",lineAnchor:"top"},n))),i!=null&&a.push(Zo(t,aP("y",{...s,dx:-9,frameAnchor:"left",textAnchor:"end"},n)));for(let c of a)c.ariaLabel=`crosshair ${c.ariaLabel}`;return nn(...a)}function fP(e,{channels:t,...n},{facet:r,facetAnchor:i,fx:o,fy:s,[e]:a,channels:c,transform:l,initializer:u}){return{...n,facet:r,facetAnchor:i,fx:o,fy:s,[e]:a,channels:{...t,...c},transform:l,initializer:Tet(e,u)}}function Tet(e,t){return t==null?t:function(n,r,{x:i,y:o,px:s,py:a,...c},...l){let{channels:{x:u,y:f,...h}={},...d}=t.call(this,n,r,{...c,x:s,y:a},...l);return{channels:{...h,...u&&{px:u,...e==="x"&&{x:u}},...f&&{py:f,...e==="y"&&{y:f}}},...d}}}function sP(e,t,n){let{color:r="currentColor",opacity:i=.2,ruleStroke:o=r,ruleStrokeOpacity:s=i,ruleStrokeWidth:a}=n;return{...fP(e,t,n),stroke:o,strokeOpacity:s,strokeWidth:a}}function aP(e,t,n){let{color:r="currentColor",textFill:i=r,textFillOpacity:o,textStroke:s="var(--plot-background)",textStrokeOpacity:a,textStrokeWidth:c=5}=n;return{...fP(e,t,Eet(e,n)),fill:i,fillOpacity:o,stroke:s,strokeOpacity:a,strokeWidth:c}}function Eet(e,t){return Me(t,(n,r,i)=>({channels:{text:{value:ay(i,e)?.value}}}))}var Det={ariaLabel:"delaunay link",fill:"none",stroke:"currentColor",strokeMiterlimit:1},Net={ariaLabel:"delaunay mesh",fill:null,stroke:"currentColor",strokeOpacity:.2},Oet={ariaLabel:"hull",fill:"none",stroke:"currentColor",strokeWidth:1.5,strokeMiterlimit:1},Let={ariaLabel:"voronoi",fill:"none",stroke:"currentColor",strokeMiterlimit:1},Bet={ariaLabel:"voronoi mesh",fill:null,stroke:"currentColor",strokeOpacity:.2},UT=class extends St{constructor(t,n={}){let{x:r,y:i,z:o,curve:s,tension:a}=n;super(t,{x:{value:r,scale:"x",optional:!0},y:{value:i,scale:"y",optional:!0},z:{value:o,optional:!0}},n,Det),this.curve=_y(s,a),Wi(this,n)}render(t,n,r,i,o){let{x:s,y:a}=n,{x:c,y:l,z:u}=r,{curve:f}=this,[h,d]=vn(this,i),p=c?x=>c[x]:yn(h),m=l?x=>l[x]:yn(d),y=this;function g(x){let b=-1,w=[],_={};for(let S in r)_[S]=[];let v=[],I=[],E=[],M=[];function N(S,T){S=x[S],T=x[T],w.push(++b),v[b]=p(S),E[b]=m(S),I[b]=p(T),M[b]=m(T);for(let D in r)_[D].push(r[D][T])}let{halfedges:A,hull:O,triangles:C}=di.from(x,p,m);for(let S=0;S<A.length;++S){let T=A[S];T>S&&N(C[S],C[T])}for(let S=0;S<O.length;++S)N(O[S],O[(S+1)%O.length]);Yt(this).selectAll().data(w).enter().append("path").call(Ct,y).attr("d",S=>{let T=rr(),D=f(T);return D.lineStart(),D.point(v[S],E[S]),D.point(I[S],M[S]),D.lineEnd(),T}).call(Kt,y,_).call(aa,y,_,o)}return ut("svg:g",o).call(kt,this,i,o).call(Et,this,{x:c&&s,y:l&&a}).call(u?x=>x.selectAll().data(fn(t,b=>u[b]).values()).enter().append("g").each(g):x=>x.datum(t).each(g)).node()}},zy=class extends St{constructor(t,n={},r,i=({z:o})=>o){let{x:o,y:s}=n;super(t,{x:{value:o,scale:"x",optional:!0},y:{value:s,scale:"y",optional:!0},z:{value:i(n),optional:!0}},n,r)}render(t,n,r,i,o){let{x:s,y:a}=n,{x:c,y:l,z:u}=r,[f,h]=vn(this,i),d=c?g=>c[g]:yn(f),p=l?g=>l[g]:yn(h),m=this;function y(g){let x=di.from(g,d,p);Yt(this).append("path").datum(g[0]).call(Ct,m).attr("d",m._render(x,i)).call(Kt,m,r)}return ut("svg:g",o).call(kt,this,i,o).call(Et,this,{x:c&&s,y:l&&a}).call(u?g=>g.selectAll().data(fn(t,x=>u[x]).values()).enter().append("g").each(y):g=>g.datum(t).each(y)).node()}},zT=class extends zy{constructor(t,n={}){super(t,n,Net),this.fill="none"}_render(t){return t.render()}},qT=class extends zy{constructor(t,n={}){super(t,n,Oet,Vn)}_render(t){return t.renderHull()}},jT=class extends St{constructor(t,n={}){let{x:r,y:i,z:o}=n;super(t,{x:{value:r,scale:"x",optional:!0},y:{value:i,scale:"y",optional:!0},z:{value:o,optional:!0}},n,Let)}render(t,n,r,i,o){let{x:s,y:a}=n,{x:c,y:l,z:u}=r,[f,h]=vn(this,i),d=c?g=>c[g]:yn(f),p=l?g=>l[g]:yn(h),m=this;function y(g){let x=di.from(g,d,p),b=hP(x,i);Yt(this).selectAll().data(g).enter().append("path").call(Ct,m).attr("d",(w,_)=>b.renderCell(_)).call(Kt,m,r)}return ut("svg:g",o).call(kt,this,i,o).call(Et,this,{x:c&&s,y:l&&a}).call(u?g=>g.selectAll().data(fn(t,x=>u[x]).values()).enter().append("g").each(y):g=>g.datum(t).each(y)).node()}},VT=class extends zy{constructor(t,n){super(t,n,Bet),this.fill="none"}_render(t,n){return hP(t,n).render()}};function hP(e,t){let{width:n,height:r,marginTop:i,marginRight:o,marginBottom:s,marginLeft:a}=t;return e.voronoi([a,i,n-o,r-s])}function qy(e,t,{x:n,y:r,...i}={}){return[n,r]=Pe(n,r),new e(t,{...i,x:n,y:r})}function dP(e,t){return qy(UT,e,t)}function pP(e,t){return qy(zT,e,t)}function mP(e,t){return qy(qT,e,t)}function yP(e,t){return qy(jT,e,t)}function gP(e,t){return qy(VT,e,t)}var Cet={ariaLabel:"density",fill:"none",stroke:"currentColor",strokeMiterlimit:1},jy=class extends St{constructor(t,{x:n,y:r,z:i,weight:o,fill:s,stroke:a,...c}={}){let l=xP(s)&&(s="currentColor",!0),u=xP(a)&&(a="currentColor",!0);super(t,{x:{value:n,scale:"x",optional:!0},y:{value:r,scale:"y",optional:!0},z:{value:Vn({z:i,fill:s,stroke:a}),optional:!0},weight:{value:o,optional:!0}},Ret({...c,fill:s,stroke:a},l,u),Cet),l&&(this.fill=void 0),u&&(this.stroke=void 0),this.z=i}filter(t){return t}render(t,n,r,i,o){let{contours:s}=r,a=On();return ut("svg:g",o).call(kt,this,i,o).call(Et,this,{}).call(c=>c.selectAll().data(t).enter().append("path").call(Ct,this).call(Kt,this,r).attr("d",l=>a(s[l]))).node()}};function bP(e,{x:t,y:n,...r}={}){return[t,n]=Pe(t,n),new jy(e,{...r,x:t,y:n})}var ket=new Set(["x","y","z","weight"]);function Ret(e,t,n){let{bandwidth:i,thresholds:o}=e;return i=i===void 0?20:+i,o=o===void 0?20:typeof o?.[Symbol.iterator]=="function"?en(o):+o,Me(e,function(s,a,c,l,u,f){let h=c.weight?en(c.weight.value):null,d=c.z?.value,{z:p}=this,[m,y]=vn(this,u),{width:g,height:x}=u,{x:b,y:w}=ic(c,l,f),_=Object.fromEntries(Object.entries(c).filter(([C])=>!ket.has(C)).map(([C,S])=>[C,{...S,value:[]}])),v=t&&[],I=n&&[],E=tM().x(b?C=>b[C]:m).y(w?C=>w[C]:y).weight(h?C=>h[C]:1).size([g,x]).bandwidth(i),M=[];for(let C of a){let S=[];M.push(S);for(let T of d?hy(C,d,p):[C]){let D=E.contours(T);S.push([T,D])}}let N=o;if(!(N instanceof El)){let C=0;for(let S of M)for(let[,T]of S){let D=T.max;D>C&&(C=D)}N=Float64Array.from({length:o-1},(S,T)=>C*100*(T+1)/o)}let A=[],O=[];for(let C of M){let S=[];A.push(S);for(let[T,D]of C)for(let R of N){S.push(O.length),O.push(D(R/100)),v&&v.push(R),I&&I.push(R);for(let F in _)_[F].value.push(c[F].value[T[0]])}}return v&&v.push(0),I&&I.push(0),{data:s,facets:A,channels:{..._,...v&&{fill:{value:v,scale:"color"}},...I&&{stroke:{value:I,scale:"color"}},contours:{value:O}}}})}function xP(e){return/^density$/i.test(e)}function _P(e,{x1:t,x2:n,y1:r,y2:i,x:o=t===void 0&&n===void 0?Ee:void 0,y:s=r===void 0&&i===void 0?G:void 0,fill:a,positiveFill:c="#3ca951",negativeFill:l="#4269d0",fillOpacity:u=1,positiveFillOpacity:f=u,negativeFillOpacity:h=u,stroke:d,strokeOpacity:p,z:m=Le(d)[0],clip:y,tip:g,render:x,...b}={}){return[t,n]=wP(o,t,n),[r,i]=wP(s,r,i),t===n&&r===i&&(r=gc(0)),{tip:g}=Gi({tip:g},"x"),nn(ie(c)?null:Object.assign(Sy(e,{x1:t,x2:n,y1:r,y2:i,z:m,fill:c,fillOpacity:f,render:Hf(x,vP(!0)),clip:y,...b}),{ariaLabel:"positive difference"}),ie(l)?null:Object.assign(Sy(e,{x1:t,x2:n,y1:r,y2:i,z:m,fill:l,fillOpacity:h,render:Hf(x,vP(!1)),clip:y,...b}),{ariaLabel:"negative difference"}),Yl(e,{x:n,y:i,z:m,stroke:d,strokeOpacity:p,tip:g,clip:!0,...b}))}function wP(e,t,n){return t===void 0&&n===void 0?t=n=gc(e):t===void 0?(n=gc(n),t=e===void 0?n:gc(e)):n===void 0?(t=gc(t),n=e===void 0?t:gc(e)):(t=gc(t),n=gc(n)),[t,n]}function gc(e){let t,{value:n,label:r=Cn(n)}=wi(e);return{transform:i=>t||(t=wt(i,n)),label:r}}function vP(e){return(t,n,r,i,o,s)=>{let{x1:a,x2:c}=r,{height:l}=i,u=new Float32Array(a.length),f=new Float32Array(c.length);(e===zw(n.y)<0?u:f).fill(l);let h=s(t,n,{...r,x2:a,y2:f},i,o),d=s(t,n,{...r,x1:c,y1:u},i,o),p=h.querySelector("g")??h,m=d.querySelector("g")??d;for(let y=0;p.firstChild;y+=2){let g=Yw(),x=ut("svg:clipPath",o).attr("id",g).node();x.appendChild(p.firstChild),m.childNodes[y].setAttribute("clip-path",`url(#${g})`),m.insertBefore(x,m.childNodes[y])}return d}}var Fet={ariaLabel:"geo",fill:"none",stroke:"currentColor",strokeWidth:1,strokeLinecap:"round",strokeLinejoin:"round",strokeMiterlimit:1},Vy=class extends St{constructor(t,n={}){let[r,i]=ae(n.r,3);super(t,{geometry:{value:n.geometry,scale:"projection"},r:{value:r,scale:"r",filter:cr,optional:!0}},Dy(n),Fet),this.r=i}render(t,n,r,i,o){let{geometry:s,r:a}=r,c=On(o.projection??$et(n)),{r:l}=this;return Ya(l)?t=[]:l!==void 0&&c.pointRadius(l),ut("svg:g",o).call(kt,this,i,o).call(Et,this,n).call(u=>{u.selectAll().data(t).enter().append("path").call(Ct,this).attr("d",a?f=>c.pointRadius(a[f])(s[f]):f=>c(s[f])).call(Kt,this,r)}).node()}};function $et({x:e,y:t}){if(e||t)return e??=n=>n,t??=n=>n,pl({point(n,r){this.stream.point(e(n),t(r))}})}function Rv(e,{geometry:t=G,...n}={}){switch(e?.type){case"FeatureCollection":e=e.features;break;case"GeometryCollection":e=e.geometries;break;case"Feature":case"LineString":case"MultiLineString":case"MultiPoint":case"MultiPolygon":case"Point":case"Polygon":case"Sphere":e=[e];break}return new Vy(e,{geometry:t,...n})}function SP({strokeWidth:e=1.5,...t}={}){return Rv({type:"Sphere"},{strokeWidth:e,...t})}function IP({strokeOpacity:e=.1,...t}={}){return Rv(_M(),{strokeOpacity:e,...t})}var yh=.5,gh=0;function MP(e={fill:"count"},{binWidth:t,...n}={}){let{z:r}=n;return t=t===void 0?20:Bt(t),e=F3(e,n),Wo(e,"fill")&&(n.channels={...n.channels,fill:{value:[]}}),n.symbol===void 0&&(n.symbol="hexagon"),n.r===void 0&&!Wo(e,"r")&&(n.r=t/2),Me(n,(i,o,s,a,c,l)=>{let{x:u,y:f,z:h,fill:d,stroke:p,symbol:m}=s;if(u===void 0)throw new Error("missing channel: x");if(f===void 0)throw new Error("missing channel: y");({x:u,y:f}=ic(s,a,l)),h=h?h.value:wt(i,r),d=d?.value,p=p?.value,m=m?.value;let y=sy(e,{z:h,fill:d,stroke:p,symbol:m}),g=h&&[],x=d&&[],b=p&&[],w=m&&[],_=[],v=[],I=[],E=-1;for(let O of e)O.initialize(i);for(let O of o){let C=[];for(let S of e)S.scope("facet",O);for(let[S,T]of tc(O,y))for(let{index:D,extent:R}of Pet(i,T,u,f,t)){C.push(++E),v.push(R.x),I.push(R.y),h&&g.push(y===h?S:h[D[0]]),d&&x.push(y===d?S:d[D[0]]),p&&b.push(y===p?S:p[D[0]]),m&&w.push(y===m?S:m[D[0]]);for(let F of e)F.reduce(D,R)}_.push(C)}let M=s.x.scale,N=s.y.scale,A={x:{value:v,source:a[M]?{value:Wt(v,a[M].invert),scale:M}:null},y:{value:I,source:a[N]?{value:Wt(I,a[N].invert),scale:N}:null},...h&&{z:{value:g}},...d&&{fill:{value:x,scale:"auto"}},...p&&{stroke:{value:b,scale:"auto"}},...m&&{symbol:{value:w,scale:"auto"}},...Object.fromEntries(e.map(({name:O,output:C})=>[O,{scale:"auto",label:C.label,radius:O==="r"?t/2:void 0,value:C.transform()}]))};return{data:i,facets:_,channels:A}})}function Pet(e,t,n,r,i){let o=i*(1.5/T3),s=new Map;for(let a of t){let c=n[a],l=r[a];if(isNaN(c)||isNaN(l))continue;let u=Math.round(l=(l-gh)/o),f=Math.round(c=(c-yh)/i-(u&1)/2),h=l-u;if(Math.abs(h)*3>1){let m=c-f,y=f+(c<f?-1:1)/2,g=u+(l<u?-1:1),x=c-y,b=l-g;m*m+h*h>x*x+b*b&&(f=y+(u&1?1:-1)/2,u=g)}let d=`${f},${u}`,p=s.get(d);p===void 0&&(p={index:[],extent:{data:e,x:(f+(u&1)/2)*i+yh,y:u*o+gh}},s.set(d,p)),p.index.push(a)}return s.values()}var Uet={ariaLabel:"hexgrid",fill:"none",stroke:"currentColor",strokeOpacity:.1};function AP(e){return new Yy(e)}var Yy=class extends St{constructor({binWidth:t=20,clip:n=!0,...r}={}){super(Ha,void 0,{clip:n,...r},Uet),this.binWidth=Bt(t)}render(t,n,r,i,o){let{binWidth:s}=this,{marginTop:a,marginRight:c,marginBottom:l,marginLeft:u,width:f,height:h}=i,d=u-yh,p=f-c-yh,m=a-gh,y=h-l-gh,g=s/2,x=g*E3,b=x/2,w=g*2,_=x*1.5,v=Math.floor(d/w),I=Math.ceil(p/w),E=Math.floor((m+b)/_),M=Math.ceil((y-b)/_)+1,N=`m0,${xc(-x)}l${xc(g)},${xc(b)}v${xc(x)}l${xc(-g)},${xc(b)}`,A=N;for(let O=E;O<M;++O)for(let C=v;C<I;++C)A+=`M${xc(C*w+(O&1)*g)},${xc(O*_)}${N}`;return ut("svg:g",o).datum(0).call(kt,this,i,o).call(Et,this,{},Ce+yh,Ce+gh).call(O=>O.append("path").call(Ct,this).call(Kt,this,r).attr("d",A)).node()}};function xc(e){return Math.round(e*1e3)/1e3}var zet={ariaLabel:"image",fill:null,stroke:null};function qet(e){return/^\.*\//.test(e)}function jet(e){return/^(blob|data|file|http|https):/i.test(e)}function Vet(e){return typeof e=="string"&&(qet(e)||jet(e))?[void 0,e]:[e,void 0]}var Xy=class extends St{constructor(t,n={}){let{x:r,y:i,r:o,width:s,height:a,rotate:c,src:l,preserveAspectRatio:u,crossOrigin:f,frameAnchor:h,imageRendering:d}=n;o==null&&(o=void 0),o===void 0&&s===void 0&&a===void 0?s=a=16:s===void 0&&a!==void 0?s=a:a===void 0&&s!==void 0&&(a=s);let[p,m]=Vet(l),[y,g]=ae(o),[x,b]=ae(s,g!==void 0?g*2:void 0),[w,_]=ae(a,g!==void 0?g*2:void 0),[v,I]=ae(c,0);super(t,{x:{value:r,scale:"x",optional:!0},y:{value:i,scale:"y",optional:!0},r:{value:y,scale:"r",filter:cr,optional:!0},width:{value:x,filter:cr,optional:!0},height:{value:w,filter:cr,optional:!0},rotate:{value:v,optional:!0},src:{value:p,optional:!0}},Dy(n),zet),this.src=m,this.width=b,this.rotate=I,this.height=_,this.r=g,this.preserveAspectRatio=he(u,"xMidYMid"),this.crossOrigin=qe(f),this.frameAnchor=Go(h),this.imageRendering=he(d,"auto")}render(t,n,r,i,o){let{x:s,y:a}=n,{x:c,y:l,width:u,height:f,r:h,rotate:d,src:p}=r,{r:m,width:y,height:g,rotate:x}=this,[b,w]=vn(this,i);return ut("svg:g",o).call(kt,this,i,o).call(Et,this,{x:c&&s,y:l&&a}).call(_=>_.selectAll().data(t).enter().append("image").call(Ct,this).attr("x",TP(c,u,h,b,y,m)).attr("y",TP(l,f,h,w,g,m)).attr("width",u?v=>u[v]:y!==void 0?y:h?v=>h[v]*2:m*2).attr("height",f?v=>f[v]:g!==void 0?g:h?v=>h[v]*2:m*2).attr("transform",d?v=>`rotate(${d[v]})`:x?`rotate(${x})`:null).attr("transform-origin",d||x?lc`${c?v=>c[v]:b}px ${l?v=>l[v]:w}px`:null).call(ft,"href",p?v=>p[v]:this.src).call(ft,"preserveAspectRatio",this.preserveAspectRatio).call(ft,"crossorigin",this.crossOrigin).call(ft,"image-rendering",this.imageRendering).call(ft,"clip-path",h?v=>`circle(${h[v]}px)`:m!==void 0?`circle(${m}px)`:null).call(Kt,this,r)).node()}};function TP(e,t,n,r,i,o){return t&&e?s=>e[s]-t[s]/2:t?s=>r-t[s]/2:e&&i!==void 0?s=>e[s]-i/2:i!==void 0?r-i/2:n&&e?s=>e[s]-n[s]:n?s=>r-n[s]:e?s=>e[s]-o:r-o}function EP(e,{x:t,y:n,...r}={}){return r.frameAnchor===void 0&&([t,n]=Pe(t,n)),new Xy(e,{...r,x:t,y:n})}function Yet(e,t,n){var r=1e-8,i=t-1,o=n-1,s=0,a,c,l,u,f,h,d,p,m,y,g;if(e<=0)return 0;if(e>=1)return 1;for(t>=1&&n>=1?(l=e<.5?e:1-e,u=Math.sqrt(-2*Math.log(l)),d=(2.30753+u*.27061)/(1+u*(.99229+u*.04481))-u,e<.5&&(d=-d),p=(d*d-3)/6,m=2/(1/(2*t-1)+1/(2*n-1)),y=d*Math.sqrt(p+m)/m-(1/(2*n-1)-1/(2*t-1))*(p+5/6-2/(3*m)),d=t/(t+n*Math.exp(2*y))):(a=Math.log(t/(t+n)),c=Math.log(n/(t+n)),u=Math.exp(t*a)/t,f=Math.exp(n*c)/n,y=u+f,e<u/y?d=Math.pow(t*y*e,1/t):d=1-Math.pow(n*y*(1-e),1/n)),g=-xh(t)-xh(n)+xh(t+n);s<10;s++){if(d===0||d===1)return d;if(h=Xet(d,t,n)-e,u=Math.exp(i*Math.log(d)+o*Math.log(1-d)+g),f=h/u,d-=u=f/(1-.5*Math.min(1,f*(i/d-o/(1-d)))),d<=0&&(d=.5*(d+u)),d>=1&&(d=.5*(d+u+1)),Math.abs(u)<r*d&&s>0)break}return d}function Xet(e,t,n){var r=e===0||e===1?0:Math.exp(xh(t+n)-xh(t)-xh(n)+t*Math.log(e)+n*Math.log(1-e));return e<0||e>1?!1:e<(t+1)/(t+n+2)?r*DP(e,t,n)/t:1-r*DP(1-e,n,t)/n}function DP(e,t,n){var r=1e-30,i=1,o=t+n,s=t+1,a=t-1,c=1,l=1-o*e/s,u,f,h,d;for(Math.abs(l)<r&&(l=r),l=1/l,d=l;i<=100&&(u=2*i,f=i*(n-i)*e/((a+u)*(t+u)),l=1+f*l,Math.abs(l)<r&&(l=r),c=1+f/c,Math.abs(c)<r&&(c=r),l=1/l,d*=l*c,f=-(t+i)*(o+i)*e/((t+u)*(s+u)),l=1+f*l,Math.abs(l)<r&&(l=r),c=1+f/c,Math.abs(c)<r&&(c=r),l=1/l,h=l*c,d*=h,!(Math.abs(h-1)<3e-7));i++);return d}function xh(e){var t=0,n=[76.18009172947146,-86.5053203294167,24.01409824083091,-1.231739572450155,.001208650973866179,-5395239384953e-18],r=1.000000000190015,i,o,s;for(s=(o=i=e)+5.5,s-=(i+.5)*Math.log(s);t<6;t++)r+=n[t]/++o;return Math.log(2.506628274631*r/i)-s}function NP(e,t){var n=Yet(2*Math.min(e,1-e),.5*t,.5);return n=Math.sqrt(t*(1-n)/n),e>.5?n:-n}var Get={ariaLabel:"linear-regression",fill:"currentColor",fillOpacity:.1,stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round",strokeMiterlimit:1},Fv=class extends St{constructor(t,n={}){let{x:r,y:i,z:o,ci:s=.95,precision:a=4}=n;if(super(t,{x:{value:r,scale:"x"},y:{value:i,scale:"y"},z:{value:Vn(n),optional:!0}},n,Get),this.z=o,this.ci=+s,this.precision=+a,!(0<=this.ci&&this.ci<1))throw new Error(`invalid ci; not in [0, 1): ${s}`);if(!(this.precision>0))throw new Error(`invalid precision: ${a}`)}render(t,n,r,i,o){let{x:s,y:a,z:c}=r,{ci:l}=this;return ut("svg:g",o).call(kt,this,i,o).call(Et,this,n).call(u=>u.selectAll().data(c?hy(t,c,this.z):[t]).enter().call(f=>f.append("path").attr("fill","none").call(Ct,this).call(Cl,this,{...r,fill:null,fillOpacity:null}).attr("d",h=>this._renderLine(h,s,a)).call(l&&!ea(this.fill)?h=>h.select(Wet).attr("stroke","none").call(Ct,this).call(Cl,this,{...r,stroke:null,strokeOpacity:null,strokeWidth:null}).attr("d",d=>this._renderBand(d,s,a)):()=>{}))).node()}};function Wet(){return this.parentNode.insertBefore(this.ownerDocument.createElementNS(ui.svg,"path"),this)}var YT=class extends Fv{constructor(t,n){super(t,n)}_renderBand(t,n,r){let{ci:i,precision:o}=this,[s,a]=ue(t,u=>r[u]),c=$v(t,r,n),l=BP(t,r,n,(1-i)/2,c);return _f().y(u=>u).x0(u=>l(u,-1)).x1(u=>l(u,1))(Ue(s,a-o/2,o).concat(a))}_renderLine(t,n,r){let[i,o]=ue(t,a=>r[a]),s=$v(t,r,n);return`M${s(i)},${i}L${s(o)},${o}`}},XT=class extends Fv{constructor(t,n){super(t,n)}_renderBand(t,n,r){let{ci:i,precision:o}=this,[s,a]=ue(t,u=>n[u]),c=$v(t,n,r),l=BP(t,n,r,(1-i)/2,c);return _f().x(u=>u).y0(u=>l(u,-1)).y1(u=>l(u,1))(Ue(s,a-o/2,o).concat(a))}_renderLine(t,n,r){let[i,o]=ue(t,a=>n[a]),s=$v(t,n,r);return`M${i},${s(i)}L${o},${s(o)}`}};function OP(e,{y:t=Ee,x:n=G,stroke:r,fill:i=ie(r)?"currentColor":r,...o}={}){return new YT(e,eh({...o,x:n,y:t,fill:i,stroke:r}))}function LP(e,{x:t=Ee,y:n=G,stroke:r,fill:i=ie(r)?"currentColor":r,...o}={}){return new XT(e,th({...o,x:t,y:n,fill:i,stroke:r}))}function $v(e,t,n){let r=0,i=0,o=0,s=0;for(let u of e){let f=t[u],h=n[u];r+=f,i+=h,o+=f*h,s+=f*f}let a=e.length,c=(a*o-r*i)/(a*s-r*r),l=(i-c*r)/a;return u=>c*u+l}function BP(e,t,n,r,i){let o=Dn(e,u=>t[u])/e.length,s=0,a=0;for(let u of e)s+=(t[u]-o)**2,a+=(n[u]-i(t[u]))**2;let c=Math.sqrt(a/(e.length-2)),l=NP(r,e.length-2);return(u,f)=>{let h=i(u),d=c*Math.sqrt(1/e.length+(u-o)**2/s);return h+f*l*d}}function Gy({path:e=G,delimiter:t,frameAnchor:n,treeLayout:r=ml,treeSort:i,treeSeparation:o,treeAnchor:s,treeFilter:a,...c}={}){s=qv(s),i=RP(i),a!=null&&(a=WT(a)),n===void 0&&(n=s.frameAnchor);let l=FP(t),u=VP(c,WT),[f,h]=xn(),[d,p]=xn();return{x:f,y:d,frameAnchor:n,...bn(c,(m,y)=>{let g=l(wt(m,e)),x=h([]),b=p([]),w=-1,_=[],v=[],I=Rb().path(M=>g[M]),E=r();E.nodeSize&&E.nodeSize([1,1]),E.separation&&o!==void 0&&E.separation(o??ty);for(let M of u)M[Uv]=M[qP]([]);for(let M of y){let N=[],A=I(M.filter(O=>g[O]!=null)).each(O=>O.data=m[O.data]);i!=null&&A.sort(i),E(A);for(let O of A.descendants())if(!(a!=null&&!a(O))){N.push(++w),_[w]=O.data,s.position(O,w,x,b);for(let C of u)C[Uv][w]=C[jP](O)}v.push(N)}return{data:_,facets:v}}),...Object.fromEntries(u)}}function zv({path:e=G,delimiter:t,curve:n="bump-x",stroke:r="#555",strokeWidth:i=1.5,strokeOpacity:o=.5,treeLayout:s=ml,treeSort:a,treeSeparation:c,treeAnchor:l,treeFilter:u,...f}={}){l=qv(l),a=RP(a),u!=null&&(u=kP(u)),f={curve:n,stroke:r,strokeWidth:i,strokeOpacity:o,...f};let h=FP(t),d=VP(f,kP),[p,m]=xn(),[y,g]=xn(),[x,b]=xn(),[w,_]=xn();return{x1:p,x2:y,y1:x,y2:w,...bn(f,(v,I)=>{let E=h(wt(v,e)),M=m([]),N=g([]),A=b([]),O=_([]),C=-1,S=[],T=[],D=Rb().path(F=>E[F]),R=s();R.nodeSize&&R.nodeSize([1,1]),R.separation&&c!==void 0&&R.separation(c??ty);for(let F of d)F[Uv]=F[qP]([]);for(let F of I){let k=[],$=D(F.filter(P=>E[P]!=null)).each(P=>P.data=v[P.data]);a!=null&&$.sort(a),R($);for(let{source:P,target:U}of $.links())if(!(u!=null&&!u(U,P))){k.push(++C),S[C]=U.data,l.position(P,C,M,A),l.position(U,C,N,O);for(let W of d)W[Uv][C]=W[jP](U,P)}T.push(k)}return{data:S,facets:T}}),...Object.fromEntries(d)}}function qv(e="left"){switch(`${e}`.trim().toLowerCase()){case"left":return Het;case"right":return Zet}throw new Error(`invalid tree anchor: ${e}`)}var Het={frameAnchor:"left",dx:6,position({x:e,y:t},n,r,i){r[n]=t,i[n]=-e}},Zet={frameAnchor:"right",dx:-6,position({x:e,y:t},n,r,i){r[n]=-t,i[n]=-e}};function RP(e){return e==null||typeof e=="function"?e:`${e}`.trim().toLowerCase().startsWith("node:")?CP(WT(e)):CP(Jet(e))}function CP(e){return(t,n)=>mn(e(t),e(n))}function Jet(e){return t=>t.data?.[e]}function FP(e="/"){if(e=`${e}`,e==="/")return n=>n;if(e.length!==1)throw new Error("delimiter must be exactly one character");let t=e.charCodeAt(0);return n=>n.map(r=>Qet(r,t))}var GT=92,$P=47;function Qet(e,t){if(t===GT)throw new Error("delimiter cannot be backslash");let n=!1;for(let r=0,i=e.length;r<i;++r){switch(e.charCodeAt(r)){case GT:if(!n){n=!0;continue}break;case t:n?(e=e.slice(0,r-1)+e.slice(r),--r,--i):e=e.slice(0,r)+"/"+e.slice(r+1);break;case $P:n?(e=e.slice(0,r)+"\\\\"+e.slice(r),r+=2,i+=2):(e=e.slice(0,r)+"\\"+e.slice(r),++r,++i);break}n=!1}return e}function Ket(e){let t=!1;for(let n=0,r=e.length;n<r;++n){switch(e.charCodeAt(n)){case GT:if(!t){t=!0;continue}case $P:t&&(e=e.slice(0,n-1)+e.slice(n),--n,--r);break}t=!1}return e}function PP(e){return gn(e)&&typeof e.node=="function"}function tnt(e){return gn(e)&&typeof e.link=="function"}function WT(e){if(PP(e))return e.node;if(e=`${e}`.trim().toLowerCase(),!!e.startsWith("node:")){switch(e){case"node:name":return ZT;case"node:path":return HT;case"node:internal":return UP;case"node:external":return zP;case"node:depth":return JT;case"node:height":return QT}throw new Error(`invalid node value: ${e}`)}}function kP(e){if(PP(e))return e.node;if(tnt(e))return e.link;if(e=`${e}`.trim().toLowerCase(),!(!e.startsWith("node:")&&!e.startsWith("parent:"))){switch(e){case"parent:name":return Pv(ZT);case"parent:path":return Pv(HT);case"parent:depth":return Pv(JT);case"parent:height":return Pv(QT);case"node:name":return ZT;case"node:path":return HT;case"node:internal":return UP;case"node:external":return zP;case"node:depth":return JT;case"node:height":return QT}throw new Error(`invalid link value: ${e}`)}}function HT(e){return e.id}function ZT(e){return ent(e.id)}function JT(e){return e.depth}function QT(e){return e.height}function UP(e){return!!e.children}function zP(e){return!e.children}function Pv(e){return(t,n)=>n==null?void 0:e(n)}function ent(e){let t=e.length;for(;--t>0&&!nnt(e,t););return Ket(e.slice(t+1))}function nnt(e,t){if(e[t]==="/"){let n=0;for(;t>0&&e[--t]==="\\";)++n;if(!(n&1))return!0}return!1}var qP=2,jP=3,Uv=4;function VP(e,t){let n=[];for(let r in e){let i=e[r],o=t(i);o!==void 0&&n.push([r,...xn(i),o])}return n}function KT(e,{fill:t,stroke:n,strokeWidth:r,strokeOpacity:i,strokeLinejoin:o,strokeLinecap:s,strokeMiterlimit:a,strokeDasharray:c,strokeDashoffset:l,marker:u,markerStart:f=u,markerEnd:h=u,dot:d=ie(f)&&ie(h),text:p="node:name",textStroke:m="var(--plot-background)",title:y="node:path",dx:g,dy:x,textAnchor:b,treeLayout:w=ml,textLayout:_=w===ml||w===Cb?"mirrored":"normal",tip:v,...I}={}){if(g===void 0&&(g=qv(I.treeAnchor).dx),b!==void 0)throw new Error("textAnchor is not a configurable tree option");_=cn(_,"textLayout",["mirrored","normal"]);function E(M){return Zo(e,Gy({treeLayout:w,text:p,fill:t===void 0?"currentColor":t,stroke:m,dx:g,dy:x,title:y,...M,...I}))}return nn(Av(e,zv({treeLayout:w,markerStart:f,markerEnd:h,stroke:n!==void 0?n:t===void 0?"node:internal":t,strokeWidth:r,strokeOpacity:i,strokeLinejoin:o,strokeLinecap:s,strokeMiterlimit:a,strokeDasharray:c,strokeDashoffset:l,...I})),d?_i(e,Gy({treeLayout:w,fill:t===void 0?"node:internal":t,title:y,tip:v,...I})):null,p!=null?_==="mirrored"?[E({textAnchor:"start",treeFilter:"node:external"}),E({textAnchor:"end",treeFilter:"node:internal",dx:-g})]:E():null)}function YP(e,t){return KT(e,{...t,treeLayout:Cb})}function XP({geometry:e=G,...t}={}){return Me({...t,x:null,y:null},(n,r,i,o,s,{projection:a})=>{let c=wt(n,e),l=c.length,u=new Float64Array(l),f=new Float64Array(l),h=On(a);for(let d=0;d<l;++d)[u[d],f[d]]=h.centroid(c[d]);return{data:n,facets:r,channels:{x:{value:u,scale:a==null?"x":null,source:null},y:{value:f,scale:a==null?"y":null,source:null}}}})}function GP({geometry:e=G,...t}={}){let n;return{...t,x:{transform:r=>Float64Array.from(n=wt(wt(r,e),yM),([i])=>i)},y:{transform:()=>Float64Array.from(n,([,r])=>r)}}}var iU=eq(rU(),1);var unt=({marginLeft:e})=>[1,e],fnt=({width:e,marginRight:t})=>[-1,e-t],hnt=({width:e,marginLeft:t,marginRight:n})=>[0,(t+e-n)/2],dnt=({marginTop:e})=>[1,e],pnt=({height:e,marginBottom:t})=>[-1,e-t],mnt=({height:e,marginTop:t,marginBottom:n})=>[0,(t+e-n)/2];function oU(e){return typeof e=="string"?{anchor:e}:e}function sU(e={},t={}){arguments.length===1&&([e,t]=cU(e));let{anchor:n="left",padding:r=1,r:i=t.r}=oU(e);switch(`${n}`.toLowerCase()){case"left":n=unt;break;case"right":n=fnt;break;case"middle":n=hnt;break;default:throw new Error(`unknown dodge anchor: ${n}`)}return lU("x","y",n,Bt(r),i,t)}function aU(e={},t={}){arguments.length===1&&([e,t]=cU(e));let{anchor:n="bottom",padding:r=1,r:i=t.r}=oU(e);switch(`${n}`.toLowerCase()){case"top":n=dnt;break;case"bottom":n=pnt;break;case"middle":n=mnt;break;default:throw new Error(`unknown dodge anchor: ${n}`)}return lU("y","x",n,Bt(r),i,t)}function cU(e){let{anchor:t,padding:n,...r}=e,{r:i}=r;return[{anchor:t,padding:n,r:i},r]}function lU(e,t,n,r,i,o){if(i!=null&&typeof i!="number"){let{channels:s,sort:a,reverse:c}=o;s=ny(s),s?.r===void 0&&(o={...o,channels:{...s,r:{value:i,scale:"r"}}}),a===void 0&&c===void 0&&(o.sort={channel:"-r"})}return Me(o,function(s,a,c,l,u,f){let{[t]:h,r:d}=c;if(!c[t])throw new Error(`missing channel: ${t}`);({[t]:h}=ic(c,l,f));let p=d?void 0:i!==void 0?Bt(i):this.r!==void 0?this.r:3;d&&(d=wt(d.value,l[d.scale]||G,Float64Array));let[m,y]=n(u),g=m?gnt:ynt,x=new Float64Array(h.length),b=d?w=>d[w]:()=>p;for(let w of a){let _=(0,iU.default)();w=w.filter(d?I=>Tf(h[I])&&cr(d[I]):I=>Tf(h[I]));let v=new Float64Array(2*w.length+2);for(let I of w){let E=b(I),M=m?E+r:0,N=h[I]-E,A=h[I]+E,O=2;_.queryInterval(N-r,A+r,([,,S])=>{let T=x[S]-M,D=h[I]-h[S],R=r+(d?d[I]+d[S]:2*p),F=Math.sqrt(R*R-D*D);v[O++]=T-F,v[O++]=T+F});let C=v.slice(0,O);m&&(C=C.filter(S=>S>=0));t:for(let S of C.sort(g)){for(let T=0;T<O;T+=2)if(v[T]+1e-6<S&&S<v[T+1]-1e-6)continue t;x[I]=S+M;break}_.insert([N,A,I])}}m||(m=1);for(let w of a)for(let _ of w)x[_]=x[_]*m+y;return{data:s,facets:a,channels:{[e]:{value:x,source:null},[t]:{value:h,source:c[t]},...d&&{r:{value:d,source:c.r}}}}})}function ynt(e,t){return Math.abs(e)-Math.abs(t)}function gnt(e,t){return e-t}function fU(e,t){return arguments.length===1&&({basis:e,...t}=e),hh(Yv(e),t)}function hU(e,t){return arguments.length===1&&({basis:e,...t}=e),dh(Yv(e),t)}function Yv(e){if(e===void 0)return uU;if(typeof e=="function")return Xv(Cf(e));if(/^p\d{2}$/i.test(e))return _h(Lf(e));switch(`${e}`.toLowerCase()){case"deviation":return wnt;case"first":return uU;case"last":return bnt;case"max":return vnt;case"mean":return _nt;case"median":return Snt;case"min":return Int;case"sum":return Mnt;case"extent":return xnt}throw new Error(`invalid basis: ${e}`)}function Xv(e){return{mapIndex(t,n,r){let i=+e(t,n);for(let o of t)r[o]=n[o]===null?NaN:n[o]/i}}}function _h(e){return Xv((t,n)=>e(t,r=>n[r]))}var xnt={mapIndex(e,t,n){let[r,i]=ue(e,s=>t[s]),o=i-r;for(let s of e)n[s]=t[s]===null?NaN:(t[s]-r)/o}},uU=Xv((e,t)=>{for(let n=0;n<e.length;++n){let r=t[e[n]];if(ze(r))return r}}),bnt=Xv((e,t)=>{for(let n=e.length-1;n>=0;--n){let r=t[e[n]];if(ze(r))return r}}),wnt={mapIndex(e,t,n){let r=Os(e,o=>t[o]),i=li(e,o=>t[o]);for(let o of e)n[o]=t[o]===null?NaN:i?(t[o]-r)/i:0}},vnt=_h(Jt),_nt=_h(Os),Snt=_h(zi),Int=_h(fe),Mnt=_h(Dn);function dU(e,t){return Ant("x",e,t)}function Ant(e,t,n={}){let r,i=1;if(typeof t=="number")i=t,r=(l,u)=>+l+u;else{if(typeof t=="string"){let l=t.startsWith("-")?-1:1;[t,i]=Sw(t.replace(/^[+-]/,"")),i*=l}t=Rf(t),r=(l,u)=>t.offset(l,u)}let o=`${e}1`,s=`${e}2`,a=Ir({[o]:l=>l.map(u=>r(u,i)),[s]:l=>l},n),c=a[s].transform;return a[s].transform=()=>{let l=c(),[u,f]=ue(l);return l.domain=i<0?[u,r(f,i)]:[r(u,i),f],l},a}function pU(e,t={}){if(typeof e=="string")switch(e.toLowerCase()){case"first":return Zy(t);case"last":return Jy(t)}if(typeof e=="function")return bc(null,e,t);let n,r;for(n in e){if(r!==void 0)throw new Error("ambiguous selector; multiple inputs");r=Tnt(e[n])}if(r===void 0)throw new Error(`invalid selector: ${e}`);return bc(n,r,t)}function Tnt(e){if(typeof e=="function")return e;switch(`${e}`.toLowerCase()){case"min":return o6;case"max":return s6}throw new Error(`unknown selector: ${e}`)}function Zy(e){return bc(null,Ent,e)}function Jy(e){return bc(null,Dnt,e)}function Gv(e){return bc("x",o6,e)}function Wv(e){return bc("y",o6,e)}function Hv(e){return bc("x",s6,e)}function Zv(e){return bc("y",s6,e)}function*Ent(e){yield e[0]}function*Dnt(e){yield e[e.length-1]}function*o6(e,t){yield xx(e,n=>t[n])}function*s6(e,t){yield Qc(e,n=>t[n])}function bc(e,t,n){if(e!=null){if(n[e]==null)throw new Error(`missing channel: ${e}`);e=n[e]}let r=Vn(n);return bn(n,(i,o)=>{let s=wt(i,r),a=wt(i,e),c=[];for(let l of o){let u=[];for(let f of s?fn(l,h=>s[h]).values():[l])for(let h of t(f,a))u.push(h);c.push(u)}return{data:i,facets:c}})}var Nnt=new Map([["style","style"],["width","width"],["height","height"],["margin","margin"],["marginLeft","marginLeft"],["marginRight","marginRight"],["marginTop","marginTop"],["marginBottom","marginBottom"],["align","align"],["aspectRatio","aspectRatio"],["axis","axis"],["inset","inset"],["grid","grid"],["label","label"],["padding","padding"],["xScale","x.type"],["xDomain","x.domain"],["xRange","x.range"],["xNice","x.nice"],["xInset","x.inset"],["xInsetLeft","x.insetLeft"],["xInsetRight","x.insetRight"],["xClamp","x.clamp"],["xRound","x.round"],["xAlign","x.align"],["xPadding","x.padding"],["xPaddingInner","x.paddingInner"],["xPaddingOuter","x.paddingOuter"],["xAxis","x.axis"],["xTicks","x.ticks"],["xTickSize","x.tickSize"],["xTickSpacing","x.tickSpacing"],["xTickPadding","x.tickPadding"],["xTickFormat","x.tickFormat"],["xTickRotate","x.tickRotate"],["xGrid","x.grid"],["xLine","x.line"],["xLabel","x.label"],["xLabelAnchor","x.labelAnchor"],["xLabelArrow","x.labelArrow"],["xLabelOffset","x.labelOffset"],["xFontVariant","x.fontVariant"],["xAriaLabel","x.ariaLabel"],["xAriaDescription","x.ariaDescription"],["xPercent","x.percent"],["xReverse","x.reverse"],["xZero","x.zero"],["xBase","x.base"],["xExponent","x.exponent"],["xConstant","x.constant"],["yScale","y.type"],["yDomain","y.domain"],["yRange","y.range"],["yNice","y.nice"],["yInset","y.inset"],["yInsetTop","y.insetTop"],["yInsetBottom","y.insetBottom"],["yClamp","y.clamp"],["yRound","y.round"],["yAlign","y.align"],["yPadding","y.padding"],["yPaddingInner","y.paddingInner"],["yPaddingOuter","y.paddingOuter"],["yAxis","y.axis"],["yTicks","y.ticks"],["yTickSize","y.tickSize"],["yTickSpacing","y.tickSpacing"],["yTickPadding","y.tickPadding"],["yTickFormat","y.tickFormat"],["yTickRotate","y.tickRotate"],["yGrid","y.grid"],["yLine","y.line"],["yLabel","y.label"],["yLabelAnchor","y.labelAnchor"],["yLabelArrow","y.labelArrow"],["yLabelOffset","y.labelOffset"],["yFontVariant","y.fontVariant"],["yAriaLabel","y.ariaLabel"],["yAriaDescription","y.ariaDescription"],["yPercent","y.percent"],["yReverse","y.reverse"],["yZero","y.zero"],["yBase","y.base"],["yExponent","y.exponent"],["yConstant","y.constant"],["facetMargin","facet.margin"],["facetMarginTop","facet.marginTop"],["facetMarginBottom","facet.marginBottom"],["facetMarginLeft","facet.marginLeft"],["facetMarginRight","facet.marginRight"],["facetGrid","facet.grid"],["facetLabel","facet.label"],["fxDomain","fx.domain"],["fxRange","fx.range"],["fxInset","fx.inset"],["fxInsetLeft","fx.insetLeft"],["fxInsetRight","fx.insetRight"],["fxRound","fx.round"],["fxAlign","fx.align"],["fxPadding","fx.padding"],["fxPaddingInner","fx.paddingInner"],["fxPaddingOuter","fx.paddingOuter"],["fxAxis","fx.axis"],["fxTicks","fx.ticks"],["fxTickSize","fx.tickSize"],["fxTickSpacing","fx.tickSpacing"],["fxTickPadding","fx.tickPadding"],["fxTickFormat","fx.tickFormat"],["fxTickRotate","fx.tickRotate"],["fxGrid","fx.grid"],["fxLine","fx.line"],["fxLabel","fx.label"],["fxLabelAnchor","fx.labelAnchor"],["fxLabelOffset","fx.labelOffset"],["fxFontVariant","fx.fontVariant"],["fxAriaLabel","fx.ariaLabel"],["fxAriaDescription","fx.ariaDescription"],["fxReverse","fx.reverse"],["fyDomain","fy.domain"],["fyRange","fy.range"],["fyInset","fy,inset"],["fyInsetTop","fy.insetTop"],["fyInsetBottom","fy.insetBottom"],["fyRound","fy.round"],["fyAlign","fy.align"],["fyPadding","fy.padding"],["fyPaddingInner","fy.paddingInner"],["fyPaddingOuter","fy.paddingOuter"],["fyAxis","fy.axis"],["fyTicks","fy.ticks"],["fyTickSize","fy.tickSize"],["fyTickSpacing","fy.tickSpacing"],["fyTickPadding","fy.tickPadding"],["fyTickFormat","fy.tickFormat"],["fyTickRotate","fy.tickRotate"],["fyGrid","fy.grid"],["fyLine","fy.line"],["fyLabel","fy.label"],["fyLabelAnchor","fy.labelAnchor"],["fyLabelOffset","fy.labelOffset"],["fyFontVariant","fy.fontVariant"],["fyAriaLabel","fy.ariaLabel"],["fyAriaDescription","fy.ariaDescription"],["fyReverse","fy.reverse"],["colorScale","color.type"],["colorDomain","color.domain"],["colorRange","color.range"],["colorClamp","color.clamp"],["colorN","color.n"],["colorNice","color.nice"],["colorScheme","color.scheme"],["colorInterpolate","color.interpolate"],["colorPivot","color.pivot"],["colorSymmetric","color.symmetric"],["colorLabel","color.label"],["colorPercent","color.percent"],["colorReverse","color.reverse"],["colorZero","color.zero"],["colorTickFormat","color.tickFormat"],["colorBase","color.base"],["colorExponent","color.exponent"],["colorConstant","color.constant"],["opacityScale","opacity.type"],["opacityDomain","opacity.domain"],["opacityRange","opacity.range"],["opacityClamp","opacity.clamp"],["opacityNice","opacity.nice"],["opacityLabel","opacity.label"],["opacityPercent","opacity.percent"],["opacityReverse","opacity.reverse"],["opacityZero","opacity.zero"],["opacityTickFormat","opacity.tickFormat"],["opacityBase","opacity.base"],["opacityExponent","opacity.exponent"],["opacityConstant","opacity.constant"],["symbolScale","symbol.type"],["symbolDomain","symbol.domain"],["symbolRange","symbol.range"],["rScale","r.type"],["rDomain","r.domain"],["rRange","r.range"],["rClamp","r.clamp"],["rNice","r.nice"],["rPercent","r.percent"],["rZero","r.zero"],["rBase","r.base"],["rExponent","r.exponent"],["rConstant","r.constant"],["lengthScale","length.type"],["lengthDomain","length.domain"],["lengthRange","length.range"],["lengthClamp","length.clamp"],["lengthNice","length.nice"],["lengthPercent","length.percent"],["lengthZero","length.zero"],["lengthBase","length.base"],["lengthExponent","length.exponent"],["lengthConstant","length.constant"],["projectionType","projection.type"],["projectionParallels","projection.parallels"],["projectionPrecision","projection.precision"],["projectionRotate","projection.rotate"],["projectionDomain","projection.domain"],["projectionInset","projection.inset"],["projectionInsetLeft","projection.insetLeft"],["projectionInsetRight","projection.insetRight"],["projectionInsetTop","projection.insetTop"],["projectionInsetBottom","projection.insetBottom"],["projectionClip","projection.clip"]]);function Ont(e,t,n){for(let r=0;r<t.length;++r){let i=t[r];r===t.length-1?e[i]=n:e=e[i]||(e[i]={})}}function mU(e,t,n){for(let r in e){let i=Nnt.get(r);if(i==null)throw new Error(`Unrecognized plot attribute: ${r}`);let o=e[r];typeof o=="symbol"?n.push(r):o!==void 0&&Ont(t,i.split("."),o)}}var Lnt=new Set(["frame","hexgrid","sphere","graticule"]),Bnt=new Map([["first",Zy],["last",Jy],["maxX",Hv],["maxY",Zv],["minX",Gv],["minY",Wv],["nearest",ac],["nearestX",cc],["nearestXY",sa]]);async function gU(e){let t={marks:[]},n=[],{attributes:r,marks:i}=e;mU(r,t,n);let o=[];for(let a of i)for(let{type:c,data:l,options:u}of a.plotSpecs()){let{select:f,...h}=u,d=Bnt.get(f)?.(h)??h,p=Lnt.has(c)?[d]:[l,d];t.marks.push(a6[c](...p)),o.push(a.index)}knt(t,e);let s=vy(t);Rnt(s,o),Cnt(e,s,r,n);for(let a of e.interactors)await a.init(s);return s}function Cnt(e,t,n,r){r.forEach(i=>{let o=n[i];if(o===So){if(!i.endsWith("Domain"))throw new Error(`Unsupported fixed attribute: ${i}`);let s=i.slice(0,-6),a=t.scale(s);a?.domain&&e.setAttribute(i,n[`${s}Reverse`]?a.domain.slice().reverse():a.domain)}else throw new Error(`Unrecognized symbol: ${o}`)})}function knt(e,t){let{marks:n}=t;Jv("x",e,n),Jv("y",e,n),Jv("fx",e,n),Jv("fy",e,n)}function Jv(e,t,n){let r=t[e]||{};if(r.axis===null||r.label!==void 0)return;let i=n.map(l=>l.channelField(e)?.field);if(i.every(l=>l==null))return;let o,s,a;for(let l=0;l<i.length;++l){let{column:u,label:f}=i[l]||{};u===void 0&&f===void 0||(o===void 0&&s===void 0?(o=u,s=f,a=Fnt(n[l].data,e)||"number"):s!==f?s=void 0:o!==u&&(o=void 0))}let c=s||o;if(c!==void 0){if((a==="number"||a==="date")&&(e==="x"||e==="y")){r.percent&&(c=`${c} (%)`);let l=(e==="x"?1:-1)*(r.reverse?-1:1);e==="x"||r.labelAnchor==="center"?c=e==="x"==l<0?`\u2190 ${c}`:`${c} \u2192`:c=`${l<0?"\u2191 ":"\u2193 "}${c}`}t[e]={...r,label:c}}}function Rnt(e,t){let n=e.querySelectorAll('g[aria-label="facet"]');if(n.length)for(let r of n)yU(r,t);else yU(e,t)}function yU(e,t){let n=-1;for(let r of e.children){let i=r.getAttribute("aria-label")||"";r.nodeName==="style"||i.includes("-axis")||i.includes("-grid")||r.setAttribute("data-index",t[++n])}}function Fnt(e,t){if(!e)return;let{columns:n}=e,r=n[t]??n[t+"1"]??n[t+"2"];if(r){for(let i of r)if(i!=null)return i instanceof Date?"date":typeof i}}var $nt={width:640,marginLeft:40,marginRight:20,marginTop:20,marginBottom:30},Qy=class{constructor(t){this.attributes={...$nt},this.listeners=null,this.interactors=[],this.legends=[],this.marks=[],this.markset=null,this.element=t||document.createElement("div"),this.element.setAttribute("class","plot"),this.element.style.display="flex",this.element.value=this,this.params=new Map,this.synch=fI()}margins(){return{left:this.getAttribute("marginLeft"),top:this.getAttribute("marginTop"),bottom:this.getAttribute("marginBottom"),right:this.getAttribute("marginRight")}}innerWidth(){let{left:t,right:n}=this.margins();return this.getAttribute("width")-t-n}innerHeight(t=400){let{top:n,bottom:r}=this.margins(),i=this.getAttribute("height");return i==null&&t!=null&&(i=t,this.setAttribute("height",i,{silent:!0})),i-n-r}pending(t){this.synch.pending(t)}update(t){return this.synch.ready(t)&&!this.pendingRender&&(this.pendingRender=!0,requestAnimationFrame(()=>this.render())),this.synch.promise}async render(){this.pendingRender=!1;let t=await gU(this),n=this.legends.flatMap(({legend:r,include:i})=>{let o=r.init(t);return i?o:[]});this.element.replaceChildren(t,...n),this.synch.resolve()}getAttribute(t){return this.attributes[t]}setAttribute(t,n,r){return up(this.attributes[t],n)?(n===void 0?delete this.attributes[t]:this.attributes[t]=n,r?.silent||this.listeners?.get(t)?.forEach(i=>i(t,n)),!0):!1}addAttributeListener(t,n){let r=this.listeners||(this.listeners=new Map);return r.has(t)||r.set(t,new Set),r.get(t).add(n),this}removeAttributeListener(t,n){return this.listeners?.get(t)?.delete(n)}addParams(t,n){let{params:r}=this;for(let i of n)r.has(i)?r.get(i).push(t):(r.set(i,[t]),i.addEventListener("value",()=>Promise.allSettled(r.get(i).map(o=>o.requestQuery()))))}addMark(t){return t.setPlot(this,this.marks.length),this.marks.push(t),this.markset=null,this}get markSet(){return this.markset||(this.markset=new Set(this.marks))}addInteractor(t){return this.interactors.push(t),this}addLegend(t,n=!0){t.setPlot(this),this.legends.push({legend:t,include:n})}};function Qv(e){return typeof e!="string"?!1:(e=e.toLowerCase().trim(),e==="none"||e==="currentcolor"||e.startsWith("url(")&&e.endsWith(")")||e.startsWith("var(")&&e.endsWith(")")||$r(e)!==null)}var Pnt=new Set(["order","sort","label","anchor","curve","tension","marker","markerStart","markerMid","markerEnd","textAnchor","lineAnchor","lineHeight","textOverflow","monospace","fontFamily","fontSize","fontStyle","fontVariant","fontWeight","frameAnchor","strokeLinejoin","strokeLinecap","strokeMiterlimit","strokeDasharray","strokeDashoffset","mixBlendMode","shapeRendering","imageRendering","preserveAspectRatio","interpolate","crossOrigin","paintOrder","pointerEvents","target","select"]);function xU(e){return Pnt.has(e)}var Unt=new Set(["asterisk","circle","cross","diamond","diamond2","hexagon","plus","square","square2","star","times","triangle","triangle2","wye"]);function bU(e){return Unt.has(`${e}`.toLowerCase())}function Hi(e){return sI(e)?znt(e):qnt(e)}function znt(e){let{numRows:t,numCols:n,schema:{fields:r}}=e,i={};for(let o=0;o<n;++o){let s=r[o].name;i[s]?console.warn(`Redundant column name "${s}". Skipping...`):i[s]=cI(e.getChildAt(o))}return{numRows:t,columns:i}}function qnt(e){let t=e.length;if(typeof e[0]=="object"){let n=t?Object.keys(e[0]):[],r={};return n.length>0&&n.forEach(i=>{r[i]=e.map(o=>o[i])}),{numRows:t,columns:r}}else return{numRows:t,values:e}}var wU=e=>e==="stroke"||e==="fill",jnt=e=>/opacity$/i.test(e),Vnt=e=>e==="symbol",Ynt=(e,t)=>e!=="sort"&&e!=="tip"&&t!=null&&!Array.isArray(t),c6=(e,t)=>({channel:e,field:t,as:t instanceof wr?t.column:e}),l6=(e,t)=>({channel:e,value:t}),Kv=e=>Array.isArray(e),ln=class extends hr{constructor(t,n,r,i={}){super(n?.options?.filterBy),this.type=t,this.reqs=i,this.source=n,Kv(this.source)&&(this.data=Hi(this.source));let o=this.channels=[],s=this.detail=new Set,a=this.params=new Set,c=(l,u)=>{let f=typeof u;if(l==="channels")for(let h in u)s.add(h),c(h,u[h]);else if(f==="function"&&u[pp]){let h=u(this,l);for(let d in h)c(d,h[d])}else if(f==="string")xU(l)||wU(l)&&Qv(u)||Vnt(l)&&bU(u)?o.push(l6(l,u)):o.push(c6(l,Aa(u)));else if(vs(u))if(Array.isArray(u.columns))o.push(c6(l,u)),a.add(u);else{let h=l6(l,u.value);o.push(h),u.addEventListener("value",d=>(h.value=d,this.update()))}else f==="object"&&Ynt(l,u)?o.push(c6(l,u)):u!==void 0&&o.push(l6(l,u))};for(let l in r)c(l,r[l])}setPlot(t,n){this.plot=t,this.index=n,t.addParams(this,this.params),this.source?.table&&this.queryPending()}hasOwnData(){return this.source==null||Kv(this.source)}hasFieldInfo(){return!!this._fieldInfo}channel(t){return this.channels.find(n=>n.channel===t)}channelField(t,{exact:n=!1}={}){let r=n?this.channel(t):this.channels.find(i=>i.channel.startsWith(t));return r?.field?r:null}fields(){if(this.hasOwnData())return null;let{source:{table:t},channels:n,reqs:r}=this,i=new Map;for(let{channel:o,field:s}of n){if(!s)continue;let a=s.stats?.stats||[],c=s.stats?.column??s,l=i.get(c)??i.set(c,new Set).get(c);a.forEach(u=>l.add(u)),r[o]?.forEach(u=>l.add(u))}return Array.from(i,([o,s])=>({table:t,column:o,stats:s}))}fieldInfo(t){let n=Object.fromEntries(t.map(r=>[r.column,r]));for(let r of this.channels){let{field:i}=r;i&&Object.assign(r,n[i.stats?.column??i])}return this._fieldInfo=!0,this}query(t=[]){if(this.hasOwnData())return null;let{channels:n,source:{table:r}}=this;return Ky(n,r).where(t)}queryPending(){return this.plot.pending(this),this}queryResult(t){return this.data=Hi(t),this}update(){return this.plot.update(this)}plotSpecs(){let{type:t,data:n,detail:r,channels:i}=this;return u6(t,r,i,n)}};function Xn(e,t){let n=t?.[e.as]??e.as;return Object.hasOwn(e,"value")?e.value:wU(e.channel)?{value:n,scale:"color"}:jnt(e.channel)?{value:n,scale:"opacity"}:n}function Ky(e,t,n=[]){let r=dt.from({source:t}),i=new Set,o=!1;for(let s of e){let{channel:a,field:c,as:l}=s;if(!n.includes(a)){if(a==="orderby")r.orderby(s.value);else if(c){if(c.aggregate)o=!0;else{if(i.has(l))continue;i.add(l)}r.select({[l]:c})}}}return o&&r.groupby(Array.from(i)),r}function u6(e,t,n,r,i={}){let{numRows:o,values:s,columns:a}=r??{},c={};for(let f of n){let h=t.has(f.channel)?c:i;h[f.channel]=Xn(f,a)}return t.size&&(i.channels=c),[{type:e,data:s??(r?{length:o}:null),options:i}]}function Wl(e,t){let{plot:n}=e,r=n.getAttribute(`${t}Scale`);if(!r){let{type:o}=e.channelField(t);r=o==="date"?"time":"linear"}let i={type:r};switch(r){case"log":i.base=n.getAttribute(`${t}Base`)??10;break;case"pow":i.exponent=n.getAttribute(`${t}Exponent`)??1;break;case"symlog":i.constant=n.getAttribute(`${t}Constant`)??1;break}return sp(i)}function Wr(e,t,n,r,i=1,o){let{field:s}=e.channelField(t);o=o??s;let{type:a,apply:c,sqlApply:l}=Wl(e,t),u=!!e.plot.getAttribute(`${t}Reverse`),[f,h]=r.map(x=>c(x)),d=l(o),p=a==="time"||a==="utc"?d:o,m=h===f?0:(n-i)/(h-f),y=m!==1?` * ${m}::DOUBLE`:"";return[u?j`(${h} - ${d}::DOUBLE)${y}`:j`(${d}::DOUBLE - ${f})${y}`,p]}var f6={x:["min","max"]},h6={y:["min","max"]},t_={...f6,...h6};function vU(e,t,n,r,i){let{plot:o}=e,s=o.getAttribute(r),a=o.getAttribute(i);if(Array.isArray(s)&&!s[An])return s;{let{column:c,min:l,max:u}=e.channelField(n),f=d6(t,c)||(a?zs().domain([l,u]).nice().domain():[l,u]);return s!==So&&(f[An]=!0),o.setAttribute(r,f,{silent:!0}),f}}function es(e,t){return vU(e,t,"x","xDomain","xNice")}function ns(e,t){return vU(e,t,"y","yDomain","yNice")}function d6(e,t){if(!e)return;let n,r,i=(o,s)=>{if(o==="BETWEEN"&&`${s.field}`===t){let{range:a}=s;a&&(n==null||a[0]<n)&&(n=a[0]),a&&(r==null||a[1]>r)&&(r=a[1])}};return Array.isArray(e)?e.forEach(o=>o.visit?.(i)):e.visit&&e.visit(i),n!=null&&r!=null&&n!==r?[n,r]:void 0}var tg=class extends ln{constructor(t,n,r){let i=t.endsWith("X")?"y":t.endsWith("Y")?"x":null,o=i?{[i]:["min","max"]}:void 0;super(t,n,r,o),this.dim=i}query(t=[]){let{plot:n,dim:r,source:i}=this,{optimize:o=!0}=i.options||{},s=super.query(t);if(!r)return s;let a=r==="x"?"y":"x",c=this.channelField(a,{exact:!0})?.as,{field:l,as:u,type:f,min:h,max:d}=this.channelField(r);if(o&&(f==="date"||f==="number")&&c){let m=r==="x"?n.innerWidth():n.innerHeight(),[y,g]=d6(t,l)||[h,d],[x]=Wr(this,r,m,[y,g],1,u),b=s.select().map(w=>w.as).filter(w=>w!==u&&w!==c);return Xnt(s,x,u,c,b)}else return s.orderby(l)}};function Xnt(e,t,n,r,i=[]){let o=j`FLOOR(${t})::INTEGER`,s=a=>dt.from(e).select(a).groupby(o,i);return dt.union(s([{[n]:ai(n),[r]:Nu(r,n)},...i]),s([{[n]:si(n),[r]:Ou(r,n)},...i]),s([{[n]:Nu(n,r),[r]:ai(r)},...i]),s([{[n]:Ou(n,r),[r]:si(r)},...i])).orderby(i,n)}function _U(e,t=[]){return new t.constructor(e)}function SU(e,t,n){let r=_U(e,n),i=n.length;for(let o=0;o<i;++o)r[t[o]]=n[o];return r}function IU(e,t,n,r,i,o,s){let a=n.length,c=e*t,l=i.map(d=>r[d]),u={},f=[],h=new Int32Array(a);if(o?.length){let d=o.map(m=>r[m]),p={};for(let m=0;m<a;++m){let y=d.map(g=>g[m]);h[m]=p[y]??=f.push(y)-1}for(let m=0;m<o.length;++m)u[o[m]]=f.map(y=>y[m])}else f.push([]);if(s){let d=n.map(y=>y%e),p=n.map(y=>Math.floor(y/e)),m=f.map(()=>[]);for(let y=0;y<a;++y)m[h[y]].push(y);i.forEach((y,g)=>{let x=l[g];u[y]=f.map((b,w)=>s(m[w],e,t,d,p,x))})}else i.forEach((d,p)=>{let m=l[p],y=u[d]=f.map(()=>_U(c,m));for(let g=0;g<a;++g)y[h[g]][n[g]]=m[g]});return{numRows:f.length,columns:u}}function eg(e){let t=1/0,n=-1/0;return e.forEach(r=>{let i=r.length;for(let o=0;o<i;++o){let s=r[o];s<t&&(t=s),s>n&&(n=s)}}),Number.isFinite(t)&&Number.isFinite(n)?[t,n]:[0,1]}function MU(e){let t=new Kn;return e.forEach(n=>{let r=n.length;for(let i=0;i<r;++i)t.add(n[i])}),Array.from(t).sort(Ot)}function Ve(e,t){return _r(e)?(e.addEventListener("value",t),e.value):e}function ng(e,t=!1){let n=new Float64Array(5),r=new Float64Array(4);Gnt(n,r,e);let i=Float64Array.of(0,r[1]-n[1]*r[0],r[2]-n[2]*r[0],r[3]-n[3]*r[0],-n[4]*r[0]),o=1+n[1]+n[2]+n[3]+n[4],s=(r[0]+r[1]+r[2]+r[3])/o,a=(i[1]+i[2]+i[3]+i[4])/o;return{sigma:e,negative:t,a:n,b_causal:r,b_anticausal:i,sum_causal:s,sum_anticausal:a}}function Gnt(e,t,n){let i=Float64Array.of(.84,1.8675,.84,-1.8675,-.34015,-.1299,-.34015,.1299),o=Math.exp(-1.783/n),s=Math.exp(-1.723/n),a=.6318/n,c=1.997/n,l=Float64Array.of(-o*Math.cos(a),o*Math.sin(a),-o*Math.cos(-a),o*Math.sin(-a),-s*Math.cos(c),s*Math.sin(c),-s*Math.cos(-c),s*Math.sin(-c)),u=n*2.5066282746310007,f=Float64Array.of(i[0],i[1],0,0,0,0,0,0),h=Float64Array.of(1,0,l[0],l[1],0,0,0,0,0,0),d,p;for(p=2;p<8;p+=2){for(f[p]=l[p]*f[p-2]-l[p+1]*f[p-1],f[p+1]=l[p]*f[p-1]+l[p+1]*f[p-2],d=p-2;d>0;d-=2)f[d]+=l[p]*f[d-2]-l[p+1]*f[d-1],f[d+1]+=l[p]*f[d-1]+l[p+1]*f[d-2];for(d=0;d<=p;d+=2)f[d]+=i[p]*h[d]-i[p+1]*h[d+1],f[d+1]+=i[p]*h[d+1]+i[p+1]*h[d];for(h[p+2]=l[p]*h[p]-l[p+1]*h[p+1],h[p+3]=l[p]*h[p+1]+l[p+1]*h[p],d=p;d>0;d-=2)h[d]+=l[p]*h[d-2]-l[p+1]*h[d-1],h[d+1]+=l[p]*h[d-1]+l[p+1]*h[d-2]}for(p=0;p<4;++p)d=p<<1,t[p]=f[d]/u,e[p+1]=h[d+2]}function AU(e,t,n,[r,i]){let o=new Float64Array(Math.max(r,i)),s=new Float64Array(Math.max(r,i)),a=new Float64Array(5),c=new Float64Array(n.length);for(let l=0,u=0;l<i;++l,u+=r){let f=c.subarray(u);e_(e,n.subarray(u),r,1,o,s,a,f)}for(let l=0;l<r;++l){let u=c.subarray(l);e_(t,u,i,r,o,s,a,u)}return c}function e_(e,t,n,r=1,i=new Float64Array(n),o=new Float64Array(n),s=new Float64Array(5),a=i,c=Wnt){let l=r*2,u=r*3,f=r*4,h=r*n,d,p;for(c(i,t,n,r,e.b_causal,3,e.a,4,e.sum_causal,s,e.sigma),p=4,d=f;p<n;++p,d+=r)i[p]=e.b_causal[0]*t[d]+e.b_causal[1]*t[d-r]+e.b_causal[2]*t[d-l]+e.b_causal[3]*t[d-u]-e.a[1]*i[p-1]-e.a[2]*i[p-2]-e.a[3]*i[p-3]-e.a[4]*i[p-4];for(c(o,t,n,-r,e.b_anticausal,4,e.a,4,e.sum_anticausal,s,e.sigma),p=4,d=h-r*5;p<n;++p,d-=r)o[p]=e.b_anticausal[1]*t[d+r]+e.b_anticausal[2]*t[d+l]+e.b_anticausal[3]*t[d+u]+e.b_anticausal[4]*t[d+f]-e.a[1]*o[p-1]-e.a[2]*o[p-2]-e.a[3]*o[p-3]-e.a[4]*o[p-4];if(e.negative)for(p=0,d=0;p<n;++p,d+=r)a[d]=i[p]+o[n-p-1];else for(p=0,d=0;p<n;++p,d+=r)a[d]=Math.max(0,i[p]+o[n-p-1]);return a}function Wnt(e,t,n,r,i,o,s,a,c,l,u,f=.5){let h=Math.abs(r)*n,d=r<0?h+r:0,p,m,y;for(m=0;m<=a;++m)for(l[m]=m<=o?i[m]:0,y=1;y<=a&&y<=m;++y)l[m]-=s[y]*l[m-y];for(y=0;y<a;++y)for(e[y]=0,m=1;m<=y;++m)p=d+r*m,p>=0&&p<h&&(e[y]+=l[y-m]*t[p]);let g=t[d],x=Math.ceil(u*10);for(m=0;m<x;++m){for(y=0;y<a;++y)e[y]+=l[y]*g;if(c-=Math.abs(l[0]),c<=f)break;for(l[a]=m+a<=o?i[m+a]:0,y=1;y<=a;++y)l[a]-=s[y]*l[a-y];for(y=0;y<a;++y)l[y]=l[y+1]}}var fa="density",Zi=class extends ln{constructor(t,n,r){let{bandwidth:i=0,interpolate:o="none",pixelSize:s=1,pad:a=1,width:c,height:l,...u}=r,f=Hnt(u);super(t,n,u,t_),this.densityMap=f,this.bandwidth=Ve(i,h=>(this.bandwidth=h,this.grids?this.convolve().update():null)),this.interpolate=Ve(o,h=>(this.interpolate=h,this.requestUpdate())),this.pixelSize=Ve(s,h=>(this.pixelSize=h,this.requestUpdate())),this.pad=Ve(a,h=>(this.pad=h,this.requestUpdate())),this.width=Ve(c,h=>(this.width=h,this.requestUpdate())),this.height=Ve(l,h=>(this.height=h,this.requestUpdate()))}setPlot(t,n){let r=()=>{this.hasFieldInfo()&&this.requestUpdate()};t.addAttributeListener("xDomain",r),t.addAttributeListener("yDomain",r),super.setPlot(t,n)}get filterIndexable(){let t=this.plot.getAttribute("xDomain"),n=this.plot.getAttribute("yDomain");return t&&n&&!t[An]&&!n[An]}query(t=[]){let{interpolate:n,pad:r,channels:i,densityMap:o,source:s}=this,[a,c]=this.extentX=es(this,t),[l,u]=this.extentY=ns(this,t),[f,h]=this.bins=this.binDimensions(),[d,p]=Wr(this,"x",f,[a,c],r),[m,y]=Wr(this,"y",h,[l,u],r),g=r?[We(p,[+a,+c]),We(y,[+l,+u])]:[Ms(+a,p),Is(p,+c),Ms(+l,y),Is(y,+u)],x=dt.from(s.table).where(t.concat(g)),b=this.groupby=[],w={};for(let v of i)if(Object.hasOwn(v,"field")){let{as:I,channel:E,field:M}=v;M.aggregate?(w[E]=M,o[E]=!0):E==="weight"?w[fa]=Rr(M):E!=="x"&&E!=="y"&&(x.select({[I]:M}),b.push(I))}let _=this.aggr=Object.keys(w);if(w.density&&_.length>1)throw new Error("Weight option can not be used with custom aggregates.");if(_.length||(_.push(fa),w.density=Zn()),n==="linear"){if(_.length>1)throw new Error("Linear binning not applicable to multiple aggregates.");if(!w.density)throw new Error("Linear binning not applicable to custom aggregates.");return Qnt(x,d,m,w[fa],f,b)}else return Jnt(x,d,m,w,f,b)}binDimensions(){let{plot:t,pixelSize:n,width:r,height:i}=this;return[r??Math.round(t.innerWidth()/n),i??Math.round(t.innerHeight()/n)]}queryResult(t){let[n,r]=this.bins,i=Znt(this.interpolate),{columns:o}=Hi(t);return this.grids0=IU(n,r,o.index,o,this.aggr,this.groupby,i),this.convolve()}convolve(){let{aggr:t,bandwidth:n,bins:r,grids0:i,plot:o}=this;if(this.grids=i,n>0){let s=t.length===1?t[0]:t.includes(fa)?fa:null;if(!s)return console.warn("No compatible grid found for smoothing."),this;let a=i.columns[s],c=o.innerWidth(),l=o.innerHeight(),[u,f]=r,h=a.some(m=>m.some(y=>y<0)),d=ng(n*(u-1)/c,h),p=ng(n*(f-1)/l,h);this.grids={numRows:i.numRows,columns:{...i.columns,[s]:a.map(m=>AU(d,p,m,r))}}}return this}};function Hnt(e){let t={};for(let n in e)e[n]==="density"&&(delete e[n],t[n]=!0);return t}function Znt(e="none"){if(typeof e=="function")return e;switch(e.toLowerCase()){case"none":case"linear":return;case"nearest":return $y;case"barycentric":return Fy();case"random-walk":return Py()}throw new Error(`invalid interpolate: ${e}`)}function Jnt(e,t,n,r,i,o){return e.select({index:j`FLOOR(${t})::INTEGER + FLOOR(${n})::INTEGER * ${i}`,...r}).groupby("index",o)}function Qnt(e,t,n,r,i,o){let s=r?.column?`* ${r.column}`:"",a=(h,d)=>e.clone().select({xp:t,yp:n,i:h,w:d}),c=a(j`FLOOR(xp)::INTEGER + FLOOR(yp)::INTEGER * ${i}`,j`(FLOOR(xp)::INTEGER + 1 - xp) * (FLOOR(yp)::INTEGER + 1 - yp)${s}`),l=a(j`FLOOR(xp)::INTEGER + (FLOOR(yp)::INTEGER + 1) * ${i}`,j`(FLOOR(xp)::INTEGER + 1 - xp) * (yp - FLOOR(yp)::INTEGER)${s}`),u=a(j`FLOOR(xp)::INTEGER + 1 + FLOOR(yp)::INTEGER * ${i}`,j`(xp - FLOOR(xp)::INTEGER) * (FLOOR(yp)::INTEGER + 1 - yp)${s}`),f=a(j`FLOOR(xp)::INTEGER + 1 + (FLOOR(yp)::INTEGER + 1) * ${i}`,j`(xp - FLOOR(xp)::INTEGER) * (yp - FLOOR(yp)::INTEGER)${s}`);return dt.from(dt.unionAll(c,l,u,f)).select({index:"i",density:Rr("w")},o).groupby("index",o).having(Xc("density",0))}var rg=class extends Zi{constructor(t,n){let{thresholds:r=10,...i}=n;super("geo",t,{bandwidth:20,interpolate:"linear",pixelSize:2,...i}),this.thresholds=Ve(r,o=>(this.thresholds=o,this.grids?this.contours().update():null))}convolve(){return super.convolve().contours()}contours(){let{bins:t,densityMap:n,grids:r,thresholds:i,plot:o}=this,{numRows:s,columns:a}=r,c=i,l;if(Array.isArray(c))l=c;else{let[,A]=eg(a.density);l=Array.from({length:c-1},(O,C)=>A*(C+1)/c)}(n.fill||n.stroke)&&this.plot.getAttribute("colorScale")!=="log"&&this.plot.setAttribute("colorZero",!0);let[u,f]=t,[h,d]=o.getAttribute("xDomain"),[p,m]=o.getAttribute("yDomain"),y=(d-h)/u,g=(m-p)/f,x=+h,b=+p,w=A=>x+A*y,_=A=>b+A*g,v=Fa().size(t),I=this.contourData=Array(s*l.length),{density:E,...M}=a,N=Object.entries(M);for(let A=0,O=0;A<s;++A){let C=E[A],S=N.reduce((T,[D,R])=>(T[D]=R[A],T),{});for(let T=0;T<l.length;++T,++O)I[O]=Object.assign(Knt(v.contour(C,l[T]),w,_),S)}return this}plotSpecs(){let{type:t,channels:n,densityMap:r,contourData:i}=this,o={};for(let s of n){let{channel:a}=s;a!=="x"&&a!=="y"&&(o[a]=Xn(s))}for(let s in r)r[s]&&(o[s]=Xn({channel:s,as:"value"}));return[{type:t,data:i,options:o}]}};function Knt(e,t,n){function r(s){s.forEach(i)}function i(s){s.forEach(o)}function o(s){s[0]=t(s[0]),s[1]=n(s[1])}return e.coordinates.forEach(r),e}function ig(e){return Array.from({length:e},(t,n)=>n)}function n_(e,t){let n=t.reduce((i,o,s)=>(i[o]=s,i),{}),r=ig(e.length);return r.sort((i,o)=>n[e[i]]-n[e[o]]),r}function r_(e,t){if(typeof document<"u"){let n=document.createElement("canvas");return n.setAttribute("width",e),n.setAttribute("height",t),n}throw new Error("Can not create a canvas instance.")}function TU(e=1){let t=255*e|0;return(n,r,i)=>{for(let o=0,s=0;o<i;++o)for(let a=0;a<r;++a,s+=4)n[s+3]=t}}function EU(e){let{apply:t}=e;return(n,r,i,o)=>{for(let s=0,a=0;s<i;++s)for(let c=0,l=(i-s-1)*r;c<r;++c,a+=4)n[a+3]=255*t(o[c+l])|0}}function DU(e={}){let{r:t=0,g:n=0,b:r=0,opacity:i=1}=typeof e=="string"?sn(e):e,o=new Uint8ClampedArray([t,n,r,255*i|0]);return(s,a,c)=>{for(let l=0,u=0;l<c;++l)for(let f=0;f<a;++f,u+=4)s[u+0]=o[0],s[u+1]=o[1],s[u+2]=o[2],s[u+3]=o[3]}}function NU(e){let{domain:t,range:n}=e,r=Object.create(null),i=new Uint8ClampedArray(4*t.length),o=t.length-1,s=n.length;for(let a=0;a<=o;++a){let c=n[a%s],{r:l,g:u,b:f,opacity:h=1}=typeof c=="string"?sn(c):c,d=a<<2;i[d+0]=l,i[d+1]=u,i[d+2]=f,i[d+3]=255*h|0,r[t[a]]=d}return(a,c,l,u)=>{if(u.map)for(let f=0,h=0;f<l;++f)for(let d=0,p=(l-f-1)*c;d<c;++d,h+=4){let m=r[u[d+p]];a[h+0]=i[m+0],a[h+1]=i[m+1],a[h+2]=i[m+2],a[h+3]=i[m+3]}else{let f=r[u];for(let h=0,d=0;h<l;++h)for(let p=0;p<c;++p,d+=4)a[d+0]=i[f+0],a[d+1]=i[f+1],a[d+2]=i[f+2],a[d+3]=i[f+3]}}}function OU(e,t,n){let{interpolate:r}=t,i=new Uint8ClampedArray(4*e),o=e-1;for(let s=0;s<=o;++s){let a=r(s/o),{r:c,g:l,b:u,opacity:f=1}=typeof a=="string"?sn(a):a,h=s<<2;i[h+0]=c,i[h+1]=l,i[h+2]=u,i[h+3]=255*f|0}return(s,a,c,l)=>{for(let u=0,f=0;u<c;++u)for(let h=0,d=(c-u-1)*a;h<a;++h,f+=4){let p=o*n(l[h+d])<<2;s[f+0]=i[p+0],s[f+1]=i[p+1],s[f+2]=i[p+2],s[f+3]=i[p+3]}}}var wc=class extends Zi{constructor(t,n){super("image",t,n),this.image=null}setPlot(t,n){let r=()=>{this.hasFieldInfo()&&this.rasterize()};t.addAttributeListener("schemeColor",r),super.setPlot(t,n)}convolve(){return super.convolve().rasterize()}rasterize(){let{bins:t,grids:n}=this,[r,i]=t,{numRows:o,columns:s}=n,{canvas:a,ctx:c,img:l}=rrt(this,r,i),{alpha:u,alphaProp:f,color:h,colorProp:d}=p6(this),p=s[f]??[],m=s[d]??[],y=o>1&&d&&this.groupby?.includes(d)?n_(m,this.plot.getAttribute("colorDomain")):ig(o);return this.data={numRows:o,columns:{src:Array.from({length:o},(g,x)=>(h?.(l.data,r,i,m[y[x]]),u?.(l.data,r,i,p[y[x]]),c.putImageData(l,0,0),a.toDataURL()))}},this}plotSpecs(){let{type:t,plot:n,data:{numRows:r,columns:i}}=this,o={src:i.src,width:n.innerWidth(),height:n.innerHeight(),preserveAspectRatio:"none",imageRendering:this.channel("imageRendering")?.value,frameAnchor:"middle"};return[{type:t,data:{length:r},options:o}]}},og=class extends wc{constructor(t,n){super(t,{bandwidth:20,interpolate:"linear",pixelSize:2,...n})}};function p6(e){let{aggr:t,densityMap:n,groupby:r,plot:i}=e,o=t.includes(fa),s=t.includes("fillOpacity"),a=e.channel("fill"),c=e.channel("fillOpacity");if(t.length>2||o&&s)throw new Error("Invalid raster encodings. Try dropping an aggregate?");if(r.includes(c?.as))throw new Error("Raster fillOpacity must be an aggregate or constant.");let l=n.fill||t.includes("fill")?"grid":r.includes(a?.as)?"group":Qv(a?.value)?a.value:o&&i.getAttribute("colorScheme")?"grid":void 0,u=n.fillOpacity||t.includes("fillOpacity")?"grid":typeof c?.value=="number"?c.value:o&&l!=="grid"?"grid":void 0;if(l!=="grid"&&u!=="grid")throw new Error("Raster mark missing density values.");let f=a?.as??(l==="grid"?fa:null),h=c?.as??(u==="grid"?fa:null),d=l!=="grid"&&l!=="group"?DU(l):ert(e,f),p=u!=="grid"?TU(u):trt(e,h);return{alphaProp:h,colorProp:f,alpha:p,color:d}}function trt(e,t){let{plot:n,grids:r}=e,i=n.getAttribute("opacityDomain"),o=i===So,s=i?.[An],a=!o&&!s&&i||eg(r.columns[t]);(o||s||!i)&&(o||(a[An]=!0),n.setAttribute("opacityDomain",a));let c=oc({opacity:{type:n.getAttribute("opacityScale"),domain:a,clamp:n.getAttribute("opacityClamp"),nice:n.getAttribute("opacityNice"),reverse:n.getAttribute("opacityReverse"),zero:n.getAttribute("opacityZero"),base:n.getAttribute("opacityBase"),exponent:n.getAttribute("opacityExponent"),constant:n.getAttribute("opacityConstant")}});return EU(c)}function ert(e,t){let{plot:n,grids:r}=e,i=r.columns[t],o=!i[0]?.map,s=o||Array.isArray(i[0]),a=n.getAttribute("colorDomain"),c=a===So,l=a?.[An],u=!c&&!l&&a||(o?i.slice().sort(Ot):s?MU(i):eg(i));(c||l||!a)&&(c||(u[An]=!0),n.setAttribute("colorDomain",u));let f=oc({color:{type:n.getAttribute("colorScale"),domain:u,range:n.getAttribute("colorRange"),clamp:n.getAttribute("colorClamp"),n:n.getAttribute("colorN"),nice:n.getAttribute("colorNice"),reverse:n.getAttribute("colorReverse"),scheme:n.getAttribute("colorScheme"),interpolate:n.getAttribute("colorInterpolate"),pivot:n.getAttribute("colorPivot"),symmetric:n.getAttribute("colorSymmetric"),zero:n.getAttribute("colorZero"),base:n.getAttribute("colorBase"),exponent:n.getAttribute("colorExponent"),constant:n.getAttribute("colorConstant")}});if(s)return NU(f);{let h=oc({x:{type:nrt(f.type),domain:f.domain,reverse:f.reverse,range:[0,1],clamp:f.clamp,base:f.base,exponent:f.exponent,constant:f.constant}});return OU(1024,f,h.apply)}}function nrt(e){return e.endsWith("symlog")?"symlog":e.endsWith("log")?"log":e.endsWith("pow")?"pow":e.endsWith("sqrt")?"sqrt":e==="diverging"?"linear":e}function rrt(e,t,n){if(!e.image||e.image.w!==t||e.image.h!==n){let r=r_(t,n),i=r.getContext("2d",{willReadFrequently:!0}),o=i.getImageData(0,0,t,n);e.image={canvas:r,ctx:i,img:o,w:t,h:n}}return e.image}var sg=class extends wc{constructor(t,n){let{normalize:r=!0,...i}=n;super(t,i),this.normalize=Ve(r,o=>(this.normalize=o,this.requestUpdate()))}query(t=[]){let{channels:n,normalize:r,source:i,pad:o}=this,[s,a]=this.bins=this.binDimensions(),[c]=Wr(this,"x",s,es(this,t),o),[l]=Wr(this,"y",a,ns(this,t),o),u=dt.from(i.table).where(irt(this,t));this.aggr=["density"];let f=this.groupby=[],h=[];for(let d of n)if(Object.hasOwn(d,"field")){let{channel:p,field:m}=d;p==="z"?(u.select({[p]:m}),h.push("z")):p!=="x"&&p!=="y"&&(u.select({[p]:m}),f.push(p))}return ort(u,c,l,h,s,a,f,r)}};function irt(e,t){if(Array.isArray(t)&&!t.length)return t;let{column:n}=e.channelField("x"),{column:r}=e.channelField("y"),i=s=>{let a=`${s.field}`;return s.op!=="BETWEEN"||a!==n&&a!==r},o=s=>s.op==="AND"?vr(s.children.filter(a=>i(a))):s;return Array.isArray(t)?t.filter(s=>i(s)).map(s=>o(s)):o(t)}function ort(e,t,n,r,i,o,s=[],a=!0){e.select({x:j`FLOOR(${t})::INTEGER`,y:j`FLOOR(${n})::INTEGER`});let c=s.concat(r),l=c.length?`PARTITION BY ${c.join(", ")} `:"",u=dt.from(e).select(c,{x0:"x",y0:"y",dx:j`(lead(x) OVER sw - x)`,dy:j`(lead(y) OVER sw - y)`}).window({sw:j`${l}ORDER BY x ASC`}).qualify(vr(j`(x0 < ${i} OR x0 + dx < ${i})`,j`(y0 < ${o} OR y0 + dy < ${o})`,j`(x0 > 0 OR x0 + dx > 0)`,j`(y0 > 0 OR y0 + dy > 0)`)),f=dt.select({x:j`GREATEST(MAX(ABS(dx)), MAX(ABS(dy)))`}).from("pairs"),h=dt.select({i:j`UNNEST(range((${f})))::INTEGER`}),d=dt.unionAll(dt.select(c,{x:j`x0 + i`,y:j`y0 + ROUND(i * dy / dx::FLOAT)::INTEGER`}).from("pairs","indices").where(j`ABS(dy) <= ABS(dx) AND i < ABS(dx)`),dt.select(c,{x:j`x0 + ROUND(SIGN(dy) * i * dx / dy::FLOAT)::INTEGER`,y:j`y0 + SIGN(dy) * i`}).from("pairs","indices").where(j`ABS(dy) > ABS(dx) AND i < ABS(dy)`),dt.select(c,{x:"x0",y:"y0"}).from("pairs").where(Yc("dx"))),p=["x"].concat(c).join(", "),m=dt.from("raster").select(c,"x","y",a?{w:j`1.0 / COUNT(*) OVER (PARTITION BY ${p})`}:null).where(vr(We("x",[0,i],!0),We("y",[0,o],!0)));return dt.with({pairs:u,indices:h,raster:d,points:m}).from("points").select(s,{index:j`x + y * ${i}::INTEGER`,density:a?Rr("w"):Zn()}).groupby("index",s)}var Sh=class extends ln{constructor(t,n,r){let{bins:i=1024,bandwidth:o=20,...s}=r,a=t.endsWith("X")?"y":"x";super(t,n,s,a==="x"?f6:h6),this.dim=a,this.bins=Ve(i,c=>(this.bins=c,this.requestUpdate())),this.bandwidth=Ve(o,c=>(this.bandwidth=c,this.grid?this.convolve().update():null))}get filterIndexable(){let t=this.dim==="x"?"xDomain":"yDomain",n=this.plot.getAttribute(t);return n&&!n[An]}query(t=[]){if(this.hasOwnData())throw new Error("Density1DMark requires a data source");let{bins:n,channels:r,dim:i,source:{table:o}}=this,s=this.extent=(i==="x"?es:ns)(this,t),[a,c]=Wr(this,i,n,s),l=Ky(r,o,[i]).where(t.concat(We(c,s))),u=this.channelField("weight")?"weight":null;return srt(l,a,u)}queryResult(t){let{columns:{index:n,density:r}}=Hi(t);return this.grid=SU(this.bins,n,r),this.convolve()}convolve(){let{bins:t,bandwidth:n,dim:r,grid:i,plot:o,extent:[s,a]}=this,c=i.some(b=>b<0),l=r==="x"?o.innerWidth():o.innerHeight(),u=ng(n*(t-1)/l,c),f=e_(u,i,t),h=r==="x"?"y":"x",d=this.channelField(r).as,p=+s,m=(a-p)/(t-1),y=1/m,g=new Float64Array(t),x=new Float64Array(t);for(let b=0;b<t;++b)g[b]=p+b*m,x[b]=f[b]*y;return this.data={numRows:t,columns:{[d]:g,[h]:x}},this}plotSpecs(){let{type:t,data:{numRows:n,columns:r},channels:i,dim:o}=this,s=o==="x"?{y:r.y}:{x:r.x};for(let a of i)s[a.channel]=Xn(a,r);return[{type:t,data:{length:n},options:s}]}};function srt(e,t,n){let r=n?`* ${n}`:"",i=e.clone().select({p:t,i:j`FLOOR(p)::INTEGER`,w:j`(FLOOR(p) + 1 - p)${r}`}),o=e.clone().select({p:t,i:j`FLOOR(p)::INTEGER + 1`,w:j`(p - FLOOR(p))${r}`});return dt.from(dt.unionAll(i,o)).select({index:"i",density:Rr("w")}).groupby("index").having(Qd("density",0))}var ag=class extends Zi{constructor(t,n){let{type:r="dot",...i}=n;super(r,t,{bandwidth:20,interpolate:"linear",pad:0,pixelSize:2,...i})}convolve(){super.convolve();let{bins:t,pad:n,extentX:r,extentY:i}=this,[o,s]=t,a=Wl(this,"x"),c=Wl(this,"y"),[l,u]=r.map(y=>a.apply(y)),[f,h]=i.map(y=>c.apply(y)),d=(u-l)/(o-n),p=(h-f)/(s-n),m=n?0:.5;return this.data=art(this.grids,t,l,f,d,p,a.invert,c.invert,m),this}plotSpecs(){let{type:t,channels:n,densityMap:r,data:{numRows:i,columns:o}}=this,s={};for(let a of n){let{channel:c}=a;s[c]=c==="x"||c==="y"?o[c]:Xn(a,o)}for(let a in r)r[a]&&(s[a]=o.density);return[{type:t,data:{length:i},options:s}]}};function art(e,t,n,r,i,o,s,a,c){let l=1/(i*o),[u,f]=t,h=u*f,d=h*e.numRows,p=new Float64Array(d),m=new Float64Array(d),y=new Float64Array(d),g={x:p,y:m,density:y},{density:x,...b}=e.columns;for(let _ in b)g[_]=new b[_].constructor(d);let w=0;for(let _=0;_<e.numRows;++_){for(let I in b)g[I].fill(b[I][_],w,w+h);let v=x[_];for(let I=0,E=0;E<f;++E)for(let M=0;M<u;++M,++w,++I)p[w]=s(n+(M+c)*i),m[w]=a(r+(E+c)*o),y[w]=v[I]*l}return{numRows:d,columns:g}}function crt(e,t,n){var r=1e-8,i=t-1,o=n-1,s=0,a,c,l,u,f,h,d,p,m,y,g;if(e<=0)return 0;if(e>=1)return 1;for(t>=1&&n>=1?(l=e<.5?e:1-e,u=Math.sqrt(-2*Math.log(l)),d=(2.30753+u*.27061)/(1+u*(.99229+u*.04481))-u,e<.5&&(d=-d),p=(d*d-3)/6,m=2/(1/(2*t-1)+1/(2*n-1)),y=d*Math.sqrt(p+m)/m-(1/(2*n-1)-1/(2*t-1))*(p+5/6-2/(3*m)),d=t/(t+n*Math.exp(2*y))):(a=Math.log(t/(t+n)),c=Math.log(n/(t+n)),u=Math.exp(t*a)/t,f=Math.exp(n*c)/n,y=u+f,e<u/y?d=Math.pow(t*y*e,1/t):d=1-Math.pow(n*y*(1-e),1/n)),g=-Ih(t)-Ih(n)+Ih(t+n);s<10;s++){if(d===0||d===1)return d;if(h=lrt(d,t,n)-e,u=Math.exp(i*Math.log(d)+o*Math.log(1-d)+g),f=h/u,d-=u=f/(1-.5*Math.min(1,f*(i/d-o/(1-d)))),d<=0&&(d=.5*(d+u)),d>=1&&(d=.5*(d+u+1)),Math.abs(u)<r*d&&s>0)break}return d}function lrt(e,t,n){var r=e===0||e===1?0:Math.exp(Ih(t+n)-Ih(t)-Ih(n)+t*Math.log(e)+n*Math.log(1-e));return e<0||e>1?0:e<(t+1)/(t+n+2)?r*LU(e,t,n)/t:1-r*LU(1-e,n,t)/n}function LU(e,t,n){var r=1e-30,i=1,o=t+n,s=t+1,a=t-1,c=1,l=1-o*e/s,u,f,h,d;for(Math.abs(l)<r&&(l=r),l=1/l,d=l;i<=100&&(u=2*i,f=i*(n-i)*e/((a+u)*(t+u)),l=1+f*l,Math.abs(l)<r&&(l=r),c=1+f/c,Math.abs(c)<r&&(c=r),l=1/l,d*=l*c,f=-(t+i)*(o+i)*e/((t+u)*(s+u)),l=1+f*l,Math.abs(l)<r&&(l=r),c=1+f/c,Math.abs(c)<r&&(c=r),l=1/l,h=l*c,d*=h,!(Math.abs(h-1)<3e-7));i++);return d}function Ih(e){var t=0,n=[76.18009172947146,-86.5053203294167,24.01409824083091,-1.231739572450155,.001208650973866179,-5395239384953e-18],r=1.000000000190015,i,o,s;for(s=(o=i=e)+5.5,s-=(i+.5)*Math.log(s);t<6;t++)r+=n[t]/++o;return Math.log(2.506628274631*r/i)-s}function BU(e,t){var n=crt(2*Math.min(e,1-e),.5*t,.5);return n=Math.sqrt(t*(1-n)/n),e>.5?n:-n}function CU(e){let t=-Math.log((1-e)*(1+e)),n;return t<6.25?(t-=3.125,n=-364441206401782e-35,n=-16850591381820166e-35+n*t,n=128584807152564e-32+n*t,n=11157877678025181e-33+n*t,n=-1333171662854621e-31+n*t,n=20972767875968562e-33+n*t,n=6637638134358324e-30+n*t,n=-4054566272975207e-29+n*t,n=-8151934197605472e-29+n*t,n=26335093153082323e-28+n*t,n=-12975133253453532e-27+n*t,n=-5415412054294628e-26+n*t,n=10512122733215323e-25+n*t,n=-4112633980346984e-24+n*t,n=-29070369957882005e-24+n*t,n=42347877827932404e-23+n*t,n=-13654692000834679e-22+n*t,n=-13882523362786469e-21+n*t,n=.00018673420803405714+n*t,n=-.000740702534166267+n*t,n=-.006033670871430149+n*t,n=.24015818242558962+n*t,n=1.6536545626831027+n*t):t<16?(t=Math.sqrt(t)-3.25,n=22137376921775787e-25,n=9075656193888539e-23+n*t,n=-27517406297064545e-23+n*t,n=18239629214389228e-24+n*t,n=15027403968909828e-22+n*t,n=-4013867526981546e-21+n*t,n=29234449089955446e-22+n*t,n=12475304481671779e-21+n*t,n=-47318229009055734e-21+n*t,n=6828485145957318e-20+n*t,n=24031110387097894e-21+n*t,n=-.0003550375203628475+n*t,n=.0009532893797373805+n*t,n=-.0016882755560235047+n*t,n=.002491442096107851+n*t,n=-.003751208507569241+n*t,n=.005370914553590064+n*t,n=1.0052589676941592+n*t,n=3.0838856104922208+n*t):Number.isFinite(t)?(t=Math.sqrt(t)-5,n=-27109920616438573e-27,n=-2555641816996525e-25+n*t,n=15076572693500548e-25+n*t,n=-3789465440126737e-24+n*t,n=761570120807834e-23+n*t,n=-1496002662714924e-23+n*t,n=2914795345090108e-23+n*t,n=-6771199775845234e-23+n*t,n=22900482228026655e-23+n*t,n=-99298272942317e-20+n*t,n=4526062597223154e-21+n*t,n=-1968177810553167e-20+n*t,n=7599527703001776e-20+n*t,n=-.00021503011930044477+n*t,n=-.00013871931833623122+n*t,n=1.0103004648645344+n*t,n=4.849906401408584+n*t):n=1/0,n*e}var Mh=class extends ln{constructor(t,n,r){let i=t.endsWith("X")?"y":"x",{ci:o=.95,...s}=r;super(t,n,s),this.dim=i,this.field=this.channelField(i).field,this.channels=this.channels.filter(a=>a.channel!==i),this.ci=Ve(o,a=>(this.ci=a,this.update()))}query(t=[]){let{channels:n,field:r,source:{table:i}}=this,o=n.concat([{field:tp(r),as:"__avg__"},{field:Zn(r),as:"__n__"},{field:ep(r),as:"__sd__"}]);return Ky(o,i).where(t)}queryResult(t){return this.data=Hi(t),this}plotSpecs(){let{type:t,dim:n,detail:r,data:i,ci:o,channels:s}=this,a=Math.SQRT2*CU(o),{columns:{__avg__:c,__sd__:l,__n__:u}}=i,f={[`${n}1`]:c.map((h,d)=>h-a*l[d]/Math.sqrt(u[d])),[`${n}2`]:c.map((h,d)=>h+a*l[d]/Math.sqrt(u[d]))};return u6(t,r,s,i,f)}};var urt="geom",cg=class extends ln{constructor(t,n={},r){!Kv(t)&&!n?.geometry&&(n.geometry=rp(urt)),super("geo",t,n,r)}queryResult(t){super.queryResult(t);let n=this.channelField("geometry")?.as;if(n){let{columns:r}=this.data;typeof r[n][0]=="string"&&(r[n]=r[n].map(i=>JSON.parse(i)))}return this}};var lg=class extends ln{constructor(t,n){let{type:r="hexagon",binWidth:i=20,...o}=n;super(r,t,{r:i/2,clip:!0,...o},t_),this.binWidth=Ve(i,s=>(this.binWidth=s,this.requestUpdate()))}get filterIndexable(){let t=this.plot.getAttribute("xDomain"),n=this.plot.getAttribute("yDomain");return t&&n&&!t[An]&&!n[An]}query(t=[]){if(this.hasOwnData())return null;let{plot:n,binWidth:r,channels:i,source:o}=this,[s,a]=es(this,t),[c,l]=ns(this,t),u=.5-n.getAttribute("marginLeft"),f=0-n.getAttribute("marginTop"),h=`${r}::DOUBLE`,d=`${r*(1.5/Math.sqrt(3))}::DOUBLE`,p=`${n.innerWidth()/(a-s)}::DOUBLE`,m=`${n.innerHeight()/(l-c)}::DOUBLE`,y,g,x=new Set,b={},w;for(let M of i)M.channel==="orderby"?w=M.value:M.channel==="x"?y=M:M.channel==="y"?g=M:Object.hasOwn(M,"field")&&(b[M.as]=M.field,M.field.aggregate&&M.field.columns.forEach(N=>x.add(N)));let _=dt.select({[y.as]:j`${s}::DOUBLE + ((x + 0.5 * (y & 1)) * ${h} + ${u})::DOUBLE / ${p}`,[g.as]:j`${l}::DOUBLE - (y * ${d} + ${f})::DOUBLE / ${m}`,...b}).groupby("x","y");w&&_.orderby(w);let v=`${p} * (${y.field} - ${s}::DOUBLE)`,I=`${m} * (${l}::DOUBLE - ${g.field})`,E=dt.select({py:j`(${I} - ${f}) / ${d}`,pj:j`ROUND(py)::INTEGER`,px:j`(${v} - ${u}) / ${h} - 0.5 * (pj & 1)`,pi:j`ROUND(px)::INTEGER`,tt:j`ABS(py-pj) * 3 > 1 AND (px-pi)**2 + (py-pj)**2 > (px - pi - 0.5 * CASE WHEN px < pi THEN -1 ELSE 1 END)**2 + (py - pj - CASE WHEN py < pj THEN -1 ELSE 1 END)**2`,x:j`CASE WHEN tt THEN (pi + (CASE WHEN px < pi THEN -0.5 ELSE 0.5 END) + (CASE WHEN pj & 1 <> 0 THEN 0.5 ELSE -0.5 END))::INTEGER ELSE pi END`,y:j`CASE WHEN tt THEN (pj + CASE WHEN py < pj THEN -1 ELSE 1 END)::INTEGER ELSE pj END`}).select(Array.from(x)).from(o.table).where(Ss(y.field),Ss(g.field),t);return _.from(E)}};var ug=class extends Zi{constructor(t,n){let{origin:r=[0,0],dim:i="xy",...o}=n;super("image",t,o),this.image=null,this.origin=r,this.tileX=i.toLowerCase().includes("x"),this.tileY=i.toLowerCase().includes("y")}setPlot(t,n){let r=()=>{this.hasFieldInfo()&&this.rasterize()};t.addAttributeListener("schemeColor",r),super.setPlot(t,n)}requestQuery(){return this.requestTiles()}query(t=[]){return this._filter=t,null}tileQuery(t){let{interpolate:n,pad:r,channels:i,densityMap:o,source:s}=this,[[a,c],[l,u]]=t,[f,h]=this.bins,[d,p]=Wr(this,"x",f,[a,c],r),[m,y]=Wr(this,"y",h,[l,u],r),g=r?[We(p,[+a,+c]),We(y,[+l,+u])]:[Ms(+a,p),Is(p,+c),Ms(+l,y),Is(y,+u)],x=dt.from(s.table).where(g),b=this.groupby=[],w={};for(let v of i)if(Object.hasOwn(v,"field")){let{as:I,channel:E,field:M}=v;M.aggregate?(w[E]=M,o[E]=!0):E==="weight"?w.density=Rr(M):E!=="x"&&E!=="y"&&(x.select({[I]:M}),b.push(I))}let _=this.aggr=Object.keys(w);if(w.density&&_.length>1)throw new Error("Weight option can not be used with custom aggregates.");if(_.length||(_.push("density"),w.density=Zn()),n==="linear"){if(_.length>1)throw new Error("Linear binning not applicable to multiple aggregates.");if(!w.density)throw new Error("Linear binning not applicable to custom aggregates.");return mrt(x,d,m,w.density,f,b)}else return prt(x,d,m,w,f,b)}async requestTiles(){let t=ci();this.prefetch&&t.cancel(this.prefetch);let{pad:n,tileX:r,tileY:i,origin:[o,s]}=this,[a,c]=this.bins=this.binDimensions(),[l,u]=es(this,this._filter),[f,h]=ns(this,this._filter),d=u-l,p=h-f,m=Math.floor((l-o)*(a-n)/d),y=Math.floor((f-s)*(c-n)/p),g=(A,O)=>[[o+A*d,o+(A+1)*d],[s+O*p,s+(O+1)*p]],x=Math.floor((l-o)/d),b=r?kU((u-o)/d):x,w=Math.floor((f-s)/p),_=i?kU((h-s)/p):w,v=[];for(let A=x;A<=b;++A)for(let O=w;O<=_;++O)v.push([A,O]);let I=v.map(([A,O])=>t.query(this.tileQuery(g(A,O)))),E=[];if(r)for(let A=w;A<=_;++A)E.push([b+1,A]),E.push([x-1,A]);if(i){let A=r?x-1:x,O=r?b+1:b;for(let C=A;C<=O;++C)E.push([C,_+1]),E.push([C,w-1])}this.prefetch=E.map(([A,O])=>t.prefetch(this.tileQuery(g(A,O))));let M=await Promise.all(I),N=frt(a,c,m,y,v,M);this.grids0={numRows:N.length,columns:{density:[N]}},this.convolve().update()}convolve(){return super.convolve().rasterize()}rasterize(){let{bins:t,grids:n}=this,[r,i]=t,{numRows:o,columns:s}=n,{canvas:a,ctx:c,img:l}=drt(this,r,i),{alpha:u,alphaProp:f,color:h,colorProp:d}=p6(this),p=s[f]??[],m=s[d]??[],y=o>1&&d&&this.groupby?.includes(d)?n_(m,this.plot.getAttribute("colorDomain")):ig(o);return this.data={numRows:o,columns:{src:Array.from({length:o},(g,x)=>(h?.(l.data,r,i,m[y[x]]),u?.(l.data,r,i,p[y[x]]),c.putImageData(l,0,0),a.toDataURL()))}},this}plotSpecs(){let{type:t,plot:n,data:{numRows:r,columns:i}}=this,o={src:i.src,width:n.innerWidth(),height:n.innerHeight(),preserveAspectRatio:"none",imageRendering:this.channel("imageRendering")?.value,frameAnchor:"middle"};return[{type:t,data:{length:r},options:o}]}};function frt(e,t,n,r,i,o){let s=new Float64Array(e*t);return o.forEach((a,c)=>{let[l,u]=i[c],f=l*e-n,h=u*t-r;hrt(e,t,s,a,f,h)}),s}function hrt(e,t,n,r,i,o){let s=r.numRows;if(s===0)return;let a=r.getChild("index").toArray(),c=r.getChild("density").toArray();for(let l=0;l<s;++l){let u=a[l],f=i+u%e,h=o+Math.floor(u/e);0<=f&&f<e&&0<=h&&h<t&&(n[f+h*e]=c[l])}}function drt(e,t,n){if(!e.image||e.image.w!==t||e.image.h!==n){let r=r_(t,n),i=r.getContext("2d",{willReadFrequently:!0}),o=i.getImageData(0,0,t,n);e.image={canvas:r,ctx:i,img:o,w:t,h:n}}return e.image}function prt(e,t,n,r,i,o){return e.select({index:j`FLOOR(${t})::INTEGER + FLOOR(${n})::INTEGER * ${i}`,...r}).groupby("index",o)}function mrt(e,t,n,r,i,o){let s=r.column?`* ${r.column}`:"",a=(h,d)=>e.clone().select({xp:t,yp:n,i:h,w:d}),c=a(j`FLOOR(xp)::INTEGER + FLOOR(yp)::INTEGER * ${i}`,j`(FLOOR(xp)::INTEGER + 1 - xp) * (FLOOR(yp)::INTEGER + 1 - yp)${s}`),l=a(j`FLOOR(xp)::INTEGER + (FLOOR(yp)::INTEGER + 1) * ${i}`,j`(FLOOR(xp)::INTEGER + 1 - xp) * (yp - FLOOR(yp)::INTEGER)${s}`),u=a(j`FLOOR(xp)::INTEGER + 1 + FLOOR(yp)::INTEGER * ${i}`,j`(xp - FLOOR(xp)::INTEGER) * (FLOOR(yp)::INTEGER + 1 - yp)${s}`),f=a(j`FLOOR(xp)::INTEGER + 1 + (FLOOR(yp)::INTEGER + 1) * ${i}`,j`(xp - FLOOR(xp)::INTEGER) * (yp - FLOOR(yp)::INTEGER)${s}`);return dt.from(dt.unionAll(c,l,u,f)).select({index:"i",density:Rr("w")},o).groupby("index",o).having(Xc("density",0))}function kU(e){let t=Math.floor(e);return t===e?t-1:t}var fg=class extends ln{constructor(t,n){let{ci:r=.95,precision:i=4,...o}=n;super("line",t,o);let s=()=>this.modelFit?this.confidenceBand().update():null;this.ci=Ve(r,a=>(this.ci=a,s())),this.precision=Ve(i,a=>(this.precision=a,s()))}query(t=[]){let n=this.channelField("x").as,r=this.channelField("y").as,i=Array.from(new Set(["stroke","z","fx","fy"].flatMap(o=>this.channelField(o)?.as||[])));return dt.from(super.query(t)).select({intercept:NS(r,n),slope:OS(r,n),n:LS(r,n),ssy:BS(r,n),ssx:CS(r,n),xm:kS(r,n),x0:Lu(ai(n).where(Ss(r))),x1:Lu(si(n).where(Ss(r)))}).select(i).groupby(i)}queryResult(t){return this.modelFit=Hi(t),this.lineData=yrt(this.modelFit),this.confidenceBand()}confidenceBand(){let{ci:t,modelFit:n,precision:r,plot:i}=this,o=i.innerWidth();return this.areaData=t?grt(n,t,r,o):null,this}plotSpecs(){let{lineData:t,areaData:n,channels:r,ci:i}=this,o=t.columns,s=i?n.columns:{},a={x:o.x,y:o.y},c={x:s.x,y1:s.y1,y2:s.y2,fillOpacity:.1};for(let l of r)switch(l.channel){case"x":case"y":case"fill":break;case"tip":c.tip=Xn(l,s);break;case"stroke":a.stroke=Xn(l,o),c.fill=Xn(l,s);break;case"strokeOpacity":a.strokeOpacity=Xn(l,o);break;case"fillOpacity":c.fillOpacity=Xn(l,s);break;default:a[l.channel]=Xn(l,o),c[l.channel]=Xn(l,s);break}return[...i?[{type:"areaY",data:{length:n.numRows},options:c}]:[],{type:"line",data:{length:t.numRows},options:a}]}};function m6(e,t){if(e.concat)return e.concat(t);let n=new e.constructor(e.length+t.length);return n.set(e,0),n.set(t,e.length),n}function yrt(e){let{x0:t,x1:n,xm:r,intercept:i,slope:o,n:s,ssx:a,ssy:c,...l}=e.columns,u=(d,p)=>i[p]+d*o[p],f=m6(t,n),h=m6(t.map(u),n.map(u));for(let d in l)l[d]=m6(l[d],l[d]);return{numRows:f.length,columns:{x:f,y:h,...l}}}function grt(e,t,n,r){let i=e.numRows,{x0:o,x1:s,xm:a,intercept:c,slope:l,n:u,ssx:f,ssy:h,...d}=e.columns,p=Object.keys(d),m={x:[],y1:[],y2:[]};p.forEach(y=>m[y]=[]);for(let y=0;y<i;++y){let g=n*(s[y]-o[y])/r,x=BU((1-t)/2,u[y]-2)*Math.sqrt(h[y]/(u[y]-2));Ue(o[y],s[y]-g/2,g).concat(s[y]).forEach(b=>{let w=c[y]+b*l[y],_=x*Math.sqrt(1/u[y]+(b-a[y])**2/f[y]);m.x.push(b),m.y1.push(w-_),m.y2.push(w+_),p.forEach(v=>m[v].push(d[v][y]))})}return{numRows:m.x.length,columns:m}}function RU(e){let t=e.toLowerCase(),n=e.length,r="";for(let i=0;i<n;++i)r+=(e[i]!==t[i]?"-":"")+t[i];return r}function Ah(e){let t={};for(let n in e)t[RU(n)]=e[n];return t}function xrt(e){let{channels:t}=e,n=new Set,r=!1,i=!1;for(let o of t){let{channel:s,field:a,as:c}=o;if(s==="orderby")r=!0;else if(a)if(a.aggregate)i=!0;else{if(n.has(c))continue;n.add(c)}}return!r&&i&&n.size&&e.channels.push({channel:"orderby",value:Array.from(n)}),e}var hg=class{constructor(t,{selection:n,channels:r={}}){this.mark=xrt(t),this.selection=n;let i=Object.entries(Ah(r));this.channels=i.length?i:[["opacity",.2]],this.selection.addEventListener("value",Ph(()=>this.update()))}init(t){this.svg=t;let n=this.values=[],r=this.mark.index,i=this.nodes=t.querySelectorAll(`[data-index="${r}"] > *`),{channels:o}=this;for(let s=0;s<i.length;++s){let a=i[s];n.push(o.map(c=>a.getAttribute(c[0])))}return this.update()}async update(){let{svg:t,nodes:n,channels:r,values:i,mark:o,selection:s}=this;if(!t)return;let a=await brt(o,s);for(let c=0;c<n.length;++c){let l=n[c],u=i[c],f=l.__data__,h=a(Array.isArray(f)?f[0]:f);for(let d=0;d<r.length;++d){let[p,m]=r[d];l.setAttribute(p,h?u[d]:m)}}}};async function brt(e,t){let n=t?.predicate(e);if(!n||n.length===0)return()=>!0;let r=e.filterBy?.predicate(e,!0),i={__:vr(n)},o=e.query(r);(o.queries||[o]).forEach(c=>{c.groupby().length?c.select(i):c.$select(i)});let s=await e.coordinator.query(o),a=s.getChild?.("__");return s.numRows||s.length?a?c=>a.get(c):c=>s[c].__:()=>!1}function y6(e){let t=e.on,n=!0;function r(i){n=!1,i(),n=!0}return e.reset=(...i)=>{r(()=>e.clear(...i))},e.moveSilent=(...i)=>{r(()=>e.move(...i))},e.on=(...i)=>{if(i.length>1&&i[1]){let o=i[1];i[1]=(...s)=>n&&o(...s)}return t(...i)},e}function FU(){return y6(HI())}function $U(){return y6(GI())}function PU(){return y6(WI())}function dg(e,t){return e===t||e&&t&&Math.abs(e[0]-t[0])<1e-12&&Math.abs(e[1]-t[1])<1e-12||!1}function rs(e,t){let n=e.channelField(t)?.field;return n?.basis||n}function pg(e,t,n=1){return t.invert(n*Math.floor(e/n))}function i_(){let e=this,t=e.getScreenCTM,n;e.getScreenCTM=()=>e.isConnected?n=t.call(e):n}var vc=class{constructor(t,{channel:n,selection:r,field:i=void 0,pixelSize:o=1,peers:s=!0,brush:a}){this.mark=t,this.channel=n,this.pixelSize=o||1,this.selection=r,this.peers=s,this.field=i||rs(t,n),this.style=a&&Ah(a),this.brush=n==="y"?PU():$U(),this.brush.on("brush end",({selection:c})=>this.publish(c))}reset(){this.value=void 0,this.g&&this.brush.reset(this.g)}activate(){this.selection.activate(this.clause(this.value||[0,1]))}publish(t){let n;t&&(n=t.map(r=>pg(r,this.scale,this.pixelSize)).sort((r,i)=>r-i)),dg(n,this.value)||(this.value=n,this.g.call(this.brush.moveSilent,t),this.selection.update(this.clause(n)))}clause(t){let{mark:n,pixelSize:r,field:i,scale:o}=this;return Zc(i,t,{source:this,clients:this.peers?n.plot.markSet:new Set().add(n),scale:o,pixelSize:r})}init(t,n){let{brush:r,channel:i,style:o}=this;this.scale=t.scale(i);let s=t.scale("x").range,a=t.scale("y").range;r.extent([[fe(s),fe(a)],[Jt(s),Jt(a)]]);let c=this.value?.map(this.scale.apply).sort(Ot),l=Yt(t).selectAll('g[aria-label="facet"]');if(n=l.size()?l:Yt(n??t),this.g=n.append("g").attr("class",`interval-${i}`).each(i_).call(r).call(r.moveSilent,c),o){let u=this.g.selectAll("rect.selection");for(let f in o)u.attr(f,o[f])}t.addEventListener("pointerenter",u=>{u.buttons||this.activate()})}};var mg=class{constructor(t,{selection:n,xfield:r,yfield:i,pixelSize:o=1,peers:s=!0,brush:a}){this.mark=t,this.pixelSize=o||1,this.selection=n,this.peers=s,this.xfield=r||rs(t,"x"),this.yfield=i||rs(t,"y"),this.style=a&&Ah(a),this.brush=FU(),this.brush.on("brush end",({selection:c})=>this.publish(c))}reset(){this.value=void 0,this.g&&this.brush.reset(this.g)}activate(){this.selection.activate(this.clause(this.value||[[0,1],[0,1]]))}publish(t){let{value:n,pixelSize:r,xscale:i,yscale:o}=this,s,a;if(t){let[c,l]=t;s=[c[0],l[0]].map(u=>pg(u,i,r)).sort(Ot),a=[c[1],l[1]].map(u=>pg(u,o,r)).sort(Ot)}(!dg(s,n?.[0])||!dg(a,n?.[1]))&&(this.value=t?[s,a]:void 0,this.g.call(this.brush.moveSilent,t),this.selection.update(this.clause(this.value)))}clause(t){let{mark:n,pixelSize:r,xfield:i,yfield:o,xscale:s,yscale:a}=this;return lI([i,o],t,{source:this,clients:this.peers?n.plot.markSet:new Set().add(n),scales:[s,a],pixelSize:r})}init(t){let{brush:n,style:r}=this,i=this.xscale=t.scale("x"),o=this.yscale=t.scale("y"),s=i.range,a=o.range;n.extent([[fe(s),fe(a)],[Jt(s),Jt(a)]]);let c=Yt(t).selectAll('g[aria-label="facet"]'),l=c.size()?c:Yt(t);if(this.g=l.append("g").attr("class","interval-xy").each(i_).call(n),r){let u=this.g.selectAll("rect.selection");for(let f in r)u.attr(f,r[f])}if(this.value){let[u,f]=this.value[0].map(i.apply).sort(Ot),[h,d]=this.value[1].map(o.apply).sort(Ot);this.g.call(n.moveSilent,[[u,h],[f,d]])}t.addEventListener("pointerenter",u=>{u.buttons||this.activate()})}};var Hl=class{constructor(t,{selection:n,pointer:r,channels:i,fields:o,maxRadius:s=40}){this.mark=t,this.selection=n,this.clients=new Set().add(t),this.pointer=r,this.channels=i||(r==="x"?["x"]:r==="y"?["y"]:["x","y"]),this.fields=o||this.channels.map(a=>rs(t,[a])),this.maxRadius=s,this.valueIndex=-1}clause(t){let{clients:n,fields:r}=this;return dp(r,t&&[t],{source:this,clients:n})}init(t){let n=this,{mark:r,channels:i,selection:o,maxRadius:s}=this,{data:{columns:a}}=r,c=i.map(x=>r.channelField(x).as),l=!Fr(o),u=Yt(t).selectAll('g[aria-label="facet"]'),f=u.size()?u:Yt(t),h=t.scale("x").apply,d=t.scale("y").apply,p=Array.from(a[r.channelField("x").as],h),m=Array.from(a[r.channelField("y").as],d),y=this.pointer==="y"?.01:1,g=this.pointer==="x"?.01:1;f.on("pointerenter pointerdown pointermove",function(x){let[b,w]=Fn(x,this),_=wrt(p,m,b,w,y,g,s);if(_!==this.valueIndex){this.valueIndex=_;let v=_<0?void 0:c.map(I=>a[I][_]);l?_>-1&&o.update(v.length>1?v:v[0]):o.update(n.clause(v))}}),!l&&(f.on("pointerleave",()=>{o.update(n.clause(void 0))}),t.addEventListener("pointerenter",x=>{if(!x.buttons){let b=this.channels.map(()=>0);o.activate(this.clause(b))}}))}};function wrt(e,t,n,r,i,o,s){let a=s*s,c=-1;for(let l=0;l<e.length;++l){let u=i*(e[l]-n),f=o*(t[l]-r),h=u*u+f*f;h<=a&&(a=h,c=l)}return c}var UU=(e,t)=>e-t,yg=class{constructor(t,{x:n=new As,y:r=new As,xfield:i,yfield:o,zoom:s=!0,panx:a=!0,pany:c=!0}){this.mark=t,this.xsel=n,this.ysel=r,this.xfield=i||rs(t,"x"),this.yfield=o||rs(t,"y"),this.zoom=g6(s,[0,1/0],[1,1]),this.panx=this.xsel&&a,this.pany=this.ysel&&c;let{plot:l}=t;a&&this.xsel.addEventListener("value",u=>{l.setAttribute("xDomain",u)&&l.update()}),c&&this.ysel.addEventListener("value",u=>{l.setAttribute("yDomain",u)&&l.update()})}publish(t){if(this.panx){let n=vrt(t,this.xscale);this.xsel.update(this.clause(n,this.xfield,this.xscale))}if(this.pany){let n=_rt(t,this.yscale);this.ysel.update(this.clause(n,this.yfield,this.yscale))}}clause(t,n,r){return Zc(n,t,{source:this,clients:this.mark.plot.markSet,scale:r})}init(t){if(this.svg=t,this.initialized)return;this.initialized=!0;let{panx:n,pany:r,mark:{plot:{element:i}},xsel:o,ysel:s}=this;this.xscale=t.scale("x"),this.yscale=t.scale("y");let a=this.xscale.range.slice().sort(UU),c=this.yscale.range.slice().sort(UU),l=g6(n,[-1/0,1/0],a),u=g6(r,[-1/0,1/0],c),f=h3().extent([[a[0],c[0]],[a[1],c[1]]]).scaleExtent(this.zoom).translateExtent([[l[0],u[0]],[l[1],u[1]]]).on("start",()=>{this.xscale=this.svg.scale("x"),this.yscale=this.svg.scale("y")}).on("end",()=>i.__zoom=new jr(1,0,0)).on("zoom",({transform:h})=>this.publish(h));if(Yt(i).call(f),n||r){let h=!1;i.addEventListener("pointerenter",d=>{if(!h&&(h=!0,!d.buttons)){if(n){let{xscale:p,xfield:m}=this;o.activate(this.clause(p.domain,m,p))}if(r){let{yscale:p,yfield:m}=this;s.activate(this.clause(p.domain,m,p))}}}),i.addEventListener("pointerleave",()=>h=!1)}}};function g6(e,t,n){return e?Array.isArray(e)?e:t:n}function vrt(e,t){return t.range.map(e.invertX,e).map(t.invert,t)}function _rt(e,t){return t.range.map(e.invertY,e).map(t.invert,t)}var Zl=class{constructor(t,{selection:n,channels:r,peers:i=!0}){this.value=null,this.mark=t,this.selection=n,this.peers=i;let o=this.fields=[],s=this.as=[];r.forEach(a=>{let c=a==="color"?["color","fill","stroke"]:a==="x"?["x","x1","x2"]:a==="y"?["y","y1","y2"]:[a];for(let l=0;l<c.length;++l){let u=t.channelField(c[l],{exact:!0});if(u){o.push(u.field?.basis||u.field),s.push(u.as);return}}throw new Error(`Missing channel: ${a}`)})}clause(t){let{fields:n,mark:r}=this;return dp(n,t,{source:this,clients:this.peers?r.plot.markSet:new Set().add(r)})}init(t,n,r){let{mark:i,as:o,selection:s}=this,{data:{columns:a={}}={}}=i;r??=l=>o.map(u=>{let f=l.__data__;return a[u][Array.isArray(f)?f[0]:f]}),n??=`[data-index="${i.index}"]`;let c=new Set(t.querySelectorAll(n));t.addEventListener("pointerdown",l=>{let u=s.single?s.value:this.value,f=l.target,h=null;if(Srt(c,f)){let d=r(f);(l.shiftKey||l.metaKey)&&u?.length?(h=u.filter(p=>x6(p,d)),h.length===u.length&&h.push(d)):u?.length===1&&!x6(u[0],d)?h=null:h=[d]}this.value=h,Irt(u,h)&&s.update(this.clause(h))}),t.addEventListener("pointerenter",l=>{l.buttons||this.selection.activate(this.clause([this.fields.map(()=>0)]))})}};function Srt(e,t){return e.has(t)||e.has(t.parentNode)||e.has(t.parentNode?.parentNode)}function Irt(e,t){return e==null||t==null?e!=null||t!=null:e.length!==t.length||e.some((n,r)=>x6(n,t[r]))}function x6(e,t){let n=e.length;if(t.length!==n)return!0;for(let r=0;r<n;++r)if(e[r]!==t[r])return!0;return!1}var qU=":scope > div, :scope > span",o_="swatch",zU="ramp",Th=class{constructor(t,n){let{as:r,field:i,...o}=n;this.channel=t,this.options={label:null,...o},this.type=null,this.handler=null,this.selection=r,this.field=i,this.legend=null,this.element=document.createElement("div"),this.element.setAttribute("class","legend"),Object.defineProperty(this.element,"value",{value:this})}setPlot(t){this.plot=t}init(t){let n=Mrt(this,t);return this.element.replaceChildren(n),this.element}update(){if(!this.legend)return;let{selection:t,handler:n}=this,{single:r,value:i}=t,o=r?i:t.valueFor(n),s=o&&o.length?new Set(o.map(c=>c[0])):null,a=this.legend.querySelectorAll(qU);for(let c of a){let l=s?s.has(c.__data__):!0;c.style.opacity=l?1:.2}}};function Mrt(e,t){let{channel:n,options:r,selection:i}=e,o=t.scale(n),s=o.type==="ordinal"?o_:zU,a=s===o_?r:r.label?{tickSize:2,...r}:{tickSize:2,marginTop:1,height:29,...r},c=t.legend(n,a);e.legend=c;let l=!!i;if(l&&s===zU){let u=a.width??240,f=Drt(o,u);f?c.scale=function(h){return h==="x"?{range:[0,u]}:h==="y"?{range:[-10,0]}:h===n?f:void 0}:l=!1}if(l){let u=Art(e,s);s===o_?(u.init(c,qU,f=>[f.__data__]),e.update()):u.init(c,c.querySelector("g:last-of-type"))}return c}function Art(e,t){let{channel:n,handler:r,selection:i}=e;if(r)return r;let o=Trt(e);return t===o_?(e.handler=new Zl(o,{selection:i,channels:[n],peers:!1}),i.addEventListener("value",()=>e.update())):e.handler=new vc(o,{selection:i,channel:n,brush:{fill:"none",stroke:"currentColor"},peers:!1}),e.handler}function Trt(e){let{channel:t,plot:n}=e,r=e.field??Ert(n.marks,t)??"value";if(r){let i={field:r};return{plot:n,channelField:o=>t===o?i:void 0}}}function Ert(e,t){let n=t==="color"?["fill","stroke"]:t==="opacity"?["opacity","fillOpacity","strokeOpacity"]:null;if(n==null)return null;for(let r=e.length-1;r>-1;--r)for(let i of n){let o=e[r].channelField(i,{exact:!0});if(o)return o.field}return null}function Drt(e,t){let{apply:n,invert:r,interpolate:i,...o}=e,s=e.type;s.startsWith("diverging-")&&(s=s.slice(11));let a;switch(s){case"log":case"pow":case"sqrt":case"symlog":a=s;break;case"threshold":case"quantize":case"quantile":return console.warn(`Legends do not yet support ${s} scales.`),null;default:a="linear"}return oc({x:{...o,type:a,range:[0,t]}})}var Nrt=new Set(["rectY-x","rectX-y","rect-x","rect-y","ruleY-x","ruleX-y"]);function s_(e,t={steps:25}){let n=(r,i)=>Nrt.has(`${r.type}-${i}`)?{[`${i}1`]:b6(r,i,e,t),[`${i}2`]:b6(r,i,e,{...t,offset:1})}:{[i]:b6(r,i,e,t)};return n[pp]=!0,n}function b6(e,t,n,r){return{column:n,label:n,get stats(){return{column:n,stats:["min","max"]}},get columns(){return[n]},get basis(){return n},toString(){let{apply:i,sqlApply:o,sqlInvert:s}=Wl(e,t),{min:a,max:c}=e.channelField(t),l=Ort(i(a),i(c),r),u=o(n),f=l.min===0?u:`(${u} - ${l.min})`,h=`${(l.max-l.min)/l.steps}::DOUBLE`,d=r.offset?`${r.offset} + `:"",p=`${l.min} + ${h} * (${d}FLOOR(${f} / ${h}))`;return`${s(p)}`}}}function Ort(e,t,n){let{steps:r=25,minstep:i=0,nice:o=!0}=n;if(o!==!1){let s=t-e,a=r,c=Math.LN10,l=Math.ceil(Math.log(a)/c),u=Math.max(i,Math.pow(10,Math.round(Math.log(s)/c)-l));for(;Math.ceil(s/u)>a;)u*=10;let f=[5,2],h;for(let m=0,y=f.length;m<y;++m)h=u/f[m],h>=i&&s/h<=a&&(u=h);h=Math.log(u);let d=h>=0?0:~~(-h/c)+1,p=Math.pow(10,-d-1);h=Math.floor(e/u+p)*u,e=e<h?h-u:h,t=Math.ceil(t/u)*u,r=Math.round((t-e)/u)}return{min:e,max:t,steps:r}}var Lrt=e=>e&&typeof e=="object"&&!Array.isArray(e);var gg=class extends hr{constructor({element:t,filterBy:n,from:r,column:i,label:o=i,format:s=f=>f,options:a,value:c,field:l=i,as:u}={}){super(n),this.from=r,this.column=i,this.format=s,this.field=l;let f=this.selection=u;this.element=t??document.createElement("div"),this.element.setAttribute("class","input"),Object.defineProperty(this.element,"value",{value:this});let h=document.createElement("label");if(h.innerText=o||i,this.element.appendChild(h),this.select=document.createElement("select"),this.element.appendChild(this.select),a&&(this.data=a.map(d=>Lrt(d)?d:{value:d}),this.selectedValue(c??""),this.update()),f){let d=!Fr(f);c!=null&&(!d||f.value===void 0)&&this.publish(c),this.select.addEventListener("input",()=>{this.publish(this.selectedValue()??null)}),d&&this.selection.addEventListener("value",p=>{p!==this.select.value&&this.selectedValue(p)})}}selectedValue(t){if(arguments.length===0){let n=this.select.selectedIndex;return this.data[n].value}else{let n=this.data?.findIndex(r=>r.value===t);n>=0?this.select.selectedIndex=n:this.select.value=String(t)}}reset(){this.select.selectedIndex=this.from?0:-1}publish(t){let{selection:n,field:r}=this;if(Fr(n)){t===""&&(t=void 0);let i=hp(r,t,{source:this});n.update(i)}else _r(n)&&n.update(t)}query(t=[]){let{from:n,column:r}=this;return n?dt.from(n).select({value:r}).distinct().where(t).orderby(r):null}queryResult(t){return this.data=[{value:"",label:"All"},...t],this}update(){let{data:t,format:n,select:r,selection:i}=this;r.replaceChildren();for(let{value:o,label:s}of t){let a=document.createElement("option");a.setAttribute("value",o),a.innerText=s??n(o),this.select.appendChild(a)}if(i){let o=Fr(i)?i.valueFor(this):i.value;this.selectedValue(o??"")}return this}};var Brt=0;var xg=class extends hr{constructor({element:t,filterBy:n,from:r,column:i,label:o,type:s="contains",field:a=i,as:c}={}){if(super(n),this.id="search_"+ ++Brt,this.type=s,this.from=r,this.column=i,this.selection=c,this.field=a,this.element=t??document.createElement("div"),this.element.setAttribute("class","input"),Object.defineProperty(this.element,"value",{value:this}),o){let l=document.createElement("label");l.setAttribute("for",this.id),l.innerText=o,this.element.appendChild(l)}this.searchbox=document.createElement("input"),this.searchbox.setAttribute("id",this.id),this.searchbox.setAttribute("type","text"),this.searchbox.setAttribute("placeholder","Query"),this.element.appendChild(this.searchbox),this.selection&&(this.searchbox.addEventListener("input",()=>{this.publish(this.searchbox.value||null)}),Fr(this.selection)||this.selection.addEventListener("value",l=>{l!==this.searchbox.value&&(this.searchbox.value=l)}))}reset(){this.searchbox.value=""}publish(t){let{selection:n,field:r,type:i}=this;if(Fr(n)){let o=uI(r,t,{source:this,method:i});n.update(o)}else _r(n)&&n.update(t)}query(t=[]){let{from:n,column:r}=this;return n?dt.from(n).select({list:r}).distinct().where(t):null}queryResult(t){return this.data=t,this}update(){let t=document.createElement("datalist"),n=`${this.id}_list`;t.setAttribute("id",n);for(let r of this.data){let i=document.createElement("option");i.setAttribute("value",r.list),t.append(i)}return this.datalist&&this.datalist.remove(),this.element.appendChild(this.datalist=t),this.searchbox.setAttribute("list",n),this}};var Crt=0;var bg=class extends hr{constructor({element:t,filterBy:n,as:r,min:i,max:o,step:s,from:a,column:c,label:l=c,value:u=r?.value,select:f="point",field:h=c,width:d}={}){if(super(n),this.id="slider_"+ ++Crt,this.from=a,this.column=c||"value",this.selection=r,this.selectionType=f,this.field=h,this.min=i,this.max=o,this.step=s,this.element=t||document.createElement("div"),this.element.setAttribute("class","input"),Object.defineProperty(this.element,"value",{value:this}),l){let p=document.createElement("label");p.setAttribute("for",this.id),p.innerText=l,this.element.appendChild(p)}this.slider=document.createElement("input"),this.slider.setAttribute("id",this.id),this.slider.setAttribute("type","range"),d!=null&&(this.slider.style.width=`${+d}px`),i!=null&&this.slider.setAttribute("min",`${i}`),o!=null&&this.slider.setAttribute("max",`${o}`),s!=null&&this.slider.setAttribute("step",`${s}`),this.element.appendChild(this.slider),this.curval=document.createElement("label"),this.curval.setAttribute("for",this.id),this.curval.setAttribute("class","value"),this.element.appendChild(this.curval),u!=null&&(this.slider.setAttribute("value",`${u}`),this.selection?.value===void 0&&this.publish(u)),this.curval.innerText=this.slider.value,this.slider.addEventListener("input",()=>{let{value:p}=this.slider;this.curval.innerText=p,this.selection&&this.publish(+p)}),this.selection&&!Fr(this.selection)&&this.selection.addEventListener("value",p=>{p!==+this.slider.value&&(this.slider.value=p,this.curval.innerText=p)})}query(t=[]){let{from:n,column:r}=this;return!n||this.min!=null&&this.max!=null?null:dt.select({min:ai(r),max:si(r)}).from(n).where(t)}queryResult(t){let{min:n,max:r}=Array.from(t)[0];return this.min==null&&(this.min=n,this.slider.setAttribute("min",`${n}`)),this.max==null&&(this.max=r,this.slider.setAttribute("max",`${r}`)),this.step==null&&(this.step=(r-n)/500,this.slider.setAttribute("step",`${this.step}`)),this}publish(t){let{field:n,selectionType:r,selection:i}=this;if(Fr(i))if(r==="interval"){let o=[this.min??0,t];i.update(Zc(n,o,{source:this,bin:"ceil",scale:{type:"identity",domain:o},pixelSize:this.step}))}else i.update(hp(n,t,{source:this}));else _r(this.selection)&&i.update(t)}};var v6=jU(e=>{let t=a_(e);return n=>n==null?"":typeof n=="number"?t(n):n instanceof Date?_6(n):`${n}`}),a_=jU(e=>t=>t===0?"0":t.toLocaleString(e)),yYt=v6(),gYt=a_();function _6(e){return Ef(e,"Invalid Date")}function jU(e){let t=null,n;return(r="en")=>r===t?n:n=e(t=r)}var krt=-1;var wg=class extends hr{constructor({element:t,filterBy:n,from:r,columns:i=["*"],align:o={},format:s,width:a,maxWidth:c,height:l=500,rowBatch:u=100}={}){super(n),this.id=`table-${++krt}`,this.from=r,this.columns=i,this.format=s,this.align=o,this.widths=typeof a=="object"?a:{},this.offset=0,this.limit=+u,this.pending=!1,this.sortHeader=null,this.sortColumn=null,this.sortDesc=!1,this.element=t||document.createElement("div"),this.element.setAttribute("id",this.id),Object.defineProperty(this.element,"value",{value:this}),typeof a=="number"&&(this.element.style.width=`${a}px`),c&&(this.element.style.maxWidth=`${c}px`),this.element.style.maxHeight=`${l}px`,this.element.style.overflow="auto";let f=-1;this.element.addEventListener("scroll",h=>{let{pending:d,loaded:p}=this,{scrollHeight:m,scrollTop:y,clientHeight:g}=h.target,x=y<f;f=y,!(x||d||p)&&m-y<2*g&&(this.pending=!0,this.requestData(this.offset+this.limit))}),this.tbl=document.createElement("table"),this.element.appendChild(this.tbl),this.head=document.createElement("thead"),this.tbl.appendChild(this.head),this.body=document.createElement("tbody"),this.tbl.appendChild(this.body),this.style=document.createElement("style"),this.element.appendChild(this.style)}requestData(t=0){this.offset=t;let n=this.query(this.filterBy?.predicate(this));this.requestQuery(n),ci().prefetch(n.clone().offset(t+this.limit))}fields(){return this.columns.map(t=>Aa(this.from,t))}fieldInfo(t){this.schema=t;let n=this.head;n.innerHTML="";let r=document.createElement("tr");for(let{column:i}of t){let o=document.createElement("th");o.addEventListener("click",s=>this.sort(s,i)),o.appendChild(document.createElement("span")),o.appendChild(document.createTextNode(i)),r.appendChild(o)}return n.appendChild(r),this.formats=Rrt(this.format,t),this.style.innerText=Prt(this.id,Frt(this.align,t),$rt(this.widths,t)),this}query(t=[]){let{from:n,limit:r,offset:i,schema:o,sortColumn:s,sortDesc:a}=this;return dt.from(n).select(o.map(c=>c.column)).where(t).orderby(s?a?W2(s):s:[]).limit(r).offset(i)}queryResult(t){return this.pending||(this.loaded=!1,this.body.replaceChildren()),this.data=t,this}update(){let{body:t,formats:n,data:r,schema:i,limit:o}=this,s=i.length,a=0;for(let c of r){++a;let l=document.createElement("tr");for(let u=0;u<s;++u){let f=c[i[u].column],h=document.createElement("td");h.innerText=f==null?"":n[u](f),l.appendChild(h)}t.appendChild(l)}return a<o&&(this.loaded=!0),this.pending=!1,this}sort(t,n){n===this.sortColumn?this.sortDesc=!this.sortDesc:(this.sortColumn=n,this.sortDesc=!1);let r=t.currentTarget,i=this.sortHeader;i===r&&t.metaKey?(i.firstChild.textContent="",this.sortHeader=null,this.sortColumn=null):(i&&(i.firstChild.textContent=""),this.sortHeader=r,r.firstChild.textContent=this.sortDesc?"\u25BE":"\u25B4"),this.requestData()}};function Rrt(e={},t,n){return t.map(({column:r,type:i})=>{if(r in e)return e[r];switch(i){case"number":return a_(n);case"date":return _6;default:return v6(n)}})}function Frt(e={},t){return t.map(({column:n,type:r})=>n in e?e[n]:r==="number"?"right":"left")}function $rt(e={},t){return t.map(({column:n})=>e[n])}function Prt(e,t,n){let r=[];return t.forEach((i,o)=>{let s=+n[o];if(i!=="left"||s){let a=i!=="left"?`text-align:${i};`:"",c=s?`width:${s}px;max-width:${s}px;`:"";r.push(`#${e} tr>:nth-child(${o+1}) {${a}${c}}`)}}),r.join(" ")}function vg(e,...t){let n=e?.context?.coordinator??ci();for(let r of t)n.connect(r)}function c_(e,t,n){let r=new t(n);return vg(e,r),r.element}function VU(e){return c_(this,gg,e)}function YU(e){return c_(this,xg,e)}function XU(e){return c_(this,bg,e)}function GU(e){return c_(this,wg,e)}function WU({direction:e="vertical",wrap:t=!1},n){let r=document.createElement("div");return r.style.display="flex",r.style.flexDirection=e==="vertical"?"column":"row",r.style.flexWrap=t?t===!0?"wrap":t:"nowrap",r.style.justifyContent="flex-start",r.style.alignItems="flex-start",n.forEach(i=>r.appendChild(i)),Object.assign(r,{value:{element:r}}),r}function HU(...e){return WU({direction:"vertical"},e.flat())}function ZU(...e){return WU({direction:"horizontal"},e.flat())}function JU({dim:e="width",size:t=10}){let n=document.createElement("span");return n.style.display="inline-block",n.style[e]=Number.isNaN(+t)?t:`${t}px`,Object.assign(n,{value:{element:n}})}function QU(e){return JU({dim:"height",size:e})}function KU(e){return JU({dim:"width",size:e})}var l_={};Tr(l_,{align:()=>F6,aspectRatio:()=>$6,axis:()=>P6,colorBase:()=>AE,colorClamp:()=>pE,colorConstant:()=>EE,colorDomain:()=>hE,colorExponent:()=>TE,colorInterpolate:()=>xE,colorLabel:()=>vE,colorN:()=>mE,colorNice:()=>yE,colorPercent:()=>_E,colorPivot:()=>bE,colorRange:()=>dE,colorReverse:()=>SE,colorScale:()=>fE,colorScheme:()=>gE,colorSymmetric:()=>wE,colorTickFormat:()=>ME,colorZero:()=>IE,facetGrid:()=>f8,facetLabel:()=>h8,facetMargin:()=>s8,facetMarginBottom:()=>c8,facetMarginLeft:()=>l8,facetMarginRight:()=>u8,facetMarginTop:()=>a8,fxAlign:()=>b8,fxAriaDescription:()=>F8,fxAriaLabel:()=>R8,fxAxis:()=>S8,fxDomain:()=>d8,fxFontVariant:()=>k8,fxGrid:()=>N8,fxInset:()=>m8,fxInsetLeft:()=>y8,fxInsetRight:()=>g8,fxLabel:()=>L8,fxLabelAnchor:()=>B8,fxLabelOffset:()=>C8,fxLine:()=>O8,fxPadding:()=>w8,fxPaddingInner:()=>v8,fxPaddingOuter:()=>_8,fxRange:()=>p8,fxReverse:()=>$8,fxRound:()=>x8,fxTickFormat:()=>E8,fxTickPadding:()=>T8,fxTickRotate:()=>D8,fxTickSize:()=>M8,fxTickSpacing:()=>A8,fxTicks:()=>I8,fyAlign:()=>Y8,fyAriaDescription:()=>lE,fyAriaLabel:()=>cE,fyAxis:()=>H8,fyDomain:()=>P8,fyFontVariant:()=>aE,fyGrid:()=>nE,fyInset:()=>z8,fyInsetBottom:()=>j8,fyInsetTop:()=>q8,fyLabel:()=>iE,fyLabelAnchor:()=>oE,fyLabelOffset:()=>sE,fyLine:()=>rE,fyPadding:()=>X8,fyPaddingInner:()=>G8,fyPaddingOuter:()=>W8,fyRange:()=>U8,fyReverse:()=>uE,fyRound:()=>V8,fyTickFormat:()=>tE,fyTickPadding:()=>K8,fyTickRotate:()=>eE,fyTickSize:()=>J8,fyTickSpacing:()=>Q8,fyTicks:()=>Z8,grid:()=>z6,height:()=>L6,inset:()=>U6,label:()=>q6,lengthBase:()=>cD,lengthClamp:()=>iD,lengthConstant:()=>uD,lengthDomain:()=>nD,lengthExponent:()=>lD,lengthNice:()=>oD,lengthPercent:()=>sD,lengthRange:()=>rD,lengthScale:()=>eD,lengthZero:()=>aD,margin:()=>E6,marginBottom:()=>R6,marginLeft:()=>B6,marginRight:()=>C6,marginTop:()=>k6,margins:()=>T6,name:()=>M6,opacityBase:()=>PE,opacityClamp:()=>LE,opacityConstant:()=>zE,opacityDomain:()=>NE,opacityExponent:()=>UE,opacityLabel:()=>CE,opacityNice:()=>BE,opacityPercent:()=>kE,opacityRange:()=>OE,opacityReverse:()=>RE,opacityScale:()=>DE,opacityTickFormat:()=>$E,opacityZero:()=>FE,padding:()=>j6,projectionClip:()=>vD,projectionDomain:()=>mD,projectionInset:()=>yD,projectionInsetBottom:()=>wD,projectionInsetLeft:()=>gD,projectionInsetRight:()=>xD,projectionInsetTop:()=>bD,projectionParallels:()=>hD,projectionPrecision:()=>dD,projectionRotate:()=>pD,projectionType:()=>fD,rBase:()=>QE,rClamp:()=>WE,rConstant:()=>tD,rDomain:()=>XE,rExponent:()=>KE,rNice:()=>HE,rPercent:()=>ZE,rRange:()=>GE,rScale:()=>YE,rZero:()=>JE,style:()=>N6,symbolDomain:()=>jE,symbolRange:()=>VE,symbolScale:()=>qE,width:()=>O6,xAlign:()=>K6,xAriaDescription:()=>x4,xAriaLabel:()=>g4,xAxis:()=>r4,xBase:()=>_4,xClamp:()=>J6,xConstant:()=>I4,xDomain:()=>Y6,xExponent:()=>S4,xFontVariant:()=>y4,xGrid:()=>u4,xInset:()=>W6,xInsetLeft:()=>H6,xInsetRight:()=>Z6,xLabel:()=>h4,xLabelAnchor:()=>d4,xLabelArrow:()=>p4,xLabelOffset:()=>m4,xLine:()=>f4,xNice:()=>G6,xPadding:()=>t4,xPaddingInner:()=>e4,xPaddingOuter:()=>n4,xPercent:()=>b4,xRange:()=>X6,xReverse:()=>w4,xRound:()=>Q6,xScale:()=>V6,xTickFormat:()=>c4,xTickPadding:()=>a4,xTickRotate:()=>l4,xTickSize:()=>o4,xTickSpacing:()=>s4,xTicks:()=>i4,xZero:()=>v4,xyDomain:()=>D6,yAlign:()=>C4,yAriaDescription:()=>K4,yAriaLabel:()=>Q4,yAxis:()=>$4,yBase:()=>r8,yClamp:()=>L4,yConstant:()=>o8,yDomain:()=>A4,yExponent:()=>i8,yFontVariant:()=>J4,yGrid:()=>Y4,yInset:()=>D4,yInsetBottom:()=>O4,yInsetTop:()=>N4,yLabel:()=>G4,yLabelAnchor:()=>W4,yLabelArrow:()=>H4,yLabelOffset:()=>Z4,yLine:()=>X4,yNice:()=>E4,yPadding:()=>k4,yPaddingInner:()=>R4,yPaddingOuter:()=>F4,yPercent:()=>t8,yRange:()=>T4,yReverse:()=>e8,yRound:()=>B4,yScale:()=>M4,yTickFormat:()=>j4,yTickPadding:()=>q4,yTickRotate:()=>V4,yTickSize:()=>U4,yTickSpacing:()=>z4,yTicks:()=>P4,yZero:()=>n8});var _g=class extends Map{request(t,n){if(this.has(t))n(this.get(t));else{let r=this.waiting||(this.waiting=new Map),i=r.get(t)||[];r.set(t,i.concat(n))}}set(t,n){this.has(t)&&console.warn(`Overwriting named plot "${t}".`);let{waiting:r}=this;return r?.has(t)&&(r.get(t).forEach(i=>i(n)),r.delete(t)),super.set(t,n)}clear(){return this.waiting?.clear(),super.clear()}},S6=new _g;function I6(e,t,n){(e?.context?.namedPlots??S6).request(t,n)}function tz(e,t,n){(e?.context?.namedPlots??S6).set(t,n)}function M6(e){return t=>tz(this,e,t)}function ez(e,t,n){_r(n)?(n.addEventListener("value",r=>{e.setAttribute(t,r),e.update()}),n.value!==void 0&&e.setAttribute(t,n.value)):e.setAttribute(t,n)}function Urt(e,t){return n=>{ez(n,e,t)}}function A6(e){return t=>{for(let[n,r]of Object.entries(e))ez(t,n,r)}}function T6(e){let{top:t,bottom:n,left:r,right:i}=e,o={};return t!==void 0&&(o.marginTop=t),n!==void 0&&(o.marginBottom=n),r!==void 0&&(o.marginLeft=r),i!==void 0&&(o.marginRight=i),A6(o)}function E6(e){return A6({marginTop:e,marginBottom:e,marginLeft:e,marginRight:e})}function D6(e){return A6({xDomain:e,yDomain:e})}var L=e=>t=>Urt(e,t),N6=L("style"),O6=L("width"),L6=L("height"),B6=L("marginLeft"),C6=L("marginRight"),k6=L("marginTop"),R6=L("marginBottom"),F6=L("align"),$6=L("aspectRatio"),P6=L("axis"),U6=L("inset"),z6=L("grid"),q6=L("label"),j6=L("padding"),V6=L("xScale"),Y6=L("xDomain"),X6=L("xRange"),G6=L("xNice"),W6=L("xInset"),H6=L("xInsetLeft"),Z6=L("xInsetRight"),J6=L("xClamp"),Q6=L("xRound"),K6=L("xAlign"),t4=L("xPadding"),e4=L("xPaddingInner"),n4=L("xPaddingOuter"),r4=L("xAxis"),i4=L("xTicks"),o4=L("xTickSize"),s4=L("xTickSpacing"),a4=L("xTickPadding"),c4=L("xTickFormat"),l4=L("xTickRotate"),u4=L("xGrid"),f4=L("xLine"),h4=L("xLabel"),d4=L("xLabelAnchor"),p4=L("xLabelArrow"),m4=L("xLabelOffset"),y4=L("xFontVariant"),g4=L("xAriaLabel"),x4=L("xAriaDescription"),b4=L("xPercent"),w4=L("xReverse"),v4=L("xZero"),_4=L("xBase"),S4=L("xExponent"),I4=L("xConstant"),M4=L("yScale"),A4=L("yDomain"),T4=L("yRange"),E4=L("yNice"),D4=L("yInset"),N4=L("yInsetTop"),O4=L("yInsetBottom"),L4=L("yClamp"),B4=L("yRound"),C4=L("yAlign"),k4=L("yPadding"),R4=L("yPaddingInner"),F4=L("yPaddingOuter"),$4=L("yAxis"),P4=L("yTicks"),U4=L("yTickSize"),z4=L("yTickSpacing"),q4=L("yTickPadding"),j4=L("yTickFormat"),V4=L("yTickRotate"),Y4=L("yGrid"),X4=L("yLine"),G4=L("yLabel"),W4=L("yLabelAnchor"),H4=L("yLabelArrow"),Z4=L("yLabelOffset"),J4=L("yFontVariant"),Q4=L("yAriaLabel"),K4=L("yAriaDescription"),t8=L("yPercent"),e8=L("yReverse"),n8=L("yZero"),r8=L("yBase"),i8=L("yExponent"),o8=L("yConstant"),s8=L("facetMargin"),a8=L("facetMarginTop"),c8=L("facetMarginBottom"),l8=L("facetMarginLeft"),u8=L("facetMarginRight"),f8=L("facetGrid"),h8=L("facetLabel"),d8=L("fxDomain"),p8=L("fxRange"),m8=L("fxInset"),y8=L("fxInsetLeft"),g8=L("fxInsetRight"),x8=L("fxRound"),b8=L("fxAlign"),w8=L("fxPadding"),v8=L("fxPaddingInner"),_8=L("fxPaddingOuter"),S8=L("fxAxis"),I8=L("fxTicks"),M8=L("fxTickSize"),A8=L("fxTickSpacing"),T8=L("fxTickPadding"),E8=L("fxTickFormat"),D8=L("fxTickRotate"),N8=L("fxGrid"),O8=L("fxLine"),L8=L("fxLabel"),B8=L("fxLabelAnchor"),C8=L("fxLabelOffset"),k8=L("fxFontVariant"),R8=L("fxAriaLabel"),F8=L("fxAriaDescription"),$8=L("fxReverse"),P8=L("fyDomain"),U8=L("fyRange"),z8=L("fyInset"),q8=L("fyInsetTop"),j8=L("fyInsetBottom"),V8=L("fyRound"),Y8=L("fyAlign"),X8=L("fyPadding"),G8=L("fyPaddingInner"),W8=L("fyPaddingOuter"),H8=L("fyAxis"),Z8=L("fyTicks"),J8=L("fyTickSize"),Q8=L("fyTickSpacing"),K8=L("fyTickPadding"),tE=L("fyTickFormat"),eE=L("fyTickRotate"),nE=L("fyGrid"),rE=L("fyLine"),iE=L("fyLabel"),oE=L("fyLabelAnchor"),sE=L("fyLabelOffset"),aE=L("fyFontVariant"),cE=L("fyAriaLabel"),lE=L("fyAriaDescription"),uE=L("fyReverse"),fE=L("colorScale"),hE=L("colorDomain"),dE=L("colorRange"),pE=L("colorClamp"),mE=L("colorN"),yE=L("colorNice"),gE=L("colorScheme"),xE=L("colorInterpolate"),bE=L("colorPivot"),wE=L("colorSymmetric"),vE=L("colorLabel"),_E=L("colorPercent"),SE=L("colorReverse"),IE=L("colorZero"),ME=L("colorTickFormat"),AE=L("colorBase"),TE=L("colorExponent"),EE=L("colorConstant"),DE=L("opacityScale"),NE=L("opacityDomain"),OE=L("opacityRange"),LE=L("opacityClamp"),BE=L("opacityNice"),CE=L("opacityLabel"),kE=L("opacityPercent"),RE=L("opacityReverse"),FE=L("opacityZero"),$E=L("opacityTickFormat"),PE=L("opacityBase"),UE=L("opacityExponent"),zE=L("opacityConstant"),qE=L("symbolScale"),jE=L("symbolDomain"),VE=L("symbolRange"),YE=L("rScale"),XE=L("rDomain"),GE=L("rRange"),WE=L("rClamp"),HE=L("rNice"),ZE=L("rPercent"),JE=L("rZero"),QE=L("rBase"),KE=L("rExponent"),tD=L("rConstant"),eD=L("lengthScale"),nD=L("lengthDomain"),rD=L("lengthRange"),iD=L("lengthClamp"),oD=L("lengthNice"),sD=L("lengthPercent"),aD=L("lengthZero"),cD=L("lengthBase"),lD=L("lengthExponent"),uD=L("lengthConstant"),fD=L("projectionType"),hD=L("projectionParallels"),dD=L("projectionPrecision"),pD=L("projectionRotate"),mD=L("projectionDomain"),yD=L("projectionInset"),gD=L("projectionInsetLeft"),xD=L("projectionInsetRight"),bD=L("projectionInsetTop"),wD=L("projectionInsetBottom"),vD=L("projectionClip");function nz(e,t){return{table:e,options:t}}var f_={};Tr(f_,{area:()=>_D,areaX:()=>SD,areaY:()=>ID,arrow:()=>gN,axisFx:()=>_N,axisFy:()=>SN,axisX:()=>wN,axisY:()=>vN,barX:()=>ED,barY:()=>DD,cell:()=>ND,cellX:()=>OD,cellY:()=>LD,circle:()=>PD,contour:()=>rN,delaunayLink:()=>pN,delaunayMesh:()=>mN,denseLine:()=>nN,density:()=>eN,densityX:()=>KD,densityY:()=>tN,dot:()=>RD,dotX:()=>FD,dotY:()=>$D,errorbarX:()=>uN,errorbarY:()=>fN,frame:()=>bN,geo:()=>EN,graticule:()=>NN,gridFx:()=>AN,gridFy:()=>TN,gridX:()=>IN,gridY:()=>MN,heatmap:()=>iN,hexagon:()=>UD,hexbin:()=>aN,hexgrid:()=>cN,hull:()=>yN,image:()=>QD,line:()=>MD,lineX:()=>AD,lineY:()=>TD,link:()=>xN,raster:()=>oN,rasterTile:()=>sN,rect:()=>BD,rectX:()=>CD,rectY:()=>kD,regressionY:()=>lN,ruleX:()=>VD,ruleY:()=>YD,sphere:()=>DN,spike:()=>JD,text:()=>zD,textX:()=>qD,textY:()=>jD,tickX:()=>XD,tickY:()=>GD,vector:()=>WD,vectorX:()=>HD,vectorY:()=>ZD,voronoi:()=>hN,voronoiMesh:()=>dN});var zrt=new Set(["frame","axisX","axisY","axisFx","axisFy","gridX","gridY","gridFx","gridFy","hexgrid","graticule","sphere"]);function At(e,t,n={}){arguments.length===2&&!Array.isArray(t)&&(n=t,t=zrt.has(e)?null:[{}]);let r=e.startsWith("area")||e.startsWith("line")?tg:ln;return u_(r,e,t,n)}function u_(e,t,n,r){return i=>{i.addMark(new e(t,n,r))}}function is(e,t,n){return r=>{r.addMark(new e(t,n))}}var _D=(...e)=>At("area",...e),SD=(...e)=>At("areaX",...e),ID=(...e)=>At("areaY",...e),MD=(...e)=>At("line",...e),AD=(...e)=>At("lineX",...e),TD=(...e)=>At("lineY",...e),ED=(...e)=>At("barX",...e),DD=(...e)=>At("barY",...e),ND=(...e)=>At("cell",...e),OD=(...e)=>At("cellX",...e),LD=(...e)=>At("cellY",...e),BD=(...e)=>At("rect",...e),CD=(...e)=>At("rectX",...e),kD=(...e)=>At("rectY",...e),RD=(...e)=>At("dot",...e),FD=(...e)=>At("dotX",...e),$D=(...e)=>At("dotY",...e),PD=(...e)=>At("circle",...e),UD=(...e)=>At("hexagon",...e),zD=(...e)=>At("text",...e),qD=(...e)=>At("textX",...e),jD=(...e)=>At("textY",...e),VD=(...e)=>At("ruleX",...e),YD=(...e)=>At("ruleY",...e),XD=(...e)=>At("tickX",...e),GD=(...e)=>At("tickY",...e),WD=(...e)=>At("vector",...e),HD=(...e)=>At("vectoX",...e),ZD=(...e)=>At("vectorY",...e),JD=(...e)=>At("spike",...e),QD=(...e)=>At("image",...e),KD=(...e)=>u_(Sh,"areaX",...e),tN=(...e)=>u_(Sh,"areaY",...e),eN=(...e)=>is(ag,...e),nN=(...e)=>is(sg,...e),rN=(...e)=>is(rg,...e),iN=(...e)=>is(og,...e),oN=(...e)=>is(wc,...e),sN=(...e)=>is(ug,...e),aN=(...e)=>is(lg,...e),cN=(...e)=>At("hexgrid",...e),lN=(...e)=>is(fg,...e),uN=(...e)=>u_(Mh,"ruleY",...e),fN=(...e)=>is(Mh,"ruleX",...e),hN=(...e)=>At("voronoi",...e),dN=(...e)=>At("voronoiMesh",...e),pN=(...e)=>At("delaunayLink",...e),mN=(...e)=>At("delaunayMesh",...e),yN=(...e)=>At("hull",...e),gN=(...e)=>At("arrow",...e),xN=(...e)=>At("link",...e),bN=(...e)=>At("frame",...e),wN=(...e)=>At("axisX",...e),vN=(...e)=>At("axisY",...e),_N=(...e)=>At("axisFx",...e),SN=(...e)=>At("axisFy",...e),IN=(...e)=>At("gridX",...e),MN=(...e)=>At("gridY",...e),AN=(...e)=>At("gridFx",...e),TN=(...e)=>At("gridFy",...e),EN=(...e)=>is(cg,...e),DN=(...e)=>At("sphere",...e),NN=(...e)=>At("graticule",...e);var h_={};Tr(h_,{highlight:()=>ON,intervalX:()=>PN,intervalXY:()=>zN,intervalY:()=>UN,nearest:()=>RN,nearestX:()=>FN,nearestY:()=>$N,pan:()=>qN,panX:()=>jN,panY:()=>VN,panZoom:()=>YN,panZoomX:()=>XN,panZoomY:()=>GN,toggle:()=>Jl,toggleColor:()=>kN,toggleX:()=>LN,toggleY:()=>BN,toggleZ:()=>CN});function ha(e,t){return n=>{let r=n.marks[n.marks.length-1];n.addInteractor(new e(r,t))}}function ON({by:e,...t}){return ha(hg,{selection:e,channels:t})}function Jl({as:e,...t}){return ha(Zl,{...t,selection:e})}function LN(e){return Jl({...e,channels:["x"]})}function BN(e){return Jl({...e,channels:["y"]})}function CN(e){return Jl({...e,channels:["z"]})}function kN(e){return Jl({...e,channels:["color"]})}function RN({as:e,...t}){return ha(Hl,{...t,selection:e,pointer:"xy"})}function FN({as:e,...t}){return ha(Hl,{...t,selection:e,pointer:"x"})}function $N({as:e,...t}){return ha(Hl,{...t,selection:e,pointer:"y"})}function PN({as:e,...t}){return ha(vc,{...t,selection:e,channel:"x"})}function UN({as:e,...t}){return ha(vc,{...t,selection:e,channel:"y"})}function zN({as:e,...t}){return ha(mg,{...t,selection:e})}function Eh(e){return ha(yg,e)}function qN(e={}){return Eh({...e,zoom:!1})}function jN(e={}){return Eh({...e,zoom:!1,pany:!1})}function VN(e={}){return Eh({...e,zoom:!1,panx:!1})}function YN(e={}){return Eh(e)}function XN(e={}){return Eh({...e,pany:!1})}function GN(e={}){return Eh({...e,panx:!1})}var d_={};Tr(d_,{colorLegend:()=>HN,opacityLegend:()=>ZN,symbolLegend:()=>JN});function WN(e,t={}){if(t.for){let{for:n,...r}=t,i=new Th(e,r),o=typeof n,s=a=>a.addLegend(i,!1);return o==="string"?I6(this,n,s):n.value&&s(n.value),i.element}else return n=>n.addLegend(new Th(e,t))}function HN(e){return WN.call(this,"color",e)}function ZN(e){return WN.call(this,"opacity",e)}function JN(e){return WN.call(this,"symbol",e)}function rz(...e){let t=new Qy;return e.flat().forEach(n=>n(t)),vg(this,...t.marks),t.update(),t.element}function KN({coordinator:e=ci(),namedPlots:t=new _g,extensions:n=null,...r}={}){return{...QN,...n,context:{coordinator:e,namedPlots:t,...r}}}var iz="spec",p_="literal",xXt="dataref",oz="options",sz="selection",az="paramref",cz="param",tO="select",m_="value",lz="crossfilter",y_="intersect",uz="union",fz="single",hz="data",dz="expression",_c="sql",da="agg",Sg="input",Dh="hconcat",Nh="vconcat",Oh="hspace",Lh="vspace",g_="mark",eO="from",Bh="plot",Ig="legend",pz="attribute",mz="transform",yz="interactor",Mg="Fixed";var Pt=class{constructor(t,n=null){this.type=t,this.children=n}instantiate(t){throw Error("instantiate not implemented")}codegen(t){return Error("codegen not implemented")}toJSON(){return Error("toJSON not implemented")}};var Ag=class extends Pt{constructor(t,n,r,i,o,s){super(iz,[t]),this.root=t,this.meta=n,this.config=r,this.data=i,this.params=o,this.plotDefaults=s}toJSON(){let{root:t,meta:n,config:r,plotDefaults:i}=this,o=new Map(Object.entries(this.data)),s=new Map(Object.entries(this.params)),a={};if(n&&(a.meta={...n}),r&&(a.config={...r}),o?.size){let c=a.data={};for(let[l,u]of o)c[l]=u.toJSON()}if(s?.size){let c=a.params={};for(let[l,u]of s)c[l]=u.toJSON()}if(i?.length){let c=a.plotDefaults={};for(let l of i)Object.assign(c,l.toJSON())}return Object.assign(a,t.toJSON())}};function gz(e){let t=typeof e;return t==="object"?e?.param:t==="string"?qrt(e):null}function qrt(e){return e?.[0]==="$"?e.slice(1):null}function Tg(e){return`$${e}`}function x_(e){return[e].flat()}function Si(e){return Array.isArray(e)}function Ch(e){return e!==null&&typeof e=="object"&&!Si(e)}function Sc(e){return typeof e=="string"}function kh(e,t){throw Object.assign(Error(e),{data:t})}var jrt=/^(?:[-+]\d{2})?\d{4}(?:-\d{2}(?:-\d{2})?)?(?:T\d{2}:\d{2}(?::\d{2}(?:\.\d{3})?)?(?:Z|[-+]\d{2}:?\d{2})?)?$/;function xz(e,t){return jrt.test(e+="")?new Date(e):t}function Mr(e,t){let n={};for(let r in e)n[r]=t.maybeSelection(e[r]);return new Rh(n)}var Rh=class e extends Pt{constructor(t){super(oz),this.options=t}filter(t){let n=Object.fromEntries(Object.entries(this.options).filter(([r,i])=>t(r,i)));return new e(n)}instantiate(t){let{options:n}=this,r={};for(let i in n)r[i]=n[i].instantiate(t);return r}codegen(t){let{options:n}=this,r=[];for(let i in n)r.push(`${i}: ${n[i].codegen(t)}`);return r.length?`{${t.maybeLineWrap(r)}}`:""}toJSON(){let{options:t}=this,n={};for(let r in t)n[r]=t[r].toJSON();return n}};var vz="table",_z="parquet",Sz="csv",nO="json",A_="spatial",bz=new Map([[vz,Grt],[_z,Wrt],[Sz,Hrt],[nO,Zrt],[A_,Jrt]]);function Iz(e,t,n){let r=Vrt(t);if(bz.has(r.type))return bz.get(r.type)(e,r,n);n.error("Unrecognized data format type.",t)}function Vrt(e){return Si(e)&&(e={type:"json",data:e}),Sc(e)&&(e={type:"table",query:e}),{...e,type:Yrt(e)}}function Yrt(e){return e.type||Xrt(e.file)||"table"}function Xrt(e){let t=e?.lastIndexOf(".");return t>0?e.slice(t+1):null}function Grt(e,t,n){let{query:r,type:i,...o}=t;return new w_(e,r,Mr(o,n))}function Wrt(e,t,n){let{file:r,type:i,...o}=t;return new __(e,r,Mr(o,n))}function Hrt(e,t,n){let{file:r,type:i,...o}=t;return new S_(e,r,Mr(o,n))}function Zrt(e,t,n){let{data:r,file:i,type:o,...s}=t,a=Mr(s,n);return r?new M_(e,r,a):new I_(e,i,a)}function Jrt(e,t,n){let{file:r,type:i,...o}=t;return new v_(e,r,Mr(o,n))}function wz(e,t){return t?new URL(e,t).toString():e}function Qrt(e,t){let n=e?.codegen(t);return n?`, ${n}`:""}var b_=class extends Pt{constructor(t,n){super(hz),this.name=t,this.format=n}},Fh=class extends b_{constructor(t,n){super(t,n)}instantiateQuery(t){t.error("instantiateQuery not implemented")}codegenQuery(t){t.error("codegenQuery not implemented")}instantiate(t){let n=this.instantiateQuery(t);if(n)return n}codegen(t){let n=this.codegenQuery(t);if(n)return n}},w_=class extends Fh{constructor(t,n,r){super(t,vz),this.query=n?.trim(),this.options=r}instantiateQuery(t){let{name:n,query:r,options:i}=this;if(r)return t.api.create(n,r,i.instantiate(t))}codegenQuery(t){let{name:n,query:r,options:i}=this;if(r)return`\`${vo(n,r,i.instantiate(t))}\``}toJSON(){let{format:t,query:n,options:r}=this;return{type:t,query:n,...r.toJSON()}}},Ql=class extends Fh{constructor(t,n,r,i,o){super(t,n),this.file=i,this.method=r,this.options=o}instantiateQuery(t){let{name:n,method:r,file:i,options:o}=this,s=wz(i,t.baseURL),a=o?.instantiate(t);return t.api[r](n,s,a)}codegenQuery(t){let{name:n,method:r,file:i,options:o}=this,s=wz(i,t.baseURL),a=Qrt(o,t);return`${t.ns()}${r}("${n}", "${s}"${a})`}toJSON(){let{format:t,file:n,options:r}=this;return{type:t,file:n,...r.toJSON()}}},v_=class extends Ql{constructor(t,n,r){super(t,A_,"loadSpatial",n,r)}},__=class extends Ql{constructor(t,n,r){super(t,_z,"loadParquet",n,r)}},S_=class extends Ql{constructor(t,n,r){super(t,Sz,"loadCSV",n,r)}},I_=class extends Ql{constructor(t,n,r){super(t,nO,"loadJSON",n,r)}},M_=class extends Fh{constructor(t,n,r){super(t,nO),this.data=n,this.options=r}instantiateQuery(t){let{name:n,data:r,options:i}=this;return t.api.loadObjects(n,r,i.instantiate(t))}codegenQuery(t){let{name:n,data:r,options:i}=this,o=i?","+i.codegen(t):"",s=`[
|
|
70
70
|
`+r.map(a=>JSON.stringify(a)).join(`,
|
|
71
71
|
`)+`
|
|
72
|
-
]`;return`${t.ns()}loadObjects("${n}", ${s}${o})`}toJSON(){let{format:t,data:n,options:r}=this;return{type:t,data:n,...r.toJSON()}}};function
|
|
73
|
-
`)),
|
|
74
|
-
`),"];"]);let
|
|
75
|
-
`)}var
|
|
72
|
+
]`;return`${t.ns()}loadObjects("${n}", ${s}${o})`}toJSON(){let{format:t,data:n,options:r}=this;return{type:t,data:n,...r.toJSON()}}};function T_(e){let t=e.config?.extensions,n=new Set(t?x_(t):[]);for(let r of Object.values(e.data))r.format===A_&&n.add("spatial");return n}async function Krt(e,t){let{data:n,params:r,plotDefaults:i}=e,o=new E_({plotDefaults:i,...t}),s=[],a=T_(e);s.push(...Array.from(a).map(c=>ap(c)));for(let c of Object.values(n)){let l=c.instantiate(o);l&&s.push(l)}s.length>0&&await o.coordinator.exec(s);for(let[c,l]of Object.entries(r))if(!o.activeParams.has(c)){let u=l.instantiate(o);o.activeParams.set(c,u)}return{element:e.root.instantiate(o),params:o.activeParams}}var E_=class{constructor({api:t=KN(),plotDefaults:n=[],params:r=new Map,baseURL:i=null}={}){this.api=t,this.plotDefaults=n,this.activeParams=r,this.baseURL=i,this.coordinator=t.context.coordinator}error(t,n){kh(t,n)}};function tit(e,t={}){let{root:n,data:r,params:i,plotDefaults:o}=e,{preamble:s,...a}=t,c=new D_({plotDefaults:o,...a}),l=[];for(let[x,b]of c.imports)l.push(Sc(b)?`import ${b} from "${x}";`:`import { ${b.join(", ")} } from "${x}";`);let u=s?x_(s).map(x=>`${c.tab()}${x}`):[],f=[];if(c.connector){let x=`${c.ns()}${c.connector}Connector()`;f.push(`${c.tab()}${c.ns()}coordinator().databaseConnector(${x});`)}let h=[];for(let x of T_(e))h.push(`${c.ns()}loadExtension("${x}")`);for(let x of Object.values(r)){let b=x.codegen(c);b&&h.push(b)}let d=[];h.length&&(d.push(`${c.tab()}await ${c.ns()}coordinator().exec([`),c.indent(),d.push(h.map(x=>`${c.tab()}${x}`).join(`,
|
|
73
|
+
`)),c.undent(),d.push(`${c.tab()}]);`));let p=[];for(let[x,b]of Object.entries(i))p.push(`const ${Tg(x)} = ${b.codegen(c)};`);let m=[],y=o;y.length&&(m=["const defaultAttributes = [",y.map(x=>" "+x.codegen(c)).join(`,
|
|
74
|
+
`),"];"]);let g=[`export default ${n.codegen(c)};`];return[...l,...$h(l),...u,...$h(u),...f,...$h(f),...d,...$h(d),...p,...$h(p),...m,...$h(m),...g].join(`
|
|
75
|
+
`)}var D_=class{constructor({plotDefaults:t=void 0,namespace:n="vg",connector:r=void 0,imports:i=new Map([["@uwdata/vgplot","* as vg"]]),baseURL:o=void 0,depth:s=0}={}){this.plotDefaults=t,this.namespace=`${n}.`,this.connector=r,this.imports=i,this.baseURL=o,this.depth=s}addImport(t,n){this.imports.has(t)?this.imports.get(t).push(n):this.imports.set(t,[n])}setImports(t,n){this.imports.set(t,n)}ns(){return this.namespace}indent(){this.depth+=1}undent(){this.depth-=1}tab(){return Array.from({length:this.depth},()=>" ").join("")}stringify(t){if(Si(t)){let n=t.map(r=>this.stringify(r));return`[${this.maybeLineWrap(n)}]`}else if(Ch(t)){let n=Object.entries(t).map(([r,i])=>`${eit(r)}: ${this.stringify(i)}`);return`{${this.maybeLineWrap(n)}}`}else return JSON.stringify(t)}maybeLineWrap(t){let n=80-2*this.depth;if(2*t.length+t.reduce((i,o)=>i+o.length,0)>n){this.indent();let i=t.map(o=>`
|
|
76
76
|
${this.tab()}${o}`).join(",");return this.undent(),i+`
|
|
77
|
-
`+this.tab()}else return t.join(", ")}error(t,n){
|
|
77
|
+
`+this.tab()}else return t.join(", ")}error(t,n){kh(t,n)}};function eit(e){return/^[A-Za-z_$]\w*/.test(e)?e:JSON.stringify(e)}function $h(e){return e?.length?[""]:[]}var Kl=class extends Pt{constructor(t){super(p_),this.value=t}instantiate(){return this.value}codegen(t){return t.stringify(this.value)}toJSON(){return this.value}};var tu=class extends Pt{constructor(t=y_,n){super(sz),this.select=t,this.cross=n}instantiate(t){let{select:n,cross:r}=this;return t.api.Selection[n]({cross:r})}codegen(t){let{select:n,cross:r}=this,i=r!=null?`{ cross: ${r} }`:"";return`${t.ns()}Selection.${n}(${i})`}toJSON(){let{select:t,cross:n}=this;return{select:t,cross:n}}};var nit=new Set([m_,fz,lz,y_,uz]);function Mz(e,t){let n=Ch(e)?e:{value:e},{select:r=m_,cross:i,date:o,value:s}=n;return nit.has(r)||t.error(`Unrecognized param type: ${r}`,n),r!==m_?new tu(r,i):Si(s)?new eu(s.map(a=>t.maybeParam(a))):new eu(s,o)}var eu=class extends Pt{constructor(t,n){super(cz),this.value=t,this.date=n}instantiate(t){let{date:n,value:r}=this,{Param:i}=t.api;return Si(r)?i.array(r.map(o=>o.instantiate(t))):i.value(xz(n,r))}codegen(t){let{value:n,date:r}=this,i=`${t.ns()}Param.`;return Si(n)?`${i}array([${n.map(o=>o.codegen(t)).join(", ")}])`:r?`${i}value(new Date(${JSON.stringify(r)}))`:`${i}value(${JSON.stringify(n)})`}toJSON(){let{date:t,value:n}=this;return Si(n)?n.map(r=>r.toJSON()):t?{date:t}:n}};var Eg=class extends Pt{constructor(t){super(az),this.name=t}instantiate(t){return t.activeParams?.get(this.name)}codegen(){return Tg(this.name)}toJSON(){return Tg(this.name)}};function L_(e,t,n){return n.plot?.attributes?.has(e)||n.error(`Unrecognized attribute: ${e}`),new N_(e,t===Mg?new O_:n.maybeParam(t))}var N_=class extends Pt{constructor(t,n){super(pz),this.name=t,this.value=n}instantiate(t){let{name:n,value:r}=this;return t.api[n](r.instantiate(t))}codegen(t){let{name:n,value:r}=this;return`${t.tab()}${t.ns()}${n}(${r.codegen(t)})`}toJSON(){let{name:t,value:n}=this;return{[t]:n.toJSON()}}},O_=class extends Pt{constructor(){super(p_),this.value=Mg}instantiate(t){return t.api[Mg]}codegen(t){return`${t.ns()}${Mg}`}toJSON(){return this.value}};function Az(e,t){let n=e[Dh].map(r=>t.parseComponent(r));return new B_(n)}var B_=class extends Pt{constructor(t){super(Dh,t)}instantiate(t){return t.api[Dh](this.children.map(n=>n.instantiate(t)))}codegen(t){t.indent();let n=this.children.map(r=>r.codegen(t));return t.undent(),`${t.tab()}${t.ns()}${this.type}(
|
|
78
78
|
${n.join(`,
|
|
79
79
|
`)}
|
|
80
|
-
${t.tab()})`}toJSON(){return{[this.type]:this.children.map(t=>t.toJSON())}}};function
|
|
80
|
+
${t.tab()})`}toJSON(){return{[this.type]:this.children.map(t=>t.toJSON())}}};function Tz(e){return new C_(e[Oh])}var C_=class extends Pt{constructor(t){super(Oh),this.value=t}instantiate(t){return t.api[Oh](this.value)}codegen(t){return`${t.tab()}${t.ns()}${this.type}(${t.stringify(this.value)})`}toJSON(){return{[this.type]:this.value}}};function Ez(e,t){let{[Sg]:n,...r}=e;return t.inputs?.has(n)||t.error(`Unrecognized input type: ${n}`,e),new k_(n,Mr(r,t))}var k_=class extends Pt{constructor(t,n){super(Sg),this.name=t,this.options=n}instantiate(t){return t.api[this.name](this.options.instantiate(t))}codegen(t){let n=this.options.codegen(t);return`${t.tab()}${t.ns()}${this.name}(${n})`}toJSON(){let{type:t,name:n,options:r}=this;return{[t]:n,...r.toJSON()}}};function F_(e,t){let{[Ig]:n,...r}=e,i=`${n}Legend`;return t.plot?.legends?.has(i)||t.error(`Unrecognized legend type: ${n}`,e),new R_(i,n,Mr(r,t))}var R_=class extends Pt{constructor(t,n,r){super(Ig),this.key=t,this.name=n,this.options=r}instantiate(t){return t.api[this.key](this.options.instantiate(t))}codegen(t){let n=this.options.codegen(t);return`${t.tab()}${t.ns()}${this.key}(${n})`}toJSON(){let{type:t,name:n,options:r}=this;return{[t]:n,...r.toJSON()}}};function Dz(e,t){let{[tO]:n,...r}=e;return t.plot?.interactors?.has(n)||t.error(`Unrecognized interactor type: ${n}`,e),new $_(n,Mr(r,t))}var $_=class extends Pt{constructor(t,n){super(yz),this.name=t,this.options=n}instantiate(t){return t.api[this.name](this.options.instantiate(t))}codegen(t){let n=this.options.codegen(t);return`${t.tab()}${t.ns()}${this.name}(${n})`}toJSON(){let{name:t,options:n}=this;return{[tO]:t,...n.toJSON()}}};function Nz(e,t){let{label:n}=e,r=e[_c]?_c:e[da]?da:t.error("Unrecognized expression type",e),i=e[r],o=i.split(/(\\'|\\"|"(?:\\"|[^"])*"|'(?:\\'|[^'])*'|\$\w+)/g),s=[""],a=[];for(let c=0,l=0;c<o.length;++c){let u=o[c];u.startsWith("$")?(a[l]=t.maybeParam(u),s[++l]=""):s[l]+=u}return new P_(i,s,a,n,r===da)}var P_=class extends Pt{constructor(t,n,r,i,o){super(dz),this.value=t,this.spans=n,this.params=r,this.label=i,this.aggregate=o}instantiate(t){let{spans:n,params:r,label:i,aggregate:o}=this,s=t.api[o?da:_c],a=r.map(c=>c.instantiate(t));return s(n,...a).annotate({label:i})}codegen(t){let{spans:n,params:r,label:i,aggregate:o}=this,s=o?da:_c,a="",c=r.length;for(let l=0;l<c;++l)a+=n[l]+"${"+r[l].codegen(t)+"}";return a+=n[c],`${t.ns()}${s}\`${a}\``+(i?`.annotate({ label: ${JSON.stringify(i)} })`:"")}toJSON(){return{[this.aggregate?da:_c]:this.value}}};function Oz(e,t){if(!e)return null;if(Si(e))return new Kl(e);let{from:n,...r}=e;return new U_(n,Mr(r,t))}var U_=class extends Pt{constructor(t,n){super(eO),this.table=t,this.options=n}instantiate(t){let{table:n,options:r}=this;return t.api[eO](n,r.instantiate(t))}codegen(t){let{type:n,table:r,options:i}=this,o=i.codegen(t);return`${t.ns()}${n}("${r}"${o?", "+o:""})`}toJSON(){let{type:t,table:n,options:r}=this;return{[t]:n,...r.toJSON()}}};function rO(e){return e==null?[]:[e].flat()}function Lz(e,t){let n;for(let o in e)t.transforms.has(o)&&(n=o);if(!n)return;let r=n==="count"||n==null?[]:rO(e[n]),i={distinct:e.distinct,orderby:rO(e.orderby).map(o=>t.maybeParam(o)),partitionby:rO(e.partitionby).map(o=>t.maybeParam(o)),rows:e.rows?t.maybeParam(e.rows):null,range:e.range?t.maybeParam(e.range):null};return new z_(n,r,i)}var z_=class extends Pt{constructor(t,n,r){super(mz),this.name=t,this.args=n,this.options=r}instantiate(t){let{name:n,args:r,options:i}=this,{distinct:o,orderby:s,partitionby:a,rows:c,range:l}=i,u=t.api[n](...r);return o&&(u=u.distinct()),s.length&&(u=u.orderby(s.map(f=>f.instantiate(t)))),a.length&&(u=u.partitionby(a.map(f=>f.instantiate(t)))),c!=null?u=u.rows(c.instantiate(t)):l!=null&&(u=u.range(l.instantiate(t))),u}codegen(t){let{name:n,args:r,options:i}=this,{distinct:o,orderby:s,partitionby:a,rows:c,range:l}=i,u=`${t.ns()}${n}(`+r.map(f=>JSON.stringify(f)).join(", ")+")";if(o&&(u+=".distinct()"),s.length){let f=s.map(h=>h.codegen(t));u+=`.orderby(${f.join(", ")})`}if(a.length){let f=a.map(h=>h.codegen(t));u+=`.partitionby(${f.join(", ")})`}return c?u+=`.rows(${c.codegen(t)})`:l&&(u+=`.range(${l.codegen(t)})`),u}toJSON(){let{name:t,args:n,options:r}=this,{distinct:i,orderby:o,partitionby:s,rows:a,range:c}=r,l={[t]:iO(n)};return i&&(l.distinct=!0),o.length&&(l.orderby=iO(o.map(u=>u.toJSON()))),s.length&&(l.partitionby=iO(s.map(u=>u.toJSON()))),a?l.rows=a.toJSON():c&&(l.range=c.toJSON()),l}};function iO(e){return e.length===0?"":e.length===1?e[0]:e}function rit(e,t){if(Ch(e))return e[_c]||e[da]?Nz(e,t):Lz(e,t)}function Bz(e,t){let{mark:n,data:r,...i}=e;t.plot?.marks?.has(n)||t.error(`Unrecognized mark type: ${n}`,e);let o=Oz(r,t),s={};for(let a in i){let c=i[a];s[a]=rit(c,t)||t.maybeParam(c)}return new q_(n,o,new Rh(s))}var q_=class extends Pt{constructor(t,n,r){super(g_),this.name=t,this.data=n,this.options=r}instantiate(t){let{name:n,data:r,options:i}=this,o=i.instantiate(t);return r?t.api[n](r.instantiate(t),o):t.api[n](o)}codegen(t){let{name:n,data:r,options:i}=this,o=r?r.codegen(t):"",s=i.codegen(t),a;if(o&&s){t.indent();let c=i.codegen(t);a=`
|
|
81
81
|
${t.tab()}${o},
|
|
82
82
|
${t.tab()}${c}
|
|
83
|
-
`,t.undent(),a+=t.tab()}else a=`${o}${s}`;return`${t.tab()}${t.ns()}${n}(${a})`}toJSON(){let{type:t,name:n,data:r,options:i}=this;return{[t]:n,...r?{data:r.toJSON()}:{},...i.toJSON()}}};function
|
|
83
|
+
`,t.undent(),a+=t.tab()}else a=`${o}${s}`;return`${t.tab()}${t.ns()}${n}(${a})`}toJSON(){let{type:t,name:n,data:r,options:i}=this;return{[t]:n,...r?{data:r.toJSON()}:{},...i.toJSON()}}};function Cz(e,t){return oO({plot:[e]},t)}function oO(e,t){let{[Bh]:n,...r}=e,i=Object.entries(r).map(([s,a])=>L_(s,a,t)),o=n.map(s=>Sc(s.mark)?Bz(s,t):Sc(s.legend)?F_(s,t):Sc(s.select)?Dz(s,t):t.error("Invalid plot entry.",s));return new j_(o,i)}var j_=class extends Pt{constructor(t,n){super(Bh,t),this.attributes=n}instantiate(t){let n=[...t.plotDefaults||[],...this.attributes||[]];return t.api[Bh](this.children.map(r=>r.instantiate(t)),n.map(r=>r.instantiate(t)))}codegen(t){let{type:n,children:r,attributes:i}=this;t.indent();let o=[...r.map(s=>s.codegen(t)),...t.plotDefaults?.length?[`${t.tab()}...defaultAttributes`]:[],...i.map(s=>s.codegen(t))].join(`,
|
|
84
84
|
`);return t.undent(),`${t.tab()}${t.ns()}${n}(
|
|
85
85
|
${o}
|
|
86
|
-
${t.tab()})`}toJSON(){let{type:t,children:n,attributes:r}=this,i={[t]:n.map(o=>o.toJSON())};for(let o of r)Object.assign(i,o.toJSON());return i}};function
|
|
86
|
+
${t.tab()})`}toJSON(){let{type:t,children:n,attributes:r}=this,i={[t]:n.map(o=>o.toJSON())};for(let o of r)Object.assign(i,o.toJSON());return i}};function kz(e,t){let n=e[Nh].map(r=>t.parseComponent(r));return new V_(n)}var V_=class extends Pt{constructor(t){super(Nh,t)}instantiate(t){return t.api[Nh](this.children.map(n=>n.instantiate(t)))}codegen(t){t.indent();let n=this.children.map(r=>r.codegen(t));return t.undent(),`${t.tab()}${t.ns()}${this.type}(
|
|
87
87
|
${n.join(`,
|
|
88
88
|
`)}
|
|
89
|
-
${t.tab()})`}toJSON(){return{[this.type]:this.children.map(t=>t.toJSON())}}};function
|
|
89
|
+
${t.tab()})`}toJSON(){return{[this.type]:this.children.map(t=>t.toJSON())}}};function Rz(e){return new Y_(e[Lh])}var Y_=class extends Pt{constructor(t){super(Lh),this.value=t}instantiate(t){return t.api[Lh](this.value)}codegen(t){return`${t.tab()}${t.ns()}${this.type}(${t.stringify(this.value)})`}toJSON(){return{[this.type]:this.value}}};function Fz(e=[]){return new Map([[Bh,oO],[g_,Cz],[Ig,F_],[Sg,Ez],[Dh,Az],[Nh,kz],[Oh,Tz],[Lh,Rz],...e])}function $z(e=[]){return new Set(["menu","search","slider","table",...e])}function Pz({attributes:e=iit(),interactors:t=oit(),legends:n=sit(),marks:r=ait()}={}){return{attributes:e,interactors:t,legends:n,marks:r}}function iit(e=[]){return new Set([...Object.keys(l_),...e])}function oit(e=[]){return new Set([...Object.keys(h_),...e])}function sit(e=[]){return new Set([...Object.keys(d_),...e])}function ait(e=[]){return new Set([...Object.keys(f_),...e])}function Uz(e=[]){return new Set(["argmin","argmax","avg","bin","centroid","centroidX","centroidY","count","covariance","covarPop","dateMonth","dateMonthDay","dateDay","first","geojson","last","max","median","min","mode","product","quantile","stddev","stddevPop","sum","variance","varPop","row_number","rank","dense_rank","percent_rank","cume_dist","ntile","lag","lead","first_value","last_value","nth_value",...e])}function cit(e,t){return new sO(t).parse(e)}var sO=class{constructor({components:t=Fz(),transforms:n=Uz(),inputs:r=$z(),plot:i=Pz(),params:o=[],datasets:s=[]}={}){this.components=t,this.transforms=n,this.inputs=r,this.plot=i,this.params=new Map(o),this.datasets=new Map(s)}parse(t){let{meta:n,config:r,data:i={},params:o,plotDefaults:s={},...a}=t;for(let c in i)this.datasets.set(c,Iz(c,i[c],this));this.plotDefaults=Object.entries(s).map(([c,l])=>L_(c,l,this));for(let c in o)this.params.set(c,Mz(o[c],this));return new Ag(this.parseComponent(a),n?{...n}:void 0,r?{...r}:void 0,Object.fromEntries(this.datasets),Object.fromEntries(this.params),this.plotDefaults)}parseComponent(t){for(let[n,r]of this.components)if(t[n]!=null)return r(t,this);this.error("Invalid specification.",t)}maybeParam(t,n=()=>new eu){let{params:r}=this,i=gz(t);if(i){if(!r.has(i)){let o=n();r.set(i,o)}return new Eg(i)}return new Kl(t)}maybeSelection(t){return this.maybeParam(t,()=>new tu)}error(t,n){kh(t,n)}};export{da as AGG,Pt as ASTNode,pz as ATTRIBUTE,lz as CROSSFILTER,S_ as CSVDataNode,D_ as CodegenContext,hz as DATA,xXt as DATAREF,b_ as DataNode,dz as EXPRESSION,P_ as ExpressionNode,Mg as FIXED,eO as FROM,Ql as FileDataNode,Dh as HCONCAT,B_ as HConcatNode,Oh as HSPACE,C_ as HSpaceNode,Sg as INPUT,yz as INTERACTOR,y_ as INTERSECT,k_ as InputNode,E_ as InstantiateContext,I_ as JSONDataNode,Ig as LEGEND,p_ as LITERAL,M_ as LiteralJSONDataNode,Kl as LiteralNode,g_ as MARK,oz as OPTIONS,Rh as OptionsNode,cz as PARAM,az as PARAMREF,Bh as PLOT,eu as ParamNode,Eg as ParamRefNode,__ as ParquetDataNode,N_ as PlotAttributeNode,O_ as PlotFixedNode,U_ as PlotFromNode,$_ as PlotInteractorNode,R_ as PlotLegendNode,q_ as PlotMarkNode,j_ as PlotNode,Fh as QueryDataNode,tO as SELECT,sz as SELECTION,fz as SINGLE,iz as SPEC,_c as SQL,tu as SelectionNode,v_ as SpatialDataNode,Ag as SpecNode,mz as TRANSFORM,w_ as TableDataNode,z_ as TransformNode,uz as UNION,m_ as VALUE,Nh as VCONCAT,V_ as VConcatNode,Lh as VSPACE,Y_ as VSpaceNode,Krt as astToDOM,tit as astToESM,cit as parseSpec};
|