@uwdata/mosaic-plot 0.11.0 → 0.12.1

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.
@@ -1,10 +1,10 @@
1
- var T9=Object.create;var f1=Object.defineProperty;var I9=Object.getOwnPropertyDescriptor;var $9=Object.getOwnPropertyNames;var C9=Object.getPrototypeOf,k9=Object.prototype.hasOwnProperty;var U_=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),N9=(t,e)=>{for(var n in e)f1(t,n,{get:e[n],enumerable:!0})},O9=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of $9(e))!k9.call(t,o)&&o!==n&&f1(t,o,{get:()=>e[o],enumerable:!(r=I9(e,o))||r.enumerable});return t};var R9=(t,e,n)=>(n=t!=null?T9(C9(t)):{},O9(e||!t||!t.__esModule?f1(n,"default",{value:t,enumerable:!0}):n,t));var mT=U_((ZMt,dT)=>{"use strict";function kB(t,e,n,r,o){for(var i=o+1;r<=o;){var s=r+o>>>1,a=t[s],c=n!==void 0?n(a,e):a-e;c>=0?(i=s,o=s-1):r=s+1}return i}function NB(t,e,n,r,o){for(var i=o+1;r<=o;){var s=r+o>>>1,a=t[s],c=n!==void 0?n(a,e):a-e;c>0?(i=s,o=s-1):r=s+1}return i}function OB(t,e,n,r,o){for(var i=r-1;r<=o;){var s=r+o>>>1,a=t[s],c=n!==void 0?n(a,e):a-e;c<0?(i=s,r=s+1):o=s-1}return i}function RB(t,e,n,r,o){for(var i=r-1;r<=o;){var s=r+o>>>1,a=t[s],c=n!==void 0?n(a,e):a-e;c<=0?(i=s,r=s+1):o=s-1}return i}function LB(t,e,n,r,o){for(;r<=o;){var i=r+o>>>1,s=t[i],a=n!==void 0?n(s,e):s-e;if(a===0)return i;a<=0?r=i+1:o=i-1}return-1}function Tp(t,e,n,r,o,i){return typeof n=="function"?i(t,e,n,r===void 0?0:r|0,o===void 0?t.length-1:o|0):i(t,e,void 0,n===void 0?0:n|0,r===void 0?t.length-1:r|0)}dT.exports={ge:function(t,e,n,r,o){return Tp(t,e,n,r,o,kB)},gt:function(t,e,n,r,o){return Tp(t,e,n,r,o,NB)},lt:function(t,e,n,r,o){return Tp(t,e,n,r,o,OB)},le:function(t,e,n,r,o){return Tp(t,e,n,r,o,RB)},eq:function(t,e,n,r,o){return Tp(t,e,n,r,o,LB)}}});var MT=U_((KMt,_T)=>{"use strict";var Yy=mT(),uf=0,ya=1,zy=2;_T.exports=FB;function i_(t,e,n,r,o){this.mid=t,this.left=e,this.right=n,this.leftPoints=r,this.rightPoints=o,this.count=(e?e.count:0)+(n?n.count:0)+r.length}var Ip=i_.prototype;function r_(t,e){t.mid=e.mid,t.left=e.left,t.right=e.right,t.leftPoints=e.leftPoints,t.rightPoints=e.rightPoints,t.count=e.count}function xT(t,e){var n=pf(e);t.mid=n.mid,t.left=n.left,t.right=n.right,t.leftPoints=n.leftPoints,t.rightPoints=n.rightPoints,t.count=n.count}function gT(t,e){var n=t.intervals([]);n.push(e),xT(t,n)}function yT(t,e){var n=t.intervals([]),r=n.indexOf(e);return r<0?uf:(n.splice(r,1),xT(t,n),ya)}Ip.intervals=function(t){return t.push.apply(t,this.leftPoints),this.left&&this.left.intervals(t),this.right&&this.right.intervals(t),t};Ip.insert=function(t){var e=this.count-this.leftPoints.length;if(this.count+=1,t[1]<this.mid)this.left?4*(this.left.count+1)>3*(e+1)?gT(this,t):this.left.insert(t):this.left=pf([t]);else if(t[0]>this.mid)this.right?4*(this.right.count+1)>3*(e+1)?gT(this,t):this.right.insert(t):this.right=pf([t]);else{var n=Yy.ge(this.leftPoints,t,s_),r=Yy.ge(this.rightPoints,t,a_);this.leftPoints.splice(n,0,t),this.rightPoints.splice(r,0,t)}};Ip.remove=function(t){var e=this.count-this.leftPoints;if(t[1]<this.mid){if(!this.left)return uf;var n=this.right?this.right.count:0;if(4*n>3*(e-1))return yT(this,t);var r=this.left.remove(t);return r===zy?(this.left=null,this.count-=1,ya):(r===ya&&(this.count-=1),r)}else if(t[0]>this.mid){if(!this.right)return uf;var o=this.left?this.left.count:0;if(4*o>3*(e-1))return yT(this,t);var r=this.right.remove(t);return r===zy?(this.right=null,this.count-=1,ya):(r===ya&&(this.count-=1),r)}else{if(this.count===1)return this.leftPoints[0]===t?zy:uf;if(this.leftPoints.length===1&&this.leftPoints[0]===t){if(this.left&&this.right){for(var i=this,s=this.left;s.right;)i=s,s=s.right;if(i===this)s.right=this.right;else{var a=this.left,r=this.right;i.count-=s.count,i.right=s.left,s.left=a,s.right=r}r_(this,s),this.count=(this.left?this.left.count:0)+(this.right?this.right.count:0)+this.leftPoints.length}else this.left?r_(this,this.left):r_(this,this.right);return ya}for(var a=Yy.ge(this.leftPoints,t,s_);a<this.leftPoints.length&&this.leftPoints[a][0]===t[0];++a)if(this.leftPoints[a]===t){this.count-=1,this.leftPoints.splice(a,1);for(var r=Yy.ge(this.rightPoints,t,a_);r<this.rightPoints.length&&this.rightPoints[r][1]===t[1];++r)if(this.rightPoints[r]===t)return this.rightPoints.splice(r,1),ya}return uf}};function bT(t,e,n){for(var r=0;r<t.length&&t[r][0]<=e;++r){var o=n(t[r]);if(o)return o}}function wT(t,e,n){for(var r=t.length-1;r>=0&&t[r][1]>=e;--r){var o=n(t[r]);if(o)return o}}function vT(t,e){for(var n=0;n<t.length;++n){var r=e(t[n]);if(r)return r}}Ip.queryPoint=function(t,e){if(t<this.mid){if(this.left){var n=this.left.queryPoint(t,e);if(n)return n}return bT(this.leftPoints,t,e)}else if(t>this.mid){if(this.right){var n=this.right.queryPoint(t,e);if(n)return n}return wT(this.rightPoints,t,e)}else return vT(this.leftPoints,e)};Ip.queryInterval=function(t,e,n){if(t<this.mid&&this.left){var r=this.left.queryInterval(t,e,n);if(r)return r}if(e>this.mid&&this.right){var r=this.right.queryInterval(t,e,n);if(r)return r}return e<this.mid?bT(this.leftPoints,e,n):t>this.mid?wT(this.rightPoints,t,n):vT(this.leftPoints,n)};function DB(t,e){return t-e}function s_(t,e){var n=t[0]-e[0];return n||t[1]-e[1]}function a_(t,e){var n=t[1]-e[1];return n||t[0]-e[0]}function pf(t){if(t.length===0)return null;for(var e=[],n=0;n<t.length;++n)e.push(t[n][0],t[n][1]);e.sort(DB);for(var r=e[e.length>>1],o=[],i=[],s=[],n=0;n<t.length;++n){var a=t[n];a[1]<r?o.push(a):r<a[0]?i.push(a):s.push(a)}var c=s,f=s.slice();return c.sort(s_),f.sort(a_),new i_(r,pf(o),pf(i),c,f)}function o_(t){this.root=t}var hf=o_.prototype;hf.insert=function(t){this.root?this.root.insert(t):this.root=new i_(t[0],null,null,[t],[t])};hf.remove=function(t){if(this.root){var e=this.root.remove(t);return e===zy&&(this.root=null),e!==uf}return!1};hf.queryPoint=function(t,e){if(this.root)return this.root.queryPoint(t,e)};hf.queryInterval=function(t,e,n){if(t<=e&&this.root)return this.root.queryInterval(t,e,n)};Object.defineProperty(hf,"count",{get:function(){return this.root?this.root.count:0}});Object.defineProperty(hf,"intervals",{get:function(){return this.root?this.root.intervals([]):[]}});function FB(t){return!t||t.length===0?new o_(null):new o_(pf(t))}});var oi=Symbol("Fixed"),Ne=Symbol("Transient"),xf=Symbol("Transform");var j_={};function bf(t,e=!1){let n,r,o=j_;function i(f){n=t(f).finally(()=>{if(r){let{value:l}=r;r=null,i(l)}else n=null})}function s(f){r={event:f}}function a(f){n?s(f):i(f)}function c(f){o!==f&&requestAnimationFrame(()=>{let l=o;o=j_,a(l)}),o=f}return e?c:a}var wf=class{constructor(e){this._filterBy=e,this._requestUpdate=bf(()=>this.requestQuery(),!0),this._coordinator=null}get coordinator(){return this._coordinator}set coordinator(e){this._coordinator=e}get filterBy(){return this._filterBy}get filterIndexable(){return!0}fields(){return null}fieldInfo(e){return this}query(e){return null}queryPending(){return this}queryResult(e){return this}queryError(e){return this}requestQuery(e){let n=e||this.query(this.filterBy?.predicate(this));return this._coordinator.requestQuery(this,n)}requestUpdate(){this._requestUpdate()}initialize(){return this._coordinator.initializeClient(this)}update(){return this}};var vf=Uint8Array.of(65,82,82,79,87,49),Bn={V1:0,V2:1,V3:2,V4:3,V5:4};var zn={NONE:0,Schema:1,DictionaryBatch:2,RecordBatch:3,Tensor:4,SparseTensor:5},B={Dictionary:-1,NONE:0,Null:1,Int:2,Float:3,Binary:4,Utf8:5,Bool:6,Decimal:7,Date:8,Time:9,Timestamp:10,Interval:11,List:12,Struct:13,Union:14,FixedSizeBinary:15,FixedSizeList:16,Map:17,Duration:18,LargeBinary:19,LargeUtf8:20,LargeList:21,RunEndEncoded:22,BinaryView:23,Utf8View:24,ListView:25,LargeListView:26},va={HALF:0,SINGLE:1,DOUBLE:2},fo={DAY:0,MILLISECOND:1},we={SECOND:0,MILLISECOND:1,MICROSECOND:2,NANOSECOND:3},Yn={YEAR_MONTH:0,DAY_TIME:1,MONTH_DAY_NANO:2},lo={Sparse:0,Dense:1};var _a=Uint8Array,jp=Uint16Array,Xp=Uint32Array,Gp=BigUint64Array,_f=Int8Array,X_=Int16Array,yn=Int32Array,Sn=BigInt64Array,l1=Float32Array,ii=Float64Array;function G_(t,e){let n=Math.log2(t)-3;return(e?[_f,X_,yn,Sn]:[_a,jp,Xp,Gp])[n]}var hY=Object.getPrototypeOf(Int8Array);function Ma(t,e){let n=0,r=t.length;if(r<=2147483648)do{let o=n+r>>>1;t[o]<=e?n=o+1:r=o}while(n<r);else do{let o=Math.trunc((n+r)/2);t[o]<=e?n=o+1:r=o}while(n<r);return n}function Vp(t,e,n){if(e(t))return t;throw new Error(n(t))}function xn(t,e,n){return e=Array.isArray(e)?e:Object.values(e),Vp(t,r=>e.includes(r),n??(()=>`${t} must be one of ${e}`))}function Wp(t,e){for(let[n,r]of Object.entries(t))if(r===e)return n;return"<Unknown>"}var uo=t=>`Unsupported data type: "${Wp(B,t)}" (id ${t})`,Mf=(t,e,n=!0,r=null)=>({name:t,type:e,nullable:n,metadata:r});function V_(t){return Object.hasOwn(t,"name")&&W_(t.type)}function W_(t){return typeof t?.typeId=="number"}function si(t,e="",n=!0){return V_(t)?t:Mf(e,Vp(t,W_,()=>"Data type expected."),n)}var Hp=(t,e,n=!1,r=-1)=>({typeId:B.Dictionary,id:r,dictionary:t,indices:e||Sa(),ordered:n});var Qp=(t=32,e=!0)=>({typeId:B.Int,bitWidth:xn(t,[8,16,32,64]),signed:e,values:G_(t,e)});var Sa=()=>Qp(32);var u1=(t=2)=>({typeId:B.Float,precision:xn(t,va),values:[jp,l1,ii][t]});var p1=()=>({typeId:B.Binary,offsets:yn}),Zp=()=>({typeId:B.Utf8,offsets:yn});var h1=(t,e,n=128)=>({typeId:B.Decimal,precision:t,scale:e,bitWidth:xn(n,[128,256]),values:Gp}),d1=t=>({typeId:B.Date,unit:xn(t,fo),values:t===fo.DAY?yn:Sn});var m1=(t=we.MILLISECOND,e=32)=>({typeId:B.Time,unit:xn(t,we),bitWidth:xn(e,[32,64]),values:e===32?yn:Sn});var Kp=(t=we.MILLISECOND,e=null)=>({typeId:B.Timestamp,unit:xn(t,we),timezone:e,values:Sn}),g1=(t=Yn.MONTH_DAY_NANO)=>({typeId:B.Interval,unit:xn(t,Yn),values:t===Yn.MONTH_DAY_NANO?void 0:yn}),Jp=t=>({typeId:B.List,children:[si(t)],offsets:yn}),th=t=>({typeId:B.Struct,children:Array.isArray(t)&&V_(t[0])?t:Object.entries(t).map(([e,n])=>Mf(e,n))}),y1=(t,e,n,r)=>(n??=e.map((o,i)=>i),{typeId:B.Union,mode:xn(t,lo),typeIds:n,typeMap:n.reduce((o,i,s)=>(o[i]=s,o),{}),children:e.map((o,i)=>si(o,`_${i}`)),typeIdForValue:r,offsets:yn}),x1=t=>({typeId:B.FixedSizeBinary,stride:t}),eh=(t,e)=>({typeId:B.FixedSizeList,stride:e,children:[si(t)]}),H_=(t,e)=>({typeId:B.Map,keysSorted:t,children:[e],offsets:yn});var b1=(t=we.MILLISECOND)=>({typeId:B.Duration,unit:xn(t,we),values:Sn}),w1=()=>({typeId:B.LargeBinary,offsets:Sn}),v1=()=>({typeId:B.LargeUtf8,offsets:Sn}),_1=t=>({typeId:B.LargeList,children:[si(t)],offsets:Sn}),M1=(t,e)=>({typeId:B.RunEndEncoded,children:[Vp(si(t,"run_ends"),n=>n.type.typeId===B.Int,()=>"Run-ends must have an integer type."),si(e,"values")]});var S1=t=>({typeId:B.ListView,children:[si(t,"value")],offsets:yn}),A1=t=>({typeId:B.LargeListView,children:[si(t,"value")],offsets:Sn});var L9=new ii(2),nh=L9.buffer,_Y=new Sn(nh),MY=new Xp(nh),SY=new yn(nh),AY=new _a(nh);function _r(t){if(t>Number.MAX_SAFE_INTEGER||t<Number.MIN_SAFE_INTEGER)throw Error(`BigInt exceeds integer number representation: ${t}`);return Number(t)}function rh(t,e){return Number(t/e)+Number(t%e)/Number(e)}var Aa=t=>BigInt.asUintN(64,t);function Z_(t,e){let n=e<<1,r;return BigInt.asIntN(64,t[n+1])<0?(r=Aa(~t[n])|Aa(~t[n+1])<<64n,r=-(r+1n)):r=t[n]|t[n+1]<<64n,r}function K_(t,e){let n=e<<2,r;return BigInt.asIntN(64,t[n+3])<0?(r=Aa(~t[n])|Aa(~t[n+1])<<64n|Aa(~t[n+2])<<128n|Aa(~t[n+3])<<192n,r=-(r+1n)):r=t[n]|t[n+1]<<64n|t[n+2]<<128n|t[n+3]<<192n,r}var F9=new TextDecoder("utf-8"),CY=new TextEncoder;function Ea(t){return F9.decode(t)}var as=4;function E1(t,e){return(t[e>>3]&1<<e%8)!==0}function je(t,e){let n=e+Pt(t,e),r=n-Pt(t,n),o=Oe(t,r);return(i,s,a=null)=>{if(i<o){let c=Oe(t,r+i);if(c)return s(t,n+c)}return a}}function ir(t,e){return e}function ai(t,e){return!!P9(t,e)}function P9(t,e){return Sf(t,e)<<24>>24}function Sf(t,e){return t[e]}function Oe(t,e){return q9(t,e)<<16>>16}function q9(t,e){return t[e]|t[e+1]<<8}function Pt(t,e){return t[e]|t[e+1]<<8|t[e+2]<<16|t[e+3]<<24}function J_(t,e){return Pt(t,e)>>>0}function ve(t,e){return _r(BigInt.asIntN(64,BigInt(J_(t,e))+(BigInt(J_(t,e+as))<<32n)))}function cs(t,e){let n=e+Pt(t,e),r=Pt(t,n);return n+=as,Ea(t.subarray(n,n+r))}function An(t,e,n,r){if(!e)return[];let o=e+Pt(t,e);return Array.from({length:Pt(t,o)},(i,s)=>r(t,o+as+s*n))}var T1=Symbol("rowIndex");function Af(t,e){class n{constructor(i){this[T1]=i}toJSON(){return t6(t,e,this[T1])}}let r=n.prototype;for(let o=0;o<t.length;++o){if(Object.hasOwn(r,t[o]))continue;let i=e[o];Object.defineProperty(r,t[o],{get(){return i.at(this[T1])},enumerable:!0})}return o=>new n(o)}function oh(t,e){return n=>t6(t,e,n)}function t6(t,e,n){let r={};for(let o=0;o<t.length;++o)r[t[o]]=e[o].at(n);return r}function e6(t){return t instanceof ci}var fs=class{static ArrayType=null;constructor({length:e,nullCount:n,type:r,validity:o,values:i,offsets:s,sizes:a,children:c}){this.length=e,this.nullCount=n,this.type=r,this.validity=o,this.values=i,this.offsets=s,this.sizes=a,this.children=c,(!n||!this.validity)&&(this.at=f=>this.value(f))}get[Symbol.toStringTag](){return"Batch"}at(e){return this.isValid(e)?this.value(e):null}isValid(e){return E1(this.validity,e)}value(e){return this.values[e]}slice(e,n){let r=n-e,o=Array(r);for(let i=0;i<r;++i)o[i]=this.at(e+i);return o}*[Symbol.iterator](){for(let e=0;e<this.length;++e)yield this.at(e)}},ci=class extends fs{constructor(e){super(e);let{length:n,values:r}=this;this.values=r.subarray(0,n)}slice(e,n){return this.nullCount?super.slice(e,n):this.values.subarray(e,n)}[Symbol.iterator](){return this.nullCount?super[Symbol.iterator]():this.values[Symbol.iterator]()}},Ef=class extends fs{static ArrayType=ii},Zt=class extends fs{static ArrayType=Array},Tf=class extends Zt{value(e){return null}},Mr=class extends Ef{value(e){return _r(this.values[e])}},ih=class extends Ef{value(e){let n=this.values[e],r=(n&31744)>>10,o=(n&1023)/1024,i=(-1)**((n&32768)>>15);switch(r){case 31:return i*(o?Number.NaN:1/0);case 0:return i*(o?6103515625e-14*o:0)}return i*2**(r-15)*(1+o)}},sh=class extends Zt{value(e){return E1(this.values,e)}},ah=class extends fs{constructor(e){super(e);let{bitWidth:n,scale:r}=this.type;this.decimal=n===128?Z_:K_,this.scale=10n**BigInt(r)}},ch=class extends ah{static ArrayType=ii;value(e){return rh(this.decimal(this.values,e),this.scale)}},fh=class extends ah{static ArrayType=Array;value(e){return this.decimal(this.values,e)}},If=class extends Zt{constructor(e){super(e),this.source=e}value(e){return new Date(this.source.value(e))}},lh=class extends Ef{value(e){return 864e5*this.values[e]}},n6=Mr,uh=class extends Mr{value(e){return super.value(e)*1e3}},r6=Mr,ph=class extends Mr{value(e){return rh(this.values[e],1000n)}},hh=class extends Mr{value(e){return rh(this.values[e],1000000n)}},dh=class extends Zt{value(e){return this.values.subarray(e<<1,e+1<<1)}},mh=class extends Zt{value(e){let n=this.values,r=e<<4;return Float64Array.of(Pt(n,r),Pt(n,r+4),ve(n,r+8))}},o6=({values:t,offsets:e},n)=>t.subarray(e[n],e[n+1]),i6=({values:t,offsets:e},n)=>t.subarray(_r(e[n]),_r(e[n+1])),gh=class extends Zt{value(e){return o6(this,e)}},yh=class extends Zt{value(e){return i6(this,e)}},xh=class extends Zt{value(e){return Ea(o6(this,e))}},bh=class extends Zt{value(e){return Ea(i6(this,e))}},wh=class extends Zt{value(e){let n=this.offsets;return this.children[0].slice(n[e],n[e+1])}},vh=class extends Zt{value(e){let n=this.offsets;return this.children[0].slice(_r(n[e]),_r(n[e+1]))}},_h=class extends Zt{value(e){let n=this.offsets[e],r=n+this.sizes[e];return this.children[0].slice(n,r)}},Mh=class extends Zt{value(e){let n=this.offsets[e],r=n+this.sizes[e];return this.children[0].slice(_r(n),_r(r))}},Sh=class extends Zt{constructor(e){super(e),this.stride=this.type.stride}},Ah=class extends Sh{value(e){let{stride:n,values:r}=this;return r.subarray(e*n,(e+1)*n)}},Eh=class extends Sh{value(e){let{children:n,stride:r}=this;return n[0].slice(e*r,(e+1)*r)}};function s6({children:t,offsets:e},n){let[r,o]=t[0].children,i=e[n],s=e[n+1],a=[];for(let c=i;c<s;++c)a.push([r.at(c),o.at(c)]);return a}var Th=class extends Zt{value(e){return s6(this,e)}},Ih=class extends Zt{value(e){return new Map(s6(this,e))}},$f=class extends Zt{constructor({typeIds:e,...n}){super(n),this.typeIds=e,this.typeMap=this.type.typeMap}value(e,n=e){let{typeIds:r,children:o,typeMap:i}=this;return o[i[r[e]]].at(n)}},$h=class extends $f{value(e){return super.value(e,this.offsets[e])}},Cf=class extends Zt{constructor(e,n=oh){super(e),this.names=this.type.children.map(r=>r.name),this.factory=n(this.names,this.children)}value(e){return this.factory(e)}},Ch=class extends Cf{constructor(e){super(e,Af)}},kh=class extends Zt{value(e){let[{values:n},r]=this.children;return r.at(Ma(n,e))}},Nh=class extends Zt{setDictionary(e){return this.dictionary=e,this.cache=e.cache(),this}value(e){return this.cache[this.key(e)]}key(e){return this.values[e]}},Oh=class extends Zt{constructor({data:e,...n}){super(n),this.data=e}view(e){let{values:n,data:r}=this,o=e<<4,i=o+4,s=n,a=Pt(s,o);return a>12&&(i=Pt(s,o+12),s=r[Pt(s,o+8)]),s.subarray(i,i+a)}},Rh=class extends Oh{value(e){return this.view(e)}},Lh=class extends Oh{value(e){return Ea(this.view(e))}};function I1(t){let e=[];return{add(n){return e.push(n),this},clear:()=>e=[],done:()=>new ls(e,t)}}var ls=class{constructor(e,n=e[0]?.type){this.type=n,this.length=e.reduce((i,s)=>i+s.length,0),this.nullCount=e.reduce((i,s)=>i+s.nullCount,0),this.data=e;let r=e.length,o=new Int32Array(r+1);if(r===1){let[i]=e;o[1]=i.length,this.at=s=>i.at(s)}else for(let i=0,s=0;i<r;++i)o[i+1]=s+=e[i].length;this.offsets=o}get[Symbol.toStringTag](){return"Column"}[Symbol.iterator](){let e=this.data;return e.length===1?e[0][Symbol.iterator]():B9(e)}at(e){let{data:n,offsets:r}=this,o=Ma(r,e)-1;return n[o]?.at(e-r[o])}get(e){return this.at(e)}toArray(){let{length:e,nullCount:n,data:r}=this,o=!n&&e6(r[0]),i=r.length;if(o&&i===1)return r[0].values;let s=!i||n>0?Array:r[0].constructor.ArrayType??r[0].values.constructor,a=new s(e);return o?z9(a,r):Y9(a,r)}cache(){return this._cache??(this._cache=this.toArray())}};function*B9(t){for(let e=0;e<t.length;++e){let n=t[e][Symbol.iterator]();for(let r=n.next();!r.done;r=n.next())yield r.value}}function z9(t,e){for(let n=0,r=0;n<e.length;++n){let{values:o}=e[n];t.set(o,r),r+=o.length}return t}function Y9(t,e){let n=-1;for(let r=0;r<e.length;++r){let o=e[r];for(let i=0;i<o.length;++i)t[++n]=o.at(i)}return t}var Ta=class t{constructor(e,n,r=!1){let o=e.fields.map(s=>s.name);this.schema=e,this.names=o,this.children=n,this.factory=r?Af:oh;let i=[];this.getFactory=s=>i[s]??(i[s]=this.factory(o,n.map(a=>a.data[s])))}get[Symbol.toStringTag](){return"Table"}get numCols(){return this.names.length}get numRows(){return this.children[0]?.length??0}getChildAt(e){return this.children[e]}getChild(e){let n=this.names.findIndex(r=>r===e);return n>-1?this.children[n]:void 0}selectAt(e,n=[]){let{children:r,factory:o,schema:i}=this,{fields:s}=i;return new t({...i,fields:e.map((a,c)=>U9(s[a],n[c]))},e.map(a=>r[a]),o===Af)}select(e,n){let r=this.names,o=e.map(i=>r.indexOf(i));return this.selectAt(o,n)}toColumns(){let{children:e,names:n}=this,r={};return n.forEach((o,i)=>r[o]=e[i]?.toArray()??[]),r}toArray(){let{children:e,getFactory:n,numRows:r}=this,o=e[0]?.data??[],i=Array(r);for(let s=0,a=-1;s<o.length;++s){let c=n(s);for(let f=0;f<o[s].length;++f)i[++a]=c(f)}return i}*[Symbol.iterator](){let{children:e,getFactory:n}=this,r=e[0]?.data??[];for(let o=0;o<r.length;++o){let i=n(o);for(let s=0;s<r[o].length;++s)yield i(s)}}at(e){let{children:n,getFactory:r,numRows:o}=this;if(e<0||e>=o)return null;let[{offsets:i}]=n,s=Ma(i,e)-1;return r(s)(e-i[s])}get(e){return this.at(e)}};function U9(t,e){return e!=null&&e!==t.name?{...t,name:e}:t}function kf(t,e={}){let{typeId:n,bitWidth:r,precision:o,unit:i}=t,{useBigInt:s,useDate:a,useDecimalBigInt:c,useMap:f,useProxy:l}=e;switch(n){case B.Null:return Tf;case B.Bool:return sh;case B.Int:case B.Time:case B.Duration:return s||r<64?ci:Mr;case B.Float:return o?ci:ih;case B.Date:return a6(i===fo.DAY?lh:n6,a&&If);case B.Timestamp:return a6(i===we.SECOND?uh:i===we.MILLISECOND?r6:i===we.MICROSECOND?ph:hh,a&&If);case B.Decimal:return c?fh:ch;case B.Interval:return i===Yn.DAY_TIME?dh:i===Yn.YEAR_MONTH?ci:mh;case B.FixedSizeBinary:return Ah;case B.Utf8:return xh;case B.LargeUtf8:return bh;case B.Binary:return gh;case B.LargeBinary:return yh;case B.BinaryView:return Rh;case B.Utf8View:return Lh;case B.List:return wh;case B.LargeList:return vh;case B.Map:return f?Ih:Th;case B.ListView:return _h;case B.LargeListView:return Mh;case B.FixedSizeList:return Eh;case B.Struct:return l?Ch:Cf;case B.RunEndEncoded:return kh;case B.Dictionary:return Nh;case B.Union:return t.mode?$h:$f}throw new Error(uo(n))}function a6(t,e){return e?class extends e{constructor(r){super(new t(r))}}:t}function j9(t,e){return{offset:ve(t,e),metadataLength:Pt(t,e+8),bodyLength:ve(t,e+16)}}function $1(t,e){return An(t,e,24,j9)}function Dh(t,e,n){let r=je(t,e);if(r(10,ir,0))throw new Error("Record batch compression not implemented");let o=n<Bn.V4?8:0;return{length:r(4,ve,0),nodes:An(t,r(6,ir),16,(i,s)=>({length:ve(i,s),nullCount:ve(i,s+8)})),regions:An(t,r(8,ir),16+o,(i,s)=>({offset:ve(i,s+o),length:ve(i,s+o+8)})),variadic:An(t,r(12,ir),8,ve)}}function c6(t,e,n){let r=je(t,e);return{id:r(4,ve,0),data:r(6,(o,i)=>Dh(o,i,n)),isDelta:r(8,ai,!1)}}function C1(t,e,n,r){xn(n,B,uo);let o=je(t,e);switch(n){case B.Binary:return p1();case B.Utf8:return Zp();case B.LargeBinary:return w1();case B.LargeUtf8:return v1();case B.List:return Jp(r[0]);case B.ListView:return S1(r[0]);case B.LargeList:return _1(r[0]);case B.LargeListView:return A1(r[0]);case B.Struct:return th(r);case B.RunEndEncoded:return M1(r[0],r[1]);case B.Int:return Qp(o(4,Pt,0),o(6,ai,!1));case B.Float:return u1(o(4,Oe,va.HALF));case B.Decimal:return h1(o(4,Pt,0),o(6,Pt,0),o(8,Pt,128));case B.Date:return d1(o(4,Oe,fo.MILLISECOND));case B.Time:return m1(o(4,Oe,we.MILLISECOND),o(6,Pt,32));case B.Timestamp:return Kp(o(4,Oe,we.SECOND),o(6,cs));case B.Interval:return g1(o(4,Oe,Yn.YEAR_MONTH));case B.Duration:return b1(o(4,Oe,we.MILLISECOND));case B.FixedSizeBinary:return x1(o(4,Pt,0));case B.FixedSizeList:return eh(r[0],o(4,Pt,0));case B.Map:return H_(o(4,ai,!1),r[0]);case B.Union:return y1(o(4,Oe,lo.Sparse),r,An(t,o(6,ir),4,Pt))}return{typeId:n}}function Nf(t,e){let n=An(t,e,4,(r,o)=>{let i=je(r,o);return[i(4,cs),i(6,cs)]});return n.length?new Map(n):null}function Fh(t,e,n){let r=je(t,e);return{version:n,endianness:r(4,Oe,0),fields:r(6,X9,[]),metadata:r(8,Nf)}}function X9(t,e){return An(t,e,4,f6)}function f6(t,e){let n=je(t,e),r=n(8,Sf,B.NONE),o=n(10,ir,0),i=n(12,V9),s=n(14,(c,f)=>G9(c,f)),a=C1(t,o,r,s);return i&&(i.dictionary=a,a=i),{name:n(4,cs),type:a,nullable:n(6,ai,!1),metadata:n(16,Nf)}}function G9(t,e){let n=An(t,e,4,f6);return n.length?n:null}function V9(t,e){if(!e)return null;let n=je(t,e);return Hp(null,n(6,W9,Sa()),n(8,ai,!1),n(4,ve,0))}function W9(t,e){return C1(t,e,B.Int)}var H9=(t,e)=>`Expected to read ${t} metadata bytes, but only read ${e}.`,Q9=(t,e)=>`Expected to read ${t} bytes for message body, but only read ${e}.`,Z9=t=>`Unsupported message type: ${t} (${Wp(zn,t)})`;function Ph(t,e){let n=Pt(t,e)||0;if(e+=as,n===-1&&(n=Pt(t,e)||0,e+=as),n===0)return null;let r=t.subarray(e,e+=n);if(r.byteLength<n)throw new Error(H9(n,r.byteLength));let o=je(r,0),i=o(4,Oe,Bn.V1),s=o(6,Sf,zn.NONE),a=o(8,ir,0),c=o(10,ve,0),f;if(a){let l=s===zn.Schema?Fh:s===zn.DictionaryBatch?c6:s===zn.RecordBatch?Dh:null;if(!l)throw new Error(Z9(s));if(f=l(r,a,i),c>0){let u=t.subarray(e,e+=c);if(u.byteLength<c)throw new Error(Q9(c,u.byteLength));f.body=u}}return{version:i,type:s,index:e,content:f}}function l6(t){let e=t instanceof ArrayBuffer?new Uint8Array(t):t;return e instanceof Uint8Array&&K9(e)?tI(e):J9(e)}function K9(t){if(!t||t.length<4)return!1;for(let e=0;e<6;++e)if(vf[e]!==t[e])return!1;return!0}function J9(t){let e=[t].flat(),n,r=[],o=[];for(let i of e){if(!(i instanceof Uint8Array))throw new Error("IPC data batch was not a Uint8Array.");let s=0;for(;;){let a=Ph(i,s);if(a===null)break;if(s=a.index,!!a.content)switch(a.type){case zn.Schema:n||(n=a.content);break;case zn.RecordBatch:r.push(a.content);break;case zn.DictionaryBatch:o.push(a.content);break}}}return{schema:n,dictionaries:o,records:r,metadata:null}}function tI(t){let e=t.byteLength-(vf.length+4),n=Pt(t,e),r=je(t,e-n),o=r(4,Oe,Bn.V1),i=r(8,$1,[]),s=r(10,$1,[]);return{schema:r(6,(a,c)=>Fh(a,c,o)),dictionaries:i.map(({offset:a})=>Ph(t,a).content),records:s.map(({offset:a})=>Ph(t,a).content),metadata:r(12,Nf)}}function N1(t,e){return eI(l6(t),e)}function eI(t,e={}){let{schema:n={fields:[]},dictionaries:r,records:o}=t,{version:i,fields:s}=n,a=new Map,c=rI(e,i,a),f=new Map;nI(n,p=>{let h=p.type;h.typeId===B.Dictionary&&f.set(h.id,h.dictionary)});let l=new Map;for(let p of r){let{id:h,data:d,isDelta:m,body:g}=p,y=f.get(h),x=k1(y,c({...d,body:g}));if(l.has(h)){let w=l.get(h);m||w.clear(),w.add(x)}else{if(m)throw new Error("Delta update can not be first dictionary batch.");l.set(h,I1(y).add(x))}}l.forEach((p,h)=>a.set(h,p.done()));let u=s.map(p=>I1(p.type));for(let p of o){let h=c(p);s.forEach((d,m)=>u[m].add(k1(d.type,h)))}return new Ta(n,u.map(p=>p.done()),e.useProxy)}function nI(t,e){t.fields.forEach(function n(r){e(r),r.type.dictionary?.children?.forEach(n),r.type.children?.forEach(n)})}function rI(t,e,n){let r={version:e,options:t,dictionary:o=>n.get(o)};return o=>{let{length:i,nodes:s,regions:a,variadic:c,body:f}=o,l=-1,u=-1,p=-1;return{...r,length:i,node:()=>s[++l],buffer:h=>{let{length:d,offset:m}=a[++u];return h?new h(f.buffer,f.byteOffset+m,d/h.BYTES_PER_ELEMENT):f.subarray(m,m+d)},variadic:()=>c[++p],visit(h){return h.map(d=>k1(d.type,this))}}}}function k1(t,e){let{typeId:n}=t,{length:r,options:o,node:i,buffer:s,variadic:a,version:c}=e,f=kf(t,o);if(n===B.Null)return new f({length:r,nullCount:r,type:t});let l={...i(),type:t};switch(n){case B.Bool:case B.Int:case B.Time:case B.Duration:case B.Float:case B.Decimal:case B.Date:case B.Timestamp:case B.Interval:case B.FixedSizeBinary:return new f({...l,validity:s(),values:s(t.values)});case B.Utf8:case B.LargeUtf8:case B.Binary:case B.LargeBinary:return new f({...l,validity:s(),offsets:s(t.offsets),values:s()});case B.BinaryView:case B.Utf8View:return new f({...l,validity:s(),values:s(),data:Array.from({length:a()},()=>s())});case B.List:case B.LargeList:case B.Map:return new f({...l,validity:s(),offsets:s(t.offsets),children:e.visit(t.children)});case B.ListView:case B.LargeListView:return new f({...l,validity:s(),offsets:s(t.offsets),sizes:s(t.offsets),children:e.visit(t.children)});case B.FixedSizeList:case B.Struct:return new f({...l,validity:s(),children:e.visit(t.children)});case B.RunEndEncoded:return new f({...l,children:e.visit(t.children)});case B.Dictionary:{let{id:u,indices:p}=t;return new f({...l,validity:s(),values:s(p.values)}).setDictionary(e.dictionary(u))}case B.Union:return c<Bn.V5&&s(),new f({...l,typeIds:s(_f),offsets:t.mode===lo.Sparse?null:s(t.offsets),children:e.visit(t.children)});default:throw new Error(uo(n))}}var ij=new Uint16Array(new Uint8Array([1,0]).buffer)[0]===1;function Of(t){return N1(t,{useDate:!0})}function O1(t="ws://localhost:3000/"){let e=[],n=!1,r=null,o,i={open(){n=!0,c()},close(){for(n=!1,r=null,o=null;e.length;)e.shift().reject("Socket closed")},error(f){if(r){let{reject:l}=r;r=null,c(),l(f)}else console.error("WebSocket error: ",f)},message({data:f}){if(r){let{query:l,resolve:u,reject:p}=r;if(r=null,c(),typeof f=="string"){let h=JSON.parse(f);h.error?p(h.error):u(h)}else if(l.type==="exec")u();else if(l.type==="arrow")u(Of(f));else throw new Error(`Unexpected socket data: ${f}`)}else console.log("WebSocket message: ",f)}};function s(){o=new WebSocket(t),o.binaryType="arraybuffer";for(let f in i)o.addEventListener(f,i[f])}function a(f,l,u){o==null&&s(),e.push({query:f,resolve:l,reject:u}),n&&!r&&c()}function c(){e.length&&(r=e.shift(),o.send(JSON.stringify(r.query)))}return{get connected(){return n},query(f){return new Promise((l,u)=>a(f,l,u))}}}var bn=class{constructor(e,n){e&&(this.table=String(e)),n&&(this.column=n)}get columns(){return this.column?[this.column]:[]}toString(){let{table:e,column:n}=this;if(n){let r=n.startsWith("*")?n:`"${n}"`;return`${e?`${y6(e)}.`:""}${r}`}else return e?y6(e):"NULL"}};function y6(t){return t.split(".").map(n=>`"${n}"`).join(".")}function x6(t,e){return t instanceof bn&&t.column===e}function _t(t){return typeof t=="string"?qh(t):t}function ps(t){return typeof t=="string"?b6(t):t}function b6(t){return new bn(t)}function qh(t,e=null){return arguments.length===1&&(e=t,t=null),new bn(t,e)}function ho(t){switch(typeof t){case"boolean":return t?"TRUE":"FALSE";case"string":return`'${t.replace("'","''")}'`;case"number":return Number.isFinite(t)?String(t):"NULL";default:if(t==null)return"NULL";if(t instanceof Date){let e=+t;if(Number.isNaN(e))return"NULL";let n=t.getUTCFullYear(),r=t.getUTCMonth(),o=t.getUTCDate();return e===Date.UTC(n,r,o)?`MAKE_DATE(${n}, ${r+1}, ${o})`:`EPOCH_MS(${e})`}else return t instanceof RegExp?`'${t.source}'`:String(t)}}var mo=t=>typeof t?.addEventListener=="function";function Bh(t){return t instanceof go}var go=class{constructor(e,n,r){this._expr=Array.isArray(e)?e:[e],this._deps=n||[],this.annotate(r);let o=this._expr.filter(i=>mo(i));o.length>0?(this._params=Array.from(new Set(o)),this._params.forEach(i=>{i.addEventListener("value",()=>EI(this,this.map?.get("value")))})):this.addEventListener=void 0}get value(){return this}get columns(){let{_params:e,_deps:n}=this;if(e){let r=new Set(e.flatMap(o=>{let i=o.value?.columns;return Array.isArray(i)?i:[]}));if(r.size){let o=new Set(n);return r.forEach(i=>o.add(i)),Array.from(o)}}return n}get column(){return this._deps.length?this._deps[0]:this.columns[0]}annotate(...e){return Object.assign(this,...e)}toString(){return this._expr.map(e=>mo(e)&&!Bh(e)?ho(e.value):e).join("")}addEventListener(e,n){let r=this.map||(this.map=new Map);(r.get(e)||(r.set(e,new Set),r.get(e))).add(n)}};function EI(t,e){if(e?.size)return Promise.allSettled(Array.from(e,n=>n(t)))}function R1(t,e){let n=[t[0]],r=new Set,o=e.length;for(let i=0,s=0;i<o;){let a=e[i];mo(a)?n[++s]=a:(Array.isArray(a?.columns)&&a.columns.forEach(f=>r.add(f)),n[s]+=typeof a=="string"?a:ho(a));let c=t[++i];mo(n[s])?n[++s]=c:n[s]+=c}return{spans:n,cols:Array.from(r)}}function Y(t,...e){let{spans:n,cols:r}=R1(t,e);return new go(n,r)}var zh=t=>({value:t,toString:()=>ho(t)});function Rf(t){t(this.op,this),this.children?.forEach(e=>e.visit(t))}function w6(t,e){let n=e.filter(o=>o!=null).map(_t),r=n.map((o,i)=>i?` ${t} `:"");return n.length===1?r.push(""):n.length>1&&(r[0]="(",r.push(")")),Y(r,...n).annotate({op:t,children:n,visit:Rf})}var Un=(...t)=>w6("AND",t.flat()),Lf=(...t)=>w6("OR",t.flat()),TI=t=>e=>Y`(${t} ${_t(e)})`.annotate({op:t,a:e,visit:Rf}),II=TI("NOT"),v6=t=>e=>Y`(${_t(e)} ${t})`.annotate({op:t,a:e,visit:Rf}),Df=v6("IS NULL"),hs=v6("IS NOT NULL"),fi=t=>(e,n)=>Y`(${_t(e)} ${t} ${_t(n)})`.annotate({op:t,a:e,b:n,visit:Rf}),$I=fi("="),Ff=fi("<>"),ds=fi("<"),L1=fi(">"),ms=fi("<="),CI=fi(">="),kI=fi("IS DISTINCT FROM"),Yh=fi("IS NOT DISTINCT FROM");function NI(t,e,n,r){e=_t(e);let o=t.startsWith("NOT ")?"NOT ":"";return(n?r?Y`${o}(${n[0]} <= ${e} AND ${e} < ${n[1]})`:Y`(${e} ${t} ${n[0]} AND ${n[1]})`:Y``).annotate({op:t,visit:Rf,field:e,range:n})}var _e=(t,e,n)=>NI("BETWEEN",t,e,n);function gs(t,e){return Array.from({length:t},()=>e)}function Re(t,e){return(...n)=>{let r=n.map(_t),o=e?`::${e}`:"";return(r.length?Y([`${t}(`,...gs(r.length-1,", "),`)${o}`],...r):Y`${t}()${o}`).annotate({func:t,args:r})}}var _6=Re("REGEXP_MATCHES"),M6=Re("CONTAINS"),S6=Re("PREFIX"),A6=Re("SUFFIX"),OI=Re("LOWER"),RI=Re("UPPER"),LI=Re("LENGTH"),DI=Re("ISNAN"),FI=Re("ISFINITE"),PI=Re("ISINF");var Pf=class t extends go{constructor(e,n,r,o,i="",s="",a=""){let c;if(o&&!(i||s||a))c=o?Y`${n} OVER "${o}"`:Y`${n} OVER ()`;else{let p=i&&s?" ":"",h=(i||s)&&a?" ":"";c=Y`${n} OVER (${o?`"${o}" `:""}${i}${p}${s}${h}${a})`}r&&(c=Y`(${c})::${r}`);let{_expr:l,_deps:u}=c;super(l,u),this.window=e,this.func=n,this.type=r,this.name=o,this.group=i,this.order=s,this.frame=a}get basis(){return this.column}get label(){let{func:e}=this;return e.label??e.toString()}over(e){let{window:n,func:r,type:o,group:i,order:s,frame:a}=this;return new t(n,r,o,e,i,s,a)}partitionby(...e){let n=e.flat().filter(l=>l).map(_t),r=Y(["PARTITION BY ",gs(n.length-1,", "),""],...n),{window:o,func:i,type:s,name:a,order:c,frame:f}=this;return new t(o,i,s,a,r,c,f)}orderby(...e){let n=e.flat().filter(l=>l).map(_t),r=Y(["ORDER BY ",gs(n.length-1,", "),""],...n),{window:o,func:i,type:s,name:a,group:c,frame:f}=this;return new t(o,i,s,a,c,r,f)}rows(e){let n=E6("ROWS",e),{window:r,func:o,type:i,name:s,group:a,order:c}=this;return new t(r,o,i,s,a,c,n)}range(e){let n=E6("RANGE",e),{window:r,func:o,type:i,name:s,group:a,order:c}=this;return new t(r,o,i,s,a,c,n)}};function E6(t,e){if(mo(e)){let n=Y`${e}`;return n.toString=()=>`${t} ${T6(e.value)}`,n}return`${t} ${T6(e)}`}function T6(t){let[e,n]=t,r=e===0?"CURRENT ROW":Number.isFinite(e)?`${Math.abs(e)} PRECEDING`:"UNBOUNDED PRECEDING",o=n===0?"CURRENT ROW":Number.isFinite(n)?`${Math.abs(n)} FOLLOWING`:"UNBOUNDED FOLLOWING";return`BETWEEN ${r} AND ${o}`}function sr(t,e){return(...n)=>{let r=Re(t)(...n);return new Pf(t,r,e)}}var qI=sr("ROW_NUMBER","INTEGER"),BI=sr("RANK","INTEGER"),zI=sr("DENSE_RANK","INTEGER"),YI=sr("PERCENT_RANK"),UI=sr("CUME_DIST"),jI=sr("NTILE"),XI=sr("LAG"),GI=sr("LEAD"),VI=sr("FIRST_VALUE"),WI=sr("LAST_VALUE"),HI=sr("NTH_VALUE");function St(t,...e){return Y(t,...e).annotate({aggregate:!0})}var D1=class t extends go{constructor(e,n,r,o,i){n=(n||[]).map(_t);let{strings:s,exprs:a}=QI(e,n,r,o,i),{spans:c,cols:f}=R1(s,a);super(c,f),this.aggregate=e,this.args=n,this.type=r,this.isDistinct=o,this.filter=i}get basis(){return this.column}get label(){let{aggregate:e,args:n,isDistinct:r}=this,o=r?"DISTINCT"+(n.length?" ":""):"",i=n.length?`(${o}${n.map(ZI).join(", ")})`:"";return`${e.toLowerCase()}${i}`}distinct(){let{aggregate:e,args:n,type:r,filter:o}=this;return new t(e,n,r,!0,o)}where(e){let{aggregate:n,args:r,type:o,isDistinct:i}=this;return new t(n,r,o,i,e)}window(){let{aggregate:e,args:n,type:r,isDistinct:o}=this,i=new t(e,n,null,o);return new Pf(e,i,r)}partitionby(...e){return this.window().partitionby(...e)}orderby(...e){return this.window().orderby(...e)}rows(e){return this.window().rows(e)}range(e){return this.window().range(e)}};function QI(t,e,n,r,o){let i=`)${n?`::${n}`:""}`,s=[`${t}(${r?"DISTINCT ":""}`],a=[];return e.length?(s=s.concat([...gs(e.length-1,", "),`${i}${o?" FILTER (WHERE ":""}`,...o?[")"]:[]]),a=[...e,...o?[o]:[]]):s[0]+="*"+i,{exprs:a,strings:s}}function ZI(t){let e=ho(t);return e&&e.startsWith('"')&&e.endsWith('"')?e.slice(1,-1):e}function Et(t,e){return(...n)=>new D1(t,n,e)}var En=Et("COUNT","INTEGER"),F1=Et("AVG"),KI=Et("AVG"),JI=Et("MAD"),li=Et("MAX"),ui=Et("MIN"),ar=Et("SUM","DOUBLE"),t$=Et("PRODUCT"),e$=Et("MEDIAN"),n$=Et("QUANTILE"),r$=Et("MODE"),o$=Et("VARIANCE"),P1=Et("STDDEV"),i$=Et("SKEWNESS"),s$=Et("KURTOSIS"),a$=Et("ENTROPY"),c$=Et("VAR_POP"),f$=Et("STDDEV_POP"),l$=Et("CORR"),u$=Et("COVAR_SAMP"),p$=Et("COVAR_POP"),q1=Et("REGR_INTERCEPT"),B1=Et("REGR_SLOPE"),z1=Et("REGR_COUNT"),h$=Et("REGR_R2"),Y1=Et("REGR_SYY"),U1=Et("REGR_SXX"),d$=Et("REGR_SXY"),j1=Et("REGR_AVGX"),m$=Et("REGR_AVGY"),g$=Et("FIRST"),y$=Et("LAST"),Uh=Et("ARG_MIN"),jh=Et("ARG_MAX"),x$=Et("STRING_AGG"),b$=Et("ARRAY_AGG");function I6(t,e){let n=_t(t),r=Y`CAST(${n} AS ${e})`;return Object.defineProperty(r,"label",{enumerable:!0,get(){return t.label}}),Object.defineProperty(r,"aggregate",{enumerable:!0,get(){return t.aggregate||!1}}),r}var Xh=t=>I6(t,"DOUBLE");var X1=t=>Y`epoch_ms(${_t(t)})`;function G1(t,e,n=1){let r=`INTERVAL ${n} ${e}`,o=_t(t);return Y`TIME_BUCKET(${r}, ${o})`.annotate({label:e})}var V1=Re("ST_AsGeoJSON"),w$=Re("ST_X"),v$=Re("ST_Y"),_$=Re("ST_CENTROID");var yt=class t{static select(...e){return new t().select(...e)}static from(...e){return new t().from(...e)}static with(...e){return new t().with(...e)}static union(...e){return new ys("UNION",e.flat())}static unionAll(...e){return new ys("UNION ALL",e.flat())}static intersect(...e){return new ys("INTERSECT",e.flat())}static except(...e){return new ys("EXCEPT",e.flat())}static describe(e){let n=e.clone(),{clone:r,toString:o}=n;return Object.assign(n,{describe:!0,clone:()=>t.describe(r.call(n)),toString:()=>`DESCRIBE ${o.call(n)}`})}constructor(){this.query={with:[],select:[],from:[],where:[],groupby:[],having:[],window:[],qualify:[],orderby:[]},this.cteFor=null}clone(){let e=new t;return e.query={...this.query},e}with(...e){let{query:n}=this;if(e.length===0)return n.with;{let r=[],o=(i,s)=>{let a=s.clone();a.cteFor=this,r.push({as:i,query:a})};return e.flat().forEach(i=>{if(i!=null)if(i.as&&i.query)o(i.as,i.query);else for(let s in i)o(s,i[s])}),n.with=n.with.concat(r),this}}select(...e){let{query:n}=this;if(e.length===0)return n.select;{let r=[];for(let i of e.flat())if(i!=null)if(typeof i=="string")r.push({as:i,expr:_t(i)});else if(i instanceof bn)r.push({as:i.column,expr:i});else if(Array.isArray(i))r.push({as:i[0],expr:i[1]});else for(let s in i)r.push({as:Gh(s),expr:_t(i[s])});let o=new Set(r.map(i=>i.as));return n.select=n.select.filter(i=>!o.has(i.as)).concat(r.filter(i=>i.expr)),this}}$select(...e){return this.query.select=[],this.select(...e)}distinct(e=!0){return this.query.distinct=!!e,this}from(...e){let{query:n}=this;if(e.length===0)return n.from;{let r=[];return e.flat().forEach(o=>{if(o!=null)if(typeof o=="string")r.push({as:o,from:ps(o)});else if(o instanceof bn)r.push({as:o.table,from:o});else if(qf(o)||Bh(o))r.push({from:o});else if(Array.isArray(o))r.push({as:Gh(o[0]),from:ps(o[1])});else for(let i in o)r.push({as:Gh(i),from:ps(o[i])})}),n.from=n.from.concat(r),this}}$from(...e){return this.query.from=[],this.from(...e)}sample(e,n){let{query:r}=this;if(arguments.length===0)return r.sample;{let o=e;return typeof e=="number"&&(o=e>0&&e<1?{perc:100*e,method:n}:{rows:Math.round(e),method:n}),r.sample=o,this}}where(...e){let{query:n}=this;return e.length===0?n.where:(n.where=n.where.concat(e.flat().filter(r=>r)),this)}$where(...e){return this.query.where=[],this.where(...e)}groupby(...e){let{query:n}=this;return e.length===0?n.groupby:(n.groupby=n.groupby.concat(e.flat().filter(r=>r).map(_t)),this)}$groupby(...e){return this.query.groupby=[],this.groupby(...e)}having(...e){let{query:n}=this;return e.length===0?n.having:(n.having=n.having.concat(e.flat().filter(r=>r)),this)}window(...e){let{query:n}=this;if(e.length===0)return n.window;{let r=[];return e.flat().forEach(o=>{if(o!=null)for(let i in o)r.push({as:Gh(i),expr:o[i]})}),n.window=n.window.concat(r),this}}qualify(...e){let{query:n}=this;return e.length===0?n.qualify:(n.qualify=n.qualify.concat(e.flat().filter(r=>r)),this)}orderby(...e){let{query:n}=this;return e.length===0?n.orderby:(n.orderby=n.orderby.concat(e.flat().filter(r=>r).map(_t)),this)}limit(e){let{query:n}=this;return arguments.length===0?n.limit:(n.limit=Number.isFinite(e)?e:void 0,this)}offset(e){let{query:n}=this;return arguments.length===0?n.offset:(n.offset=Number.isFinite(e)?e:void 0,this)}get subqueries(){let{query:e,cteFor:n}=this,o=(n?.query||e).with?.reduce((s,{as:a,query:c})=>(s[a]=c,s),{}),i=[];return e.from.forEach(({from:s})=>{if(qf(s))i.push(s);else if(o[s.table]){let a=o[s.table];i.push(a)}}),i}toString(){let{with:e,select:n,distinct:r,from:o,sample:i,where:s,groupby:a,having:c,window:f,qualify:l,orderby:u,limit:p,offset:h}=this.query,d=[];if(e.length){let g=e.map(({as:y,query:x})=>`"${y}" AS (${x})`);d.push(`WITH ${g.join(", ")}`)}let m=n.map(({as:g,expr:y})=>x6(y,g)&&!y.table?`${y}`:`${y} AS "${g}"`);if(d.push(`SELECT${r?" DISTINCT":""} ${m.join(", ")}`),o.length){let g=o.map(({as:y,from:x})=>{let w=qf(x)?`(${x})`:`${x}`;return!y||y===x.table?w:`${w} AS "${y}"`});d.push(`FROM ${g.join(", ")}`)}if(s.length){let g=s.map(String).filter(y=>y).join(" AND ");g&&d.push(`WHERE ${g}`)}if(i){let{rows:g,perc:y,method:x,seed:w}=i,b=g?`${g} ROWS`:`${y} PERCENT`,_=x?` (${x}${w!=null?`, ${w}`:""})`:"";d.push(`USING SAMPLE ${b}${_}`)}if(a.length&&d.push(`GROUP BY ${a.join(", ")}`),c.length){let g=c.map(String).filter(y=>y).join(" AND ");g&&d.push(`HAVING ${g}`)}if(f.length){let g=f.map(({as:y,expr:x})=>`"${y}" AS (${x})`);d.push(`WINDOW ${g.join(", ")}`)}if(l.length){let g=l.map(String).filter(y=>y).join(" AND ");g&&d.push(`QUALIFY ${g}`)}return u.length&&d.push(`ORDER BY ${u.join(", ")}`),Number.isFinite(p)&&d.push(`LIMIT ${p}`),Number.isFinite(h)&&d.push(`OFFSET ${h}`),d.join(" ")}},ys=class t{constructor(e,n){this.op=e,this.queries=n.map(r=>r.clone()),this.query={orderby:[]},this.cteFor=null}clone(){let e=new t(this.op,this.queries);return e.query={...this.query},e}orderby(...e){let{query:n}=this;return e.length===0?n.orderby:(n.orderby=n.orderby.concat(e.flat().filter(r=>r).map(_t)),this)}limit(e){let{query:n}=this;return arguments.length===0?n.limit:(n.limit=Number.isFinite(e)?e:void 0,this)}offset(e){let{query:n}=this;return arguments.length===0?n.offset:(n.offset=Number.isFinite(e)?e:void 0,this)}get subqueries(){let{queries:e,cteFor:n}=this;return n&&e.forEach(r=>r.cteFor=n),e}toString(){let{op:e,queries:n,query:{orderby:r,limit:o,offset:i}}=this,s=[n.join(` ${e} `)];return r.length&&s.push(`ORDER BY ${r.join(", ")}`),Number.isFinite(o)&&s.push(`LIMIT ${o}`),Number.isFinite(i)&&s.push(`OFFSET ${i}`),s.join(" ")}};function qf(t){return t instanceof yt||t instanceof ys}function W1(t){return qf(t)&&t.describe}function Gh(t){return M$(t)?t.slice(1,-1):t}function M$(t){return t[0]==='"'&&t[t.length-1]==='"'}var Vh=t=>t;function $6(){return{apply:Vh,invert:Vh,sqlApply:_t,sqlInvert:Vh}}function S$({base:t=null}={}){if(t==null||t===Math.E)return{apply:Math.log,invert:Math.exp,sqlApply:e=>Y`LN(${_t(e)})`,sqlInvert:e=>Y`EXP(${e})`};if(t===10)return{apply:Math.log10,invert:e=>Math.pow(10,e),sqlApply:e=>Y`LOG(${_t(e)})`,sqlInvert:e=>Y`POW(10, ${e})`};{let e=+t;return{apply:n=>Math.log(n)/Math.log(e),invert:n=>Math.pow(e,n),sqlApply:n=>Y`LN(${_t(n)}) / LN(${e})`,sqlInvert:n=>Y`POW(${e}, ${n})`}}}function A$({constant:t=1}={}){let e=+t;return{apply:n=>Math.sign(n)*Math.log1p(Math.abs(n)),invert:n=>Math.sign(n)*Math.exp(Math.abs(n)-e),sqlApply:n=>(n=_t(n),Y`SIGN(${n}) * LN(${e} + ABS(${n}))`),sqlInvert:n=>Y`SIGN(${n}) * (EXP(ABS(${n})) - ${e})`}}function E$(){return{apply:t=>Math.sign(t)*Math.sqrt(Math.abs(t)),invert:t=>Math.sign(t)*t*t,sqlApply:t=>(t=_t(t),Y`SIGN(${t}) * SQRT(ABS(${t}))`),sqlInvert:t=>Y`SIGN(${t}) * (${t}) ** 2`}}function T$({exponent:t=1}={}){let e=+t;return{apply:n=>Math.sign(n)*Math.pow(Math.abs(n),e),invert:n=>Math.sign(n)*Math.pow(Math.abs(n),1/e),sqlApply:n=>(n=_t(n),Y`SIGN(${n}) * POW(ABS(${n}), ${e})`),sqlInvert:n=>Y`SIGN(${n}) * POW(ABS(${n}), 1/${e})`}}function C6(){return{apply:t=>+t,invert:t=>new Date(t),sqlApply:t=>t instanceof Date?+t:X1(_t(t)),sqlInvert:Vh}}var I$={identity:$6,linear:$6,log:S$,symlog:A$,sqrt:E$,pow:T$,time:C6,utc:C6};function Bf(t){let e=I$[t.type];return e?{...t,...e(t)}:null}function Wh(t,e,{replace:n=!1,temp:r=!0,view:o=!1}={}){return"CREATE"+(n?" OR REPLACE ":" ")+(r?"TEMP ":"")+(o?"VIEW":"TABLE")+(n?" ":" IF NOT EXISTS ")+t+" AS "+e}function N6(t){if(!t.filterIndexable)return null;let e=t.query(),n=Zh(e,a=>a.from()?.[0].from.table);if(typeof n!="string"||!e.select)return null;let r=[],o=[],i={},s=a=>{let c=a.column;return`(SELECT AVG(${Zh(e,l=>l.select().find(u=>u.as===c)?.expr)??a}) FROM "${n}")`};for(let a of e.select()){let{as:c,expr:{aggregate:f,args:l}}=a,u=f?.toUpperCase?.();switch(u){case"COUNT":case"SUM":r.push({[c]:St`SUM("${c}")::DOUBLE`});break;case"AVG":r.push({[c]:C$(i,c,l[0])});break;case"ARG_MAX":r.push({[c]:k$(i,c,l)});break;case"ARG_MIN":r.push({[c]:N$(i,c,l)});break;case"VARIANCE":case"VAR_SAMP":i[c]=null,r.push({[c]:Hh(i,l[0],s)});break;case"VAR_POP":i[c]=null,r.push({[c]:Hh(i,l[0],s,!1)});break;case"STDDEV":case"STDDEV_SAMP":i[c]=null,r.push({[c]:St`SQRT(${Hh(i,l[0],s)})`});break;case"STDDEV_POP":i[c]=null,r.push({[c]:St`SQRT(${Hh(i,l[0],s,!1)})`});break;case"COVAR_SAMP":i[c]=null,r.push({[c]:Qh(i,l,s)});break;case"COVAR_POP":i[c]=null,r.push({[c]:Qh(i,l,s,!1)});break;case"CORR":i[c]=null,r.push({[c]:k6(i,l,s)});break;case"REGR_COUNT":i[c]=null,r.push({[c]:St`${Ia(i,l)}::DOUBLE`});break;case"REGR_AVGX":i[c]=null,r.push({[c]:L6(i,l)});break;case"REGR_AVGY":i[c]=null,r.push({[c]:D6(i,l)});break;case"REGR_SYY":i[c]=null,r.push({[c]:Q1(i,0,l,s)});break;case"REGR_SXX":i[c]=null,r.push({[c]:Q1(i,1,l,s)});break;case"REGR_SXY":i[c]=null,r.push({[c]:Qh(i,l,s,null)});break;case"REGR_SLOPE":i[c]=null,r.push({[c]:F6(i,l,s)});break;case"REGR_INTERCEPT":i[c]=null,r.push({[c]:O$(i,l,s)});break;case"REGR_R2":i[c]=null,r.push({[c]:St`(${k6(i,l,s)}) ** 2`});break;case"MAX":case"MIN":case"BIT_AND":case"BIT_OR":case"BIT_XOR":case"BOOL_AND":case"BOOL_OR":case"PRODUCT":r.push({[c]:St`${u}("${c}")`});break;default:if(!f)o.push(c);else return null}}return r.length?{from:n,dims:o,aggr:r,aux:i}:null}function cr(t,...e){let n=e.length?"_"+e.map($$).join("_"):"";return`__${t}${n}__`}function $$(t){return`${t}`.replaceAll('"',"").replaceAll(" ","_")}function Zh(t,e){let n=t.subqueries;if(t.select&&n.length===0)return e(t);let r=Zh(n[0],e);for(let o=1;o<n.length;++o){let i=Zh(n[o],e);if(i!==void 0&&i!==r)return NaN}return r}function O6(t,e){let n=cr("count",e);return t[n]=St`COUNT(${e})`,St`SUM(${n})`.annotate({name:n})}function C$(t,e,n){let r=O6(t,n);return St`(SUM("${e}" * ${r.name}) / ${r})`}function k$(t,e,[,n]){let r=cr("max",n);return t[r]=St`MAX(${n})`,St`ARG_MAX("${e}", ${r})`}function N$(t,e,[,n]){let r=cr("min",n);return t[r]=St`MIN(${n})`,St`ARG_MIN("${e}", ${r})`}function Hh(t,e,n,r=!0){let o=O6(t,e),i=cr("rssq",e),s=cr("rsum",e),a=Y`${e} - ${n(e)}`;return t[i]=St`SUM((${a}) ** 2)`,t[s]=St`SUM(${a})`,St`(SUM(${i}) - (SUM(${s}) ** 2 / ${o})) / (${o}${r?" - 1":""})`}function Qh(t,e,n,r=!0){let o=Ia(t,e),i=R6(t,e,n),s=zf(t,1,e,n),a=zf(t,0,e,n),c=r===null?"":r?` / (${o} - 1)`:` / ${o}`;return St`(${i} - ${s} * ${a} / ${o})${c}`}function k6(t,e,n){let r=Ia(t,e),o=R6(t,e,n),i=H1(t,1,e,n),s=H1(t,0,e,n),a=zf(t,1,e,n),c=zf(t,0,e,n),f=St`(${i} - (${a} ** 2) / ${r})`,l=St`(${s} - (${c} ** 2) / ${r})`;return St`(${o} - ${a} * ${c} / ${r}) / SQRT(${f} * ${l})`}function Ia(t,[e,n]){let r=cr("count",e,n);return t[r]=St`REGR_COUNT(${e}, ${n})`,St`SUM(${r})`.annotate({name:r})}function zf(t,e,n,r){let o=n[e],i=n[1-e],s=cr("rs",o);return t[s]=St`SUM(${o} - ${r(o)}) FILTER (${i} IS NOT NULL)`,St`SUM(${s})`}function H1(t,e,n,r){let o=n[e],i=n[1-e],s=cr("rss",o);return t[s]=St`SUM((${o} - ${r(o)}) ** 2) FILTER (${i} IS NOT NULL)`,St`SUM(${s})`}function R6(t,e,n){let[r,o]=e,i=cr("sxy",r,o);return t[i]=St`SUM((${o} - ${n(o)}) * (${r} - ${n(r)}))`,St`SUM(${i})`}function L6(t,e){let[n,r]=e,o=Ia(t,e),i=cr("avg",r,n);return t[i]=St`REGR_AVGX(${n}, ${r})`,St`(SUM(${i} * ${o.name}) / ${o})`}function D6(t,e){let[n,r]=e,o=Ia(t,e),i=cr("avg",n,r);return t[i]=St`REGR_AVGY(${n}, ${r})`,St`(SUM(${i} * ${o.name}) / ${o})`}function Q1(t,e,n,r){let o=Ia(t,n),i=zf(t,e,n,r),s=H1(t,e,n,r);return St`(${s} - (${i} ** 2 / ${o}))`}function F6(t,e,n){let r=Qh(t,e,n,null),o=Q1(t,1,e,n);return St`(${r}) / ${o}`}function O$(t,e,n){let r=L6(t,e),o=D6(t,e),i=F6(t,e,n);return St`${o} - (${i}) * ${r}`}function q6(t){let e=2166136261;for(let n=0,r=t.length;n<r;++n){let o=t.charCodeAt(n),i=o&65280;i&&(e=P6(e^i>>8)),e=P6(e^o&255)}return R$(e)}function P6(t){return t+(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)}function R$(t){return t+=t<<13,t^=t>>>7,t+=t<<3,t^=t>>>17,t+=t<<5,t&4294967295}var L$={skip:!0,result:null},Kh=class{constructor(e,{schema:n="mosaic",enabled:r=!0}={}){this.indexes=new Map,this.active=null,this.mc=e,this._schema=n,this._enabled=r}set enabled(e){this._enabled!==e&&(e||this.clear(),this._enabled=e)}get enabled(){return this._enabled}set schema(e){this._schema!==e&&(this.clear(),this._schema=e)}get schema(){return this._schema}dropIndexTables(){return this.clear(),this.mc.exec(`DROP SCHEMA IF EXISTS "${this.schema}" CASCADE`)}clear(){this.indexes.clear(),this.active=null}index(e,n,r){if(!this.enabled)return null;let{indexes:o,mc:i,schema:s}=this,{source:a}=r;if(!a||this.active&&(this.active.source!==a&&this.clear(),this.active?.source===null))return null;let{active:c}=this;if(!c&&(this.active=c=D$(r),c.source===null))return null;if(o.has(e))return o.get(e);let f=N6(e),l;if(!f)l=null;else if(n.skip(e,r))l=L$;else{let u=n.remove(a).predicate(e);l=q$(e.query(u),c,f,s),l.result=i.exec([`CREATE SCHEMA IF NOT EXISTS ${s}`,Wh(l.table,l.create,{temp:!1})]),l.result.catch(p=>i.logger().error(p))}return o.set(e,l),l}};function D$(t){let{source:e,meta:n}=t,r=t.predicate,o=r?.columns,i,s;if(!n||!o)return{source:null,columns:s,predicate:i};let{type:a,scales:c,bin:f,pixelSize:l=1}=n;if(a==="point")i=u=>u,s=Object.fromEntries(o.map(u=>[`${u}`,_t(u)]));else if(a==="interval"&&c){let u=c.map(p=>P$(p,l,f));u.some(p=>!p)||(u.length===1?(i=p=>p?_e("active0",p.range.map(u[0])):[],s={active0:u[0](r.field)}):(i=p=>p?Un(p.children.map(({range:h},d)=>_e(`active${d}`,h.map(u[d])))):[],s=Object.fromEntries(r.children.map((p,h)=>[`active${h}`,u[h](p.field)]))))}return{source:s?e:null,columns:s,predicate:i}}var F$={ceil:"CEIL",round:"ROUND"};function P$(t,e,n){let{type:r,domain:o,range:i,apply:s,sqlApply:a}=Bf(t);if(!s)return;let c=F$[`${n}`.toLowerCase()]||"FLOOR",f=s(Math.min(...o)),l=s(Math.max(...o)),u=r==="identity"?1:Math.abs(i[1]-i[0])/(l-f),p=u/e===1?"":`${u/e}::DOUBLE * `,h=f===0?"":` - ${f}::DOUBLE`;return d=>Y`${c}(${p}(${a(d)}${h}))::INTEGER`}function q$(t,e,n,r){let{dims:o,aggr:i,aux:s}=n,{columns:a}=e,c=t.select({...a,...s}).groupby(Object.keys(a)),[f]=c.subqueries;if(f){let m=Object.values(a).flatMap(g=>g.columns);B$(f,m)}let l=c.orderby();c.query.orderby=[];let u=c.toString(),p=(q6(u)>>>0).toString(16),h=`${r}.cube_${p}`,d=yt.select(o,i).from(h).groupby(o).orderby(l);return new Z1({id:p,table:h,create:u,active:e,select:d})}function B$(t,e){let n=new Set,r=o=>{n.has(o)||(n.add(o),o.select&&o.from().length&&o.select(e),o.subqueries.forEach(r))};r(t)}var Z1=class{constructor({table:e,create:n,active:r,select:o}={}){this.table=e,this.create=n,this.result=null,this.active=r,this.select=o,this.skip=!1}query(e){return this.select.clone().where(this.active.predicate(e))}};var xs=class extends Promise{constructor(){let e,n;super((r,o)=>{e=r,n=o}),this._resolve=e,this._reject=n}fulfill(e){return this._resolve(e),this}reject(e){return this._reject(e),this}};xs.prototype.constructor=Promise;function z$(t){return(typeof requestAnimationFrame<"u"?requestAnimationFrame:typeof setImmediate<"u"?setImmediate:setTimeout)(t)}function B6(t,e,n){let r=[],o=0;function i(){let s=Y$(r,e);r=[],o=0;for(let a of s)j$(a,t,n),V$(a,e)}return{add(s,a){s.request.type==="arrow"?(o=o||z$(()=>i()),r.push({entry:s,priority:a,index:r.length})):t(s,a)}}}function Y$(t,e){let n=[],r=new Map;for(let o of t){let{entry:{request:i}}=o,s=U$(i.query,e);if(!r.has(s)){let a=[];n.push(a),r.set(s,a)}r.get(s).push(o)}return n}function U$(t,e){let n=`${t}`;if(t instanceof yt&&!e.get(n)){if(t.orderby().length||t.where().length||t.qualify().length||t.having().length)return n;let r=t.clone().$select("*"),o=t.groupby();if(o.length){let i={};t.select().forEach(({as:s,expr:a})=>i[s]=a),r.$groupby(o.map(s=>s instanceof bn&&i[s.column]||s))}else t.select().some(({expr:i})=>i.aggregate)&&r.$groupby("ALL");return`${r}`}else return n}function j$(t,e,n){if(X$(t))e({request:{type:"arrow",cache:!1,record:!1,query:t.query=G$(t,n)},result:t.result=new xs});else for(let{entry:r,priority:o}of t)e(r,o)}function X$(t){if(t.length>1){let e=`${t[0].entry.request.query}`;for(let n=1;n<t.length;++n)if(e!==`${t[n].entry.request.query}`)return!0}return!1}function G$(t,e){let n=t.maps=[],r=new Map;for(let s of t){let{query:a}=s.entry.request,c=[];n.push(c);for(let{as:f,expr:l}of a.select()){let u=`${l}`;r.has(u)||r.set(u,[`col${r.size}`,l]);let[p]=r.get(u);c.push([p,f])}e(`${a}`)}let o=t[0].entry.request.query.clone(),i=o.groupby();if(i.length){let s={};t.maps[0].forEach(([a,c])=>s[c]=a),o.$groupby(i.map(a=>a instanceof bn&&s[a.column]||a))}return o.$select(Array.from(r.values()))}async function V$(t,e){let{maps:n,query:r,result:o}=t;if(!n)return;let i;try{i=await o}catch(a){for(let{entry:c}of t)c.result.reject(a);return}let s=W1(r);t.forEach(({entry:a},c)=>{let{request:f,result:l}=a,u=n[c],p=s&&u?H$(i,u):u?W$(i,u):i;f.cache&&e.set(String(f.query),p),l.fulfill(p)})}function W$(t,e){return t.select(e.map(n=>n[0]),e.map(n=>n[1]))}function H$(t,e){let n=new Map(e),r=[];for(let o of t)n.has(o.column_name)&&r.push({...o,column_name:n.get(o.column_name)});return r}var Q$=typeof requestIdleCallback<"u"?requestIdleCallback:setTimeout,z6=()=>({get:()=>{},set:(t,e)=>e,clear:()=>{}});function Y6({max:t=1e3,ttl:e=3*60*60*1e3}={}){let n=new Map;function r(){let o=performance.now()-e,i=null,s=1/0;for(let[a,c]of n){let{last:f}=c;f<s&&(i=a,s=f),o>f&&n.delete(a)}i&&n.delete(i)}return{get(o){let i=n.get(o);if(i)return i.last=performance.now(),i.value},set(o,i){return n.set(o,{last:performance.now(),value:i}),n.size>t&&Q$(r),i},clear(){n=new Map}}}var Jh=class{constructor(e){this.queue=Array.from({length:e},()=>({head:null,tail:null}))}isEmpty(){return this.queue.every(e=>!e.head)}insert(e,n){let r=this.queue[n];if(!r)throw new Error(`Invalid queue priority rank: ${n}`);let o={item:e,next:null};r.head===null?r.head=r.tail=o:r.tail=r.tail.next=o}remove(e){for(let n of this.queue){let{head:r,tail:o}=n;for(let i=null,s=r;s;i=s,s=s.next)e(s.item)&&(s===r?r=s.next:i.next=s.next,s===o&&(o=i||r));n.head=r,n.tail=o}}next(){for(let e of this.queue){let{head:n}=e;if(n!==null)return e.head=n.next,e.tail===n&&(e.tail=null),n.item}}};var Sr={High:0,Normal:1,Low:2},td=class{constructor(){this.queue=new Jh(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:e,result:n}=this.queue.next();this.pending=this.submit(e,n),this.pending.finally(()=>{this.pending=null,this.next()})}enqueue(e,n=Sr.Normal){this.queue.insert(e,n),this.next()}recordQuery(e){this.recorders.length&&e&&this.recorders.forEach(n=>n.add(e))}async submit(e,n){try{let{query:r,type:o,cache:i=!1,record:s=!0,options:a}=e,c=r?`${r}`:null;if(s&&this.recordQuery(c),i){let u=this.clientCache.get(c);if(u){this._logger.debug("Cache"),n.fulfill(u);return}}let f=performance.now();this._logQueries&&this._logger.debug("Query",{type:o,sql:c,...a});let l=await this.db.query({type:o,sql:c,...a});i&&this.clientCache.set(c,l),this._logger.debug(`Request: ${(performance.now()-f).toFixed(1)}`),n.fulfill(l)}catch(r){n.reject(r)}}cache(e){return e!==void 0?this.clientCache=e===!0?Y6():e||z6():this.clientCache}logger(e){return e?this._logger=e:this._logger}logQueries(e){return e!==void 0?this._logQueries=!!e:this._logQueries}connector(e){return e?this.db=e:this.db}consolidate(e){e&&!this._consolidate?this._consolidate=B6(this.enqueue.bind(this),this.clientCache,this.recordQuery.bind(this)):!e&&this._consolidate&&(this._consolidate=null)}request(e,n=Sr.Normal){let r=new xs,o={request:e,result:r};return this._consolidate?this._consolidate.add(o,n):this.enqueue(o,n),r}cancel(e){let n=new Set(e);n.size&&this.queue.remove(({result:r})=>n.has(r)?(r.reject("Canceled"),!0):!1)}clear(){this.queue.remove(({result:e})=>(e.reject("Cleared"),!0))}record(){let e=[],n={add(r){e.push(r)},reset(){e=[]},snapshot(){return e.slice()},stop(){return this.recorders=this.recorders.filter(r=>r!==n),e}};return this.recorders.push(n),n}};function K1(t){switch(t){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(t.startsWith("DECIMAL"))return"number";if(t.startsWith("STRUCT")||t.startsWith("MAP"))return"object";if(t.endsWith("]"))return"array";throw new Error(`Unsupported type: ${t}`)}}var Z$="count",K$="nulls",J$="max",tC="min",eC="distinct";var nC={[Z$]:En,[eC]:t=>En(t).distinct(),[J$]:li,[tC]:ui,[K$]:t=>En().where(Df(t))};function rC(t,e,n){return yt.from(t).select(Array.from(n,r=>[r,nC[r](e)]))}async function U6(t,e){return e.length===1&&`${e[0].column}`=="*"?iC(t,e[0].table):(await Promise.all(e.map(n=>oC(t,n)))).filter(n=>n)}async function oC(t,{table:e,column:n,stats:r}){let o=yt.from({source:e}).select({column:n}).groupby(n.aggregate?Y`ALL`:[]),[i]=Array.from(await t.query(yt.describe(o))),s={table:e,column:`${n}`,sqlType:i.column_type,type:K1(i.column_type),nullable:i.null==="YES"};if(!(r?.length||r?.size))return s;let[a]=await t.query(rC(e,n,r),{persist:!0});return Object.assign(s,a)}async function iC(t,e){let n=await t.query(`DESCRIBE ${ps(e)}`);return Array.from(n).map(r=>({table:e,column:r.column_name,sqlType:r.column_type,type:K1(r.column_type),nullable:r.null==="YES"}))}function j6(){return{debug(){},info(){},log(){},warn(){},error(){}}}var ed;function J1(t){return t?ed=t:ed==null&&(ed=new nd),ed}var nd=class{constructor(e=O1(),{logger:n=console,manager:r=new td,cache:o=!0,consolidate:i=!0,indexes:s={}}={}){this.manager=r,this.manager.cache(o),this.manager.consolidate(i),this.databaseConnector(e),this.logger(n),this.clear(),this.dataCubeIndexer=new Kh(this,s)}clear({clients:e=!0,cache:n=!0}={}){this.manager.clear(),e&&(this.filterGroups?.forEach(r=>r.disconnect()),this.filterGroups=new Map,this.clients?.forEach(r=>this.disconnect(r)),this.clients=new Set),n&&this.manager.cache().clear()}databaseConnector(e){return this.manager.connector(e)}logger(e){return arguments.length&&(this._logger=e||j6(),this.manager.logger(this._logger)),this._logger}cancel(e){this.manager.cancel(e)}exec(e,{priority:n=Sr.Normal}={}){return e=Array.isArray(e)?e.filter(r=>r).join(`;
2
- `):e,this.manager.request({type:"exec",query:e},n)}query(e,{type:n="arrow",cache:r=!0,priority:o=Sr.Normal,...i}={}){return this.manager.request({type:n,query:e,cache:r,options:i},o)}prefetch(e,n={}){return this.query(e,{...n,cache:!0,priority:Sr.Low})}createBundle(e,n,r=Sr.Low){let o={name:e,queries:n.map(i=>typeof i=="string"?{sql:i}:i)};return this.manager.request({type:"create-bundle",options:o},r)}loadBundle(e,n=Sr.High){let r={name:e};return this.manager.request({type:"load-bundle",options:r},n)}updateClient(e,n,r=Sr.Normal){return e.queryPending(),this.query(n,{priority:r}).then(o=>e.queryResult(o).update(),o=>{this._logger.error(o),e.queryError(o)}).catch(o=>this._logger.error(o))}requestQuery(e,n){return this.dataCubeIndexer.clear(),n?this.updateClient(e,n):Promise.resolve(e.update())}async connect(e){let{clients:n}=this;if(n.has(e))throw new Error("Client already connected.");n.add(e),e.coordinator=this,this.initializeClient(e),sC(this,e.filterBy,e)}async initializeClient(e){let n=e.fields();return n?.length&&e.fieldInfo(await U6(this,n)),e.requestQuery()}disconnect(e){let{clients:n,filterGroups:r}=this;if(!n.has(e))return;n.delete(e),e.coordinator=null;let o=r.get(e.filterBy);o&&o.clients.delete(e)}};function sC(t,e,n){if(!e)return;let r=t.filterGroups.get(e);if(!r){let o=s=>aC(t,e,s),i=()=>cC(t,e);e.addEventListener("activate",o),e.addEventListener("value",i),r={selection:e,clients:new Set,disconnect(){e.removeEventListener("activate",o),e.removeEventListener("value",i)}},t.filterGroups.set(e,r)}r.clients.add(n)}function aC(t,e,n){let{dataCubeIndexer:r,filterGroups:o}=t,{clients:i}=o.get(e);for(let s of i)r.index(s,e,n)}function cC(t,e){let{dataCubeIndexer:n,filterGroups:r}=t,{clients:o}=r.get(e),{active:i}=e;return Promise.allSettled(Array.from(o,s=>{let a=n.index(s,e,i),c=a?null:e.predicate(s);if(a?.skip||!a&&!c)return;let f=a?.query(i.predicate)??s.query(c);return t.updateClient(s,f)}))}var rd=class{constructor(){this._callbacks=new Map}addEventListener(e,n){this._callbacks.has(e)||this._callbacks.set(e,{callbacks:new Set,pending:null,queue:new tx}),this._callbacks.get(e).callbacks.add(n)}removeEventListener(e,n){let r=this._callbacks.get(e);r&&r.callbacks.delete(n)}willEmit(e,n){return n}emitQueueFilter(e,n){return null}cancel(e){this._callbacks.get(e)?.queue.clear()}async pending(e){await this._callbacks.get(e)?.pending}emit(e,n){let r=this._callbacks.get(e)||{};if(r.pending)r.queue.enqueue(n,this.emitQueueFilter(e,n));else{let o=this.willEmit(e,n),{callbacks:i,queue:s}=r;if(i?.size){let a=Array.from(i,c=>c(o));r.pending=Promise.allSettled(a).then(()=>{r.pending=null,s.isEmpty()||this.emit(e,s.dequeue())})}}}},tx=class{constructor(){this.clear()}clear(){this.next=null}isEmpty(){return!this.next}enqueue(e,n){let r={value:e};if(n&&this.next){let o=this;for(;o.next;)n(o.next.value)?o=o.next:o.next=o.next.next;o.next=r}else this.next=r}dequeue(){let{next:e}=this;return this.next=e?.next,e?.value}};function Yf(t,e){return t===e?!1:t instanceof Date&&e instanceof Date?+t!=+e:Array.isArray(t)&&Array.isArray(e)?fC(t,e):!0}function fC(t,e){if(t.length!==e.length)return!0;for(let n=0;n<t.length;++n)if(t[n]!==e[n])return!0;return!1}function $a(t){return t instanceof Ca}var Ca=class t extends rd{constructor(e){super(),this._value=e}static value(e){return new t(e)}static array(e){if(e.some(n=>$a(n))){let n=new t,r=()=>{n.update(e.map(o=>$a(o)?o.value:o))};return r(),e.forEach(o=>$a(o)?o.addEventListener("value",r):0),n}return new t(e)}get value(){return this._value}update(e,{force:n}={}){return Yf(this._value,e)||n?this.emit("value",e):this.cancel("value"),this}willEmit(e,n){return e==="value"&&(this._value=n),n}};function ex(t){return t instanceof pi}function od(t,e){return new pi(new id(t),e&&[e].flat())}var pi=class t extends Ca{static intersect({cross:e=!1,empty:n=!1,include:r=[]}={}){return od({cross:e,empty:n},r)}static union({cross:e=!1,empty:n=!1,include:r=[]}={}){return od({cross:e,empty:n,union:!0},r)}static single({cross:e=!1,empty:n=!1,include:r=[]}={}){return od({cross:e,empty:n,single:!0},r)}static crossfilter({empty:e=!1,include:n=[]}={}){return od({cross:!0,empty:e},n)}constructor(e=new id,n=[]){if(super([]),this._resolved=this._value,this._resolver=e,this._relay=new Set,Array.isArray(n))for(let r of n)r._relay.add(this)}clone(){let e=new t(this._resolver);return e._value=e._resolved=this._value,e}remove(e){let n=this.clone();return n._value=n._resolved=n._resolver.resolve(this._resolved,{source:e}),n._value.active={source:e},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(e){return this.clauses.find(n=>n.source===e)?.value}activate(e){this.emit("activate",e),this._relay.forEach(n=>n.activate(e))}update(e){return this._resolved=this._resolver.resolve(this._resolved,e,!0),this._resolved.active=e,this._relay.forEach(n=>n.update(e)),super.update(this._resolved)}willEmit(e,n){return e==="value"?(this._value=n,this.value):n}emitQueueFilter(e,n){return e==="value"?this._resolver.queueFilter(n):null}skip(e,n){return this._resolver.skip(e,n)}predicate(e,n=!1){let{clauses:r}=this,o=n?null:r.active;return this._resolver.predicate(r,o,e)}},id=class{constructor({union:e,cross:n,single:r,empty:o}={}){this.union=!!e,this.cross=!!n,this.single=!!r,this.empty=!!o}resolve(e,n,r=!1){let{source:o,predicate:i}=n,s=e.filter(c=>o!==c.source),a=this.single?[]:s;return this.single&&r&&s.forEach(c=>c.source?.reset?.()),i&&a.push(n),a}skip(e,n){return this.cross&&n?.clients?.has(e)}predicate(e,n,r){let{empty:o,union:i}=this;if(o&&!e.length)return["FALSE"];if(this.skip(r,n))return;let s=e.filter(a=>!this.skip(r,a)).map(a=>a.predicate);return i&&s.length>1?Lf(s):s}queueFilter(e){if(this.cross){let n=e.active?.source;return r=>r.active?.source!==n}return null}};function nx(t,e,{source:n,clients:r=n?new Set([n]):void 0}){let o=e!==void 0?Yh(t,zh(e)):null;return{meta:{type:"point"},source:n,clients:r,value:e,predicate:o}}function Uf(t,e,{source:n,clients:r=n?new Set([n]):void 0}){let o=null;if(e){let i=e.map(s=>{let a=s.map((c,f)=>Yh(t[f],zh(c)));return a.length>1?Un(a):a[0]});o=i.length>1?Lf(i):i[0]}return{meta:{type:"point"},source:n,clients:r,value:e,predicate:o}}function jf(t,e,{source:n,clients:r=n?new Set([n]):void 0,bin:o,scale:i,pixelSize:s=1}){let a=e!=null?_e(t,e):null;return{meta:{type:"interval",scales:i&&[i],bin:o,pixelSize:s},source:n,clients:r,value:e,predicate:a}}function rx(t,e,{source:n,clients:r=n?new Set([n]):void 0,bin:o,scales:i=[],pixelSize:s=1}){let a=e!=null?Un(t.map((f,l)=>_e(f,e[l]))):null;return{meta:{type:"interval",scales:i,bin:o,pixelSize:s},source:n,clients:r,value:e,predicate:a}}function ox(t){return typeof t?.getChild=="function"}function ix(){let t=new Set,e,n=new Promise(r=>e=r);return{pending(r){t.add(r)},ready(r){return t.delete(r),t.size===0},resolve(){n=new Promise(r=>{e(),e=r})},get promise(){return n}}}function jn(t){return ox(t)?lC(t):uC(t)}function lC(t){let{numRows:e}=t;return{numRows:e,columns:t.toColumns()}}function uC(t){let e=t.length;if(typeof t[0]=="object"){let n=e?Object.keys(t[0]):[],r={};return n.length>0&&n.forEach(o=>{r[o]=t.map(i=>i[o])}),{numRows:e,columns:r}}else return{numRows:e,values:t}}var l_={};N9(l_,{Area:()=>la,Arrow:()=>sp,BarX:()=>ua,BarY:()=>pa,Cell:()=>ha,Contour:()=>yp,Density:()=>wp,Dot:()=>da,Frame:()=>Ju,Geo:()=>vp,Hexgrid:()=>_p,Image:()=>Mp,Line:()=>ma,Link:()=>op,Mark:()=>lt,Raster:()=>hp,Rect:()=>fa,RuleX:()=>ju,RuleY:()=>Xu,Text:()=>sa,TickX:()=>fp,TickY:()=>lp,Tip:()=>tp,Vector:()=>ca,WaffleX:()=>Ap,WaffleY:()=>Ep,area:()=>rp,areaX:()=>ts,areaY:()=>ti,arrow:()=>YA,auto:()=>JA,autoSpec:()=>Lv,axisFx:()=>sy,axisFy:()=>iy,axisX:()=>Vu,axisY:()=>Gu,barX:()=>ro,barY:()=>oo,bin:()=>Jo,binX:()=>eo,binY:()=>no,bollinger:()=>os,bollingerX:()=>iE,bollingerY:()=>sE,boxX:()=>aE,boxY:()=>cE,cell:()=>es,cellX:()=>jA,cellY:()=>XA,centroid:()=>Oy,circle:()=>WA,cluster:()=>sT,column:()=>$e,contour:()=>yE,crosshair:()=>wE,crosshairX:()=>vE,crosshairY:()=>_E,delaunayLink:()=>AE,delaunayMesh:()=>EE,density:()=>kE,differenceX:()=>RE,differenceY:()=>LE,dodgeX:()=>ET,dodgeY:()=>TT,dot:()=>or,dotX:()=>GA,dotY:()=>VA,filter:()=>tS,find:()=>fS,formatIsoDate:()=>sv,formatMonth:()=>d7,formatNumber:()=>iv,formatWeekday:()=>m7,frame:()=>Zc,geo:()=>Ry,geoCentroid:()=>FE,graticule:()=>qE,gridFx:()=>ly,gridFy:()=>cy,gridX:()=>fy,gridY:()=>ay,group:()=>Du,groupX:()=>qi,groupY:()=>Bi,groupZ:()=>Lu,hexagon:()=>HA,hexbin:()=>BE,hexgrid:()=>zE,hull:()=>TE,identity:()=>G,image:()=>UE,indexOf:()=>Yt,initializer:()=>jt,interpolateNearest:()=>mp,interpolateNone:()=>Ny,interpolatorBarycentric:()=>dp,interpolatorRandomWalk:()=>gp,legend:()=>lA,line:()=>ga,lineX:()=>ns,lineY:()=>rs,linearRegressionX:()=>GE,linearRegressionY:()=>VE,link:()=>My,map:()=>_n,mapX:()=>rf,mapY:()=>of,marks:()=>ge,normalize:()=>Uy,normalizeX:()=>kT,normalizeY:()=>NT,numberInterval:()=>Mw,plot:()=>Kc,pointer:()=>Gi,pointerX:()=>Vi,pointerY:()=>Zo,raster:()=>hE,rect:()=>Ku,rectX:()=>Hc,rectY:()=>Qc,reverse:()=>eS,ruleX:()=>Fn,ruleY:()=>Pn,scale:()=>zi,select:()=>DT,selectFirst:()=>$p,selectLast:()=>Cp,selectMaxX:()=>Vy,selectMaxY:()=>Wy,selectMinX:()=>Xy,selectMinY:()=>Gy,shiftX:()=>OT,shiftY:()=>RT,shuffle:()=>nS,sort:()=>Tg,sphere:()=>PE,spike:()=>j7,stackX:()=>Sv,stackX1:()=>gA,stackX2:()=>yA,stackY:()=>Av,stackY1:()=>xA,stackY2:()=>bA,text:()=>to,textX:()=>Kg,textY:()=>Jg,tickX:()=>$y,tickY:()=>Cy,timeInterval:()=>$u,tip:()=>yy,transform:()=>me,tree:()=>e_,treeLink:()=>qy,treeNode:()=>Sp,utcInterval:()=>Qs,valueof:()=>ft,vector:()=>vv,vectorX:()=>ny,vectorY:()=>ry,voronoi:()=>IE,voronoiMesh:()=>$E,waffleX:()=>pT,waffleY:()=>hT,window:()=>sf,windowX:()=>tE,windowY:()=>eE});function ht(t,e){return t==null||e==null?NaN:t<e?-1:t>e?1:t>=e?0:NaN}function en(t,e){return t==null||e==null?NaN:e<t?-1:e>t?1:e>=t?0:NaN}function fr(t){let e,n,r;t.length!==2?(e=ht,n=(a,c)=>ht(t(a),c),r=(a,c)=>t(a)-c):(e=t===ht||t===en?t:pC,n=t,r=t);function o(a,c,f=0,l=a.length){if(f<l){if(e(c,c)!==0)return l;do{let u=f+l>>>1;n(a[u],c)<0?f=u+1:l=u}while(f<l)}return f}function i(a,c,f=0,l=a.length){if(f<l){if(e(c,c)!==0)return l;do{let u=f+l>>>1;n(a[u],c)<=0?f=u+1:l=u}while(f<l)}return f}function s(a,c,f=0,l=a.length){let u=o(a,c,f,l-1);return u>f&&r(a[u-1],c)>-r(a[u],c)?u-1:u}return{left:o,center:s,right:i}}function pC(){return 0}function Xf(t){return t===null?NaN:+t}function*X6(t,e){if(e===void 0)for(let n of t)n!=null&&(n=+n)>=n&&(yield n);else{let n=-1;for(let r of t)(r=e(r,++n,t))!=null&&(r=+r)>=r&&(yield r)}}var G6=fr(ht),V6=G6.right,hC=G6.left,dC=fr(Xf).center,yo=V6;var Gf=W6(H6),sx=W6(mC);function W6(t){return function(e,n,r=n){if(!((n=+n)>=0))throw new RangeError("invalid rx");if(!((r=+r)>=0))throw new RangeError("invalid ry");let{data:o,width:i,height:s}=e;if(!((i=Math.floor(i))>=0))throw new RangeError("invalid width");if(!((s=Math.floor(s!==void 0?s:o.length/i))>=0))throw new RangeError("invalid height");if(!i||!s||!n&&!r)return e;let a=n&&t(n),c=r&&t(r),f=o.slice();return a&&c?(ka(a,f,o,i,s),ka(a,o,f,i,s),ka(a,f,o,i,s),Na(c,o,f,i,s),Na(c,f,o,i,s),Na(c,o,f,i,s)):a?(ka(a,o,f,i,s),ka(a,f,o,i,s),ka(a,o,f,i,s)):c&&(Na(c,o,f,i,s),Na(c,f,o,i,s),Na(c,o,f,i,s)),e}}function ka(t,e,n,r,o){for(let i=0,s=r*o;i<s;)t(e,n,i,i+=r,1)}function Na(t,e,n,r,o){for(let i=0,s=r*o;i<r;++i)t(e,n,i,i+s,r)}function mC(t){let e=H6(t);return(n,r,o,i,s)=>{o<<=2,i<<=2,s<<=2,e(n,r,o+0,i+0,s),e(n,r,o+1,i+1,s),e(n,r,o+2,i+2,s),e(n,r,o+3,i+3,s)}}function H6(t){let e=Math.floor(t);if(e===t)return gC(t);let n=t-e,r=2*t+1;return(o,i,s,a,c)=>{if(!((a-=c)>=s))return;let f=e*i[s],l=c*e,u=l+c;for(let p=s,h=s+l;p<h;p+=c)f+=i[Math.min(a,p)];for(let p=s,h=a;p<=h;p+=c)f+=i[Math.min(a,p+l)],o[p]=(f+n*(i[Math.max(s,p-u)]+i[Math.min(a,p+u)]))/r,f-=i[Math.max(s,p-l)]}}function gC(t){let e=2*t+1;return(n,r,o,i,s)=>{if(!((i-=s)>=o))return;let a=t*r[o],c=s*t;for(let f=o,l=o+c;f<l;f+=s)a+=r[Math.min(i,f)];for(let f=o,l=i;f<=l;f+=s)a+=r[Math.min(i,f+c)],n[f]=a/e,a-=r[Math.max(o,f-c)]}}function Ar(t,e){let n=0;if(e===void 0)for(let r of t)r!=null&&(r=+r)>=r&&++n;else{let r=-1;for(let o of t)(o=e(o,++r,t))!=null&&(o=+o)>=o&&++n}return n}function yC(t){return t.length|0}function xC(t){return!(t>0)}function bC(t){return typeof t!="object"||"length"in t?t:Array.from(t)}function wC(t){return e=>t(...e)}function sd(...t){let e=typeof t[t.length-1]=="function"&&wC(t.pop());t=t.map(bC);let n=t.map(yC),r=t.length-1,o=new Array(r+1).fill(0),i=[];if(r<0||n.some(xC))return i;for(;;){i.push(o.map((a,c)=>t[c][a]));let s=r;for(;++o[s]===n[s];){if(s===0)return e?i.map(e):i;o[s--]=0}}}function ad(t,e){var n=0,r=0;return Float64Array.from(t,e===void 0?o=>n+=+o||0:o=>n+=+e(o,r++,t)||0)}function hi(t,e){let n=0,r,o=0,i=0;if(e===void 0)for(let s of t)s!=null&&(s=+s)>=s&&(r=s-o,o+=r/++n,i+=r*(s-o));else{let s=-1;for(let a of t)(a=e(a,++s,t))!=null&&(a=+a)>=a&&(r=a-o,o+=r/++n,i+=r*(a-o))}if(n>1)return i/(n-1)}function Xn(t,e){let n=hi(t,e);return n&&Math.sqrt(n)}function kt(t,e){let n,r;if(e===void 0)for(let o of t)o!=null&&(n===void 0?o>=o&&(n=r=o):(n>o&&(n=o),r<o&&(r=o)));else{let o=-1;for(let i of t)(i=e(i,++o,t))!=null&&(n===void 0?i>=i&&(n=r=i):(n>i&&(n=i),r<i&&(r=i)))}return[n,r]}var Le=class{constructor(){this._partials=new Float64Array(32),this._n=0}add(e){let n=this._partials,r=0;for(let o=0;o<this._n&&o<32;o++){let i=n[o],s=e+i,a=Math.abs(e)<Math.abs(i)?e-(s-i):i-(s-e);a&&(n[r++]=a),e=s}return n[r]=e,this._n=r+1,this}valueOf(){let e=this._partials,n=this._n,r,o,i,s=0;if(n>0){for(s=e[--n];n>0&&(r=s,o=e[--n],s=r+o,i=o-(s-r),!i););n>0&&(i<0&&e[n-1]<0||i>0&&e[n-1]>0)&&(o=i*2,r=s+o,o==r-s&&(s=r))}return s}};var nn=class extends Map{constructor(e,n=K6){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:n}}),e!=null)for(let[r,o]of e)this.set(r,o)}get(e){return super.get(ax(this,e))}has(e){return super.has(ax(this,e))}set(e,n){return super.set(Q6(this,e),n)}delete(e){return super.delete(Z6(this,e))}},rn=class extends Set{constructor(e,n=K6){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:n}}),e!=null)for(let r of e)this.add(r)}has(e){return super.has(ax(this,e))}add(e){return super.add(Q6(this,e))}delete(e){return super.delete(Z6(this,e))}};function ax({_intern:t,_key:e},n){let r=e(n);return t.has(r)?t.get(r):n}function Q6({_intern:t,_key:e},n){let r=e(n);return t.has(r)?t.get(r):(t.set(r,n),n)}function Z6({_intern:t,_key:e},n){let r=e(n);return t.has(r)&&(n=t.get(r),t.delete(r)),n}function K6(t){return t!==null&&typeof t=="object"?t.valueOf():t}function Vf(t){return t}function De(t,...e){return fx(t,Vf,Vf,e)}function lr(t,e,...n){return fx(t,Vf,e,n)}function cx(t,e,...n){return fx(t,Array.from,e,n)}function fx(t,e,n,r){return function o(i,s){if(s>=r.length)return n(i);let a=new nn,c=r[s++],f=-1;for(let l of i){let u=c(l,++f,i),p=a.get(u);p?p.push(l):a.set(u,[l])}for(let[l,u]of a)a.set(l,o(u,s));return e(a)}(t,0)}function lx(t,e){return Array.from(e,n=>t[n])}function xo(t,...e){if(typeof t[Symbol.iterator]!="function")throw new TypeError("values is not iterable");t=Array.from(t);let[n]=e;if(n&&n.length!==2||e.length>1){let r=Uint32Array.from(t,(o,i)=>i);return e.length>1?(e=e.map(o=>t.map(o)),r.sort((o,i)=>{for(let s of e){let a=bs(s[o],s[i]);if(a)return a}})):(n=t.map(n),r.sort((o,i)=>bs(n[o],n[i]))),lx(t,r)}return t.sort(Wf(n))}function Wf(t=ht){if(t===ht)return bs;if(typeof t!="function")throw new TypeError("compare is not a function");return(e,n)=>{let r=t(e,n);return r||r===0?r:(t(n,n)===0)-(t(e,e)===0)}}function bs(t,e){return(t==null||!(t>=t))-(e==null||!(e>=e))||(t<e?-1:t>e?1:0)}function Oa(t,e,n){return(e.length!==2?xo(lr(t,e,n),([r,o],[i,s])=>ht(o,s)||ht(r,i)):xo(De(t,n),([r,o],[i,s])=>e(o,s)||ht(r,i))).map(([r])=>r)}var vC=Math.sqrt(50),_C=Math.sqrt(10),MC=Math.sqrt(2);function cd(t,e,n){let r=(e-t)/Math.max(0,n),o=Math.floor(Math.log10(r)),i=r/Math.pow(10,o),s=i>=vC?10:i>=_C?5:i>=MC?2:1,a,c,f;return o<0?(f=Math.pow(10,-o)/s,a=Math.round(t*f),c=Math.round(e*f),a/f<t&&++a,c/f>e&&--c,f=-f):(f=Math.pow(10,o)*s,a=Math.round(t/f),c=Math.round(e/f),a*f<t&&++a,c*f>e&&--c),c<a&&.5<=n&&n<2?cd(t,e,n*2):[a,c,f]}function Fe(t,e,n){if(e=+e,t=+t,n=+n,!(n>0))return[];if(t===e)return[t];let r=e<t,[o,i,s]=r?cd(e,t,n):cd(t,e,n);if(!(i>=o))return[];let a=i-o+1,c=new Array(a);if(r)if(s<0)for(let f=0;f<a;++f)c[f]=(i-f)/-s;else for(let f=0;f<a;++f)c[f]=(i-f)*s;else if(s<0)for(let f=0;f<a;++f)c[f]=(o+f)/-s;else for(let f=0;f<a;++f)c[f]=(o+f)*s;return c}function bo(t,e,n){return e=+e,t=+t,n=+n,cd(t,e,n)[2]}function Ra(t,e,n){e=+e,t=+t,n=+n;let r=e<t,o=r?bo(e,t,n):bo(t,e,n);return(r?-1:1)*(o<0?1/-o:o)}function La(t,e,n){let r;for(;;){let o=bo(t,e,n);if(o===r||o===0||!isFinite(o))return[t,e];o>0?(t=Math.floor(t/o)*o,e=Math.ceil(e/o)*o):o<0&&(t=Math.ceil(t*o)/o,e=Math.floor(e*o)/o),r=o}}function di(t){return Math.max(1,Math.ceil(Math.log(Ar(t))/Math.LN2)+1)}function Tt(t,e){let n;if(e===void 0)for(let r of t)r!=null&&(n<r||n===void 0&&r>=r)&&(n=r);else{let r=-1;for(let o of t)(o=e(o,++r,t))!=null&&(n<o||n===void 0&&o>=o)&&(n=o)}return n}function fd(t,e){let n,r=-1,o=-1;if(e===void 0)for(let i of t)++o,i!=null&&(n<i||n===void 0&&i>=i)&&(n=i,r=o);else for(let i of t)(i=e(i,++o,t))!=null&&(n<i||n===void 0&&i>=i)&&(n=i,r=o);return r}function Ft(t,e){let n;if(e===void 0)for(let r of t)r!=null&&(n>r||n===void 0&&r>=r)&&(n=r);else{let r=-1;for(let o of t)(o=e(o,++r,t))!=null&&(n>o||n===void 0&&o>=o)&&(n=o)}return n}function ld(t,e){let n,r=-1,o=-1;if(e===void 0)for(let i of t)++o,i!=null&&(n>i||n===void 0&&i>=i)&&(n=i,r=o);else for(let i of t)(i=e(i,++o,t))!=null&&(n>i||n===void 0&&i>=i)&&(n=i,r=o);return r}function ud(t,e,n=0,r=1/0,o){if(e=Math.floor(e),n=Math.floor(Math.max(0,n)),r=Math.floor(Math.min(t.length-1,r)),!(n<=e&&e<=r))return t;for(o=o===void 0?bs:Wf(o);r>n;){if(r-n>600){let c=r-n+1,f=e-n+1,l=Math.log(c),u=.5*Math.exp(2*l/3),p=.5*Math.sqrt(l*u*(c-u)/c)*(f-c/2<0?-1:1),h=Math.max(n,Math.floor(e-f*u/c+p)),d=Math.min(r,Math.floor(e+(c-f)*u/c+p));ud(t,e,h,d,o)}let i=t[e],s=n,a=r;for(Hf(t,n,e),o(t[r],i)>0&&Hf(t,n,r);s<a;){for(Hf(t,s,a),++s,--a;o(t[s],i)<0;)++s;for(;o(t[a],i)>0;)--a}o(t[n],i)===0?Hf(t,n,a):(++a,Hf(t,a,r)),a<=e&&(n=a+1),e<=a&&(r=a-1)}return t}function Hf(t,e,n){let r=t[e];t[e]=t[n],t[n]=r}function ws(t,e=ht){let n,r=!1;if(e.length===1){let o;for(let i of t){let s=e(i);(r?ht(s,o)>0:ht(s,s)===0)&&(n=i,o=s,r=!0)}}else for(let o of t)(r?e(o,n)>0:e(o,o)===0)&&(n=o,r=!0);return n}function on(t,e,n){if(t=Float64Array.from(X6(t,n)),!(!(r=t.length)||isNaN(e=+e))){if(e<=0||r<2)return Ft(t);if(e>=1)return Tt(t);var r,o=(r-1)*e,i=Math.floor(o),s=Tt(ud(t,i).subarray(0,i+1)),a=Ft(t.subarray(i+1));return s+(a-s)*(o-i)}}function ux(t,e,n=Xf){if(!(!(r=t.length)||isNaN(e=+e))){if(e<=0||r<2)return+n(t[0],0,t);if(e>=1)return+n(t[r-1],r-1,t);var r,o=(r-1)*e,i=Math.floor(o),s=+n(t[i],i,t),a=+n(t[i+1],i+1,t);return s+(a-s)*(o-i)}}function pd(t,e,n){let r=Ar(t),o=on(t,.75)-on(t,.25);return r&&o?Math.ceil((n-e)/(2*o*Math.pow(r,-1/3))):1}function Qf(t,e,n){let r=Ar(t),o=Xn(t);return r&&o?Math.ceil((n-e)*Math.cbrt(r)/(3.49*o)):1}function wo(t,e){let n=0,r=0;if(e===void 0)for(let o of t)o!=null&&(o=+o)>=o&&(++n,r+=o);else{let o=-1;for(let i of t)(i=e(i,++o,t))!=null&&(i=+i)>=i&&(++n,r+=i)}if(n)return r/n}function ur(t,e){return on(t,.5,e)}function*AC(t){for(let e of t)yield*e}function Da(t){return Array.from(AC(t))}function Fa(t,e){let n=new nn;if(e===void 0)for(let i of t)i!=null&&i>=i&&n.set(i,(n.get(i)||0)+1);else{let i=-1;for(let s of t)(s=e(s,++i,t))!=null&&s>=s&&n.set(s,(n.get(s)||0)+1)}let r,o=0;for(let[i,s]of n)s>o&&(o=s,r=i);return r}function hd(t,e=EC){let n=[],r,o=!1;for(let i of t)o&&n.push(e(r,i)),r=i,o=!0;return n}function EC(t,e){return[t,e]}function ie(t,e,n){t=+t,e=+e,n=(o=arguments.length)<2?(e=t,t=0,1):o<3?1:+n;for(var r=-1,o=Math.max(0,Math.ceil((e-t)/n))|0,i=new Array(o);++r<o;)i[r]=t+r*n;return i}function Zf(t,e=ht){if(typeof t[Symbol.iterator]!="function")throw new TypeError("values is not iterable");let n=Array.from(t),r=new Float64Array(n.length);e.length!==2&&(n=n.map(e),e=ht);let o=(a,c)=>e(n[a],n[c]),i,s;return t=Uint32Array.from(n,(a,c)=>c),t.sort(e===ht?(a,c)=>bs(n[a],n[c]):Wf(o)),t.forEach((a,c)=>{let f=o(a,i===void 0?a:i);f>=0?((i===void 0||f>0)&&(i=a,s=c),r[a]=s):r[a]=NaN}),r}function dd(t,e=ht){let n,r=!1;if(e.length===1){let o;for(let i of t){let s=e(i);(r?ht(s,o)<0:ht(s,s)===0)&&(n=i,o=s,r=!0)}}else for(let o of t)(r?e(o,n)<0:e(o,o)===0)&&(n=o,r=!0);return n}function Pe(t,e){let n=0;if(e===void 0)for(let r of t)(r=+r)&&(n+=r);else{let r=-1;for(let o of t)(o=+e(o,++r,t))&&(n+=o)}return n}function mi(t){if(typeof t[Symbol.iterator]!="function")throw new TypeError("values is not iterable");return Array.from(t).reverse()}function J6(t){return t}var px=1,hx=2,dx=3,md=4,t3=1e-6;function TC(t){return"translate("+t+",0)"}function IC(t){return"translate(0,"+t+")"}function $C(t){return e=>+t(e)}function CC(t,e){return e=Math.max(0,t.bandwidth()-e*2)/2,t.round()&&(e=Math.round(e)),n=>+t(n)+e}function kC(){return!this.__axis}function NC(t,e){var n=[],r=null,o=null,i=6,s=6,a=3,c=typeof window<"u"&&window.devicePixelRatio>1?0:.5,f=t===px||t===md?-1:1,l=t===md||t===hx?"x":"y",u=t===px||t===dx?TC:IC;function p(h){var d=r??(e.ticks?e.ticks.apply(e,n):e.domain()),m=o??(e.tickFormat?e.tickFormat.apply(e,n):J6),g=Math.max(i,0)+a,y=e.range(),x=+y[0]+c,w=+y[y.length-1]+c,b=(e.bandwidth?CC:$C)(e.copy(),c),_=h.selection?h.selection():h,v=_.selectAll(".domain").data([null]),A=_.selectAll(".tick").data(d,e).order(),T=A.exit(),E=A.enter().append("g").attr("class","tick"),$=A.select("line"),S=A.select("text");v=v.merge(v.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),A=A.merge(E),$=$.merge(E.append("line").attr("stroke","currentColor").attr(l+"2",f*i)),S=S.merge(E.append("text").attr("fill","currentColor").attr(l,f*g).attr("dy",t===px?"0em":t===dx?"0.71em":"0.32em")),h!==_&&(v=v.transition(h),A=A.transition(h),$=$.transition(h),S=S.transition(h),T=T.transition(h).attr("opacity",t3).attr("transform",function(k){return isFinite(k=b(k))?u(k+c):this.getAttribute("transform")}),E.attr("opacity",t3).attr("transform",function(k){var O=this.parentNode.__axis;return u((O&&isFinite(O=O(k))?O:b(k))+c)})),T.remove(),v.attr("d",t===md||t===hx?s?"M"+f*s+","+x+"H"+c+"V"+w+"H"+f*s:"M"+c+","+x+"V"+w:s?"M"+x+","+f*s+"V"+c+"H"+w+"V"+f*s:"M"+x+","+c+"H"+w),A.attr("opacity",1).attr("transform",function(k){return u(b(k)+c)}),$.attr(l+"2",f*i),S.attr(l,f*g).text(m),_.filter(kC).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",t===hx?"start":t===md?"end":"middle"),_.each(function(){this.__axis=b})}return p.scale=function(h){return arguments.length?(e=h,p):e},p.ticks=function(){return n=Array.from(arguments),p},p.tickArguments=function(h){return arguments.length?(n=h==null?[]:Array.from(h),p):n.slice()},p.tickValues=function(h){return arguments.length?(r=h==null?null:Array.from(h),p):r&&r.slice()},p.tickFormat=function(h){return arguments.length?(o=h,p):o},p.tickSize=function(h){return arguments.length?(i=s=+h,p):i},p.tickSizeInner=function(h){return arguments.length?(i=+h,p):i},p.tickSizeOuter=function(h){return arguments.length?(s=+h,p):s},p.tickPadding=function(h){return arguments.length?(a=+h,p):a},p.offset=function(h){return arguments.length?(c=+h,p):c},p}function mx(t){return NC(dx,t)}var OC={value:()=>{}};function n3(){for(var t=0,e=arguments.length,n={},r;t<e;++t){if(!(r=arguments[t]+"")||r in n||/[\s.]/.test(r))throw new Error("illegal type: "+r);n[r]=[]}return new gd(n)}function gd(t){this._=t}function RC(t,e){return t.trim().split(/^|\s+/).map(function(n){var r="",o=n.indexOf(".");if(o>=0&&(r=n.slice(o+1),n=n.slice(0,o)),n&&!e.hasOwnProperty(n))throw new Error("unknown type: "+n);return{type:n,name:r}})}gd.prototype=n3.prototype={constructor:gd,on:function(t,e){var n=this._,r=RC(t+"",n),o,i=-1,s=r.length;if(arguments.length<2){for(;++i<s;)if((o=(t=r[i]).type)&&(o=LC(n[o],t.name)))return o;return}if(e!=null&&typeof e!="function")throw new Error("invalid callback: "+e);for(;++i<s;)if(o=(t=r[i]).type)n[o]=e3(n[o],t.name,e);else if(e==null)for(o in n)n[o]=e3(n[o],t.name,null);return this},copy:function(){var t={},e=this._;for(var n in e)t[n]=e[n].slice();return new gd(t)},call:function(t,e){if((o=arguments.length-2)>0)for(var n=new Array(o),r=0,o,i;r<o;++r)n[r]=arguments[r+2];if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(i=this._[t],r=0,o=i.length;r<o;++r)i[r].value.apply(e,n)},apply:function(t,e,n){if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(var r=this._[t],o=0,i=r.length;o<i;++o)r[o].value.apply(e,n)}};function LC(t,e){for(var n=0,r=t.length,o;n<r;++n)if((o=t[n]).name===e)return o.value}function e3(t,e,n){for(var r=0,o=t.length;r<o;++r)if(t[r].name===e){t[r]=OC,t=t.slice(0,r).concat(t.slice(r+1));break}return n!=null&&t.push({name:e,value:n}),t}var vs=n3;var yd="http://www.w3.org/1999/xhtml",sn={svg:"http://www.w3.org/2000/svg",xhtml:yd,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function vo(t){var e=t+="",n=e.indexOf(":");return n>=0&&(e=t.slice(0,n))!=="xmlns"&&(t=t.slice(n+1)),sn.hasOwnProperty(e)?{space:sn[e],local:t}:t}function DC(t){return function(){var e=this.ownerDocument,n=this.namespaceURI;return n===yd&&e.documentElement.namespaceURI===yd?e.createElement(t):e.createElementNS(n,t)}}function FC(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function _o(t){var e=vo(t);return(e.local?FC:DC)(e)}function PC(){}function _s(t){return t==null?PC:function(){return this.querySelector(t)}}function r3(t){typeof t!="function"&&(t=_s(t));for(var e=this._groups,n=e.length,r=new Array(n),o=0;o<n;++o)for(var i=e[o],s=i.length,a=r[o]=new Array(s),c,f,l=0;l<s;++l)(c=i[l])&&(f=t.call(c,c.__data__,l,i))&&("__data__"in c&&(f.__data__=c.__data__),a[l]=f);return new ne(r,this._parents)}function gx(t){return t==null?[]:Array.isArray(t)?t:Array.from(t)}function qC(){return[]}function Kf(t){return t==null?qC:function(){return this.querySelectorAll(t)}}function BC(t){return function(){return gx(t.apply(this,arguments))}}function o3(t){typeof t=="function"?t=BC(t):t=Kf(t);for(var e=this._groups,n=e.length,r=[],o=[],i=0;i<n;++i)for(var s=e[i],a=s.length,c,f=0;f<a;++f)(c=s[f])&&(r.push(t.call(c,c.__data__,f,s)),o.push(c));return new ne(r,o)}function Jf(t){return function(){return this.matches(t)}}function xd(t){return function(e){return e.matches(t)}}var zC=Array.prototype.find;function YC(t){return function(){return zC.call(this.children,t)}}function UC(){return this.firstElementChild}function i3(t){return this.select(t==null?UC:YC(typeof t=="function"?t:xd(t)))}var jC=Array.prototype.filter;function XC(){return Array.from(this.children)}function GC(t){return function(){return jC.call(this.children,t)}}function s3(t){return this.selectAll(t==null?XC:GC(typeof t=="function"?t:xd(t)))}function a3(t){typeof t!="function"&&(t=Jf(t));for(var e=this._groups,n=e.length,r=new Array(n),o=0;o<n;++o)for(var i=e[o],s=i.length,a=r[o]=[],c,f=0;f<s;++f)(c=i[f])&&t.call(c,c.__data__,f,i)&&a.push(c);return new ne(r,this._parents)}function bd(t){return new Array(t.length)}function c3(){return new ne(this._enter||this._groups.map(bd),this._parents)}function tl(t,e){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=e}tl.prototype={constructor:tl,appendChild:function(t){return this._parent.insertBefore(t,this._next)},insertBefore:function(t,e){return this._parent.insertBefore(t,e)},querySelector:function(t){return this._parent.querySelector(t)},querySelectorAll:function(t){return this._parent.querySelectorAll(t)}};function f3(t){return function(){return t}}function VC(t,e,n,r,o,i){for(var s=0,a,c=e.length,f=i.length;s<f;++s)(a=e[s])?(a.__data__=i[s],r[s]=a):n[s]=new tl(t,i[s]);for(;s<c;++s)(a=e[s])&&(o[s]=a)}function WC(t,e,n,r,o,i,s){var a,c,f=new Map,l=e.length,u=i.length,p=new Array(l),h;for(a=0;a<l;++a)(c=e[a])&&(p[a]=h=s.call(c,c.__data__,a,e)+"",f.has(h)?o[a]=c:f.set(h,c));for(a=0;a<u;++a)h=s.call(t,i[a],a,i)+"",(c=f.get(h))?(r[a]=c,c.__data__=i[a],f.delete(h)):n[a]=new tl(t,i[a]);for(a=0;a<l;++a)(c=e[a])&&f.get(p[a])===c&&(o[a]=c)}function HC(t){return t.__data__}function l3(t,e){if(!arguments.length)return Array.from(this,HC);var n=e?WC:VC,r=this._parents,o=this._groups;typeof t!="function"&&(t=f3(t));for(var i=o.length,s=new Array(i),a=new Array(i),c=new Array(i),f=0;f<i;++f){var l=r[f],u=o[f],p=u.length,h=QC(t.call(l,l&&l.__data__,f,r)),d=h.length,m=a[f]=new Array(d),g=s[f]=new Array(d),y=c[f]=new Array(p);n(l,u,m,g,y,h,e);for(var x=0,w=0,b,_;x<d;++x)if(b=m[x]){for(x>=w&&(w=x+1);!(_=g[w])&&++w<d;);b._next=_||null}}return s=new ne(s,r),s._enter=a,s._exit=c,s}function QC(t){return typeof t=="object"&&"length"in t?t:Array.from(t)}function u3(){return new ne(this._exit||this._groups.map(bd),this._parents)}function p3(t,e,n){var r=this.enter(),o=this,i=this.exit();return typeof t=="function"?(r=t(r),r&&(r=r.selection())):r=r.append(t+""),e!=null&&(o=e(o),o&&(o=o.selection())),n==null?i.remove():n(i),r&&o?r.merge(o).order():o}function h3(t){for(var e=t.selection?t.selection():t,n=this._groups,r=e._groups,o=n.length,i=r.length,s=Math.min(o,i),a=new Array(o),c=0;c<s;++c)for(var f=n[c],l=r[c],u=f.length,p=a[c]=new Array(u),h,d=0;d<u;++d)(h=f[d]||l[d])&&(p[d]=h);for(;c<o;++c)a[c]=n[c];return new ne(a,this._parents)}function d3(){for(var t=this._groups,e=-1,n=t.length;++e<n;)for(var r=t[e],o=r.length-1,i=r[o],s;--o>=0;)(s=r[o])&&(i&&s.compareDocumentPosition(i)^4&&i.parentNode.insertBefore(s,i),i=s);return this}function m3(t){t||(t=ZC);function e(u,p){return u&&p?t(u.__data__,p.__data__):!u-!p}for(var n=this._groups,r=n.length,o=new Array(r),i=0;i<r;++i){for(var s=n[i],a=s.length,c=o[i]=new Array(a),f,l=0;l<a;++l)(f=s[l])&&(c[l]=f);c.sort(e)}return new ne(o,this._parents).order()}function ZC(t,e){return t<e?-1:t>e?1:t>=e?0:NaN}function g3(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this}function y3(){return Array.from(this)}function x3(){for(var t=this._groups,e=0,n=t.length;e<n;++e)for(var r=t[e],o=0,i=r.length;o<i;++o){var s=r[o];if(s)return s}return null}function b3(){let t=0;for(let e of this)++t;return t}function w3(){return!this.node()}function v3(t){for(var e=this._groups,n=0,r=e.length;n<r;++n)for(var o=e[n],i=0,s=o.length,a;i<s;++i)(a=o[i])&&t.call(a,a.__data__,i,o);return this}function KC(t){return function(){this.removeAttribute(t)}}function JC(t){return function(){this.removeAttributeNS(t.space,t.local)}}function tk(t,e){return function(){this.setAttribute(t,e)}}function ek(t,e){return function(){this.setAttributeNS(t.space,t.local,e)}}function nk(t,e){return function(){var n=e.apply(this,arguments);n==null?this.removeAttribute(t):this.setAttribute(t,n)}}function rk(t,e){return function(){var n=e.apply(this,arguments);n==null?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,n)}}function _3(t,e){var n=vo(t);if(arguments.length<2){var r=this.node();return n.local?r.getAttributeNS(n.space,n.local):r.getAttribute(n)}return this.each((e==null?n.local?JC:KC:typeof e=="function"?n.local?rk:nk:n.local?ek:tk)(n,e))}function wd(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}function ok(t){return function(){this.style.removeProperty(t)}}function ik(t,e,n){return function(){this.style.setProperty(t,e,n)}}function sk(t,e,n){return function(){var r=e.apply(this,arguments);r==null?this.style.removeProperty(t):this.style.setProperty(t,r,n)}}function M3(t,e,n){return arguments.length>1?this.each((e==null?ok:typeof e=="function"?sk:ik)(t,e,n??"")):gi(this.node(),t)}function gi(t,e){return t.style.getPropertyValue(e)||wd(t).getComputedStyle(t,null).getPropertyValue(e)}function ak(t){return function(){delete this[t]}}function ck(t,e){return function(){this[t]=e}}function fk(t,e){return function(){var n=e.apply(this,arguments);n==null?delete this[t]:this[t]=n}}function S3(t,e){return arguments.length>1?this.each((e==null?ak:typeof e=="function"?fk:ck)(t,e)):this.node()[t]}function A3(t){return t.trim().split(/^|\s+/)}function yx(t){return t.classList||new E3(t)}function E3(t){this._node=t,this._names=A3(t.getAttribute("class")||"")}E3.prototype={add:function(t){var e=this._names.indexOf(t);e<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var e=this._names.indexOf(t);e>=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};function T3(t,e){for(var n=yx(t),r=-1,o=e.length;++r<o;)n.add(e[r])}function I3(t,e){for(var n=yx(t),r=-1,o=e.length;++r<o;)n.remove(e[r])}function lk(t){return function(){T3(this,t)}}function uk(t){return function(){I3(this,t)}}function pk(t,e){return function(){(e.apply(this,arguments)?T3:I3)(this,t)}}function $3(t,e){var n=A3(t+"");if(arguments.length<2){for(var r=yx(this.node()),o=-1,i=n.length;++o<i;)if(!r.contains(n[o]))return!1;return!0}return this.each((typeof e=="function"?pk:e?lk:uk)(n,e))}function hk(){this.textContent=""}function dk(t){return function(){this.textContent=t}}function mk(t){return function(){var e=t.apply(this,arguments);this.textContent=e??""}}function C3(t){return arguments.length?this.each(t==null?hk:(typeof t=="function"?mk:dk)(t)):this.node().textContent}function gk(){this.innerHTML=""}function yk(t){return function(){this.innerHTML=t}}function xk(t){return function(){var e=t.apply(this,arguments);this.innerHTML=e??""}}function k3(t){return arguments.length?this.each(t==null?gk:(typeof t=="function"?xk:yk)(t)):this.node().innerHTML}function bk(){this.nextSibling&&this.parentNode.appendChild(this)}function N3(){return this.each(bk)}function wk(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function O3(){return this.each(wk)}function R3(t){var e=typeof t=="function"?t:_o(t);return this.select(function(){return this.appendChild(e.apply(this,arguments))})}function vk(){return null}function L3(t,e){var n=typeof t=="function"?t:_o(t),r=e==null?vk:typeof e=="function"?e:_s(e);return this.select(function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)})}function _k(){var t=this.parentNode;t&&t.removeChild(this)}function D3(){return this.each(_k)}function Mk(){var t=this.cloneNode(!1),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function Sk(){var t=this.cloneNode(!0),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function F3(t){return this.select(t?Sk:Mk)}function P3(t){return arguments.length?this.property("__data__",t):this.node().__data__}function Ak(t){return function(e){t.call(this,e,this.__data__)}}function Ek(t){return t.trim().split(/^|\s+/).map(function(e){var n="",r=e.indexOf(".");return r>=0&&(n=e.slice(r+1),e=e.slice(0,r)),{type:e,name:n}})}function Tk(t){return function(){var e=this.__on;if(e){for(var n=0,r=-1,o=e.length,i;n<o;++n)i=e[n],(!t.type||i.type===t.type)&&i.name===t.name?this.removeEventListener(i.type,i.listener,i.options):e[++r]=i;++r?e.length=r:delete this.__on}}}function Ik(t,e,n){return function(){var r=this.__on,o,i=Ak(e);if(r){for(var s=0,a=r.length;s<a;++s)if((o=r[s]).type===t.type&&o.name===t.name){this.removeEventListener(o.type,o.listener,o.options),this.addEventListener(o.type,o.listener=i,o.options=n),o.value=e;return}}this.addEventListener(t.type,i,n),o={type:t.type,name:t.name,value:e,listener:i,options:n},r?r.push(o):this.__on=[o]}}function q3(t,e,n){var r=Ek(t+""),o,i=r.length,s;if(arguments.length<2){var a=this.node().__on;if(a){for(var c=0,f=a.length,l;c<f;++c)for(o=0,l=a[c];o<i;++o)if((s=r[o]).type===l.type&&s.name===l.name)return l.value}return}for(a=e?Ik:Tk,o=0;o<i;++o)this.each(a(r[o],e,n));return this}function B3(t,e,n){var r=wd(t),o=r.CustomEvent;typeof o=="function"?o=new o(e,n):(o=r.document.createEvent("Event"),n?(o.initEvent(e,n.bubbles,n.cancelable),o.detail=n.detail):o.initEvent(e,!1,!1)),t.dispatchEvent(o)}function $k(t,e){return function(){return B3(this,t,e)}}function Ck(t,e){return function(){return B3(this,t,e.apply(this,arguments))}}function z3(t,e){return this.each((typeof e=="function"?Ck:$k)(t,e))}function*Y3(){for(var t=this._groups,e=0,n=t.length;e<n;++e)for(var r=t[e],o=0,i=r.length,s;o<i;++o)(s=r[o])&&(yield s)}var xx=[null];function ne(t,e){this._groups=t,this._parents=e}function U3(){return new ne([[document.documentElement]],xx)}function kk(){return this}ne.prototype=U3.prototype={constructor:ne,select:r3,selectAll:o3,selectChild:i3,selectChildren:s3,filter:a3,data:l3,enter:c3,exit:u3,join:p3,merge:h3,selection:kk,order:d3,sort:m3,call:g3,nodes:y3,node:x3,size:b3,empty:w3,each:v3,attr:_3,style:M3,property:S3,classed:$3,text:C3,html:k3,raise:N3,lower:O3,append:R3,insert:L3,remove:D3,clone:F3,datum:P3,on:q3,dispatch:z3,[Symbol.iterator]:Y3};var Mo=U3;function bt(t){return typeof t=="string"?new ne([[document.querySelector(t)]],[document.documentElement]):new ne([[t]],xx)}function j3(t){let e;for(;e=t.sourceEvent;)t=e;return t}function Xe(t,e){if(t=j3(t),e===void 0&&(e=t.currentTarget),e){var n=e.ownerSVGElement||e;if(n.createSVGPoint){var r=n.createSVGPoint();return r.x=t.clientX,r.y=t.clientY,r=r.matrixTransform(e.getScreenCTM().inverse()),[r.x,r.y]}if(e.getBoundingClientRect){var o=e.getBoundingClientRect();return[t.clientX-o.left-e.clientLeft,t.clientY-o.top-e.clientTop]}}return[t.pageX,t.pageY]}var vd={capture:!0,passive:!1};function _d(t){t.preventDefault(),t.stopImmediatePropagation()}function el(t){var e=t.document.documentElement,n=bt(t).on("dragstart.drag",_d,vd);"onselectstart"in e?n.on("selectstart.drag",_d,vd):(e.__noselect=e.style.MozUserSelect,e.style.MozUserSelect="none")}function nl(t,e){var n=t.document.documentElement,r=bt(t).on("dragstart.drag",null);e&&(r.on("click.drag",_d,vd),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 So(t,e,n){t.prototype=e.prototype=n,n.constructor=t}function yi(t,e){var n=Object.create(t.prototype);for(var r in e)n[r]=e[r];return n}function Tr(){}var xi=.7,As=1/xi,Pa="\\s*([+-]?\\d+)\\s*",rl="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",Er="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",Nk=/^#([0-9a-f]{3,8})$/,Ok=new RegExp(`^rgb\\(${Pa},${Pa},${Pa}\\)$`),Rk=new RegExp(`^rgb\\(${Er},${Er},${Er}\\)$`),Lk=new RegExp(`^rgba\\(${Pa},${Pa},${Pa},${rl}\\)$`),Dk=new RegExp(`^rgba\\(${Er},${Er},${Er},${rl}\\)$`),Fk=new RegExp(`^hsl\\(${rl},${Er},${Er}\\)$`),Pk=new RegExp(`^hsla\\(${rl},${Er},${Er},${rl}\\)$`),X3={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};So(Tr,Tn,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:G3,formatHex:G3,formatHex8:qk,formatHsl:Bk,formatRgb:V3,toString:V3});function G3(){return this.rgb().formatHex()}function qk(){return this.rgb().formatHex8()}function Bk(){return J3(this).formatHsl()}function V3(){return this.rgb().formatRgb()}function Tn(t){var e,n;return t=(t+"").trim().toLowerCase(),(e=Nk.exec(t))?(n=e[1].length,e=parseInt(e[1],16),n===6?W3(e):n===3?new ce(e>>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):n===8?Md(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):n===4?Md(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)<<4|e&15)/255):null):(e=Ok.exec(t))?new ce(e[1],e[2],e[3],1):(e=Rk.exec(t))?new ce(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=Lk.exec(t))?Md(e[1],e[2],e[3],e[4]):(e=Dk.exec(t))?Md(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=Fk.exec(t))?Z3(e[1],e[2]/100,e[3]/100,1):(e=Pk.exec(t))?Z3(e[1],e[2]/100,e[3]/100,e[4]):X3.hasOwnProperty(t)?W3(X3[t]):t==="transparent"?new ce(NaN,NaN,NaN,0):null}function W3(t){return new ce(t>>16&255,t>>8&255,t&255,1)}function Md(t,e,n,r){return r<=0&&(t=e=n=NaN),new ce(t,e,n,r)}function ol(t){return t instanceof Tr||(t=Tn(t)),t?(t=t.rgb(),new ce(t.r,t.g,t.b,t.opacity)):new ce}function ye(t,e,n,r){return arguments.length===1?ol(t):new ce(t,e,n,r??1)}function ce(t,e,n,r){this.r=+t,this.g=+e,this.b=+n,this.opacity=+r}So(ce,ye,yi(Tr,{brighter(t){return t=t==null?As:Math.pow(As,t),new ce(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?xi:Math.pow(xi,t),new ce(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new ce(Ss(this.r),Ss(this.g),Ss(this.b),Ad(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:H3,formatHex:H3,formatHex8:zk,formatRgb:Q3,toString:Q3}));function H3(){return`#${Ms(this.r)}${Ms(this.g)}${Ms(this.b)}`}function zk(){return`#${Ms(this.r)}${Ms(this.g)}${Ms(this.b)}${Ms((isNaN(this.opacity)?1:this.opacity)*255)}`}function Q3(){let t=Ad(this.opacity);return`${t===1?"rgb(":"rgba("}${Ss(this.r)}, ${Ss(this.g)}, ${Ss(this.b)}${t===1?")":`, ${t})`}`}function Ad(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function Ss(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function Ms(t){return t=Ss(t),(t<16?"0":"")+t.toString(16)}function Z3(t,e,n,r){return r<=0?t=e=n=NaN:n<=0||n>=1?t=e=NaN:e<=0&&(t=NaN),new pr(t,e,n,r)}function J3(t){if(t instanceof pr)return new pr(t.h,t.s,t.l,t.opacity);if(t instanceof Tr||(t=Tn(t)),!t)return new pr;if(t instanceof pr)return t;t=t.rgb();var e=t.r/255,n=t.g/255,r=t.b/255,o=Math.min(e,n,r),i=Math.max(e,n,r),s=NaN,a=i-o,c=(i+o)/2;return a?(e===i?s=(n-r)/a+(n<r)*6:n===i?s=(r-e)/a+2:s=(e-n)/a+4,a/=c<.5?i+o:2-i-o,s*=60):a=c>0&&c<1?0:s,new pr(s,a,c,t.opacity)}function il(t,e,n,r){return arguments.length===1?J3(t):new pr(t,e,n,r??1)}function pr(t,e,n,r){this.h=+t,this.s=+e,this.l=+n,this.opacity=+r}So(pr,il,yi(Tr,{brighter(t){return t=t==null?As:Math.pow(As,t),new pr(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?xi:Math.pow(xi,t),new pr(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,e=isNaN(t)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*e,o=2*n-r;return new ce(bx(t>=240?t-240:t+120,o,r),bx(t,o,r),bx(t<120?t+240:t-120,o,r),this.opacity)},clamp(){return new pr(K3(this.h),Sd(this.s),Sd(this.l),Ad(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 t=Ad(this.opacity);return`${t===1?"hsl(":"hsla("}${K3(this.h)}, ${Sd(this.s)*100}%, ${Sd(this.l)*100}%${t===1?")":`, ${t})`}`}}));function K3(t){return t=(t||0)%360,t<0?t+360:t}function Sd(t){return Math.max(0,Math.min(1,t||0))}function bx(t,e,n){return(t<60?e+(n-e)*t/60:t<180?n:t<240?e+(n-e)*(240-t)/60:e)*255}var Ed=Math.PI/180,Td=180/Math.PI;var Id=18,t4=.96422,e4=1,n4=.82521,r4=4/29,qa=6/29,o4=3*qa*qa,Yk=qa*qa*qa;function i4(t){if(t instanceof Ir)return new Ir(t.l,t.a,t.b,t.opacity);if(t instanceof Ao)return s4(t);t instanceof ce||(t=ol(t));var e=Mx(t.r),n=Mx(t.g),r=Mx(t.b),o=wx((.2225045*e+.7168786*n+.0606169*r)/e4),i,s;return e===n&&n===r?i=s=o:(i=wx((.4360747*e+.3850649*n+.1430804*r)/t4),s=wx((.0139322*e+.0971045*n+.7141733*r)/n4)),new Ir(116*o-16,500*(i-o),200*(o-s),t.opacity)}function Ba(t,e,n,r){return arguments.length===1?i4(t):new Ir(t,e,n,r??1)}function Ir(t,e,n,r){this.l=+t,this.a=+e,this.b=+n,this.opacity=+r}So(Ir,Ba,yi(Tr,{brighter(t){return new Ir(this.l+Id*(t??1),this.a,this.b,this.opacity)},darker(t){return new Ir(this.l-Id*(t??1),this.a,this.b,this.opacity)},rgb(){var t=(this.l+16)/116,e=isNaN(this.a)?t:t+this.a/500,n=isNaN(this.b)?t:t-this.b/200;return e=t4*vx(e),t=e4*vx(t),n=n4*vx(n),new ce(_x(3.1338561*e-1.6168667*t-.4906146*n),_x(-.9787684*e+1.9161415*t+.033454*n),_x(.0719453*e-.2289914*t+1.4052427*n),this.opacity)}}));function wx(t){return t>Yk?Math.pow(t,1/3):t/o4+r4}function vx(t){return t>qa?t*t*t:o4*(t-r4)}function _x(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function Mx(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function Uk(t){if(t instanceof Ao)return new Ao(t.h,t.c,t.l,t.opacity);if(t instanceof Ir||(t=i4(t)),t.a===0&&t.b===0)return new Ao(NaN,0<t.l&&t.l<100?0:NaN,t.l,t.opacity);var e=Math.atan2(t.b,t.a)*Td;return new Ao(e<0?e+360:e,Math.sqrt(t.a*t.a+t.b*t.b),t.l,t.opacity)}function sl(t,e,n,r){return arguments.length===1?Uk(t):new Ao(t,e,n,r??1)}function Ao(t,e,n,r){this.h=+t,this.c=+e,this.l=+n,this.opacity=+r}function s4(t){if(isNaN(t.h))return new Ir(t.l,0,0,t.opacity);var e=t.h*Ed;return new Ir(t.l,Math.cos(e)*t.c,Math.sin(e)*t.c,t.opacity)}So(Ao,sl,yi(Tr,{brighter(t){return new Ao(this.h,this.c,this.l+Id*(t??1),this.opacity)},darker(t){return new Ao(this.h,this.c,this.l-Id*(t??1),this.opacity)},rgb(){return s4(this).rgb()}}));var l4=-.14861,Sx=1.78277,Ax=-.29227,$d=-.90649,al=1.97294,a4=al*$d,c4=al*Sx,f4=Sx*Ax-$d*l4;function jk(t){if(t instanceof Es)return new Es(t.h,t.s,t.l,t.opacity);t instanceof ce||(t=ol(t));var e=t.r/255,n=t.g/255,r=t.b/255,o=(f4*r+a4*e-c4*n)/(f4+a4-c4),i=r-o,s=(al*(n-o)-Ax*i)/$d,a=Math.sqrt(s*s+i*i)/(al*o*(1-o)),c=a?Math.atan2(s,i)*Td-120:NaN;return new Es(c<0?c+360:c,a,o,t.opacity)}function an(t,e,n,r){return arguments.length===1?jk(t):new Es(t,e,n,r??1)}function Es(t,e,n,r){this.h=+t,this.s=+e,this.l=+n,this.opacity=+r}So(Es,an,yi(Tr,{brighter(t){return t=t==null?As:Math.pow(As,t),new Es(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?xi:Math.pow(xi,t),new Es(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=isNaN(this.h)?0:(this.h+120)*Ed,e=+this.l,n=isNaN(this.s)?0:this.s*e*(1-e),r=Math.cos(t),o=Math.sin(t);return new ce(255*(e+n*(l4*r+Sx*o)),255*(e+n*(Ax*r+$d*o)),255*(e+n*(al*r)),this.opacity)}}));function Ex(t,e,n,r,o){var i=t*t,s=i*t;return((1-3*t+3*i-s)*e+(4-6*i+3*s)*n+(1+3*t+3*i-3*s)*r+s*o)/6}function u4(t){var e=t.length-1;return function(n){var r=n<=0?n=0:n>=1?(n=1,e-1):Math.floor(n*e),o=t[r],i=t[r+1],s=r>0?t[r-1]:2*o-i,a=r<e-1?t[r+2]:2*i-o;return Ex((n-r/e)*e,s,o,i,a)}}function p4(t){var e=t.length;return function(n){var r=Math.floor(((n%=1)<0?++n:n)*e),o=t[(r+e-1)%e],i=t[r%e],s=t[(r+1)%e],a=t[(r+2)%e];return Ex((n-r/e)*e,o,i,s,a)}}var za=t=>()=>t;function h4(t,e){return function(n){return t+n*e}}function Xk(t,e,n){return t=Math.pow(t,n),e=Math.pow(e,n)-t,n=1/n,function(r){return Math.pow(t+r*e,n)}}function Ya(t,e){var n=e-t;return n?h4(t,n>180||n<-180?n-360*Math.round(n/360):n):za(isNaN(t)?e:t)}function d4(t){return(t=+t)==1?Wt:function(e,n){return n-e?Xk(e,n,t):za(isNaN(e)?n:e)}}function Wt(t,e){var n=e-t;return n?h4(t,n):za(isNaN(t)?e:t)}var Gn=function t(e){var n=d4(e);function r(o,i){var s=n((o=ye(o)).r,(i=ye(i)).r),a=n(o.g,i.g),c=n(o.b,i.b),f=Wt(o.opacity,i.opacity);return function(l){return o.r=s(l),o.g=a(l),o.b=c(l),o.opacity=f(l),o+""}}return r.gamma=t,r}(1);function m4(t){return function(e){var n=e.length,r=new Array(n),o=new Array(n),i=new Array(n),s,a;for(s=0;s<n;++s)a=ye(e[s]),r[s]=a.r||0,o[s]=a.g||0,i[s]=a.b||0;return r=t(r),o=t(o),i=t(i),a.opacity=1,function(c){return a.r=r(c),a.g=o(c),a.b=i(c),a+""}}}var Tx=m4(u4),Gk=m4(p4);function g4(t,e){e||(e=[]);var n=t?Math.min(e.length,t.length):0,r=e.slice(),o;return function(i){for(o=0;o<n;++o)r[o]=t[o]*(1-i)+e[o]*i;return r}}function y4(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)}function x4(t,e){var n=e?e.length:0,r=t?Math.min(n,t.length):0,o=new Array(r),i=new Array(n),s;for(s=0;s<r;++s)o[s]=In(t[s],e[s]);for(;s<n;++s)i[s]=e[s];return function(a){for(s=0;s<r;++s)i[s]=o[s](a);return i}}function b4(t,e){var n=new Date;return t=+t,e=+e,function(r){return n.setTime(t*(1-r)+e*r),n}}function Gt(t,e){return t=+t,e=+e,function(n){return t*(1-n)+e*n}}function w4(t,e){var n={},r={},o;(t===null||typeof t!="object")&&(t={}),(e===null||typeof e!="object")&&(e={});for(o in e)o in t?n[o]=In(t[o],e[o]):r[o]=e[o];return function(i){for(o in n)r[o]=n[o](i);return r}}var $x=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Ix=new RegExp($x.source,"g");function Vk(t){return function(){return t}}function Wk(t){return function(e){return t(e)+""}}function cl(t,e){var n=$x.lastIndex=Ix.lastIndex=0,r,o,i,s=-1,a=[],c=[];for(t=t+"",e=e+"";(r=$x.exec(t))&&(o=Ix.exec(e));)(i=o.index)>n&&(i=e.slice(n,i),a[s]?a[s]+=i:a[++s]=i),(r=r[0])===(o=o[0])?a[s]?a[s]+=o:a[++s]=o:(a[++s]=null,c.push({i:s,x:Gt(r,o)})),n=Ix.lastIndex;return n<e.length&&(i=e.slice(n),a[s]?a[s]+=i:a[++s]=i),a.length<2?c[0]?Wk(c[0].x):Vk(e):(e=c.length,function(f){for(var l=0,u;l<e;++l)a[(u=c[l]).i]=u.x(f);return a.join("")})}function In(t,e){var n=typeof e,r;return e==null||n==="boolean"?za(e):(n==="number"?Gt:n==="string"?(r=Tn(e))?(e=r,Gn):cl:e instanceof Tn?Gn:e instanceof Date?b4:y4(e)?g4:Array.isArray(e)?x4:typeof e.valueOf!="function"&&typeof e.toString!="function"||isNaN(e)?w4:Gt)(t,e)}function Ts(t,e){return t=+t,e=+e,function(n){return Math.round(t*(1-n)+e*n)}}var v4=180/Math.PI,Cd={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function Cx(t,e,n,r,o,i){var s,a,c;return(s=Math.sqrt(t*t+e*e))&&(t/=s,e/=s),(c=t*n+e*r)&&(n-=t*c,r-=e*c),(a=Math.sqrt(n*n+r*r))&&(n/=a,r/=a,c/=a),t*r<e*n&&(t=-t,e=-e,c=-c,s=-s),{translateX:o,translateY:i,rotate:Math.atan2(e,t)*v4,skewX:Math.atan(c)*v4,scaleX:s,scaleY:a}}var kd;function _4(t){let e=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(t+"");return e.isIdentity?Cd:Cx(e.a,e.b,e.c,e.d,e.e,e.f)}function M4(t){return t==null?Cd:(kd||(kd=document.createElementNS("http://www.w3.org/2000/svg","g")),kd.setAttribute("transform",t),(t=kd.transform.baseVal.consolidate())?(t=t.matrix,Cx(t.a,t.b,t.c,t.d,t.e,t.f)):Cd)}function S4(t,e,n,r){function o(f){return f.length?f.pop()+" ":""}function i(f,l,u,p,h,d){if(f!==u||l!==p){var m=h.push("translate(",null,e,null,n);d.push({i:m-4,x:Gt(f,u)},{i:m-2,x:Gt(l,p)})}else(u||p)&&h.push("translate("+u+e+p+n)}function s(f,l,u,p){f!==l?(f-l>180?l+=360:l-f>180&&(f+=360),p.push({i:u.push(o(u)+"rotate(",null,r)-2,x:Gt(f,l)})):l&&u.push(o(u)+"rotate("+l+r)}function a(f,l,u,p){f!==l?p.push({i:u.push(o(u)+"skewX(",null,r)-2,x:Gt(f,l)}):l&&u.push(o(u)+"skewX("+l+r)}function c(f,l,u,p,h,d){if(f!==u||l!==p){var m=h.push(o(h)+"scale(",null,",",null,")");d.push({i:m-4,x:Gt(f,u)},{i:m-2,x:Gt(l,p)})}else(u!==1||p!==1)&&h.push(o(h)+"scale("+u+","+p+")")}return function(f,l){var u=[],p=[];return f=t(f),l=t(l),i(f.translateX,f.translateY,l.translateX,l.translateY,u,p),s(f.rotate,l.rotate,u,p),a(f.skewX,l.skewX,u,p),c(f.scaleX,f.scaleY,l.scaleX,l.scaleY,u,p),f=l=null,function(h){for(var d=-1,m=p.length,g;++d<m;)u[(g=p[d]).i]=g.x(h);return u.join("")}}}var kx=S4(_4,"px, ","px)","deg)"),Nx=S4(M4,", ",")",")");var Hk=1e-12;function A4(t){return((t=Math.exp(t))+1/t)/2}function Qk(t){return((t=Math.exp(t))-1/t)/2}function Zk(t){return((t=Math.exp(2*t))-1)/(t+1)}var Ox=function t(e,n,r){function o(i,s){var a=i[0],c=i[1],f=i[2],l=s[0],u=s[1],p=s[2],h=l-a,d=u-c,m=h*h+d*d,g,y;if(m<Hk)y=Math.log(p/f)/e,g=function(A){return[a+A*h,c+A*d,f*Math.exp(e*A*y)]};else{var x=Math.sqrt(m),w=(p*p-f*f+r*m)/(2*f*n*x),b=(p*p-f*f-r*m)/(2*p*n*x),_=Math.log(Math.sqrt(w*w+1)-w),v=Math.log(Math.sqrt(b*b+1)-b);y=(v-_)/e,g=function(A){var T=A*y,E=A4(_),$=f/(n*x)*(E*Zk(e*T+_)-Qk(_));return[a+$*h,c+$*d,f*E/A4(e*T+_)]}}return g.duration=y*1e3*e/Math.SQRT2,g}return o.rho=function(i){var s=Math.max(.001,+i),a=s*s,c=a*a;return t(s,a,c)},o}(Math.SQRT2,2,4);function E4(t){return function(e,n){var r=t((e=il(e)).h,(n=il(n)).h),o=Wt(e.s,n.s),i=Wt(e.l,n.l),s=Wt(e.opacity,n.opacity);return function(a){return e.h=r(a),e.s=o(a),e.l=i(a),e.opacity=s(a),e+""}}}var Rx=E4(Ya),Kk=E4(Wt);function Nd(t,e){var n=Wt((t=Ba(t)).l,(e=Ba(e)).l),r=Wt(t.a,e.a),o=Wt(t.b,e.b),i=Wt(t.opacity,e.opacity);return function(s){return t.l=n(s),t.a=r(s),t.b=o(s),t.opacity=i(s),t+""}}function T4(t){return function(e,n){var r=t((e=sl(e)).h,(n=sl(n)).h),o=Wt(e.c,n.c),i=Wt(e.l,n.l),s=Wt(e.opacity,n.opacity);return function(a){return e.h=r(a),e.c=o(a),e.l=i(a),e.opacity=s(a),e+""}}}var Lx=T4(Ya),Jk=T4(Wt);function I4(t){return function e(n){n=+n;function r(o,i){var s=t((o=an(o)).h,(i=an(i)).h),a=Wt(o.s,i.s),c=Wt(o.l,i.l),f=Wt(o.opacity,i.opacity);return function(l){return o.h=s(l),o.s=a(l),o.l=c(Math.pow(l,n)),o.opacity=f(l),o+""}}return r.gamma=e,r}(1)}var tN=I4(Ya),Ua=I4(Wt);function $r(t,e){e===void 0&&(e=t,t=In);for(var n=0,r=e.length-1,o=e[0],i=new Array(r<0?0:r);n<r;)i[n]=t(o,o=e[++n]);return function(s){var a=Math.max(0,Math.min(r-1,Math.floor(s*=r)));return i[a](s-a)}}function Ge(t,e){for(var n=new Array(e),r=0;r<e;++r)n[r]=t(r/(e-1));return n}var ja=0,ll=0,fl=0,C4=1e3,Od,ul,Rd=0,Is=0,Ld=0,pl=typeof performance=="object"&&performance.now?performance:Date,k4=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function dl(){return Is||(k4(eN),Is=pl.now()+Ld)}function eN(){Is=0}function hl(){this._call=this._time=this._next=null}hl.prototype=Dd.prototype={constructor:hl,restart:function(t,e,n){if(typeof t!="function")throw new TypeError("callback is not a function");n=(n==null?dl():+n)+(e==null?0:+e),!this._next&&ul!==this&&(ul?ul._next=this:Od=this,ul=this),this._call=t,this._time=n,Dx()},stop:function(){this._call&&(this._call=null,this._time=1/0,Dx())}};function Dd(t,e,n){var r=new hl;return r.restart(t,e,n),r}function N4(){dl(),++ja;for(var t=Od,e;t;)(e=Is-t._time)>=0&&t._call.call(void 0,e),t=t._next;--ja}function $4(){Is=(Rd=pl.now())+Ld,ja=ll=0;try{N4()}finally{ja=0,rN(),Is=0}}function nN(){var t=pl.now(),e=t-Rd;e>C4&&(Ld-=e,Rd=t)}function rN(){for(var t,e=Od,n,r=1/0;e;)e._call?(r>e._time&&(r=e._time),t=e,e=e._next):(n=e._next,e._next=null,e=t?t._next=n:Od=n);ul=t,Dx(r)}function Dx(t){if(!ja){ll&&(ll=clearTimeout(ll));var e=t-Is;e>24?(t<1/0&&(ll=setTimeout($4,t-pl.now()-Ld)),fl&&(fl=clearInterval(fl))):(fl||(Rd=pl.now(),fl=setInterval(nN,C4)),ja=1,k4($4))}}function Fd(t,e,n){var r=new hl;return e=e==null?0:+e,r.restart(o=>{r.stop(),t(o+e)},e,n),r}var oN=vs("start","end","cancel","interrupt"),iN=[],L4=0,O4=1,qd=2,Pd=3,R4=4,Bd=5,ml=6;function bi(t,e,n,r,o,i){var s=t.__transition;if(!s)t.__transition={};else if(n in s)return;sN(t,n,{name:e,index:r,group:o,on:oN,tween:iN,time:i.time,delay:i.delay,duration:i.duration,ease:i.ease,timer:null,state:L4})}function gl(t,e){var n=xe(t,e);if(n.state>L4)throw new Error("too late; already scheduled");return n}function qe(t,e){var n=xe(t,e);if(n.state>Pd)throw new Error("too late; already running");return n}function xe(t,e){var n=t.__transition;if(!n||!(n=n[e]))throw new Error("transition not found");return n}function sN(t,e,n){var r=t.__transition,o;r[e]=n,n.timer=Dd(i,0,n.time);function i(f){n.state=O4,n.timer.restart(s,n.delay,n.time),n.delay<=f&&s(f-n.delay)}function s(f){var l,u,p,h;if(n.state!==O4)return c();for(l in r)if(h=r[l],h.name===n.name){if(h.state===Pd)return Fd(s);h.state===R4?(h.state=ml,h.timer.stop(),h.on.call("interrupt",t,t.__data__,h.index,h.group),delete r[l]):+l<e&&(h.state=ml,h.timer.stop(),h.on.call("cancel",t,t.__data__,h.index,h.group),delete r[l])}if(Fd(function(){n.state===Pd&&(n.state=R4,n.timer.restart(a,n.delay,n.time),a(f))}),n.state=qd,n.on.call("start",t,t.__data__,n.index,n.group),n.state===qd){for(n.state=Pd,o=new Array(p=n.tween.length),l=0,u=-1;l<p;++l)(h=n.tween[l].value.call(t,t.__data__,n.index,n.group))&&(o[++u]=h);o.length=u+1}}function a(f){for(var l=f<n.duration?n.ease.call(null,f/n.duration):(n.timer.restart(c),n.state=Bd,1),u=-1,p=o.length;++u<p;)o[u].call(t,l);n.state===Bd&&(n.on.call("end",t,t.__data__,n.index,n.group),c())}function c(){n.state=ml,n.timer.stop(),delete r[e];for(var f in r)return;delete t.__transition}}function Cr(t,e){var n=t.__transition,r,o,i=!0,s;if(n){e=e==null?null:e+"";for(s in n){if((r=n[s]).name!==e){i=!1;continue}o=r.state>qd&&r.state<Bd,r.state=ml,r.timer.stop(),r.on.call(o?"interrupt":"cancel",t,t.__data__,r.index,r.group),delete n[s]}i&&delete t.__transition}}function D4(t){return this.each(function(){Cr(this,t)})}function aN(t,e){var n,r;return function(){var o=qe(this,t),i=o.tween;if(i!==n){r=n=i;for(var s=0,a=r.length;s<a;++s)if(r[s].name===e){r=r.slice(),r.splice(s,1);break}}o.tween=r}}function cN(t,e,n){var r,o;if(typeof n!="function")throw new Error;return function(){var i=qe(this,t),s=i.tween;if(s!==r){o=(r=s).slice();for(var a={name:e,value:n},c=0,f=o.length;c<f;++c)if(o[c].name===e){o[c]=a;break}c===f&&o.push(a)}i.tween=o}}function F4(t,e){var n=this._id;if(t+="",arguments.length<2){for(var r=xe(this.node(),n).tween,o=0,i=r.length,s;o<i;++o)if((s=r[o]).name===t)return s.value;return null}return this.each((e==null?aN:cN)(n,t,e))}function Xa(t,e,n){var r=t._id;return t.each(function(){var o=qe(this,r);(o.value||(o.value={}))[e]=n.apply(this,arguments)}),function(o){return xe(o,r).value[e]}}function zd(t,e){var n;return(typeof e=="number"?Gt:e instanceof Tn?Gn:(n=Tn(e))?(e=n,Gn):cl)(t,e)}function fN(t){return function(){this.removeAttribute(t)}}function lN(t){return function(){this.removeAttributeNS(t.space,t.local)}}function uN(t,e,n){var r,o=n+"",i;return function(){var s=this.getAttribute(t);return s===o?null:s===r?i:i=e(r=s,n)}}function pN(t,e,n){var r,o=n+"",i;return function(){var s=this.getAttributeNS(t.space,t.local);return s===o?null:s===r?i:i=e(r=s,n)}}function hN(t,e,n){var r,o,i;return function(){var s,a=n(this),c;return a==null?void this.removeAttribute(t):(s=this.getAttribute(t),c=a+"",s===c?null:s===r&&c===o?i:(o=c,i=e(r=s,a)))}}function dN(t,e,n){var r,o,i;return function(){var s,a=n(this),c;return a==null?void this.removeAttributeNS(t.space,t.local):(s=this.getAttributeNS(t.space,t.local),c=a+"",s===c?null:s===r&&c===o?i:(o=c,i=e(r=s,a)))}}function P4(t,e){var n=vo(t),r=n==="transform"?Nx:zd;return this.attrTween(t,typeof e=="function"?(n.local?dN:hN)(n,r,Xa(this,"attr."+t,e)):e==null?(n.local?lN:fN)(n):(n.local?pN:uN)(n,r,e))}function mN(t,e){return function(n){this.setAttribute(t,e.call(this,n))}}function gN(t,e){return function(n){this.setAttributeNS(t.space,t.local,e.call(this,n))}}function yN(t,e){var n,r;function o(){var i=e.apply(this,arguments);return i!==r&&(n=(r=i)&&gN(t,i)),n}return o._value=e,o}function xN(t,e){var n,r;function o(){var i=e.apply(this,arguments);return i!==r&&(n=(r=i)&&mN(t,i)),n}return o._value=e,o}function q4(t,e){var n="attr."+t;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(e==null)return this.tween(n,null);if(typeof e!="function")throw new Error;var r=vo(t);return this.tween(n,(r.local?yN:xN)(r,e))}function bN(t,e){return function(){gl(this,t).delay=+e.apply(this,arguments)}}function wN(t,e){return e=+e,function(){gl(this,t).delay=e}}function B4(t){var e=this._id;return arguments.length?this.each((typeof t=="function"?bN:wN)(e,t)):xe(this.node(),e).delay}function vN(t,e){return function(){qe(this,t).duration=+e.apply(this,arguments)}}function _N(t,e){return e=+e,function(){qe(this,t).duration=e}}function z4(t){var e=this._id;return arguments.length?this.each((typeof t=="function"?vN:_N)(e,t)):xe(this.node(),e).duration}function MN(t,e){if(typeof e!="function")throw new Error;return function(){qe(this,t).ease=e}}function Y4(t){var e=this._id;return arguments.length?this.each(MN(e,t)):xe(this.node(),e).ease}function SN(t,e){return function(){var n=e.apply(this,arguments);if(typeof n!="function")throw new Error;qe(this,t).ease=n}}function U4(t){if(typeof t!="function")throw new Error;return this.each(SN(this._id,t))}function j4(t){typeof t!="function"&&(t=Jf(t));for(var e=this._groups,n=e.length,r=new Array(n),o=0;o<n;++o)for(var i=e[o],s=i.length,a=r[o]=[],c,f=0;f<s;++f)(c=i[f])&&t.call(c,c.__data__,f,i)&&a.push(c);return new cn(r,this._parents,this._name,this._id)}function X4(t){if(t._id!==this._id)throw new Error;for(var e=this._groups,n=t._groups,r=e.length,o=n.length,i=Math.min(r,o),s=new Array(r),a=0;a<i;++a)for(var c=e[a],f=n[a],l=c.length,u=s[a]=new Array(l),p,h=0;h<l;++h)(p=c[h]||f[h])&&(u[h]=p);for(;a<r;++a)s[a]=e[a];return new cn(s,this._parents,this._name,this._id)}function AN(t){return(t+"").trim().split(/^|\s+/).every(function(e){var n=e.indexOf(".");return n>=0&&(e=e.slice(0,n)),!e||e==="start"})}function EN(t,e,n){var r,o,i=AN(e)?gl:qe;return function(){var s=i(this,t),a=s.on;a!==r&&(o=(r=a).copy()).on(e,n),s.on=o}}function G4(t,e){var n=this._id;return arguments.length<2?xe(this.node(),n).on.on(t):this.each(EN(n,t,e))}function TN(t){return function(){var e=this.parentNode;for(var n in this.__transition)if(+n!==t)return;e&&e.removeChild(this)}}function V4(){return this.on("end.remove",TN(this._id))}function W4(t){var e=this._name,n=this._id;typeof t!="function"&&(t=_s(t));for(var r=this._groups,o=r.length,i=new Array(o),s=0;s<o;++s)for(var a=r[s],c=a.length,f=i[s]=new Array(c),l,u,p=0;p<c;++p)(l=a[p])&&(u=t.call(l,l.__data__,p,a))&&("__data__"in l&&(u.__data__=l.__data__),f[p]=u,bi(f[p],e,n,p,f,xe(l,n)));return new cn(i,this._parents,e,n)}function H4(t){var e=this._name,n=this._id;typeof t!="function"&&(t=Kf(t));for(var r=this._groups,o=r.length,i=[],s=[],a=0;a<o;++a)for(var c=r[a],f=c.length,l,u=0;u<f;++u)if(l=c[u]){for(var p=t.call(l,l.__data__,u,c),h,d=xe(l,n),m=0,g=p.length;m<g;++m)(h=p[m])&&bi(h,e,n,m,p,d);i.push(p),s.push(l)}return new cn(i,s,e,n)}var IN=Mo.prototype.constructor;function Q4(){return new IN(this._groups,this._parents)}function $N(t,e){var n,r,o;return function(){var i=gi(this,t),s=(this.style.removeProperty(t),gi(this,t));return i===s?null:i===n&&s===r?o:o=e(n=i,r=s)}}function Z4(t){return function(){this.style.removeProperty(t)}}function CN(t,e,n){var r,o=n+"",i;return function(){var s=gi(this,t);return s===o?null:s===r?i:i=e(r=s,n)}}function kN(t,e,n){var r,o,i;return function(){var s=gi(this,t),a=n(this),c=a+"";return a==null&&(c=a=(this.style.removeProperty(t),gi(this,t))),s===c?null:s===r&&c===o?i:(o=c,i=e(r=s,a))}}function NN(t,e){var n,r,o,i="style."+e,s="end."+i,a;return function(){var c=qe(this,t),f=c.on,l=c.value[i]==null?a||(a=Z4(e)):void 0;(f!==n||o!==l)&&(r=(n=f).copy()).on(s,o=l),c.on=r}}function K4(t,e,n){var r=(t+="")=="transform"?kx:zd;return e==null?this.styleTween(t,$N(t,r)).on("end.style."+t,Z4(t)):typeof e=="function"?this.styleTween(t,kN(t,r,Xa(this,"style."+t,e))).each(NN(this._id,t)):this.styleTween(t,CN(t,r,e),n).on("end.style."+t,null)}function ON(t,e,n){return function(r){this.style.setProperty(t,e.call(this,r),n)}}function RN(t,e,n){var r,o;function i(){var s=e.apply(this,arguments);return s!==o&&(r=(o=s)&&ON(t,s,n)),r}return i._value=e,i}function J4(t,e,n){var r="style."+(t+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(e==null)return this.tween(r,null);if(typeof e!="function")throw new Error;return this.tween(r,RN(t,e,n??""))}function LN(t){return function(){this.textContent=t}}function DN(t){return function(){var e=t(this);this.textContent=e??""}}function t5(t){return this.tween("text",typeof t=="function"?DN(Xa(this,"text",t)):LN(t==null?"":t+""))}function FN(t){return function(e){this.textContent=t.call(this,e)}}function PN(t){var e,n;function r(){var o=t.apply(this,arguments);return o!==n&&(e=(n=o)&&FN(o)),e}return r._value=t,r}function e5(t){var e="text";if(arguments.length<1)return(e=this.tween(e))&&e._value;if(t==null)return this.tween(e,null);if(typeof t!="function")throw new Error;return this.tween(e,PN(t))}function n5(){for(var t=this._name,e=this._id,n=Yd(),r=this._groups,o=r.length,i=0;i<o;++i)for(var s=r[i],a=s.length,c,f=0;f<a;++f)if(c=s[f]){var l=xe(c,e);bi(c,t,n,f,s,{time:l.time+l.delay+l.duration,delay:0,duration:l.duration,ease:l.ease})}return new cn(r,this._parents,t,n)}function r5(){var t,e,n=this,r=n._id,o=n.size();return new Promise(function(i,s){var a={value:s},c={value:function(){--o===0&&i()}};n.each(function(){var f=qe(this,r),l=f.on;l!==t&&(e=(t=l).copy(),e._.cancel.push(a),e._.interrupt.push(a),e._.end.push(c)),f.on=e}),o===0&&i()})}var qN=0;function cn(t,e,n,r){this._groups=t,this._parents=e,this._name=n,this._id=r}function o5(t){return Mo().transition(t)}function Yd(){return++qN}var Eo=Mo.prototype;cn.prototype=o5.prototype={constructor:cn,select:W4,selectAll:H4,selectChild:Eo.selectChild,selectChildren:Eo.selectChildren,filter:j4,merge:X4,selection:Q4,transition:n5,call:Eo.call,nodes:Eo.nodes,node:Eo.node,size:Eo.size,empty:Eo.empty,each:Eo.each,on:G4,attr:P4,attrTween:q4,style:K4,styleTween:J4,text:t5,textTween:e5,remove:V4,tween:F4,delay:B4,duration:z4,ease:Y4,easeVarying:U4,end:r5,[Symbol.iterator]:Eo[Symbol.iterator]};function Ud(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}var BN={time:null,delay:0,duration:250,ease:Ud};function zN(t,e){for(var n;!(n=t.__transition)||!(n=n[e]);)if(!(t=t.parentNode))throw new Error(`transition ${e} not found`);return n}function i5(t){var e,n;t instanceof cn?(e=t._id,t=t._name):(e=Yd(),(n=BN).time=dl(),t=t==null?null:t+"");for(var r=this._groups,o=r.length,i=0;i<o;++i)for(var s=r[i],a=s.length,c,f=0;f<a;++f)(c=s[f])&&bi(c,t,e,f,s,n||zN(c,e));return new cn(r,this._parents,t,e)}Mo.prototype.interrupt=D4;Mo.prototype.transition=i5;var jd=t=>()=>t;function Fx(t,{sourceEvent:e,target:n,selection:r,mode:o,dispatch:i}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:e,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},selection:{value:r,enumerable:!0,configurable:!0},mode:{value:o,enumerable:!0,configurable:!0},_:{value:i}})}function s5(t){t.stopImmediatePropagation()}function Xd(t){t.preventDefault(),t.stopImmediatePropagation()}var a5={name:"drag"},Px={name:"space"},Ga={name:"handle"},Va={name:"center"},{abs:c5,max:Ve,min:We}=Math;function f5(t){return[+t[0],+t[1]]}function Bx(t){return[f5(t[0]),f5(t[1])]}var Gd={name:"x",handles:["w","e"].map(yl),input:function(t,e){return t==null?null:[[+t[0],e[0][1]],[+t[1],e[1][1]]]},output:function(t){return t&&[t[0][0],t[1][0]]}},Vd={name:"y",handles:["n","s"].map(yl),input:function(t,e){return t==null?null:[[e[0][0],+t[0]],[e[1][0],+t[1]]]},output:function(t){return t&&[t[0][1],t[1][1]]}},YN={name:"xy",handles:["n","w","e","s","nw","ne","sw","se"].map(yl),input:function(t){return t==null?null:Bx(t)},output:function(t){return t}},To={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"},l5={e:"w",w:"e",nw:"ne",ne:"nw",se:"sw",sw:"se"},u5={n:"s",s:"n",nw:"sw",ne:"se",se:"ne",sw:"nw"},UN={overlay:1,selection:1,n:null,e:1,s:null,w:-1,nw:-1,ne:1,se:1,sw:-1},jN={overlay:1,selection:1,n:-1,e:null,s:1,w:null,nw:-1,ne:-1,se:1,sw:1};function yl(t){return{type:t}}function XN(t){return!t.ctrlKey&&!t.button}function GN(){var t=this.ownerSVGElement||this;return t.hasAttribute("viewBox")?(t=t.viewBox.baseVal,[[t.x,t.y],[t.x+t.width,t.y+t.height]]):[[0,0],[t.width.baseVal.value,t.height.baseVal.value]]}function VN(){return navigator.maxTouchPoints||"ontouchstart"in this}function qx(t){for(;!t.__brush;)if(!(t=t.parentNode))return;return t.__brush}function WN(t){return t[0][0]===t[1][0]||t[0][1]===t[1][1]}function zx(){return jx(Gd)}function Yx(){return jx(Vd)}function Ux(){return jx(YN)}function jx(t){var e=GN,n=XN,r=VN,o=!0,i=vs("start","brush","end"),s=6,a;function c(g){var y=g.property("__brush",m).selectAll(".overlay").data([yl("overlay")]);y.enter().append("rect").attr("class","overlay").attr("pointer-events","all").attr("cursor",To.overlay).merge(y).each(function(){var w=qx(this).extent;bt(this).attr("x",w[0][0]).attr("y",w[0][1]).attr("width",w[1][0]-w[0][0]).attr("height",w[1][1]-w[0][1])}),g.selectAll(".selection").data([yl("selection")]).enter().append("rect").attr("class","selection").attr("cursor",To.selection).attr("fill","#777").attr("fill-opacity",.3).attr("stroke","#fff").attr("shape-rendering","crispEdges");var x=g.selectAll(".handle").data(t.handles,function(w){return w.type});x.exit().remove(),x.enter().append("rect").attr("class",function(w){return"handle handle--"+w.type}).attr("cursor",function(w){return To[w.type]}),g.each(f).attr("fill","none").attr("pointer-events","all").on("mousedown.brush",p).filter(r).on("touchstart.brush",p).on("touchmove.brush",h).on("touchend.brush touchcancel.brush",d).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(w){l(this,arguments).beforestart().start(w)}).on("interrupt.brush end.brush",function(w){l(this,arguments).end(w)}).tween("brush",function(){var w=this,b=w.__brush,_=l(w,arguments),v=b.selection,A=t.input(typeof y=="function"?y.apply(this,arguments):y,b.extent),T=In(v,A);function E($){b.selection=$===1&&A===null?null:T($),f.call(w),_.brush()}return v!==null&&A!==null?E:E(1)}):g.each(function(){var w=this,b=arguments,_=w.__brush,v=t.input(typeof y=="function"?y.apply(w,b):y,_.extent),A=l(w,b).beforestart();Cr(w),_.selection=v===null?null:v,f.call(w),A.start(x).brush(x).end(x)})},c.clear=function(g,y){c.move(g,null,y)};function f(){var g=bt(this),y=qx(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 l(g,y,x){var w=g.__brush.emitter;return w&&(!x||!w.clean)?w:new u(g,y,x)}function u(g,y,x){this.that=g,this.args=y,this.state=g.__brush,this.active=0,this.clean=x}u.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 w=bt(this.that).datum();i.call(g,this.that,new Fx(g,{sourceEvent:y,target:c,selection:t.output(this.state.selection),mode:x,dispatch:i}),w)}};function p(g){if(a&&!g.touches||!n.apply(this,arguments))return;var y=this,x=g.target.__data__.type,w=(o&&g.metaKey?x="overlay":x)==="selection"?a5:o&&g.altKey?Va:Ga,b=t===Vd?null:UN[x],_=t===Gd?null:jN[x],v=qx(y),A=v.extent,T=v.selection,E=A[0][0],$,S,k=A[0][1],O,M,I=A[1][0],C,N,L=A[1][1],R,D,F=0,P=0,V,J=b&&_&&o&&g.shiftKey,et,rt,j=Array.from(g.touches||[g],Z=>{let Dt=Z.identifier;return Z=Xe(Z,y),Z.point0=Z.slice(),Z.identifier=Dt,Z});Cr(y);var nt=l(y,arguments,!0).beforestart();if(x==="overlay"){T&&(V=!0);let Z=[j[0],j[1]||j[0]];v.selection=T=[[$=t===Vd?E:We(Z[0][0],Z[1][0]),O=t===Gd?k:We(Z[0][1],Z[1][1])],[C=t===Vd?I:Ve(Z[0][0],Z[1][0]),R=t===Gd?L:Ve(Z[0][1],Z[1][1])]],j.length>1&&gt(g)}else $=T[0][0],O=T[0][1],C=T[1][0],R=T[1][1];S=$,M=O,N=C,D=R;var z=bt(y).attr("pointer-events","none"),W=z.selectAll(".overlay").attr("cursor",To[x]);if(g.touches)nt.moved=q,nt.ended=at;else{var tt=bt(g.view).on("mousemove.brush",q,!0).on("mouseup.brush",at,!0);o&&tt.on("keydown.brush",At,!0).on("keyup.brush",It,!0),el(g.view)}f.call(y),nt.start(g,w.name);function q(Z){for(let Dt of Z.changedTouches||[Z])for(let Mn of j)Mn.identifier===Dt.identifier&&(Mn.cur=Xe(Dt,y));if(J&&!et&&!rt&&j.length===1){let Dt=j[0];c5(Dt.cur[0]-Dt[0])>c5(Dt.cur[1]-Dt[1])?rt=!0:et=!0}for(let Dt of j)Dt.cur&&(Dt[0]=Dt.cur[0],Dt[1]=Dt.cur[1]);V=!0,Xd(Z),gt(Z)}function gt(Z){let Dt=j[0],Mn=Dt.point0;var wr;switch(F=Dt[0]-Mn[0],P=Dt[1]-Mn[1],w){case Px:case a5:{b&&(F=Ve(E-$,We(I-C,F)),S=$+F,N=C+F),_&&(P=Ve(k-O,We(L-R,P)),M=O+P,D=R+P);break}case Ga:{j[1]?(b&&(S=Ve(E,We(I,j[0][0])),N=Ve(E,We(I,j[1][0])),b=1),_&&(M=Ve(k,We(L,j[0][1])),D=Ve(k,We(L,j[1][1])),_=1)):(b<0?(F=Ve(E-$,We(I-$,F)),S=$+F,N=C):b>0&&(F=Ve(E-C,We(I-C,F)),S=$,N=C+F),_<0?(P=Ve(k-O,We(L-O,P)),M=O+P,D=R):_>0&&(P=Ve(k-R,We(L-R,P)),M=O,D=R+P));break}case Va:{b&&(S=Ve(E,We(I,$-F*b)),N=Ve(E,We(I,C+F*b))),_&&(M=Ve(k,We(L,O-P*_)),D=Ve(k,We(L,R+P*_)));break}}N<S&&(b*=-1,wr=$,$=C,C=wr,wr=S,S=N,N=wr,x in l5&&W.attr("cursor",To[x=l5[x]])),D<M&&(_*=-1,wr=O,O=R,R=wr,wr=M,M=D,D=wr,x in u5&&W.attr("cursor",To[x=u5[x]])),v.selection&&(T=v.selection),et&&(S=T[0][0],N=T[1][0]),rt&&(M=T[0][1],D=T[1][1]),(T[0][0]!==S||T[0][1]!==M||T[1][0]!==N||T[1][1]!==D)&&(v.selection=[[S,M],[N,D]],f.call(y),nt.brush(Z,w.name))}function at(Z){if(s5(Z),Z.touches){if(Z.touches.length)return;a&&clearTimeout(a),a=setTimeout(function(){a=null},500)}else nl(Z.view,V),tt.on("keydown.brush keyup.brush mousemove.brush mouseup.brush",null);z.attr("pointer-events","all"),W.attr("cursor",To.overlay),v.selection&&(T=v.selection),WN(T)&&(v.selection=null,f.call(y)),nt.end(Z,w.name)}function At(Z){switch(Z.keyCode){case 16:{J=b&&_;break}case 18:{w===Ga&&(b&&(C=N-F*b,$=S+F*b),_&&(R=D-P*_,O=M+P*_),w=Va,gt(Z));break}case 32:{(w===Ga||w===Va)&&(b<0?C=N-F:b>0&&($=S-F),_<0?R=D-P:_>0&&(O=M-P),w=Px,W.attr("cursor",To.selection),gt(Z));break}default:return}Xd(Z)}function It(Z){switch(Z.keyCode){case 16:{J&&(et=rt=J=!1,gt(Z));break}case 18:{w===Va&&(b<0?C=N:b>0&&($=S),_<0?R=D:_>0&&(O=M),w=Ga,gt(Z));break}case 32:{w===Px&&(Z.altKey?(b&&(C=N-F*b,$=S+F*b),_&&(R=D-P*_,O=M+P*_),w=Va):(b<0?C=N:b>0&&($=S),_<0?R=D:_>0&&(O=M),w=Ga),W.attr("cursor",To[x]),gt(Z));break}default:return}Xd(Z)}}function h(g){l(this,arguments).moved(g)}function d(g){l(this,arguments).ended(g)}function m(){var g=this.__brush||{selection:null};return g.extent=Bx(e.apply(this,arguments)),g.dim=t,g}return c.extent=function(g){return arguments.length?(e=typeof g=="function"?g:jd(Bx(g)),c):e},c.filter=function(g){return arguments.length?(n=typeof g=="function"?g:jd(!!g),c):n},c.touchable=function(g){return arguments.length?(r=typeof g=="function"?g:jd(!!g),c):r},c.handleSize=function(g){return arguments.length?(s=+g,c):s},c.keyModifiers=function(g){return arguments.length?(o=!!g,c):o},c.on=function(){var g=i.on.apply(i,arguments);return g===i?c:g},c}var Xx=Math.PI,Gx=2*Xx,$s=1e-6,HN=Gx-$s;function p5(t){this._+=t[0];for(let e=1,n=t.length;e<n;++e)this._+=arguments[e]+t[e]}function QN(t){let e=Math.floor(t);if(!(e>=0))throw new Error(`invalid digits: ${t}`);if(e>15)return p5;let n=10**e;return function(r){this._+=r[0];for(let o=1,i=r.length;o<i;++o)this._+=Math.round(arguments[o]*n)/n+r[o]}}var wi=class{constructor(e){this._x0=this._y0=this._x1=this._y1=null,this._="",this._append=e==null?p5:QN(e)}moveTo(e,n){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+n}`}closePath(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._append`Z`)}lineTo(e,n){this._append`L${this._x1=+e},${this._y1=+n}`}quadraticCurveTo(e,n,r,o){this._append`Q${+e},${+n},${this._x1=+r},${this._y1=+o}`}bezierCurveTo(e,n,r,o,i,s){this._append`C${+e},${+n},${+r},${+o},${this._x1=+i},${this._y1=+s}`}arcTo(e,n,r,o,i){if(e=+e,n=+n,r=+r,o=+o,i=+i,i<0)throw new Error(`negative radius: ${i}`);let s=this._x1,a=this._y1,c=r-e,f=o-n,l=s-e,u=a-n,p=l*l+u*u;if(this._x1===null)this._append`M${this._x1=e},${this._y1=n}`;else if(p>$s)if(!(Math.abs(u*c-f*l)>$s)||!i)this._append`L${this._x1=e},${this._y1=n}`;else{let h=r-s,d=o-a,m=c*c+f*f,g=h*h+d*d,y=Math.sqrt(m),x=Math.sqrt(p),w=i*Math.tan((Xx-Math.acos((m+p-g)/(2*y*x)))/2),b=w/x,_=w/y;Math.abs(b-1)>$s&&this._append`L${e+b*l},${n+b*u}`,this._append`A${i},${i},0,0,${+(u*h>l*d)},${this._x1=e+_*c},${this._y1=n+_*f}`}}arc(e,n,r,o,i,s){if(e=+e,n=+n,r=+r,s=!!s,r<0)throw new Error(`negative radius: ${r}`);let a=r*Math.cos(o),c=r*Math.sin(o),f=e+a,l=n+c,u=1^s,p=s?o-i:i-o;this._x1===null?this._append`M${f},${l}`:(Math.abs(this._x1-f)>$s||Math.abs(this._y1-l)>$s)&&this._append`L${f},${l}`,r&&(p<0&&(p=p%Gx+Gx),p>HN?this._append`A${r},${r},0,1,${u},${e-a},${n-c}A${r},${r},0,1,${u},${this._x1=f},${this._y1=l}`:p>$s&&this._append`A${r},${r},0,${+(p>=Xx)},${u},${this._x1=e+r*Math.cos(i)},${this._y1=n+r*Math.sin(i)}`)}rect(e,n,r,o){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+n}h${r=+r}v${+o}h${-r}Z`}toString(){return this._}};function h5(){return new wi}h5.prototype=wi.prototype;function fn(t=3){return new wi(+t)}var ZN=Array.prototype,Wd=ZN.slice;function d5(t,e){return t-e}function m5(t){for(var e=0,n=t.length,r=t[n-1][1]*t[0][0]-t[n-1][0]*t[0][1];++e<n;)r+=t[e-1][1]*t[e][0]-t[e-1][0]*t[e][1];return r}var kr=t=>()=>t;function g5(t,e){for(var n=-1,r=e.length,o;++n<r;)if(o=KN(t,e[n]))return o;return 0}function KN(t,e){for(var n=e[0],r=e[1],o=-1,i=0,s=t.length,a=s-1;i<s;a=i++){var c=t[i],f=c[0],l=c[1],u=t[a],p=u[0],h=u[1];if(JN(c,u,e))return 0;l>r!=h>r&&n<(p-f)*(r-l)/(h-l)+f&&(o=-o)}return o}function JN(t,e,n){var r;return tO(t,e,n)&&eO(t[r=+(t[0]===e[0])],n[r],e[r])}function tO(t,e,n){return(e[0]-t[0])*(n[1]-t[1])===(n[0]-t[0])*(e[1]-t[1])}function eO(t,e,n){return t<=e&&e<=n||n<=e&&e<=t}function y5(){}var Io=[[],[[[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 vi(){var t=1,e=1,n=di,r=c;function o(f){var l=n(f);if(Array.isArray(l))l=l.slice().sort(d5);else{let u=kt(f,nO);for(l=Fe(...La(u[0],u[1],l),l);l[l.length-1]>=u[1];)l.pop();for(;l[1]<u[0];)l.shift()}return l.map(u=>i(f,u))}function i(f,l){let u=l==null?NaN:+l;if(isNaN(u))throw new Error(`invalid value: ${l}`);var p=[],h=[];return s(f,u,function(d){r(d,f,u),m5(d)>0?p.push([d]):h.push(d)}),h.forEach(function(d){for(var m=0,g=p.length,y;m<g;++m)if(g5((y=p[m])[0],d)!==-1){y.push(d);return}}),{type:"MultiPolygon",value:l,coordinates:p}}function s(f,l,u){var p=new Array,h=new Array,d,m,g,y,x,w;for(d=m=-1,y=Cs(f[0],l),Io[y<<1].forEach(b);++d<t-1;)g=y,y=Cs(f[d+1],l),Io[g|y<<1].forEach(b);for(Io[y<<0].forEach(b);++m<e-1;){for(d=-1,y=Cs(f[m*t+t],l),x=Cs(f[m*t],l),Io[y<<1|x<<2].forEach(b);++d<t-1;)g=y,y=Cs(f[m*t+t+d+1],l),w=x,x=Cs(f[m*t+d+1],l),Io[g|y<<1|x<<2|w<<3].forEach(b);Io[y|x<<3].forEach(b)}for(d=-1,x=f[m*t]>=l,Io[x<<2].forEach(b);++d<t-1;)w=x,x=Cs(f[m*t+d+1],l),Io[x<<2|w<<3].forEach(b);Io[x<<3].forEach(b);function b(_){var v=[_[0][0]+d,_[0][1]+m],A=[_[1][0]+d,_[1][1]+m],T=a(v),E=a(A),$,S;($=h[T])?(S=p[E])?(delete h[$.end],delete p[S.start],$===S?($.ring.push(A),u($.ring)):p[$.start]=h[S.end]={start:$.start,end:S.end,ring:$.ring.concat(S.ring)}):(delete h[$.end],$.ring.push(A),h[$.end=E]=$):($=p[E])?(S=h[T])?(delete p[$.start],delete h[S.end],$===S?($.ring.push(A),u($.ring)):p[S.start]=h[$.end]={start:S.start,end:$.end,ring:S.ring.concat($.ring)}):(delete p[$.start],$.ring.unshift(v),p[$.start=T]=$):p[T]=h[E]={start:T,end:E,ring:[v,A]}}}function a(f){return f[0]*2+f[1]*(t+1)*4}function c(f,l,u){f.forEach(function(p){var h=p[0],d=p[1],m=h|0,g=d|0,y=Vx(l[g*t+m]);h>0&&h<t&&m===h&&(p[0]=x5(h,Vx(l[g*t+m-1]),y,u)),d>0&&d<e&&g===d&&(p[1]=x5(d,Vx(l[(g-1)*t+m]),y,u))})}return o.contour=i,o.size=function(f){if(!arguments.length)return[t,e];var l=Math.floor(f[0]),u=Math.floor(f[1]);if(!(l>=0&&u>=0))throw new Error("invalid size");return t=l,e=u,o},o.thresholds=function(f){return arguments.length?(n=typeof f=="function"?f:Array.isArray(f)?kr(Wd.call(f)):kr(f),o):n},o.smooth=function(f){return arguments.length?(r=f?c:y5,o):r===c},o}function nO(t){return isFinite(t)?t:NaN}function Cs(t,e){return t==null?!1:+t>=e}function Vx(t){return t==null||isNaN(t=+t)?-1/0:t}function x5(t,e,n,r){let o=r-e,i=n-e,s=isFinite(o)||isFinite(i)?o/i:Math.sign(o)/Math.sign(i);return isNaN(s)?t:t+s-.5}function rO(t){return t[0]}function oO(t){return t[1]}function iO(){return 1}function Wx(){var t=rO,e=oO,n=iO,r=960,o=500,i=20,s=2,a=i*3,c=r+a*2>>s,f=o+a*2>>s,l=kr(20);function u(x){var w=new Float32Array(c*f),b=Math.pow(2,-s),_=-1;for(let O of x){var v=(t(O,++_,x)+a)*b,A=(e(O,_,x)+a)*b,T=+n(O,_,x);if(T&&v>=0&&v<c&&A>=0&&A<f){var E=Math.floor(v),$=Math.floor(A),S=v-E-.5,k=A-$-.5;w[E+$*c]+=(1-S)*(1-k)*T,w[E+1+$*c]+=S*(1-k)*T,w[E+1+($+1)*c]+=S*k*T,w[E+($+1)*c]+=(1-S)*k*T}}return Gf({data:w,width:c,height:f},i*b),w}function p(x){var w=u(x),b=l(w),_=Math.pow(2,2*s);return Array.isArray(b)||(b=Fe(Number.MIN_VALUE,Tt(w)/_,b)),vi().size([c,f]).thresholds(b.map(v=>v*_))(w).map((v,A)=>(v.value=+b[A],h(v)))}p.contours=function(x){var w=u(x),b=vi().size([c,f]),_=Math.pow(2,2*s),v=A=>{A=+A;var T=h(b.contour(w,A*_));return T.value=A,T};return Object.defineProperty(v,"max",{get:()=>Tt(w)/_}),v};function h(x){return x.coordinates.forEach(d),x}function d(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=i*3,c=r+a*2>>s,f=o+a*2>>s,p}return p.x=function(x){return arguments.length?(t=typeof x=="function"?x:kr(+x),p):t},p.y=function(x){return arguments.length?(e=typeof x=="function"?x:kr(+x),p):e},p.weight=function(x){return arguments.length?(n=typeof x=="function"?x:kr(+x),p):n},p.size=function(x){if(!arguments.length)return[r,o];var w=+x[0],b=+x[1];if(!(w>=0&&b>=0))throw new Error("invalid size");return r=w,o=b,y()},p.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()},p.thresholds=function(x){return arguments.length?(l=typeof x=="function"?x:Array.isArray(x)?kr(Wd.call(x)):kr(x),p):l},p.bandwidth=function(x){if(!arguments.length)return Math.sqrt(i*(i+1));if(!((x=+x)>=0))throw new Error("invalid bandwidth");return i=(Math.sqrt(4*x*x+1)-1)/2,y()},p}var $t=11102230246251565e-32,fe=134217729,xl=(3+8*$t)*$t;function ks(t,e,n,r,o){let i,s,a,c,f=e[0],l=r[0],u=0,p=0;l>f==l>-f?(i=f,f=e[++u]):(i=l,l=r[++p]);let h=0;if(u<t&&p<n)for(l>f==l>-f?(s=f+i,a=i-(s-f),f=e[++u]):(s=l+i,a=i-(s-l),l=r[++p]),i=s,a!==0&&(o[h++]=a);u<t&&p<n;)l>f==l>-f?(s=i+f,c=s-i,a=i-(s-c)+(f-c),f=e[++u]):(s=i+l,c=s-i,a=i-(s-c)+(l-c),l=r[++p]),i=s,a!==0&&(o[h++]=a);for(;u<t;)s=i+f,c=s-i,a=i-(s-c)+(f-c),f=e[++u],i=s,a!==0&&(o[h++]=a);for(;p<n;)s=i+l,c=s-i,a=i-(s-c)+(l-c),l=r[++p],i=s,a!==0&&(o[h++]=a);return(i!==0||h===0)&&(o[h++]=i),h}function bl(t,e){let n=e[0];for(let r=1;r<t;r++)n+=e[r];return n}function U(t){return new Float64Array(t)}var sO=(3+16*$t)*$t,aO=(2+12*$t)*$t,cO=(9+64*$t)*$t*$t,Wa=U(4),b5=U(8),w5=U(12),v5=U(16),ln=U(4);function fO(t,e,n,r,o,i,s){let a,c,f,l,u,p,h,d,m,g,y,x,w,b,_,v,A,T,E=t-o,$=n-o,S=e-i,k=r-i;b=E*k,p=fe*E,h=p-(p-E),d=E-h,p=fe*k,m=p-(p-k),g=k-m,_=d*g-(b-h*m-d*m-h*g),v=S*$,p=fe*S,h=p-(p-S),d=S-h,p=fe*$,m=p-(p-$),g=$-m,A=d*g-(v-h*m-d*m-h*g),y=_-A,u=_-y,Wa[0]=_-(y+u)+(u-A),x=b+y,u=x-b,w=b-(x-u)+(y-u),y=w-v,u=w-y,Wa[1]=w-(y+u)+(u-v),T=x+y,u=T-x,Wa[2]=x-(T-u)+(y-u),Wa[3]=T;let O=bl(4,Wa),M=aO*s;if(O>=M||-O>=M||(u=t-E,a=t-(E+u)+(u-o),u=n-$,f=n-($+u)+(u-o),u=e-S,c=e-(S+u)+(u-i),u=r-k,l=r-(k+u)+(u-i),a===0&&c===0&&f===0&&l===0)||(M=cO*s+xl*Math.abs(O),O+=E*l+k*a-(S*f+$*c),O>=M||-O>=M))return O;b=a*k,p=fe*a,h=p-(p-a),d=a-h,p=fe*k,m=p-(p-k),g=k-m,_=d*g-(b-h*m-d*m-h*g),v=c*$,p=fe*c,h=p-(p-c),d=c-h,p=fe*$,m=p-(p-$),g=$-m,A=d*g-(v-h*m-d*m-h*g),y=_-A,u=_-y,ln[0]=_-(y+u)+(u-A),x=b+y,u=x-b,w=b-(x-u)+(y-u),y=w-v,u=w-y,ln[1]=w-(y+u)+(u-v),T=x+y,u=T-x,ln[2]=x-(T-u)+(y-u),ln[3]=T;let I=ks(4,Wa,4,ln,b5);b=E*l,p=fe*E,h=p-(p-E),d=E-h,p=fe*l,m=p-(p-l),g=l-m,_=d*g-(b-h*m-d*m-h*g),v=S*f,p=fe*S,h=p-(p-S),d=S-h,p=fe*f,m=p-(p-f),g=f-m,A=d*g-(v-h*m-d*m-h*g),y=_-A,u=_-y,ln[0]=_-(y+u)+(u-A),x=b+y,u=x-b,w=b-(x-u)+(y-u),y=w-v,u=w-y,ln[1]=w-(y+u)+(u-v),T=x+y,u=T-x,ln[2]=x-(T-u)+(y-u),ln[3]=T;let C=ks(I,b5,4,ln,w5);b=a*l,p=fe*a,h=p-(p-a),d=a-h,p=fe*l,m=p-(p-l),g=l-m,_=d*g-(b-h*m-d*m-h*g),v=c*f,p=fe*c,h=p-(p-c),d=c-h,p=fe*f,m=p-(p-f),g=f-m,A=d*g-(v-h*m-d*m-h*g),y=_-A,u=_-y,ln[0]=_-(y+u)+(u-A),x=b+y,u=x-b,w=b-(x-u)+(y-u),y=w-v,u=w-y,ln[1]=w-(y+u)+(u-v),T=x+y,u=T-x,ln[2]=x-(T-u)+(y-u),ln[3]=T;let N=ks(C,w5,4,ln,v5);return v5[N-1]}function Ha(t,e,n,r,o,i){let s=(e-i)*(n-o),a=(t-o)*(r-i),c=s-a,f=Math.abs(s+a);return Math.abs(c)>=sO*f?c:-fO(t,e,n,r,o,i,f)}var Oit=(7+56*$t)*$t,Rit=(3+28*$t)*$t,Lit=(26+288*$t)*$t*$t,Dit=U(4),Fit=U(4),Pit=U(4),qit=U(4),Bit=U(4),zit=U(4),Yit=U(4),Uit=U(4),jit=U(4),Xit=U(8),Git=U(8),Vit=U(8),Wit=U(4),Hit=U(8),Qit=U(8),Zit=U(8),Kit=U(12),Jit=U(192),tst=U(192);var rst=(10+96*$t)*$t,ost=(4+48*$t)*$t,ist=(44+576*$t)*$t*$t,sst=U(4),ast=U(4),cst=U(4),fst=U(4),lst=U(4),ust=U(4),pst=U(4),hst=U(4),dst=U(8),mst=U(8),gst=U(8),yst=U(8),xst=U(8),bst=U(8),wst=U(8),vst=U(8),_st=U(8),Mst=U(4),Sst=U(4),Ast=U(4),Est=U(8),Tst=U(16),Ist=U(16),$st=U(16),Cst=U(32),kst=U(32),Nst=U(48),Ost=U(64),Rst=U(1152),Lst=U(1152);var qst=(16+224*$t)*$t,Bst=(5+72*$t)*$t,zst=(71+1408*$t)*$t*$t,Yst=U(4),Ust=U(4),jst=U(4),Xst=U(4),Gst=U(4),Vst=U(4),Wst=U(4),Hst=U(4),Qst=U(4),Zst=U(4),Kst=U(24),Jst=U(24),tat=U(24),eat=U(24),nat=U(24),rat=U(24),oat=U(24),iat=U(24),sat=U(24),aat=U(24),cat=U(1152),fat=U(1152),lat=U(1152),uat=U(1152),pat=U(1152),hat=U(2304),dat=U(2304),mat=U(3456),gat=U(5760),yat=U(8),xat=U(8),bat=U(8),wat=U(16),vat=U(24),_at=U(48),Mat=U(48),Sat=U(96),Aat=U(192),Eat=U(384),Tat=U(384),Iat=U(384),$at=U(768);var Cat=U(96),kat=U(96),Nat=U(96),Oat=U(1152);var M5=Math.pow(2,-52),Hd=new Uint32Array(512),Za=class t{static from(e,n=mO,r=gO){let o=e.length,i=new Float64Array(o*2);for(let s=0;s<o;s++){let a=e[s];i[2*s]=n(a),i[2*s+1]=r(a)}return new t(i)}constructor(e){let n=e.length>>1;if(n>0&&typeof e[0]!="number")throw new Error("Expected coords to contain numbers.");this.coords=e;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:e,_hullPrev:n,_hullNext:r,_hullTri:o,_hullHash:i}=this,s=e.length>>1,a=1/0,c=1/0,f=-1/0,l=-1/0;for(let E=0;E<s;E++){let $=e[2*E],S=e[2*E+1];$<a&&(a=$),S<c&&(c=S),$>f&&(f=$),S>l&&(l=S),this._ids[E]=E}let u=(a+f)/2,p=(c+l)/2,h,d,m;for(let E=0,$=1/0;E<s;E++){let S=Hx(u,p,e[2*E],e[2*E+1]);S<$&&(h=E,$=S)}let g=e[2*h],y=e[2*h+1];for(let E=0,$=1/0;E<s;E++){if(E===h)continue;let S=Hx(g,y,e[2*E],e[2*E+1]);S<$&&S>0&&(d=E,$=S)}let x=e[2*d],w=e[2*d+1],b=1/0;for(let E=0;E<s;E++){if(E===h||E===d)continue;let $=hO(g,y,x,w,e[2*E],e[2*E+1]);$<b&&(m=E,b=$)}let _=e[2*m],v=e[2*m+1];if(b===1/0){for(let S=0;S<s;S++)this._dists[S]=e[2*S]-e[0]||e[2*S+1]-e[1];Qa(this._ids,this._dists,0,s-1);let E=new Uint32Array(s),$=0;for(let S=0,k=-1/0;S<s;S++){let O=this._ids[S],M=this._dists[O];M>k&&(E[$++]=O,k=M)}this.hull=E.subarray(0,$),this.triangles=new Uint32Array(0),this.halfedges=new Uint32Array(0);return}if(Ha(g,y,x,w,_,v)<0){let E=d,$=x,S=w;d=m,x=_,w=v,m=E,_=$,v=S}let A=dO(g,y,x,w,_,v);this._cx=A.x,this._cy=A.y;for(let E=0;E<s;E++)this._dists[E]=Hx(e[2*E],e[2*E+1],A.x,A.y);Qa(this._ids,this._dists,0,s-1),this._hullStart=h;let T=3;r[h]=n[m]=d,r[d]=n[h]=m,r[m]=n[d]=h,o[h]=0,o[d]=1,o[m]=2,i.fill(-1),i[this._hashKey(g,y)]=h,i[this._hashKey(x,w)]=d,i[this._hashKey(_,v)]=m,this.trianglesLen=0,this._addTriangle(h,d,m,-1,-1,-1);for(let E=0,$,S;E<this._ids.length;E++){let k=this._ids[E],O=e[2*k],M=e[2*k+1];if(E>0&&Math.abs(O-$)<=M5&&Math.abs(M-S)<=M5||($=O,S=M,k===h||k===d||k===m))continue;let I=0;for(let D=0,F=this._hashKey(O,M);D<this._hashSize&&(I=i[(F+D)%this._hashSize],!(I!==-1&&I!==r[I]));D++);I=n[I];let C=I,N;for(;N=r[C],Ha(O,M,e[2*C],e[2*C+1],e[2*N],e[2*N+1])>=0;)if(C=N,C===I){C=-1;break}if(C===-1)continue;let L=this._addTriangle(C,k,r[C],-1,-1,o[C]);o[k]=this._legalize(L+2),o[C]=L,T++;let R=r[C];for(;N=r[R],Ha(O,M,e[2*R],e[2*R+1],e[2*N],e[2*N+1])<0;)L=this._addTriangle(R,k,N,o[k],-1,o[R]),o[k]=this._legalize(L+2),r[R]=R,T--,R=N;if(C===I)for(;N=n[C],Ha(O,M,e[2*N],e[2*N+1],e[2*C],e[2*C+1])<0;)L=this._addTriangle(N,k,C,-1,o[C],o[N]),this._legalize(L+2),o[N]=L,r[C]=C,T--,C=N;this._hullStart=n[k]=C,r[C]=n[R]=k,r[k]=R,i[this._hashKey(O,M)]=k,i[this._hashKey(e[2*C],e[2*C+1])]=C}this.hull=new Uint32Array(T);for(let E=0,$=this._hullStart;E<T;E++)this.hull[E]=$,$=r[$];this.triangles=this._triangles.subarray(0,this.trianglesLen),this.halfedges=this._halfedges.subarray(0,this.trianglesLen)}_hashKey(e,n){return Math.floor(uO(e-this._cx,n-this._cy)*this._hashSize)%this._hashSize}_legalize(e){let{_triangles:n,_halfedges:r,coords:o}=this,i=0,s=0;for(;;){let a=r[e],c=e-e%3;if(s=c+(e+2)%3,a===-1){if(i===0)break;e=Hd[--i];continue}let f=a-a%3,l=c+(e+1)%3,u=f+(a+2)%3,p=n[s],h=n[e],d=n[l],m=n[u];if(pO(o[2*p],o[2*p+1],o[2*h],o[2*h+1],o[2*d],o[2*d+1],o[2*m],o[2*m+1])){n[e]=m,n[a]=p;let y=r[u];if(y===-1){let w=this._hullStart;do{if(this._hullTri[w]===u){this._hullTri[w]=e;break}w=this._hullPrev[w]}while(w!==this._hullStart)}this._link(e,y),this._link(a,r[s]),this._link(s,u);let x=f+(a+1)%3;i<Hd.length&&(Hd[i++]=x)}else{if(i===0)break;e=Hd[--i]}}return s}_link(e,n){this._halfedges[e]=n,n!==-1&&(this._halfedges[n]=e)}_addTriangle(e,n,r,o,i,s){let a=this.trianglesLen;return this._triangles[a]=e,this._triangles[a+1]=n,this._triangles[a+2]=r,this._link(a,o),this._link(a+1,i),this._link(a+2,s),this.trianglesLen+=3,a}};function uO(t,e){let n=t/(Math.abs(t)+Math.abs(e));return(e>0?3-n:1+n)/4}function Hx(t,e,n,r){let o=t-n,i=e-r;return o*o+i*i}function pO(t,e,n,r,o,i,s,a){let c=t-s,f=e-a,l=n-s,u=r-a,p=o-s,h=i-a,d=c*c+f*f,m=l*l+u*u,g=p*p+h*h;return c*(u*g-m*h)-f*(l*g-m*p)+d*(l*h-u*p)<0}function hO(t,e,n,r,o,i){let s=n-t,a=r-e,c=o-t,f=i-e,l=s*s+a*a,u=c*c+f*f,p=.5/(s*f-a*c),h=(f*l-a*u)*p,d=(s*u-c*l)*p;return h*h+d*d}function dO(t,e,n,r,o,i){let s=n-t,a=r-e,c=o-t,f=i-e,l=s*s+a*a,u=c*c+f*f,p=.5/(s*f-a*c),h=t+(f*l-a*u)*p,d=e+(s*u-c*l)*p;return{x:h,y:d}}function Qa(t,e,n,r){if(r-n<=20)for(let o=n+1;o<=r;o++){let i=t[o],s=e[i],a=o-1;for(;a>=n&&e[t[a]]>s;)t[a+1]=t[a--];t[a+1]=i}else{let o=n+r>>1,i=n+1,s=r;wl(t,o,i),e[t[n]]>e[t[r]]&&wl(t,n,r),e[t[i]]>e[t[r]]&&wl(t,i,r),e[t[n]]>e[t[i]]&&wl(t,n,i);let a=t[i],c=e[a];for(;;){do i++;while(e[t[i]]<c);do s--;while(e[t[s]]>c);if(s<i)break;wl(t,i,s)}t[n+1]=t[s],t[s]=a,r-i+1>=s-n?(Qa(t,e,i,r),Qa(t,e,n,s-1)):(Qa(t,e,n,s-1),Qa(t,e,i,r))}}function wl(t,e,n){let r=t[e];t[e]=t[n],t[n]=r}function mO(t){return t[0]}function gO(t){return t[1]}var Vn=class{constructor(){this._x0=this._y0=this._x1=this._y1=null,this._=""}moveTo(e,n){this._+=`M${this._x0=this._x1=+e},${this._y0=this._y1=+n}`}closePath(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")}lineTo(e,n){this._+=`L${this._x1=+e},${this._y1=+n}`}arc(e,n,r){e=+e,n=+n,r=+r;let o=e+r,i=n;if(r<0)throw new Error("negative radius");this._x1===null?this._+=`M${o},${i}`:(Math.abs(this._x1-o)>1e-6||Math.abs(this._y1-i)>1e-6)&&(this._+="L"+o+","+i),r&&(this._+=`A${r},${r},0,1,1,${e-r},${n}A${r},${r},0,1,1,${this._x1=o},${this._y1=i}`)}rect(e,n,r,o){this._+=`M${this._x0=this._x1=+e},${this._y0=this._y1=+n}h${+r}v${+o}h${-r}Z`}value(){return this._||null}};var _i=class{constructor(){this._=[]}moveTo(e,n){this._.push([e,n])}closePath(){this._.push(this._[0].slice())}lineTo(e,n){this._.push([e,n])}value(){return this._.length?this._:null}};var vl=class{constructor(e,[n,r,o,i]=[0,0,960,500]){if(!((o=+o)>=(n=+n))||!((i=+i)>=(r=+r)))throw new Error("invalid bounds");this.delaunay=e,this._circumcenters=new Float64Array(e.points.length*2),this.vectors=new Float64Array(e.points.length*2),this.xmax=o,this.xmin=n,this.ymax=i,this.ymin=r,this._init()}update(){return this.delaunay.update(),this._init(),this}_init(){let{delaunay:{points:e,hull:n,triangles:r},vectors:o}=this,i,s,a=this.circumcenters=this._circumcenters.subarray(0,r.length/3*2);for(let m=0,g=0,y=r.length,x,w;m<y;m+=3,g+=2){let b=r[m]*2,_=r[m+1]*2,v=r[m+2]*2,A=e[b],T=e[b+1],E=e[_],$=e[_+1],S=e[v],k=e[v+1],O=E-A,M=$-T,I=S-A,C=k-T,N=(O*C-M*I)*2;if(Math.abs(N)<1e-9){if(i===void 0){i=s=0;for(let R of n)i+=e[R*2],s+=e[R*2+1];i/=n.length,s/=n.length}let L=1e9*Math.sign((i-A)*C-(s-T)*I);x=(A+S)/2-L*C,w=(T+k)/2+L*I}else{let L=1/N,R=O*O+M*M,D=I*I+C*C;x=A+(C*R-M*D)*L,w=T+(O*D-I*R)*L}a[g]=x,a[g+1]=w}let c=n[n.length-1],f,l=c*4,u,p=e[2*c],h,d=e[2*c+1];o.fill(0);for(let m=0;m<n.length;++m)c=n[m],f=l,u=p,h=d,l=c*4,p=e[2*c],d=e[2*c+1],o[f+2]=o[l]=h-d,o[f+3]=o[l+1]=p-u}render(e){let n=e==null?e=new Vn:void 0,{delaunay:{halfedges:r,inedges:o,hull:i},circumcenters:s,vectors:a}=this;if(i.length<=1)return null;for(let l=0,u=r.length;l<u;++l){let p=r[l];if(p<l)continue;let h=Math.floor(l/3)*2,d=Math.floor(p/3)*2,m=s[h],g=s[h+1],y=s[d],x=s[d+1];this._renderSegment(m,g,y,x,e)}let c,f=i[i.length-1];for(let l=0;l<i.length;++l){c=f,f=i[l];let u=Math.floor(o[f]/3)*2,p=s[u],h=s[u+1],d=c*4,m=this._project(p,h,a[d+2],a[d+3]);m&&this._renderSegment(p,h,m[0],m[1],e)}return n&&n.value()}renderBounds(e){let n=e==null?e=new Vn:void 0;return e.rect(this.xmin,this.ymin,this.xmax-this.xmin,this.ymax-this.ymin),n&&n.value()}renderCell(e,n){let r=n==null?n=new Vn:void 0,o=this._clip(e);if(o===null||!o.length)return;n.moveTo(o[0],o[1]);let i=o.length;for(;o[0]===o[i-2]&&o[1]===o[i-1]&&i>1;)i-=2;for(let s=2;s<i;s+=2)(o[s]!==o[s-2]||o[s+1]!==o[s-1])&&n.lineTo(o[s],o[s+1]);return n.closePath(),r&&r.value()}*cellPolygons(){let{delaunay:{points:e}}=this;for(let n=0,r=e.length/2;n<r;++n){let o=this.cellPolygon(n);o&&(o.index=n,yield o)}}cellPolygon(e){let n=new _i;return this.renderCell(e,n),n.value()}_renderSegment(e,n,r,o,i){let s,a=this._regioncode(e,n),c=this._regioncode(r,o);a===0&&c===0?(i.moveTo(e,n),i.lineTo(r,o)):(s=this._clipSegment(e,n,r,o,a,c))&&(i.moveTo(s[0],s[1]),i.lineTo(s[2],s[3]))}contains(e,n,r){return n=+n,n!==n||(r=+r,r!==r)?!1:this.delaunay._step(e,n,r)===e}*neighbors(e){let n=this._clip(e);if(n)for(let r of this.delaunay.neighbors(e)){let o=this._clip(r);if(o){t:for(let i=0,s=n.length;i<s;i+=2)for(let a=0,c=o.length;a<c;a+=2)if(n[i]===o[a]&&n[i+1]===o[a+1]&&n[(i+2)%s]===o[(a+c-2)%c]&&n[(i+3)%s]===o[(a+c-1)%c]){yield r;break t}}}}_cell(e){let{circumcenters:n,delaunay:{inedges:r,halfedges:o,triangles:i}}=this,s=r[e];if(s===-1)return null;let a=[],c=s;do{let f=Math.floor(c/3);if(a.push(n[f*2],n[f*2+1]),c=c%3===2?c-2:c+1,i[c]!==e)break;c=o[c]}while(c!==s&&c!==-1);return a}_clip(e){if(e===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(e);if(n===null)return null;let{vectors:r}=this,o=e*4;return this._simplify(r[o]||r[o+1]?this._clipInfinite(e,n,r[o],r[o+1],r[o+2],r[o+3]):this._clipFinite(e,n))}_clipFinite(e,n){let r=n.length,o=null,i,s,a=n[r-2],c=n[r-1],f,l=this._regioncode(a,c),u,p=0;for(let h=0;h<r;h+=2)if(i=a,s=c,a=n[h],c=n[h+1],f=l,l=this._regioncode(a,c),f===0&&l===0)u=p,p=0,o?o.push(a,c):o=[a,c];else{let d,m,g,y,x;if(f===0){if((d=this._clipSegment(i,s,a,c,f,l))===null)continue;[m,g,y,x]=d}else{if((d=this._clipSegment(a,c,i,s,l,f))===null)continue;[y,x,m,g]=d,u=p,p=this._edgecode(m,g),u&&p&&this._edge(e,u,p,o,o.length),o?o.push(m,g):o=[m,g]}u=p,p=this._edgecode(y,x),u&&p&&this._edge(e,u,p,o,o.length),o?o.push(y,x):o=[y,x]}if(o)u=p,p=this._edgecode(o[0],o[1]),u&&p&&this._edge(e,u,p,o,o.length);else if(this.contains(e,(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 o}_clipSegment(e,n,r,o,i,s){let a=i<s;for(a&&([e,n,r,o,i,s]=[r,o,e,n,s,i]);;){if(i===0&&s===0)return a?[r,o,e,n]:[e,n,r,o];if(i&s)return null;let c,f,l=i||s;l&8?(c=e+(r-e)*(this.ymax-n)/(o-n),f=this.ymax):l&4?(c=e+(r-e)*(this.ymin-n)/(o-n),f=this.ymin):l&2?(f=n+(o-n)*(this.xmax-e)/(r-e),c=this.xmax):(f=n+(o-n)*(this.xmin-e)/(r-e),c=this.xmin),i?(e=c,n=f,i=this._regioncode(e,n)):(r=c,o=f,s=this._regioncode(r,o))}}_clipInfinite(e,n,r,o,i,s){let a=Array.from(n),c;if((c=this._project(a[0],a[1],r,o))&&a.unshift(c[0],c[1]),(c=this._project(a[a.length-2],a[a.length-1],i,s))&&a.push(c[0],c[1]),a=this._clipFinite(e,a))for(let f=0,l=a.length,u,p=this._edgecode(a[l-2],a[l-1]);f<l;f+=2)u=p,p=this._edgecode(a[f],a[f+1]),u&&p&&(f=this._edge(e,u,p,a,f),l=a.length);else this.contains(e,(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(e,n,r,o,i){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}(o[i]!==s||o[i+1]!==a)&&this.contains(e,s,a)&&(o.splice(i,0,s,a),i+=2)}return i}_project(e,n,r,o){let i=1/0,s,a,c;if(o<0){if(n<=this.ymin)return null;(s=(this.ymin-n)/o)<i&&(c=this.ymin,a=e+(i=s)*r)}else if(o>0){if(n>=this.ymax)return null;(s=(this.ymax-n)/o)<i&&(c=this.ymax,a=e+(i=s)*r)}if(r>0){if(e>=this.xmax)return null;(s=(this.xmax-e)/r)<i&&(a=this.xmax,c=n+(i=s)*o)}else if(r<0){if(e<=this.xmin)return null;(s=(this.xmin-e)/r)<i&&(a=this.xmin,c=n+(i=s)*o)}return[a,c]}_edgecode(e,n){return(e===this.xmin?1:e===this.xmax?2:0)|(n===this.ymin?4:n===this.ymax?8:0)}_regioncode(e,n){return(e<this.xmin?1:e>this.xmax?2:0)|(n<this.ymin?4:n>this.ymax?8:0)}_simplify(e){if(e&&e.length>4){for(let n=0;n<e.length;n+=2){let r=(n+2)%e.length,o=(n+4)%e.length;(e[n]===e[r]&&e[r]===e[o]||e[n+1]===e[r+1]&&e[r+1]===e[o+1])&&(e.splice(r,2),n-=2)}e.length||(e=null)}return e}};var yO=2*Math.PI,Ka=Math.pow;function xO(t){return t[0]}function bO(t){return t[1]}function wO(t){let{triangles:e,coords:n}=t;for(let r=0;r<e.length;r+=3){let o=2*e[r],i=2*e[r+1],s=2*e[r+2];if((n[s]-n[o])*(n[i+1]-n[o+1])-(n[i]-n[o])*(n[s+1]-n[o+1])>1e-10)return!1}return!0}function vO(t,e,n){return[t+Math.sin(t+e)*n,e+Math.cos(t-e)*n]}var Wn=class t{static from(e,n=xO,r=bO,o){return new t("length"in e?_O(e,n,r,o):Float64Array.from(MO(e,n,r,o)))}constructor(e){this._delaunator=new Za(e),this.inedges=new Int32Array(e.length/2),this._hullIndex=new Int32Array(e.length/2),this.points=this._delaunator.coords,this._init()}update(){return this._delaunator.update(),this._init(),this}_init(){let e=this._delaunator,n=this.points;if(e.hull&&e.hull.length>2&&wO(e)){this.collinear=Int32Array.from({length:n.length/2},(p,h)=>h).sort((p,h)=>n[2*p]-n[2*h]||n[2*p+1]-n[2*h+1]);let c=this.collinear[0],f=this.collinear[this.collinear.length-1],l=[n[2*c],n[2*c+1],n[2*f],n[2*f+1]],u=1e-8*Math.hypot(l[3]-l[1],l[2]-l[0]);for(let p=0,h=n.length/2;p<h;++p){let d=vO(n[2*p],n[2*p+1],u);n[2*p]=d[0],n[2*p+1]=d[1]}this._delaunator=new Za(n)}else delete this.collinear;let r=this.halfedges=this._delaunator.halfedges,o=this.hull=this._delaunator.hull,i=this.triangles=this._delaunator.triangles,s=this.inedges.fill(-1),a=this._hullIndex.fill(-1);for(let c=0,f=r.length;c<f;++c){let l=i[c%3===2?c-2:c+1];(r[c]===-1||s[l]===-1)&&(s[l]=c)}for(let c=0,f=o.length;c<f;++c)a[o[c]]=c;o.length<=2&&o.length>0&&(this.triangles=new Int32Array(3).fill(-1),this.halfedges=new Int32Array(3).fill(-1),this.triangles[0]=o[0],s[o[0]]=1,o.length===2&&(s[o[1]]=0,this.triangles[1]=o[1],this.triangles[2]=o[1]))}voronoi(e){return new vl(this,e)}*neighbors(e){let{inedges:n,hull:r,_hullIndex:o,halfedges:i,triangles:s,collinear:a}=this;if(a){let u=a.indexOf(e);u>0&&(yield a[u-1]),u<a.length-1&&(yield a[u+1]);return}let c=n[e];if(c===-1)return;let f=c,l=-1;do{if(yield l=s[f],f=f%3===2?f-2:f+1,s[f]!==e)return;if(f=i[f],f===-1){let u=r[(o[e]+1)%r.length];u!==l&&(yield u);return}}while(f!==c)}find(e,n,r=0){if(e=+e,e!==e||(n=+n,n!==n))return-1;let o=r,i;for(;(i=this._step(r,e,n))>=0&&i!==r&&i!==o;)r=i;return i}_step(e,n,r){let{inedges:o,hull:i,_hullIndex:s,halfedges:a,triangles:c,points:f}=this;if(o[e]===-1||!f.length)return(e+1)%(f.length>>1);let l=e,u=Ka(n-f[e*2],2)+Ka(r-f[e*2+1],2),p=o[e],h=p;do{let d=c[h],m=Ka(n-f[d*2],2)+Ka(r-f[d*2+1],2);if(m<u&&(u=m,l=d),h=h%3===2?h-2:h+1,c[h]!==e)break;if(h=a[h],h===-1){if(h=i[(s[e]+1)%i.length],h!==d&&Ka(n-f[h*2],2)+Ka(r-f[h*2+1],2)<u)return h;break}}while(h!==p);return l}render(e){let n=e==null?e=new Vn:void 0,{points:r,halfedges:o,triangles:i}=this;for(let s=0,a=o.length;s<a;++s){let c=o[s];if(c<s)continue;let f=i[s]*2,l=i[c]*2;e.moveTo(r[f],r[f+1]),e.lineTo(r[l],r[l+1])}return this.renderHull(e),n&&n.value()}renderPoints(e,n){n===void 0&&(!e||typeof e.moveTo!="function")&&(n=e,e=null),n=n==null?2:+n;let r=e==null?e=new Vn:void 0,{points:o}=this;for(let i=0,s=o.length;i<s;i+=2){let a=o[i],c=o[i+1];e.moveTo(a+n,c),e.arc(a,c,n,0,yO)}return r&&r.value()}renderHull(e){let n=e==null?e=new Vn:void 0,{hull:r,points:o}=this,i=r[0]*2,s=r.length;e.moveTo(o[i],o[i+1]);for(let a=1;a<s;++a){let c=2*r[a];e.lineTo(o[c],o[c+1])}return e.closePath(),n&&n.value()}hullPolygon(){let e=new _i;return this.renderHull(e),e.value()}renderTriangle(e,n){let r=n==null?n=new Vn:void 0,{points:o,triangles:i}=this,s=i[e*=3]*2,a=i[e+1]*2,c=i[e+2]*2;return n.moveTo(o[s],o[s+1]),n.lineTo(o[a],o[a+1]),n.lineTo(o[c],o[c+1]),n.closePath(),r&&r.value()}*trianglePolygons(){let{triangles:e}=this;for(let n=0,r=e.length/3;n<r;++n)yield this.trianglePolygon(n)}trianglePolygon(e){let n=new _i;return this.renderTriangle(e,n),n.value()}};function _O(t,e,n,r){let o=t.length,i=new Float64Array(o*2);for(let s=0;s<o;++s){let a=t[s];i[s*2]=e.call(r,a,s,t),i[s*2+1]=n.call(r,a,s,t)}return i}function*MO(t,e,n,r){let o=0;for(let i of t)yield e.call(r,i,o,t),yield n.call(r,i,o,t),++o}function S5(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)}function Ns(t,e){if((n=(t=e?t.toExponential(e-1):t.toExponential()).indexOf("e"))<0)return null;var n,r=t.slice(0,n);return[r.length>1?r[0]+r.slice(2):r,+t.slice(n+1)]}function Nr(t){return t=Ns(Math.abs(t)),t?t[1]:NaN}function A5(t,e){return function(n,r){for(var o=n.length,i=[],s=0,a=t[0],c=0;o>0&&a>0&&(c+a+1>r&&(a=Math.max(1,r-c)),i.push(n.substring(o-=a,o+a)),!((c+=a+1)>r));)a=t[s=(s+1)%t.length];return i.reverse().join(e)}}function E5(t){return function(e){return e.replace(/[0-9]/g,function(n){return t[+n]})}}var SO=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function Or(t){if(!(e=SO.exec(t)))throw new Error("invalid format: "+t);var e;return new Qd({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}Or.prototype=Qd.prototype;function Qd(t){this.fill=t.fill===void 0?" ":t.fill+"",this.align=t.align===void 0?">":t.align+"",this.sign=t.sign===void 0?"-":t.sign+"",this.symbol=t.symbol===void 0?"":t.symbol+"",this.zero=!!t.zero,this.width=t.width===void 0?void 0:+t.width,this.comma=!!t.comma,this.precision=t.precision===void 0?void 0:+t.precision,this.trim=!!t.trim,this.type=t.type===void 0?"":t.type+""}Qd.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 T5(t){t:for(var e=t.length,n=1,r=-1,o;n<e;++n)switch(t[n]){case".":r=o=n;break;case"0":r===0&&(r=n),o=n;break;default:if(!+t[n])break t;r>0&&(r=0);break}return r>0?t.slice(0,r)+t.slice(o+1):t}var Qx;function I5(t,e){var n=Ns(t,e);if(!n)return t+"";var r=n[0],o=n[1],i=o-(Qx=Math.max(-8,Math.min(8,Math.floor(o/3)))*3)+1,s=r.length;return i===s?r:i>s?r+new Array(i-s+1).join("0"):i>0?r.slice(0,i)+"."+r.slice(i):"0."+new Array(1-i).join("0")+Ns(t,Math.max(0,e+i-1))[0]}function Zx(t,e){var n=Ns(t,e);if(!n)return t+"";var r=n[0],o=n[1];return o<0?"0."+new Array(-o).join("0")+r:r.length>o+1?r.slice(0,o+1)+"."+r.slice(o+1):r+new Array(o-r.length+2).join("0")}var Kx={"%":(t,e)=>(t*100).toFixed(e),b:t=>Math.round(t).toString(2),c:t=>t+"",d:S5,e:(t,e)=>t.toExponential(e),f:(t,e)=>t.toFixed(e),g:(t,e)=>t.toPrecision(e),o:t=>Math.round(t).toString(8),p:(t,e)=>Zx(t*100,e),r:Zx,s:I5,X:t=>Math.round(t).toString(16).toUpperCase(),x:t=>Math.round(t).toString(16)};function Jx(t){return t}var $5=Array.prototype.map,C5=["y","z","a","f","p","n","\xB5","m","","k","M","G","T","P","E","Z","Y"];function k5(t){var e=t.grouping===void 0||t.thousands===void 0?Jx:A5($5.call(t.grouping,Number),t.thousands+""),n=t.currency===void 0?"":t.currency[0]+"",r=t.currency===void 0?"":t.currency[1]+"",o=t.decimal===void 0?".":t.decimal+"",i=t.numerals===void 0?Jx:E5($5.call(t.numerals,String)),s=t.percent===void 0?"%":t.percent+"",a=t.minus===void 0?"\u2212":t.minus+"",c=t.nan===void 0?"NaN":t.nan+"";function f(u){u=Or(u);var p=u.fill,h=u.align,d=u.sign,m=u.symbol,g=u.zero,y=u.width,x=u.comma,w=u.precision,b=u.trim,_=u.type;_==="n"?(x=!0,_="g"):Kx[_]||(w===void 0&&(w=12),b=!0,_="g"),(g||p==="0"&&h==="=")&&(g=!0,p="0",h="=");var v=m==="$"?n:m==="#"&&/[boxX]/.test(_)?"0"+_.toLowerCase():"",A=m==="$"?r:/[%p]/.test(_)?s:"",T=Kx[_],E=/[defgprs%]/.test(_);w=w===void 0?6:/[gprs]/.test(_)?Math.max(1,Math.min(21,w)):Math.max(0,Math.min(20,w));function $(S){var k=v,O=A,M,I,C;if(_==="c")O=T(S)+O,S="";else{S=+S;var N=S<0||1/S<0;if(S=isNaN(S)?c:T(Math.abs(S),w),b&&(S=T5(S)),N&&+S==0&&d!=="+"&&(N=!1),k=(N?d==="("?d:a:d==="-"||d==="("?"":d)+k,O=(_==="s"?C5[8+Qx/3]:"")+O+(N&&d==="("?")":""),E){for(M=-1,I=S.length;++M<I;)if(C=S.charCodeAt(M),48>C||C>57){O=(C===46?o+S.slice(M+1):S.slice(M))+O,S=S.slice(0,M);break}}}x&&!g&&(S=e(S,1/0));var L=k.length+S.length+O.length,R=L<y?new Array(y-L+1).join(p):"";switch(x&&g&&(S=e(R+S,R.length?y-O.length:1/0),R=""),h){case"<":S=k+S+O+R;break;case"=":S=k+R+S+O;break;case"^":S=R.slice(0,L=R.length>>1)+k+S+O+R.slice(L);break;default:S=R+k+S+O;break}return i(S)}return $.toString=function(){return u+""},$}function l(u,p){var h=f((u=Or(u),u.type="f",u)),d=Math.max(-8,Math.min(8,Math.floor(Nr(p)/3)))*3,m=Math.pow(10,-d),g=C5[8+d/3];return function(y){return h(m*y)+g}}return{format:f,formatPrefix:l}}var Zd,Hn,Kd;tb({thousands:",",grouping:[3],currency:["$",""]});function tb(t){return Zd=k5(t),Hn=Zd.format,Kd=Zd.formatPrefix,Zd}function eb(t){return Math.max(0,-Nr(Math.abs(t)))}function nb(t,e){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(Nr(e)/3)))*3-Nr(Math.abs(t)))}function rb(t,e){return t=Math.abs(t),e=Math.abs(e)-t,Math.max(0,Nr(e)-Nr(t))+1}var K=1e-6,Os=1e-12,dt=Math.PI,Bt=dt/2,ob=dt/4,Me=dt*2,re=180/dt,wt=dt/180,xt=Math.abs,Qn=Math.atan,le=Math.atan2,Q=Math.cos,_l=Math.ceil,Jd=Math.exp;var tm=Math.hypot,Rs=Math.log,em=Math.pow,H=Math.sin,He=Math.sign||function(t){return t>0?1:t<0?-1:0},zt=Math.sqrt,Ja=Math.tan;function nm(t){return t>1?0:t<-1?dt:Math.acos(t)}function Vt(t){return t>1?Bt:t<-1?-Bt:Math.asin(t)}function ue(){}function rm(t,e){t&&O5.hasOwnProperty(t.type)&&O5[t.type](t,e)}var N5={Feature:function(t,e){rm(t.geometry,e)},FeatureCollection:function(t,e){for(var n=t.features,r=-1,o=n.length;++r<o;)rm(n[r].geometry,e)}},O5={Sphere:function(t,e){e.sphere()},Point:function(t,e){t=t.coordinates,e.point(t[0],t[1],t[2])},MultiPoint:function(t,e){for(var n=t.coordinates,r=-1,o=n.length;++r<o;)t=n[r],e.point(t[0],t[1],t[2])},LineString:function(t,e){ib(t.coordinates,e,0)},MultiLineString:function(t,e){for(var n=t.coordinates,r=-1,o=n.length;++r<o;)ib(n[r],e,0)},Polygon:function(t,e){R5(t.coordinates,e)},MultiPolygon:function(t,e){for(var n=t.coordinates,r=-1,o=n.length;++r<o;)R5(n[r],e)},GeometryCollection:function(t,e){for(var n=t.geometries,r=-1,o=n.length;++r<o;)rm(n[r],e)}};function ib(t,e,n){var r=-1,o=t.length-n,i;for(e.lineStart();++r<o;)i=t[r],e.point(i[0],i[1],i[2]);e.lineEnd()}function R5(t,e){var n=-1,r=t.length;for(e.polygonStart();++n<r;)ib(t[n],e,1);e.polygonEnd()}function $n(t,e){t&&N5.hasOwnProperty(t.type)?N5[t.type](t,e):rm(t,e)}function Ml(t){return[le(t[1],t[0]),Vt(t[2])]}function Rr(t){var e=t[0],n=t[1],r=Q(n);return[r*Q(e),r*H(e),H(n)]}function Sl(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function tc(t,e){return[t[1]*e[2]-t[2]*e[1],t[2]*e[0]-t[0]*e[2],t[0]*e[1]-t[1]*e[0]]}function om(t,e){t[0]+=e[0],t[1]+=e[1],t[2]+=e[2]}function Al(t,e){return[t[0]*e,t[1]*e,t[2]*e]}function El(t){var e=zt(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=e,t[1]/=e,t[2]/=e}var Tl,im,sm,am,cm,fm,lm,um,sb,ab,cb,F5,P5,un,pn,hn,hr={sphere:ue,point:fb,lineStart:L5,lineEnd:D5,polygonStart:function(){hr.lineStart=TO,hr.lineEnd=IO},polygonEnd:function(){hr.lineStart=L5,hr.lineEnd=D5}};function fb(t,e){t*=wt,e*=wt;var n=Q(e);Il(n*Q(t),n*H(t),H(e))}function Il(t,e,n){++Tl,sm+=(t-sm)/Tl,am+=(e-am)/Tl,cm+=(n-cm)/Tl}function L5(){hr.point=AO}function AO(t,e){t*=wt,e*=wt;var n=Q(e);un=n*Q(t),pn=n*H(t),hn=H(e),hr.point=EO,Il(un,pn,hn)}function EO(t,e){t*=wt,e*=wt;var n=Q(e),r=n*Q(t),o=n*H(t),i=H(e),s=le(zt((s=pn*i-hn*o)*s+(s=hn*r-un*i)*s+(s=un*o-pn*r)*s),un*r+pn*o+hn*i);im+=s,fm+=s*(un+(un=r)),lm+=s*(pn+(pn=o)),um+=s*(hn+(hn=i)),Il(un,pn,hn)}function D5(){hr.point=fb}function TO(){hr.point=$O}function IO(){q5(F5,P5),hr.point=fb}function $O(t,e){F5=t,P5=e,t*=wt,e*=wt,hr.point=q5;var n=Q(e);un=n*Q(t),pn=n*H(t),hn=H(e),Il(un,pn,hn)}function q5(t,e){t*=wt,e*=wt;var n=Q(e),r=n*Q(t),o=n*H(t),i=H(e),s=pn*i-hn*o,a=hn*r-un*i,c=un*o-pn*r,f=tm(s,a,c),l=Vt(f),u=f&&-l/f;sb.add(u*s),ab.add(u*a),cb.add(u*c),im+=l,fm+=l*(un+(un=r)),lm+=l*(pn+(pn=o)),um+=l*(hn+(hn=i)),Il(un,pn,hn)}function lb(t){Tl=im=sm=am=cm=fm=lm=um=0,sb=new Le,ab=new Le,cb=new Le,$n(t,hr);var e=+sb,n=+ab,r=+cb,o=tm(e,n,r);return o<Os&&(e=fm,n=lm,r=um,im<K&&(e=sm,n=am,r=cm),o=tm(e,n,r),o<Os)?[NaN,NaN]:[le(n,e)*re,Vt(r/o)*re]}function $l(t,e){function n(r,o){return r=t(r,o),e(r[0],r[1])}return t.invert&&e.invert&&(n.invert=function(r,o){return r=e.invert(r,o),r&&t.invert(r[0],r[1])}),n}function ub(t,e){return xt(t)>dt&&(t-=Math.round(t/Me)*Me),[t,e]}ub.invert=ub;function pb(t,e,n){return(t%=Me)?e||n?$l(z5(t),Y5(e,n)):z5(t):e||n?Y5(e,n):ub}function B5(t){return function(e,n){return e+=t,xt(e)>dt&&(e-=Math.round(e/Me)*Me),[e,n]}}function z5(t){var e=B5(t);return e.invert=B5(-t),e}function Y5(t,e){var n=Q(t),r=H(t),o=Q(e),i=H(e);function s(a,c){var f=Q(c),l=Q(a)*f,u=H(a)*f,p=H(c),h=p*n+l*r;return[le(u*o-h*i,l*n-p*r),Vt(h*o+u*i)]}return s.invert=function(a,c){var f=Q(c),l=Q(a)*f,u=H(a)*f,p=H(c),h=p*o-u*i;return[le(u*o+p*i,l*n+h*r),Vt(h*n-l*r)]},s}function U5(t){t=pb(t[0]*wt,t[1]*wt,t.length>2?t[2]*wt:0);function e(n){return n=t(n[0]*wt,n[1]*wt),n[0]*=re,n[1]*=re,n}return e.invert=function(n){return n=t.invert(n[0]*wt,n[1]*wt),n[0]*=re,n[1]*=re,n},e}function X5(t,e,n,r,o,i){if(n){var s=Q(e),a=H(e),c=r*n;o==null?(o=e+r*Me,i=e-c/2):(o=j5(s,o),i=j5(s,i),(r>0?o<i:o>i)&&(o+=r*Me));for(var f,l=o;r>0?l>i:l<i;l-=c)f=Ml([s,-a*Q(l),-a*H(l)]),t.point(f[0],f[1])}}function j5(t,e){e=Rr(e),e[0]-=t,El(e);var n=nm(-e[1]);return((-e[2]<0?-n:n)+Me-K)%Me}function pm(){var t=[],e;return{point:function(n,r,o){e.push([n,r,o])},lineStart:function(){t.push(e=[])},lineEnd:ue,rejoin:function(){t.length>1&&t.push(t.pop().concat(t.shift()))},result:function(){var n=t;return t=[],e=null,n}}}function ec(t,e){return xt(t[0]-e[0])<K&&xt(t[1]-e[1])<K}function hm(t,e,n,r){this.x=t,this.z=e,this.o=n,this.e=r,this.v=!1,this.n=this.p=null}function dm(t,e,n,r,o){var i=[],s=[],a,c;if(t.forEach(function(d){if(!((m=d.length-1)<=0)){var m,g=d[0],y=d[m],x;if(ec(g,y)){if(!g[2]&&!y[2]){for(o.lineStart(),a=0;a<m;++a)o.point((g=d[a])[0],g[1]);o.lineEnd();return}y[0]+=2*K}i.push(x=new hm(g,d,null,!0)),s.push(x.o=new hm(g,null,x,!1)),i.push(x=new hm(y,d,null,!1)),s.push(x.o=new hm(y,null,x,!0))}}),!!i.length){for(s.sort(e),G5(i),G5(s),a=0,c=s.length;a<c;++a)s[a].e=n=!n;for(var f=i[0],l,u;;){for(var p=f,h=!0;p.v;)if((p=p.n)===f)return;l=p.z,o.lineStart();do{if(p.v=p.o.v=!0,p.e){if(h)for(a=0,c=l.length;a<c;++a)o.point((u=l[a])[0],u[1]);else r(p.x,p.n.x,1,o);p=p.n}else{if(h)for(l=p.p.z,a=l.length-1;a>=0;--a)o.point((u=l[a])[0],u[1]);else r(p.x,p.p.x,-1,o);p=p.p}p=p.o,l=p.z,h=!h}while(!p.v);o.lineEnd()}}}function G5(t){if(e=t.length){for(var e,n=0,r=t[0],o;++n<e;)r.n=o=t[n],o.p=r,r=o;r.n=o=t[0],o.p=r}}function hb(t){return xt(t[0])<=dt?t[0]:He(t[0])*((xt(t[0])+dt)%Me-dt)}function V5(t,e){var n=hb(e),r=e[1],o=H(r),i=[H(n),-Q(n),0],s=0,a=0,c=new Le;o===1?r=Bt+K:o===-1&&(r=-Bt-K);for(var f=0,l=t.length;f<l;++f)if(p=(u=t[f]).length)for(var u,p,h=u[p-1],d=hb(h),m=h[1]/2+ob,g=H(m),y=Q(m),x=0;x<p;++x,d=b,g=v,y=A,h=w){var w=u[x],b=hb(w),_=w[1]/2+ob,v=H(_),A=Q(_),T=b-d,E=T>=0?1:-1,$=E*T,S=$>dt,k=g*v;if(c.add(le(k*E*H($),y*A+k*Q($))),s+=S?T+E*Me:T,S^d>=n^b>=n){var O=tc(Rr(h),Rr(w));El(O);var M=tc(i,O);El(M);var I=(S^T>=0?-1:1)*Vt(M[2]);(r>I||r===I&&(O[0]||O[1]))&&(a+=S^T>=0?1:-1)}}return(s<-K||s<K&&c<-Os)^a&1}function mm(t,e,n,r){return function(o){var i=e(o),s=pm(),a=e(s),c=!1,f,l,u,p={point:h,lineStart:m,lineEnd:g,polygonStart:function(){p.point=y,p.lineStart=x,p.lineEnd=w,l=[],f=[]},polygonEnd:function(){p.point=h,p.lineStart=m,p.lineEnd=g,l=Da(l);var b=V5(f,r);l.length?(c||(o.polygonStart(),c=!0),dm(l,kO,b,n,o)):b&&(c||(o.polygonStart(),c=!0),o.lineStart(),n(null,null,1,o),o.lineEnd()),c&&(o.polygonEnd(),c=!1),l=f=null},sphere:function(){o.polygonStart(),o.lineStart(),n(null,null,1,o),o.lineEnd(),o.polygonEnd()}};function h(b,_){t(b,_)&&o.point(b,_)}function d(b,_){i.point(b,_)}function m(){p.point=d,i.lineStart()}function g(){p.point=h,i.lineEnd()}function y(b,_){u.push([b,_]),a.point(b,_)}function x(){a.lineStart(),u=[]}function w(){y(u[0][0],u[0][1]),a.lineEnd();var b=a.clean(),_=s.result(),v,A=_.length,T,E,$;if(u.pop(),f.push(u),u=null,!!A){if(b&1){if(E=_[0],(T=E.length-1)>0){for(c||(o.polygonStart(),c=!0),o.lineStart(),v=0;v<T;++v)o.point(($=E[v])[0],$[1]);o.lineEnd()}return}A>1&&b&2&&_.push(_.pop().concat(_.shift())),l.push(_.filter(CO))}}return p}}function CO(t){return t.length>1}function kO(t,e){return((t=t.x)[0]<0?t[1]-Bt-K:Bt-t[1])-((e=e.x)[0]<0?e[1]-Bt-K:Bt-e[1])}var db=mm(function(){return!0},NO,RO,[-dt,-Bt]);function NO(t){var e=NaN,n=NaN,r=NaN,o;return{lineStart:function(){t.lineStart(),o=1},point:function(i,s){var a=i>0?dt:-dt,c=xt(i-e);xt(c-dt)<K?(t.point(e,n=(n+s)/2>0?Bt:-Bt),t.point(r,n),t.lineEnd(),t.lineStart(),t.point(a,n),t.point(i,n),o=0):r!==a&&c>=dt&&(xt(e-r)<K&&(e-=r*K),xt(i-a)<K&&(i-=a*K),n=OO(e,n,i,s),t.point(r,n),t.lineEnd(),t.lineStart(),t.point(a,n),o=0),t.point(e=i,n=s),r=a},lineEnd:function(){t.lineEnd(),e=n=NaN},clean:function(){return 2-o}}}function OO(t,e,n,r){var o,i,s=H(t-n);return xt(s)>K?Qn((H(e)*(i=Q(r))*H(n)-H(r)*(o=Q(e))*H(t))/(o*i*s)):(e+r)/2}function RO(t,e,n,r){var o;if(t==null)o=n*Bt,r.point(-dt,o),r.point(0,o),r.point(dt,o),r.point(dt,0),r.point(dt,-o),r.point(0,-o),r.point(-dt,-o),r.point(-dt,0),r.point(-dt,o);else if(xt(t[0]-e[0])>K){var i=t[0]<e[0]?dt:-dt;o=n*i/2,r.point(-i,o),r.point(0,o),r.point(i,o)}else r.point(e[0],e[1])}function W5(t){var e=Q(t),n=6*wt,r=e>0,o=xt(e)>K;function i(l,u,p,h){X5(h,t,n,p,l,u)}function s(l,u){return Q(l)*Q(u)>e}function a(l){var u,p,h,d,m;return{lineStart:function(){d=h=!1,m=1},point:function(g,y){var x=[g,y],w,b=s(g,y),_=r?b?0:f(g,y):b?f(g+(g<0?dt:-dt),y):0;if(!u&&(d=h=b)&&l.lineStart(),b!==h&&(w=c(u,x),(!w||ec(u,w)||ec(x,w))&&(x[2]=1)),b!==h)m=0,b?(l.lineStart(),w=c(x,u),l.point(w[0],w[1])):(w=c(u,x),l.point(w[0],w[1],2),l.lineEnd()),u=w;else if(o&&u&&r^b){var v;!(_&p)&&(v=c(x,u,!0))&&(m=0,r?(l.lineStart(),l.point(v[0][0],v[0][1]),l.point(v[1][0],v[1][1]),l.lineEnd()):(l.point(v[1][0],v[1][1]),l.lineEnd(),l.lineStart(),l.point(v[0][0],v[0][1],3)))}b&&(!u||!ec(u,x))&&l.point(x[0],x[1]),u=x,h=b,p=_},lineEnd:function(){h&&l.lineEnd(),u=null},clean:function(){return m|(d&&h)<<1}}}function c(l,u,p){var h=Rr(l),d=Rr(u),m=[1,0,0],g=tc(h,d),y=Sl(g,g),x=g[0],w=y-x*x;if(!w)return!p&&l;var b=e*y/w,_=-e*x/w,v=tc(m,g),A=Al(m,b),T=Al(g,_);om(A,T);var E=v,$=Sl(A,E),S=Sl(E,E),k=$*$-S*(Sl(A,A)-1);if(!(k<0)){var O=zt(k),M=Al(E,(-$-O)/S);if(om(M,A),M=Ml(M),!p)return M;var I=l[0],C=u[0],N=l[1],L=u[1],R;C<I&&(R=I,I=C,C=R);var D=C-I,F=xt(D-dt)<K,P=F||D<K;if(!F&&L<N&&(R=N,N=L,L=R),P?F?N+L>0^M[1]<(xt(M[0]-I)<K?N:L):N<=M[1]&&M[1]<=L:D>dt^(I<=M[0]&&M[0]<=C)){var V=Al(E,(-$+O)/S);return om(V,A),[M,Ml(V)]}}}function f(l,u){var p=r?t:dt-t,h=0;return l<-p?h|=1:l>p&&(h|=2),u<-p?h|=4:u>p&&(h|=8),h}return mm(s,a,i,r?[0,-t]:[-dt,t-dt])}function H5(t,e,n,r,o,i){var s=t[0],a=t[1],c=e[0],f=e[1],l=0,u=1,p=c-s,h=f-a,d;if(d=n-s,!(!p&&d>0)){if(d/=p,p<0){if(d<l)return;d<u&&(u=d)}else if(p>0){if(d>u)return;d>l&&(l=d)}if(d=o-s,!(!p&&d<0)){if(d/=p,p<0){if(d>u)return;d>l&&(l=d)}else if(p>0){if(d<l)return;d<u&&(u=d)}if(d=r-a,!(!h&&d>0)){if(d/=h,h<0){if(d<l)return;d<u&&(u=d)}else if(h>0){if(d>u)return;d>l&&(l=d)}if(d=i-a,!(!h&&d<0)){if(d/=h,h<0){if(d>u)return;d>l&&(l=d)}else if(h>0){if(d<l)return;d<u&&(u=d)}return l>0&&(t[0]=s+l*p,t[1]=a+l*h),u<1&&(e[0]=s+u*p,e[1]=a+u*h),!0}}}}}var Cl=1e9,gm=-Cl;function nc(t,e,n,r){function o(f,l){return t<=f&&f<=n&&e<=l&&l<=r}function i(f,l,u,p){var h=0,d=0;if(f==null||(h=s(f,u))!==(d=s(l,u))||c(f,l)<0^u>0)do p.point(h===0||h===3?t:n,h>1?r:e);while((h=(h+u+4)%4)!==d);else p.point(l[0],l[1])}function s(f,l){return xt(f[0]-t)<K?l>0?0:3:xt(f[0]-n)<K?l>0?2:1:xt(f[1]-e)<K?l>0?1:0:l>0?3:2}function a(f,l){return c(f.x,l.x)}function c(f,l){var u=s(f,1),p=s(l,1);return u!==p?u-p:u===0?l[1]-f[1]:u===1?f[0]-l[0]:u===2?f[1]-l[1]:l[0]-f[0]}return function(f){var l=f,u=pm(),p,h,d,m,g,y,x,w,b,_,v,A={point:T,lineStart:k,lineEnd:O,polygonStart:$,polygonEnd:S};function T(I,C){o(I,C)&&l.point(I,C)}function E(){for(var I=0,C=0,N=h.length;C<N;++C)for(var L=h[C],R=1,D=L.length,F=L[0],P,V,J=F[0],et=F[1];R<D;++R)P=J,V=et,F=L[R],J=F[0],et=F[1],V<=r?et>r&&(J-P)*(r-V)>(et-V)*(t-P)&&++I:et<=r&&(J-P)*(r-V)<(et-V)*(t-P)&&--I;return I}function $(){l=u,p=[],h=[],v=!0}function S(){var I=E(),C=v&&I,N=(p=Da(p)).length;(C||N)&&(f.polygonStart(),C&&(f.lineStart(),i(null,null,1,f),f.lineEnd()),N&&dm(p,a,I,i,f),f.polygonEnd()),l=f,p=h=d=null}function k(){A.point=M,h&&h.push(d=[]),_=!0,b=!1,x=w=NaN}function O(){p&&(M(m,g),y&&b&&u.rejoin(),p.push(u.result())),A.point=T,b&&l.lineEnd()}function M(I,C){var N=o(I,C);if(h&&d.push([I,C]),_)m=I,g=C,y=N,_=!1,N&&(l.lineStart(),l.point(I,C));else if(N&&b)l.point(I,C);else{var L=[x=Math.max(gm,Math.min(Cl,x)),w=Math.max(gm,Math.min(Cl,w))],R=[I=Math.max(gm,Math.min(Cl,I)),C=Math.max(gm,Math.min(Cl,C))];H5(L,R,t,e,n,r)?(b||(l.lineStart(),l.point(L[0],L[1])),l.point(R[0],R[1]),N||l.lineEnd(),v=!1):N&&(l.lineStart(),l.point(I,C),v=!1)}x=I,w=C,b=N}return A}}function Q5(t,e,n){var r=ie(t,e-K,n).concat(e);return function(o){return r.map(function(i){return[o,i]})}}function Z5(t,e,n){var r=ie(t,e-K,n).concat(e);return function(o){return r.map(function(i){return[i,o]})}}function mb(){var t,e,n,r,o,i,s,a,c=10,f=c,l=90,u=360,p,h,d,m,g=2.5;function y(){return{type:"MultiLineString",coordinates:x()}}function x(){return ie(_l(r/l)*l,n,l).map(d).concat(ie(_l(a/u)*u,s,u).map(m)).concat(ie(_l(e/c)*c,t,c).filter(function(w){return xt(w%l)>K}).map(p)).concat(ie(_l(i/f)*f,o,f).filter(function(w){return xt(w%u)>K}).map(h))}return y.lines=function(){return x().map(function(w){return{type:"LineString",coordinates:w}})},y.outline=function(){return{type:"Polygon",coordinates:[d(r).concat(m(s).slice(1),d(n).reverse().slice(1),m(a).reverse().slice(1))]}},y.extent=function(w){return arguments.length?y.extentMajor(w).extentMinor(w):y.extentMinor()},y.extentMajor=function(w){return arguments.length?(r=+w[0][0],n=+w[1][0],a=+w[0][1],s=+w[1][1],r>n&&(w=r,r=n,n=w),a>s&&(w=a,a=s,s=w),y.precision(g)):[[r,a],[n,s]]},y.extentMinor=function(w){return arguments.length?(e=+w[0][0],t=+w[1][0],i=+w[0][1],o=+w[1][1],e>t&&(w=e,e=t,t=w),i>o&&(w=i,i=o,o=w),y.precision(g)):[[e,i],[t,o]]},y.step=function(w){return arguments.length?y.stepMajor(w).stepMinor(w):y.stepMinor()},y.stepMajor=function(w){return arguments.length?(l=+w[0],u=+w[1],y):[l,u]},y.stepMinor=function(w){return arguments.length?(c=+w[0],f=+w[1],y):[c,f]},y.precision=function(w){return arguments.length?(g=+w,p=Q5(i,o,90),h=Z5(e,t,g),d=Q5(a,s,90),m=Z5(r,n,g),y):g},y.extentMajor([[-180,-90+K],[180,90-K]]).extentMinor([[-180,-80-K],[180,80+K]])}function gb(){return mb()()}var kl=t=>t;var yb=new Le,xb=new Le,K5,J5,bb,wb,Mi={point:ue,lineStart:ue,lineEnd:ue,polygonStart:function(){Mi.lineStart=LO,Mi.lineEnd=FO},polygonEnd:function(){Mi.lineStart=Mi.lineEnd=Mi.point=ue,yb.add(xt(xb)),xb=new Le},result:function(){var t=yb/2;return yb=new Le,t}};function LO(){Mi.point=DO}function DO(t,e){Mi.point=tM,K5=bb=t,J5=wb=e}function tM(t,e){xb.add(wb*t-bb*e),bb=t,wb=e}function FO(){tM(K5,J5)}var vb=Mi;var rc=1/0,ym=rc,Nl=-rc,xm=Nl,PO={point:qO,lineStart:ue,lineEnd:ue,polygonStart:ue,polygonEnd:ue,result:function(){var t=[[rc,ym],[Nl,xm]];return Nl=xm=-(ym=rc=1/0),t}};function qO(t,e){t<rc&&(rc=t),t>Nl&&(Nl=t),e<ym&&(ym=e),e>xm&&(xm=e)}var oc=PO;var _b=0,Mb=0,Ol=0,bm=0,wm=0,ic=0,Sb=0,Ab=0,Rl=0,rM,oM,Lr,Dr,dr={point:Ls,lineStart:eM,lineEnd:nM,polygonStart:function(){dr.lineStart=YO,dr.lineEnd=UO},polygonEnd:function(){dr.point=Ls,dr.lineStart=eM,dr.lineEnd=nM},result:function(){var t=Rl?[Sb/Rl,Ab/Rl]:ic?[bm/ic,wm/ic]:Ol?[_b/Ol,Mb/Ol]:[NaN,NaN];return _b=Mb=Ol=bm=wm=ic=Sb=Ab=Rl=0,t}};function Ls(t,e){_b+=t,Mb+=e,++Ol}function eM(){dr.point=BO}function BO(t,e){dr.point=zO,Ls(Lr=t,Dr=e)}function zO(t,e){var n=t-Lr,r=e-Dr,o=zt(n*n+r*r);bm+=o*(Lr+t)/2,wm+=o*(Dr+e)/2,ic+=o,Ls(Lr=t,Dr=e)}function nM(){dr.point=Ls}function YO(){dr.point=jO}function UO(){iM(rM,oM)}function jO(t,e){dr.point=iM,Ls(rM=Lr=t,oM=Dr=e)}function iM(t,e){var n=t-Lr,r=e-Dr,o=zt(n*n+r*r);bm+=o*(Lr+t)/2,wm+=o*(Dr+e)/2,ic+=o,o=Dr*t-Lr*e,Sb+=o*(Lr+t),Ab+=o*(Dr+e),Rl+=o*3,Ls(Lr=t,Dr=e)}var Eb=dr;function vm(t){this._context=t}vm.prototype={_radius:4.5,pointRadius:function(t){return this._radius=t,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){this._line===0&&this._context.closePath(),this._point=NaN},point:function(t,e){switch(this._point){case 0:{this._context.moveTo(t,e),this._point=1;break}case 1:{this._context.lineTo(t,e);break}default:{this._context.moveTo(t+this._radius,e),this._context.arc(t,e,this._radius,0,Me);break}}},result:ue};var Ib=new Le,Tb,sM,aM,Ll,Dl,_m={point:ue,lineStart:function(){_m.point=XO},lineEnd:function(){Tb&&cM(sM,aM),_m.point=ue},polygonStart:function(){Tb=!0},polygonEnd:function(){Tb=null},result:function(){var t=+Ib;return Ib=new Le,t}};function XO(t,e){_m.point=cM,sM=Ll=t,aM=Dl=e}function cM(t,e){Ll-=t,Dl-=e,Ib.add(zt(Ll*Ll+Dl*Dl)),Ll=t,Dl=e}var $b=_m;var fM,Mm,lM,uM,sc=class{constructor(e){this._append=e==null?pM:GO(e),this._radius=4.5,this._=""}pointRadius(e){return this._radius=+e,this}polygonStart(){this._line=0}polygonEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){this._line===0&&(this._+="Z"),this._point=NaN}point(e,n){switch(this._point){case 0:{this._append`M${e},${n}`,this._point=1;break}case 1:{this._append`L${e},${n}`;break}default:{if(this._append`M${e},${n}`,this._radius!==lM||this._append!==Mm){let r=this._radius,o=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`,lM=r,Mm=this._append,uM=this._,this._=o}this._+=uM;break}}}result(){let e=this._;return this._="",e.length?e:null}};function pM(t){let e=1;this._+=t[0];for(let n=t.length;e<n;++e)this._+=arguments[e]+t[e]}function GO(t){let e=Math.floor(t);if(!(e>=0))throw new RangeError(`invalid digits: ${t}`);if(e>15)return pM;if(e!==fM){let n=10**e;fM=e,Mm=function(o){let i=1;this._+=o[0];for(let s=o.length;i<s;++i)this._+=Math.round(arguments[i]*n)/n+o[i]}}return Mm}function Se(t,e){let n=3,r=4.5,o,i;function s(a){return a&&(typeof r=="function"&&i.pointRadius(+r.apply(this,arguments)),$n(a,o(i))),i.result()}return s.area=function(a){return $n(a,o(vb)),vb.result()},s.measure=function(a){return $n(a,o($b)),$b.result()},s.bounds=function(a){return $n(a,o(oc)),oc.result()},s.centroid=function(a){return $n(a,o(Eb)),Eb.result()},s.projection=function(a){return arguments.length?(o=a==null?(t=null,kl):(t=a).stream,s):t},s.context=function(a){return arguments.length?(i=a==null?(e=null,new sc(n)):new vm(e=a),typeof r!="function"&&i.pointRadius(r),s):e},s.pointRadius=function(a){return arguments.length?(r=typeof a=="function"?a:(i.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 e===null&&(i=new sc(n)),s},s.projection(t).digits(n).context(e)}function Ds(t){return{stream:ac(t)}}function ac(t){return function(e){var n=new Cb;for(var r in t)n[r]=t[r];return n.stream=e,n}}function Cb(){}Cb.prototype={constructor:Cb,point:function(t,e){this.stream.point(t,e)},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 kb(t,e,n){var r=t.clipExtent&&t.clipExtent();return t.scale(150).translate([0,0]),r!=null&&t.clipExtent(null),$n(n,t.stream(oc)),e(oc.result()),r!=null&&t.clipExtent(r),t}function Fl(t,e,n){return kb(t,function(r){var o=e[1][0]-e[0][0],i=e[1][1]-e[0][1],s=Math.min(o/(r[1][0]-r[0][0]),i/(r[1][1]-r[0][1])),a=+e[0][0]+(o-s*(r[1][0]+r[0][0]))/2,c=+e[0][1]+(i-s*(r[1][1]+r[0][1]))/2;t.scale(150*s).translate([a,c])},n)}function Sm(t,e,n){return Fl(t,[[0,0],e],n)}function Am(t,e,n){return kb(t,function(r){var o=+e,i=o/(r[1][0]-r[0][0]),s=(o-i*(r[1][0]+r[0][0]))/2,a=-i*r[0][1];t.scale(150*i).translate([s,a])},n)}function Em(t,e,n){return kb(t,function(r){var o=+e,i=o/(r[1][1]-r[0][1]),s=-i*r[0][0],a=(o-i*(r[1][1]+r[0][1]))/2;t.scale(150*i).translate([s,a])},n)}var hM=16,VO=Q(30*wt);function Nb(t,e){return+e?HO(t,e):WO(t)}function WO(t){return ac({point:function(e,n){e=t(e,n),this.stream.point(e[0],e[1])}})}function HO(t,e){function n(r,o,i,s,a,c,f,l,u,p,h,d,m,g){var y=f-r,x=l-o,w=y*y+x*x;if(w>4*e&&m--){var b=s+p,_=a+h,v=c+d,A=zt(b*b+_*_+v*v),T=Vt(v/=A),E=xt(xt(v)-1)<K||xt(i-u)<K?(i+u)/2:le(_,b),$=t(E,T),S=$[0],k=$[1],O=S-r,M=k-o,I=x*O-y*M;(I*I/w>e||xt((y*O+x*M)/w-.5)>.3||s*p+a*h+c*d<VO)&&(n(r,o,i,s,a,c,S,k,E,b/=A,_/=A,v,m,g),g.point(S,k),n(S,k,E,b,_,v,f,l,u,p,h,d,m,g))}}return function(r){var o,i,s,a,c,f,l,u,p,h,d,m,g={point:y,lineStart:x,lineEnd:b,polygonStart:function(){r.polygonStart(),g.lineStart=_},polygonEnd:function(){r.polygonEnd(),g.lineStart=x}};function y(T,E){T=t(T,E),r.point(T[0],T[1])}function x(){u=NaN,g.point=w,r.lineStart()}function w(T,E){var $=Rr([T,E]),S=t(T,E);n(u,p,l,h,d,m,u=S[0],p=S[1],l=T,h=$[0],d=$[1],m=$[2],hM,r),r.point(u,p)}function b(){g.point=y,r.lineEnd()}function _(){x(),g.point=v,g.lineEnd=A}function v(T,E){w(o=T,E),i=u,s=p,a=h,c=d,f=m,g.point=w}function A(){n(u,p,l,h,d,m,i,s,o,a,c,f,hM,r),g.lineEnd=b,b()}return g}}var QO=ac({point:function(t,e){this.stream.point(t*wt,e*wt)}});function ZO(t){return ac({point:function(e,n){var r=t(e,n);return this.stream.point(r[0],r[1])}})}function KO(t,e,n,r,o){function i(s,a){return s*=r,a*=o,[e+t*s,n-t*a]}return i.invert=function(s,a){return[(s-e)/t*r,(n-a)/t*o]},i}function dM(t,e,n,r,o,i){if(!i)return KO(t,e,n,r,o);var s=Q(i),a=H(i),c=s*t,f=a*t,l=s/t,u=a/t,p=(a*n-s*e)/t,h=(a*e+s*n)/t;function d(m,g){return m*=r,g*=o,[c*m-f*g+e,n-f*m-c*g]}return d.invert=function(m,g){return[r*(l*m-u*g+p),o*(h-u*m-l*g)]},d}function Be(t){return Ob(function(){return t})()}function Ob(t){var e,n=150,r=480,o=250,i=0,s=0,a=0,c=0,f=0,l,u=0,p=1,h=1,d=null,m=db,g=null,y,x,w,b=kl,_=.5,v,A,T,E,$;function S(I){return T(I[0]*wt,I[1]*wt)}function k(I){return I=T.invert(I[0],I[1]),I&&[I[0]*re,I[1]*re]}S.stream=function(I){return E&&$===I?E:E=QO(ZO(l)(m(v(b($=I)))))},S.preclip=function(I){return arguments.length?(m=I,d=void 0,M()):m},S.postclip=function(I){return arguments.length?(b=I,g=y=x=w=null,M()):b},S.clipAngle=function(I){return arguments.length?(m=+I?W5(d=I*wt):(d=null,db),M()):d*re},S.clipExtent=function(I){return arguments.length?(b=I==null?(g=y=x=w=null,kl):nc(g=+I[0][0],y=+I[0][1],x=+I[1][0],w=+I[1][1]),M()):g==null?null:[[g,y],[x,w]]},S.scale=function(I){return arguments.length?(n=+I,O()):n},S.translate=function(I){return arguments.length?(r=+I[0],o=+I[1],O()):[r,o]},S.center=function(I){return arguments.length?(i=I[0]%360*wt,s=I[1]%360*wt,O()):[i*re,s*re]},S.rotate=function(I){return arguments.length?(a=I[0]%360*wt,c=I[1]%360*wt,f=I.length>2?I[2]%360*wt:0,O()):[a*re,c*re,f*re]},S.angle=function(I){return arguments.length?(u=I%360*wt,O()):u*re},S.reflectX=function(I){return arguments.length?(p=I?-1:1,O()):p<0},S.reflectY=function(I){return arguments.length?(h=I?-1:1,O()):h<0},S.precision=function(I){return arguments.length?(v=Nb(A,_=I*I),M()):zt(_)},S.fitExtent=function(I,C){return Fl(S,I,C)},S.fitSize=function(I,C){return Sm(S,I,C)},S.fitWidth=function(I,C){return Am(S,I,C)},S.fitHeight=function(I,C){return Em(S,I,C)};function O(){var I=dM(n,0,0,p,h,u).apply(null,e(i,s)),C=dM(n,r-I[0],o-I[1],p,h,u);return l=pb(a,c,f),A=$l(e,C),T=$l(l,A),v=Nb(A,_),M()}function M(){return E=$=null,S}return function(){return e=t.apply(this,arguments),S.invert=e.invert&&k,O()}}function cc(t){var e=0,n=dt/3,r=Ob(t),o=r(e,n);return o.parallels=function(i){return arguments.length?r(e=i[0]*wt,n=i[1]*wt):[e*re,n*re]},o}function mM(t){var e=Q(t);function n(r,o){return[r*e,H(o)/e]}return n.invert=function(r,o){return[r/e,Vt(o*e)]},n}function gM(t,e){var n=H(t),r=(n+H(e))/2;if(xt(r)<K)return mM(t);var o=1+n*(2*r-n),i=zt(o)/r;function s(a,c){var f=zt(o-2*r*H(c))/r;return[f*H(a*=r),i-f*Q(a)]}return s.invert=function(a,c){var f=i-c,l=le(a,xt(f))*He(f);return f*r<0&&(l-=dt*He(a)*He(f)),[l/r,Vt((o-(a*a+f*f)*r*r)/(2*r))]},s}function Si(){return cc(gM).scale(155.424).center([0,33.6442])}function Pl(){return Si().parallels([29.5,45.5]).scale(1070).translate([480,250]).rotate([96,0]).center([-.6,38.7])}function JO(t){var e=t.length;return{point:function(n,r){for(var o=-1;++o<e;)t[o].point(n,r)},sphere:function(){for(var n=-1;++n<e;)t[n].sphere()},lineStart:function(){for(var n=-1;++n<e;)t[n].lineStart()},lineEnd:function(){for(var n=-1;++n<e;)t[n].lineEnd()},polygonStart:function(){for(var n=-1;++n<e;)t[n].polygonStart()},polygonEnd:function(){for(var n=-1;++n<e;)t[n].polygonEnd()}}}function Rb(){var t,e,n=Pl(),r,o=Si().rotate([154,0]).center([-2,58.5]).parallels([55,65]),i,s=Si().rotate([157,0]).center([-3,19.9]).parallels([8,18]),a,c,f={point:function(p,h){c=[p,h]}};function l(p){var h=p[0],d=p[1];return c=null,r.point(h,d),c||(i.point(h,d),c)||(a.point(h,d),c)}l.invert=function(p){var h=n.scale(),d=n.translate(),m=(p[0]-d[0])/h,g=(p[1]-d[1])/h;return(g>=.12&&g<.234&&m>=-.425&&m<-.214?o:g>=.166&&g<.234&&m>=-.214&&m<-.115?s:n).invert(p)},l.stream=function(p){return t&&e===p?t:t=JO([n.stream(e=p),o.stream(p),s.stream(p)])},l.precision=function(p){return arguments.length?(n.precision(p),o.precision(p),s.precision(p),u()):n.precision()},l.scale=function(p){return arguments.length?(n.scale(p),o.scale(p*.35),s.scale(p),l.translate(n.translate())):n.scale()},l.translate=function(p){if(!arguments.length)return n.translate();var h=n.scale(),d=+p[0],m=+p[1];return r=n.translate(p).clipExtent([[d-.455*h,m-.238*h],[d+.455*h,m+.238*h]]).stream(f),i=o.translate([d-.307*h,m+.201*h]).clipExtent([[d-.425*h+K,m+.12*h+K],[d-.214*h-K,m+.234*h-K]]).stream(f),a=s.translate([d-.205*h,m+.212*h]).clipExtent([[d-.214*h+K,m+.166*h+K],[d-.115*h-K,m+.234*h-K]]).stream(f),u()},l.fitExtent=function(p,h){return Fl(l,p,h)},l.fitSize=function(p,h){return Sm(l,p,h)},l.fitWidth=function(p,h){return Am(l,p,h)},l.fitHeight=function(p,h){return Em(l,p,h)};function u(){return t=e=null,l}return l.scale(1070)}function Tm(t){return function(e,n){var r=Q(e),o=Q(n),i=t(r*o);return i===1/0?[2,0]:[i*o*H(e),i*H(n)]}}function Fr(t){return function(e,n){var r=zt(e*e+n*n),o=t(r),i=H(o),s=Q(o);return[le(e*i,r*s),Vt(r&&n*i/r)]}}var Lb=Tm(function(t){return zt(2/(1+t))});Lb.invert=Fr(function(t){return 2*Vt(t/2)});function Db(){return Be(Lb).scale(124.75).clipAngle(180-.001)}var Fb=Tm(function(t){return(t=nm(t))&&t/H(t)});Fb.invert=Fr(function(t){return t});function Pb(){return Be(Fb).scale(79.4188).clipAngle(180-.001)}function fc(t,e){return[t,Rs(Ja((Bt+e)/2))]}fc.invert=function(t,e){return[t,2*Qn(Jd(e))-Bt]};function qb(){return Bb(fc).scale(961/Me)}function Bb(t){var e=Be(t),n=e.center,r=e.scale,o=e.translate,i=e.clipExtent,s=null,a,c,f;e.scale=function(u){return arguments.length?(r(u),l()):r()},e.translate=function(u){return arguments.length?(o(u),l()):o()},e.center=function(u){return arguments.length?(n(u),l()):n()},e.clipExtent=function(u){return arguments.length?(u==null?s=a=c=f=null:(s=+u[0][0],a=+u[0][1],c=+u[1][0],f=+u[1][1]),l()):s==null?null:[[s,a],[c,f]]};function l(){var u=dt*r(),p=e(U5(e.rotate()).invert([0,0]));return i(s==null?[[p[0]-u,p[1]-u],[p[0]+u,p[1]+u]]:t===fc?[[Math.max(p[0]-u,s),a],[Math.min(p[0]+u,c),f]]:[[s,Math.max(p[1]-u,a)],[c,Math.min(p[1]+u,f)]])}return l()}function Im(t){return Ja((Bt+t)/2)}function yM(t,e){var n=Q(t),r=t===e?H(t):Rs(n/Q(e))/Rs(Im(e)/Im(t)),o=n*em(Im(t),r)/r;if(!r)return fc;function i(s,a){o>0?a<-Bt+K&&(a=-Bt+K):a>Bt-K&&(a=Bt-K);var c=o/em(Im(a),r);return[c*H(r*s),o-c*Q(r*s)]}return i.invert=function(s,a){var c=o-a,f=He(r)*zt(s*s+c*c),l=le(s,xt(c))*He(c);return c*r<0&&(l-=dt*He(s)*He(c)),[l/r,2*Qn(em(o/f,1/r))-Bt]},i}function zb(){return cc(yM).scale(109.5).parallels([30,30])}function lc(t,e){return[t,e]}lc.invert=lc;function Yb(){return Be(lc).scale(152.63)}function xM(t,e){var n=Q(t),r=t===e?H(t):(n-Q(e))/(e-t),o=n/r+t;if(xt(r)<K)return lc;function i(s,a){var c=o-a,f=r*s;return[c*H(f),o-c*Q(f)]}return i.invert=function(s,a){var c=o-a,f=le(s,xt(c))*He(c);return c*r<0&&(f-=dt*He(s)*He(c)),[f/r,o-He(r)*zt(s*s+c*c)]},i}function Ub(){return cc(xM).scale(131.154).center([0,13.9389])}var ql=1.340264,Bl=-.081106,zl=893e-6,Yl=.003796,$m=zt(3)/2,tR=12;function jb(t,e){var n=Vt($m*H(e)),r=n*n,o=r*r*r;return[t*Q(n)/($m*(ql+3*Bl*r+o*(7*zl+9*Yl*r))),n*(ql+Bl*r+o*(zl+Yl*r))]}jb.invert=function(t,e){for(var n=e,r=n*n,o=r*r*r,i=0,s,a,c;i<tR&&(a=n*(ql+Bl*r+o*(zl+Yl*r))-e,c=ql+3*Bl*r+o*(7*zl+9*Yl*r),n-=s=a/c,r=n*n,o=r*r*r,!(xt(s)<Os));++i);return[$m*t*(ql+3*Bl*r+o*(7*zl+9*Yl*r))/Q(n),Vt(H(n)/$m)]};function Xb(){return Be(jb).scale(177.158)}function Gb(t,e){var n=Q(e),r=Q(t)*n;return[n*H(t)/r,H(e)/r]}Gb.invert=Fr(Qn);function Vb(){return Be(Gb).scale(144.049).clipAngle(60)}function Wb(t,e){return[Q(e)*H(t),H(e)]}Wb.invert=Fr(Vt);function Hb(){return Be(Wb).scale(249.5).clipAngle(90+K)}function Qb(t,e){var n=Q(e),r=1+Q(t)*n;return[n*H(t)/r,H(e)/r]}Qb.invert=Fr(function(t){return 2*Qn(t)});function Zb(){return Be(Qb).scale(250).clipAngle(142)}function Kb(t,e){return[Rs(Ja((Bt+e)/2)),-t]}Kb.invert=function(t,e){return[-e,2*Qn(Jd(t))-Bt]};function Jb(){var t=Bb(Kb),e=t.center,n=t.rotate;return t.center=function(r){return arguments.length?e([-r[1],r[0]]):(r=e(),[r[1],-r[0]])},t.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 eR(t,e){return t.parent===e.parent?1:2}function nR(t){return t.reduce(rR,0)/t.length}function rR(t,e){return t+e.x}function oR(t){return 1+t.reduce(iR,0)}function iR(t,e){return Math.max(t,e.y)}function sR(t){for(var e;e=t.children;)t=e[0];return t}function aR(t){for(var e;e=t.children;)t=e[e.length-1];return t}function Cm(){var t=eR,e=1,n=1,r=!1;function o(i){var s,a=0;i.eachAfter(function(p){var h=p.children;h?(p.x=nR(h),p.y=oR(h)):(p.x=s?a+=t(p,s):0,p.y=0,s=p)});var c=sR(i),f=aR(i),l=c.x-t(c,f)/2,u=f.x+t(f,c)/2;return i.eachAfter(r?function(p){p.x=(p.x-i.x)*e,p.y=(i.y-p.y)*n}:function(p){p.x=(p.x-l)/(u-l)*e,p.y=(1-(i.y?p.y/i.y:1))*n})}return o.separation=function(i){return arguments.length?(t=i,o):t},o.size=function(i){return arguments.length?(r=!1,e=+i[0],n=+i[1],o):r?null:[e,n]},o.nodeSize=function(i){return arguments.length?(r=!0,e=+i[0],n=+i[1],o):r?[e,n]:null},o}function cR(t){var e=0,n=t.children,r=n&&n.length;if(!r)e=1;else for(;--r>=0;)e+=n[r].value;t.value=e}function bM(){return this.eachAfter(cR)}function wM(t,e){let n=-1;for(let r of this)t.call(e,r,++n,this);return this}function vM(t,e){for(var n=this,r=[n],o,i,s=-1;n=r.pop();)if(t.call(e,n,++s,this),o=n.children)for(i=o.length-1;i>=0;--i)r.push(o[i]);return this}function _M(t,e){for(var n=this,r=[n],o=[],i,s,a,c=-1;n=r.pop();)if(o.push(n),i=n.children)for(s=0,a=i.length;s<a;++s)r.push(i[s]);for(;n=o.pop();)t.call(e,n,++c,this);return this}function MM(t,e){let n=-1;for(let r of this)if(t.call(e,r,++n,this))return r}function SM(t){return this.eachAfter(function(e){for(var n=+t(e.data)||0,r=e.children,o=r&&r.length;--o>=0;)n+=r[o].value;e.value=n})}function AM(t){return this.eachBefore(function(e){e.children&&e.children.sort(t)})}function EM(t){for(var e=this,n=fR(e,t),r=[e];e!==n;)e=e.parent,r.push(e);for(var o=r.length;t!==n;)r.splice(o,0,t),t=t.parent;return r}function fR(t,e){if(t===e)return t;var n=t.ancestors(),r=e.ancestors(),o=null;for(t=n.pop(),e=r.pop();t===e;)o=t,t=n.pop(),e=r.pop();return o}function TM(){for(var t=this,e=[t];t=t.parent;)e.push(t);return e}function IM(){return Array.from(this)}function $M(){var t=[];return this.eachBefore(function(e){e.children||t.push(e)}),t}function CM(){var t=this,e=[];return t.each(function(n){n!==t&&e.push({source:n.parent,target:n})}),e}function*kM(){var t=this,e,n=[t],r,o,i;do for(e=n.reverse(),n=[];t=e.pop();)if(yield t,r=t.children)for(o=0,i=r.length;o<i;++o)n.push(r[o]);while(n.length)}function t2(t,e){t instanceof Map?(t=[void 0,t],e===void 0&&(e=pR)):e===void 0&&(e=uR);for(var n=new Ai(t),r,o=[n],i,s,a,c;r=o.pop();)if((s=e(r.data))&&(c=(s=Array.from(s)).length))for(r.children=s,a=c-1;a>=0;--a)o.push(i=s[a]=new Ai(s[a])),i.parent=r,i.depth=r.depth+1;return n.eachBefore(e2)}function lR(){return t2(this).eachBefore(hR)}function uR(t){return t.children}function pR(t){return Array.isArray(t)?t[1]:null}function hR(t){t.data.value!==void 0&&(t.value=t.data.value),t.data=t.data.data}function e2(t){var e=0;do t.height=e;while((t=t.parent)&&t.height<++e)}function Ai(t){this.data=t,this.depth=this.height=0,this.parent=null}Ai.prototype=t2.prototype={constructor:Ai,count:bM,each:wM,eachAfter:_M,eachBefore:vM,find:MM,sum:SM,sort:AM,path:EM,ancestors:TM,descendants:IM,leaves:$M,links:CM,copy:lR,[Symbol.iterator]:kM};function km(t){return t==null?null:dR(t)}function dR(t){if(typeof t!="function")throw new Error;return t}var mR={depth:-1},NM={},n2={};function gR(t){return t.id}function yR(t){return t.parentId}function Nm(){var t=gR,e=yR,n;function r(o){var i=Array.from(o),s=t,a=e,c,f,l,u,p,h,d,m,g=new Map;if(n!=null){let y=i.map((b,_)=>xR(n(b,_,o))),x=y.map(OM),w=new Set(y).add("");for(let b of x)w.has(b)||(w.add(b),y.push(b),x.push(OM(b)),i.push(n2));s=(b,_)=>y[_],a=(b,_)=>x[_]}for(l=0,c=i.length;l<c;++l)f=i[l],h=i[l]=new Ai(f),(d=s(f,l,o))!=null&&(d+="")&&(m=h.id=d,g.set(m,g.has(m)?NM:h)),(d=a(f,l,o))!=null&&(d+="")&&(h.parent=d);for(l=0;l<c;++l)if(h=i[l],d=h.parent){if(p=g.get(d),!p)throw new Error("missing: "+d);if(p===NM)throw new Error("ambiguous: "+d);p.children?p.children.push(h):p.children=[h],h.parent=p}else{if(u)throw new Error("multiple roots");u=h}if(!u)throw new Error("no root");if(n!=null){for(;u.data===n2&&u.children.length===1;)u=u.children[0],--c;for(let y=i.length-1;y>=0&&(h=i[y],h.data===n2);--y)h.data=null}if(u.parent=mR,u.eachBefore(function(y){y.depth=y.parent.depth+1,--c}).eachBefore(e2),u.parent=null,c>0)throw new Error("cycle");return u}return r.id=function(o){return arguments.length?(t=km(o),r):t},r.parentId=function(o){return arguments.length?(e=km(o),r):e},r.path=function(o){return arguments.length?(n=km(o),r):n},r}function xR(t){t=`${t}`;let e=t.length;return r2(t,e-1)&&!r2(t,e-2)&&(t=t.slice(0,-1)),t[0]==="/"?t:`/${t}`}function OM(t){let e=t.length;if(e<2)return"";for(;--e>1&&!r2(t,e););return t.slice(0,e)}function r2(t,e){if(t[e]==="/"){let n=0;for(;e>0&&t[--e]==="\\";)++n;if(!(n&1))return!0}return!1}function bR(t,e){return t.parent===e.parent?1:2}function o2(t){var e=t.children;return e?e[0]:t.t}function i2(t){var e=t.children;return e?e[e.length-1]:t.t}function wR(t,e,n){var r=n/(e.i-t.i);e.c-=r,e.s+=n,t.c+=r,e.z+=n,e.m+=n}function vR(t){for(var e=0,n=0,r=t.children,o=r.length,i;--o>=0;)i=r[o],i.z+=e,i.m+=e,e+=i.s+(n+=i.c)}function _R(t,e,n){return t.a.parent===e.parent?t.a:n}function Om(t,e){this._=t,this.parent=null,this.children=null,this.A=null,this.a=this,this.z=0,this.m=0,this.c=0,this.s=0,this.t=null,this.i=e}Om.prototype=Object.create(Ai.prototype);function MR(t){for(var e=new Om(t,0),n,r=[e],o,i,s,a;n=r.pop();)if(i=n._.children)for(n.children=new Array(a=i.length),s=a-1;s>=0;--s)r.push(o=n.children[s]=new Om(i[s],s)),o.parent=n;return(e.parent=new Om(null,0)).children=[e],e}function Fs(){var t=bR,e=1,n=1,r=null;function o(f){var l=MR(f);if(l.eachAfter(i),l.parent.m=-l.z,l.eachBefore(s),r)f.eachBefore(c);else{var u=f,p=f,h=f;f.eachBefore(function(x){x.x<u.x&&(u=x),x.x>p.x&&(p=x),x.depth>h.depth&&(h=x)});var d=u===p?1:t(u,p)/2,m=d-u.x,g=e/(p.x+d+m),y=n/(h.depth||1);f.eachBefore(function(x){x.x=(x.x+m)*g,x.y=x.depth*y})}return f}function i(f){var l=f.children,u=f.parent.children,p=f.i?u[f.i-1]:null;if(l){vR(f);var h=(l[0].z+l[l.length-1].z)/2;p?(f.z=p.z+t(f._,p._),f.m=f.z-h):f.z=h}else p&&(f.z=p.z+t(f._,p._));f.parent.A=a(f,p,f.parent.A||u[0])}function s(f){f._.x=f.z+f.parent.m,f.m+=f.parent.m}function a(f,l,u){if(l){for(var p=f,h=f,d=l,m=p.parent.children[0],g=p.m,y=h.m,x=d.m,w=m.m,b;d=i2(d),p=o2(p),d&&p;)m=o2(m),h=i2(h),h.a=f,b=d.z+x-p.z-g+t(d._,p._),b>0&&(wR(_R(d,f,u),f,b),g+=b,y+=b),x+=d.m,g+=p.m,w+=m.m,y+=h.m;d&&!i2(h)&&(h.t=d,h.m+=x-y),p&&!o2(m)&&(m.t=p,m.m+=g-w,u=f)}return u}function c(f){f.x*=e,f.y=f.depth*n}return o.separation=function(f){return arguments.length?(t=f,o):t},o.size=function(f){return arguments.length?(r=!1,e=+f[0],n=+f[1],o):r?null:[e,n]},o.nodeSize=function(f){return arguments.length?(r=!0,e=+f[0],n=+f[1],o):r?[e,n]:null},o}var RM=23283064365386963e-26;function Ps(t=Math.random()){let e=(0<=t&&t<1?t/RM:Math.abs(t))|0;return()=>(e=1664525*e+1013904223|0,RM*(e>>>0))}function pe(t,e){switch(arguments.length){case 0:break;case 1:this.range(t);break;default:this.range(e).domain(t);break}return this}function Ul(t,e){switch(arguments.length){case 0:break;case 1:{typeof t=="function"?this.interpolator(t):this.range(t);break}default:{this.domain(t),typeof e=="function"?this.interpolator(e):this.range(e);break}}return this}var jl=Symbol("implicit");function qs(){var t=new nn,e=[],n=[],r=jl;function o(i){let s=t.get(i);if(s===void 0){if(r!==jl)return r;t.set(i,s=e.push(i)-1)}return n[s%n.length]}return o.domain=function(i){if(!arguments.length)return e.slice();e=[],t=new nn;for(let s of i)t.has(s)||t.set(s,e.push(s)-1);return o},o.range=function(i){return arguments.length?(n=Array.from(i),o):n.slice()},o.unknown=function(i){return arguments.length?(r=i,o):r},o.copy=function(){return qs(e,n).unknown(r)},pe.apply(o,arguments),o}function Ei(){var t=qs().unknown(void 0),e=t.domain,n=t.range,r=0,o=1,i,s,a=!1,c=0,f=0,l=.5;delete t.unknown;function u(){var p=e().length,h=o<r,d=h?o:r,m=h?r:o;i=(m-d)/Math.max(1,p-c+f*2),a&&(i=Math.floor(i)),d+=(m-d-i*(p-c))*l,s=i*(1-c),a&&(d=Math.round(d),s=Math.round(s));var g=ie(p).map(function(y){return d+i*y});return n(h?g.reverse():g)}return t.domain=function(p){return arguments.length?(e(p),u()):e()},t.range=function(p){return arguments.length?([r,o]=p,r=+r,o=+o,u()):[r,o]},t.rangeRound=function(p){return[r,o]=p,r=+r,o=+o,a=!0,u()},t.bandwidth=function(){return s},t.step=function(){return i},t.round=function(p){return arguments.length?(a=!!p,u()):a},t.padding=function(p){return arguments.length?(c=Math.min(1,f=+p),u()):c},t.paddingInner=function(p){return arguments.length?(c=Math.min(1,p),u()):c},t.paddingOuter=function(p){return arguments.length?(f=+p,u()):f},t.align=function(p){return arguments.length?(l=Math.max(0,Math.min(1,p)),u()):l},t.copy=function(){return Ei(e(),[r,o]).round(a).paddingInner(c).paddingOuter(f).align(l)},pe.apply(u(),arguments)}function LM(t){var e=t.copy;return t.padding=t.paddingOuter,delete t.paddingInner,delete t.paddingOuter,t.copy=function(){return LM(e())},t}function s2(){return LM(Ei.apply(null,arguments).paddingInner(1))}function a2(t){return function(){return t}}function uc(t){return+t}var DM=[0,1];function wn(t){return t}function c2(t,e){return(e-=t=+t)?function(n){return(n-t)/e}:a2(isNaN(e)?NaN:.5)}function SR(t,e){var n;return t>e&&(n=t,t=e,e=n),function(r){return Math.max(t,Math.min(e,r))}}function AR(t,e,n){var r=t[0],o=t[1],i=e[0],s=e[1];return o<r?(r=c2(o,r),i=n(s,i)):(r=c2(r,o),i=n(i,s)),function(a){return i(r(a))}}function ER(t,e,n){var r=Math.min(t.length,e.length)-1,o=new Array(r),i=new Array(r),s=-1;for(t[r]<t[0]&&(t=t.slice().reverse(),e=e.slice().reverse());++s<r;)o[s]=c2(t[s],t[s+1]),i[s]=n(e[s],e[s+1]);return function(a){var c=yo(t,a,1,r)-1;return i[c](o[c](a))}}function Pr(t,e){return e.domain(t.domain()).range(t.range()).interpolate(t.interpolate()).clamp(t.clamp()).unknown(t.unknown())}function Bs(){var t=DM,e=DM,n=In,r,o,i,s=wn,a,c,f;function l(){var p=Math.min(t.length,e.length);return s!==wn&&(s=SR(t[0],t[p-1])),a=p>2?ER:AR,c=f=null,u}function u(p){return p==null||isNaN(p=+p)?i:(c||(c=a(t.map(r),e,n)))(r(s(p)))}return u.invert=function(p){return s(o((f||(f=a(e,t.map(r),Gt)))(p)))},u.domain=function(p){return arguments.length?(t=Array.from(p,uc),l()):t.slice()},u.range=function(p){return arguments.length?(e=Array.from(p),l()):e.slice()},u.rangeRound=function(p){return e=Array.from(p),n=Ts,l()},u.clamp=function(p){return arguments.length?(s=p?!0:wn,l()):s!==wn},u.interpolate=function(p){return arguments.length?(n=p,l()):n},u.unknown=function(p){return arguments.length?(i=p,u):i},function(p,h){return r=p,o=h,l()}}function Xl(){return Bs()(wn,wn)}function f2(t,e,n,r){var o=Ra(t,e,n),i;switch(r=Or(r??",f"),r.type){case"s":{var s=Math.max(Math.abs(t),Math.abs(e));return r.precision==null&&!isNaN(i=nb(o,s))&&(r.precision=i),Kd(r,s)}case"":case"e":case"g":case"p":case"r":{r.precision==null&&!isNaN(i=rb(o,Math.max(Math.abs(t),Math.abs(e))))&&(r.precision=i-(r.type==="e"));break}case"f":case"%":{r.precision==null&&!isNaN(i=eb(o))&&(r.precision=i-(r.type==="%")*2);break}}return Hn(r)}function $o(t){var e=t.domain;return t.ticks=function(n){var r=e();return Fe(r[0],r[r.length-1],n??10)},t.tickFormat=function(n,r){var o=e();return f2(o[0],o[o.length-1],n??10,r)},t.nice=function(n){n==null&&(n=10);var r=e(),o=0,i=r.length-1,s=r[o],a=r[i],c,f,l=10;for(a<s&&(f=s,s=a,a=f,f=o,o=i,i=f);l-- >0;){if(f=bo(s,a,n),f===c)return r[o]=s,r[i]=a,e(r);if(f>0)s=Math.floor(s/f)*f,a=Math.ceil(a/f)*f;else if(f<0)s=Math.ceil(s*f)/f,a=Math.floor(a*f)/f;else break;c=f}return t},t}function Co(){var t=Xl();return t.copy=function(){return Pr(t,Co())},pe.apply(t,arguments),$o(t)}function Gl(t){var e;function n(r){return r==null||isNaN(r=+r)?e:r}return n.invert=n,n.domain=n.range=function(r){return arguments.length?(t=Array.from(r,uc),n):t.slice()},n.unknown=function(r){return arguments.length?(e=r,n):e},n.copy=function(){return Gl(t).unknown(e)},t=arguments.length?Array.from(t,uc):[0,1],$o(n)}function Vl(t,e){t=t.slice();var n=0,r=t.length-1,o=t[n],i=t[r],s;return i<o&&(s=n,n=r,r=s,s=o,o=i,i=s),t[n]=e.floor(o),t[r]=e.ceil(i),t}function FM(t){return Math.log(t)}function PM(t){return Math.exp(t)}function TR(t){return-Math.log(-t)}function IR(t){return-Math.exp(-t)}function $R(t){return isFinite(t)?+("1e"+t):t<0?0:t}function CR(t){return t===10?$R:t===Math.E?Math.exp:e=>Math.pow(t,e)}function kR(t){return t===Math.E?Math.log:t===10&&Math.log10||t===2&&Math.log2||(t=Math.log(t),e=>Math.log(e)/t)}function qM(t){return(e,n)=>-t(-e,n)}function l2(t){let e=t(FM,PM),n=e.domain,r=10,o,i;function s(){return o=kR(r),i=CR(r),n()[0]<0?(o=qM(o),i=qM(i),t(TR,IR)):t(FM,PM),e}return e.base=function(a){return arguments.length?(r=+a,s()):r},e.domain=function(a){return arguments.length?(n(a),s()):n()},e.ticks=a=>{let c=n(),f=c[0],l=c[c.length-1],u=l<f;u&&([f,l]=[l,f]);let p=o(f),h=o(l),d,m,g=a==null?10:+a,y=[];if(!(r%1)&&h-p<g){if(p=Math.floor(p),h=Math.ceil(h),f>0){for(;p<=h;++p)for(d=1;d<r;++d)if(m=p<0?d/i(-p):d*i(p),!(m<f)){if(m>l)break;y.push(m)}}else for(;p<=h;++p)for(d=r-1;d>=1;--d)if(m=p>0?d/i(-p):d*i(p),!(m<f)){if(m>l)break;y.push(m)}y.length*2<g&&(y=Fe(f,l,g))}else y=Fe(p,h,Math.min(h-p,g)).map(i);return u?y.reverse():y},e.tickFormat=(a,c)=>{if(a==null&&(a=10),c==null&&(c=r===10?"s":","),typeof c!="function"&&(!(r%1)&&(c=Or(c)).precision==null&&(c.trim=!0),c=Hn(c)),a===1/0)return c;let f=Math.max(1,r*a/e.ticks().length);return l=>{let u=l/i(Math.round(o(l)));return u*r<r-.5&&(u*=r),u<=f?c(l):""}},e.nice=()=>n(Vl(n(),{floor:a=>i(Math.floor(o(a))),ceil:a=>i(Math.ceil(o(a)))})),e}function Wl(){let t=l2(Bs()).domain([1,10]);return t.copy=()=>Pr(t,Wl()).base(t.base()),pe.apply(t,arguments),t}function BM(t){return function(e){return Math.sign(e)*Math.log1p(Math.abs(e/t))}}function zM(t){return function(e){return Math.sign(e)*Math.expm1(Math.abs(e))*t}}function u2(t){var e=1,n=t(BM(e),zM(e));return n.constant=function(r){return arguments.length?t(BM(e=+r),zM(e)):e},$o(n)}function Hl(){var t=u2(Bs());return t.copy=function(){return Pr(t,Hl()).constant(t.constant())},pe.apply(t,arguments)}function YM(t){return function(e){return e<0?-Math.pow(-e,t):Math.pow(e,t)}}function NR(t){return t<0?-Math.sqrt(-t):Math.sqrt(t)}function OR(t){return t<0?-t*t:t*t}function p2(t){var e=t(wn,wn),n=1;function r(){return n===1?t(wn,wn):n===.5?t(NR,OR):t(YM(n),YM(1/n))}return e.exponent=function(o){return arguments.length?(n=+o,r()):n},$o(e)}function Ql(){var t=p2(Bs());return t.copy=function(){return Pr(t,Ql()).exponent(t.exponent())},pe.apply(t,arguments),t}function Zl(){var t=[],e=[],n=[],r;function o(){var s=0,a=Math.max(1,e.length);for(n=new Array(a-1);++s<a;)n[s-1]=ux(t,s/a);return i}function i(s){return s==null||isNaN(s=+s)?r:e[yo(n,s)]}return i.invertExtent=function(s){var a=e.indexOf(s);return a<0?[NaN,NaN]:[a>0?n[a-1]:t[0],a<n.length?n[a]:t[t.length-1]]},i.domain=function(s){if(!arguments.length)return t.slice();t=[];for(let a of s)a!=null&&!isNaN(a=+a)&&t.push(a);return t.sort(ht),o()},i.range=function(s){return arguments.length?(e=Array.from(s),o()):e.slice()},i.unknown=function(s){return arguments.length?(r=s,i):r},i.quantiles=function(){return n.slice()},i.copy=function(){return Zl().domain(t).range(e).unknown(r)},pe.apply(i,arguments)}function Kl(){var t=[.5],e=[0,1],n,r=1;function o(i){return i!=null&&i<=i?e[yo(t,i,0,r)]:n}return o.domain=function(i){return arguments.length?(t=Array.from(i),r=Math.min(t.length,e.length-1),o):t.slice()},o.range=function(i){return arguments.length?(e=Array.from(i),r=Math.min(t.length,e.length-1),o):e.slice()},o.invertExtent=function(i){var s=e.indexOf(i);return[t[s-1],t[s]]},o.unknown=function(i){return arguments.length?(n=i,o):n},o.copy=function(){return Kl().domain(t).range(e).unknown(n)},pe.apply(o,arguments)}var h2=new Date,d2=new Date;function Ut(t,e,n,r){function o(i){return t(i=arguments.length===0?new Date:new Date(+i)),i}return o.floor=i=>(t(i=new Date(+i)),i),o.ceil=i=>(t(i=new Date(i-1)),e(i,1),t(i),i),o.round=i=>{let s=o(i),a=o.ceil(i);return i-s<a-i?s:a},o.offset=(i,s)=>(e(i=new Date(+i),s==null?1:Math.floor(s)),i),o.range=(i,s,a)=>{let c=[];if(i=o.ceil(i),a=a==null?1:Math.floor(a),!(i<s)||!(a>0))return c;let f;do c.push(f=new Date(+i)),e(i,a),t(i);while(f<i&&i<s);return c},o.filter=i=>Ut(s=>{if(s>=s)for(;t(s),!i(s);)s.setTime(s-1)},(s,a)=>{if(s>=s)if(a<0)for(;++a<=0;)for(;e(s,-1),!i(s););else for(;--a>=0;)for(;e(s,1),!i(s););}),n&&(o.count=(i,s)=>(h2.setTime(+i),d2.setTime(+s),t(h2),t(d2),Math.floor(n(h2,d2))),o.every=i=>(i=Math.floor(i),!isFinite(i)||!(i>0)?null:i>1?o.filter(r?s=>r(s)%i===0:s=>o.count(0,s)%i===0):o)),o}var Jl=Ut(()=>{},(t,e)=>{t.setTime(+t+e)},(t,e)=>e-t);Jl.every=t=>(t=Math.floor(t),!isFinite(t)||!(t>0)?null:t>1?Ut(e=>{e.setTime(Math.floor(e/t)*t)},(e,n)=>{e.setTime(+e+n*t)},(e,n)=>(n-e)/t):Jl);var Uht=Jl.range;var Ae=Ut(t=>{t.setTime(t-t.getMilliseconds())},(t,e)=>{t.setTime(+t+e*1e3)},(t,e)=>(e-t)/1e3,t=>t.getUTCSeconds()),UM=Ae.range;var ko=Ut(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*1e3)},(t,e)=>{t.setTime(+t+e*6e4)},(t,e)=>(e-t)/6e4,t=>t.getMinutes()),RR=ko.range,No=Ut(t=>{t.setUTCSeconds(0,0)},(t,e)=>{t.setTime(+t+e*6e4)},(t,e)=>(e-t)/6e4,t=>t.getUTCMinutes()),LR=No.range;var Oo=Ut(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*1e3-t.getMinutes()*6e4)},(t,e)=>{t.setTime(+t+e*36e5)},(t,e)=>(e-t)/36e5,t=>t.getHours()),DR=Oo.range,Ro=Ut(t=>{t.setUTCMinutes(0,0,0)},(t,e)=>{t.setTime(+t+e*36e5)},(t,e)=>(e-t)/36e5,t=>t.getUTCHours()),FR=Ro.range;var Zn=Ut(t=>t.setHours(0,0,0,0),(t,e)=>t.setDate(t.getDate()+e),(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*6e4)/864e5,t=>t.getDate()-1),PR=Zn.range,Us=Ut(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/864e5,t=>t.getUTCDate()-1),qR=Us.range,js=Ut(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/864e5,t=>Math.floor(t/864e5)),BR=js.range;function Xs(t){return Ut(e=>{e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)},(e,n)=>{e.setDate(e.getDate()+n*7)},(e,n)=>(n-e-(n.getTimezoneOffset()-e.getTimezoneOffset())*6e4)/6048e5)}var Cn=Xs(0),Ti=Xs(1),Rm=Xs(2),Lm=Xs(3),Br=Xs(4),Dm=Xs(5),Fm=Xs(6),XM=Cn.range,zR=Ti.range,YR=Rm.range,UR=Lm.range,jR=Br.range,XR=Dm.range,GR=Fm.range;function Gs(t){return Ut(e=>{e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCDate(e.getUTCDate()+n*7)},(e,n)=>(n-e)/6048e5)}var kn=Gs(0),Ii=Gs(1),Pm=Gs(2),qm=Gs(3),zr=Gs(4),Bm=Gs(5),zm=Gs(6),GM=kn.range,VR=Ii.range,WR=Pm.range,HR=qm.range,QR=zr.range,ZR=Bm.range,KR=zm.range;var Lo=Ut(t=>{t.setDate(1),t.setHours(0,0,0,0)},(t,e)=>{t.setMonth(t.getMonth()+e)},(t,e)=>e.getMonth()-t.getMonth()+(e.getFullYear()-t.getFullYear())*12,t=>t.getMonth()),JR=Lo.range,Do=Ut(t=>{t.setUTCDate(1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCMonth(t.getUTCMonth()+e)},(t,e)=>e.getUTCMonth()-t.getUTCMonth()+(e.getUTCFullYear()-t.getUTCFullYear())*12,t=>t.getUTCMonth()),tL=Do.range;var Qe=Ut(t=>{t.setMonth(0,1),t.setHours(0,0,0,0)},(t,e)=>{t.setFullYear(t.getFullYear()+e)},(t,e)=>e.getFullYear()-t.getFullYear(),t=>t.getFullYear());Qe.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:Ut(e=>{e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)},(e,n)=>{e.setFullYear(e.getFullYear()+n*t)});var eL=Qe.range,Ze=Ut(t=>{t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCFullYear(t.getUTCFullYear()+e)},(t,e)=>e.getUTCFullYear()-t.getUTCFullYear(),t=>t.getUTCFullYear());Ze.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:Ut(e=>{e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCFullYear(e.getUTCFullYear()+n*t)});var nL=Ze.range;function WM(t,e,n,r,o,i){let s=[[Ae,1,1e3],[Ae,5,5*1e3],[Ae,15,15*1e3],[Ae,30,30*1e3],[i,1,6e4],[i,5,5*6e4],[i,15,15*6e4],[i,30,30*6e4],[o,1,36e5],[o,3,3*36e5],[o,6,6*36e5],[o,12,12*36e5],[r,1,864e5],[r,2,2*864e5],[n,1,6048e5],[e,1,2592e6],[e,3,3*2592e6],[t,1,31536e6]];function a(f,l,u){let p=l<f;p&&([f,l]=[l,f]);let h=u&&typeof u.range=="function"?u:c(f,l,u),d=h?h.range(f,+l+1):[];return p?d.reverse():d}function c(f,l,u){let p=Math.abs(l-f)/u,h=fr(([,,g])=>g).right(s,p);if(h===s.length)return t.every(Ra(f/31536e6,l/31536e6,u));if(h===0)return Jl.every(Math.max(Ra(f,l,u),1));let[d,m]=s[p/s[h-1][2]<s[h][2]/p?h-1:h];return d.every(m)}return[a,c]}var[m2,eu]=WM(Ze,Do,kn,js,Ro,No),[g2,y2]=WM(Qe,Lo,Cn,Zn,Oo,ko);function x2(t){if(0<=t.y&&t.y<100){var e=new Date(-1,t.m,t.d,t.H,t.M,t.S,t.L);return e.setFullYear(t.y),e}return new Date(t.y,t.m,t.d,t.H,t.M,t.S,t.L)}function b2(t){if(0<=t.y&&t.y<100){var e=new Date(Date.UTC(-1,t.m,t.d,t.H,t.M,t.S,t.L));return e.setUTCFullYear(t.y),e}return new Date(Date.UTC(t.y,t.m,t.d,t.H,t.M,t.S,t.L))}function nu(t,e,n){return{y:t,m:e,d:n,H:0,M:0,S:0,L:0}}function w2(t){var e=t.dateTime,n=t.date,r=t.time,o=t.periods,i=t.days,s=t.shortDays,a=t.months,c=t.shortMonths,f=ru(o),l=ou(o),u=ru(i),p=ou(i),h=ru(s),d=ou(s),m=ru(a),g=ou(a),y=ru(c),x=ou(c),w={a:N,A:L,b:R,B:D,c:null,d:t8,e:t8,f:EL,g:DL,G:PL,H:ML,I:SL,j:AL,L:i8,m:TL,M:IL,p:F,q:P,Q:r8,s:o8,S:$L,u:CL,U:kL,V:NL,w:OL,W:RL,x:null,X:null,y:LL,Y:FL,Z:qL,"%":n8},b={a:V,A:J,b:et,B:rt,c:null,d:e8,e:e8,f:UL,g:JL,G:eD,H:BL,I:zL,j:YL,L:a8,m:jL,M:XL,p:j,q:nt,Q:r8,s:o8,S:GL,u:VL,U:WL,V:HL,w:QL,W:ZL,x:null,X:null,y:KL,Y:tD,Z:nD,"%":n8},_={a:$,A:S,b:k,B:O,c:M,d:KM,e:KM,f:bL,g:ZM,G:QM,H:JM,I:JM,j:mL,L:xL,m:dL,M:gL,p:E,q:hL,Q:vL,s:_L,S:yL,u:cL,U:fL,V:lL,w:aL,W:uL,x:I,X:C,y:ZM,Y:QM,Z:pL,"%":wL};w.x=v(n,w),w.X=v(r,w),w.c=v(e,w),b.x=v(n,b),b.X=v(r,b),b.c=v(e,b);function v(z,W){return function(tt){var q=[],gt=-1,at=0,At=z.length,It,Z,Dt;for(tt instanceof Date||(tt=new Date(+tt));++gt<At;)z.charCodeAt(gt)===37&&(q.push(z.slice(at,gt)),(Z=HM[It=z.charAt(++gt)])!=null?It=z.charAt(++gt):Z=It==="e"?" ":"0",(Dt=W[It])&&(It=Dt(tt,Z)),q.push(It),at=gt+1);return q.push(z.slice(at,gt)),q.join("")}}function A(z,W){return function(tt){var q=nu(1900,void 0,1),gt=T(q,z,tt+="",0),at,At;if(gt!=tt.length)return null;if("Q"in q)return new Date(q.Q);if("s"in q)return new Date(q.s*1e3+("L"in q?q.L:0));if(W&&!("Z"in q)&&(q.Z=0),"p"in q&&(q.H=q.H%12+q.p*12),q.m===void 0&&(q.m="q"in q?q.q:0),"V"in q){if(q.V<1||q.V>53)return null;"w"in q||(q.w=1),"Z"in q?(at=b2(nu(q.y,0,1)),At=at.getUTCDay(),at=At>4||At===0?Ii.ceil(at):Ii(at),at=Us.offset(at,(q.V-1)*7),q.y=at.getUTCFullYear(),q.m=at.getUTCMonth(),q.d=at.getUTCDate()+(q.w+6)%7):(at=x2(nu(q.y,0,1)),At=at.getDay(),at=At>4||At===0?Ti.ceil(at):Ti(at),at=Zn.offset(at,(q.V-1)*7),q.y=at.getFullYear(),q.m=at.getMonth(),q.d=at.getDate()+(q.w+6)%7)}else("W"in q||"U"in q)&&("w"in q||(q.w="u"in q?q.u%7:"W"in q?1:0),At="Z"in q?b2(nu(q.y,0,1)).getUTCDay():x2(nu(q.y,0,1)).getDay(),q.m=0,q.d="W"in q?(q.w+6)%7+q.W*7-(At+5)%7:q.w+q.U*7-(At+6)%7);return"Z"in q?(q.H+=q.Z/100|0,q.M+=q.Z%100,b2(q)):x2(q)}}function T(z,W,tt,q){for(var gt=0,at=W.length,At=tt.length,It,Z;gt<at;){if(q>=At)return-1;if(It=W.charCodeAt(gt++),It===37){if(It=W.charAt(gt++),Z=_[It in HM?W.charAt(gt++):It],!Z||(q=Z(z,tt,q))<0)return-1}else if(It!=tt.charCodeAt(q++))return-1}return q}function E(z,W,tt){var q=f.exec(W.slice(tt));return q?(z.p=l.get(q[0].toLowerCase()),tt+q[0].length):-1}function $(z,W,tt){var q=h.exec(W.slice(tt));return q?(z.w=d.get(q[0].toLowerCase()),tt+q[0].length):-1}function S(z,W,tt){var q=u.exec(W.slice(tt));return q?(z.w=p.get(q[0].toLowerCase()),tt+q[0].length):-1}function k(z,W,tt){var q=y.exec(W.slice(tt));return q?(z.m=x.get(q[0].toLowerCase()),tt+q[0].length):-1}function O(z,W,tt){var q=m.exec(W.slice(tt));return q?(z.m=g.get(q[0].toLowerCase()),tt+q[0].length):-1}function M(z,W,tt){return T(z,e,W,tt)}function I(z,W,tt){return T(z,n,W,tt)}function C(z,W,tt){return T(z,r,W,tt)}function N(z){return s[z.getDay()]}function L(z){return i[z.getDay()]}function R(z){return c[z.getMonth()]}function D(z){return a[z.getMonth()]}function F(z){return o[+(z.getHours()>=12)]}function P(z){return 1+~~(z.getMonth()/3)}function V(z){return s[z.getUTCDay()]}function J(z){return i[z.getUTCDay()]}function et(z){return c[z.getUTCMonth()]}function rt(z){return a[z.getUTCMonth()]}function j(z){return o[+(z.getUTCHours()>=12)]}function nt(z){return 1+~~(z.getUTCMonth()/3)}return{format:function(z){var W=v(z+="",w);return W.toString=function(){return z},W},parse:function(z){var W=A(z+="",!1);return W.toString=function(){return z},W},utcFormat:function(z){var W=v(z+="",b);return W.toString=function(){return z},W},utcParse:function(z){var W=A(z+="",!0);return W.toString=function(){return z},W}}}var HM={"-":"",_:" ",0:"0"},Ee=/^\s*\d+/,oL=/^%/,iL=/[\\^$*+?|[\]().{}]/g;function Nt(t,e,n){var r=t<0?"-":"",o=(r?-t:t)+"",i=o.length;return r+(i<n?new Array(n-i+1).join(e)+o:o)}function sL(t){return t.replace(iL,"\\$&")}function ru(t){return new RegExp("^(?:"+t.map(sL).join("|")+")","i")}function ou(t){return new Map(t.map((e,n)=>[e.toLowerCase(),n]))}function aL(t,e,n){var r=Ee.exec(e.slice(n,n+1));return r?(t.w=+r[0],n+r[0].length):-1}function cL(t,e,n){var r=Ee.exec(e.slice(n,n+1));return r?(t.u=+r[0],n+r[0].length):-1}function fL(t,e,n){var r=Ee.exec(e.slice(n,n+2));return r?(t.U=+r[0],n+r[0].length):-1}function lL(t,e,n){var r=Ee.exec(e.slice(n,n+2));return r?(t.V=+r[0],n+r[0].length):-1}function uL(t,e,n){var r=Ee.exec(e.slice(n,n+2));return r?(t.W=+r[0],n+r[0].length):-1}function QM(t,e,n){var r=Ee.exec(e.slice(n,n+4));return r?(t.y=+r[0],n+r[0].length):-1}function ZM(t,e,n){var r=Ee.exec(e.slice(n,n+2));return r?(t.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function pL(t,e,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(n,n+6));return r?(t.Z=r[1]?0:-(r[2]+(r[3]||"00")),n+r[0].length):-1}function hL(t,e,n){var r=Ee.exec(e.slice(n,n+1));return r?(t.q=r[0]*3-3,n+r[0].length):-1}function dL(t,e,n){var r=Ee.exec(e.slice(n,n+2));return r?(t.m=r[0]-1,n+r[0].length):-1}function KM(t,e,n){var r=Ee.exec(e.slice(n,n+2));return r?(t.d=+r[0],n+r[0].length):-1}function mL(t,e,n){var r=Ee.exec(e.slice(n,n+3));return r?(t.m=0,t.d=+r[0],n+r[0].length):-1}function JM(t,e,n){var r=Ee.exec(e.slice(n,n+2));return r?(t.H=+r[0],n+r[0].length):-1}function gL(t,e,n){var r=Ee.exec(e.slice(n,n+2));return r?(t.M=+r[0],n+r[0].length):-1}function yL(t,e,n){var r=Ee.exec(e.slice(n,n+2));return r?(t.S=+r[0],n+r[0].length):-1}function xL(t,e,n){var r=Ee.exec(e.slice(n,n+3));return r?(t.L=+r[0],n+r[0].length):-1}function bL(t,e,n){var r=Ee.exec(e.slice(n,n+6));return r?(t.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function wL(t,e,n){var r=oL.exec(e.slice(n,n+1));return r?n+r[0].length:-1}function vL(t,e,n){var r=Ee.exec(e.slice(n));return r?(t.Q=+r[0],n+r[0].length):-1}function _L(t,e,n){var r=Ee.exec(e.slice(n));return r?(t.s=+r[0],n+r[0].length):-1}function t8(t,e){return Nt(t.getDate(),e,2)}function ML(t,e){return Nt(t.getHours(),e,2)}function SL(t,e){return Nt(t.getHours()%12||12,e,2)}function AL(t,e){return Nt(1+Zn.count(Qe(t),t),e,3)}function i8(t,e){return Nt(t.getMilliseconds(),e,3)}function EL(t,e){return i8(t,e)+"000"}function TL(t,e){return Nt(t.getMonth()+1,e,2)}function IL(t,e){return Nt(t.getMinutes(),e,2)}function $L(t,e){return Nt(t.getSeconds(),e,2)}function CL(t){var e=t.getDay();return e===0?7:e}function kL(t,e){return Nt(Cn.count(Qe(t)-1,t),e,2)}function s8(t){var e=t.getDay();return e>=4||e===0?Br(t):Br.ceil(t)}function NL(t,e){return t=s8(t),Nt(Br.count(Qe(t),t)+(Qe(t).getDay()===4),e,2)}function OL(t){return t.getDay()}function RL(t,e){return Nt(Ti.count(Qe(t)-1,t),e,2)}function LL(t,e){return Nt(t.getFullYear()%100,e,2)}function DL(t,e){return t=s8(t),Nt(t.getFullYear()%100,e,2)}function FL(t,e){return Nt(t.getFullYear()%1e4,e,4)}function PL(t,e){var n=t.getDay();return t=n>=4||n===0?Br(t):Br.ceil(t),Nt(t.getFullYear()%1e4,e,4)}function qL(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+Nt(e/60|0,"0",2)+Nt(e%60,"0",2)}function e8(t,e){return Nt(t.getUTCDate(),e,2)}function BL(t,e){return Nt(t.getUTCHours(),e,2)}function zL(t,e){return Nt(t.getUTCHours()%12||12,e,2)}function YL(t,e){return Nt(1+Us.count(Ze(t),t),e,3)}function a8(t,e){return Nt(t.getUTCMilliseconds(),e,3)}function UL(t,e){return a8(t,e)+"000"}function jL(t,e){return Nt(t.getUTCMonth()+1,e,2)}function XL(t,e){return Nt(t.getUTCMinutes(),e,2)}function GL(t,e){return Nt(t.getUTCSeconds(),e,2)}function VL(t){var e=t.getUTCDay();return e===0?7:e}function WL(t,e){return Nt(kn.count(Ze(t)-1,t),e,2)}function c8(t){var e=t.getUTCDay();return e>=4||e===0?zr(t):zr.ceil(t)}function HL(t,e){return t=c8(t),Nt(zr.count(Ze(t),t)+(Ze(t).getUTCDay()===4),e,2)}function QL(t){return t.getUTCDay()}function ZL(t,e){return Nt(Ii.count(Ze(t)-1,t),e,2)}function KL(t,e){return Nt(t.getUTCFullYear()%100,e,2)}function JL(t,e){return t=c8(t),Nt(t.getUTCFullYear()%100,e,2)}function tD(t,e){return Nt(t.getUTCFullYear()%1e4,e,4)}function eD(t,e){var n=t.getUTCDay();return t=n>=4||n===0?zr(t):zr.ceil(t),Nt(t.getUTCFullYear()%1e4,e,4)}function nD(){return"+0000"}function n8(){return"%"}function r8(t){return+t}function o8(t){return Math.floor(+t/1e3)}var pc,hc,f8,Yr,l8;v2({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 v2(t){return pc=w2(t),hc=pc.format,f8=pc.parse,Yr=pc.utcFormat,l8=pc.utcParse,pc}function rD(t){return new Date(t)}function oD(t){return t instanceof Date?+t:+new Date(+t)}function Ym(t,e,n,r,o,i,s,a,c,f){var l=Xl(),u=l.invert,p=l.domain,h=f(".%L"),d=f(":%S"),m=f("%I:%M"),g=f("%I %p"),y=f("%a %d"),x=f("%b %d"),w=f("%B"),b=f("%Y");function _(v){return(c(v)<v?h:a(v)<v?d:s(v)<v?m:i(v)<v?g:r(v)<v?o(v)<v?y:x:n(v)<v?w:b)(v)}return l.invert=function(v){return new Date(u(v))},l.domain=function(v){return arguments.length?p(Array.from(v,oD)):p().map(rD)},l.ticks=function(v){var A=p();return t(A[0],A[A.length-1],v??10)},l.tickFormat=function(v,A){return A==null?_:f(A)},l.nice=function(v){var A=p();return(!v||typeof v.range!="function")&&(v=e(A[0],A[A.length-1],v??10)),v?p(Vl(A,v)):l},l.copy=function(){return Pr(l,Ym(t,e,n,r,o,i,s,a,c,f))},l}function Um(){return pe.apply(Ym(g2,y2,Qe,Lo,Cn,Zn,Oo,ko,Ae,hc).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)}function jm(){return pe.apply(Ym(m2,eu,Ze,Do,kn,Us,Ro,No,Ae,Yr).domain([Date.UTC(2e3,0,1),Date.UTC(2e3,0,2)]),arguments)}function iu(t,e){return e.domain(t.domain()).interpolator(t.interpolator()).clamp(t.clamp()).unknown(t.unknown())}function Xm(){var t=0,e=.5,n=1,r=1,o,i,s,a,c,f=wn,l,u=!1,p;function h(m){return isNaN(m=+m)?p:(m=.5+((m=+l(m))-i)*(r*m<r*i?a:c),f(u?Math.max(0,Math.min(1,m)):m))}h.domain=function(m){return arguments.length?([t,e,n]=m,o=l(t=+t),i=l(e=+e),s=l(n=+n),a=o===i?0:.5/(i-o),c=i===s?0:.5/(s-i),r=i<o?-1:1,h):[t,e,n]},h.clamp=function(m){return arguments.length?(u=!!m,h):u},h.interpolator=function(m){return arguments.length?(f=m,h):f};function d(m){return function(g){var y,x,w;return arguments.length?([y,x,w]=g,f=$r(m,[y,x,w]),h):[f(0),f(.5),f(1)]}}return h.range=d(In),h.rangeRound=d(Ts),h.unknown=function(m){return arguments.length?(p=m,h):p},function(m){return l=m,o=m(t),i=m(e),s=m(n),a=o===i?0:.5/(i-o),c=i===s?0:.5/(s-i),r=i<o?-1:1,h}}function su(){var t=$o(Xm()(wn));return t.copy=function(){return iu(t,su())},Ul.apply(t,arguments)}function Gm(){var t=l2(Xm()).domain([.1,1,10]);return t.copy=function(){return iu(t,Gm()).base(t.base())},Ul.apply(t,arguments)}function Vm(){var t=u2(Xm());return t.copy=function(){return iu(t,Vm()).constant(t.constant())},Ul.apply(t,arguments)}function Wm(){var t=p2(Xm());return t.copy=function(){return iu(t,Wm()).exponent(t.exponent())},Ul.apply(t,arguments)}function X(t){for(var e=t.length/6|0,n=new Array(e),r=0;r<e;)n[r]="#"+t.slice(r*6,++r*6);return n}var _2=X("1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf");var M2=X("7fc97fbeaed4fdc086ffff99386cb0f0027fbf5b17666666");var S2=X("1b9e77d95f027570b3e7298a66a61ee6ab02a6761d666666");var A2=X("4269d0efb118ff725c6cc5b03ca951ff8ab7a463f297bbf59c6b4e9498a0");var E2=X("a6cee31f78b4b2df8a33a02cfb9a99e31a1cfdbf6fff7f00cab2d66a3d9affff99b15928");var T2=X("fbb4aeb3cde3ccebc5decbe4fed9a6ffffcce5d8bdfddaecf2f2f2");var I2=X("b3e2cdfdcdaccbd5e8f4cae4e6f5c9fff2aef1e2cccccccc");var $2=X("e41a1c377eb84daf4a984ea3ff7f00ffff33a65628f781bf999999");var C2=X("66c2a5fc8d628da0cbe78ac3a6d854ffd92fe5c494b3b3b3");var k2=X("8dd3c7ffffb3bebadafb807280b1d3fdb462b3de69fccde5d9d9d9bc80bdccebc5ffed6f");var N2=X("4e79a7f28e2ce1575976b7b259a14fedc949af7aa1ff9da79c755fbab0ab");var ct=t=>Tx(t[t.length-1]);var Hm=new Array(3).concat("d8b365f5f5f55ab4ac","a6611adfc27d80cdc1018571","a6611adfc27df5f5f580cdc1018571","8c510ad8b365f6e8c3c7eae55ab4ac01665e","8c510ad8b365f6e8c3f5f5f5c7eae55ab4ac01665e","8c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e","8c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e","5430058c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e003c30","5430058c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e003c30").map(X),Qm=ct(Hm);var Zm=new Array(3).concat("af8dc3f7f7f77fbf7b","7b3294c2a5cfa6dba0008837","7b3294c2a5cff7f7f7a6dba0008837","762a83af8dc3e7d4e8d9f0d37fbf7b1b7837","762a83af8dc3e7d4e8f7f7f7d9f0d37fbf7b1b7837","762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b7837","762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b7837","40004b762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b783700441b","40004b762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b783700441b").map(X),Km=ct(Zm);var Jm=new Array(3).concat("e9a3c9f7f7f7a1d76a","d01c8bf1b6dab8e1864dac26","d01c8bf1b6daf7f7f7b8e1864dac26","c51b7de9a3c9fde0efe6f5d0a1d76a4d9221","c51b7de9a3c9fde0eff7f7f7e6f5d0a1d76a4d9221","c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221","c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221","8e0152c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221276419","8e0152c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221276419").map(X),t0=ct(Jm);var e0=new Array(3).concat("998ec3f7f7f7f1a340","5e3c99b2abd2fdb863e66101","5e3c99b2abd2f7f7f7fdb863e66101","542788998ec3d8daebfee0b6f1a340b35806","542788998ec3d8daebf7f7f7fee0b6f1a340b35806","5427888073acb2abd2d8daebfee0b6fdb863e08214b35806","5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b35806","2d004b5427888073acb2abd2d8daebfee0b6fdb863e08214b358067f3b08","2d004b5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b358067f3b08").map(X),n0=ct(e0);var au=new Array(3).concat("ef8a62f7f7f767a9cf","ca0020f4a58292c5de0571b0","ca0020f4a582f7f7f792c5de0571b0","b2182bef8a62fddbc7d1e5f067a9cf2166ac","b2182bef8a62fddbc7f7f7f7d1e5f067a9cf2166ac","b2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac","b2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac","67001fb2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac053061","67001fb2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac053061").map(X),dc=ct(au);var r0=new Array(3).concat("ef8a62ffffff999999","ca0020f4a582bababa404040","ca0020f4a582ffffffbababa404040","b2182bef8a62fddbc7e0e0e09999994d4d4d","b2182bef8a62fddbc7ffffffe0e0e09999994d4d4d","b2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d","b2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d","67001fb2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d1a1a1a","67001fb2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d1a1a1a").map(X),o0=ct(r0);var cu=new Array(3).concat("fc8d59ffffbf91bfdb","d7191cfdae61abd9e92c7bb6","d7191cfdae61ffffbfabd9e92c7bb6","d73027fc8d59fee090e0f3f891bfdb4575b4","d73027fc8d59fee090ffffbfe0f3f891bfdb4575b4","d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4","d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4","a50026d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4313695","a50026d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4313695").map(X),mc=ct(cu);var i0=new Array(3).concat("fc8d59ffffbf91cf60","d7191cfdae61a6d96a1a9641","d7191cfdae61ffffbfa6d96a1a9641","d73027fc8d59fee08bd9ef8b91cf601a9850","d73027fc8d59fee08bffffbfd9ef8b91cf601a9850","d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850","d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850","a50026d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850006837","a50026d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850006837").map(X),s0=ct(i0);var a0=new Array(3).concat("fc8d59ffffbf99d594","d7191cfdae61abdda42b83ba","d7191cfdae61ffffbfabdda42b83ba","d53e4ffc8d59fee08be6f59899d5943288bd","d53e4ffc8d59fee08bffffbfe6f59899d5943288bd","d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd","d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd","9e0142d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd5e4fa2","9e0142d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd5e4fa2").map(X),c0=ct(a0);var f0=new Array(3).concat("e5f5f999d8c92ca25f","edf8fbb2e2e266c2a4238b45","edf8fbb2e2e266c2a42ca25f006d2c","edf8fbccece699d8c966c2a42ca25f006d2c","edf8fbccece699d8c966c2a441ae76238b45005824","f7fcfde5f5f9ccece699d8c966c2a441ae76238b45005824","f7fcfde5f5f9ccece699d8c966c2a441ae76238b45006d2c00441b").map(X),l0=ct(f0);var u0=new Array(3).concat("e0ecf49ebcda8856a7","edf8fbb3cde38c96c688419d","edf8fbb3cde38c96c68856a7810f7c","edf8fbbfd3e69ebcda8c96c68856a7810f7c","edf8fbbfd3e69ebcda8c96c68c6bb188419d6e016b","f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d6e016b","f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d810f7c4d004b").map(X),p0=ct(u0);var h0=new Array(3).concat("e0f3dba8ddb543a2ca","f0f9e8bae4bc7bccc42b8cbe","f0f9e8bae4bc7bccc443a2ca0868ac","f0f9e8ccebc5a8ddb57bccc443a2ca0868ac","f0f9e8ccebc5a8ddb57bccc44eb3d32b8cbe08589e","f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe08589e","f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe0868ac084081").map(X),d0=ct(h0);var m0=new Array(3).concat("fee8c8fdbb84e34a33","fef0d9fdcc8afc8d59d7301f","fef0d9fdcc8afc8d59e34a33b30000","fef0d9fdd49efdbb84fc8d59e34a33b30000","fef0d9fdd49efdbb84fc8d59ef6548d7301f990000","fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301f990000","fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301fb300007f0000").map(X),g0=ct(m0);var y0=new Array(3).concat("ece2f0a6bddb1c9099","f6eff7bdc9e167a9cf02818a","f6eff7bdc9e167a9cf1c9099016c59","f6eff7d0d1e6a6bddb67a9cf1c9099016c59","f6eff7d0d1e6a6bddb67a9cf3690c002818a016450","fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016450","fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016c59014636").map(X),x0=ct(y0);var b0=new Array(3).concat("ece7f2a6bddb2b8cbe","f1eef6bdc9e174a9cf0570b0","f1eef6bdc9e174a9cf2b8cbe045a8d","f1eef6d0d1e6a6bddb74a9cf2b8cbe045a8d","f1eef6d0d1e6a6bddb74a9cf3690c00570b0034e7b","fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0034e7b","fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0045a8d023858").map(X),w0=ct(b0);var v0=new Array(3).concat("e7e1efc994c7dd1c77","f1eef6d7b5d8df65b0ce1256","f1eef6d7b5d8df65b0dd1c77980043","f1eef6d4b9dac994c7df65b0dd1c77980043","f1eef6d4b9dac994c7df65b0e7298ace125691003f","f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125691003f","f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125698004367001f").map(X),_0=ct(v0);var M0=new Array(3).concat("fde0ddfa9fb5c51b8a","feebe2fbb4b9f768a1ae017e","feebe2fbb4b9f768a1c51b8a7a0177","feebe2fcc5c0fa9fb5f768a1c51b8a7a0177","feebe2fcc5c0fa9fb5f768a1dd3497ae017e7a0177","fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a0177","fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a017749006a").map(X),S0=ct(M0);var A0=new Array(3).concat("edf8b17fcdbb2c7fb8","ffffcca1dab441b6c4225ea8","ffffcca1dab441b6c42c7fb8253494","ffffccc7e9b47fcdbb41b6c42c7fb8253494","ffffccc7e9b47fcdbb41b6c41d91c0225ea80c2c84","ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea80c2c84","ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea8253494081d58").map(X),E0=ct(A0);var T0=new Array(3).concat("f7fcb9addd8e31a354","ffffccc2e69978c679238443","ffffccc2e69978c67931a354006837","ffffccd9f0a3addd8e78c67931a354006837","ffffccd9f0a3addd8e78c67941ab5d238443005a32","ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443005a32","ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443006837004529").map(X),I0=ct(T0);var $0=new Array(3).concat("fff7bcfec44fd95f0e","ffffd4fed98efe9929cc4c02","ffffd4fed98efe9929d95f0e993404","ffffd4fee391fec44ffe9929d95f0e993404","ffffd4fee391fec44ffe9929ec7014cc4c028c2d04","ffffe5fff7bcfee391fec44ffe9929ec7014cc4c028c2d04","ffffe5fff7bcfee391fec44ffe9929ec7014cc4c02993404662506").map(X),C0=ct($0);var k0=new Array(3).concat("ffeda0feb24cf03b20","ffffb2fecc5cfd8d3ce31a1c","ffffb2fecc5cfd8d3cf03b20bd0026","ffffb2fed976feb24cfd8d3cf03b20bd0026","ffffb2fed976feb24cfd8d3cfc4e2ae31a1cb10026","ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cb10026","ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cbd0026800026").map(X),N0=ct(k0);var O0=new Array(3).concat("deebf79ecae13182bd","eff3ffbdd7e76baed62171b5","eff3ffbdd7e76baed63182bd08519c","eff3ffc6dbef9ecae16baed63182bd08519c","eff3ffc6dbef9ecae16baed64292c62171b5084594","f7fbffdeebf7c6dbef9ecae16baed64292c62171b5084594","f7fbffdeebf7c6dbef9ecae16baed64292c62171b508519c08306b").map(X),R0=ct(O0);var L0=new Array(3).concat("e5f5e0a1d99b31a354","edf8e9bae4b374c476238b45","edf8e9bae4b374c47631a354006d2c","edf8e9c7e9c0a1d99b74c47631a354006d2c","edf8e9c7e9c0a1d99b74c47641ab5d238b45005a32","f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45005a32","f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45006d2c00441b").map(X),D0=ct(L0);var F0=new Array(3).concat("f0f0f0bdbdbd636363","f7f7f7cccccc969696525252","f7f7f7cccccc969696636363252525","f7f7f7d9d9d9bdbdbd969696636363252525","f7f7f7d9d9d9bdbdbd969696737373525252252525","fffffff0f0f0d9d9d9bdbdbd969696737373525252252525","fffffff0f0f0d9d9d9bdbdbd969696737373525252252525000000").map(X),P0=ct(F0);var q0=new Array(3).concat("efedf5bcbddc756bb1","f2f0f7cbc9e29e9ac86a51a3","f2f0f7cbc9e29e9ac8756bb154278f","f2f0f7dadaebbcbddc9e9ac8756bb154278f","f2f0f7dadaebbcbddc9e9ac8807dba6a51a34a1486","fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a34a1486","fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a354278f3f007d").map(X),B0=ct(q0);var z0=new Array(3).concat("fee0d2fc9272de2d26","fee5d9fcae91fb6a4acb181d","fee5d9fcae91fb6a4ade2d26a50f15","fee5d9fcbba1fc9272fb6a4ade2d26a50f15","fee5d9fcbba1fc9272fb6a4aef3b2ccb181d99000d","fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181d99000d","fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181da50f1567000d").map(X),Y0=ct(z0);var U0=new Array(3).concat("fee6cefdae6be6550d","feeddefdbe85fd8d3cd94701","feeddefdbe85fd8d3ce6550da63603","feeddefdd0a2fdae6bfd8d3ce6550da63603","feeddefdd0a2fdae6bfd8d3cf16913d948018c2d04","fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d948018c2d04","fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d94801a636037f2704").map(X),j0=ct(U0);function X0(t){return t=Math.max(0,Math.min(1,t)),"rgb("+Math.max(0,Math.min(255,Math.round(-4.54-t*(35.34-t*(2381.73-t*(6402.7-t*(7024.72-t*2710.57)))))))+", "+Math.max(0,Math.min(255,Math.round(32.49+t*(170.73+t*(52.82-t*(131.46-t*(176.58-t*67.37)))))))+", "+Math.max(0,Math.min(255,Math.round(81.24+t*(442.36-t*(2482.43-t*(6167.24-t*(6614.94-t*2475.67)))))))+")"}var G0=Ua(an(300,.5,0),an(-240,.5,1));var W0=Ua(an(-100,.75,.35),an(80,1.5,.8)),H0=Ua(an(260,.75,.35),an(80,1.5,.8)),V0=an();function Q0(t){(t<0||t>1)&&(t-=Math.floor(t));var e=Math.abs(t-.5);return V0.h=360*t-100,V0.s=1.5-1.5*e,V0.l=.8-.9*e,V0+""}var Z0=ye(),iD=Math.PI/3,sD=Math.PI*2/3;function K0(t){var e;return t=(.5-t)*Math.PI,Z0.r=255*(e=Math.sin(t))*e,Z0.g=255*(e=Math.sin(t+iD))*e,Z0.b=255*(e=Math.sin(t+sD))*e,Z0+""}function J0(t){return t=Math.max(0,Math.min(1,t)),"rgb("+Math.max(0,Math.min(255,Math.round(34.61+t*(1172.33-t*(10793.56-t*(33300.12-t*(38394.49-t*14825.05)))))))+", "+Math.max(0,Math.min(255,Math.round(23.31+t*(557.33+t*(1225.33-t*(3574.96-t*(1073.77+t*707.56)))))))+", "+Math.max(0,Math.min(255,Math.round(27.2+t*(3211.1-t*(15327.97-t*(27814-t*(22569.18-t*6838.66)))))))+")"}function tg(t){var e=t.length;return function(n){return t[Math.max(0,Math.min(e-1,Math.floor(n*e)))]}}var eg=tg(X("44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725")),ng=tg(X("00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf")),rg=tg(X("00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4")),og=tg(X("0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921"));function he(t){return function(){return t}}var O2=Math.cos;var gc=Math.min,fu=Math.sin,Ot=Math.sqrt,R2=1e-12,Vs=Math.PI,dyt=Vs/2,yc=2*Vs;function ig(t){let e=3;return t.digits=function(n){if(!arguments.length)return e;if(n==null)e=null;else{let r=Math.floor(n);if(!(r>=0))throw new RangeError(`invalid digits: ${n}`);e=r}return t},()=>new wi(e)}var xyt=Array.prototype.slice;function sg(t){return typeof t=="object"&&"length"in t?t:Array.from(t)}function u8(t){this._context=t}u8.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(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:this._context.lineTo(t,e);break}}};function Fo(t){return new u8(t)}function ag(t){return t[0]}function cg(t){return t[1]}function lu(t,e){var n=he(!0),r=null,o=Fo,i=null,s=ig(a);t=typeof t=="function"?t:t===void 0?ag:he(t),e=typeof e=="function"?e:e===void 0?cg:he(e);function a(c){var f,l=(c=sg(c)).length,u,p=!1,h;for(r==null&&(i=o(h=s())),f=0;f<=l;++f)!(f<l&&n(u=c[f],f,c))===p&&((p=!p)?i.lineStart():i.lineEnd()),p&&i.point(+t(u,f,c),+e(u,f,c));if(h)return i=null,h+""||null}return a.x=function(c){return arguments.length?(t=typeof c=="function"?c:he(+c),a):t},a.y=function(c){return arguments.length?(e=typeof c=="function"?c:he(+c),a):e},a.defined=function(c){return arguments.length?(n=typeof c=="function"?c:he(!!c),a):n},a.curve=function(c){return arguments.length?(o=c,r!=null&&(i=o(r)),a):o},a.context=function(c){return arguments.length?(c==null?r=i=null:i=o(r=c),a):r},a}function xc(t,e,n){var r=null,o=he(!0),i=null,s=Fo,a=null,c=ig(f);t=typeof t=="function"?t:t===void 0?ag:he(+t),e=typeof e=="function"?e:e===void 0?he(0):he(+e),n=typeof n=="function"?n:n===void 0?cg:he(+n);function f(u){var p,h,d,m=(u=sg(u)).length,g,y=!1,x,w=new Array(m),b=new Array(m);for(i==null&&(a=s(x=c())),p=0;p<=m;++p){if(!(p<m&&o(g=u[p],p,u))===y)if(y=!y)h=p,a.areaStart(),a.lineStart();else{for(a.lineEnd(),a.lineStart(),d=p-1;d>=h;--d)a.point(w[d],b[d]);a.lineEnd(),a.areaEnd()}y&&(w[p]=+t(g,p,u),b[p]=+e(g,p,u),a.point(r?+r(g,p,u):w[p],n?+n(g,p,u):b[p]))}if(x)return a=null,x+""||null}function l(){return lu().defined(o).curve(s).context(i)}return f.x=function(u){return arguments.length?(t=typeof u=="function"?u:he(+u),r=null,f):t},f.x0=function(u){return arguments.length?(t=typeof u=="function"?u:he(+u),f):t},f.x1=function(u){return arguments.length?(r=u==null?null:typeof u=="function"?u:he(+u),f):r},f.y=function(u){return arguments.length?(e=typeof u=="function"?u:he(+u),n=null,f):e},f.y0=function(u){return arguments.length?(e=typeof u=="function"?u:he(+u),f):e},f.y1=function(u){return arguments.length?(n=u==null?null:typeof u=="function"?u:he(+u),f):n},f.lineX0=f.lineY0=function(){return l().x(t).y(e)},f.lineY1=function(){return l().x(t).y(n)},f.lineX1=function(){return l().x(r).y(e)},f.defined=function(u){return arguments.length?(o=typeof u=="function"?u:he(!!u),f):o},f.curve=function(u){return arguments.length?(s=u,i!=null&&(a=s(i)),f):s},f.context=function(u){return arguments.length?(u==null?i=a=null:a=s(i=u),f):i},f}var fg=class{constructor(e,n){this._context=e,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(e,n){switch(e=+e,n=+n,this._point){case 0:{this._point=1,this._line?this._context.lineTo(e,n):this._context.moveTo(e,n);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+e)/2,this._y0,this._x0,n,e,n):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+n)/2,e,this._y0,e,n);break}}this._x0=e,this._y0=n}};function L2(t){return new fg(t,!0)}function D2(t){return new fg(t,!1)}var aD=Ot(3),uu={draw(t,e){let n=Ot(e+gc(e/28,.75))*.59436,r=n/2,o=r*aD;t.moveTo(0,n),t.lineTo(0,-n),t.moveTo(-o,-r),t.lineTo(o,r),t.moveTo(-o,r),t.lineTo(o,-r)}};var Po={draw(t,e){let n=Ot(e/Vs);t.moveTo(n,0),t.arc(0,0,n,0,yc)}};var pu={draw(t,e){let n=Ot(e/5)/2;t.moveTo(-3*n,-n),t.lineTo(-n,-n),t.lineTo(-n,-3*n),t.lineTo(n,-3*n),t.lineTo(n,-n),t.lineTo(3*n,-n),t.lineTo(3*n,n),t.lineTo(n,n),t.lineTo(n,3*n),t.lineTo(-n,3*n),t.lineTo(-n,n),t.lineTo(-3*n,n),t.closePath()}};var p8=Ot(1/3),cD=p8*2,hu={draw(t,e){let n=Ot(e/cD),r=n*p8;t.moveTo(0,-n),t.lineTo(r,0),t.lineTo(0,n),t.lineTo(-r,0),t.closePath()}};var du={draw(t,e){let n=Ot(e)*.62625;t.moveTo(0,-n),t.lineTo(n,0),t.lineTo(0,n),t.lineTo(-n,0),t.closePath()}};var mu={draw(t,e){let n=Ot(e-gc(e/7,2))*.87559;t.moveTo(-n,0),t.lineTo(n,0),t.moveTo(0,n),t.lineTo(0,-n)}};var gu={draw(t,e){let n=Ot(e),r=-n/2;t.rect(r,r,n,n)}};var yu={draw(t,e){let n=Ot(e)*.4431;t.moveTo(n,n),t.lineTo(n,-n),t.lineTo(-n,-n),t.lineTo(-n,n),t.closePath()}};var fD=.8908130915292852,h8=fu(Vs/10)/fu(7*Vs/10),lD=fu(yc/10)*h8,uD=-O2(yc/10)*h8,xu={draw(t,e){let n=Ot(e*fD),r=lD*n,o=uD*n;t.moveTo(0,-n),t.lineTo(r,o);for(let i=1;i<5;++i){let s=yc*i/5,a=O2(s),c=fu(s);t.lineTo(c*n,-a*n),t.lineTo(a*r-c*o,c*r+a*o)}t.closePath()}};var F2=Ot(3),bu={draw(t,e){let n=-Ot(e/(F2*3));t.moveTo(0,n*2),t.lineTo(-F2*n,-n),t.lineTo(F2*n,-n),t.closePath()}};var pD=Ot(3),wu={draw(t,e){let n=Ot(e)*.6824,r=n/2,o=n*pD/2;t.moveTo(0,-n),t.lineTo(o,r),t.lineTo(-o,r),t.closePath()}};var Kn=-.5,Jn=Ot(3)/2,P2=1/Ot(12),hD=(P2/2+1)*3,vu={draw(t,e){let n=Ot(e/hD),r=n/2,o=n*P2,i=r,s=n*P2+n,a=-i,c=s;t.moveTo(r,o),t.lineTo(i,s),t.lineTo(a,c),t.lineTo(Kn*r-Jn*o,Jn*r+Kn*o),t.lineTo(Kn*i-Jn*s,Jn*i+Kn*s),t.lineTo(Kn*a-Jn*c,Jn*a+Kn*c),t.lineTo(Kn*r+Jn*o,Kn*o-Jn*r),t.lineTo(Kn*i+Jn*s,Kn*s-Jn*i),t.lineTo(Kn*a+Jn*c,Kn*c-Jn*a),t.closePath()}};var bc={draw(t,e){let n=Ot(e-gc(e/6,1.7))*.6189;t.moveTo(-n,-n),t.lineTo(n,n),t.moveTo(-n,n),t.lineTo(n,-n)}};var lg=[Po,pu,hu,gu,xu,bu,vu],q2=[Po,mu,bc,wu,uu,yu,du];function tr(){}function wc(t,e,n){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+e)/6,(t._y0+4*t._y1+n)/6)}function _u(t){this._context=t}_u.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:wc(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(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);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:wc(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function B2(t){return new _u(t)}function d8(t){this._context=t}d8.prototype={areaStart:tr,areaEnd:tr,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(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x2=t,this._y2=e;break;case 1:this._point=2,this._x3=t,this._y3=e;break;case 2:this._point=3,this._x4=t,this._y4=e,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+e)/6);break;default:wc(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function z2(t){return new d8(t)}function m8(t){this._context=t}m8.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(t,e){switch(t=+t,e=+e,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+t)/6,r=(this._y0+4*this._y1+e)/6;this._line?this._context.lineTo(n,r):this._context.moveTo(n,r);break;case 3:this._point=4;default:wc(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function Y2(t){return new m8(t)}function g8(t,e){this._basis=new _u(t),this._beta=e}g8.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var t=this._x,e=this._y,n=t.length-1;if(n>0)for(var r=t[0],o=e[0],i=t[n]-r,s=e[n]-o,a=-1,c;++a<=n;)c=a/n,this._basis.point(this._beta*t[a]+(1-this._beta)*(r+c*i),this._beta*e[a]+(1-this._beta)*(o+c*s));this._x=this._y=null,this._basis.lineEnd()},point:function(t,e){this._x.push(+t),this._y.push(+e)}};var U2=function t(e){function n(r){return e===1?new _u(r):new g8(r,e)}return n.beta=function(r){return t(+r)},n}(.85);function vc(t,e,n){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-e),t._y2+t._k*(t._y1-n),t._x2,t._y2)}function ug(t,e){this._context=t,this._k=(1-e)/6}ug.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:vc(this,this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2,this._x1=t,this._y1=e;break;case 2:this._point=3;default:vc(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var j2=function t(e){function n(r){return new ug(r,e)}return n.tension=function(r){return t(+r)},n}(0);function pg(t,e){this._context=t,this._k=(1-e)/6}pg.prototype={areaStart:tr,areaEnd:tr,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(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:vc(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var X2=function t(e){function n(r){return new pg(r,e)}return n.tension=function(r){return t(+r)},n}(0);function hg(t,e){this._context=t,this._k=(1-e)/6}hg.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(t,e){switch(t=+t,e=+e,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:vc(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var G2=function t(e){function n(r){return new hg(r,e)}return n.tension=function(r){return t(+r)},n}(0);function Mu(t,e,n){var r=t._x1,o=t._y1,i=t._x2,s=t._y2;if(t._l01_a>R2){var a=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,c=3*t._l01_a*(t._l01_a+t._l12_a);r=(r*a-t._x0*t._l12_2a+t._x2*t._l01_2a)/c,o=(o*a-t._y0*t._l12_2a+t._y2*t._l01_2a)/c}if(t._l23_a>R2){var f=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,l=3*t._l23_a*(t._l23_a+t._l12_a);i=(i*f+t._x1*t._l23_2a-e*t._l12_2a)/l,s=(s*f+t._y1*t._l23_2a-n*t._l12_2a)/l}t._context.bezierCurveTo(r,o,i,s,t._x2,t._y2)}function y8(t,e){this._context=t,this._alpha=e}y8.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(t,e){if(t=+t,e=+e,this._point){var n=this._x2-t,r=this._y2-e;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(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3;default:Mu(this,t,e);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=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var V2=function t(e){function n(r){return e?new y8(r,e):new ug(r,0)}return n.alpha=function(r){return t(+r)},n}(.5);function x8(t,e){this._context=t,this._alpha=e}x8.prototype={areaStart:tr,areaEnd:tr,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(t,e){if(t=+t,e=+e,this._point){var n=this._x2-t,r=this._y2-e;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=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:Mu(this,t,e);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=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var W2=function t(e){function n(r){return e?new x8(r,e):new pg(r,0)}return n.alpha=function(r){return t(+r)},n}(.5);function b8(t,e){this._context=t,this._alpha=e}b8.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(t,e){if(t=+t,e=+e,this._point){var n=this._x2-t,r=this._y2-e;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:Mu(this,t,e);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=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var H2=function t(e){function n(r){return e?new b8(r,e):new hg(r,0)}return n.alpha=function(r){return t(+r)},n}(.5);function w8(t){this._context=t}w8.prototype={areaStart:tr,areaEnd:tr,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(t,e){t=+t,e=+e,this._point?this._context.lineTo(t,e):(this._point=1,this._context.moveTo(t,e))}};function Q2(t){return new w8(t)}function v8(t){return t<0?-1:1}function _8(t,e,n){var r=t._x1-t._x0,o=e-t._x1,i=(t._y1-t._y0)/(r||o<0&&-0),s=(n-t._y1)/(o||r<0&&-0),a=(i*o+s*r)/(r+o);return(v8(i)+v8(s))*Math.min(Math.abs(i),Math.abs(s),.5*Math.abs(a))||0}function M8(t,e){var n=t._x1-t._x0;return n?(3*(t._y1-t._y0)/n-e)/2:e}function Z2(t,e,n){var r=t._x0,o=t._y0,i=t._x1,s=t._y1,a=(i-r)/3;t._context.bezierCurveTo(r+a,o+a*e,i-a,s-a*n,i,s)}function dg(t){this._context=t}dg.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:Z2(this,this._t0,M8(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){var n=NaN;if(t=+t,e=+e,!(t===this._x1&&e===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,Z2(this,M8(this,n=_8(this,t,e)),n);break;default:Z2(this,this._t0,n=_8(this,t,e));break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e,this._t0=n}}};function S8(t){this._context=new A8(t)}(S8.prototype=Object.create(dg.prototype)).point=function(t,e){dg.prototype.point.call(this,e,t)};function A8(t){this._context=t}A8.prototype={moveTo:function(t,e){this._context.moveTo(e,t)},closePath:function(){this._context.closePath()},lineTo:function(t,e){this._context.lineTo(e,t)},bezierCurveTo:function(t,e,n,r,o,i){this._context.bezierCurveTo(e,t,r,n,i,o)}};function K2(t){return new dg(t)}function J2(t){return new S8(t)}function T8(t){this._context=t}T8.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var t=this._x,e=this._y,n=t.length;if(n)if(this._line?this._context.lineTo(t[0],e[0]):this._context.moveTo(t[0],e[0]),n===2)this._context.lineTo(t[1],e[1]);else for(var r=E8(t),o=E8(e),i=0,s=1;s<n;++i,++s)this._context.bezierCurveTo(r[0][i],o[0][i],r[1][i],o[1][i],t[s],e[s]);(this._line||this._line!==0&&n===1)&&this._context.closePath(),this._line=1-this._line,this._x=this._y=null},point:function(t,e){this._x.push(+t),this._y.push(+e)}};function E8(t){var e,n=t.length-1,r,o=new Array(n),i=new Array(n),s=new Array(n);for(o[0]=0,i[0]=2,s[0]=t[0]+2*t[1],e=1;e<n-1;++e)o[e]=1,i[e]=4,s[e]=4*t[e]+2*t[e+1];for(o[n-1]=2,i[n-1]=7,s[n-1]=8*t[n-1]+t[n],e=1;e<n;++e)r=o[e]/i[e-1],i[e]-=r,s[e]-=r*s[e-1];for(o[n-1]=s[n-1]/i[n-1],e=n-2;e>=0;--e)o[e]=(s[e]-o[e+1])/i[e];for(i[n-1]=(t[n]+o[n-1])/2,e=0;e<n-1;++e)i[e]=2*t[e+1]-o[e+1];return[o,i]}function tw(t){return new T8(t)}function mg(t,e){this._context=t,this._t=e}mg.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(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,e),this._context.lineTo(t,e);else{var n=this._x*(1-this._t)+t*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,e)}break}}this._x=t,this._y=e}};function ew(t){return new mg(t,.5)}function nw(t){return new mg(t,0)}function rw(t){return new mg(t,1)}var Su=t=>()=>t;function ow(t,{sourceEvent:e,target:n,transform:r,dispatch:o}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:e,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:r,enumerable:!0,configurable:!0},_:{value:o}})}function Nn(t,e,n){this.k=t,this.x=e,this.y=n}Nn.prototype={constructor:Nn,scale:function(t){return t===1?this:new Nn(this.k*t,this.x,this.y)},translate:function(t,e){return t===0&e===0?this:new Nn(this.k,this.x+this.k*t,this.y+this.k*e)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var Au=new Nn(1,0,0);iw.prototype=Nn.prototype;function iw(t){for(;!t.__zoom;)if(!(t=t.parentNode))return Au;return t.__zoom}function gg(t){t.stopImmediatePropagation()}function _c(t){t.preventDefault(),t.stopImmediatePropagation()}function dD(t){return(!t.ctrlKey||t.type==="wheel")&&!t.button}function mD(){var t=this;return t instanceof SVGElement?(t=t.ownerSVGElement||t,t.hasAttribute("viewBox")?(t=t.viewBox.baseVal,[[t.x,t.y],[t.x+t.width,t.y+t.height]]):[[0,0],[t.width.baseVal.value,t.height.baseVal.value]]):[[0,0],[t.clientWidth,t.clientHeight]]}function I8(){return this.__zoom||Au}function gD(t){return-t.deltaY*(t.deltaMode===1?.05:t.deltaMode?1:.002)*(t.ctrlKey?10:1)}function yD(){return navigator.maxTouchPoints||"ontouchstart"in this}function xD(t,e,n){var r=t.invertX(e[0][0])-n[0][0],o=t.invertX(e[1][0])-n[1][0],i=t.invertY(e[0][1])-n[0][1],s=t.invertY(e[1][1])-n[1][1];return t.translate(o>r?(r+o)/2:Math.min(0,r)||Math.max(0,o),s>i?(i+s)/2:Math.min(0,i)||Math.max(0,s))}function sw(){var t=dD,e=mD,n=xD,r=gD,o=yD,i=[0,1/0],s=[[-1/0,-1/0],[1/0,1/0]],a=250,c=Ox,f=vs("start","zoom","end"),l,u,p,h=500,d=150,m=0,g=10;function y(M){M.property("__zoom",I8).on("wheel.zoom",T,{passive:!1}).on("mousedown.zoom",E).on("dblclick.zoom",$).filter(o).on("touchstart.zoom",S).on("touchmove.zoom",k).on("touchend.zoom touchcancel.zoom",O).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}y.transform=function(M,I,C,N){var L=M.selection?M.selection():M;L.property("__zoom",I8),M!==L?_(M,I,C,N):L.interrupt().each(function(){v(this,arguments).event(N).start().zoom(null,typeof I=="function"?I.apply(this,arguments):I).end()})},y.scaleBy=function(M,I,C,N){y.scaleTo(M,function(){var L=this.__zoom.k,R=typeof I=="function"?I.apply(this,arguments):I;return L*R},C,N)},y.scaleTo=function(M,I,C,N){y.transform(M,function(){var L=e.apply(this,arguments),R=this.__zoom,D=C==null?b(L):typeof C=="function"?C.apply(this,arguments):C,F=R.invert(D),P=typeof I=="function"?I.apply(this,arguments):I;return n(w(x(R,P),D,F),L,s)},C,N)},y.translateBy=function(M,I,C,N){y.transform(M,function(){return n(this.__zoom.translate(typeof I=="function"?I.apply(this,arguments):I,typeof C=="function"?C.apply(this,arguments):C),e.apply(this,arguments),s)},null,N)},y.translateTo=function(M,I,C,N,L){y.transform(M,function(){var R=e.apply(this,arguments),D=this.__zoom,F=N==null?b(R):typeof N=="function"?N.apply(this,arguments):N;return n(Au.translate(F[0],F[1]).scale(D.k).translate(typeof I=="function"?-I.apply(this,arguments):-I,typeof C=="function"?-C.apply(this,arguments):-C),R,s)},N,L)};function x(M,I){return I=Math.max(i[0],Math.min(i[1],I)),I===M.k?M:new Nn(I,M.x,M.y)}function w(M,I,C){var N=I[0]-C[0]*M.k,L=I[1]-C[1]*M.k;return N===M.x&&L===M.y?M:new Nn(M.k,N,L)}function b(M){return[(+M[0][0]+ +M[1][0])/2,(+M[0][1]+ +M[1][1])/2]}function _(M,I,C,N){M.on("start.zoom",function(){v(this,arguments).event(N).start()}).on("interrupt.zoom end.zoom",function(){v(this,arguments).event(N).end()}).tween("zoom",function(){var L=this,R=arguments,D=v(L,R).event(N),F=e.apply(L,R),P=C==null?b(F):typeof C=="function"?C.apply(L,R):C,V=Math.max(F[1][0]-F[0][0],F[1][1]-F[0][1]),J=L.__zoom,et=typeof I=="function"?I.apply(L,R):I,rt=c(J.invert(P).concat(V/J.k),et.invert(P).concat(V/et.k));return function(j){if(j===1)j=et;else{var nt=rt(j),z=V/nt[2];j=new Nn(z,P[0]-nt[0]*z,P[1]-nt[1]*z)}D.zoom(null,j)}})}function v(M,I,C){return!C&&M.__zooming||new A(M,I)}function A(M,I){this.that=M,this.args=I,this.active=0,this.sourceEvent=null,this.extent=e.apply(M,I),this.taps=0}A.prototype={event:function(M){return M&&(this.sourceEvent=M),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(M,I){return this.mouse&&M!=="mouse"&&(this.mouse[1]=I.invert(this.mouse[0])),this.touch0&&M!=="touch"&&(this.touch0[1]=I.invert(this.touch0[0])),this.touch1&&M!=="touch"&&(this.touch1[1]=I.invert(this.touch1[0])),this.that.__zoom=I,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(M){var I=bt(this.that).datum();f.call(M,this.that,new ow(M,{sourceEvent:this.sourceEvent,target:y,type:M,transform:this.that.__zoom,dispatch:f}),I)}};function T(M,...I){if(!t.apply(this,arguments))return;var C=v(this,I).event(M),N=this.__zoom,L=Math.max(i[0],Math.min(i[1],N.k*Math.pow(2,r.apply(this,arguments)))),R=Xe(M);if(C.wheel)(C.mouse[0][0]!==R[0]||C.mouse[0][1]!==R[1])&&(C.mouse[1]=N.invert(C.mouse[0]=R)),clearTimeout(C.wheel);else{if(N.k===L)return;C.mouse=[R,N.invert(R)],Cr(this),C.start()}_c(M),C.wheel=setTimeout(D,d),C.zoom("mouse",n(w(x(N,L),C.mouse[0],C.mouse[1]),C.extent,s));function D(){C.wheel=null,C.end()}}function E(M,...I){if(p||!t.apply(this,arguments))return;var C=M.currentTarget,N=v(this,I,!0).event(M),L=bt(M.view).on("mousemove.zoom",P,!0).on("mouseup.zoom",V,!0),R=Xe(M,C),D=M.clientX,F=M.clientY;el(M.view),gg(M),N.mouse=[R,this.__zoom.invert(R)],Cr(this),N.start();function P(J){if(_c(J),!N.moved){var et=J.clientX-D,rt=J.clientY-F;N.moved=et*et+rt*rt>m}N.event(J).zoom("mouse",n(w(N.that.__zoom,N.mouse[0]=Xe(J,C),N.mouse[1]),N.extent,s))}function V(J){L.on("mousemove.zoom mouseup.zoom",null),nl(J.view,N.moved),_c(J),N.event(J).end()}}function $(M,...I){if(t.apply(this,arguments)){var C=this.__zoom,N=Xe(M.changedTouches?M.changedTouches[0]:M,this),L=C.invert(N),R=C.k*(M.shiftKey?.5:2),D=n(w(x(C,R),N,L),e.apply(this,I),s);_c(M),a>0?bt(this).transition().duration(a).call(_,D,N,M):bt(this).call(y.transform,D,N,M)}}function S(M,...I){if(t.apply(this,arguments)){var C=M.touches,N=C.length,L=v(this,I,M.changedTouches.length===N).event(M),R,D,F,P;for(gg(M),D=0;D<N;++D)F=C[D],P=Xe(F,this),P=[P,this.__zoom.invert(P),F.identifier],L.touch0?!L.touch1&&L.touch0[2]!==P[2]&&(L.touch1=P,L.taps=0):(L.touch0=P,R=!0,L.taps=1+!!l);l&&(l=clearTimeout(l)),R&&(L.taps<2&&(u=P[0],l=setTimeout(function(){l=null},h)),Cr(this),L.start())}}function k(M,...I){if(this.__zooming){var C=v(this,I).event(M),N=M.changedTouches,L=N.length,R,D,F,P;for(_c(M),R=0;R<L;++R)D=N[R],F=Xe(D,this),C.touch0&&C.touch0[2]===D.identifier?C.touch0[0]=F:C.touch1&&C.touch1[2]===D.identifier&&(C.touch1[0]=F);if(D=C.that.__zoom,C.touch1){var V=C.touch0[0],J=C.touch0[1],et=C.touch1[0],rt=C.touch1[1],j=(j=et[0]-V[0])*j+(j=et[1]-V[1])*j,nt=(nt=rt[0]-J[0])*nt+(nt=rt[1]-J[1])*nt;D=x(D,Math.sqrt(j/nt)),F=[(V[0]+et[0])/2,(V[1]+et[1])/2],P=[(J[0]+rt[0])/2,(J[1]+rt[1])/2]}else if(C.touch0)F=C.touch0[0],P=C.touch0[1];else return;C.zoom("touch",n(w(D,F,P),C.extent,s))}}function O(M,...I){if(this.__zooming){var C=v(this,I).event(M),N=M.changedTouches,L=N.length,R,D;for(gg(M),p&&clearTimeout(p),p=setTimeout(function(){p=null},h),R=0;R<L;++R)D=N[R],C.touch0&&C.touch0[2]===D.identifier?delete C.touch0:C.touch1&&C.touch1[2]===D.identifier&&delete C.touch1;if(C.touch1&&!C.touch0&&(C.touch0=C.touch1,delete C.touch1),C.touch0)C.touch0[1]=this.__zoom.invert(C.touch0[0]);else if(C.end(),C.taps===2&&(D=Xe(D,this),Math.hypot(u[0]-D[0],u[1]-D[1])<g)){var F=bt(this).on("dblclick.zoom");F&&F.apply(this,arguments)}}}return y.wheelDelta=function(M){return arguments.length?(r=typeof M=="function"?M:Su(+M),y):r},y.filter=function(M){return arguments.length?(t=typeof M=="function"?M:Su(!!M),y):t},y.touchable=function(M){return arguments.length?(o=typeof M=="function"?M:Su(!!M),y):o},y.extent=function(M){return arguments.length?(e=typeof M=="function"?M:Su([[+M[0][0],+M[0][1]],[+M[1][0],+M[1][1]]]),y):e},y.scaleExtent=function(M){return arguments.length?(i[0]=+M[0],i[1]=+M[1],y):[i[0],i[1]]},y.translateExtent=function(M){return arguments.length?(s[0][0]=+M[0][0],s[1][0]=+M[1][0],s[0][1]=+M[0][1],s[1][1]=+M[1][1],y):[[s[0][0],s[0][1]],[s[1][0],s[1][1]]]},y.constrain=function(M){return arguments.length?(n=M,y):n},y.duration=function(M){return arguments.length?(a=+M,y):a},y.interpolate=function(M){return arguments.length?(c=M,y):c},y.on=function(){var M=f.on.apply(f,arguments);return M===f?y:M},y.clickDistance=function(M){return arguments.length?(m=(M=+M)*M,y):Math.sqrt(m)},y.tapDistance=function(M){return arguments.length?(g=+M,y):g},y}function Ht(t){return t!=null&&!Number.isNaN(t)}function Te(t,e){return+Ht(e)-+Ht(t)||ht(t,e)}function Ws(t,e){return+Ht(e)-+Ht(t)||en(t,e)}function Eu(t){return t!=null&&`${t}`!=""}function Mc(t){return isFinite(t)?t:NaN}function dn(t){return t>0&&isFinite(t)?t:NaN}function $i(t){return t<0&&isFinite(t)?t:NaN}function yg(t,e){if(t instanceof Date||(t=new Date(+t)),isNaN(t))return typeof e=="function"?e(t):e;let n=t.getUTCHours(),r=t.getUTCMinutes(),o=t.getUTCSeconds(),i=t.getUTCMilliseconds();return`${bD(t.getUTCFullYear(),4)}-${qo(t.getUTCMonth()+1,2)}-${qo(t.getUTCDate(),2)}${n||r||o||i?`T${qo(n,2)}:${qo(r,2)}${o||i?`:${qo(o,2)}${i?`.${qo(i,3)}`:""}`:""}Z`:""}`}function bD(t){return t<0?`-${qo(-t,6)}`:t>9999?`+${qo(t,6)}`:qo(t,4)}function qo(t,e){return`${t}`.padStart(e,"0")}var wD=/^(?:[-+]\d{2})?\d{4}(?:-\d{2}(?:-\d{2})?)?(?:T\d{2}:\d{2}(?::\d{2}(?:\.\d{3})?)?(?:Z|[-+]\d{2}:?\d{2})?)?$/;function Tu(t,e){return wD.test(t+="")?new Date(t):typeof e=="function"?e(t):e}function Bo(t){if(t==null)return;let e=t[0],n=t[t.length-1];return en(e,n)}var Ac=1e3,ki=Ac*60,Ni=ki*60,jr=Ni*24,Ur=jr*7,Hs=jr*30,Ci=jr*365,aw=[["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",Ac],["5 seconds",5*Ac],["15 seconds",15*Ac],["30 seconds",30*Ac],["minute",ki],["5 minutes",5*ki],["15 minutes",15*ki],["30 minutes",30*ki],["hour",Ni],["3 hours",3*Ni],["6 hours",6*Ni],["12 hours",12*Ni],["day",jr],["2 days",2*jr],["week",Ur],["2 weeks",2*Ur],["month",Hs],["3 months",3*Hs],["6 months",6*Hs],["year",Ci],["2 years",2*Ci],["5 years",5*Ci],["10 years",10*Ci],["20 years",20*Ci],["50 years",50*Ci],["100 years",100*Ci]],cw=new Map([["second",Ac],["minute",ki],["hour",Ni],["day",jr],["monday",Ur],["tuesday",Ur],["wednesday",Ur],["thursday",Ur],["friday",Ur],["saturday",Ur],["sunday",Ur],["week",Ur],["month",Hs],["year",Ci]]),C8=new Map([["second",Ae],["minute",ko],["hour",Oo],["day",Zn],["monday",Ti],["tuesday",Rm],["wednesday",Lm],["thursday",Br],["friday",Dm],["saturday",Fm],["sunday",Cn],["week",Cn],["month",Lo],["year",Qe]]),fw=new Map([["second",Ae],["minute",No],["hour",Ro],["day",js],["monday",Ii],["tuesday",Pm],["wednesday",qm],["thursday",zr],["friday",Bm],["saturday",zm],["sunday",kn],["week",kn],["month",Do],["year",Ze]]),Ec=Symbol("intervalDuration"),bg=Symbol("intervalType");for(let[t,e]of C8)e[Ec]=cw.get(t),e[bg]="time";for(let[t,e]of fw)e[Ec]=cw.get(t),e[bg]="utc";var Iu=[["year",Ze,"utc"],["month",Do,"utc"],["day",js,"utc",6*Hs],["hour",Ro,"utc",3*jr],["minute",No,"utc",6*Ni],["second",Ae,"utc",30*ki]],xg=[["year",Qe,"time"],["month",Lo,"time"],["day",Zn,"time",6*Hs],["hour",Oo,"time",3*jr],["minute",ko,"time",6*Ni],["second",Ae,"time",30*ki]],vD=[Iu[0],xg[0],Iu[1],xg[1],Iu[2],xg[2],...Iu.slice(3)];function wg(t){let e=`${t}`.toLowerCase();e.endsWith("s")&&(e=e.slice(0,-1));let n=1,r=/^(?:(\d+)\s+)/.exec(e);switch(r&&(e=e.slice(r[0].length),n=+r[1]),e){case"quarter":e="month",n*=3;break;case"half":e="month",n*=6;break}let o=fw.get(e);if(!o)throw new Error(`unknown interval: ${t}`);if(n>1&&!o.every)throw new Error(`non-periodic interval: ${e}`);return[e,n]}function $u(t){return k8(wg(t),"time")}function Qs(t){return k8(wg(t),"utc")}function k8([t,e],n){let r=(n==="time"?C8:fw).get(t);return e>1&&(r=r.every(e),r[Ec]=cw.get(t)*e,r[bg]=n),r}function lw(t,e){if(!(e>1))return;let n=t[Ec];if(!aw.some(([,o])=>o===n)||n%jr===0&&jr<n&&n<Hs)return;let[r]=aw[fr(([,o])=>Math.log(o)).center(aw,Math.log(n*e))];return(t[bg]==="time"?$u:Qs)(r)}function $8(t,e,n){let r=e==="time"?hc:Yr;if(n==null)return r(t==="year"?"%Y":t==="month"?"%Y-%m":t==="day"?"%Y-%m-%d":t==="hour"||t==="minute"?"%Y-%m-%dT%H:%M":t==="second"?"%Y-%m-%dT%H:%M:%S":"%Y-%m-%dT%H:%M:%S.%L");let o=_D(n);switch(t){case"millisecond":return Sc(r(".%L"),r(":%M:%S"),o);case"second":return Sc(r(":%S"),r("%-I:%M"),o);case"minute":return Sc(r("%-I:%M"),r("%p"),o);case"hour":return Sc(r("%-I %p"),r("%b %-d"),o);case"day":return Sc(r("%-d"),r("%b"),o);case"month":return Sc(r("%b"),r("%Y"),o);case"year":return r("%Y")}throw new Error("unable to format time ticks")}function _D(t){return t==="left"||t==="right"?(e,n)=>`
1
+ var XC=Object.create;var eb=Object.defineProperty;var WC=Object.getOwnPropertyDescriptor;var GC=Object.getOwnPropertyNames;var VC=Object.getPrototypeOf,HC=Object.prototype.hasOwnProperty;var Z3=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),QC=(t,e)=>{for(var n in e)eb(t,n,{get:e[n],enumerable:!0})},ZC=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of GC(e))!HC.call(t,o)&&o!==n&&eb(t,o,{get:()=>e[o],enumerable:!(r=WC(e,o))||r.enumerable});return t};var KC=(t,e,n)=>(n=t!=null?XC(VC(t)):{},ZC(e||!t||!t.__esModule?eb(n,"default",{value:t,enumerable:!0}):n,t));var MI=Z3((TIt,_I)=>{"use strict";function hY(t,e,n,r,o){for(var i=o+1;r<=o;){var s=r+o>>>1,a=t[s],c=n!==void 0?n(a,e):a-e;c>=0?(i=s,o=s-1):r=s+1}return i}function dY(t,e,n,r,o){for(var i=o+1;r<=o;){var s=r+o>>>1,a=t[s],c=n!==void 0?n(a,e):a-e;c>0?(i=s,o=s-1):r=s+1}return i}function mY(t,e,n,r,o){for(var i=r-1;r<=o;){var s=r+o>>>1,a=t[s],c=n!==void 0?n(a,e):a-e;c<0?(i=s,r=s+1):o=s-1}return i}function gY(t,e,n,r,o){for(var i=r-1;r<=o;){var s=r+o>>>1,a=t[s],c=n!==void 0?n(a,e):a-e;c<=0?(i=s,r=s+1):o=s-1}return i}function yY(t,e,n,r,o){for(;r<=o;){var i=r+o>>>1,s=t[i],a=n!==void 0?n(s,e):s-e;if(a===0)return i;a<=0?r=i+1:o=i-1}return-1}function jh(t,e,n,r,o,i){return typeof n=="function"?i(t,e,n,r===void 0?0:r|0,o===void 0?t.length-1:o|0):i(t,e,void 0,n===void 0?0:n|0,r===void 0?t.length-1:r|0)}_I.exports={ge:function(t,e,n,r,o){return jh(t,e,n,r,o,hY)},gt:function(t,e,n,r,o){return jh(t,e,n,r,o,dY)},lt:function(t,e,n,r,o){return jh(t,e,n,r,o,mY)},le:function(t,e,n,r,o){return jh(t,e,n,r,o,gY)},eq:function(t,e,n,r,o){return jh(t,e,n,r,o,yY)}}});var kI=Z3((IIt,NI)=>{"use strict";var N1=MI(),iu=0,tc=1,C1=2;NI.exports=bY;function p3(t,e,n,r,o){this.mid=t,this.left=e,this.right=n,this.leftPoints=r,this.rightPoints=o,this.count=(e?e.count:0)+(n?n.count:0)+r.length}var Xh=p3.prototype;function u3(t,e){t.mid=e.mid,t.left=e.left,t.right=e.right,t.leftPoints=e.leftPoints,t.rightPoints=e.rightPoints,t.count=e.count}function EI(t,e){var n=su(e);t.mid=n.mid,t.left=n.left,t.right=n.right,t.leftPoints=n.leftPoints,t.rightPoints=n.rightPoints,t.count=n.count}function SI(t,e){var n=t.intervals([]);n.push(e),EI(t,n)}function AI(t,e){var n=t.intervals([]),r=n.indexOf(e);return r<0?iu:(n.splice(r,1),EI(t,n),tc)}Xh.intervals=function(t){return t.push.apply(t,this.leftPoints),this.left&&this.left.intervals(t),this.right&&this.right.intervals(t),t};Xh.insert=function(t){var e=this.count-this.leftPoints.length;if(this.count+=1,t[1]<this.mid)this.left?4*(this.left.count+1)>3*(e+1)?SI(this,t):this.left.insert(t):this.left=su([t]);else if(t[0]>this.mid)this.right?4*(this.right.count+1)>3*(e+1)?SI(this,t):this.right.insert(t):this.right=su([t]);else{var n=N1.ge(this.leftPoints,t,h3),r=N1.ge(this.rightPoints,t,d3);this.leftPoints.splice(n,0,t),this.rightPoints.splice(r,0,t)}};Xh.remove=function(t){var e=this.count-this.leftPoints;if(t[1]<this.mid){if(!this.left)return iu;var n=this.right?this.right.count:0;if(4*n>3*(e-1))return AI(this,t);var r=this.left.remove(t);return r===C1?(this.left=null,this.count-=1,tc):(r===tc&&(this.count-=1),r)}else if(t[0]>this.mid){if(!this.right)return iu;var o=this.left?this.left.count:0;if(4*o>3*(e-1))return AI(this,t);var r=this.right.remove(t);return r===C1?(this.right=null,this.count-=1,tc):(r===tc&&(this.count-=1),r)}else{if(this.count===1)return this.leftPoints[0]===t?C1:iu;if(this.leftPoints.length===1&&this.leftPoints[0]===t){if(this.left&&this.right){for(var i=this,s=this.left;s.right;)i=s,s=s.right;if(i===this)s.right=this.right;else{var a=this.left,r=this.right;i.count-=s.count,i.right=s.left,s.left=a,s.right=r}u3(this,s),this.count=(this.left?this.left.count:0)+(this.right?this.right.count:0)+this.leftPoints.length}else this.left?u3(this,this.left):u3(this,this.right);return tc}for(var a=N1.ge(this.leftPoints,t,h3);a<this.leftPoints.length&&this.leftPoints[a][0]===t[0];++a)if(this.leftPoints[a]===t){this.count-=1,this.leftPoints.splice(a,1);for(var r=N1.ge(this.rightPoints,t,d3);r<this.rightPoints.length&&this.rightPoints[r][1]===t[1];++r)if(this.rightPoints[r]===t)return this.rightPoints.splice(r,1),tc}return iu}};function TI(t,e,n){for(var r=0;r<t.length&&t[r][0]<=e;++r){var o=n(t[r]);if(o)return o}}function II(t,e,n){for(var r=t.length-1;r>=0&&t[r][1]>=e;--r){var o=n(t[r]);if(o)return o}}function CI(t,e){for(var n=0;n<t.length;++n){var r=e(t[n]);if(r)return r}}Xh.queryPoint=function(t,e){if(t<this.mid){if(this.left){var n=this.left.queryPoint(t,e);if(n)return n}return TI(this.leftPoints,t,e)}else if(t>this.mid){if(this.right){var n=this.right.queryPoint(t,e);if(n)return n}return II(this.rightPoints,t,e)}else return CI(this.leftPoints,e)};Xh.queryInterval=function(t,e,n){if(t<this.mid&&this.left){var r=this.left.queryInterval(t,e,n);if(r)return r}if(e>this.mid&&this.right){var r=this.right.queryInterval(t,e,n);if(r)return r}return e<this.mid?TI(this.leftPoints,e,n):t>this.mid?II(this.rightPoints,t,n):CI(this.leftPoints,n)};function xY(t,e){return t-e}function h3(t,e){var n=t[0]-e[0];return n||t[1]-e[1]}function d3(t,e){var n=t[1]-e[1];return n||t[0]-e[0]}function su(t){if(t.length===0)return null;for(var e=[],n=0;n<t.length;++n)e.push(t[n][0],t[n][1]);e.sort(xY);for(var r=e[e.length>>1],o=[],i=[],s=[],n=0;n<t.length;++n){var a=t[n];a[1]<r?o.push(a):r<a[0]?i.push(a):s.push(a)}var c=s,f=s.slice();return c.sort(h3),f.sort(d3),new p3(r,su(o),su(i),c,f)}function l3(t){this.root=t}var au=l3.prototype;au.insert=function(t){this.root?this.root.insert(t):this.root=new p3(t[0],null,null,[t],[t])};au.remove=function(t){if(this.root){var e=this.root.remove(t);return e===C1&&(this.root=null),e!==iu}return!1};au.queryPoint=function(t,e){if(this.root)return this.root.queryPoint(t,e)};au.queryInterval=function(t,e,n){if(t<=e&&this.root)return this.root.queryInterval(t,e,n)};Object.defineProperty(au,"count",{get:function(){return this.root?this.root.count:0}});Object.defineProperty(au,"intervals",{get:function(){return this.root?this.root.intervals([]):[]}});function bY(t){return!t||t.length===0?new l3(null):new l3(su(t))}});var Li=Symbol("Fixed"),Ye=Symbol("Transient"),pu=Symbol("Transform");var K3={};function hu(t,e=!1){let n,r,o=K3;function i(f){n=t(f).catch(()=>{}).finally(()=>{if(r){let{value:u}=r;r=null,i(u)}else n=null})}function s(f){r={event:f}}function a(f){n?s(f):i(f)}function c(f){o!==f&&requestAnimationFrame(()=>{let u=o;o=K3,a(u)}),o=f}return e?c:a}var du=class{constructor(e){this._filterBy=e,this._requestUpdate=hu(()=>this.requestQuery(),!0),this._coordinator=null}get coordinator(){return this._coordinator}set coordinator(e){this._coordinator=e}get filterBy(){return this._filterBy}get filterStable(){return!0}fields(){return null}fieldInfo(e){return this}query(e){return null}queryPending(){return this}queryResult(e){return this}queryError(e){return this}requestQuery(e){let n=e||this.query(this.filterBy?.predicate(this));return this._coordinator.requestQuery(this,n)}requestUpdate(){this._requestUpdate()}initialize(){return this._coordinator.initializeClient(this)}update(){return this}};var mu=Uint8Array.of(65,82,82,79,87,49),or={V1:0,V2:1,V3:2,V4:3,V5:4};var ir={NONE:0,Schema:1,DictionaryBatch:2,RecordBatch:3,Tensor:4,SparseTensor:5},B={Dictionary:-1,NONE:0,Null:1,Int:2,Float:3,Binary:4,Utf8:5,Bool:6,Decimal:7,Date:8,Time:9,Timestamp:10,Interval:11,List:12,Struct:13,Union:14,FixedSizeBinary:15,FixedSizeList:16,Map:17,Duration:18,LargeBinary:19,LargeUtf8:20,LargeList:21,RunEndEncoded:22,BinaryView:23,Utf8View:24,ListView:25,LargeListView:26},ic={HALF:0,SINGLE:1,DOUBLE:2},Fo={DAY:0,MILLISECOND:1},Ce={SECOND:0,MILLISECOND:1,MICROSECOND:2,NANOSECOND:3},sr={YEAR_MONTH:0,DAY_TIME:1,MONTH_DAY_NANO:2},Po={Sparse:0,Dense:1};var sc=Uint8Array,ad=Uint16Array,cd=Uint32Array,fd=BigUint64Array,gu=Int8Array,J3=Int16Array,Ln=Int32Array,zn=BigInt64Array,nb=Float32Array,Oi=Float64Array;function t4(t,e){let n=Math.log2(t)-3;return(e?[gu,J3,Ln,zn]:[sc,ad,cd,fd])[n]}var tj=Object.getPrototypeOf(Int8Array);function ac(t,e){let n=0,r=t.length;if(r<=2147483648)do{let o=n+r>>>1;t[o]<=e?n=o+1:r=o}while(n<r);else do{let o=Math.trunc((n+r)/2);t[o]<=e?n=o+1:r=o}while(n<r);return n}function ud(t,e,n){if(e(t))return t;throw new Error(n(t))}function On(t,e,n){return e=Array.isArray(e)?e:Object.values(e),ud(t,r=>e.includes(r),n??(()=>`${t} must be one of ${e}`))}function ld(t,e){for(let[n,r]of Object.entries(t))if(r===e)return n;return"<Unknown>"}var qo=t=>`Unsupported data type: "${ld(B,t)}" (id ${t})`,yu=(t,e,n=!0,r=null)=>({name:t,type:e,nullable:n,metadata:r});function e4(t){return Object.hasOwn(t,"name")&&n4(t.type)}function n4(t){return typeof t?.typeId=="number"}function $i(t,e="",n=!0){return e4(t)?t:yu(e,ud(t,n4,()=>"Data type expected."),n)}var pd=(t,e,n=!1,r=-1)=>({typeId:B.Dictionary,id:r,dictionary:t,indices:e||cc(),ordered:n});var hd=(t=32,e=!0)=>({typeId:B.Int,bitWidth:On(t,[8,16,32,64]),signed:e,values:t4(t,e)});var cc=()=>hd(32);var rb=(t=2)=>({typeId:B.Float,precision:On(t,ic),values:[ad,nb,Oi][t]});var ob=()=>({typeId:B.Binary,offsets:Ln}),dd=()=>({typeId:B.Utf8,offsets:Ln});var ib=(t,e,n=128)=>({typeId:B.Decimal,precision:t,scale:e,bitWidth:On(n,[128,256]),values:fd}),sb=t=>({typeId:B.Date,unit:On(t,Fo),values:t===Fo.DAY?Ln:zn});var ab=(t=Ce.MILLISECOND,e=32)=>({typeId:B.Time,unit:On(t,Ce),bitWidth:On(e,[32,64]),values:e===32?Ln:zn});var md=(t=Ce.MILLISECOND,e=null)=>({typeId:B.Timestamp,unit:On(t,Ce),timezone:e,values:zn}),cb=(t=sr.MONTH_DAY_NANO)=>({typeId:B.Interval,unit:On(t,sr),values:t===sr.MONTH_DAY_NANO?void 0:Ln}),gd=t=>({typeId:B.List,children:[$i(t)],offsets:Ln}),yd=t=>({typeId:B.Struct,children:Array.isArray(t)&&e4(t[0])?t:Object.entries(t).map(([e,n])=>yu(e,n))}),fb=(t,e,n,r)=>(n??=e.map((o,i)=>i),{typeId:B.Union,mode:On(t,Po),typeIds:n,typeMap:n.reduce((o,i,s)=>(o[i]=s,o),{}),children:e.map((o,i)=>$i(o,`_${i}`)),typeIdForValue:r,offsets:Ln}),ub=t=>({typeId:B.FixedSizeBinary,stride:t}),xd=(t,e)=>({typeId:B.FixedSizeList,stride:e,children:[$i(t)]}),r4=(t,e)=>({typeId:B.Map,keysSorted:t,children:[e],offsets:Ln});var lb=(t=Ce.MILLISECOND)=>({typeId:B.Duration,unit:On(t,Ce),values:zn}),pb=()=>({typeId:B.LargeBinary,offsets:zn}),hb=()=>({typeId:B.LargeUtf8,offsets:zn}),db=t=>({typeId:B.LargeList,children:[$i(t)],offsets:zn}),mb=(t,e)=>({typeId:B.RunEndEncoded,children:[ud($i(t,"run_ends"),n=>n.type.typeId===B.Int,()=>"Run-ends must have an integer type."),$i(e,"values")]});var gb=t=>({typeId:B.ListView,children:[$i(t,"value")],offsets:Ln}),yb=t=>({typeId:B.LargeListView,children:[$i(t,"value")],offsets:zn});var JC=new Oi(2),bd=JC.buffer,fj=new zn(bd),uj=new cd(bd),lj=new Ln(bd),pj=new sc(bd);function jr(t){if(t>Number.MAX_SAFE_INTEGER||t<Number.MIN_SAFE_INTEGER)throw Error(`BigInt exceeds integer number representation: ${t}`);return Number(t)}function wd(t,e){return Number(t/e)+Number(t%e)/Number(e)}var fc=t=>BigInt.asUintN(64,t);function i4(t,e){let n=e<<1,r;return BigInt.asIntN(64,t[n+1])<0?(r=fc(~t[n])|fc(~t[n+1])<<64n,r=-(r+1n)):r=t[n]|t[n+1]<<64n,r}function s4(t,e){let n=e<<2,r;return BigInt.asIntN(64,t[n+3])<0?(r=fc(~t[n])|fc(~t[n+1])<<64n|fc(~t[n+2])<<128n|fc(~t[n+3])<<192n,r=-(r+1n)):r=t[n]|t[n+1]<<64n|t[n+2]<<128n|t[n+3]<<192n,r}var eN=new TextDecoder("utf-8"),yj=new TextEncoder;function uc(t){return eN.decode(t)}var Ps=4;function xb(t,e){return(t[e>>3]&1<<e%8)!==0}function tn(t,e){let n=e+Bt(t,e),r=n-Bt(t,n),o=Ue(t,r);return(i,s,a=null)=>{if(i<o){let c=Ue(t,r+i);if(c)return s(t,n+c)}return a}}function Mr(t,e){return e}function Di(t,e){return!!nN(t,e)}function nN(t,e){return xu(t,e)<<24>>24}function xu(t,e){return t[e]}function Ue(t,e){return rN(t,e)<<16>>16}function rN(t,e){return t[e]|t[e+1]<<8}function Bt(t,e){return t[e]|t[e+1]<<8|t[e+2]<<16|t[e+3]<<24}function a4(t,e){return Bt(t,e)>>>0}function Ne(t,e){return jr(BigInt.asIntN(64,BigInt(a4(t,e))+(BigInt(a4(t,e+Ps))<<32n)))}function qs(t,e){let n=e+Bt(t,e),r=Bt(t,n);return n+=Ps,uc(t.subarray(n,n+r))}function Yn(t,e,n,r){if(!e)return[];let o=e+Bt(t,e);return Array.from({length:Bt(t,o)},(i,s)=>r(t,o+Ps+s*n))}var bb=Symbol("rowIndex");function bu(t,e){class n{constructor(i){this[bb]=i}toJSON(){return c4(t,e,this[bb])}}let r=n.prototype;for(let o=0;o<t.length;++o){if(Object.hasOwn(r,t[o]))continue;let i=e[o];Object.defineProperty(r,t[o],{get(){return i.at(this[bb])},enumerable:!0})}return o=>new n(o)}function vd(t,e){return n=>c4(t,e,n)}function c4(t,e,n){let r={};for(let o=0;o<t.length;++o)r[t[o]]=e[o].at(n);return r}function f4(t){return t instanceof Fi}var Bs=class{static ArrayType=null;constructor({length:e,nullCount:n,type:r,validity:o,values:i,offsets:s,sizes:a,children:c}){this.length=e,this.nullCount=n,this.type=r,this.validity=o,this.values=i,this.offsets=s,this.sizes=a,this.children=c,(!n||!this.validity)&&(this.at=f=>this.value(f))}get[Symbol.toStringTag](){return"Batch"}at(e){return this.isValid(e)?this.value(e):null}isValid(e){return xb(this.validity,e)}value(e){return this.values[e]}slice(e,n){let r=n-e,o=Array(r);for(let i=0;i<r;++i)o[i]=this.at(e+i);return o}*[Symbol.iterator](){for(let e=0;e<this.length;++e)yield this.at(e)}},Fi=class extends Bs{constructor(e){super(e);let{length:n,values:r}=this;this.values=r.subarray(0,n)}slice(e,n){return this.nullCount?super.slice(e,n):this.values.subarray(e,n)}[Symbol.iterator](){return this.nullCount?super[Symbol.iterator]():this.values[Symbol.iterator]()}},wu=class extends Bs{static ArrayType=Oi},ee=class extends Bs{static ArrayType=Array},vu=class extends ee{value(e){return null}},Xr=class extends wu{value(e){return jr(this.values[e])}},_d=class extends wu{value(e){let n=this.values[e],r=(n&31744)>>10,o=(n&1023)/1024,i=(-1)**((n&32768)>>15);switch(r){case 31:return i*(o?Number.NaN:1/0);case 0:return i*(o?6103515625e-14*o:0)}return i*2**(r-15)*(1+o)}},Md=class extends ee{value(e){return xb(this.values,e)}},Sd=class extends Bs{constructor(e){super(e);let{bitWidth:n,scale:r}=this.type;this.decimal=n===128?i4:s4,this.scale=10n**BigInt(r)}},Ad=class extends Sd{static ArrayType=Oi;value(e){return wd(this.decimal(this.values,e),this.scale)}},Ed=class extends Sd{static ArrayType=Array;value(e){return this.decimal(this.values,e)}},_u=class extends ee{constructor(e){super(e),this.source=e}value(e){return new Date(this.source.value(e))}},Td=class extends wu{value(e){return 864e5*this.values[e]}},u4=Xr,Id=class extends Xr{value(e){return super.value(e)*1e3}},l4=Xr,Cd=class extends Xr{value(e){return wd(this.values[e],1000n)}},Nd=class extends Xr{value(e){return wd(this.values[e],1000000n)}},kd=class extends ee{value(e){return this.values.subarray(e<<1,e+1<<1)}},Rd=class extends ee{value(e){let n=this.values,r=e<<4;return Float64Array.of(Bt(n,r),Bt(n,r+4),Ne(n,r+8))}},p4=({values:t,offsets:e},n)=>t.subarray(e[n],e[n+1]),h4=({values:t,offsets:e},n)=>t.subarray(jr(e[n]),jr(e[n+1])),Ld=class extends ee{value(e){return p4(this,e)}},Od=class extends ee{value(e){return h4(this,e)}},$d=class extends ee{value(e){return uc(p4(this,e))}},Dd=class extends ee{value(e){return uc(h4(this,e))}},Fd=class extends ee{value(e){let n=this.offsets;return this.children[0].slice(n[e],n[e+1])}},Pd=class extends ee{value(e){let n=this.offsets;return this.children[0].slice(jr(n[e]),jr(n[e+1]))}},qd=class extends ee{value(e){let n=this.offsets[e],r=n+this.sizes[e];return this.children[0].slice(n,r)}},Bd=class extends ee{value(e){let n=this.offsets[e],r=n+this.sizes[e];return this.children[0].slice(jr(n),jr(r))}},zd=class extends ee{constructor(e){super(e),this.stride=this.type.stride}},Yd=class extends zd{value(e){let{stride:n,values:r}=this;return r.subarray(e*n,(e+1)*n)}},Ud=class extends zd{value(e){let{children:n,stride:r}=this;return n[0].slice(e*r,(e+1)*r)}};function d4({children:t,offsets:e},n){let[r,o]=t[0].children,i=e[n],s=e[n+1],a=[];for(let c=i;c<s;++c)a.push([r.at(c),o.at(c)]);return a}var jd=class extends ee{value(e){return d4(this,e)}},Xd=class extends ee{value(e){return new Map(d4(this,e))}},Mu=class extends ee{constructor({typeIds:e,...n}){super(n),this.typeIds=e,this.typeMap=this.type.typeMap}value(e,n=e){let{typeIds:r,children:o,typeMap:i}=this;return o[i[r[e]]].at(n)}},Wd=class extends Mu{value(e){return super.value(e,this.offsets[e])}},Su=class extends ee{constructor(e,n=vd){super(e),this.names=this.type.children.map(r=>r.name),this.factory=n(this.names,this.children)}value(e){return this.factory(e)}},Gd=class extends Su{constructor(e){super(e,bu)}},Vd=class extends ee{value(e){let[{values:n},r]=this.children;return r.at(ac(n,e))}},Hd=class extends ee{setDictionary(e){return this.dictionary=e,this.cache=e.cache(),this}value(e){return this.cache[this.key(e)]}key(e){return this.values[e]}},Qd=class extends ee{constructor({data:e,...n}){super(n),this.data=e}view(e){let{values:n,data:r}=this,o=e<<4,i=o+4,s=n,a=Bt(s,o);return a>12&&(i=Bt(s,o+12),s=r[Bt(s,o+8)]),s.subarray(i,i+a)}},Zd=class extends Qd{value(e){return this.view(e)}},Kd=class extends Qd{value(e){return uc(this.view(e))}};function wb(t){let e=[];return{add(n){return e.push(n),this},clear:()=>e=[],done:()=>new zs(e,t)}}var zs=class{constructor(e,n=e[0]?.type){this.type=n,this.length=e.reduce((i,s)=>i+s.length,0),this.nullCount=e.reduce((i,s)=>i+s.nullCount,0),this.data=e;let r=e.length,o=new Int32Array(r+1);if(r===1){let[i]=e;o[1]=i.length,this.at=s=>i.at(s)}else for(let i=0,s=0;i<r;++i)o[i+1]=s+=e[i].length;this.offsets=o}get[Symbol.toStringTag](){return"Column"}[Symbol.iterator](){let e=this.data;return e.length===1?e[0][Symbol.iterator]():oN(e)}at(e){let{data:n,offsets:r}=this,o=ac(r,e)-1;return n[o]?.at(e-r[o])}get(e){return this.at(e)}toArray(){let{length:e,nullCount:n,data:r}=this,o=!n&&f4(r[0]),i=r.length;if(o&&i===1)return r[0].values;let s=!i||n>0?Array:r[0].constructor.ArrayType??r[0].values.constructor,a=new s(e);return o?iN(a,r):sN(a,r)}cache(){return this._cache??(this._cache=this.toArray())}};function*oN(t){for(let e=0;e<t.length;++e){let n=t[e][Symbol.iterator]();for(let r=n.next();!r.done;r=n.next())yield r.value}}function iN(t,e){for(let n=0,r=0;n<e.length;++n){let{values:o}=e[n];t.set(o,r),r+=o.length}return t}function sN(t,e){let n=-1;for(let r=0;r<e.length;++r){let o=e[r];for(let i=0;i<o.length;++i)t[++n]=o.at(i)}return t}var lc=class t{constructor(e,n,r=!1){let o=e.fields.map(s=>s.name);this.schema=e,this.names=o,this.children=n,this.factory=r?bu:vd;let i=[];this.getFactory=s=>i[s]??(i[s]=this.factory(o,n.map(a=>a.data[s])))}get[Symbol.toStringTag](){return"Table"}get numCols(){return this.names.length}get numRows(){return this.children[0]?.length??0}getChildAt(e){return this.children[e]}getChild(e){let n=this.names.findIndex(r=>r===e);return n>-1?this.children[n]:void 0}selectAt(e,n=[]){let{children:r,factory:o,schema:i}=this,{fields:s}=i;return new t({...i,fields:e.map((a,c)=>aN(s[a],n[c]))},e.map(a=>r[a]),o===bu)}select(e,n){let r=this.names,o=e.map(i=>r.indexOf(i));return this.selectAt(o,n)}toColumns(){let{children:e,names:n}=this,r={};return n.forEach((o,i)=>r[o]=e[i]?.toArray()??[]),r}toArray(){let{children:e,getFactory:n,numRows:r}=this,o=e[0]?.data??[],i=Array(r);for(let s=0,a=-1;s<o.length;++s){let c=n(s);for(let f=0;f<o[s].length;++f)i[++a]=c(f)}return i}*[Symbol.iterator](){let{children:e,getFactory:n}=this,r=e[0]?.data??[];for(let o=0;o<r.length;++o){let i=n(o);for(let s=0;s<r[o].length;++s)yield i(s)}}at(e){let{children:n,getFactory:r,numRows:o}=this;if(e<0||e>=o)return null;let[{offsets:i}]=n,s=ac(i,e)-1;return r(s)(e-i[s])}get(e){return this.at(e)}};function aN(t,e){return e!=null&&e!==t.name?{...t,name:e}:t}function Au(t,e={}){let{typeId:n,bitWidth:r,precision:o,unit:i}=t,{useBigInt:s,useDate:a,useDecimalBigInt:c,useMap:f,useProxy:u}=e;switch(n){case B.Null:return vu;case B.Bool:return Md;case B.Int:case B.Time:case B.Duration:return s||r<64?Fi:Xr;case B.Float:return o?Fi:_d;case B.Date:return m4(i===Fo.DAY?Td:u4,a&&_u);case B.Timestamp:return m4(i===Ce.SECOND?Id:i===Ce.MILLISECOND?l4:i===Ce.MICROSECOND?Cd:Nd,a&&_u);case B.Decimal:return c?Ed:Ad;case B.Interval:return i===sr.DAY_TIME?kd:i===sr.YEAR_MONTH?Fi:Rd;case B.FixedSizeBinary:return Yd;case B.Utf8:return $d;case B.LargeUtf8:return Dd;case B.Binary:return Ld;case B.LargeBinary:return Od;case B.BinaryView:return Zd;case B.Utf8View:return Kd;case B.List:return Fd;case B.LargeList:return Pd;case B.Map:return f?Xd:jd;case B.ListView:return qd;case B.LargeListView:return Bd;case B.FixedSizeList:return Ud;case B.Struct:return u?Gd:Su;case B.RunEndEncoded:return Vd;case B.Dictionary:return Hd;case B.Union:return t.mode?Wd:Mu}throw new Error(qo(n))}function m4(t,e){return e?class extends e{constructor(r){super(new t(r))}}:t}function cN(t,e){return{offset:Ne(t,e),metadataLength:Bt(t,e+8),bodyLength:Ne(t,e+16)}}function vb(t,e){return Yn(t,e,24,cN)}function Jd(t,e,n){let r=tn(t,e);if(r(10,Mr,0))throw new Error("Record batch compression not implemented");let o=n<or.V4?8:0;return{length:r(4,Ne,0),nodes:Yn(t,r(6,Mr),16,(i,s)=>({length:Ne(i,s),nullCount:Ne(i,s+8)})),regions:Yn(t,r(8,Mr),16+o,(i,s)=>({offset:Ne(i,s+o),length:Ne(i,s+o+8)})),variadic:Yn(t,r(12,Mr),8,Ne)}}function g4(t,e,n){let r=tn(t,e);return{id:r(4,Ne,0),data:r(6,(o,i)=>Jd(o,i,n)),isDelta:r(8,Di,!1)}}function _b(t,e,n,r){On(n,B,qo);let o=tn(t,e);switch(n){case B.Binary:return ob();case B.Utf8:return dd();case B.LargeBinary:return pb();case B.LargeUtf8:return hb();case B.List:return gd(r[0]);case B.ListView:return gb(r[0]);case B.LargeList:return db(r[0]);case B.LargeListView:return yb(r[0]);case B.Struct:return yd(r);case B.RunEndEncoded:return mb(r[0],r[1]);case B.Int:return hd(o(4,Bt,0),o(6,Di,!1));case B.Float:return rb(o(4,Ue,ic.HALF));case B.Decimal:return ib(o(4,Bt,0),o(6,Bt,0),o(8,Bt,128));case B.Date:return sb(o(4,Ue,Fo.MILLISECOND));case B.Time:return ab(o(4,Ue,Ce.MILLISECOND),o(6,Bt,32));case B.Timestamp:return md(o(4,Ue,Ce.SECOND),o(6,qs));case B.Interval:return cb(o(4,Ue,sr.YEAR_MONTH));case B.Duration:return lb(o(4,Ue,Ce.MILLISECOND));case B.FixedSizeBinary:return ub(o(4,Bt,0));case B.FixedSizeList:return xd(r[0],o(4,Bt,0));case B.Map:return r4(o(4,Di,!1),r[0]);case B.Union:return fb(o(4,Ue,Po.Sparse),r,Yn(t,o(6,Mr),4,Bt))}return{typeId:n}}function Eu(t,e){let n=Yn(t,e,4,(r,o)=>{let i=tn(r,o);return[i(4,qs),i(6,qs)]});return n.length?new Map(n):null}function tm(t,e,n){let r=tn(t,e);return{version:n,endianness:r(4,Ue,0),fields:r(6,fN,[]),metadata:r(8,Eu)}}function fN(t,e){return Yn(t,e,4,y4)}function y4(t,e){let n=tn(t,e),r=n(8,xu,B.NONE),o=n(10,Mr,0),i=n(12,lN),s=n(14,(c,f)=>uN(c,f)),a=_b(t,o,r,s);return i&&(i.dictionary=a,a=i),{name:n(4,qs),type:a,nullable:n(6,Di,!1),metadata:n(16,Eu)}}function uN(t,e){let n=Yn(t,e,4,y4);return n.length?n:null}function lN(t,e){if(!e)return null;let n=tn(t,e);return pd(null,n(6,pN,cc()),n(8,Di,!1),n(4,Ne,0))}function pN(t,e){return _b(t,e,B.Int)}var hN=(t,e)=>`Expected to read ${t} metadata bytes, but only read ${e}.`,dN=(t,e)=>`Expected to read ${t} bytes for message body, but only read ${e}.`,mN=t=>`Unsupported message type: ${t} (${ld(ir,t)})`;function em(t,e){let n=Bt(t,e)||0;if(e+=Ps,n===-1&&(n=Bt(t,e)||0,e+=Ps),n===0)return null;let r=t.subarray(e,e+=n);if(r.byteLength<n)throw new Error(hN(n,r.byteLength));let o=tn(r,0),i=o(4,Ue,or.V1),s=o(6,xu,ir.NONE),a=o(8,Mr,0),c=o(10,Ne,0),f;if(a){let u=s===ir.Schema?tm:s===ir.DictionaryBatch?g4:s===ir.RecordBatch?Jd:null;if(!u)throw new Error(mN(s));if(f=u(r,a,i),c>0){let p=t.subarray(e,e+=c);if(p.byteLength<c)throw new Error(dN(c,p.byteLength));f.body=p}}return{version:i,type:s,index:e,content:f}}function x4(t){let e=t instanceof ArrayBuffer?new Uint8Array(t):t;return e instanceof Uint8Array&&gN(e)?xN(e):yN(e)}function gN(t){if(!t||t.length<4)return!1;for(let e=0;e<6;++e)if(mu[e]!==t[e])return!1;return!0}function yN(t){let e=[t].flat(),n,r=[],o=[];for(let i of e){if(!(i instanceof Uint8Array))throw new Error("IPC data batch was not a Uint8Array.");let s=0;for(;;){let a=em(i,s);if(a===null)break;if(s=a.index,!!a.content)switch(a.type){case ir.Schema:n||(n=a.content);break;case ir.RecordBatch:r.push(a.content);break;case ir.DictionaryBatch:o.push(a.content);break}}}return{schema:n,dictionaries:o,records:r,metadata:null}}function xN(t){let e=t.byteLength-(mu.length+4),n=Bt(t,e),r=tn(t,e-n),o=r(4,Ue,or.V1),i=r(8,vb,[]),s=r(10,vb,[]);return{schema:r(6,(a,c)=>tm(a,c,o)),dictionaries:i.map(({offset:a})=>em(t,a).content),records:s.map(({offset:a})=>em(t,a).content),metadata:r(12,Eu)}}function Sb(t,e){return bN(x4(t),e)}function bN(t,e={}){let{schema:n={fields:[]},dictionaries:r,records:o}=t,{version:i,fields:s}=n,a=new Map,c=vN(e,i,a),f=new Map;wN(n,l=>{let h=l.type;h.typeId===B.Dictionary&&f.set(h.id,h.dictionary)});let u=new Map;for(let l of r){let{id:h,data:d,isDelta:m,body:g}=l,y=f.get(h),x=Mb(y,c({...d,body:g}));if(u.has(h)){let b=u.get(h);m||b.clear(),b.add(x)}else{if(m)throw new Error("Delta update can not be first dictionary batch.");u.set(h,wb(y).add(x))}}u.forEach((l,h)=>a.set(h,l.done()));let p=s.map(l=>wb(l.type));for(let l of o){let h=c(l);s.forEach((d,m)=>p[m].add(Mb(d.type,h)))}return new lc(n,p.map(l=>l.done()),e.useProxy)}function wN(t,e){t.fields.forEach(function n(r){e(r),r.type.dictionary?.children?.forEach(n),r.type.children?.forEach(n)})}function vN(t,e,n){let r={version:e,options:t,dictionary:o=>n.get(o)};return o=>{let{length:i,nodes:s,regions:a,variadic:c,body:f}=o,u=-1,p=-1,l=-1;return{...r,length:i,node:()=>s[++u],buffer:h=>{let{length:d,offset:m}=a[++p];return h?new h(f.buffer,f.byteOffset+m,d/h.BYTES_PER_ELEMENT):f.subarray(m,m+d)},variadic:()=>c[++l],visit(h){return h.map(d=>Mb(d.type,this))}}}}function Mb(t,e){let{typeId:n}=t,{length:r,options:o,node:i,buffer:s,variadic:a,version:c}=e,f=Au(t,o);if(n===B.Null)return new f({length:r,nullCount:r,type:t});let u={...i(),type:t};switch(n){case B.Bool:case B.Int:case B.Time:case B.Duration:case B.Float:case B.Decimal:case B.Date:case B.Timestamp:case B.Interval:case B.FixedSizeBinary:return new f({...u,validity:s(),values:s(t.values)});case B.Utf8:case B.LargeUtf8:case B.Binary:case B.LargeBinary:return new f({...u,validity:s(),offsets:s(t.offsets),values:s()});case B.BinaryView:case B.Utf8View:return new f({...u,validity:s(),values:s(),data:Array.from({length:a()},()=>s())});case B.List:case B.LargeList:case B.Map:return new f({...u,validity:s(),offsets:s(t.offsets),children:e.visit(t.children)});case B.ListView:case B.LargeListView:return new f({...u,validity:s(),offsets:s(t.offsets),sizes:s(t.offsets),children:e.visit(t.children)});case B.FixedSizeList:case B.Struct:return new f({...u,validity:s(),children:e.visit(t.children)});case B.RunEndEncoded:return new f({...u,children:e.visit(t.children)});case B.Dictionary:{let{id:p,indices:l}=t;return new f({...u,validity:s(),values:s(l.values)}).setDictionary(e.dictionary(p))}case B.Union:return c<or.V5&&s(),new f({...u,typeIds:s(gu),offsets:t.mode===Po.Sparse?null:s(t.offsets),children:e.visit(t.children)});default:throw new Error(qo(n))}}var WX=new Uint16Array(new Uint8Array([1,0]).buffer)[0]===1;function Tu(t){return Sb(t,{useDate:!0})}function Ab(t="ws://localhost:3000/"){let e=[],n=!1,r=null,o,i={open(){n=!0,c()},close(){for(n=!1,r=null,o=null;e.length;)e.shift().reject("Socket closed")},error(f){if(r){let{reject:u}=r;r=null,c(),u(f)}else console.error("WebSocket error: ",f)},message({data:f}){if(r){let{query:u,resolve:p,reject:l}=r;if(r=null,c(),typeof f=="string"){let h=JSON.parse(f);h.error?l(h.error):p(h)}else if(u.type==="exec")p();else if(u.type==="arrow")p(Tu(f));else throw new Error(`Unexpected socket data: ${f}`)}else console.log("WebSocket message: ",f)}};function s(){o=new WebSocket(t),o.binaryType="arraybuffer";for(let f in i)o.addEventListener(f,i[f])}function a(f,u,p){o==null&&s(),e.push({query:f,resolve:u,reject:p}),n&&!r&&c()}function c(){e.length&&(r=e.shift(),o.send(JSON.stringify(r.query)))}return{get connected(){return n},query(f){return new Promise((u,p)=>a(f,u,p))}}}var pc="COLUMN_REF",nm="COLUMN_PARAM",A4="TABLE_REF",E4="LITERAL",T4="INTERVAL",rm="ORDER_BY",om="CAST",im="CASE",sm="WHEN",Eb="UNARY",I4="UNARY_POSTFIX",am="BINARY",cm="BETWEEN",fm="NOT_BETWEEN",um="LOGICAL_OPERATOR",lm="IN",pm="FUNCTION",Us="AGGREGATE",hc="WINDOW",hm="WINDOW_DEF",dm="WINDOW_FRAME",C4="EXPRESSION",dc="FRAGMENT",mm="VERBATIM",mc="PARAM",N4="WITH_CLAUSE",gm="SELECT_CLAUSE",ym="FROM_CLAUSE";var k4="SAMPLE_CLAUSE";var xm="WINDOW_CLAUSE";var bm="SELECT_QUERY",wm="DESCRIBE_QUERY",vm="SET_OPERATION";function en(t){return t instanceof fe}var fe=class{constructor(e){this.type=e}},xt=class extends fe{};var js=class extends xt{constructor(e){super(E4),this.value=e}toString(){return Tb(this.value)}};function Tb(t){switch(typeof t){case"number":return Number.isFinite(t)?`${t}`:"NULL";case"string":return`'${t.replace("'","''")}'`;case"boolean":return t?"TRUE":"FALSE";default:if(t==null)return"NULL";if(t instanceof Date){let e=+t;if(Number.isNaN(e))return"NULL";let n=t.getUTCFullYear(),r=t.getUTCMonth(),o=t.getUTCDate();return e===Date.UTC(n,r,o)?`DATE '${n}-${r+1}-${o}'`:`epoch_ms(${e})`}else return t instanceof RegExp?`'${t.source}'`:`${t}`}}var Sr=class extends xt{constructor(e){super(mc),this.param=e}get value(){return this.param.value}toString(){return Tb(this.value)}};function Ib(t){return t.split(".")}function Ar(t){return`"${t}"`}function _m(t){return t&&jN(t)?t.slice(1,-1):t}function jN(t){return t[0]==='"'&&t[t.length-1]==='"'}function Pi(t){return t instanceof gc}var gc=class extends xt{constructor(e){super(A4),this.table=[e].flat()}get name(){return this.table[this.table.length-1]}toString(){return this.table.map(e=>Ar(e)).join(".")}};var Xs=class extends xt{constructor(e,n=[]){super(pm),this.name=e,this.args=n}toString(){let{name:e,args:n}=this;return`${e}(${n.join(", ")})`}};function je(t,...e){return new Xs(t,Mm(e).map(Tt))}function nn(t,...e){return new Cu(t,Mm(e).map(Tt))}function R4(t,...e){return new Ws(new Iu(t,Mm(e).map(Tt)))}function $n(t,e=Tt){return t.flat().filter(n=>n!=null).map(n=>e(n))}function Mm(t){let e=t.length,n=e;for(;n>0&&t[n-1]===void 0;--n);return n<e?t.slice(0,n):t}function ar(t){return typeof t=="string"}function Nu(t){return Array.isArray(t)}function Er(t){return t&&typeof t.addEventListener=="function"&&t.dynamic!==!1&&"value"in t}var Ru=class extends fe{constructor(e,n){super(xm),this.name=e,this.def=n}toString(){return`${Ar(this.name)} AS ${this.def}`}},Ws=class t extends xt{constructor(e,n=new Gs){super(hc),this.func=e,this.def=n}over(e){return new t(this.func,this.def.over(e))}partitionby(...e){return new t(this.func,this.def.partitionby(...e))}orderby(...e){return new t(this.func,this.def.orderby(...e))}rows(e){return new t(this.func,this.def.rows(e))}range(e){return new t(this.func,this.def.range(e))}toString(){return`${this.func} OVER ${this.def}`}},Iu=class extends Xs{constructor(e,n){super(e,n)}},Gs=class extends fe{constructor(e,n,r,o){super(hm),this.name=e,this.partition=n,this.order=r,this.frame=o}over(e){return ku(this,{name:e})}partitionby(...e){return ku(this,{partition:$n(e)})}orderby(...e){return ku(this,{order:$n(e)})}rows(e){return ku(this,{frame:new Lu(e)})}range(e){return ku(this,{frame:new Lu(e,!0)})}toString(){let{name:e,partition:n,order:r,frame:o}=this,i=e&&Ar(e),s=[i,n?.length&&`PARTITION BY ${n.join(", ")}`,r?.length&&`ORDER BY ${r.join(", ")}`,o].filter(a=>a);return i&&s.length<2?i:`(${s.join(" ")})`}},Lu=class extends fe{constructor(e,n=!1,r=void 0){super(dm),this.extent=Er(e)?new Sr(e):e,this.range=n,this.exclude=r}toString(){let{range:e,exclude:n,extent:r}=this,o=e?"RANGE":"ROWS",[i,s]=en(r)?r.value:r,a=L4(i,"PRECEDING"),c=L4(s,"FOLLOWING");return`${o} BETWEEN ${a} AND ${c}${n?` ${n}`:""}`}};function ku(t,e){return new Gs(e.name??t.name,e.partition??t.partition,e.order??t.order,e.frame??t.frame)}function L4(t,e){return t===0?"CURRENT ROW":Number.isFinite(t)?`${Math.abs(t)} ${e}`:`UNBOUNDED ${e}`}function qi(t){return t instanceof zo}var zo=class extends xt{constructor(e,n){super(e),this.table=n}get column(){return null}toString(){let{column:e,table:n}=this,r=`${n??""}`,o=e==="*"?"*":Ar(e);return(r?r+".":"")+o}},Ou=class extends zo{constructor(e,n){super(pc,n),this.name=e}get column(){return this.name}};var $u=class extends zo{constructor(e,n){super(nm,n),this.param=e}get column(){return`${this.param.value}`}};function Du(t,e){let n=Vs(e);return Er(t)?new $u(new Sr(t),n):new Ou(t,n)}var Hs=class extends xt{constructor(e){super(mm),this.value=e}toString(){return this.value}};function mn(t){return new js(t)}function O4(t){return new Hs(t)}function Sm(...t){let e=$n(t,String);return e?.length?new gc(e):void 0}function Tt(t){return ar(t)?XN(t):Fu(t)}function Qs(t){return ar(t)?O4(t):Fu(t)}function Fu(t){return t instanceof xt?t:Er(t)?new Sr(t):mn(t)}function Vs(t){return ar(t)?WN(t):Nu(t)?Sm(t):t}function XN(t){let e=Ib(t);return Du(e.pop(),Sm(e))}function WN(t){return Sm(Ib(t))}function Cb(){return new Gs}var Cu=class t extends xt{constructor(e,n,r,o){super(Us),this.name=e,this.args=n,this.isDistinct=r,this.filter=o}distinct(e=!0){return new t(this.name,this.args,e,this.filter)}where(e){return ar(e)&&(e=Qs(e)),new t(this.name,this.args,this.isDistinct,e)}window(){return new Ws(this)}partitionby(...e){return this.window().partitionby(...e)}orderby(...e){return this.window().orderby(...e)}toString(){let{name:e,args:n,isDistinct:r,filter:o}=this,i=r?"DISTINCT ":"",s=n?.length?n.join(", "):"*",a=o?` FILTER (WHERE ${o})`:"";return`${e}(${i}${s})${a}`}},$4=["any_value","approx_count_distinct","approx_quantile","arbitrary","arg_max","arg_max_null","arg_min","arg_min_null","array_agg","avg","bit_and","bit_or","bit_xor","bitstring_agg","bool_and","bool_or","corr","count","covar_pop","covar_samp","entropy","favg","first","fsum","geomean","kurtosis_pop","kurtosis","last","mad","max","max_by","median","min","min_by","mode","product","quantile","quantile_cont","quantile_disc","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_sxx","regr_sxy","regr_syy","regr_slope","reservoir_quantile","skewness","stddev","stddev_pop","stddev_samp","string_agg","sum","variance","var_pop","var_samp"];var Am=class extends xt{constructor(e,n,r){super(e),this.expr=n,this.extent=r}toSQL(e){let{extent:n,expr:r}=this;return n?`(${r} ${e} ${n[0]} AND ${n[1]})`:""}},Zs=class extends Am{constructor(e,n){super(cm,e,n)}toString(){return super.toSQL("BETWEEN")}},Pu=class extends Am{constructor(e,n){super(fm,e,n)}toString(){return super.toSQL("NOT BETWEEN")}};var qu=class extends xt{constructor(e,n,r){super(am),this.op=e,this.left=n,this.right=r}toString(){return`(${this.left} ${this.op} ${this.right})`}};var yc=class t extends xt{constructor(e=void 0,n=[],r=void 0){super(im),this.expr=e,this._when=n,this._else=r}when(e,n){return new t(this.expr,this._when.concat(new xc(Tt(e),Tt(n))),this._else)}else(e){return new t(this.expr,this._when,Tt(e))}toString(){return"CASE "+(this.expr?`${this.expr} `:"")+this._when.join(" ")+(this._else?` ELSE ${this._else}`:"")+" END"}},xc=class extends fe{constructor(e,n){super(sm),this.when=e,this.then=n}toString(){return`WHEN ${this.when} THEN ${this.then}`}};var Bu=class extends xt{constructor(e,n){super(om),this.expr=e,this.cast=n}toString(){return`(${this.expr})::${this.cast}`}};var zu=class extends xt{constructor(e){super(dc),this.spans=e}toString(){return this.spans.join("")}};var Yu=class extends fe{constructor(e,n=!1,r=void 0,o=void 0){super(k4),this.size=e,this.perc=n,this.method=r,this.seed=o}toString(){let{size:e,perc:n,method:r,seed:o}=this,i=n?"%":" ROWS",s=o!=null?`, ${o}`:"";return`${e}${i}${r?` (${r}${s})`:""}`}};var Uu=class extends fe{constructor(e,n){super(gm),this.expr=e,this.alias=n}toString(){let{expr:e,alias:n}=this;return!n||GN(e,n)?`${e}`:`${e} AS ${Ar(n)}`}};function GN(t,e){return t instanceof zo&&t.table==null&&t.column===e}var ju=class extends fe{constructor(e,n){super(N4),this.name=e,this.query=n}toString(){return`"${this.name}" AS (${this.query})`}};function Em(t){return t instanceof yt}function Bi(t){return t instanceof Js}function Nb(t){return t instanceof Xu}var yt=class extends xt{static select(...e){return new Js().select(...e)}static from(...e){return new Js().from(...e)}static with(...e){return new Js().with(...e)}static union(...e){return new Ks("UNION",e.flat())}static unionAll(...e){return new Ks("UNION ALL",e.flat())}static intersect(...e){return new Ks("INTERSECT",e.flat())}static except(...e){return new Ks("EXCEPT",e.flat())}static describe(e){return new Xu(e)}constructor(e){super(e),this._orderby=[],this._limit=void 0,this._offset=void 0,this.cteFor=null}get subqueries(){return[]}clone(){return this}orderby(...e){return this._orderby=this._orderby.concat($n(e)),this}limit(e){return this._limit=Number.isFinite(e)?e:void 0,this}offset(e){return this._offset=Number.isFinite(e)?e:void 0,this}},Js=class t extends yt{constructor(){super(bm),this._with=[],this._select=[],this._from=[],this._where=[],this._sample=void 0,this._groupby=[],this._having=[],this._window=[],this._qualify=[]}get subqueries(){let e=this.cteFor||this,r=(e instanceof t?e._with:[]).reduce((i,s)=>(i[s.name]=s.query,i),{}),o=[];return this._from.forEach(({expr:i})=>{if(Em(i))o.push(i);else if(Pi(i)){let s=r[i.name];s&&o.push(s)}}),o}clone(){return Object.assign(new t,this)}with(...e){let n=[],r=(o,i)=>{let s=i.clone();s.cteFor=this,n.push(new ju(o,s))};return e.flat().forEach(o=>{if(o!=null)for(let i in o)r(i,o[i])}),this._with=this._with.concat(n),this}select(...e){let n=[],r=(i,s)=>n.push(new Uu(i==null?i:Tt(i),_m(s)));e.flat().forEach(i=>{if(i!=null)if(ar(i))r(i,i);else if(qi(i))r(i,i.column);else if(Nu(i))r(i[1],i[0]);else for(let s in i)r(i[s],s)});let o=new Set(n.map(i=>i.alias));return this._select=this._select.filter(i=>!o.has(i.alias)).concat(n.filter(i=>i.expr)),this}setSelect(...e){return this._select=[],this.select(...e)}distinct(e=!0){return this._distinct=!!e,this}from(...e){let n=[],r=(o,i)=>n.push(new Wu(Vs(o),_m(i)));return e.flat().forEach(o=>{if(o!=null)if(ar(o))r(o,o);else if(Pi(o))r(o,o.name);else if(en(o))r(o);else if(Nu(o))r(o[1],o[0]);else for(let i in o)r(o[i],i)}),this._from=this._from.concat(n),this}setFrom(...e){return this._from=[],this.from(...e)}sample(e,n,r){let o;if(typeof e=="number"){let i=e>0&&e<1,s=i?e*100:Math.floor(e);o=new Yu(s,i,n,r)}else o=e;return this._sample=o,this}where(...e){return this._where=this._where.concat($n(e,Qs)),this}setWhere(...e){return this._where=[],this.where(...e)}groupby(...e){return this._groupby=this._groupby.concat($n(e)),this}setGroupby(...e){return this._groupby=[],this.groupby(...e)}having(...e){return this._having=this._having.concat($n(e,Qs)),this}window(...e){let n=[];return e.flat().forEach(r=>{if(r!=null)for(let o in r)n.push(new Ru(_m(o),r[o]))}),this._window=this._window.concat(n),this}qualify(...e){return this._qualify=this._qualify.concat($n(e,Qs)),this}toString(){let{_with:e,_select:n,_distinct:r,_from:o,_sample:i,_where:s,_groupby:a,_having:c,_window:f,_qualify:u,_orderby:p,_limit:l,_offset:h}=this,d=[];if(e.length&&d.push(`WITH ${e.join(", ")}`),d.push(`SELECT${r?" DISTINCT":""} ${n.join(", ")}`),o.length&&d.push(`FROM ${o.join(", ")}`),s.length){let m=s.map(String).filter(g=>g).join(" AND ");m&&d.push(`WHERE ${m}`)}if(i&&d.push(`USING SAMPLE ${i}`),a.length&&d.push(`GROUP BY ${a.join(", ")}`),c.length){let m=c.map(String).filter(g=>g).join(" AND ");m&&d.push(`HAVING ${m}`)}if(f.length&&d.push(`WINDOW ${f.join(", ")}`),u.length){let m=u.map(String).filter(g=>g).join(" AND ");m&&d.push(`QUALIFY ${m}`)}return p.length&&d.push(`ORDER BY ${p.join(", ")}`),Number.isFinite(l)&&d.push(`LIMIT ${l}`),Number.isFinite(h)&&d.push(`OFFSET ${h}`),d.join(" ")}},Xu=class t extends fe{constructor(e){super(wm),this.query=e}clone(){return new t(this.query.clone())}toString(){return`DESCRIBE ${this.query}`}},Ks=class t extends yt{constructor(e,n){super(vm),this.op=e,this.queries=n}get subqueries(){let{queries:e,cteFor:n}=this;return n&&e.forEach(r=>r.cteFor=n),e}clone(){let{op:e,queries:n,...r}=this;return Object.assign(new t(e,n),r)}toString(){let{op:e,queries:n,_orderby:r,_limit:o,_offset:i}=this,s=[n.join(` ${e} `)];return r.length&&s.push(`ORDER BY ${r.join(", ")}`),Number.isFinite(o)&&s.push(`LIMIT ${o}`),Number.isFinite(i)&&s.push(`OFFSET ${i}`),s.join(" ")}};var Wu=class extends fe{constructor(e,n){super(ym),this.expr=e,this.alias=n}toString(){let{expr:e,alias:n}=this,r=Em(e)?`(${e})`:`${e}`;return n&&!(Pi(e)&&e.table.join(".")===n)?`${r} AS ${Ar(n)}`:`${r}`}};var Gu=class extends xt{constructor(e,n){super(lm),this.expr=e,this.values=n}toString(){return`(${this.expr} IN (${this.values.join(", ")}))`}};var Vu=class extends xt{constructor(e,n=1){super(T4),this.name=e,this.steps=n}toString(){return`INTERVAL ${this.steps} ${this.name}`}};var Tm=class extends xt{constructor(e,n){super(um),this.op=e,this.clauses=n}toString(){let e=this.clauses;return e.length===0?"":e.length===1?`${e[0]}`:`(${e.join(` ${this.op} `)})`}},Hu=class extends Tm{constructor(e){super("AND",e)}},Qu=class extends Tm{constructor(e){super("OR",e)}};var Zu=class extends xt{constructor(e,n,r){super(rm),this.expr=e,this.desc=n,this.nullsFirst=r}toString(){let{expr:e,desc:n,nullsFirst:r}=this;return`${e}${n?" DESC":n===!1?" ASC":""}${r?" NULLS FIRST":r===!1?" NULLS LAST":""}`}};var kb=class extends xt{constructor(e,n,r){super(e),this.op=n,this.expr=r}};var Ku=class extends kb{constructor(e,n){super(I4,e,n)}toString(){return`(${this.expr} ${this.op})`}};function bc(t,e){return nn("arg_max",t,e)}function wc(t,e){return nn("arg_min",t,e)}function Rb(t){return nn("avg",t)}function rn(t){return nn("count",t)}function Un(t){return nn("max",t)}function Wr(t){return nn("min",t)}function Ju(t,e){return nn("regr_avgx",t,e)}function Lb(t,e){return nn("regr_avgy",t,e)}function tl(t,e){return nn("regr_count",t,e)}function Ob(t,e){return nn("regr_intercept",t,e)}function $b(t,e){return nn("regr_sxx",t,e)}function Db(t,e){return nn("regr_syy",t,e)}function Fb(t,e){return nn("regr_slope",t,e)}function Pb(t){return nn("stddev",t)}function zt(t){return nn("sum",t)}function Yo(t,e,n){return t?new yc(void 0,[new xc(Tt(t),Tt(e))],Tt(n)):new yc}function qb(t,e){return new Bu(Tt(t),e)}function Ht(t){return qb(t,"INTEGER")}function de(t){return qb(t,"DOUBLE")}function Im(t,e){return new Vu(t,e)}function Bb(t){return je("epoch_ms",t)}function zb(t,e,n=1){return je("time_bucket",Im(e,n),t)}function Yb(...t){return je("greatest",...t)}function Cm(t){return je("exp",t)}function Ub(t){return je("log",t)}function vc(t){return je("ln",t)}function Tr(t){return je("sign",t)}function ke(t){return je("abs",t)}function Uo(t){return je("sqrt",t)}function jb(t){return je("ceil",t)}function Re(t){return je("floor",t)}function jo(t,e){return je("round",t,e)}function D4(t,e){return new Ku(t,Tt(e))}function Ir(t,e,n){return new qu(t,Tt(e),Tt(n))}function HN(t,e,n=!1){let r=n?Pu:Zs;return new r(Tt(t),e?.map(Tt))}function Dn(...t){return new Hu($n(t))}function Gr(...t){return new Qu($n(t))}function el(t){return D4("IS NULL",t)}function Vr(t){return D4("IS NOT NULL",t)}function nl(t,e){return Ir("&",t,e)}function Nt(t,e){return Ir("+",t,e)}function ut(t,e){return Ir("-",t,e)}function pt(t,e){return Ir("*",t,e)}function Lt(t,e){return Ir("/",t,e)}function me(t,e){return Ir("**",t,e)}function Xo(t,e){return Ir("<>",t,e)}function ue(t,e){return Ir("<",t,e)}function Hr(t,e){return Ir(">",t,e)}function Cr(t,e){return Ir("<=",t,e)}function Xb(t,e){return Ir("IS NOT DISTINCT FROM",t,e)}function gn(t,e){return HN(t,e,!1)}function Nm(t,e){return new Gu(Tt(t),e.map(Tt))}function Wb(t,e){return new Zu(Tt(t),!1,e)}function Gb(t){return je("st_asgeojson",t)}function Ae(t,...e){return new zu(QN(t,e))}function QN(t,e){let n=[t[0]],r=e.length;for(let o=0,i=0;o<r;){let s=e[o];en(s)?n[++i]=s:Er(s)?n[++i]=new Sr(s):n[i]+=ar(s)?s:mn(s);let a=t[++o];en(n[i])?n[++i]=a:n[i]+=a}return n.filter(o=>o).map(o=>ar(o)?new Hs(o):o)}function km(t,e,n){return R4("lead",t,e,n)}var Rm={[Us]:["args","filter"],[cm]:["expr","extent"],[am]:["left","right"],[im]:["expr","_when","_else"],[om]:["expr"],[nm]:["param","table"],[pc]:["table"],[wm]:["query"],[C4]:["node"],[dc]:["spans"],[ym]:["expr"],[pm]:["args"],[lm]:["expr","values"],[um]:["clauses"],[fm]:["expr","extent"],[rm]:["expr"],[mc]:["value"],[gm]:["expr"],[bm]:["_with","_select","_from","_where","_sample","_groupby","_having","_window","_qualify","_orderby"],[vm]:["subqueries","_orderby"],[Eb]:["expr"],[sm]:["when","then"],[hc]:["func","def"],[xm]:["def"],[hm]:["partition","order","frame"],[dm]:["extent"]};function rl(t,e){if(e.has(t))return e.get(t);if(en(t)){let n=Rm[t.type],r=n?.length??0;for(let o=0;o<r;++o){let i=n[o],s=t[i];if(Array.isArray(s)){let a=s.length;for(let c=0;c<a;++c)s[c]=rl(s[c],e)}else s&&(t[i]=rl(s,e))}}return t}function Qr(t,e){if(!en(t))return;let n=e(t);if(n)return n;let r=Rm[t.type],o=r?.length??0;for(let i=0;i<o;++i){let s=t[r[i]];if(Array.isArray(s)){let a=s.length;for(let c=0;c<a;++c)if(s[c]&&+Qr(s[c],e)<0)return n}else if(s&&+Qr(s,e)<0)return-1}}var ZN=new RegExp(`^(${$4.join("|")})$`),KN=/(\\'|\\"|"(?:\\"|[^"])*"|'(?:\\'|[^'])*'|\w+\()/g;function JN(t){return t.split(KN).some(e=>e.endsWith("(")&&ZN.test(e.slice(0,-1)))}function jn(t){let e=0;return Qr(t,n=>{switch(n.type){case hc:return-1;case Us:return e|=1,-1;case dc:case mm:{let r=`${n}`.toLowerCase(),o=r.indexOf("(select ");return o>=0&&(r=r.slice(0,o)),r.includes(") over ")?-1:JN(r)?(e|=2,-1):1}}}),e}function Vb(t){let e=new Set;return Qr(t,n=>{n.type===Us&&e.add(n)}),Array.from(e)}function _c(t){let e={};return Qr(t,n=>{n.type===pc&&(e[n]=n)}),Object.values(e)}function Hb(t){let e=new Set;return Qr(t,n=>{n.type===mc&&e.add(n.param)}),Array.from(e)}function Lm(t,e,{replace:n=!1,temp:r=!1,view:o=!1}={}){return"CREATE"+(n?" OR REPLACE ":" ")+(r?"TEMP ":"")+(o?"VIEW":"TABLE")+(n?" ":" IF NOT EXISTS ")+t+" AS "+e}function Qb(t,e,n,r,o){let i=o?ut(n,de(t)):ut(de(t),e),s=n===e?0:r/(n-e);return s?pt(i,de(s)):i}function Zb(t,e,n,r,o,i){return t.select({index:Nt(Ht(Re(e)),pt(Ht(Re(n)),o)),...r}).groupby("index",i)}function Kb(t,e,n){let r=n?s=>pt(s,n):s=>s,o=Re(e),i=Nt(o,1);return yt.from(yt.unionAll(t.clone().select({i:Ht(o),w:r(ut(i,e))}),t.clone().select({i:Ht(i),w:r(ut(e,o))}))).select({index:"i",density:zt("w")}).groupby("index").having(Xo("density",0))}function tk(t){return t}function Jb(t,e,n,r,o,i){let s=r?y=>pt(y,r):tk,a=(y,x)=>t.clone().select({xp:e,yp:n,i:y,w:x}),c=(y,x)=>Nt(y,pt(x,o)),f=Ht(Re(e)),u=Ht(Re(n)),p=Nt(f,1),l=Nt(u,1),h=ut(e,f),d=ut(p,e),m=ut(n,u),g=ut(l,n);return yt.from(yt.unionAll(a(c(f,u),s(pt(d,g))),a(c(f,l),s(pt(d,m))),a(c(p,u),s(pt(h,g))),a(c(p,l),s(pt(h,m))))).select({index:"i",density:zt("w")},i).groupby("index",i).having(Xo("density",0))}function t2(t,e,n,r,o,i,s=[],a=!0){t.select({x:Ht(Re(e)),y:Ht(Re(n))});let c=s.concat(r),f=yt.from(t).select(c,{x0:"x",y0:"y",dx:ut(km("x").over("sw"),"x"),dy:ut(km("y").over("sw"),"y")}).window({sw:Cb().partitionby(c).orderby(Wb("x"))}).qualify([Gr(ue("x0",o),ue(Nt("x0","dx"),o)),Gr(ue("y0",i),ue(Nt("y0","dy"),i)),Gr(Hr("x0",0),Hr(Nt("x0","dx"),0)),Gr(Hr("y0",0),Hr(Nt("y0","dy"),0))]),u=yt.select({x:Yb(Un(ke("dx")),Un(ke("dy")))}).from("pairs"),p=yt.select({i:Ht(Ae`UNNEST(range((${u})))`)}),l=yt.unionAll(yt.select(c,{x:Nt("x0","i"),y:Nt("y0",Ht(jo(Lt(pt("i","dy"),"dx"))))}).from("pairs","indices").where([Cr(ke("dy"),ke("dx")),ue("i",ke("dx"))]),yt.select(c,{x:Nt("x0",Ht(jo(Lt(pt(pt(Tr("dy"),"i"),"dx"),"dy")))),y:Nt("y0",pt(Tr("dy"),"i"))}).from("pairs","indices").where([Hr(ke("dy"),ke("dx")),ue("i",ke("dy"))]),yt.select(c,{x:"x0",y:"y0"}).from("pairs").where(el("dx"))),h=yt.from("raster").select(c,"x","y",a?{w:Lt(1,rn().partitionby(["x"].concat(c)))}:null).where([Cr(0,"x"),ue("x",o),Cr(0,"y"),ue("y",i)]);return yt.with({pairs:f,indices:p,raster:l,points:h}).from("points").select(s,{index:Nt("x",pt("y",Ht(o))),density:a?zt("w"):rn()}).groupby("index",s)}function e2(t,e,n,r,o=[]){let i=Ht(Re(e)),s=a=>yt.from(t).select(a).groupby(i,o);return yt.union(s([{[n]:Wr(n),[r]:wc(r,n)},...o]),s([{[n]:Un(n),[r]:bc(r,n)},...o]),s([{[n]:wc(n,r),[r]:Wr(r)},...o]),s([{[n]:bc(n,r),[r]:Un(r)},...o])).orderby(o,n)}var Om=t=>t;function F4(){return{apply:Om,invert:Om,sqlApply:Tt,sqlInvert:Om}}function ek({base:t=null}={}){if(t==null||t===Math.E)return{apply:Math.log,invert:Math.exp,sqlApply:e=>vc(e),sqlInvert:e=>Cm(e)};if(t===10)return{apply:Math.log10,invert:e=>Math.pow(10,e),sqlApply:e=>Ub(e),sqlInvert:e=>me(10,e)};{let e=+t;return{apply:n=>Math.log(n)/Math.log(e),invert:n=>Math.pow(e,n),sqlApply:n=>Lt(vc(n),vc(e)),sqlInvert:n=>me(e,n)}}}function nk({constant:t=1}={}){let e=+t;return{apply:n=>Math.sign(n)*Math.log1p(Math.abs(n)),invert:n=>Math.sign(n)*Math.exp(Math.abs(n)-e),sqlApply:n=>(n=Tt(n),pt(Tr(n),vc(Nt(e,ke(n))))),sqlInvert:n=>pt(Tr(n),ut(Cm(ke(n)),e))}}function rk(){return{apply:t=>Math.sign(t)*Math.sqrt(Math.abs(t)),invert:t=>Math.sign(t)*t*t,sqlApply:t=>(t=Tt(t),pt(Tr(t),Uo(ke(t)))),sqlInvert:t=>pt(Tr(t),me(t,2))}}function ok({exponent:t=1}={}){let e=+t;return{apply:n=>Math.sign(n)*Math.pow(Math.abs(n),e),invert:n=>Math.sign(n)*Math.pow(Math.abs(n),1/e),sqlApply:n=>(n=Tt(n),pt(Tr(n),me(ke(n),e))),sqlInvert:n=>pt(Tr(n),me(ke(n),Lt(1,e)))}}function P4(){return{apply:t=>+t,invert:t=>new Date(t),sqlApply:t=>t instanceof Date?mn(+t):sk(t)?mn(+t.value):Bb(t),sqlInvert:Om}}var ik={identity:F4,linear:F4,log:ek,symlog:nk,sqrt:rk,pow:ok,time:P4,utc:P4};function ol(t){let e=ik[t.type];return e?{...t,...e(t)}:null}function sk(t){return t instanceof js&&t.value instanceof Date}function $m(t){let e=2166136261;for(let n=0,r=t.length;n<r;++n){let o=t.charCodeAt(n),i=o&65280;i&&(e=q4(e^i>>8)),e=q4(e^o&255)}return lk(e)>>>0}function q4(t){return t+(t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24)}function lk(t){return t+=t<<13,t^=t>>>7,t+=t<<3,t^=t>>>17,t+=t<<5,t&4294967295}function z4(t,e,n){switch(t.name){case"count":case"sum":return pk(e,t);case"avg":return hk(e,t);case"arg_max":return dk(e,t);case"arg_min":return mk(e,t);case"variance":case"var_samp":return Dm(e,t,n);case"var_pop":return Dm(e,t,n,!1);case"stddev":case"stddev_samp":return Uo(Dm(e,t,n));case"stddev_pop":return Uo(Dm(e,t,n,!1));case"covar_samp":return Fm(e,t,n);case"covar_pop":return Fm(e,t,n,!1);case"corr":return B4(e,t,n);case"regr_count":return Mc(e,t).expr;case"regr_avgx":return X4(e,t);case"regr_avgy":return W4(e,t);case"regr_syy":return r2(e,0,t,n);case"regr_sxx":return r2(e,1,t,n);case"regr_sxy":return Fm(e,t,n,null);case"regr_slope":return G4(e,t,n);case"regr_intercept":return gk(e,t,n);case"regr_r2":return me(B4(e,t,n),2);case"max":case"min":case"bit_and":case"bit_or":case"bit_xor":case"bool_and":case"bool_or":case"product":{let r=Y4(t);return e[r]=t,Ae`${t.name}("${r}")`}default:return null}}function Y4(t){return"pre_"+$m(`${t}`).toString(16)}function yn(t,e,n){let r=n?.filter;r&&(e=e.filter?e.where(Dn(r,e.filter)):e.where(r));let o=Y4(e);return t[o]=e,o}function U4(t,e){let n=yn(t,rn(e.args[0]),e);return{expr:zt(n),name:n}}function pk(t,e){return zt(yn(t,e))}function hk(t,e){let n=yn(t,e),{expr:r,name:o}=U4(t,e);return Lt(zt(pt(n,o)),r)}function dk(t,e){let n=yn(t,e),r=yn(t,Un(e.args[1]),e);return bc(n,r)}function mk(t,e){let n=yn(t,e),r=yn(t,Wr(e.args[1]),e);return wc(n,r)}function Dm(t,e,n,r=!0){let o=e.args[0],{expr:i}=U4(t,e),s=ut(o,n(o)),a=yn(t,zt(me(s,2)),e),c=yn(t,zt(s),e),f=r?ut(i,1):i;return Lt(ut(zt(a),Lt(me(zt(c),2),i)),f)}function Fm(t,e,n,r=!0){let{expr:o}=Mc(t,e),i=j4(t,e,n),s=il(t,1,e,n),a=il(t,0,e,n),c=ut(i,Lt(pt(s,a),o));return r===null?c:r?Lt(c,ut(o,1)):Lt(c,o)}function B4(t,e,n){let{expr:r}=Mc(t,e),o=j4(t,e,n),i=n2(t,1,e,n),s=n2(t,0,e,n),a=il(t,1,e,n),c=il(t,0,e,n),f=ut(i,Lt(me(a,2),r)),u=ut(s,Lt(me(c,2),r));return Lt(ut(o,Lt(pt(a,c),r)),Uo(pt(f,u)))}function Mc(t,e){let[n,r]=e.args,o=yn(t,tl(n,r),e);return{expr:zt(o),name:o}}function il(t,e,n,r){let o=n.args,i=o[e],s=o[1-e],a=zt(ut(i,r(i))).where(Vr(s));return zt(yn(t,a,n))}function n2(t,e,n,r){let o=n.args,i=o[e],s=o[1-e],a=zt(me(ut(i,r(i)),2)).where(Vr(s));return zt(yn(t,a,n))}function j4(t,e,n){let[r,o]=e.args,i=zt(pt(ut(o,n(o)),ut(r,n(r))));return zt(yn(t,i,e))}function X4(t,e){let[n,r]=e.args,{expr:o,name:i}=Mc(t,e),s=yn(t,Ju(n,r),e);return Lt(zt(pt(s,i)),o)}function W4(t,e){let[n,r]=e.args,{expr:o,name:i}=Mc(t,e),s=yn(t,Lb(n,r),e);return Lt(zt(pt(s,i)),o)}function r2(t,e,n,r){let{expr:o}=Mc(t,n),i=il(t,e,n,r),s=n2(t,e,n,r);return ut(s,Lt(me(i,2),o))}function G4(t,e,n){let r=Fm(t,e,n,null),o=r2(t,1,e,n);return Lt(r,o)}function gk(t,e,n){let r=X4(t,e),o=W4(t,e),i=G4(t,e,n);return ut(o,pt(i,r))}function V4(t){if(!t.filterStable)return null;let e=t.query();if(!Bi(e))return null;let n=Pm(e,c=>{let f=c._from[0]?.expr;return Pi(f)?f.name:f});if(typeof n!="string")return null;let r=new Map,o={},i={},s=[],a=c=>{let f=c.column,u=Pm(e,p=>p._select.find(l=>l.alias===f)?.expr);return Ae`(SELECT avg(${u??c}) FROM "${n}")`};for(let{alias:c,expr:f}of e._select){if(jn(f)>1)return null;let u=Vb(f);if(u.length===0)s.push(c),o[c]=f;else{for(let p of u){if(p.isDistinct)return null;let l=z4(p,o,a);if(!l)return null;r.set(p,l)}i[c]=rl(f,r)}}return r.size?{group:s,preagg:o,output:i}:null}function Pm(t,e){let n=t.subqueries;if(Bi(t)&&n.length===0)return e(t);let r=Pm(n[0],e);for(let o=1;o<n.length;++o){let i=Pm(n[o],e);if(i!==void 0&&i!==r)return NaN}return r}var yk={skip:!0,result:null},qm=class{constructor(e,{schema:n="mosaic",enabled:r=!0}={}){this.entries=new Map,this.active=null,this.mc=e,this._schema=n,this._enabled=r}set enabled(e){this._enabled!==e&&(e||this.clear(),this._enabled=e)}get enabled(){return this._enabled}set schema(e){this._schema!==e&&(this.clear(),this._schema=e)}get schema(){return this._schema}dropSchema(){return this.clear(),this.mc.exec(`DROP SCHEMA IF EXISTS "${this.schema}" CASCADE`)}clear(){this.entries.clear(),this.active=null}request(e,n,r){if(!this.enabled)return null;let{entries:o,mc:i,schema:s}=this,{source:a}=r;if(!a||this.active&&(this.active.source!==a&&this.clear(),this.active?.source===null))return null;let{active:c}=this;if(!c&&(this.active=c=xk(r),c.source===null))return null;if(o.has(e))return o.get(e);let f=V4(e),u;if(!f)u=null;else if(n.skip(e,r))u=yk;else{let p=n.remove(a).predicate(e);u=vk(e.query(p),c,f,s),u.result=i.exec([`CREATE SCHEMA IF NOT EXISTS ${s}`,Lm(u.table,u.create,{temp:!1})]),u.result.catch(l=>i.logger().error(l))}return o.set(e,u),u}};function xk(t){let{source:e,meta:n}=t,r=t.predicate,o=_c(r).map(p=>p.column),i,s;if(!n||!o)return{source:null,columns:s,predicate:i};let{type:a,scales:c,bin:f,pixelSize:u=1}=n;if(a==="point")i=p=>p,s=Object.fromEntries(o.map(p=>[`${p}`,Tt(p)]));else if(a==="interval"&&c){let p=c.map(l=>wk(l,u,f));p.some(l=>!l)||(p.length===1?(i=l=>l?gn("active0",l.extent.map(p[0])):[],s={active0:p[0](r.expr)}):(i=l=>l?Dn(l.clauses.map((h,d)=>gn(`active${d}`,h.extent.map(p[d])))):[],s=Object.fromEntries(r.clauses.map((l,h)=>[`active${h}`,p[h](l.expr)]))))}return{source:s?e:null,columns:s,predicate:i}}var bk={ceil:jb,round:jo};function wk(t,e,n){let{type:r,domain:o,range:i,apply:s,sqlApply:a}=ol(t);if(!s)return;let c=bk[`${n}`.toLowerCase()]||Re,f=s(Math.min(...o)),u=s(Math.max(...o)),p=(r==="identity"?1:Math.abs(i[1]-i[0])/(u-f))/e,l=p===1?d=>d:d=>pt(de(p),d),h=f===0?d=>d:d=>ut(d,de(f));return d=>Ht(c(l(h(a(d)))))}function vk(t,e,n,r){let{group:o,output:i,preagg:s}=n,{columns:a}=e,c=t.setSelect({...s,...a}).groupby(Object.keys(a)),[f]=c.subqueries;if(f){let g=Object.values(a).flatMap(y=>_c(y).map(x=>x.column));_k(f,g)}let u=c._having,p=c._orderby;c._having=[],c._orderby=[];let l=c.toString(),h=($m(l)>>>0).toString(16),d=`${r}.preagg_${h}`,m=yt.select(o,i).from(d).groupby(o).having(u).orderby(p);return new o2({table:d,create:l,active:e,select:m})}function _k(t,e){let n=new Set,r=o=>{n.has(o)||(n.add(o),Bi(o)&&o._from.length&&o.select(e),o.subqueries.forEach(r))};r(t)}var o2=class{constructor({table:e,create:n,active:r,select:o}){this.table=e,this.create=n,this.result=null,this.active=r,this.select=o,this.skip=!1}query(e){return this.select.clone().where(this.active.predicate(e))}};function i2(t){switch(t){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(t.startsWith("DECIMAL"))return"number";if(t.startsWith("STRUCT")||t.startsWith("MAP"))return"object";if(t.endsWith("]"))return"array";throw new Error(`Unsupported type: ${t}`)}}var Mk="count",Sk="nulls",Ak="max",Ek="min",Tk="distinct";var Ik={[Mk]:rn,[Tk]:t=>rn(t).distinct(),[Ak]:Un,[Ek]:Wr,[Sk]:t=>rn().where(el(t))};function Ck(t,e,n){return yt.from(t).select(Array.from(n,r=>({[r]:Ik[r](e)})))}async function H4(t,e){return e.length===1&&e[0].column==="*"?kk(t,e[0].table):(await Promise.all(e.map(n=>Nk(t,n)))).filter(n=>n)}async function Nk(t,{table:e,column:n,stats:r}){let o=yt.from({source:e}).select({column:n}).groupby(n.aggregate?Ae`ALL`:[]),[i]=Array.from(await t.query(yt.describe(o))),s={table:e,column:`${n}`,sqlType:i.column_type,type:i2(i.column_type),nullable:i.null==="YES"};if(!(r?.length||r?.size))return s;let[a]=await t.query(Ck(e,n,r),{persist:!0});return Object.assign(s,a)}async function kk(t,e){let n=await t.query(`DESCRIBE ${Vs(e)}`);return Array.from(n).map(r=>({table:e,column:r.column_name,sqlType:r.column_type,type:i2(r.column_type),nullable:r.null==="YES"}))}var zi=Object.freeze({pending:Symbol("pending"),ready:Symbol("ready"),error:Symbol("error"),done:Symbol("done")}),ta=class extends Promise{constructor(){let e,n;super((r,o)=>{e=r,n=o}),this._resolve=e,this._reject=n,this._state=zi.pending,this._value=void 0}fulfill(e){if(this._value!==void 0){if(e!==void 0)throw Error("Promise is ready and fulfill has a provided value");this._resolve(this._value)}else{if(e===void 0)throw Error("Promise is neither ready nor has provided value");this._resolve(e)}return this._state=zi.done,this}ready(e){return this._state=zi.ready,this._value=e,this}reject(e){return this._state=zi.error,this._reject(e),this}get state(){return this._state}};ta.prototype.constructor=Promise;function Bm(){return{debug(...t){},info(...t){},log(...t){},warn(...t){},error(...t){}}}function Rk(t){return(typeof requestAnimationFrame<"u"?requestAnimationFrame:typeof setImmediate<"u"?setImmediate:setTimeout)(t)}function Q4(t,e){let n=[],r=0;function o(){let i=Lk(n,e);n=[],r=0;for(let s of i)$k(s,t),Pk(s,e)}return{add(i,s){i.request.type==="arrow"?(r=r||Rk(()=>o()),n.push({entry:i,priority:s,index:n.length})):t(i,s)}}}function Lk(t,e){let n=[],r=new Map;for(let o of t){let{entry:{request:i}}=o,s=Ok(i.query,e);if(!r.has(s)){let a=[];n.push(a),r.set(s,a)}r.get(s).push(o)}return n}function Ok(t,e){let n=`${t}`;if(Bi(t)&&!e.get(n)){if(t._orderby.length||t._where.length||t._qualify.length||t._having.length)return n;let r=t.clone().setSelect("*"),o=t._groupby;if(o.length){let i={};t._select.forEach(({alias:s,expr:a})=>i[s]=a),r.setGroupby(o.map(s=>qi(s)&&i[s.column]||s))}else t._select.some(i=>jn(i.expr))&&r.setGroupby("ALL");return`${r}`}else return n}function $k(t,e){if(Dk(t))e({request:{type:"arrow",cache:!1,query:t.query=Fk(t)},result:t.result=new ta});else for(let{entry:n,priority:r}of t)e(n,r)}function Dk(t){if(t.length>1){let e=`${t[0].entry.request.query}`;for(let n=1;n<t.length;++n)if(e!==`${t[n].entry.request.query}`)return!0}return!1}function Fk(t){let e=t.maps=[],n=new Map;for(let i of t){let{query:s}=i.entry.request,a=[];e.push(a);for(let{alias:c,expr:f}of s._select){let u=`${f}`;n.has(u)||n.set(u,[`col${n.size}`,f]);let[p]=n.get(u);a.push([p,c])}}let r=t[0].entry.request.query.clone(),o=r._groupby;if(o.length){let i={};t.maps[0].forEach(([s,a])=>i[a]=s),r.setGroupby(o.map(s=>qi(s)&&i[s.column]||s))}return r.setSelect(Array.from(n.values()))}async function Pk(t,e){let{maps:n,query:r,result:o}=t;if(!n)return;let i;try{i=await o}catch(a){for(let{entry:c}of t)c.result.reject(a);return}let s=Nb(r);t.forEach(({entry:a},c)=>{let{request:f,result:u}=a,p=n[c],l=s&&p?Bk(i,p):p?qk(i,p):i;f.cache&&e.set(String(f.query),l),u.fulfill(l)})}function qk(t,e){return t.select(e.map(n=>n[0]),e.map(n=>n[1]))}function Bk(t,e){let n=new Map(e),r=[];for(let o of t)n.has(o.column_name)&&r.push({...o,column_name:n.get(o.column_name)});return r}var zk=typeof requestIdleCallback<"u"?requestIdleCallback:setTimeout,Z4=()=>({get:()=>{},set:(t,e)=>e,clear:()=>{}});function K4({max:t=1e3,ttl:e=3*60*60*1e3}={}){let n=new Map;function r(){let o=performance.now()-e,i=null,s=1/0;for(let[a,c]of n){let{last:f}=c;f<s&&(i=a,s=f),o>f&&n.delete(a)}i&&n.delete(i)}return{get(o){let i=n.get(o);if(i)return i.last=performance.now(),i.value},set(o,i){return n.set(o,{last:performance.now(),value:i}),n.size>t&&zk(r),i},clear(){n=new Map}}}var zm=class{constructor(e){this.queue=Array.from({length:e},()=>({head:null,tail:null}))}isEmpty(){return this.queue.every(e=>!e.head)}insert(e,n){let r=this.queue[n];if(!r)throw new Error(`Invalid queue priority rank: ${n}`);let o={item:e,next:null};r.head===null?r.head=r.tail=o:r.tail=r.tail.next=o}remove(e){for(let n of this.queue){let{head:r,tail:o}=n;for(let i=null,s=r;s;i=s,s=s.next)e(s.item)&&(s===r?r=s.next:i.next=s.next,s===o&&(o=i||r));n.head=r,n.tail=o}}next(){for(let e of this.queue){let{head:n}=e;if(n!==null)return e.head=n.next,e.tail===n&&(e.tail=null),n.item}}};var Zr=Object.freeze({High:0,Normal:1,Low:2}),Ym=class{constructor(e=32){this.queue=new zm(3),this.db=null,this.clientCache=null,this._logger=Bm(),this._logQueries=!1,this._consolidate=null,this.pendingResults=[],this.maxConcurrentRequests=e,this.pendingExec=!1}next(){if(this.queue.isEmpty()||this.pendingResults.length>this.maxConcurrentRequests||this.pendingExec)return;let{request:e,result:n}=this.queue.next();this.pendingResults.push(n),e.type==="exec"&&(this.pendingExec=!0),this.submit(e,n).finally(()=>{for(;this.pendingResults.length&&this.pendingResults[0].state!==zi.pending;){let r=this.pendingResults.shift();r.state===zi.ready?r.fulfill():r.state===zi.done&&this._logger.warn("Found resolved query in pending results.")}e.type==="exec"&&(this.pendingExec=!1),this.next()})}enqueue(e,n=Zr.Normal){this.queue.insert(e,n),this.next()}async submit(e,n){try{let{query:r,type:o,cache:i=!1,options:s}=e,a=r?`${r}`:null;if(i){let p=this.clientCache.get(a);if(p){let l=await p;this._logger.debug("Cache"),n.ready(l);return}}let c=performance.now();this._logQueries&&this._logger.debug("Query",{type:o,sql:a,...s});let f=this.db.query({type:o,sql:a,...s});i&&this.clientCache.set(a,f);let u=await f;i&&this.clientCache.set(a,u),this._logger.debug(`Request: ${(performance.now()-c).toFixed(1)}`),n.ready(o==="exec"?null:u)}catch(r){n.reject(r)}}cache(e){return e!==void 0?this.clientCache=e===!0?K4():e||Z4():this.clientCache}logger(e){return e?this._logger=e:this._logger}logQueries(e){return e!==void 0?this._logQueries=!!e:this._logQueries}connector(e){return e?this.db=e:this.db}consolidate(e){e&&!this._consolidate?this._consolidate=Q4(this.enqueue.bind(this),this.clientCache):!e&&this._consolidate&&(this._consolidate=null)}request(e,n=Zr.Normal){let r=new ta,o={request:e,result:r};return this._consolidate?this._consolidate.add(o,n):this.enqueue(o,n),r}cancel(e){let n=new Set(e);if(n.size){this.queue.remove(({result:r})=>n.has(r)?(r.reject("Canceled"),!0):!1);for(let r of this.pendingResults)n.has(r)&&r.reject("Canceled")}}clear(){this.queue.remove(({result:e})=>(e.reject("Cleared"),!0));for(let e of this.pendingResults)e.reject("Cleared");this.pendingResults=[]}};var Um;function s2(t){return t?Um=t:Um==null&&(Um=new jm),Um}var jm=class{constructor(e=Ab(),{logger:n=console,manager:r=new Ym,cache:o=!0,consolidate:i=!0,preagg:s={}}={}){this.manager=r,this.manager.cache(o),this.manager.consolidate(i),this.databaseConnector(e),this.logger(n),this.clear(),this.preaggregator=new qm(this,s)}clear({clients:e=!0,cache:n=!0}={}){this.manager.clear(),e&&(this.filterGroups?.forEach(r=>r.disconnect()),this.filterGroups=new Map,this.clients?.forEach(r=>this.disconnect(r)),this.clients=new Set),n&&this.manager.cache().clear()}databaseConnector(e){return this.manager.connector(e)}logger(e){return arguments.length&&(this._logger=e||Bm(),this.manager.logger(this._logger)),this._logger}cancel(e){this.manager.cancel(e)}exec(e,{priority:n=Zr.Normal}={}){return e=Array.isArray(e)?e.filter(r=>r).join(`;
2
+ `):e,this.manager.request({type:"exec",query:e},n)}query(e,{type:n="arrow",cache:r=!0,priority:o=Zr.Normal,...i}={}){return this.manager.request({type:n,query:e,cache:r,options:i},o)}prefetch(e,n={}){return this.query(e,{...n,cache:!0,priority:Zr.Low})}createBundle(e,n,r=Zr.Low){let o={name:e,queries:n.map(i=>typeof i=="string"?{sql:i}:i)};return this.manager.request({type:"create-bundle",options:o},r)}loadBundle(e,n=Zr.High){let r={name:e};return this.manager.request({type:"load-bundle",options:r},n)}updateClient(e,n,r=Zr.Normal){return e.queryPending(),this.query(n,{priority:r}).then(o=>e.queryResult(o).update(),o=>{this._logger.error(o),e.queryError(o)}).catch(o=>this._logger.error(o))}requestQuery(e,n){return this.preaggregator.clear(),n?this.updateClient(e,n):Promise.resolve(e.update())}async connect(e){let{clients:n}=this;if(n.has(e))throw new Error("Client already connected.");n.add(e),e.coordinator=this,this.initializeClient(e),Yk(this,e.filterBy,e)}async initializeClient(e){let n=e.fields();return n?.length&&e.fieldInfo(await H4(this,n)),e.requestQuery()}disconnect(e){let{clients:n,filterGroups:r}=this;if(!n.has(e))return;n.delete(e),e.coordinator=null;let o=r.get(e.filterBy);o&&o.clients.delete(e)}};function Yk(t,e,n){if(!e)return;let r=t.filterGroups.get(e);if(!r){let o=s=>Uk(t,e,s),i=()=>jk(t,e);e.addEventListener("activate",o),e.addEventListener("value",i),r={selection:e,clients:new Set,disconnect(){e.removeEventListener("activate",o),e.removeEventListener("value",i)}},t.filterGroups.set(e,r)}r.clients.add(n)}function Uk(t,e,n){let{preaggregator:r,filterGroups:o}=t,{clients:i}=o.get(e);for(let s of i)r.request(s,e,n)}function jk(t,e){let{preaggregator:n,filterGroups:r}=t,{clients:o}=r.get(e),{active:i}=e;return Promise.allSettled(Array.from(o,s=>{let a=n.request(s,e,i),c=a?null:e.predicate(s);if(a?.skip||!a&&!c)return;let f=a?.query(i.predicate)??s.query(c);return t.updateClient(s,f)}))}var Xm=class{constructor(){this._callbacks=new Map}addEventListener(e,n){this._callbacks.has(e)||this._callbacks.set(e,{callbacks:new Set,pending:null,queue:new a2}),this._callbacks.get(e).callbacks.add(n)}removeEventListener(e,n){let r=this._callbacks.get(e);r&&r.callbacks.delete(n)}willEmit(e,n){return n}emitQueueFilter(e,n){return null}cancel(e){this._callbacks.get(e)?.queue.clear()}async pending(e){await this._callbacks.get(e)?.pending}emit(e,n){let r=this._callbacks.get(e)||{};if(r.pending)r.queue.enqueue(n,this.emitQueueFilter(e,n));else{let o=this.willEmit(e,n),{callbacks:i,queue:s}=r;if(i?.size){let a=Array.from(i,c=>c(o));r.pending=Promise.allSettled(a).then(()=>{r.pending=null,s.isEmpty()||this.emit(e,s.dequeue())})}}}},a2=class{constructor(){this.clear()}clear(){this.next=null}isEmpty(){return!this.next}enqueue(e,n){let r={value:e};if(n&&this.next){let o=this;for(;o.next;)n(o.next.value)?o=o.next:o.next=o.next.next;o.next=r}else this.next=r}dequeue(){let{next:e}=this;return this.next=e?.next,e?.value}};function sl(t,e){return t===e?!1:t instanceof Date&&e instanceof Date?+t!=+e:Array.isArray(t)&&Array.isArray(e)?Xk(t,e):!0}function Xk(t,e){if(t.length!==e.length)return!0;for(let n=0;n<t.length;++n)if(t[n]!==e[n])return!0;return!1}function Wo(t){return t instanceof Sc}var Sc=class t extends Xm{constructor(e){super(),this._value=e}static value(e){return new t(e)}static array(e){if(e.some(n=>Wo(n))){let n=new t,r=()=>{n.update(e.map(o=>Wo(o)?o.value:o))};return r(),e.forEach(o=>Wo(o)?o.addEventListener("value",r):0),n}return new t(e)}get value(){return this._value}update(e,{force:n}={}){return sl(this._value,e)||n?this.emit("value",e):this.cancel("value"),this}willEmit(e,n){return e==="value"&&(this._value=n),n}};function c2(t){return t instanceof Yi}function Wm(t,e){return new Yi(new Gm(t),e&&[e].flat())}var Yi=class t extends Sc{static intersect({cross:e=!1,empty:n=!1,include:r=[]}={}){return Wm({cross:e,empty:n},r)}static union({cross:e=!1,empty:n=!1,include:r=[]}={}){return Wm({cross:e,empty:n,union:!0},r)}static single({cross:e=!1,empty:n=!1,include:r=[]}={}){return Wm({cross:e,empty:n,single:!0},r)}static crossfilter({empty:e=!1,include:n=[]}={}){return Wm({cross:!0,empty:e},n)}constructor(e=new Gm,n=[]){if(super([]),this._resolved=this._value,this._resolver=e,this._relay=new Set,Array.isArray(n))for(let r of n)r._relay.add(this)}clone(){let e=new t(this._resolver);return e._value=e._resolved=this._value,e}remove(e){let n=this.clone();return n._value=n._resolved=n._resolver.resolve(this._resolved,{source:e}),n._value.active={source:e},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(e){return this.clauses.find(n=>n.source===e)?.value}activate(e){this.emit("activate",e),this._relay.forEach(n=>n.activate(e))}update(e){return this._resolved=this._resolver.resolve(this._resolved,e,!0),this._resolved.active=e,this._relay.forEach(n=>n.update(e)),super.update(this._resolved)}willEmit(e,n){return e==="value"?(this._value=n,this.value):n}emitQueueFilter(e,n){return e==="value"?this._resolver.queueFilter(n):null}skip(e,n){return this._resolver.skip(e,n)}predicate(e,n=!1){let{clauses:r}=this,o=n?null:r.active;return this._resolver.predicate(r,o,e)}},Gm=class{constructor({union:e,cross:n,single:r,empty:o}={}){this.union=!!e,this.cross=!!n,this.single=!!r,this.empty=!!o}resolve(e,n,r=!1){let{source:o,predicate:i}=n,s=e.filter(c=>o!==c.source),a=this.single?[]:s;return this.single&&r&&s.forEach(c=>c.source?.reset?.()),i&&a.push(n),a}skip(e,n){return this.cross&&n?.clients?.has(e)}predicate(e,n,r){let{empty:o,union:i}=this;if(o&&!e.length)return[mn(!1)];if(this.skip(r,n))return;let s=e.filter(a=>!this.skip(r,a)).map(a=>a.predicate);return i&&s.length>1?Gr(s):s}queueFilter(e){if(this.cross){let n=e.active?.source;return r=>r.active?.source!==n}return null}};function f2(t,e,{source:n,clients:r=n?new Set([n]):void 0}){let o=e!==void 0?Nm(t,[mn(e)]):null;return{meta:{type:"point"},source:n,clients:r,value:e,predicate:o}}function ea(t,e,{source:n,clients:r=n?new Set([n]):void 0}){let o=null;if(e){let i=e.length&&t.length===1?[Nm(t[0],e.map(s=>mn(s[0])))]:e.map(s=>Dn(s.map((a,c)=>Xb(t[c],mn(a)))));o=e.length===0?mn(!1):i.length>1?Gr(i):i[0]}return{meta:{type:"point"},source:n,clients:r,value:e,predicate:o}}function al(t,e,{source:n,clients:r=n?new Set([n]):void 0,bin:o,scale:i,pixelSize:s=1}){let a=e!=null?gn(t,e):null;return{meta:{type:"interval",scales:i&&[i],bin:o,pixelSize:s},source:n,clients:r,value:e,predicate:a}}function u2(t,e,{source:n,clients:r=n?new Set([n]):void 0,bin:o,scales:i=[],pixelSize:s=1}){let a=e!=null?Dn(t.map((f,u)=>gn(f,e[u]))):null;return{meta:{type:"interval",scales:i,bin:o,pixelSize:s},source:n,clients:r,value:e,predicate:a}}function l2(t){return typeof t?.getChild=="function"}function p2(){let t=new Set,e,n=new Promise(r=>e=r);return{pending(r){t.add(r)},ready(r){return t.delete(r),t.size===0},resolve(){n=new Promise(r=>{e(),e=r})},get promise(){return n}}}function cr(t){return l2(t)?Wk(t):Gk(t)}function Wk(t){let{numRows:e}=t;return{numRows:e,columns:t.toColumns()}}function Gk(t){let e=t.length;if(typeof t[0]=="object"){let n=e?Object.keys(t[0]):[],r={};return n.length>0&&n.forEach(o=>{r[o]=t.map(i=>i[o])}),{numRows:e,columns:r}}else return{numRows:e,values:t}}var y3={};QC(y3,{Area:()=>Ga,Arrow:()=>Mh,BarX:()=>Va,BarY:()=>Ha,Cell:()=>Qa,Contour:()=>Oh,Density:()=>Fh,Dot:()=>Za,Frame:()=>gh,Geo:()=>Ph,Hexgrid:()=>qh,Image:()=>Bh,Line:()=>Ka,Link:()=>vh,Mark:()=>ft,Raster:()=>Nh,Rect:()=>Wa,RuleX:()=>ah,RuleY:()=>ch,Text:()=>Ua,TickX:()=>Eh,TickY:()=>Th,Tip:()=>yh,Vector:()=>Xa,WaffleX:()=>Yh,WaffleY:()=>Uh,area:()=>wh,areaX:()=>Ns,areaY:()=>Ni,arrow:()=>QT,auto:()=>a9,autoSpec:()=>Y6,axisFx:()=>Vx,axisFy:()=>Gx,axisX:()=>uh,axisY:()=>fh,barX:()=>ko,barY:()=>Ro,bin:()=>Ci,binX:()=>Co,binY:()=>No,bollinger:()=>Os,bollingerX:()=>h9,bollingerY:()=>d9,boxX:()=>m9,boxY:()=>g9,cell:()=>ks,cellX:()=>KT,cellY:()=>JT,centroid:()=>v1,circle:()=>n9,cluster:()=>dI,column:()=>qe,contour:()=>A9,crosshair:()=>I9,crosshairX:()=>C9,crosshairY:()=>N9,delaunayLink:()=>L9,delaunayMesh:()=>O9,density:()=>q9,differenceX:()=>Y9,differenceY:()=>U9,dodgeX:()=>OI,dodgeY:()=>$I,dot:()=>_r,dotX:()=>t9,dotY:()=>e9,filter:()=>c7,find:()=>y7,formatIsoDate:()=>h6,formatMonth:()=>_E,formatNumber:()=>p6,formatWeekday:()=>ME,frame:()=>Wf,geo:()=>_1,geoCentroid:()=>X9,graticule:()=>G9,gridFx:()=>Kx,gridFy:()=>Qx,gridX:()=>Zx,gridY:()=>Hx,group:()=>Jp,groupX:()=>ms,groupY:()=>gs,groupZ:()=>Kp,hexagon:()=>r9,hexbin:()=>V9,hexgrid:()=>H9,hull:()=>$9,identity:()=>X,image:()=>Z9,indexOf:()=>Xt,initializer:()=>Gt,interpolateNearest:()=>Rh,interpolateNone:()=>w1,interpolatorBarycentric:()=>kh,interpolatorRandomWalk:()=>Lh,legend:()=>xT,line:()=>Ja,lineX:()=>Rs,lineY:()=>Ls,linearRegressionX:()=>tI,linearRegressionY:()=>eI,link:()=>l1,map:()=>qn,mapX:()=>Kf,mapY:()=>Jf,marks:()=>Se,normalize:()=>k1,normalizeX:()=>qI,normalizeY:()=>BI,numberInterval:()=>N_,plot:()=>Gf,pointer:()=>_s,pointerX:()=>Ms,pointerY:()=>Ti,raster:()=>v9,rect:()=>mh,rectX:()=>jf,rectY:()=>Xf,reverse:()=>f7,ruleX:()=>er,ruleY:()=>nr,scale:()=>ys,select:()=>jI,selectFirst:()=>Wh,selectLast:()=>Gh,selectMaxX:()=>$1,selectMaxY:()=>D1,selectMinX:()=>L1,selectMinY:()=>O1,shiftX:()=>zI,shiftY:()=>YI,shuffle:()=>u7,sort:()=>mx,sphere:()=>W9,spike:()=>KE,stackX:()=>k6,stackX1:()=>ST,stackX2:()=>AT,stackY:()=>R6,stackY1:()=>ET,stackY2:()=>TT,text:()=>Io,textX:()=>Bx,textY:()=>zx,tickX:()=>y1,tickY:()=>x1,timeInterval:()=>Wp,tip:()=>i1,transform:()=>Me,tree:()=>c3,treeLink:()=>T1,treeNode:()=>zh,utcInterval:()=>La,valueof:()=>ct,vector:()=>I6,vectorX:()=>jx,vectorY:()=>Xx,voronoi:()=>D9,voronoiMesh:()=>F9,waffleX:()=>wI,waffleY:()=>vI,window:()=>tu,windowX:()=>c9,windowY:()=>f9});function dt(t,e){return t==null||e==null?NaN:t<e?-1:t>e?1:t>=e?0:NaN}function xn(t,e){return t==null||e==null?NaN:e<t?-1:e>t?1:e>=t?0:NaN}function Nr(t){let e,n,r;t.length!==2?(e=dt,n=(a,c)=>dt(t(a),c),r=(a,c)=>t(a)-c):(e=t===dt||t===xn?t:Vk,n=t,r=t);function o(a,c,f=0,u=a.length){if(f<u){if(e(c,c)!==0)return u;do{let p=f+u>>>1;n(a[p],c)<0?f=p+1:u=p}while(f<u)}return f}function i(a,c,f=0,u=a.length){if(f<u){if(e(c,c)!==0)return u;do{let p=f+u>>>1;n(a[p],c)<=0?f=p+1:u=p}while(f<u)}return f}function s(a,c,f=0,u=a.length){let p=o(a,c,f,u-1);return p>f&&r(a[p-1],c)>-r(a[p],c)?p-1:p}return{left:o,center:s,right:i}}function Vk(){return 0}function cl(t){return t===null?NaN:+t}function*J4(t,e){if(e===void 0)for(let n of t)n!=null&&(n=+n)>=n&&(yield n);else{let n=-1;for(let r of t)(r=e(r,++n,t))!=null&&(r=+r)>=r&&(yield r)}}var t5=Nr(dt),e5=t5.right,Hk=t5.left,Qk=Nr(cl).center,Go=e5;var fl=n5(r5),h2=n5(Zk);function n5(t){return function(e,n,r=n){if(!((n=+n)>=0))throw new RangeError("invalid rx");if(!((r=+r)>=0))throw new RangeError("invalid ry");let{data:o,width:i,height:s}=e;if(!((i=Math.floor(i))>=0))throw new RangeError("invalid width");if(!((s=Math.floor(s!==void 0?s:o.length/i))>=0))throw new RangeError("invalid height");if(!i||!s||!n&&!r)return e;let a=n&&t(n),c=r&&t(r),f=o.slice();return a&&c?(Ac(a,f,o,i,s),Ac(a,o,f,i,s),Ac(a,f,o,i,s),Ec(c,o,f,i,s),Ec(c,f,o,i,s),Ec(c,o,f,i,s)):a?(Ac(a,o,f,i,s),Ac(a,f,o,i,s),Ac(a,o,f,i,s)):c&&(Ec(c,o,f,i,s),Ec(c,f,o,i,s),Ec(c,o,f,i,s)),e}}function Ac(t,e,n,r,o){for(let i=0,s=r*o;i<s;)t(e,n,i,i+=r,1)}function Ec(t,e,n,r,o){for(let i=0,s=r*o;i<r;++i)t(e,n,i,i+s,r)}function Zk(t){let e=r5(t);return(n,r,o,i,s)=>{o<<=2,i<<=2,s<<=2,e(n,r,o+0,i+0,s),e(n,r,o+1,i+1,s),e(n,r,o+2,i+2,s),e(n,r,o+3,i+3,s)}}function r5(t){let e=Math.floor(t);if(e===t)return Kk(t);let n=t-e,r=2*t+1;return(o,i,s,a,c)=>{if(!((a-=c)>=s))return;let f=e*i[s],u=c*e,p=u+c;for(let l=s,h=s+u;l<h;l+=c)f+=i[Math.min(a,l)];for(let l=s,h=a;l<=h;l+=c)f+=i[Math.min(a,l+u)],o[l]=(f+n*(i[Math.max(s,l-p)]+i[Math.min(a,l+p)]))/r,f-=i[Math.max(s,l-u)]}}function Kk(t){let e=2*t+1;return(n,r,o,i,s)=>{if(!((i-=s)>=o))return;let a=t*r[o],c=s*t;for(let f=o,u=o+c;f<u;f+=s)a+=r[Math.min(i,f)];for(let f=o,u=i;f<=u;f+=s)a+=r[Math.min(i,f+c)],n[f]=a/e,a-=r[Math.max(o,f-c)]}}function Kr(t,e){let n=0;if(e===void 0)for(let r of t)r!=null&&(r=+r)>=r&&++n;else{let r=-1;for(let o of t)(o=e(o,++r,t))!=null&&(o=+o)>=o&&++n}return n}function Jk(t){return t.length|0}function tR(t){return!(t>0)}function eR(t){return typeof t!="object"||"length"in t?t:Array.from(t)}function nR(t){return e=>t(...e)}function Vm(...t){let e=typeof t[t.length-1]=="function"&&nR(t.pop());t=t.map(eR);let n=t.map(Jk),r=t.length-1,o=new Array(r+1).fill(0),i=[];if(r<0||n.some(tR))return i;for(;;){i.push(o.map((a,c)=>t[c][a]));let s=r;for(;++o[s]===n[s];){if(s===0)return e?i.map(e):i;o[s--]=0}}}function Hm(t,e){var n=0,r=0;return Float64Array.from(t,e===void 0?o=>n+=+o||0:o=>n+=+e(o,r++,t)||0)}function Ui(t,e){let n=0,r,o=0,i=0;if(e===void 0)for(let s of t)s!=null&&(s=+s)>=s&&(r=s-o,o+=r/++n,i+=r*(s-o));else{let s=-1;for(let a of t)(a=e(a,++s,t))!=null&&(a=+a)>=a&&(r=a-o,o+=r/++n,i+=r*(a-o))}if(n>1)return i/(n-1)}function fr(t,e){let n=Ui(t,e);return n&&Math.sqrt(n)}function Ot(t,e){let n,r;if(e===void 0)for(let o of t)o!=null&&(n===void 0?o>=o&&(n=r=o):(n>o&&(n=o),r<o&&(r=o)));else{let o=-1;for(let i of t)(i=e(i,++o,t))!=null&&(n===void 0?i>=i&&(n=r=i):(n>i&&(n=i),r<i&&(r=i)))}return[n,r]}var Xe=class{constructor(){this._partials=new Float64Array(32),this._n=0}add(e){let n=this._partials,r=0;for(let o=0;o<this._n&&o<32;o++){let i=n[o],s=e+i,a=Math.abs(e)<Math.abs(i)?e-(s-i):i-(s-e);a&&(n[r++]=a),e=s}return n[r]=e,this._n=r+1,this}valueOf(){let e=this._partials,n=this._n,r,o,i,s=0;if(n>0){for(s=e[--n];n>0&&(r=s,o=e[--n],s=r+o,i=o-(s-r),!i););n>0&&(i<0&&e[n-1]<0||i>0&&e[n-1]>0)&&(o=i*2,r=s+o,o==r-s&&(s=r))}return s}};var bn=class extends Map{constructor(e,n=s5){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:n}}),e!=null)for(let[r,o]of e)this.set(r,o)}get(e){return super.get(d2(this,e))}has(e){return super.has(d2(this,e))}set(e,n){return super.set(o5(this,e),n)}delete(e){return super.delete(i5(this,e))}},wn=class extends Set{constructor(e,n=s5){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:n}}),e!=null)for(let r of e)this.add(r)}has(e){return super.has(d2(this,e))}add(e){return super.add(o5(this,e))}delete(e){return super.delete(i5(this,e))}};function d2({_intern:t,_key:e},n){let r=e(n);return t.has(r)?t.get(r):n}function o5({_intern:t,_key:e},n){let r=e(n);return t.has(r)?t.get(r):(t.set(r,n),n)}function i5({_intern:t,_key:e},n){let r=e(n);return t.has(r)&&(n=t.get(r),t.delete(r)),n}function s5(t){return t!==null&&typeof t=="object"?t.valueOf():t}function ul(t){return t}function We(t,...e){return g2(t,ul,ul,e)}function kr(t,e,...n){return g2(t,ul,e,n)}function m2(t,e,...n){return g2(t,Array.from,e,n)}function g2(t,e,n,r){return function o(i,s){if(s>=r.length)return n(i);let a=new bn,c=r[s++],f=-1;for(let u of i){let p=c(u,++f,i),l=a.get(p);l?l.push(u):a.set(p,[u])}for(let[u,p]of a)a.set(u,o(p,s));return e(a)}(t,0)}function y2(t,e){return Array.from(e,n=>t[n])}function Vo(t,...e){if(typeof t[Symbol.iterator]!="function")throw new TypeError("values is not iterable");t=Array.from(t);let[n]=e;if(n&&n.length!==2||e.length>1){let r=Uint32Array.from(t,(o,i)=>i);return e.length>1?(e=e.map(o=>t.map(o)),r.sort((o,i)=>{for(let s of e){let a=na(s[o],s[i]);if(a)return a}})):(n=t.map(n),r.sort((o,i)=>na(n[o],n[i]))),y2(t,r)}return t.sort(ll(n))}function ll(t=dt){if(t===dt)return na;if(typeof t!="function")throw new TypeError("compare is not a function");return(e,n)=>{let r=t(e,n);return r||r===0?r:(t(n,n)===0)-(t(e,e)===0)}}function na(t,e){return(t==null||!(t>=t))-(e==null||!(e>=e))||(t<e?-1:t>e?1:0)}function Tc(t,e,n){return(e.length!==2?Vo(kr(t,e,n),([r,o],[i,s])=>dt(o,s)||dt(r,i)):Vo(We(t,n),([r,o],[i,s])=>e(o,s)||dt(r,i))).map(([r])=>r)}var rR=Math.sqrt(50),oR=Math.sqrt(10),iR=Math.sqrt(2);function Qm(t,e,n){let r=(e-t)/Math.max(0,n),o=Math.floor(Math.log10(r)),i=r/Math.pow(10,o),s=i>=rR?10:i>=oR?5:i>=iR?2:1,a,c,f;return o<0?(f=Math.pow(10,-o)/s,a=Math.round(t*f),c=Math.round(e*f),a/f<t&&++a,c/f>e&&--c,f=-f):(f=Math.pow(10,o)*s,a=Math.round(t/f),c=Math.round(e/f),a*f<t&&++a,c*f>e&&--c),c<a&&.5<=n&&n<2?Qm(t,e,n*2):[a,c,f]}function Ge(t,e,n){if(e=+e,t=+t,n=+n,!(n>0))return[];if(t===e)return[t];let r=e<t,[o,i,s]=r?Qm(e,t,n):Qm(t,e,n);if(!(i>=o))return[];let a=i-o+1,c=new Array(a);if(r)if(s<0)for(let f=0;f<a;++f)c[f]=(i-f)/-s;else for(let f=0;f<a;++f)c[f]=(i-f)*s;else if(s<0)for(let f=0;f<a;++f)c[f]=(o+f)/-s;else for(let f=0;f<a;++f)c[f]=(o+f)*s;return c}function Ho(t,e,n){return e=+e,t=+t,n=+n,Qm(t,e,n)[2]}function Ic(t,e,n){e=+e,t=+t,n=+n;let r=e<t,o=r?Ho(e,t,n):Ho(t,e,n);return(r?-1:1)*(o<0?1/-o:o)}function Cc(t,e,n){let r;for(;;){let o=Ho(t,e,n);if(o===r||o===0||!isFinite(o))return[t,e];o>0?(t=Math.floor(t/o)*o,e=Math.ceil(e/o)*o):o<0&&(t=Math.ceil(t*o)/o,e=Math.floor(e*o)/o),r=o}}function ji(t){return Math.max(1,Math.ceil(Math.log(Kr(t))/Math.LN2)+1)}function It(t,e){let n;if(e===void 0)for(let r of t)r!=null&&(n<r||n===void 0&&r>=r)&&(n=r);else{let r=-1;for(let o of t)(o=e(o,++r,t))!=null&&(n<o||n===void 0&&o>=o)&&(n=o)}return n}function Zm(t,e){let n,r=-1,o=-1;if(e===void 0)for(let i of t)++o,i!=null&&(n<i||n===void 0&&i>=i)&&(n=i,r=o);else for(let i of t)(i=e(i,++o,t))!=null&&(n<i||n===void 0&&i>=i)&&(n=i,r=o);return r}function St(t,e){let n;if(e===void 0)for(let r of t)r!=null&&(n>r||n===void 0&&r>=r)&&(n=r);else{let r=-1;for(let o of t)(o=e(o,++r,t))!=null&&(n>o||n===void 0&&o>=o)&&(n=o)}return n}function Km(t,e){let n,r=-1,o=-1;if(e===void 0)for(let i of t)++o,i!=null&&(n>i||n===void 0&&i>=i)&&(n=i,r=o);else for(let i of t)(i=e(i,++o,t))!=null&&(n>i||n===void 0&&i>=i)&&(n=i,r=o);return r}function Jm(t,e,n=0,r=1/0,o){if(e=Math.floor(e),n=Math.floor(Math.max(0,n)),r=Math.floor(Math.min(t.length-1,r)),!(n<=e&&e<=r))return t;for(o=o===void 0?na:ll(o);r>n;){if(r-n>600){let c=r-n+1,f=e-n+1,u=Math.log(c),p=.5*Math.exp(2*u/3),l=.5*Math.sqrt(u*p*(c-p)/c)*(f-c/2<0?-1:1),h=Math.max(n,Math.floor(e-f*p/c+l)),d=Math.min(r,Math.floor(e+(c-f)*p/c+l));Jm(t,e,h,d,o)}let i=t[e],s=n,a=r;for(pl(t,n,e),o(t[r],i)>0&&pl(t,n,r);s<a;){for(pl(t,s,a),++s,--a;o(t[s],i)<0;)++s;for(;o(t[a],i)>0;)--a}o(t[n],i)===0?pl(t,n,a):(++a,pl(t,a,r)),a<=e&&(n=a+1),e<=a&&(r=a-1)}return t}function pl(t,e,n){let r=t[e];t[e]=t[n],t[n]=r}function ra(t,e=dt){let n,r=!1;if(e.length===1){let o;for(let i of t){let s=e(i);(r?dt(s,o)>0:dt(s,s)===0)&&(n=i,o=s,r=!0)}}else for(let o of t)(r?e(o,n)>0:e(o,o)===0)&&(n=o,r=!0);return n}function vn(t,e,n){if(t=Float64Array.from(J4(t,n)),!(!(r=t.length)||isNaN(e=+e))){if(e<=0||r<2)return St(t);if(e>=1)return It(t);var r,o=(r-1)*e,i=Math.floor(o),s=It(Jm(t,i).subarray(0,i+1)),a=St(t.subarray(i+1));return s+(a-s)*(o-i)}}function x2(t,e,n=cl){if(!(!(r=t.length)||isNaN(e=+e))){if(e<=0||r<2)return+n(t[0],0,t);if(e>=1)return+n(t[r-1],r-1,t);var r,o=(r-1)*e,i=Math.floor(o),s=+n(t[i],i,t),a=+n(t[i+1],i+1,t);return s+(a-s)*(o-i)}}function t0(t,e,n){let r=Kr(t),o=vn(t,.75)-vn(t,.25);return r&&o?Math.ceil((n-e)/(2*o*Math.pow(r,-1/3))):1}function hl(t,e,n){let r=Kr(t),o=fr(t);return r&&o?Math.ceil((n-e)*Math.cbrt(r)/(3.49*o)):1}function Qo(t,e){let n=0,r=0;if(e===void 0)for(let o of t)o!=null&&(o=+o)>=o&&(++n,r+=o);else{let o=-1;for(let i of t)(i=e(i,++o,t))!=null&&(i=+i)>=i&&(++n,r+=i)}if(n)return r/n}function Rr(t,e){return vn(t,.5,e)}function*aR(t){for(let e of t)yield*e}function Nc(t){return Array.from(aR(t))}function kc(t,e){let n=new bn;if(e===void 0)for(let i of t)i!=null&&i>=i&&n.set(i,(n.get(i)||0)+1);else{let i=-1;for(let s of t)(s=e(s,++i,t))!=null&&s>=s&&n.set(s,(n.get(s)||0)+1)}let r,o=0;for(let[i,s]of n)s>o&&(o=s,r=i);return r}function e0(t,e=cR){let n=[],r,o=!1;for(let i of t)o&&n.push(e(r,i)),r=i,o=!0;return n}function cR(t,e){return[t,e]}function le(t,e,n){t=+t,e=+e,n=(o=arguments.length)<2?(e=t,t=0,1):o<3?1:+n;for(var r=-1,o=Math.max(0,Math.ceil((e-t)/n))|0,i=new Array(o);++r<o;)i[r]=t+r*n;return i}function dl(t,e=dt){if(typeof t[Symbol.iterator]!="function")throw new TypeError("values is not iterable");let n=Array.from(t),r=new Float64Array(n.length);e.length!==2&&(n=n.map(e),e=dt);let o=(a,c)=>e(n[a],n[c]),i,s;return t=Uint32Array.from(n,(a,c)=>c),t.sort(e===dt?(a,c)=>na(n[a],n[c]):ll(o)),t.forEach((a,c)=>{let f=o(a,i===void 0?a:i);f>=0?((i===void 0||f>0)&&(i=a,s=c),r[a]=s):r[a]=NaN}),r}function n0(t,e=dt){let n,r=!1;if(e.length===1){let o;for(let i of t){let s=e(i);(r?dt(s,o)<0:dt(s,s)===0)&&(n=i,o=s,r=!0)}}else for(let o of t)(r?e(o,n)<0:e(o,o)===0)&&(n=o,r=!0);return n}function Ve(t,e){let n=0;if(e===void 0)for(let r of t)(r=+r)&&(n+=r);else{let r=-1;for(let o of t)(o=+e(o,++r,t))&&(n+=o)}return n}function Xi(t){if(typeof t[Symbol.iterator]!="function")throw new TypeError("values is not iterable");return Array.from(t).reverse()}function a5(t){return t}var b2=1,w2=2,v2=3,r0=4,c5=1e-6;function fR(t){return"translate("+t+",0)"}function uR(t){return"translate(0,"+t+")"}function lR(t){return e=>+t(e)}function pR(t,e){return e=Math.max(0,t.bandwidth()-e*2)/2,t.round()&&(e=Math.round(e)),n=>+t(n)+e}function hR(){return!this.__axis}function dR(t,e){var n=[],r=null,o=null,i=6,s=6,a=3,c=typeof window<"u"&&window.devicePixelRatio>1?0:.5,f=t===b2||t===r0?-1:1,u=t===r0||t===w2?"x":"y",p=t===b2||t===v2?fR:uR;function l(h){var d=r??(e.ticks?e.ticks.apply(e,n):e.domain()),m=o??(e.tickFormat?e.tickFormat.apply(e,n):a5),g=Math.max(i,0)+a,y=e.range(),x=+y[0]+c,b=+y[y.length-1]+c,w=(e.bandwidth?pR:lR)(e.copy(),c),_=h.selection?h.selection():h,v=_.selectAll(".domain").data([null]),A=_.selectAll(".tick").data(d,e).order(),E=A.exit(),T=A.enter().append("g").attr("class","tick"),C=A.select("line"),S=A.select("text");v=v.merge(v.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),A=A.merge(T),C=C.merge(T.append("line").attr("stroke","currentColor").attr(u+"2",f*i)),S=S.merge(T.append("text").attr("fill","currentColor").attr(u,f*g).attr("dy",t===b2?"0em":t===v2?"0.71em":"0.32em")),h!==_&&(v=v.transition(h),A=A.transition(h),C=C.transition(h),S=S.transition(h),E=E.transition(h).attr("opacity",c5).attr("transform",function(k){return isFinite(k=w(k))?p(k+c):this.getAttribute("transform")}),T.attr("opacity",c5).attr("transform",function(k){var L=this.parentNode.__axis;return p((L&&isFinite(L=L(k))?L:w(k))+c)})),E.remove(),v.attr("d",t===r0||t===w2?s?"M"+f*s+","+x+"H"+c+"V"+b+"H"+f*s:"M"+c+","+x+"V"+b:s?"M"+x+","+f*s+"V"+c+"H"+b+"V"+f*s:"M"+x+","+c+"H"+b),A.attr("opacity",1).attr("transform",function(k){return p(w(k)+c)}),C.attr(u+"2",f*i),S.attr(u,f*g).text(m),_.filter(hR).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",t===w2?"start":t===r0?"end":"middle"),_.each(function(){this.__axis=w})}return l.scale=function(h){return arguments.length?(e=h,l):e},l.ticks=function(){return n=Array.from(arguments),l},l.tickArguments=function(h){return arguments.length?(n=h==null?[]:Array.from(h),l):n.slice()},l.tickValues=function(h){return arguments.length?(r=h==null?null:Array.from(h),l):r&&r.slice()},l.tickFormat=function(h){return arguments.length?(o=h,l):o},l.tickSize=function(h){return arguments.length?(i=s=+h,l):i},l.tickSizeInner=function(h){return arguments.length?(i=+h,l):i},l.tickSizeOuter=function(h){return arguments.length?(s=+h,l):s},l.tickPadding=function(h){return arguments.length?(a=+h,l):a},l.offset=function(h){return arguments.length?(c=+h,l):c},l}function _2(t){return dR(v2,t)}var mR={value:()=>{}};function u5(){for(var t=0,e=arguments.length,n={},r;t<e;++t){if(!(r=arguments[t]+"")||r in n||/[\s.]/.test(r))throw new Error("illegal type: "+r);n[r]=[]}return new o0(n)}function o0(t){this._=t}function gR(t,e){return t.trim().split(/^|\s+/).map(function(n){var r="",o=n.indexOf(".");if(o>=0&&(r=n.slice(o+1),n=n.slice(0,o)),n&&!e.hasOwnProperty(n))throw new Error("unknown type: "+n);return{type:n,name:r}})}o0.prototype=u5.prototype={constructor:o0,on:function(t,e){var n=this._,r=gR(t+"",n),o,i=-1,s=r.length;if(arguments.length<2){for(;++i<s;)if((o=(t=r[i]).type)&&(o=yR(n[o],t.name)))return o;return}if(e!=null&&typeof e!="function")throw new Error("invalid callback: "+e);for(;++i<s;)if(o=(t=r[i]).type)n[o]=f5(n[o],t.name,e);else if(e==null)for(o in n)n[o]=f5(n[o],t.name,null);return this},copy:function(){var t={},e=this._;for(var n in e)t[n]=e[n].slice();return new o0(t)},call:function(t,e){if((o=arguments.length-2)>0)for(var n=new Array(o),r=0,o,i;r<o;++r)n[r]=arguments[r+2];if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(i=this._[t],r=0,o=i.length;r<o;++r)i[r].value.apply(e,n)},apply:function(t,e,n){if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(var r=this._[t],o=0,i=r.length;o<i;++o)r[o].value.apply(e,n)}};function yR(t,e){for(var n=0,r=t.length,o;n<r;++n)if((o=t[n]).name===e)return o.value}function f5(t,e,n){for(var r=0,o=t.length;r<o;++r)if(t[r].name===e){t[r]=mR,t=t.slice(0,r).concat(t.slice(r+1));break}return n!=null&&t.push({name:e,value:n}),t}var oa=u5;var i0="http://www.w3.org/1999/xhtml",_n={svg:"http://www.w3.org/2000/svg",xhtml:i0,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function Zo(t){var e=t+="",n=e.indexOf(":");return n>=0&&(e=t.slice(0,n))!=="xmlns"&&(t=t.slice(n+1)),_n.hasOwnProperty(e)?{space:_n[e],local:t}:t}function xR(t){return function(){var e=this.ownerDocument,n=this.namespaceURI;return n===i0&&e.documentElement.namespaceURI===i0?e.createElement(t):e.createElementNS(n,t)}}function bR(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function Ko(t){var e=Zo(t);return(e.local?bR:xR)(e)}function wR(){}function ia(t){return t==null?wR:function(){return this.querySelector(t)}}function l5(t){typeof t!="function"&&(t=ia(t));for(var e=this._groups,n=e.length,r=new Array(n),o=0;o<n;++o)for(var i=e[o],s=i.length,a=r[o]=new Array(s),c,f,u=0;u<s;++u)(c=i[u])&&(f=t.call(c,c.__data__,u,i))&&("__data__"in c&&(f.__data__=c.__data__),a[u]=f);return new se(r,this._parents)}function M2(t){return t==null?[]:Array.isArray(t)?t:Array.from(t)}function vR(){return[]}function ml(t){return t==null?vR:function(){return this.querySelectorAll(t)}}function _R(t){return function(){return M2(t.apply(this,arguments))}}function p5(t){typeof t=="function"?t=_R(t):t=ml(t);for(var e=this._groups,n=e.length,r=[],o=[],i=0;i<n;++i)for(var s=e[i],a=s.length,c,f=0;f<a;++f)(c=s[f])&&(r.push(t.call(c,c.__data__,f,s)),o.push(c));return new se(r,o)}function gl(t){return function(){return this.matches(t)}}function s0(t){return function(e){return e.matches(t)}}var MR=Array.prototype.find;function SR(t){return function(){return MR.call(this.children,t)}}function AR(){return this.firstElementChild}function h5(t){return this.select(t==null?AR:SR(typeof t=="function"?t:s0(t)))}var ER=Array.prototype.filter;function TR(){return Array.from(this.children)}function IR(t){return function(){return ER.call(this.children,t)}}function d5(t){return this.selectAll(t==null?TR:IR(typeof t=="function"?t:s0(t)))}function m5(t){typeof t!="function"&&(t=gl(t));for(var e=this._groups,n=e.length,r=new Array(n),o=0;o<n;++o)for(var i=e[o],s=i.length,a=r[o]=[],c,f=0;f<s;++f)(c=i[f])&&t.call(c,c.__data__,f,i)&&a.push(c);return new se(r,this._parents)}function a0(t){return new Array(t.length)}function g5(){return new se(this._enter||this._groups.map(a0),this._parents)}function yl(t,e){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=e}yl.prototype={constructor:yl,appendChild:function(t){return this._parent.insertBefore(t,this._next)},insertBefore:function(t,e){return this._parent.insertBefore(t,e)},querySelector:function(t){return this._parent.querySelector(t)},querySelectorAll:function(t){return this._parent.querySelectorAll(t)}};function y5(t){return function(){return t}}function CR(t,e,n,r,o,i){for(var s=0,a,c=e.length,f=i.length;s<f;++s)(a=e[s])?(a.__data__=i[s],r[s]=a):n[s]=new yl(t,i[s]);for(;s<c;++s)(a=e[s])&&(o[s]=a)}function NR(t,e,n,r,o,i,s){var a,c,f=new Map,u=e.length,p=i.length,l=new Array(u),h;for(a=0;a<u;++a)(c=e[a])&&(l[a]=h=s.call(c,c.__data__,a,e)+"",f.has(h)?o[a]=c:f.set(h,c));for(a=0;a<p;++a)h=s.call(t,i[a],a,i)+"",(c=f.get(h))?(r[a]=c,c.__data__=i[a],f.delete(h)):n[a]=new yl(t,i[a]);for(a=0;a<u;++a)(c=e[a])&&f.get(l[a])===c&&(o[a]=c)}function kR(t){return t.__data__}function x5(t,e){if(!arguments.length)return Array.from(this,kR);var n=e?NR:CR,r=this._parents,o=this._groups;typeof t!="function"&&(t=y5(t));for(var i=o.length,s=new Array(i),a=new Array(i),c=new Array(i),f=0;f<i;++f){var u=r[f],p=o[f],l=p.length,h=RR(t.call(u,u&&u.__data__,f,r)),d=h.length,m=a[f]=new Array(d),g=s[f]=new Array(d),y=c[f]=new Array(l);n(u,p,m,g,y,h,e);for(var x=0,b=0,w,_;x<d;++x)if(w=m[x]){for(x>=b&&(b=x+1);!(_=g[b])&&++b<d;);w._next=_||null}}return s=new se(s,r),s._enter=a,s._exit=c,s}function RR(t){return typeof t=="object"&&"length"in t?t:Array.from(t)}function b5(){return new se(this._exit||this._groups.map(a0),this._parents)}function w5(t,e,n){var r=this.enter(),o=this,i=this.exit();return typeof t=="function"?(r=t(r),r&&(r=r.selection())):r=r.append(t+""),e!=null&&(o=e(o),o&&(o=o.selection())),n==null?i.remove():n(i),r&&o?r.merge(o).order():o}function v5(t){for(var e=t.selection?t.selection():t,n=this._groups,r=e._groups,o=n.length,i=r.length,s=Math.min(o,i),a=new Array(o),c=0;c<s;++c)for(var f=n[c],u=r[c],p=f.length,l=a[c]=new Array(p),h,d=0;d<p;++d)(h=f[d]||u[d])&&(l[d]=h);for(;c<o;++c)a[c]=n[c];return new se(a,this._parents)}function _5(){for(var t=this._groups,e=-1,n=t.length;++e<n;)for(var r=t[e],o=r.length-1,i=r[o],s;--o>=0;)(s=r[o])&&(i&&s.compareDocumentPosition(i)^4&&i.parentNode.insertBefore(s,i),i=s);return this}function M5(t){t||(t=LR);function e(p,l){return p&&l?t(p.__data__,l.__data__):!p-!l}for(var n=this._groups,r=n.length,o=new Array(r),i=0;i<r;++i){for(var s=n[i],a=s.length,c=o[i]=new Array(a),f,u=0;u<a;++u)(f=s[u])&&(c[u]=f);c.sort(e)}return new se(o,this._parents).order()}function LR(t,e){return t<e?-1:t>e?1:t>=e?0:NaN}function S5(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this}function A5(){return Array.from(this)}function E5(){for(var t=this._groups,e=0,n=t.length;e<n;++e)for(var r=t[e],o=0,i=r.length;o<i;++o){var s=r[o];if(s)return s}return null}function T5(){let t=0;for(let e of this)++t;return t}function I5(){return!this.node()}function C5(t){for(var e=this._groups,n=0,r=e.length;n<r;++n)for(var o=e[n],i=0,s=o.length,a;i<s;++i)(a=o[i])&&t.call(a,a.__data__,i,o);return this}function OR(t){return function(){this.removeAttribute(t)}}function $R(t){return function(){this.removeAttributeNS(t.space,t.local)}}function DR(t,e){return function(){this.setAttribute(t,e)}}function FR(t,e){return function(){this.setAttributeNS(t.space,t.local,e)}}function PR(t,e){return function(){var n=e.apply(this,arguments);n==null?this.removeAttribute(t):this.setAttribute(t,n)}}function qR(t,e){return function(){var n=e.apply(this,arguments);n==null?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,n)}}function N5(t,e){var n=Zo(t);if(arguments.length<2){var r=this.node();return n.local?r.getAttributeNS(n.space,n.local):r.getAttribute(n)}return this.each((e==null?n.local?$R:OR:typeof e=="function"?n.local?qR:PR:n.local?FR:DR)(n,e))}function c0(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}function BR(t){return function(){this.style.removeProperty(t)}}function zR(t,e,n){return function(){this.style.setProperty(t,e,n)}}function YR(t,e,n){return function(){var r=e.apply(this,arguments);r==null?this.style.removeProperty(t):this.style.setProperty(t,r,n)}}function k5(t,e,n){return arguments.length>1?this.each((e==null?BR:typeof e=="function"?YR:zR)(t,e,n??"")):Wi(this.node(),t)}function Wi(t,e){return t.style.getPropertyValue(e)||c0(t).getComputedStyle(t,null).getPropertyValue(e)}function UR(t){return function(){delete this[t]}}function jR(t,e){return function(){this[t]=e}}function XR(t,e){return function(){var n=e.apply(this,arguments);n==null?delete this[t]:this[t]=n}}function R5(t,e){return arguments.length>1?this.each((e==null?UR:typeof e=="function"?XR:jR)(t,e)):this.node()[t]}function L5(t){return t.trim().split(/^|\s+/)}function S2(t){return t.classList||new O5(t)}function O5(t){this._node=t,this._names=L5(t.getAttribute("class")||"")}O5.prototype={add:function(t){var e=this._names.indexOf(t);e<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var e=this._names.indexOf(t);e>=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};function $5(t,e){for(var n=S2(t),r=-1,o=e.length;++r<o;)n.add(e[r])}function D5(t,e){for(var n=S2(t),r=-1,o=e.length;++r<o;)n.remove(e[r])}function WR(t){return function(){$5(this,t)}}function GR(t){return function(){D5(this,t)}}function VR(t,e){return function(){(e.apply(this,arguments)?$5:D5)(this,t)}}function F5(t,e){var n=L5(t+"");if(arguments.length<2){for(var r=S2(this.node()),o=-1,i=n.length;++o<i;)if(!r.contains(n[o]))return!1;return!0}return this.each((typeof e=="function"?VR:e?WR:GR)(n,e))}function HR(){this.textContent=""}function QR(t){return function(){this.textContent=t}}function ZR(t){return function(){var e=t.apply(this,arguments);this.textContent=e??""}}function P5(t){return arguments.length?this.each(t==null?HR:(typeof t=="function"?ZR:QR)(t)):this.node().textContent}function KR(){this.innerHTML=""}function JR(t){return function(){this.innerHTML=t}}function tL(t){return function(){var e=t.apply(this,arguments);this.innerHTML=e??""}}function q5(t){return arguments.length?this.each(t==null?KR:(typeof t=="function"?tL:JR)(t)):this.node().innerHTML}function eL(){this.nextSibling&&this.parentNode.appendChild(this)}function B5(){return this.each(eL)}function nL(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function z5(){return this.each(nL)}function Y5(t){var e=typeof t=="function"?t:Ko(t);return this.select(function(){return this.appendChild(e.apply(this,arguments))})}function rL(){return null}function U5(t,e){var n=typeof t=="function"?t:Ko(t),r=e==null?rL:typeof e=="function"?e:ia(e);return this.select(function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)})}function oL(){var t=this.parentNode;t&&t.removeChild(this)}function j5(){return this.each(oL)}function iL(){var t=this.cloneNode(!1),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function sL(){var t=this.cloneNode(!0),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function X5(t){return this.select(t?sL:iL)}function W5(t){return arguments.length?this.property("__data__",t):this.node().__data__}function aL(t){return function(e){t.call(this,e,this.__data__)}}function cL(t){return t.trim().split(/^|\s+/).map(function(e){var n="",r=e.indexOf(".");return r>=0&&(n=e.slice(r+1),e=e.slice(0,r)),{type:e,name:n}})}function fL(t){return function(){var e=this.__on;if(e){for(var n=0,r=-1,o=e.length,i;n<o;++n)i=e[n],(!t.type||i.type===t.type)&&i.name===t.name?this.removeEventListener(i.type,i.listener,i.options):e[++r]=i;++r?e.length=r:delete this.__on}}}function uL(t,e,n){return function(){var r=this.__on,o,i=aL(e);if(r){for(var s=0,a=r.length;s<a;++s)if((o=r[s]).type===t.type&&o.name===t.name){this.removeEventListener(o.type,o.listener,o.options),this.addEventListener(o.type,o.listener=i,o.options=n),o.value=e;return}}this.addEventListener(t.type,i,n),o={type:t.type,name:t.name,value:e,listener:i,options:n},r?r.push(o):this.__on=[o]}}function G5(t,e,n){var r=cL(t+""),o,i=r.length,s;if(arguments.length<2){var a=this.node().__on;if(a){for(var c=0,f=a.length,u;c<f;++c)for(o=0,u=a[c];o<i;++o)if((s=r[o]).type===u.type&&s.name===u.name)return u.value}return}for(a=e?uL:fL,o=0;o<i;++o)this.each(a(r[o],e,n));return this}function V5(t,e,n){var r=c0(t),o=r.CustomEvent;typeof o=="function"?o=new o(e,n):(o=r.document.createEvent("Event"),n?(o.initEvent(e,n.bubbles,n.cancelable),o.detail=n.detail):o.initEvent(e,!1,!1)),t.dispatchEvent(o)}function lL(t,e){return function(){return V5(this,t,e)}}function pL(t,e){return function(){return V5(this,t,e.apply(this,arguments))}}function H5(t,e){return this.each((typeof e=="function"?pL:lL)(t,e))}function*Q5(){for(var t=this._groups,e=0,n=t.length;e<n;++e)for(var r=t[e],o=0,i=r.length,s;o<i;++o)(s=r[o])&&(yield s)}var A2=[null];function se(t,e){this._groups=t,this._parents=e}function Z5(){return new se([[document.documentElement]],A2)}function hL(){return this}se.prototype=Z5.prototype={constructor:se,select:l5,selectAll:p5,selectChild:h5,selectChildren:d5,filter:m5,data:x5,enter:g5,exit:b5,join:w5,merge:v5,selection:hL,order:_5,sort:M5,call:S5,nodes:A5,node:E5,size:T5,empty:I5,each:C5,attr:N5,style:k5,property:R5,classed:F5,text:P5,html:q5,raise:B5,lower:z5,append:Y5,insert:U5,remove:j5,clone:X5,datum:W5,on:G5,dispatch:H5,[Symbol.iterator]:Q5};var Jo=Z5;function At(t){return typeof t=="string"?new se([[document.querySelector(t)]],[document.documentElement]):new se([[t]],A2)}function K5(t){let e;for(;e=t.sourceEvent;)t=e;return t}function on(t,e){if(t=K5(t),e===void 0&&(e=t.currentTarget),e){var n=e.ownerSVGElement||e;if(n.createSVGPoint){var r=n.createSVGPoint();return r.x=t.clientX,r.y=t.clientY,r=r.matrixTransform(e.getScreenCTM().inverse()),[r.x,r.y]}if(e.getBoundingClientRect){var o=e.getBoundingClientRect();return[t.clientX-o.left-e.clientLeft,t.clientY-o.top-e.clientTop]}}return[t.pageX,t.pageY]}var f0={capture:!0,passive:!1};function u0(t){t.preventDefault(),t.stopImmediatePropagation()}function xl(t){var e=t.document.documentElement,n=At(t).on("dragstart.drag",u0,f0);"onselectstart"in e?n.on("selectstart.drag",u0,f0):(e.__noselect=e.style.MozUserSelect,e.style.MozUserSelect="none")}function bl(t,e){var n=t.document.documentElement,r=At(t).on("dragstart.drag",null);e&&(r.on("click.drag",u0,f0),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 ti(t,e,n){t.prototype=e.prototype=n,n.constructor=t}function Gi(t,e){var n=Object.create(t.prototype);for(var r in e)n[r]=e[r];return n}function to(){}var Vi=.7,ca=1/Vi,Rc="\\s*([+-]?\\d+)\\s*",wl="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",Jr="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",dL=/^#([0-9a-f]{3,8})$/,mL=new RegExp(`^rgb\\(${Rc},${Rc},${Rc}\\)$`),gL=new RegExp(`^rgb\\(${Jr},${Jr},${Jr}\\)$`),yL=new RegExp(`^rgba\\(${Rc},${Rc},${Rc},${wl}\\)$`),xL=new RegExp(`^rgba\\(${Jr},${Jr},${Jr},${wl}\\)$`),bL=new RegExp(`^hsl\\(${wl},${Jr},${Jr}\\)$`),wL=new RegExp(`^hsla\\(${wl},${Jr},${Jr},${wl}\\)$`),J5={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};ti(to,Xn,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:tM,formatHex:tM,formatHex8:vL,formatHsl:_L,formatRgb:eM,toString:eM});function tM(){return this.rgb().formatHex()}function vL(){return this.rgb().formatHex8()}function _L(){return aM(this).formatHsl()}function eM(){return this.rgb().formatRgb()}function Xn(t){var e,n;return t=(t+"").trim().toLowerCase(),(e=dL.exec(t))?(n=e[1].length,e=parseInt(e[1],16),n===6?nM(e):n===3?new ge(e>>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):n===8?l0(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):n===4?l0(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)<<4|e&15)/255):null):(e=mL.exec(t))?new ge(e[1],e[2],e[3],1):(e=gL.exec(t))?new ge(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=yL.exec(t))?l0(e[1],e[2],e[3],e[4]):(e=xL.exec(t))?l0(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=bL.exec(t))?iM(e[1],e[2]/100,e[3]/100,1):(e=wL.exec(t))?iM(e[1],e[2]/100,e[3]/100,e[4]):J5.hasOwnProperty(t)?nM(J5[t]):t==="transparent"?new ge(NaN,NaN,NaN,0):null}function nM(t){return new ge(t>>16&255,t>>8&255,t&255,1)}function l0(t,e,n,r){return r<=0&&(t=e=n=NaN),new ge(t,e,n,r)}function vl(t){return t instanceof to||(t=Xn(t)),t?(t=t.rgb(),new ge(t.r,t.g,t.b,t.opacity)):new ge}function Ee(t,e,n,r){return arguments.length===1?vl(t):new ge(t,e,n,r??1)}function ge(t,e,n,r){this.r=+t,this.g=+e,this.b=+n,this.opacity=+r}ti(ge,Ee,Gi(to,{brighter(t){return t=t==null?ca:Math.pow(ca,t),new ge(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?Vi:Math.pow(Vi,t),new ge(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new ge(aa(this.r),aa(this.g),aa(this.b),h0(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:rM,formatHex:rM,formatHex8:ML,formatRgb:oM,toString:oM}));function rM(){return`#${sa(this.r)}${sa(this.g)}${sa(this.b)}`}function ML(){return`#${sa(this.r)}${sa(this.g)}${sa(this.b)}${sa((isNaN(this.opacity)?1:this.opacity)*255)}`}function oM(){let t=h0(this.opacity);return`${t===1?"rgb(":"rgba("}${aa(this.r)}, ${aa(this.g)}, ${aa(this.b)}${t===1?")":`, ${t})`}`}function h0(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function aa(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function sa(t){return t=aa(t),(t<16?"0":"")+t.toString(16)}function iM(t,e,n,r){return r<=0?t=e=n=NaN:n<=0||n>=1?t=e=NaN:e<=0&&(t=NaN),new Lr(t,e,n,r)}function aM(t){if(t instanceof Lr)return new Lr(t.h,t.s,t.l,t.opacity);if(t instanceof to||(t=Xn(t)),!t)return new Lr;if(t instanceof Lr)return t;t=t.rgb();var e=t.r/255,n=t.g/255,r=t.b/255,o=Math.min(e,n,r),i=Math.max(e,n,r),s=NaN,a=i-o,c=(i+o)/2;return a?(e===i?s=(n-r)/a+(n<r)*6:n===i?s=(r-e)/a+2:s=(e-n)/a+4,a/=c<.5?i+o:2-i-o,s*=60):a=c>0&&c<1?0:s,new Lr(s,a,c,t.opacity)}function _l(t,e,n,r){return arguments.length===1?aM(t):new Lr(t,e,n,r??1)}function Lr(t,e,n,r){this.h=+t,this.s=+e,this.l=+n,this.opacity=+r}ti(Lr,_l,Gi(to,{brighter(t){return t=t==null?ca:Math.pow(ca,t),new Lr(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?Vi:Math.pow(Vi,t),new Lr(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,e=isNaN(t)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*e,o=2*n-r;return new ge(E2(t>=240?t-240:t+120,o,r),E2(t,o,r),E2(t<120?t+240:t-120,o,r),this.opacity)},clamp(){return new Lr(sM(this.h),p0(this.s),p0(this.l),h0(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 t=h0(this.opacity);return`${t===1?"hsl(":"hsla("}${sM(this.h)}, ${p0(this.s)*100}%, ${p0(this.l)*100}%${t===1?")":`, ${t})`}`}}));function sM(t){return t=(t||0)%360,t<0?t+360:t}function p0(t){return Math.max(0,Math.min(1,t||0))}function E2(t,e,n){return(t<60?e+(n-e)*t/60:t<180?n:t<240?e+(n-e)*(240-t)/60:e)*255}var d0=Math.PI/180,m0=180/Math.PI;var g0=18,cM=.96422,fM=1,uM=.82521,lM=4/29,Lc=6/29,pM=3*Lc*Lc,SL=Lc*Lc*Lc;function hM(t){if(t instanceof eo)return new eo(t.l,t.a,t.b,t.opacity);if(t instanceof ei)return dM(t);t instanceof ge||(t=vl(t));var e=N2(t.r),n=N2(t.g),r=N2(t.b),o=T2((.2225045*e+.7168786*n+.0606169*r)/fM),i,s;return e===n&&n===r?i=s=o:(i=T2((.4360747*e+.3850649*n+.1430804*r)/cM),s=T2((.0139322*e+.0971045*n+.7141733*r)/uM)),new eo(116*o-16,500*(i-o),200*(o-s),t.opacity)}function Oc(t,e,n,r){return arguments.length===1?hM(t):new eo(t,e,n,r??1)}function eo(t,e,n,r){this.l=+t,this.a=+e,this.b=+n,this.opacity=+r}ti(eo,Oc,Gi(to,{brighter(t){return new eo(this.l+g0*(t??1),this.a,this.b,this.opacity)},darker(t){return new eo(this.l-g0*(t??1),this.a,this.b,this.opacity)},rgb(){var t=(this.l+16)/116,e=isNaN(this.a)?t:t+this.a/500,n=isNaN(this.b)?t:t-this.b/200;return e=cM*I2(e),t=fM*I2(t),n=uM*I2(n),new ge(C2(3.1338561*e-1.6168667*t-.4906146*n),C2(-.9787684*e+1.9161415*t+.033454*n),C2(.0719453*e-.2289914*t+1.4052427*n),this.opacity)}}));function T2(t){return t>SL?Math.pow(t,1/3):t/pM+lM}function I2(t){return t>Lc?t*t*t:pM*(t-lM)}function C2(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function N2(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function AL(t){if(t instanceof ei)return new ei(t.h,t.c,t.l,t.opacity);if(t instanceof eo||(t=hM(t)),t.a===0&&t.b===0)return new ei(NaN,0<t.l&&t.l<100?0:NaN,t.l,t.opacity);var e=Math.atan2(t.b,t.a)*m0;return new ei(e<0?e+360:e,Math.sqrt(t.a*t.a+t.b*t.b),t.l,t.opacity)}function Ml(t,e,n,r){return arguments.length===1?AL(t):new ei(t,e,n,r??1)}function ei(t,e,n,r){this.h=+t,this.c=+e,this.l=+n,this.opacity=+r}function dM(t){if(isNaN(t.h))return new eo(t.l,0,0,t.opacity);var e=t.h*d0;return new eo(t.l,Math.cos(e)*t.c,Math.sin(e)*t.c,t.opacity)}ti(ei,Ml,Gi(to,{brighter(t){return new ei(this.h,this.c,this.l+g0*(t??1),this.opacity)},darker(t){return new ei(this.h,this.c,this.l-g0*(t??1),this.opacity)},rgb(){return dM(this).rgb()}}));var xM=-.14861,k2=1.78277,R2=-.29227,y0=-.90649,Sl=1.97294,mM=Sl*y0,gM=Sl*k2,yM=k2*R2-y0*xM;function EL(t){if(t instanceof fa)return new fa(t.h,t.s,t.l,t.opacity);t instanceof ge||(t=vl(t));var e=t.r/255,n=t.g/255,r=t.b/255,o=(yM*r+mM*e-gM*n)/(yM+mM-gM),i=r-o,s=(Sl*(n-o)-R2*i)/y0,a=Math.sqrt(s*s+i*i)/(Sl*o*(1-o)),c=a?Math.atan2(s,i)*m0-120:NaN;return new fa(c<0?c+360:c,a,o,t.opacity)}function Mn(t,e,n,r){return arguments.length===1?EL(t):new fa(t,e,n,r??1)}function fa(t,e,n,r){this.h=+t,this.s=+e,this.l=+n,this.opacity=+r}ti(fa,Mn,Gi(to,{brighter(t){return t=t==null?ca:Math.pow(ca,t),new fa(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?Vi:Math.pow(Vi,t),new fa(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=isNaN(this.h)?0:(this.h+120)*d0,e=+this.l,n=isNaN(this.s)?0:this.s*e*(1-e),r=Math.cos(t),o=Math.sin(t);return new ge(255*(e+n*(xM*r+k2*o)),255*(e+n*(R2*r+y0*o)),255*(e+n*(Sl*r)),this.opacity)}}));function L2(t,e,n,r,o){var i=t*t,s=i*t;return((1-3*t+3*i-s)*e+(4-6*i+3*s)*n+(1+3*t+3*i-3*s)*r+s*o)/6}function bM(t){var e=t.length-1;return function(n){var r=n<=0?n=0:n>=1?(n=1,e-1):Math.floor(n*e),o=t[r],i=t[r+1],s=r>0?t[r-1]:2*o-i,a=r<e-1?t[r+2]:2*i-o;return L2((n-r/e)*e,s,o,i,a)}}function wM(t){var e=t.length;return function(n){var r=Math.floor(((n%=1)<0?++n:n)*e),o=t[(r+e-1)%e],i=t[r%e],s=t[(r+1)%e],a=t[(r+2)%e];return L2((n-r/e)*e,o,i,s,a)}}var $c=t=>()=>t;function vM(t,e){return function(n){return t+n*e}}function TL(t,e,n){return t=Math.pow(t,n),e=Math.pow(e,n)-t,n=1/n,function(r){return Math.pow(t+r*e,n)}}function Dc(t,e){var n=e-t;return n?vM(t,n>180||n<-180?n-360*Math.round(n/360):n):$c(isNaN(t)?e:t)}function _M(t){return(t=+t)==1?Kt:function(e,n){return n-e?TL(e,n,t):$c(isNaN(e)?n:e)}}function Kt(t,e){var n=e-t;return n?vM(t,n):$c(isNaN(t)?e:t)}var ur=function t(e){var n=_M(e);function r(o,i){var s=n((o=Ee(o)).r,(i=Ee(i)).r),a=n(o.g,i.g),c=n(o.b,i.b),f=Kt(o.opacity,i.opacity);return function(u){return o.r=s(u),o.g=a(u),o.b=c(u),o.opacity=f(u),o+""}}return r.gamma=t,r}(1);function MM(t){return function(e){var n=e.length,r=new Array(n),o=new Array(n),i=new Array(n),s,a;for(s=0;s<n;++s)a=Ee(e[s]),r[s]=a.r||0,o[s]=a.g||0,i[s]=a.b||0;return r=t(r),o=t(o),i=t(i),a.opacity=1,function(c){return a.r=r(c),a.g=o(c),a.b=i(c),a+""}}}var O2=MM(bM),IL=MM(wM);function SM(t,e){e||(e=[]);var n=t?Math.min(e.length,t.length):0,r=e.slice(),o;return function(i){for(o=0;o<n;++o)r[o]=t[o]*(1-i)+e[o]*i;return r}}function AM(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)}function EM(t,e){var n=e?e.length:0,r=t?Math.min(n,t.length):0,o=new Array(r),i=new Array(n),s;for(s=0;s<r;++s)o[s]=Wn(t[s],e[s]);for(;s<n;++s)i[s]=e[s];return function(a){for(s=0;s<r;++s)i[s]=o[s](a);return i}}function TM(t,e){var n=new Date;return t=+t,e=+e,function(r){return n.setTime(t*(1-r)+e*r),n}}function Qt(t,e){return t=+t,e=+e,function(n){return t*(1-n)+e*n}}function IM(t,e){var n={},r={},o;(t===null||typeof t!="object")&&(t={}),(e===null||typeof e!="object")&&(e={});for(o in e)o in t?n[o]=Wn(t[o],e[o]):r[o]=e[o];return function(i){for(o in n)r[o]=n[o](i);return r}}var D2=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,$2=new RegExp(D2.source,"g");function CL(t){return function(){return t}}function NL(t){return function(e){return t(e)+""}}function Al(t,e){var n=D2.lastIndex=$2.lastIndex=0,r,o,i,s=-1,a=[],c=[];for(t=t+"",e=e+"";(r=D2.exec(t))&&(o=$2.exec(e));)(i=o.index)>n&&(i=e.slice(n,i),a[s]?a[s]+=i:a[++s]=i),(r=r[0])===(o=o[0])?a[s]?a[s]+=o:a[++s]=o:(a[++s]=null,c.push({i:s,x:Qt(r,o)})),n=$2.lastIndex;return n<e.length&&(i=e.slice(n),a[s]?a[s]+=i:a[++s]=i),a.length<2?c[0]?NL(c[0].x):CL(e):(e=c.length,function(f){for(var u=0,p;u<e;++u)a[(p=c[u]).i]=p.x(f);return a.join("")})}function Wn(t,e){var n=typeof e,r;return e==null||n==="boolean"?$c(e):(n==="number"?Qt:n==="string"?(r=Xn(e))?(e=r,ur):Al:e instanceof Xn?ur:e instanceof Date?TM:AM(e)?SM:Array.isArray(e)?EM:typeof e.valueOf!="function"&&typeof e.toString!="function"||isNaN(e)?IM:Qt)(t,e)}function ua(t,e){return t=+t,e=+e,function(n){return Math.round(t*(1-n)+e*n)}}var CM=180/Math.PI,x0={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function F2(t,e,n,r,o,i){var s,a,c;return(s=Math.sqrt(t*t+e*e))&&(t/=s,e/=s),(c=t*n+e*r)&&(n-=t*c,r-=e*c),(a=Math.sqrt(n*n+r*r))&&(n/=a,r/=a,c/=a),t*r<e*n&&(t=-t,e=-e,c=-c,s=-s),{translateX:o,translateY:i,rotate:Math.atan2(e,t)*CM,skewX:Math.atan(c)*CM,scaleX:s,scaleY:a}}var b0;function NM(t){let e=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(t+"");return e.isIdentity?x0:F2(e.a,e.b,e.c,e.d,e.e,e.f)}function kM(t){return t==null?x0:(b0||(b0=document.createElementNS("http://www.w3.org/2000/svg","g")),b0.setAttribute("transform",t),(t=b0.transform.baseVal.consolidate())?(t=t.matrix,F2(t.a,t.b,t.c,t.d,t.e,t.f)):x0)}function RM(t,e,n,r){function o(f){return f.length?f.pop()+" ":""}function i(f,u,p,l,h,d){if(f!==p||u!==l){var m=h.push("translate(",null,e,null,n);d.push({i:m-4,x:Qt(f,p)},{i:m-2,x:Qt(u,l)})}else(p||l)&&h.push("translate("+p+e+l+n)}function s(f,u,p,l){f!==u?(f-u>180?u+=360:u-f>180&&(f+=360),l.push({i:p.push(o(p)+"rotate(",null,r)-2,x:Qt(f,u)})):u&&p.push(o(p)+"rotate("+u+r)}function a(f,u,p,l){f!==u?l.push({i:p.push(o(p)+"skewX(",null,r)-2,x:Qt(f,u)}):u&&p.push(o(p)+"skewX("+u+r)}function c(f,u,p,l,h,d){if(f!==p||u!==l){var m=h.push(o(h)+"scale(",null,",",null,")");d.push({i:m-4,x:Qt(f,p)},{i:m-2,x:Qt(u,l)})}else(p!==1||l!==1)&&h.push(o(h)+"scale("+p+","+l+")")}return function(f,u){var p=[],l=[];return f=t(f),u=t(u),i(f.translateX,f.translateY,u.translateX,u.translateY,p,l),s(f.rotate,u.rotate,p,l),a(f.skewX,u.skewX,p,l),c(f.scaleX,f.scaleY,u.scaleX,u.scaleY,p,l),f=u=null,function(h){for(var d=-1,m=l.length,g;++d<m;)p[(g=l[d]).i]=g.x(h);return p.join("")}}}var P2=RM(NM,"px, ","px)","deg)"),q2=RM(kM,", ",")",")");var kL=1e-12;function LM(t){return((t=Math.exp(t))+1/t)/2}function RL(t){return((t=Math.exp(t))-1/t)/2}function LL(t){return((t=Math.exp(2*t))-1)/(t+1)}var B2=function t(e,n,r){function o(i,s){var a=i[0],c=i[1],f=i[2],u=s[0],p=s[1],l=s[2],h=u-a,d=p-c,m=h*h+d*d,g,y;if(m<kL)y=Math.log(l/f)/e,g=function(A){return[a+A*h,c+A*d,f*Math.exp(e*A*y)]};else{var x=Math.sqrt(m),b=(l*l-f*f+r*m)/(2*f*n*x),w=(l*l-f*f-r*m)/(2*l*n*x),_=Math.log(Math.sqrt(b*b+1)-b),v=Math.log(Math.sqrt(w*w+1)-w);y=(v-_)/e,g=function(A){var E=A*y,T=LM(_),C=f/(n*x)*(T*LL(e*E+_)-RL(_));return[a+C*h,c+C*d,f*T/LM(e*E+_)]}}return g.duration=y*1e3*e/Math.SQRT2,g}return o.rho=function(i){var s=Math.max(.001,+i),a=s*s,c=a*a;return t(s,a,c)},o}(Math.SQRT2,2,4);function OM(t){return function(e,n){var r=t((e=_l(e)).h,(n=_l(n)).h),o=Kt(e.s,n.s),i=Kt(e.l,n.l),s=Kt(e.opacity,n.opacity);return function(a){return e.h=r(a),e.s=o(a),e.l=i(a),e.opacity=s(a),e+""}}}var z2=OM(Dc),OL=OM(Kt);function w0(t,e){var n=Kt((t=Oc(t)).l,(e=Oc(e)).l),r=Kt(t.a,e.a),o=Kt(t.b,e.b),i=Kt(t.opacity,e.opacity);return function(s){return t.l=n(s),t.a=r(s),t.b=o(s),t.opacity=i(s),t+""}}function $M(t){return function(e,n){var r=t((e=Ml(e)).h,(n=Ml(n)).h),o=Kt(e.c,n.c),i=Kt(e.l,n.l),s=Kt(e.opacity,n.opacity);return function(a){return e.h=r(a),e.c=o(a),e.l=i(a),e.opacity=s(a),e+""}}}var Y2=$M(Dc),$L=$M(Kt);function DM(t){return function e(n){n=+n;function r(o,i){var s=t((o=Mn(o)).h,(i=Mn(i)).h),a=Kt(o.s,i.s),c=Kt(o.l,i.l),f=Kt(o.opacity,i.opacity);return function(u){return o.h=s(u),o.s=a(u),o.l=c(Math.pow(u,n)),o.opacity=f(u),o+""}}return r.gamma=e,r}(1)}var DL=DM(Dc),Fc=DM(Kt);function no(t,e){e===void 0&&(e=t,t=Wn);for(var n=0,r=e.length-1,o=e[0],i=new Array(r<0?0:r);n<r;)i[n]=t(o,o=e[++n]);return function(s){var a=Math.max(0,Math.min(r-1,Math.floor(s*=r)));return i[a](s-a)}}function sn(t,e){for(var n=new Array(e),r=0;r<e;++r)n[r]=t(r/(e-1));return n}var Pc=0,Tl=0,El=0,PM=1e3,v0,Il,_0=0,la=0,M0=0,Cl=typeof performance=="object"&&performance.now?performance:Date,qM=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function kl(){return la||(qM(FL),la=Cl.now()+M0)}function FL(){la=0}function Nl(){this._call=this._time=this._next=null}Nl.prototype=S0.prototype={constructor:Nl,restart:function(t,e,n){if(typeof t!="function")throw new TypeError("callback is not a function");n=(n==null?kl():+n)+(e==null?0:+e),!this._next&&Il!==this&&(Il?Il._next=this:v0=this,Il=this),this._call=t,this._time=n,U2()},stop:function(){this._call&&(this._call=null,this._time=1/0,U2())}};function S0(t,e,n){var r=new Nl;return r.restart(t,e,n),r}function BM(){kl(),++Pc;for(var t=v0,e;t;)(e=la-t._time)>=0&&t._call.call(void 0,e),t=t._next;--Pc}function FM(){la=(_0=Cl.now())+M0,Pc=Tl=0;try{BM()}finally{Pc=0,qL(),la=0}}function PL(){var t=Cl.now(),e=t-_0;e>PM&&(M0-=e,_0=t)}function qL(){for(var t,e=v0,n,r=1/0;e;)e._call?(r>e._time&&(r=e._time),t=e,e=e._next):(n=e._next,e._next=null,e=t?t._next=n:v0=n);Il=t,U2(r)}function U2(t){if(!Pc){Tl&&(Tl=clearTimeout(Tl));var e=t-la;e>24?(t<1/0&&(Tl=setTimeout(FM,t-Cl.now()-M0)),El&&(El=clearInterval(El))):(El||(_0=Cl.now(),El=setInterval(PL,PM)),Pc=1,qM(FM))}}function A0(t,e,n){var r=new Nl;return e=e==null?0:+e,r.restart(o=>{r.stop(),t(o+e)},e,n),r}var BL=oa("start","end","cancel","interrupt"),zL=[],UM=0,zM=1,T0=2,E0=3,YM=4,I0=5,Rl=6;function Hi(t,e,n,r,o,i){var s=t.__transition;if(!s)t.__transition={};else if(n in s)return;YL(t,n,{name:e,index:r,group:o,on:BL,tween:zL,time:i.time,delay:i.delay,duration:i.duration,ease:i.ease,timer:null,state:UM})}function Ll(t,e){var n=Te(t,e);if(n.state>UM)throw new Error("too late; already scheduled");return n}function He(t,e){var n=Te(t,e);if(n.state>E0)throw new Error("too late; already running");return n}function Te(t,e){var n=t.__transition;if(!n||!(n=n[e]))throw new Error("transition not found");return n}function YL(t,e,n){var r=t.__transition,o;r[e]=n,n.timer=S0(i,0,n.time);function i(f){n.state=zM,n.timer.restart(s,n.delay,n.time),n.delay<=f&&s(f-n.delay)}function s(f){var u,p,l,h;if(n.state!==zM)return c();for(u in r)if(h=r[u],h.name===n.name){if(h.state===E0)return A0(s);h.state===YM?(h.state=Rl,h.timer.stop(),h.on.call("interrupt",t,t.__data__,h.index,h.group),delete r[u]):+u<e&&(h.state=Rl,h.timer.stop(),h.on.call("cancel",t,t.__data__,h.index,h.group),delete r[u])}if(A0(function(){n.state===E0&&(n.state=YM,n.timer.restart(a,n.delay,n.time),a(f))}),n.state=T0,n.on.call("start",t,t.__data__,n.index,n.group),n.state===T0){for(n.state=E0,o=new Array(l=n.tween.length),u=0,p=-1;u<l;++u)(h=n.tween[u].value.call(t,t.__data__,n.index,n.group))&&(o[++p]=h);o.length=p+1}}function a(f){for(var u=f<n.duration?n.ease.call(null,f/n.duration):(n.timer.restart(c),n.state=I0,1),p=-1,l=o.length;++p<l;)o[p].call(t,u);n.state===I0&&(n.on.call("end",t,t.__data__,n.index,n.group),c())}function c(){n.state=Rl,n.timer.stop(),delete r[e];for(var f in r)return;delete t.__transition}}function ro(t,e){var n=t.__transition,r,o,i=!0,s;if(n){e=e==null?null:e+"";for(s in n){if((r=n[s]).name!==e){i=!1;continue}o=r.state>T0&&r.state<I0,r.state=Rl,r.timer.stop(),r.on.call(o?"interrupt":"cancel",t,t.__data__,r.index,r.group),delete n[s]}i&&delete t.__transition}}function jM(t){return this.each(function(){ro(this,t)})}function UL(t,e){var n,r;return function(){var o=He(this,t),i=o.tween;if(i!==n){r=n=i;for(var s=0,a=r.length;s<a;++s)if(r[s].name===e){r=r.slice(),r.splice(s,1);break}}o.tween=r}}function jL(t,e,n){var r,o;if(typeof n!="function")throw new Error;return function(){var i=He(this,t),s=i.tween;if(s!==r){o=(r=s).slice();for(var a={name:e,value:n},c=0,f=o.length;c<f;++c)if(o[c].name===e){o[c]=a;break}c===f&&o.push(a)}i.tween=o}}function XM(t,e){var n=this._id;if(t+="",arguments.length<2){for(var r=Te(this.node(),n).tween,o=0,i=r.length,s;o<i;++o)if((s=r[o]).name===t)return s.value;return null}return this.each((e==null?UL:jL)(n,t,e))}function qc(t,e,n){var r=t._id;return t.each(function(){var o=He(this,r);(o.value||(o.value={}))[e]=n.apply(this,arguments)}),function(o){return Te(o,r).value[e]}}function C0(t,e){var n;return(typeof e=="number"?Qt:e instanceof Xn?ur:(n=Xn(e))?(e=n,ur):Al)(t,e)}function XL(t){return function(){this.removeAttribute(t)}}function WL(t){return function(){this.removeAttributeNS(t.space,t.local)}}function GL(t,e,n){var r,o=n+"",i;return function(){var s=this.getAttribute(t);return s===o?null:s===r?i:i=e(r=s,n)}}function VL(t,e,n){var r,o=n+"",i;return function(){var s=this.getAttributeNS(t.space,t.local);return s===o?null:s===r?i:i=e(r=s,n)}}function HL(t,e,n){var r,o,i;return function(){var s,a=n(this),c;return a==null?void this.removeAttribute(t):(s=this.getAttribute(t),c=a+"",s===c?null:s===r&&c===o?i:(o=c,i=e(r=s,a)))}}function QL(t,e,n){var r,o,i;return function(){var s,a=n(this),c;return a==null?void this.removeAttributeNS(t.space,t.local):(s=this.getAttributeNS(t.space,t.local),c=a+"",s===c?null:s===r&&c===o?i:(o=c,i=e(r=s,a)))}}function WM(t,e){var n=Zo(t),r=n==="transform"?q2:C0;return this.attrTween(t,typeof e=="function"?(n.local?QL:HL)(n,r,qc(this,"attr."+t,e)):e==null?(n.local?WL:XL)(n):(n.local?VL:GL)(n,r,e))}function ZL(t,e){return function(n){this.setAttribute(t,e.call(this,n))}}function KL(t,e){return function(n){this.setAttributeNS(t.space,t.local,e.call(this,n))}}function JL(t,e){var n,r;function o(){var i=e.apply(this,arguments);return i!==r&&(n=(r=i)&&KL(t,i)),n}return o._value=e,o}function tO(t,e){var n,r;function o(){var i=e.apply(this,arguments);return i!==r&&(n=(r=i)&&ZL(t,i)),n}return o._value=e,o}function GM(t,e){var n="attr."+t;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(e==null)return this.tween(n,null);if(typeof e!="function")throw new Error;var r=Zo(t);return this.tween(n,(r.local?JL:tO)(r,e))}function eO(t,e){return function(){Ll(this,t).delay=+e.apply(this,arguments)}}function nO(t,e){return e=+e,function(){Ll(this,t).delay=e}}function VM(t){var e=this._id;return arguments.length?this.each((typeof t=="function"?eO:nO)(e,t)):Te(this.node(),e).delay}function rO(t,e){return function(){He(this,t).duration=+e.apply(this,arguments)}}function oO(t,e){return e=+e,function(){He(this,t).duration=e}}function HM(t){var e=this._id;return arguments.length?this.each((typeof t=="function"?rO:oO)(e,t)):Te(this.node(),e).duration}function iO(t,e){if(typeof e!="function")throw new Error;return function(){He(this,t).ease=e}}function QM(t){var e=this._id;return arguments.length?this.each(iO(e,t)):Te(this.node(),e).ease}function sO(t,e){return function(){var n=e.apply(this,arguments);if(typeof n!="function")throw new Error;He(this,t).ease=n}}function ZM(t){if(typeof t!="function")throw new Error;return this.each(sO(this._id,t))}function KM(t){typeof t!="function"&&(t=gl(t));for(var e=this._groups,n=e.length,r=new Array(n),o=0;o<n;++o)for(var i=e[o],s=i.length,a=r[o]=[],c,f=0;f<s;++f)(c=i[f])&&t.call(c,c.__data__,f,i)&&a.push(c);return new Sn(r,this._parents,this._name,this._id)}function JM(t){if(t._id!==this._id)throw new Error;for(var e=this._groups,n=t._groups,r=e.length,o=n.length,i=Math.min(r,o),s=new Array(r),a=0;a<i;++a)for(var c=e[a],f=n[a],u=c.length,p=s[a]=new Array(u),l,h=0;h<u;++h)(l=c[h]||f[h])&&(p[h]=l);for(;a<r;++a)s[a]=e[a];return new Sn(s,this._parents,this._name,this._id)}function aO(t){return(t+"").trim().split(/^|\s+/).every(function(e){var n=e.indexOf(".");return n>=0&&(e=e.slice(0,n)),!e||e==="start"})}function cO(t,e,n){var r,o,i=aO(e)?Ll:He;return function(){var s=i(this,t),a=s.on;a!==r&&(o=(r=a).copy()).on(e,n),s.on=o}}function t8(t,e){var n=this._id;return arguments.length<2?Te(this.node(),n).on.on(t):this.each(cO(n,t,e))}function fO(t){return function(){var e=this.parentNode;for(var n in this.__transition)if(+n!==t)return;e&&e.removeChild(this)}}function e8(){return this.on("end.remove",fO(this._id))}function n8(t){var e=this._name,n=this._id;typeof t!="function"&&(t=ia(t));for(var r=this._groups,o=r.length,i=new Array(o),s=0;s<o;++s)for(var a=r[s],c=a.length,f=i[s]=new Array(c),u,p,l=0;l<c;++l)(u=a[l])&&(p=t.call(u,u.__data__,l,a))&&("__data__"in u&&(p.__data__=u.__data__),f[l]=p,Hi(f[l],e,n,l,f,Te(u,n)));return new Sn(i,this._parents,e,n)}function r8(t){var e=this._name,n=this._id;typeof t!="function"&&(t=ml(t));for(var r=this._groups,o=r.length,i=[],s=[],a=0;a<o;++a)for(var c=r[a],f=c.length,u,p=0;p<f;++p)if(u=c[p]){for(var l=t.call(u,u.__data__,p,c),h,d=Te(u,n),m=0,g=l.length;m<g;++m)(h=l[m])&&Hi(h,e,n,m,l,d);i.push(l),s.push(u)}return new Sn(i,s,e,n)}var uO=Jo.prototype.constructor;function o8(){return new uO(this._groups,this._parents)}function lO(t,e){var n,r,o;return function(){var i=Wi(this,t),s=(this.style.removeProperty(t),Wi(this,t));return i===s?null:i===n&&s===r?o:o=e(n=i,r=s)}}function i8(t){return function(){this.style.removeProperty(t)}}function pO(t,e,n){var r,o=n+"",i;return function(){var s=Wi(this,t);return s===o?null:s===r?i:i=e(r=s,n)}}function hO(t,e,n){var r,o,i;return function(){var s=Wi(this,t),a=n(this),c=a+"";return a==null&&(c=a=(this.style.removeProperty(t),Wi(this,t))),s===c?null:s===r&&c===o?i:(o=c,i=e(r=s,a))}}function dO(t,e){var n,r,o,i="style."+e,s="end."+i,a;return function(){var c=He(this,t),f=c.on,u=c.value[i]==null?a||(a=i8(e)):void 0;(f!==n||o!==u)&&(r=(n=f).copy()).on(s,o=u),c.on=r}}function s8(t,e,n){var r=(t+="")=="transform"?P2:C0;return e==null?this.styleTween(t,lO(t,r)).on("end.style."+t,i8(t)):typeof e=="function"?this.styleTween(t,hO(t,r,qc(this,"style."+t,e))).each(dO(this._id,t)):this.styleTween(t,pO(t,r,e),n).on("end.style."+t,null)}function mO(t,e,n){return function(r){this.style.setProperty(t,e.call(this,r),n)}}function gO(t,e,n){var r,o;function i(){var s=e.apply(this,arguments);return s!==o&&(r=(o=s)&&mO(t,s,n)),r}return i._value=e,i}function a8(t,e,n){var r="style."+(t+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(e==null)return this.tween(r,null);if(typeof e!="function")throw new Error;return this.tween(r,gO(t,e,n??""))}function yO(t){return function(){this.textContent=t}}function xO(t){return function(){var e=t(this);this.textContent=e??""}}function c8(t){return this.tween("text",typeof t=="function"?xO(qc(this,"text",t)):yO(t==null?"":t+""))}function bO(t){return function(e){this.textContent=t.call(this,e)}}function wO(t){var e,n;function r(){var o=t.apply(this,arguments);return o!==n&&(e=(n=o)&&bO(o)),e}return r._value=t,r}function f8(t){var e="text";if(arguments.length<1)return(e=this.tween(e))&&e._value;if(t==null)return this.tween(e,null);if(typeof t!="function")throw new Error;return this.tween(e,wO(t))}function u8(){for(var t=this._name,e=this._id,n=N0(),r=this._groups,o=r.length,i=0;i<o;++i)for(var s=r[i],a=s.length,c,f=0;f<a;++f)if(c=s[f]){var u=Te(c,e);Hi(c,t,n,f,s,{time:u.time+u.delay+u.duration,delay:0,duration:u.duration,ease:u.ease})}return new Sn(r,this._parents,t,n)}function l8(){var t,e,n=this,r=n._id,o=n.size();return new Promise(function(i,s){var a={value:s},c={value:function(){--o===0&&i()}};n.each(function(){var f=He(this,r),u=f.on;u!==t&&(e=(t=u).copy(),e._.cancel.push(a),e._.interrupt.push(a),e._.end.push(c)),f.on=e}),o===0&&i()})}var vO=0;function Sn(t,e,n,r){this._groups=t,this._parents=e,this._name=n,this._id=r}function p8(t){return Jo().transition(t)}function N0(){return++vO}var ni=Jo.prototype;Sn.prototype=p8.prototype={constructor:Sn,select:n8,selectAll:r8,selectChild:ni.selectChild,selectChildren:ni.selectChildren,filter:KM,merge:JM,selection:o8,transition:u8,call:ni.call,nodes:ni.nodes,node:ni.node,size:ni.size,empty:ni.empty,each:ni.each,on:t8,attr:WM,attrTween:GM,style:s8,styleTween:a8,text:c8,textTween:f8,remove:e8,tween:XM,delay:VM,duration:HM,ease:QM,easeVarying:ZM,end:l8,[Symbol.iterator]:ni[Symbol.iterator]};function k0(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}var _O={time:null,delay:0,duration:250,ease:k0};function MO(t,e){for(var n;!(n=t.__transition)||!(n=n[e]);)if(!(t=t.parentNode))throw new Error(`transition ${e} not found`);return n}function h8(t){var e,n;t instanceof Sn?(e=t._id,t=t._name):(e=N0(),(n=_O).time=kl(),t=t==null?null:t+"");for(var r=this._groups,o=r.length,i=0;i<o;++i)for(var s=r[i],a=s.length,c,f=0;f<a;++f)(c=s[f])&&Hi(c,t,e,f,s,n||MO(c,e));return new Sn(r,this._parents,t,e)}Jo.prototype.interrupt=jM;Jo.prototype.transition=h8;var R0=t=>()=>t;function j2(t,{sourceEvent:e,target:n,selection:r,mode:o,dispatch:i}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:e,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},selection:{value:r,enumerable:!0,configurable:!0},mode:{value:o,enumerable:!0,configurable:!0},_:{value:i}})}function d8(t){t.stopImmediatePropagation()}function L0(t){t.preventDefault(),t.stopImmediatePropagation()}var m8={name:"drag"},X2={name:"space"},Bc={name:"handle"},zc={name:"center"},{abs:g8,max:an,min:cn}=Math;function y8(t){return[+t[0],+t[1]]}function G2(t){return[y8(t[0]),y8(t[1])]}var O0={name:"x",handles:["w","e"].map(Ol),input:function(t,e){return t==null?null:[[+t[0],e[0][1]],[+t[1],e[1][1]]]},output:function(t){return t&&[t[0][0],t[1][0]]}},$0={name:"y",handles:["n","s"].map(Ol),input:function(t,e){return t==null?null:[[e[0][0],+t[0]],[e[1][0],+t[1]]]},output:function(t){return t&&[t[0][1],t[1][1]]}},SO={name:"xy",handles:["n","w","e","s","nw","ne","sw","se"].map(Ol),input:function(t){return t==null?null:G2(t)},output:function(t){return t}},ri={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"},x8={e:"w",w:"e",nw:"ne",ne:"nw",se:"sw",sw:"se"},b8={n:"s",s:"n",nw:"sw",ne:"se",se:"ne",sw:"nw"},AO={overlay:1,selection:1,n:null,e:1,s:null,w:-1,nw:-1,ne:1,se:1,sw:-1},EO={overlay:1,selection:1,n:-1,e:null,s:1,w:null,nw:-1,ne:-1,se:1,sw:1};function Ol(t){return{type:t}}function TO(t){return!t.ctrlKey&&!t.button}function IO(){var t=this.ownerSVGElement||this;return t.hasAttribute("viewBox")?(t=t.viewBox.baseVal,[[t.x,t.y],[t.x+t.width,t.y+t.height]]):[[0,0],[t.width.baseVal.value,t.height.baseVal.value]]}function CO(){return navigator.maxTouchPoints||"ontouchstart"in this}function W2(t){for(;!t.__brush;)if(!(t=t.parentNode))return;return t.__brush}function NO(t){return t[0][0]===t[1][0]||t[0][1]===t[1][1]}function V2(){return Z2(O0)}function H2(){return Z2($0)}function Q2(){return Z2(SO)}function Z2(t){var e=IO,n=TO,r=CO,o=!0,i=oa("start","brush","end"),s=6,a;function c(g){var y=g.property("__brush",m).selectAll(".overlay").data([Ol("overlay")]);y.enter().append("rect").attr("class","overlay").attr("pointer-events","all").attr("cursor",ri.overlay).merge(y).each(function(){var b=W2(this).extent;At(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([Ol("selection")]).enter().append("rect").attr("class","selection").attr("cursor",ri.selection).attr("fill","#777").attr("fill-opacity",.3).attr("stroke","#fff").attr("shape-rendering","crispEdges");var x=g.selectAll(".handle").data(t.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 ri[b.type]}),g.each(f).attr("fill","none").attr("pointer-events","all").on("mousedown.brush",l).filter(r).on("touchstart.brush",l).on("touchmove.brush",h).on("touchend.brush touchcancel.brush",d).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,A=t.input(typeof y=="function"?y.apply(this,arguments):y,w.extent),E=Wn(v,A);function T(C){w.selection=C===1&&A===null?null:E(C),f.call(b),_.brush()}return v!==null&&A!==null?T:T(1)}):g.each(function(){var b=this,w=arguments,_=b.__brush,v=t.input(typeof y=="function"?y.apply(b,w):y,_.extent),A=u(b,w).beforestart();ro(b),_.selection=v===null?null:v,f.call(b),A.start(x).brush(x).end(x)})},c.clear=function(g,y){c.move(g,null,y)};function f(){var g=At(this),y=W2(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 p(g,y,x)}function p(g,y,x){this.that=g,this.args=y,this.state=g.__brush,this.active=0,this.clean=x}p.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=At(this.that).datum();i.call(g,this.that,new j2(g,{sourceEvent:y,target:c,selection:t.output(this.state.selection),mode:x,dispatch:i}),b)}};function l(g){if(a&&!g.touches||!n.apply(this,arguments))return;var y=this,x=g.target.__data__.type,b=(o&&g.metaKey?x="overlay":x)==="selection"?m8:o&&g.altKey?zc:Bc,w=t===$0?null:AO[x],_=t===O0?null:EO[x],v=W2(y),A=v.extent,E=v.selection,T=A[0][0],C,S,k=A[0][1],L,M,I=A[1][0],N,R,$=A[1][1],O,D,F=0,P=0,W,K=w&&_&&o&&g.shiftKey,tt,nt,U=Array.from(g.touches||[g],Q=>{let qt=Q.identifier;return Q=on(Q,y),Q.point0=Q.slice(),Q.identifier=qt,Q});ro(y);var et=u(y,arguments,!0).beforestart();if(x==="overlay"){E&&(W=!0);let Q=[U[0],U[1]||U[0]];v.selection=E=[[C=t===$0?T:cn(Q[0][0],Q[1][0]),L=t===O0?k:cn(Q[0][1],Q[1][1])],[N=t===$0?I:an(Q[0][0],Q[1][0]),O=t===O0?$:an(Q[0][1],Q[1][1])]],U.length>1&&bt(g)}else C=E[0][0],L=E[0][1],N=E[1][0],O=E[1][1];S=C,M=L,R=N,D=O;var z=At(y).attr("pointer-events","none"),G=z.selectAll(".overlay").attr("cursor",ri[x]);if(g.touches)et.moved=q,et.ended=st;else{var J=At(g.view).on("mousemove.brush",q,!0).on("mouseup.brush",st,!0);o&&J.on("keydown.brush",Et,!0).on("keyup.brush",Ct,!0),xl(g.view)}f.call(y),et.start(g,b.name);function q(Q){for(let qt of Q.changedTouches||[Q])for(let Bn of U)Bn.identifier===qt.identifier&&(Bn.cur=on(qt,y));if(K&&!tt&&!nt&&U.length===1){let qt=U[0];g8(qt.cur[0]-qt[0])>g8(qt.cur[1]-qt[1])?nt=!0:tt=!0}for(let qt of U)qt.cur&&(qt[0]=qt.cur[0],qt[1]=qt.cur[1]);W=!0,L0(Q),bt(Q)}function bt(Q){let qt=U[0],Bn=qt.point0;var Yr;switch(F=qt[0]-Bn[0],P=qt[1]-Bn[1],b){case X2:case m8:{w&&(F=an(T-C,cn(I-N,F)),S=C+F,R=N+F),_&&(P=an(k-L,cn($-O,P)),M=L+P,D=O+P);break}case Bc:{U[1]?(w&&(S=an(T,cn(I,U[0][0])),R=an(T,cn(I,U[1][0])),w=1),_&&(M=an(k,cn($,U[0][1])),D=an(k,cn($,U[1][1])),_=1)):(w<0?(F=an(T-C,cn(I-C,F)),S=C+F,R=N):w>0&&(F=an(T-N,cn(I-N,F)),S=C,R=N+F),_<0?(P=an(k-L,cn($-L,P)),M=L+P,D=O):_>0&&(P=an(k-O,cn($-O,P)),M=L,D=O+P));break}case zc:{w&&(S=an(T,cn(I,C-F*w)),R=an(T,cn(I,N+F*w))),_&&(M=an(k,cn($,L-P*_)),D=an(k,cn($,O+P*_)));break}}R<S&&(w*=-1,Yr=C,C=N,N=Yr,Yr=S,S=R,R=Yr,x in x8&&G.attr("cursor",ri[x=x8[x]])),D<M&&(_*=-1,Yr=L,L=O,O=Yr,Yr=M,M=D,D=Yr,x in b8&&G.attr("cursor",ri[x=b8[x]])),v.selection&&(E=v.selection),tt&&(S=E[0][0],R=E[1][0]),nt&&(M=E[0][1],D=E[1][1]),(E[0][0]!==S||E[0][1]!==M||E[1][0]!==R||E[1][1]!==D)&&(v.selection=[[S,M],[R,D]],f.call(y),et.brush(Q,b.name))}function st(Q){if(d8(Q),Q.touches){if(Q.touches.length)return;a&&clearTimeout(a),a=setTimeout(function(){a=null},500)}else bl(Q.view,W),J.on("keydown.brush keyup.brush mousemove.brush mouseup.brush",null);z.attr("pointer-events","all"),G.attr("cursor",ri.overlay),v.selection&&(E=v.selection),NO(E)&&(v.selection=null,f.call(y)),et.end(Q,b.name)}function Et(Q){switch(Q.keyCode){case 16:{K=w&&_;break}case 18:{b===Bc&&(w&&(N=R-F*w,C=S+F*w),_&&(O=D-P*_,L=M+P*_),b=zc,bt(Q));break}case 32:{(b===Bc||b===zc)&&(w<0?N=R-F:w>0&&(C=S-F),_<0?O=D-P:_>0&&(L=M-P),b=X2,G.attr("cursor",ri.selection),bt(Q));break}default:return}L0(Q)}function Ct(Q){switch(Q.keyCode){case 16:{K&&(tt=nt=K=!1,bt(Q));break}case 18:{b===zc&&(w<0?N=R:w>0&&(C=S),_<0?O=D:_>0&&(L=M),b=Bc,bt(Q));break}case 32:{b===X2&&(Q.altKey?(w&&(N=R-F*w,C=S+F*w),_&&(O=D-P*_,L=M+P*_),b=zc):(w<0?N=R:w>0&&(C=S),_<0?O=D:_>0&&(L=M),b=Bc),G.attr("cursor",ri[x]),bt(Q));break}default:return}L0(Q)}}function h(g){u(this,arguments).moved(g)}function d(g){u(this,arguments).ended(g)}function m(){var g=this.__brush||{selection:null};return g.extent=G2(e.apply(this,arguments)),g.dim=t,g}return c.extent=function(g){return arguments.length?(e=typeof g=="function"?g:R0(G2(g)),c):e},c.filter=function(g){return arguments.length?(n=typeof g=="function"?g:R0(!!g),c):n},c.touchable=function(g){return arguments.length?(r=typeof g=="function"?g:R0(!!g),c):r},c.handleSize=function(g){return arguments.length?(s=+g,c):s},c.keyModifiers=function(g){return arguments.length?(o=!!g,c):o},c.on=function(){var g=i.on.apply(i,arguments);return g===i?c:g},c}var K2=Math.PI,J2=2*K2,pa=1e-6,kO=J2-pa;function w8(t){this._+=t[0];for(let e=1,n=t.length;e<n;++e)this._+=arguments[e]+t[e]}function RO(t){let e=Math.floor(t);if(!(e>=0))throw new Error(`invalid digits: ${t}`);if(e>15)return w8;let n=10**e;return function(r){this._+=r[0];for(let o=1,i=r.length;o<i;++o)this._+=Math.round(arguments[o]*n)/n+r[o]}}var Qi=class{constructor(e){this._x0=this._y0=this._x1=this._y1=null,this._="",this._append=e==null?w8:RO(e)}moveTo(e,n){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+n}`}closePath(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._append`Z`)}lineTo(e,n){this._append`L${this._x1=+e},${this._y1=+n}`}quadraticCurveTo(e,n,r,o){this._append`Q${+e},${+n},${this._x1=+r},${this._y1=+o}`}bezierCurveTo(e,n,r,o,i,s){this._append`C${+e},${+n},${+r},${+o},${this._x1=+i},${this._y1=+s}`}arcTo(e,n,r,o,i){if(e=+e,n=+n,r=+r,o=+o,i=+i,i<0)throw new Error(`negative radius: ${i}`);let s=this._x1,a=this._y1,c=r-e,f=o-n,u=s-e,p=a-n,l=u*u+p*p;if(this._x1===null)this._append`M${this._x1=e},${this._y1=n}`;else if(l>pa)if(!(Math.abs(p*c-f*u)>pa)||!i)this._append`L${this._x1=e},${this._y1=n}`;else{let h=r-s,d=o-a,m=c*c+f*f,g=h*h+d*d,y=Math.sqrt(m),x=Math.sqrt(l),b=i*Math.tan((K2-Math.acos((m+l-g)/(2*y*x)))/2),w=b/x,_=b/y;Math.abs(w-1)>pa&&this._append`L${e+w*u},${n+w*p}`,this._append`A${i},${i},0,0,${+(p*h>u*d)},${this._x1=e+_*c},${this._y1=n+_*f}`}}arc(e,n,r,o,i,s){if(e=+e,n=+n,r=+r,s=!!s,r<0)throw new Error(`negative radius: ${r}`);let a=r*Math.cos(o),c=r*Math.sin(o),f=e+a,u=n+c,p=1^s,l=s?o-i:i-o;this._x1===null?this._append`M${f},${u}`:(Math.abs(this._x1-f)>pa||Math.abs(this._y1-u)>pa)&&this._append`L${f},${u}`,r&&(l<0&&(l=l%J2+J2),l>kO?this._append`A${r},${r},0,1,${p},${e-a},${n-c}A${r},${r},0,1,${p},${this._x1=f},${this._y1=u}`:l>pa&&this._append`A${r},${r},0,${+(l>=K2)},${p},${this._x1=e+r*Math.cos(i)},${this._y1=n+r*Math.sin(i)}`)}rect(e,n,r,o){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+n}h${r=+r}v${+o}h${-r}Z`}toString(){return this._}};function v8(){return new Qi}v8.prototype=Qi.prototype;function An(t=3){return new Qi(+t)}var LO=Array.prototype,D0=LO.slice;function _8(t,e){return t-e}function M8(t){for(var e=0,n=t.length,r=t[n-1][1]*t[0][0]-t[n-1][0]*t[0][1];++e<n;)r+=t[e-1][1]*t[e][0]-t[e-1][0]*t[e][1];return r}var oo=t=>()=>t;function S8(t,e){for(var n=-1,r=e.length,o;++n<r;)if(o=OO(t,e[n]))return o;return 0}function OO(t,e){for(var n=e[0],r=e[1],o=-1,i=0,s=t.length,a=s-1;i<s;a=i++){var c=t[i],f=c[0],u=c[1],p=t[a],l=p[0],h=p[1];if($O(c,p,e))return 0;u>r!=h>r&&n<(l-f)*(r-u)/(h-u)+f&&(o=-o)}return o}function $O(t,e,n){var r;return DO(t,e,n)&&FO(t[r=+(t[0]===e[0])],n[r],e[r])}function DO(t,e,n){return(e[0]-t[0])*(n[1]-t[1])===(n[0]-t[0])*(e[1]-t[1])}function FO(t,e,n){return t<=e&&e<=n||n<=e&&e<=t}function A8(){}var oi=[[],[[[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 Zi(){var t=1,e=1,n=ji,r=c;function o(f){var u=n(f);if(Array.isArray(u))u=u.slice().sort(_8);else{let p=Ot(f,PO);for(u=Ge(...Cc(p[0],p[1],u),u);u[u.length-1]>=p[1];)u.pop();for(;u[1]<p[0];)u.shift()}return u.map(p=>i(f,p))}function i(f,u){let p=u==null?NaN:+u;if(isNaN(p))throw new Error(`invalid value: ${u}`);var l=[],h=[];return s(f,p,function(d){r(d,f,p),M8(d)>0?l.push([d]):h.push(d)}),h.forEach(function(d){for(var m=0,g=l.length,y;m<g;++m)if(S8((y=l[m])[0],d)!==-1){y.push(d);return}}),{type:"MultiPolygon",value:u,coordinates:l}}function s(f,u,p){var l=new Array,h=new Array,d,m,g,y,x,b;for(d=m=-1,y=ha(f[0],u),oi[y<<1].forEach(w);++d<t-1;)g=y,y=ha(f[d+1],u),oi[g|y<<1].forEach(w);for(oi[y<<0].forEach(w);++m<e-1;){for(d=-1,y=ha(f[m*t+t],u),x=ha(f[m*t],u),oi[y<<1|x<<2].forEach(w);++d<t-1;)g=y,y=ha(f[m*t+t+d+1],u),b=x,x=ha(f[m*t+d+1],u),oi[g|y<<1|x<<2|b<<3].forEach(w);oi[y|x<<3].forEach(w)}for(d=-1,x=f[m*t]>=u,oi[x<<2].forEach(w);++d<t-1;)b=x,x=ha(f[m*t+d+1],u),oi[x<<2|b<<3].forEach(w);oi[x<<3].forEach(w);function w(_){var v=[_[0][0]+d,_[0][1]+m],A=[_[1][0]+d,_[1][1]+m],E=a(v),T=a(A),C,S;(C=h[E])?(S=l[T])?(delete h[C.end],delete l[S.start],C===S?(C.ring.push(A),p(C.ring)):l[C.start]=h[S.end]={start:C.start,end:S.end,ring:C.ring.concat(S.ring)}):(delete h[C.end],C.ring.push(A),h[C.end=T]=C):(C=l[T])?(S=h[E])?(delete l[C.start],delete h[S.end],C===S?(C.ring.push(A),p(C.ring)):l[S.start]=h[C.end]={start:S.start,end:C.end,ring:S.ring.concat(C.ring)}):(delete l[C.start],C.ring.unshift(v),l[C.start=E]=C):l[E]=h[T]={start:E,end:T,ring:[v,A]}}}function a(f){return f[0]*2+f[1]*(t+1)*4}function c(f,u,p){f.forEach(function(l){var h=l[0],d=l[1],m=h|0,g=d|0,y=tw(u[g*t+m]);h>0&&h<t&&m===h&&(l[0]=E8(h,tw(u[g*t+m-1]),y,p)),d>0&&d<e&&g===d&&(l[1]=E8(d,tw(u[(g-1)*t+m]),y,p))})}return o.contour=i,o.size=function(f){if(!arguments.length)return[t,e];var u=Math.floor(f[0]),p=Math.floor(f[1]);if(!(u>=0&&p>=0))throw new Error("invalid size");return t=u,e=p,o},o.thresholds=function(f){return arguments.length?(n=typeof f=="function"?f:Array.isArray(f)?oo(D0.call(f)):oo(f),o):n},o.smooth=function(f){return arguments.length?(r=f?c:A8,o):r===c},o}function PO(t){return isFinite(t)?t:NaN}function ha(t,e){return t==null?!1:+t>=e}function tw(t){return t==null||isNaN(t=+t)?-1/0:t}function E8(t,e,n,r){let o=r-e,i=n-e,s=isFinite(o)||isFinite(i)?o/i:Math.sign(o)/Math.sign(i);return isNaN(s)?t:t+s-.5}function qO(t){return t[0]}function BO(t){return t[1]}function zO(){return 1}function ew(){var t=qO,e=BO,n=zO,r=960,o=500,i=20,s=2,a=i*3,c=r+a*2>>s,f=o+a*2>>s,u=oo(20);function p(x){var b=new Float32Array(c*f),w=Math.pow(2,-s),_=-1;for(let L of x){var v=(t(L,++_,x)+a)*w,A=(e(L,_,x)+a)*w,E=+n(L,_,x);if(E&&v>=0&&v<c&&A>=0&&A<f){var T=Math.floor(v),C=Math.floor(A),S=v-T-.5,k=A-C-.5;b[T+C*c]+=(1-S)*(1-k)*E,b[T+1+C*c]+=S*(1-k)*E,b[T+1+(C+1)*c]+=S*k*E,b[T+(C+1)*c]+=(1-S)*k*E}}return fl({data:b,width:c,height:f},i*w),b}function l(x){var b=p(x),w=u(b),_=Math.pow(2,2*s);return Array.isArray(w)||(w=Ge(Number.MIN_VALUE,It(b)/_,w)),Zi().size([c,f]).thresholds(w.map(v=>v*_))(b).map((v,A)=>(v.value=+w[A],h(v)))}l.contours=function(x){var b=p(x),w=Zi().size([c,f]),_=Math.pow(2,2*s),v=A=>{A=+A;var E=h(w.contour(b,A*_));return E.value=A,E};return Object.defineProperty(v,"max",{get:()=>It(b)/_}),v};function h(x){return x.coordinates.forEach(d),x}function d(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=i*3,c=r+a*2>>s,f=o+a*2>>s,l}return l.x=function(x){return arguments.length?(t=typeof x=="function"?x:oo(+x),l):t},l.y=function(x){return arguments.length?(e=typeof x=="function"?x:oo(+x),l):e},l.weight=function(x){return arguments.length?(n=typeof x=="function"?x:oo(+x),l):n},l.size=function(x){if(!arguments.length)return[r,o];var b=+x[0],w=+x[1];if(!(b>=0&&w>=0))throw new Error("invalid size");return r=b,o=w,y()},l.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()},l.thresholds=function(x){return arguments.length?(u=typeof x=="function"?x:Array.isArray(x)?oo(D0.call(x)):oo(x),l):u},l.bandwidth=function(x){if(!arguments.length)return Math.sqrt(i*(i+1));if(!((x=+x)>=0))throw new Error("invalid bandwidth");return i=(Math.sqrt(4*x*x+1)-1)/2,y()},l}var kt=11102230246251565e-32,ye=134217729,$l=(3+8*kt)*kt;function da(t,e,n,r,o){let i,s,a,c,f=e[0],u=r[0],p=0,l=0;u>f==u>-f?(i=f,f=e[++p]):(i=u,u=r[++l]);let h=0;if(p<t&&l<n)for(u>f==u>-f?(s=f+i,a=i-(s-f),f=e[++p]):(s=u+i,a=i-(s-u),u=r[++l]),i=s,a!==0&&(o[h++]=a);p<t&&l<n;)u>f==u>-f?(s=i+f,c=s-i,a=i-(s-c)+(f-c),f=e[++p]):(s=i+u,c=s-i,a=i-(s-c)+(u-c),u=r[++l]),i=s,a!==0&&(o[h++]=a);for(;p<t;)s=i+f,c=s-i,a=i-(s-c)+(f-c),f=e[++p],i=s,a!==0&&(o[h++]=a);for(;l<n;)s=i+u,c=s-i,a=i-(s-c)+(u-c),u=r[++l],i=s,a!==0&&(o[h++]=a);return(i!==0||h===0)&&(o[h++]=i),h}function Dl(t,e){let n=e[0];for(let r=1;r<t;r++)n+=e[r];return n}function Y(t){return new Float64Array(t)}var YO=(3+16*kt)*kt,UO=(2+12*kt)*kt,jO=(9+64*kt)*kt*kt,Yc=Y(4),T8=Y(8),I8=Y(12),C8=Y(16),En=Y(4);function XO(t,e,n,r,o,i,s){let a,c,f,u,p,l,h,d,m,g,y,x,b,w,_,v,A,E,T=t-o,C=n-o,S=e-i,k=r-i;w=T*k,l=ye*T,h=l-(l-T),d=T-h,l=ye*k,m=l-(l-k),g=k-m,_=d*g-(w-h*m-d*m-h*g),v=S*C,l=ye*S,h=l-(l-S),d=S-h,l=ye*C,m=l-(l-C),g=C-m,A=d*g-(v-h*m-d*m-h*g),y=_-A,p=_-y,Yc[0]=_-(y+p)+(p-A),x=w+y,p=x-w,b=w-(x-p)+(y-p),y=b-v,p=b-y,Yc[1]=b-(y+p)+(p-v),E=x+y,p=E-x,Yc[2]=x-(E-p)+(y-p),Yc[3]=E;let L=Dl(4,Yc),M=UO*s;if(L>=M||-L>=M||(p=t-T,a=t-(T+p)+(p-o),p=n-C,f=n-(C+p)+(p-o),p=e-S,c=e-(S+p)+(p-i),p=r-k,u=r-(k+p)+(p-i),a===0&&c===0&&f===0&&u===0)||(M=jO*s+$l*Math.abs(L),L+=T*u+k*a-(S*f+C*c),L>=M||-L>=M))return L;w=a*k,l=ye*a,h=l-(l-a),d=a-h,l=ye*k,m=l-(l-k),g=k-m,_=d*g-(w-h*m-d*m-h*g),v=c*C,l=ye*c,h=l-(l-c),d=c-h,l=ye*C,m=l-(l-C),g=C-m,A=d*g-(v-h*m-d*m-h*g),y=_-A,p=_-y,En[0]=_-(y+p)+(p-A),x=w+y,p=x-w,b=w-(x-p)+(y-p),y=b-v,p=b-y,En[1]=b-(y+p)+(p-v),E=x+y,p=E-x,En[2]=x-(E-p)+(y-p),En[3]=E;let I=da(4,Yc,4,En,T8);w=T*u,l=ye*T,h=l-(l-T),d=T-h,l=ye*u,m=l-(l-u),g=u-m,_=d*g-(w-h*m-d*m-h*g),v=S*f,l=ye*S,h=l-(l-S),d=S-h,l=ye*f,m=l-(l-f),g=f-m,A=d*g-(v-h*m-d*m-h*g),y=_-A,p=_-y,En[0]=_-(y+p)+(p-A),x=w+y,p=x-w,b=w-(x-p)+(y-p),y=b-v,p=b-y,En[1]=b-(y+p)+(p-v),E=x+y,p=E-x,En[2]=x-(E-p)+(y-p),En[3]=E;let N=da(I,T8,4,En,I8);w=a*u,l=ye*a,h=l-(l-a),d=a-h,l=ye*u,m=l-(l-u),g=u-m,_=d*g-(w-h*m-d*m-h*g),v=c*f,l=ye*c,h=l-(l-c),d=c-h,l=ye*f,m=l-(l-f),g=f-m,A=d*g-(v-h*m-d*m-h*g),y=_-A,p=_-y,En[0]=_-(y+p)+(p-A),x=w+y,p=x-w,b=w-(x-p)+(y-p),y=b-v,p=b-y,En[1]=b-(y+p)+(p-v),E=x+y,p=E-x,En[2]=x-(E-p)+(y-p),En[3]=E;let R=da(N,I8,4,En,C8);return C8[R-1]}function Uc(t,e,n,r,o,i){let s=(e-i)*(n-o),a=(t-o)*(r-i),c=s-a,f=Math.abs(s+a);return Math.abs(c)>=YO*f?c:-XO(t,e,n,r,o,i,f)}var fht=(7+56*kt)*kt,uht=(3+28*kt)*kt,lht=(26+288*kt)*kt*kt,pht=Y(4),hht=Y(4),dht=Y(4),mht=Y(4),ght=Y(4),yht=Y(4),xht=Y(4),bht=Y(4),wht=Y(4),vht=Y(8),_ht=Y(8),Mht=Y(8),Sht=Y(4),Aht=Y(8),Eht=Y(8),Tht=Y(8),Iht=Y(12),Cht=Y(192),Nht=Y(192);var Lht=(10+96*kt)*kt,Oht=(4+48*kt)*kt,$ht=(44+576*kt)*kt*kt,Dht=Y(4),Fht=Y(4),Pht=Y(4),qht=Y(4),Bht=Y(4),zht=Y(4),Yht=Y(4),Uht=Y(4),jht=Y(8),Xht=Y(8),Wht=Y(8),Ght=Y(8),Vht=Y(8),Hht=Y(8),Qht=Y(8),Zht=Y(8),Kht=Y(8),Jht=Y(4),tdt=Y(4),edt=Y(4),ndt=Y(8),rdt=Y(16),odt=Y(16),idt=Y(16),sdt=Y(32),adt=Y(32),cdt=Y(48),fdt=Y(64),udt=Y(1152),ldt=Y(1152);var mdt=(16+224*kt)*kt,gdt=(5+72*kt)*kt,ydt=(71+1408*kt)*kt*kt,xdt=Y(4),bdt=Y(4),wdt=Y(4),vdt=Y(4),_dt=Y(4),Mdt=Y(4),Sdt=Y(4),Adt=Y(4),Edt=Y(4),Tdt=Y(4),Idt=Y(24),Cdt=Y(24),Ndt=Y(24),kdt=Y(24),Rdt=Y(24),Ldt=Y(24),Odt=Y(24),$dt=Y(24),Ddt=Y(24),Fdt=Y(24),Pdt=Y(1152),qdt=Y(1152),Bdt=Y(1152),zdt=Y(1152),Ydt=Y(1152),Udt=Y(2304),jdt=Y(2304),Xdt=Y(3456),Wdt=Y(5760),Gdt=Y(8),Vdt=Y(8),Hdt=Y(8),Qdt=Y(16),Zdt=Y(24),Kdt=Y(48),Jdt=Y(48),tmt=Y(96),emt=Y(192),nmt=Y(384),rmt=Y(384),omt=Y(384),imt=Y(768);var smt=Y(96),amt=Y(96),cmt=Y(96),fmt=Y(1152);var k8=Math.pow(2,-52),F0=new Uint32Array(512),Xc=class t{static from(e,n=ZO,r=KO){let o=e.length,i=new Float64Array(o*2);for(let s=0;s<o;s++){let a=e[s];i[2*s]=n(a),i[2*s+1]=r(a)}return new t(i)}constructor(e){let n=e.length>>1;if(n>0&&typeof e[0]!="number")throw new Error("Expected coords to contain numbers.");this.coords=e;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:e,_hullPrev:n,_hullNext:r,_hullTri:o,_hullHash:i}=this,s=e.length>>1,a=1/0,c=1/0,f=-1/0,u=-1/0;for(let T=0;T<s;T++){let C=e[2*T],S=e[2*T+1];C<a&&(a=C),S<c&&(c=S),C>f&&(f=C),S>u&&(u=S),this._ids[T]=T}let p=(a+f)/2,l=(c+u)/2,h,d,m;for(let T=0,C=1/0;T<s;T++){let S=nw(p,l,e[2*T],e[2*T+1]);S<C&&(h=T,C=S)}let g=e[2*h],y=e[2*h+1];for(let T=0,C=1/0;T<s;T++){if(T===h)continue;let S=nw(g,y,e[2*T],e[2*T+1]);S<C&&S>0&&(d=T,C=S)}let x=e[2*d],b=e[2*d+1],w=1/0;for(let T=0;T<s;T++){if(T===h||T===d)continue;let C=HO(g,y,x,b,e[2*T],e[2*T+1]);C<w&&(m=T,w=C)}let _=e[2*m],v=e[2*m+1];if(w===1/0){for(let S=0;S<s;S++)this._dists[S]=e[2*S]-e[0]||e[2*S+1]-e[1];jc(this._ids,this._dists,0,s-1);let T=new Uint32Array(s),C=0;for(let S=0,k=-1/0;S<s;S++){let L=this._ids[S],M=this._dists[L];M>k&&(T[C++]=L,k=M)}this.hull=T.subarray(0,C),this.triangles=new Uint32Array(0),this.halfedges=new Uint32Array(0);return}if(Uc(g,y,x,b,_,v)<0){let T=d,C=x,S=b;d=m,x=_,b=v,m=T,_=C,v=S}let A=QO(g,y,x,b,_,v);this._cx=A.x,this._cy=A.y;for(let T=0;T<s;T++)this._dists[T]=nw(e[2*T],e[2*T+1],A.x,A.y);jc(this._ids,this._dists,0,s-1),this._hullStart=h;let E=3;r[h]=n[m]=d,r[d]=n[h]=m,r[m]=n[d]=h,o[h]=0,o[d]=1,o[m]=2,i.fill(-1),i[this._hashKey(g,y)]=h,i[this._hashKey(x,b)]=d,i[this._hashKey(_,v)]=m,this.trianglesLen=0,this._addTriangle(h,d,m,-1,-1,-1);for(let T=0,C,S;T<this._ids.length;T++){let k=this._ids[T],L=e[2*k],M=e[2*k+1];if(T>0&&Math.abs(L-C)<=k8&&Math.abs(M-S)<=k8||(C=L,S=M,k===h||k===d||k===m))continue;let I=0;for(let D=0,F=this._hashKey(L,M);D<this._hashSize&&(I=i[(F+D)%this._hashSize],!(I!==-1&&I!==r[I]));D++);I=n[I];let N=I,R;for(;R=r[N],Uc(L,M,e[2*N],e[2*N+1],e[2*R],e[2*R+1])>=0;)if(N=R,N===I){N=-1;break}if(N===-1)continue;let $=this._addTriangle(N,k,r[N],-1,-1,o[N]);o[k]=this._legalize($+2),o[N]=$,E++;let O=r[N];for(;R=r[O],Uc(L,M,e[2*O],e[2*O+1],e[2*R],e[2*R+1])<0;)$=this._addTriangle(O,k,R,o[k],-1,o[O]),o[k]=this._legalize($+2),r[O]=O,E--,O=R;if(N===I)for(;R=n[N],Uc(L,M,e[2*R],e[2*R+1],e[2*N],e[2*N+1])<0;)$=this._addTriangle(R,k,N,-1,o[N],o[R]),this._legalize($+2),o[R]=$,r[N]=N,E--,N=R;this._hullStart=n[k]=N,r[N]=n[O]=k,r[k]=O,i[this._hashKey(L,M)]=k,i[this._hashKey(e[2*N],e[2*N+1])]=N}this.hull=new Uint32Array(E);for(let T=0,C=this._hullStart;T<E;T++)this.hull[T]=C,C=r[C];this.triangles=this._triangles.subarray(0,this.trianglesLen),this.halfedges=this._halfedges.subarray(0,this.trianglesLen)}_hashKey(e,n){return Math.floor(GO(e-this._cx,n-this._cy)*this._hashSize)%this._hashSize}_legalize(e){let{_triangles:n,_halfedges:r,coords:o}=this,i=0,s=0;for(;;){let a=r[e],c=e-e%3;if(s=c+(e+2)%3,a===-1){if(i===0)break;e=F0[--i];continue}let f=a-a%3,u=c+(e+1)%3,p=f+(a+2)%3,l=n[s],h=n[e],d=n[u],m=n[p];if(VO(o[2*l],o[2*l+1],o[2*h],o[2*h+1],o[2*d],o[2*d+1],o[2*m],o[2*m+1])){n[e]=m,n[a]=l;let y=r[p];if(y===-1){let b=this._hullStart;do{if(this._hullTri[b]===p){this._hullTri[b]=e;break}b=this._hullPrev[b]}while(b!==this._hullStart)}this._link(e,y),this._link(a,r[s]),this._link(s,p);let x=f+(a+1)%3;i<F0.length&&(F0[i++]=x)}else{if(i===0)break;e=F0[--i]}}return s}_link(e,n){this._halfedges[e]=n,n!==-1&&(this._halfedges[n]=e)}_addTriangle(e,n,r,o,i,s){let a=this.trianglesLen;return this._triangles[a]=e,this._triangles[a+1]=n,this._triangles[a+2]=r,this._link(a,o),this._link(a+1,i),this._link(a+2,s),this.trianglesLen+=3,a}};function GO(t,e){let n=t/(Math.abs(t)+Math.abs(e));return(e>0?3-n:1+n)/4}function nw(t,e,n,r){let o=t-n,i=e-r;return o*o+i*i}function VO(t,e,n,r,o,i,s,a){let c=t-s,f=e-a,u=n-s,p=r-a,l=o-s,h=i-a,d=c*c+f*f,m=u*u+p*p,g=l*l+h*h;return c*(p*g-m*h)-f*(u*g-m*l)+d*(u*h-p*l)<0}function HO(t,e,n,r,o,i){let s=n-t,a=r-e,c=o-t,f=i-e,u=s*s+a*a,p=c*c+f*f,l=.5/(s*f-a*c),h=(f*u-a*p)*l,d=(s*p-c*u)*l;return h*h+d*d}function QO(t,e,n,r,o,i){let s=n-t,a=r-e,c=o-t,f=i-e,u=s*s+a*a,p=c*c+f*f,l=.5/(s*f-a*c),h=t+(f*u-a*p)*l,d=e+(s*p-c*u)*l;return{x:h,y:d}}function jc(t,e,n,r){if(r-n<=20)for(let o=n+1;o<=r;o++){let i=t[o],s=e[i],a=o-1;for(;a>=n&&e[t[a]]>s;)t[a+1]=t[a--];t[a+1]=i}else{let o=n+r>>1,i=n+1,s=r;Fl(t,o,i),e[t[n]]>e[t[r]]&&Fl(t,n,r),e[t[i]]>e[t[r]]&&Fl(t,i,r),e[t[n]]>e[t[i]]&&Fl(t,n,i);let a=t[i],c=e[a];for(;;){do i++;while(e[t[i]]<c);do s--;while(e[t[s]]>c);if(s<i)break;Fl(t,i,s)}t[n+1]=t[s],t[s]=a,r-i+1>=s-n?(jc(t,e,i,r),jc(t,e,n,s-1)):(jc(t,e,n,s-1),jc(t,e,i,r))}}function Fl(t,e,n){let r=t[e];t[e]=t[n],t[n]=r}function ZO(t){return t[0]}function KO(t){return t[1]}var lr=class{constructor(){this._x0=this._y0=this._x1=this._y1=null,this._=""}moveTo(e,n){this._+=`M${this._x0=this._x1=+e},${this._y0=this._y1=+n}`}closePath(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")}lineTo(e,n){this._+=`L${this._x1=+e},${this._y1=+n}`}arc(e,n,r){e=+e,n=+n,r=+r;let o=e+r,i=n;if(r<0)throw new Error("negative radius");this._x1===null?this._+=`M${o},${i}`:(Math.abs(this._x1-o)>1e-6||Math.abs(this._y1-i)>1e-6)&&(this._+="L"+o+","+i),r&&(this._+=`A${r},${r},0,1,1,${e-r},${n}A${r},${r},0,1,1,${this._x1=o},${this._y1=i}`)}rect(e,n,r,o){this._+=`M${this._x0=this._x1=+e},${this._y0=this._y1=+n}h${+r}v${+o}h${-r}Z`}value(){return this._||null}};var Ki=class{constructor(){this._=[]}moveTo(e,n){this._.push([e,n])}closePath(){this._.push(this._[0].slice())}lineTo(e,n){this._.push([e,n])}value(){return this._.length?this._:null}};var Pl=class{constructor(e,[n,r,o,i]=[0,0,960,500]){if(!((o=+o)>=(n=+n))||!((i=+i)>=(r=+r)))throw new Error("invalid bounds");this.delaunay=e,this._circumcenters=new Float64Array(e.points.length*2),this.vectors=new Float64Array(e.points.length*2),this.xmax=o,this.xmin=n,this.ymax=i,this.ymin=r,this._init()}update(){return this.delaunay.update(),this._init(),this}_init(){let{delaunay:{points:e,hull:n,triangles:r},vectors:o}=this,i,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,A=e[w],E=e[w+1],T=e[_],C=e[_+1],S=e[v],k=e[v+1],L=T-A,M=C-E,I=S-A,N=k-E,R=(L*N-M*I)*2;if(Math.abs(R)<1e-9){if(i===void 0){i=s=0;for(let O of n)i+=e[O*2],s+=e[O*2+1];i/=n.length,s/=n.length}let $=1e9*Math.sign((i-A)*N-(s-E)*I);x=(A+S)/2-$*N,b=(E+k)/2+$*I}else{let $=1/R,O=L*L+M*M,D=I*I+N*N;x=A+(N*O-M*D)*$,b=E+(L*D-I*O)*$}a[g]=x,a[g+1]=b}let c=n[n.length-1],f,u=c*4,p,l=e[2*c],h,d=e[2*c+1];o.fill(0);for(let m=0;m<n.length;++m)c=n[m],f=u,p=l,h=d,u=c*4,l=e[2*c],d=e[2*c+1],o[f+2]=o[u]=h-d,o[f+3]=o[u+1]=l-p}render(e){let n=e==null?e=new lr:void 0,{delaunay:{halfedges:r,inedges:o,hull:i},circumcenters:s,vectors:a}=this;if(i.length<=1)return null;for(let u=0,p=r.length;u<p;++u){let l=r[u];if(l<u)continue;let h=Math.floor(u/3)*2,d=Math.floor(l/3)*2,m=s[h],g=s[h+1],y=s[d],x=s[d+1];this._renderSegment(m,g,y,x,e)}let c,f=i[i.length-1];for(let u=0;u<i.length;++u){c=f,f=i[u];let p=Math.floor(o[f]/3)*2,l=s[p],h=s[p+1],d=c*4,m=this._project(l,h,a[d+2],a[d+3]);m&&this._renderSegment(l,h,m[0],m[1],e)}return n&&n.value()}renderBounds(e){let n=e==null?e=new lr:void 0;return e.rect(this.xmin,this.ymin,this.xmax-this.xmin,this.ymax-this.ymin),n&&n.value()}renderCell(e,n){let r=n==null?n=new lr:void 0,o=this._clip(e);if(o===null||!o.length)return;n.moveTo(o[0],o[1]);let i=o.length;for(;o[0]===o[i-2]&&o[1]===o[i-1]&&i>1;)i-=2;for(let s=2;s<i;s+=2)(o[s]!==o[s-2]||o[s+1]!==o[s-1])&&n.lineTo(o[s],o[s+1]);return n.closePath(),r&&r.value()}*cellPolygons(){let{delaunay:{points:e}}=this;for(let n=0,r=e.length/2;n<r;++n){let o=this.cellPolygon(n);o&&(o.index=n,yield o)}}cellPolygon(e){let n=new Ki;return this.renderCell(e,n),n.value()}_renderSegment(e,n,r,o,i){let s,a=this._regioncode(e,n),c=this._regioncode(r,o);a===0&&c===0?(i.moveTo(e,n),i.lineTo(r,o)):(s=this._clipSegment(e,n,r,o,a,c))&&(i.moveTo(s[0],s[1]),i.lineTo(s[2],s[3]))}contains(e,n,r){return n=+n,n!==n||(r=+r,r!==r)?!1:this.delaunay._step(e,n,r)===e}*neighbors(e){let n=this._clip(e);if(n)for(let r of this.delaunay.neighbors(e)){let o=this._clip(r);if(o){t:for(let i=0,s=n.length;i<s;i+=2)for(let a=0,c=o.length;a<c;a+=2)if(n[i]===o[a]&&n[i+1]===o[a+1]&&n[(i+2)%s]===o[(a+c-2)%c]&&n[(i+3)%s]===o[(a+c-1)%c]){yield r;break t}}}}_cell(e){let{circumcenters:n,delaunay:{inedges:r,halfedges:o,triangles:i}}=this,s=r[e];if(s===-1)return null;let a=[],c=s;do{let f=Math.floor(c/3);if(a.push(n[f*2],n[f*2+1]),c=c%3===2?c-2:c+1,i[c]!==e)break;c=o[c]}while(c!==s&&c!==-1);return a}_clip(e){if(e===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(e);if(n===null)return null;let{vectors:r}=this,o=e*4;return this._simplify(r[o]||r[o+1]?this._clipInfinite(e,n,r[o],r[o+1],r[o+2],r[o+3]):this._clipFinite(e,n))}_clipFinite(e,n){let r=n.length,o=null,i,s,a=n[r-2],c=n[r-1],f,u=this._regioncode(a,c),p,l=0;for(let h=0;h<r;h+=2)if(i=a,s=c,a=n[h],c=n[h+1],f=u,u=this._regioncode(a,c),f===0&&u===0)p=l,l=0,o?o.push(a,c):o=[a,c];else{let d,m,g,y,x;if(f===0){if((d=this._clipSegment(i,s,a,c,f,u))===null)continue;[m,g,y,x]=d}else{if((d=this._clipSegment(a,c,i,s,u,f))===null)continue;[y,x,m,g]=d,p=l,l=this._edgecode(m,g),p&&l&&this._edge(e,p,l,o,o.length),o?o.push(m,g):o=[m,g]}p=l,l=this._edgecode(y,x),p&&l&&this._edge(e,p,l,o,o.length),o?o.push(y,x):o=[y,x]}if(o)p=l,l=this._edgecode(o[0],o[1]),p&&l&&this._edge(e,p,l,o,o.length);else if(this.contains(e,(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 o}_clipSegment(e,n,r,o,i,s){let a=i<s;for(a&&([e,n,r,o,i,s]=[r,o,e,n,s,i]);;){if(i===0&&s===0)return a?[r,o,e,n]:[e,n,r,o];if(i&s)return null;let c,f,u=i||s;u&8?(c=e+(r-e)*(this.ymax-n)/(o-n),f=this.ymax):u&4?(c=e+(r-e)*(this.ymin-n)/(o-n),f=this.ymin):u&2?(f=n+(o-n)*(this.xmax-e)/(r-e),c=this.xmax):(f=n+(o-n)*(this.xmin-e)/(r-e),c=this.xmin),i?(e=c,n=f,i=this._regioncode(e,n)):(r=c,o=f,s=this._regioncode(r,o))}}_clipInfinite(e,n,r,o,i,s){let a=Array.from(n),c;if((c=this._project(a[0],a[1],r,o))&&a.unshift(c[0],c[1]),(c=this._project(a[a.length-2],a[a.length-1],i,s))&&a.push(c[0],c[1]),a=this._clipFinite(e,a))for(let f=0,u=a.length,p,l=this._edgecode(a[u-2],a[u-1]);f<u;f+=2)p=l,l=this._edgecode(a[f],a[f+1]),p&&l&&(f=this._edge(e,p,l,a,f),u=a.length);else this.contains(e,(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(e,n,r,o,i){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}(o[i]!==s||o[i+1]!==a)&&this.contains(e,s,a)&&(o.splice(i,0,s,a),i+=2)}return i}_project(e,n,r,o){let i=1/0,s,a,c;if(o<0){if(n<=this.ymin)return null;(s=(this.ymin-n)/o)<i&&(c=this.ymin,a=e+(i=s)*r)}else if(o>0){if(n>=this.ymax)return null;(s=(this.ymax-n)/o)<i&&(c=this.ymax,a=e+(i=s)*r)}if(r>0){if(e>=this.xmax)return null;(s=(this.xmax-e)/r)<i&&(a=this.xmax,c=n+(i=s)*o)}else if(r<0){if(e<=this.xmin)return null;(s=(this.xmin-e)/r)<i&&(a=this.xmin,c=n+(i=s)*o)}return[a,c]}_edgecode(e,n){return(e===this.xmin?1:e===this.xmax?2:0)|(n===this.ymin?4:n===this.ymax?8:0)}_regioncode(e,n){return(e<this.xmin?1:e>this.xmax?2:0)|(n<this.ymin?4:n>this.ymax?8:0)}_simplify(e){if(e&&e.length>4){for(let n=0;n<e.length;n+=2){let r=(n+2)%e.length,o=(n+4)%e.length;(e[n]===e[r]&&e[r]===e[o]||e[n+1]===e[r+1]&&e[r+1]===e[o+1])&&(e.splice(r,2),n-=2)}e.length||(e=null)}return e}};var JO=2*Math.PI,Wc=Math.pow;function t$(t){return t[0]}function e$(t){return t[1]}function n$(t){let{triangles:e,coords:n}=t;for(let r=0;r<e.length;r+=3){let o=2*e[r],i=2*e[r+1],s=2*e[r+2];if((n[s]-n[o])*(n[i+1]-n[o+1])-(n[i]-n[o])*(n[s+1]-n[o+1])>1e-10)return!1}return!0}function r$(t,e,n){return[t+Math.sin(t+e)*n,e+Math.cos(t-e)*n]}var pr=class t{static from(e,n=t$,r=e$,o){return new t("length"in e?o$(e,n,r,o):Float64Array.from(i$(e,n,r,o)))}constructor(e){this._delaunator=new Xc(e),this.inedges=new Int32Array(e.length/2),this._hullIndex=new Int32Array(e.length/2),this.points=this._delaunator.coords,this._init()}update(){return this._delaunator.update(),this._init(),this}_init(){let e=this._delaunator,n=this.points;if(e.hull&&e.hull.length>2&&n$(e)){this.collinear=Int32Array.from({length:n.length/2},(l,h)=>h).sort((l,h)=>n[2*l]-n[2*h]||n[2*l+1]-n[2*h+1]);let c=this.collinear[0],f=this.collinear[this.collinear.length-1],u=[n[2*c],n[2*c+1],n[2*f],n[2*f+1]],p=1e-8*Math.hypot(u[3]-u[1],u[2]-u[0]);for(let l=0,h=n.length/2;l<h;++l){let d=r$(n[2*l],n[2*l+1],p);n[2*l]=d[0],n[2*l+1]=d[1]}this._delaunator=new Xc(n)}else delete this.collinear;let r=this.halfedges=this._delaunator.halfedges,o=this.hull=this._delaunator.hull,i=this.triangles=this._delaunator.triangles,s=this.inedges.fill(-1),a=this._hullIndex.fill(-1);for(let c=0,f=r.length;c<f;++c){let u=i[c%3===2?c-2:c+1];(r[c]===-1||s[u]===-1)&&(s[u]=c)}for(let c=0,f=o.length;c<f;++c)a[o[c]]=c;o.length<=2&&o.length>0&&(this.triangles=new Int32Array(3).fill(-1),this.halfedges=new Int32Array(3).fill(-1),this.triangles[0]=o[0],s[o[0]]=1,o.length===2&&(s[o[1]]=0,this.triangles[1]=o[1],this.triangles[2]=o[1]))}voronoi(e){return new Pl(this,e)}*neighbors(e){let{inedges:n,hull:r,_hullIndex:o,halfedges:i,triangles:s,collinear:a}=this;if(a){let p=a.indexOf(e);p>0&&(yield a[p-1]),p<a.length-1&&(yield a[p+1]);return}let c=n[e];if(c===-1)return;let f=c,u=-1;do{if(yield u=s[f],f=f%3===2?f-2:f+1,s[f]!==e)return;if(f=i[f],f===-1){let p=r[(o[e]+1)%r.length];p!==u&&(yield p);return}}while(f!==c)}find(e,n,r=0){if(e=+e,e!==e||(n=+n,n!==n))return-1;let o=r,i;for(;(i=this._step(r,e,n))>=0&&i!==r&&i!==o;)r=i;return i}_step(e,n,r){let{inedges:o,hull:i,_hullIndex:s,halfedges:a,triangles:c,points:f}=this;if(o[e]===-1||!f.length)return(e+1)%(f.length>>1);let u=e,p=Wc(n-f[e*2],2)+Wc(r-f[e*2+1],2),l=o[e],h=l;do{let d=c[h],m=Wc(n-f[d*2],2)+Wc(r-f[d*2+1],2);if(m<p&&(p=m,u=d),h=h%3===2?h-2:h+1,c[h]!==e)break;if(h=a[h],h===-1){if(h=i[(s[e]+1)%i.length],h!==d&&Wc(n-f[h*2],2)+Wc(r-f[h*2+1],2)<p)return h;break}}while(h!==l);return u}render(e){let n=e==null?e=new lr:void 0,{points:r,halfedges:o,triangles:i}=this;for(let s=0,a=o.length;s<a;++s){let c=o[s];if(c<s)continue;let f=i[s]*2,u=i[c]*2;e.moveTo(r[f],r[f+1]),e.lineTo(r[u],r[u+1])}return this.renderHull(e),n&&n.value()}renderPoints(e,n){n===void 0&&(!e||typeof e.moveTo!="function")&&(n=e,e=null),n=n==null?2:+n;let r=e==null?e=new lr:void 0,{points:o}=this;for(let i=0,s=o.length;i<s;i+=2){let a=o[i],c=o[i+1];e.moveTo(a+n,c),e.arc(a,c,n,0,JO)}return r&&r.value()}renderHull(e){let n=e==null?e=new lr:void 0,{hull:r,points:o}=this,i=r[0]*2,s=r.length;e.moveTo(o[i],o[i+1]);for(let a=1;a<s;++a){let c=2*r[a];e.lineTo(o[c],o[c+1])}return e.closePath(),n&&n.value()}hullPolygon(){let e=new Ki;return this.renderHull(e),e.value()}renderTriangle(e,n){let r=n==null?n=new lr:void 0,{points:o,triangles:i}=this,s=i[e*=3]*2,a=i[e+1]*2,c=i[e+2]*2;return n.moveTo(o[s],o[s+1]),n.lineTo(o[a],o[a+1]),n.lineTo(o[c],o[c+1]),n.closePath(),r&&r.value()}*trianglePolygons(){let{triangles:e}=this;for(let n=0,r=e.length/3;n<r;++n)yield this.trianglePolygon(n)}trianglePolygon(e){let n=new Ki;return this.renderTriangle(e,n),n.value()}};function o$(t,e,n,r){let o=t.length,i=new Float64Array(o*2);for(let s=0;s<o;++s){let a=t[s];i[s*2]=e.call(r,a,s,t),i[s*2+1]=n.call(r,a,s,t)}return i}function*i$(t,e,n,r){let o=0;for(let i of t)yield e.call(r,i,o,t),yield n.call(r,i,o,t),++o}function R8(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)}function ma(t,e){if((n=(t=e?t.toExponential(e-1):t.toExponential()).indexOf("e"))<0)return null;var n,r=t.slice(0,n);return[r.length>1?r[0]+r.slice(2):r,+t.slice(n+1)]}function io(t){return t=ma(Math.abs(t)),t?t[1]:NaN}function L8(t,e){return function(n,r){for(var o=n.length,i=[],s=0,a=t[0],c=0;o>0&&a>0&&(c+a+1>r&&(a=Math.max(1,r-c)),i.push(n.substring(o-=a,o+a)),!((c+=a+1)>r));)a=t[s=(s+1)%t.length];return i.reverse().join(e)}}function O8(t){return function(e){return e.replace(/[0-9]/g,function(n){return t[+n]})}}var s$=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function so(t){if(!(e=s$.exec(t)))throw new Error("invalid format: "+t);var e;return new P0({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}so.prototype=P0.prototype;function P0(t){this.fill=t.fill===void 0?" ":t.fill+"",this.align=t.align===void 0?">":t.align+"",this.sign=t.sign===void 0?"-":t.sign+"",this.symbol=t.symbol===void 0?"":t.symbol+"",this.zero=!!t.zero,this.width=t.width===void 0?void 0:+t.width,this.comma=!!t.comma,this.precision=t.precision===void 0?void 0:+t.precision,this.trim=!!t.trim,this.type=t.type===void 0?"":t.type+""}P0.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 $8(t){t:for(var e=t.length,n=1,r=-1,o;n<e;++n)switch(t[n]){case".":r=o=n;break;case"0":r===0&&(r=n),o=n;break;default:if(!+t[n])break t;r>0&&(r=0);break}return r>0?t.slice(0,r)+t.slice(o+1):t}var rw;function D8(t,e){var n=ma(t,e);if(!n)return t+"";var r=n[0],o=n[1],i=o-(rw=Math.max(-8,Math.min(8,Math.floor(o/3)))*3)+1,s=r.length;return i===s?r:i>s?r+new Array(i-s+1).join("0"):i>0?r.slice(0,i)+"."+r.slice(i):"0."+new Array(1-i).join("0")+ma(t,Math.max(0,e+i-1))[0]}function ow(t,e){var n=ma(t,e);if(!n)return t+"";var r=n[0],o=n[1];return o<0?"0."+new Array(-o).join("0")+r:r.length>o+1?r.slice(0,o+1)+"."+r.slice(o+1):r+new Array(o-r.length+2).join("0")}var iw={"%":(t,e)=>(t*100).toFixed(e),b:t=>Math.round(t).toString(2),c:t=>t+"",d:R8,e:(t,e)=>t.toExponential(e),f:(t,e)=>t.toFixed(e),g:(t,e)=>t.toPrecision(e),o:t=>Math.round(t).toString(8),p:(t,e)=>ow(t*100,e),r:ow,s:D8,X:t=>Math.round(t).toString(16).toUpperCase(),x:t=>Math.round(t).toString(16)};function sw(t){return t}var F8=Array.prototype.map,P8=["y","z","a","f","p","n","\xB5","m","","k","M","G","T","P","E","Z","Y"];function q8(t){var e=t.grouping===void 0||t.thousands===void 0?sw:L8(F8.call(t.grouping,Number),t.thousands+""),n=t.currency===void 0?"":t.currency[0]+"",r=t.currency===void 0?"":t.currency[1]+"",o=t.decimal===void 0?".":t.decimal+"",i=t.numerals===void 0?sw:O8(F8.call(t.numerals,String)),s=t.percent===void 0?"%":t.percent+"",a=t.minus===void 0?"\u2212":t.minus+"",c=t.nan===void 0?"NaN":t.nan+"";function f(p){p=so(p);var l=p.fill,h=p.align,d=p.sign,m=p.symbol,g=p.zero,y=p.width,x=p.comma,b=p.precision,w=p.trim,_=p.type;_==="n"?(x=!0,_="g"):iw[_]||(b===void 0&&(b=12),w=!0,_="g"),(g||l==="0"&&h==="=")&&(g=!0,l="0",h="=");var v=m==="$"?n:m==="#"&&/[boxX]/.test(_)?"0"+_.toLowerCase():"",A=m==="$"?r:/[%p]/.test(_)?s:"",E=iw[_],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 C(S){var k=v,L=A,M,I,N;if(_==="c")L=E(S)+L,S="";else{S=+S;var R=S<0||1/S<0;if(S=isNaN(S)?c:E(Math.abs(S),b),w&&(S=$8(S)),R&&+S==0&&d!=="+"&&(R=!1),k=(R?d==="("?d:a:d==="-"||d==="("?"":d)+k,L=(_==="s"?P8[8+rw/3]:"")+L+(R&&d==="("?")":""),T){for(M=-1,I=S.length;++M<I;)if(N=S.charCodeAt(M),48>N||N>57){L=(N===46?o+S.slice(M+1):S.slice(M))+L,S=S.slice(0,M);break}}}x&&!g&&(S=e(S,1/0));var $=k.length+S.length+L.length,O=$<y?new Array(y-$+1).join(l):"";switch(x&&g&&(S=e(O+S,O.length?y-L.length:1/0),O=""),h){case"<":S=k+S+L+O;break;case"=":S=k+O+S+L;break;case"^":S=O.slice(0,$=O.length>>1)+k+S+L+O.slice($);break;default:S=O+k+S+L;break}return i(S)}return C.toString=function(){return p+""},C}function u(p,l){var h=f((p=so(p),p.type="f",p)),d=Math.max(-8,Math.min(8,Math.floor(io(l)/3)))*3,m=Math.pow(10,-d),g=P8[8+d/3];return function(y){return h(m*y)+g}}return{format:f,formatPrefix:u}}var q0,hr,B0;aw({thousands:",",grouping:[3],currency:["$",""]});function aw(t){return q0=q8(t),hr=q0.format,B0=q0.formatPrefix,q0}function cw(t){return Math.max(0,-io(Math.abs(t)))}function fw(t,e){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(io(e)/3)))*3-io(Math.abs(t)))}function uw(t,e){return t=Math.abs(t),e=Math.abs(e)-t,Math.max(0,io(e)-io(t))+1}var Z=1e-6,ga=1e-12,mt=Math.PI,Ut=mt/2,lw=mt/4,Le=mt*2,ae=180/mt,vt=mt/180,wt=Math.abs,dr=Math.atan,xe=Math.atan2,H=Math.cos,ql=Math.ceil,z0=Math.exp;var Y0=Math.hypot,ya=Math.log,U0=Math.pow,V=Math.sin,fn=Math.sign||function(t){return t>0?1:t<0?-1:0},jt=Math.sqrt,Gc=Math.tan;function j0(t){return t>1?0:t<-1?mt:Math.acos(t)}function Zt(t){return t>1?Ut:t<-1?-Ut:Math.asin(t)}function be(){}function X0(t,e){t&&z8.hasOwnProperty(t.type)&&z8[t.type](t,e)}var B8={Feature:function(t,e){X0(t.geometry,e)},FeatureCollection:function(t,e){for(var n=t.features,r=-1,o=n.length;++r<o;)X0(n[r].geometry,e)}},z8={Sphere:function(t,e){e.sphere()},Point:function(t,e){t=t.coordinates,e.point(t[0],t[1],t[2])},MultiPoint:function(t,e){for(var n=t.coordinates,r=-1,o=n.length;++r<o;)t=n[r],e.point(t[0],t[1],t[2])},LineString:function(t,e){pw(t.coordinates,e,0)},MultiLineString:function(t,e){for(var n=t.coordinates,r=-1,o=n.length;++r<o;)pw(n[r],e,0)},Polygon:function(t,e){Y8(t.coordinates,e)},MultiPolygon:function(t,e){for(var n=t.coordinates,r=-1,o=n.length;++r<o;)Y8(n[r],e)},GeometryCollection:function(t,e){for(var n=t.geometries,r=-1,o=n.length;++r<o;)X0(n[r],e)}};function pw(t,e,n){var r=-1,o=t.length-n,i;for(e.lineStart();++r<o;)i=t[r],e.point(i[0],i[1],i[2]);e.lineEnd()}function Y8(t,e){var n=-1,r=t.length;for(e.polygonStart();++n<r;)pw(t[n],e,1);e.polygonEnd()}function Gn(t,e){t&&B8.hasOwnProperty(t.type)?B8[t.type](t,e):X0(t,e)}function Bl(t){return[xe(t[1],t[0]),Zt(t[2])]}function ao(t){var e=t[0],n=t[1],r=H(n);return[r*H(e),r*V(e),V(n)]}function zl(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function Vc(t,e){return[t[1]*e[2]-t[2]*e[1],t[2]*e[0]-t[0]*e[2],t[0]*e[1]-t[1]*e[0]]}function W0(t,e){t[0]+=e[0],t[1]+=e[1],t[2]+=e[2]}function Yl(t,e){return[t[0]*e,t[1]*e,t[2]*e]}function Ul(t){var e=jt(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=e,t[1]/=e,t[2]/=e}var jl,G0,V0,H0,Q0,Z0,K0,J0,hw,dw,mw,X8,W8,Tn,In,Cn,Or={sphere:be,point:gw,lineStart:U8,lineEnd:j8,polygonStart:function(){Or.lineStart=f$,Or.lineEnd=u$},polygonEnd:function(){Or.lineStart=U8,Or.lineEnd=j8}};function gw(t,e){t*=vt,e*=vt;var n=H(e);Xl(n*H(t),n*V(t),V(e))}function Xl(t,e,n){++jl,V0+=(t-V0)/jl,H0+=(e-H0)/jl,Q0+=(n-Q0)/jl}function U8(){Or.point=a$}function a$(t,e){t*=vt,e*=vt;var n=H(e);Tn=n*H(t),In=n*V(t),Cn=V(e),Or.point=c$,Xl(Tn,In,Cn)}function c$(t,e){t*=vt,e*=vt;var n=H(e),r=n*H(t),o=n*V(t),i=V(e),s=xe(jt((s=In*i-Cn*o)*s+(s=Cn*r-Tn*i)*s+(s=Tn*o-In*r)*s),Tn*r+In*o+Cn*i);G0+=s,Z0+=s*(Tn+(Tn=r)),K0+=s*(In+(In=o)),J0+=s*(Cn+(Cn=i)),Xl(Tn,In,Cn)}function j8(){Or.point=gw}function f$(){Or.point=l$}function u$(){G8(X8,W8),Or.point=gw}function l$(t,e){X8=t,W8=e,t*=vt,e*=vt,Or.point=G8;var n=H(e);Tn=n*H(t),In=n*V(t),Cn=V(e),Xl(Tn,In,Cn)}function G8(t,e){t*=vt,e*=vt;var n=H(e),r=n*H(t),o=n*V(t),i=V(e),s=In*i-Cn*o,a=Cn*r-Tn*i,c=Tn*o-In*r,f=Y0(s,a,c),u=Zt(f),p=f&&-u/f;hw.add(p*s),dw.add(p*a),mw.add(p*c),G0+=u,Z0+=u*(Tn+(Tn=r)),K0+=u*(In+(In=o)),J0+=u*(Cn+(Cn=i)),Xl(Tn,In,Cn)}function yw(t){jl=G0=V0=H0=Q0=Z0=K0=J0=0,hw=new Xe,dw=new Xe,mw=new Xe,Gn(t,Or);var e=+hw,n=+dw,r=+mw,o=Y0(e,n,r);return o<ga&&(e=Z0,n=K0,r=J0,G0<Z&&(e=V0,n=H0,r=Q0),o=Y0(e,n,r),o<ga)?[NaN,NaN]:[xe(n,e)*ae,Zt(r/o)*ae]}function Wl(t,e){function n(r,o){return r=t(r,o),e(r[0],r[1])}return t.invert&&e.invert&&(n.invert=function(r,o){return r=e.invert(r,o),r&&t.invert(r[0],r[1])}),n}function xw(t,e){return wt(t)>mt&&(t-=Math.round(t/Le)*Le),[t,e]}xw.invert=xw;function bw(t,e,n){return(t%=Le)?e||n?Wl(H8(t),Q8(e,n)):H8(t):e||n?Q8(e,n):xw}function V8(t){return function(e,n){return e+=t,wt(e)>mt&&(e-=Math.round(e/Le)*Le),[e,n]}}function H8(t){var e=V8(t);return e.invert=V8(-t),e}function Q8(t,e){var n=H(t),r=V(t),o=H(e),i=V(e);function s(a,c){var f=H(c),u=H(a)*f,p=V(a)*f,l=V(c),h=l*n+u*r;return[xe(p*o-h*i,u*n-l*r),Zt(h*o+p*i)]}return s.invert=function(a,c){var f=H(c),u=H(a)*f,p=V(a)*f,l=V(c),h=l*o-p*i;return[xe(p*o+l*i,u*n+h*r),Zt(h*n-u*r)]},s}function Z8(t){t=bw(t[0]*vt,t[1]*vt,t.length>2?t[2]*vt:0);function e(n){return n=t(n[0]*vt,n[1]*vt),n[0]*=ae,n[1]*=ae,n}return e.invert=function(n){return n=t.invert(n[0]*vt,n[1]*vt),n[0]*=ae,n[1]*=ae,n},e}function J8(t,e,n,r,o,i){if(n){var s=H(e),a=V(e),c=r*n;o==null?(o=e+r*Le,i=e-c/2):(o=K8(s,o),i=K8(s,i),(r>0?o<i:o>i)&&(o+=r*Le));for(var f,u=o;r>0?u>i:u<i;u-=c)f=Bl([s,-a*H(u),-a*V(u)]),t.point(f[0],f[1])}}function K8(t,e){e=ao(e),e[0]-=t,Ul(e);var n=j0(-e[1]);return((-e[2]<0?-n:n)+Le-Z)%Le}function tg(){var t=[],e;return{point:function(n,r,o){e.push([n,r,o])},lineStart:function(){t.push(e=[])},lineEnd:be,rejoin:function(){t.length>1&&t.push(t.pop().concat(t.shift()))},result:function(){var n=t;return t=[],e=null,n}}}function Hc(t,e){return wt(t[0]-e[0])<Z&&wt(t[1]-e[1])<Z}function eg(t,e,n,r){this.x=t,this.z=e,this.o=n,this.e=r,this.v=!1,this.n=this.p=null}function ng(t,e,n,r,o){var i=[],s=[],a,c;if(t.forEach(function(d){if(!((m=d.length-1)<=0)){var m,g=d[0],y=d[m],x;if(Hc(g,y)){if(!g[2]&&!y[2]){for(o.lineStart(),a=0;a<m;++a)o.point((g=d[a])[0],g[1]);o.lineEnd();return}y[0]+=2*Z}i.push(x=new eg(g,d,null,!0)),s.push(x.o=new eg(g,null,x,!1)),i.push(x=new eg(y,d,null,!1)),s.push(x.o=new eg(y,null,x,!0))}}),!!i.length){for(s.sort(e),tS(i),tS(s),a=0,c=s.length;a<c;++a)s[a].e=n=!n;for(var f=i[0],u,p;;){for(var l=f,h=!0;l.v;)if((l=l.n)===f)return;u=l.z,o.lineStart();do{if(l.v=l.o.v=!0,l.e){if(h)for(a=0,c=u.length;a<c;++a)o.point((p=u[a])[0],p[1]);else r(l.x,l.n.x,1,o);l=l.n}else{if(h)for(u=l.p.z,a=u.length-1;a>=0;--a)o.point((p=u[a])[0],p[1]);else r(l.x,l.p.x,-1,o);l=l.p}l=l.o,u=l.z,h=!h}while(!l.v);o.lineEnd()}}}function tS(t){if(e=t.length){for(var e,n=0,r=t[0],o;++n<e;)r.n=o=t[n],o.p=r,r=o;r.n=o=t[0],o.p=r}}function ww(t){return wt(t[0])<=mt?t[0]:fn(t[0])*((wt(t[0])+mt)%Le-mt)}function eS(t,e){var n=ww(e),r=e[1],o=V(r),i=[V(n),-H(n),0],s=0,a=0,c=new Xe;o===1?r=Ut+Z:o===-1&&(r=-Ut-Z);for(var f=0,u=t.length;f<u;++f)if(l=(p=t[f]).length)for(var p,l,h=p[l-1],d=ww(h),m=h[1]/2+lw,g=V(m),y=H(m),x=0;x<l;++x,d=w,g=v,y=A,h=b){var b=p[x],w=ww(b),_=b[1]/2+lw,v=V(_),A=H(_),E=w-d,T=E>=0?1:-1,C=T*E,S=C>mt,k=g*v;if(c.add(xe(k*T*V(C),y*A+k*H(C))),s+=S?E+T*Le:E,S^d>=n^w>=n){var L=Vc(ao(h),ao(b));Ul(L);var M=Vc(i,L);Ul(M);var I=(S^E>=0?-1:1)*Zt(M[2]);(r>I||r===I&&(L[0]||L[1]))&&(a+=S^E>=0?1:-1)}}return(s<-Z||s<Z&&c<-ga)^a&1}function rg(t,e,n,r){return function(o){var i=e(o),s=tg(),a=e(s),c=!1,f,u,p,l={point:h,lineStart:m,lineEnd:g,polygonStart:function(){l.point=y,l.lineStart=x,l.lineEnd=b,u=[],f=[]},polygonEnd:function(){l.point=h,l.lineStart=m,l.lineEnd=g,u=Nc(u);var w=eS(f,r);u.length?(c||(o.polygonStart(),c=!0),ng(u,h$,w,n,o)):w&&(c||(o.polygonStart(),c=!0),o.lineStart(),n(null,null,1,o),o.lineEnd()),c&&(o.polygonEnd(),c=!1),u=f=null},sphere:function(){o.polygonStart(),o.lineStart(),n(null,null,1,o),o.lineEnd(),o.polygonEnd()}};function h(w,_){t(w,_)&&o.point(w,_)}function d(w,_){i.point(w,_)}function m(){l.point=d,i.lineStart()}function g(){l.point=h,i.lineEnd()}function y(w,_){p.push([w,_]),a.point(w,_)}function x(){a.lineStart(),p=[]}function b(){y(p[0][0],p[0][1]),a.lineEnd();var w=a.clean(),_=s.result(),v,A=_.length,E,T,C;if(p.pop(),f.push(p),p=null,!!A){if(w&1){if(T=_[0],(E=T.length-1)>0){for(c||(o.polygonStart(),c=!0),o.lineStart(),v=0;v<E;++v)o.point((C=T[v])[0],C[1]);o.lineEnd()}return}A>1&&w&2&&_.push(_.pop().concat(_.shift())),u.push(_.filter(p$))}}return l}}function p$(t){return t.length>1}function h$(t,e){return((t=t.x)[0]<0?t[1]-Ut-Z:Ut-t[1])-((e=e.x)[0]<0?e[1]-Ut-Z:Ut-e[1])}var vw=rg(function(){return!0},d$,g$,[-mt,-Ut]);function d$(t){var e=NaN,n=NaN,r=NaN,o;return{lineStart:function(){t.lineStart(),o=1},point:function(i,s){var a=i>0?mt:-mt,c=wt(i-e);wt(c-mt)<Z?(t.point(e,n=(n+s)/2>0?Ut:-Ut),t.point(r,n),t.lineEnd(),t.lineStart(),t.point(a,n),t.point(i,n),o=0):r!==a&&c>=mt&&(wt(e-r)<Z&&(e-=r*Z),wt(i-a)<Z&&(i-=a*Z),n=m$(e,n,i,s),t.point(r,n),t.lineEnd(),t.lineStart(),t.point(a,n),o=0),t.point(e=i,n=s),r=a},lineEnd:function(){t.lineEnd(),e=n=NaN},clean:function(){return 2-o}}}function m$(t,e,n,r){var o,i,s=V(t-n);return wt(s)>Z?dr((V(e)*(i=H(r))*V(n)-V(r)*(o=H(e))*V(t))/(o*i*s)):(e+r)/2}function g$(t,e,n,r){var o;if(t==null)o=n*Ut,r.point(-mt,o),r.point(0,o),r.point(mt,o),r.point(mt,0),r.point(mt,-o),r.point(0,-o),r.point(-mt,-o),r.point(-mt,0),r.point(-mt,o);else if(wt(t[0]-e[0])>Z){var i=t[0]<e[0]?mt:-mt;o=n*i/2,r.point(-i,o),r.point(0,o),r.point(i,o)}else r.point(e[0],e[1])}function nS(t){var e=H(t),n=2*vt,r=e>0,o=wt(e)>Z;function i(u,p,l,h){J8(h,t,n,l,u,p)}function s(u,p){return H(u)*H(p)>e}function a(u){var p,l,h,d,m;return{lineStart:function(){d=h=!1,m=1},point:function(g,y){var x=[g,y],b,w=s(g,y),_=r?w?0:f(g,y):w?f(g+(g<0?mt:-mt),y):0;if(!p&&(d=h=w)&&u.lineStart(),w!==h&&(b=c(p,x),(!b||Hc(p,b)||Hc(x,b))&&(x[2]=1)),w!==h)m=0,w?(u.lineStart(),b=c(x,p),u.point(b[0],b[1])):(b=c(p,x),u.point(b[0],b[1],2),u.lineEnd()),p=b;else if(o&&p&&r^w){var v;!(_&l)&&(v=c(x,p,!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&&(!p||!Hc(p,x))&&u.point(x[0],x[1]),p=x,h=w,l=_},lineEnd:function(){h&&u.lineEnd(),p=null},clean:function(){return m|(d&&h)<<1}}}function c(u,p,l){var h=ao(u),d=ao(p),m=[1,0,0],g=Vc(h,d),y=zl(g,g),x=g[0],b=y-x*x;if(!b)return!l&&u;var w=e*y/b,_=-e*x/b,v=Vc(m,g),A=Yl(m,w),E=Yl(g,_);W0(A,E);var T=v,C=zl(A,T),S=zl(T,T),k=C*C-S*(zl(A,A)-1);if(!(k<0)){var L=jt(k),M=Yl(T,(-C-L)/S);if(W0(M,A),M=Bl(M),!l)return M;var I=u[0],N=p[0],R=u[1],$=p[1],O;N<I&&(O=I,I=N,N=O);var D=N-I,F=wt(D-mt)<Z,P=F||D<Z;if(!F&&$<R&&(O=R,R=$,$=O),P?F?R+$>0^M[1]<(wt(M[0]-I)<Z?R:$):R<=M[1]&&M[1]<=$:D>mt^(I<=M[0]&&M[0]<=N)){var W=Yl(T,(-C+L)/S);return W0(W,A),[M,Bl(W)]}}}function f(u,p){var l=r?t:mt-t,h=0;return u<-l?h|=1:u>l&&(h|=2),p<-l?h|=4:p>l&&(h|=8),h}return rg(s,a,i,r?[0,-t]:[-mt,t-mt])}function rS(t,e,n,r,o,i){var s=t[0],a=t[1],c=e[0],f=e[1],u=0,p=1,l=c-s,h=f-a,d;if(d=n-s,!(!l&&d>0)){if(d/=l,l<0){if(d<u)return;d<p&&(p=d)}else if(l>0){if(d>p)return;d>u&&(u=d)}if(d=o-s,!(!l&&d<0)){if(d/=l,l<0){if(d>p)return;d>u&&(u=d)}else if(l>0){if(d<u)return;d<p&&(p=d)}if(d=r-a,!(!h&&d>0)){if(d/=h,h<0){if(d<u)return;d<p&&(p=d)}else if(h>0){if(d>p)return;d>u&&(u=d)}if(d=i-a,!(!h&&d<0)){if(d/=h,h<0){if(d>p)return;d>u&&(u=d)}else if(h>0){if(d<u)return;d<p&&(p=d)}return u>0&&(t[0]=s+u*l,t[1]=a+u*h),p<1&&(e[0]=s+p*l,e[1]=a+p*h),!0}}}}}var Gl=1e9,og=-Gl;function Qc(t,e,n,r){function o(f,u){return t<=f&&f<=n&&e<=u&&u<=r}function i(f,u,p,l){var h=0,d=0;if(f==null||(h=s(f,p))!==(d=s(u,p))||c(f,u)<0^p>0)do l.point(h===0||h===3?t:n,h>1?r:e);while((h=(h+p+4)%4)!==d);else l.point(u[0],u[1])}function s(f,u){return wt(f[0]-t)<Z?u>0?0:3:wt(f[0]-n)<Z?u>0?2:1:wt(f[1]-e)<Z?u>0?1:0:u>0?3:2}function a(f,u){return c(f.x,u.x)}function c(f,u){var p=s(f,1),l=s(u,1);return p!==l?p-l:p===0?u[1]-f[1]:p===1?f[0]-u[0]:p===2?f[1]-u[1]:u[0]-f[0]}return function(f){var u=f,p=tg(),l,h,d,m,g,y,x,b,w,_,v,A={point:E,lineStart:k,lineEnd:L,polygonStart:C,polygonEnd:S};function E(I,N){o(I,N)&&u.point(I,N)}function T(){for(var I=0,N=0,R=h.length;N<R;++N)for(var $=h[N],O=1,D=$.length,F=$[0],P,W,K=F[0],tt=F[1];O<D;++O)P=K,W=tt,F=$[O],K=F[0],tt=F[1],W<=r?tt>r&&(K-P)*(r-W)>(tt-W)*(t-P)&&++I:tt<=r&&(K-P)*(r-W)<(tt-W)*(t-P)&&--I;return I}function C(){u=p,l=[],h=[],v=!0}function S(){var I=T(),N=v&&I,R=(l=Nc(l)).length;(N||R)&&(f.polygonStart(),N&&(f.lineStart(),i(null,null,1,f),f.lineEnd()),R&&ng(l,a,I,i,f),f.polygonEnd()),u=f,l=h=d=null}function k(){A.point=M,h&&h.push(d=[]),_=!0,w=!1,x=b=NaN}function L(){l&&(M(m,g),y&&w&&p.rejoin(),l.push(p.result())),A.point=E,w&&u.lineEnd()}function M(I,N){var R=o(I,N);if(h&&d.push([I,N]),_)m=I,g=N,y=R,_=!1,R&&(u.lineStart(),u.point(I,N));else if(R&&w)u.point(I,N);else{var $=[x=Math.max(og,Math.min(Gl,x)),b=Math.max(og,Math.min(Gl,b))],O=[I=Math.max(og,Math.min(Gl,I)),N=Math.max(og,Math.min(Gl,N))];rS($,O,t,e,n,r)?(w||(u.lineStart(),u.point($[0],$[1])),u.point(O[0],O[1]),R||u.lineEnd(),v=!1):R&&(u.lineStart(),u.point(I,N),v=!1)}x=I,b=N,w=R}return A}}function oS(t,e,n){var r=le(t,e-Z,n).concat(e);return function(o){return r.map(function(i){return[o,i]})}}function iS(t,e,n){var r=le(t,e-Z,n).concat(e);return function(o){return r.map(function(i){return[i,o]})}}function _w(){var t,e,n,r,o,i,s,a,c=10,f=c,u=90,p=360,l,h,d,m,g=2.5;function y(){return{type:"MultiLineString",coordinates:x()}}function x(){return le(ql(r/u)*u,n,u).map(d).concat(le(ql(a/p)*p,s,p).map(m)).concat(le(ql(e/c)*c,t,c).filter(function(b){return wt(b%u)>Z}).map(l)).concat(le(ql(i/f)*f,o,f).filter(function(b){return wt(b%p)>Z}).map(h))}return y.lines=function(){return x().map(function(b){return{type:"LineString",coordinates:b}})},y.outline=function(){return{type:"Polygon",coordinates:[d(r).concat(m(s).slice(1),d(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?(e=+b[0][0],t=+b[1][0],i=+b[0][1],o=+b[1][1],e>t&&(b=e,e=t,t=b),i>o&&(b=i,i=o,o=b),y.precision(g)):[[e,i],[t,o]]},y.step=function(b){return arguments.length?y.stepMajor(b).stepMinor(b):y.stepMinor()},y.stepMajor=function(b){return arguments.length?(u=+b[0],p=+b[1],y):[u,p]},y.stepMinor=function(b){return arguments.length?(c=+b[0],f=+b[1],y):[c,f]},y.precision=function(b){return arguments.length?(g=+b,l=oS(i,o,90),h=iS(e,t,g),d=oS(a,s,90),m=iS(r,n,g),y):g},y.extentMajor([[-180,-90+Z],[180,90-Z]]).extentMinor([[-180,-80-Z],[180,80+Z]])}function Mw(){return _w()()}var Vl=t=>t;var Sw=new Xe,Aw=new Xe,sS,aS,Ew,Tw,Ji={point:be,lineStart:be,lineEnd:be,polygonStart:function(){Ji.lineStart=y$,Ji.lineEnd=b$},polygonEnd:function(){Ji.lineStart=Ji.lineEnd=Ji.point=be,Sw.add(wt(Aw)),Aw=new Xe},result:function(){var t=Sw/2;return Sw=new Xe,t}};function y$(){Ji.point=x$}function x$(t,e){Ji.point=cS,sS=Ew=t,aS=Tw=e}function cS(t,e){Aw.add(Tw*t-Ew*e),Ew=t,Tw=e}function b$(){cS(sS,aS)}var Iw=Ji;var Zc=1/0,ig=Zc,Hl=-Zc,sg=Hl,w$={point:v$,lineStart:be,lineEnd:be,polygonStart:be,polygonEnd:be,result:function(){var t=[[Zc,ig],[Hl,sg]];return Hl=sg=-(ig=Zc=1/0),t}};function v$(t,e){t<Zc&&(Zc=t),t>Hl&&(Hl=t),e<ig&&(ig=e),e>sg&&(sg=e)}var Kc=w$;var Cw=0,Nw=0,Ql=0,ag=0,cg=0,Jc=0,kw=0,Rw=0,Zl=0,lS,pS,co,fo,$r={point:xa,lineStart:fS,lineEnd:uS,polygonStart:function(){$r.lineStart=S$,$r.lineEnd=A$},polygonEnd:function(){$r.point=xa,$r.lineStart=fS,$r.lineEnd=uS},result:function(){var t=Zl?[kw/Zl,Rw/Zl]:Jc?[ag/Jc,cg/Jc]:Ql?[Cw/Ql,Nw/Ql]:[NaN,NaN];return Cw=Nw=Ql=ag=cg=Jc=kw=Rw=Zl=0,t}};function xa(t,e){Cw+=t,Nw+=e,++Ql}function fS(){$r.point=_$}function _$(t,e){$r.point=M$,xa(co=t,fo=e)}function M$(t,e){var n=t-co,r=e-fo,o=jt(n*n+r*r);ag+=o*(co+t)/2,cg+=o*(fo+e)/2,Jc+=o,xa(co=t,fo=e)}function uS(){$r.point=xa}function S$(){$r.point=E$}function A$(){hS(lS,pS)}function E$(t,e){$r.point=hS,xa(lS=co=t,pS=fo=e)}function hS(t,e){var n=t-co,r=e-fo,o=jt(n*n+r*r);ag+=o*(co+t)/2,cg+=o*(fo+e)/2,Jc+=o,o=fo*t-co*e,kw+=o*(co+t),Rw+=o*(fo+e),Zl+=o*3,xa(co=t,fo=e)}var Lw=$r;function fg(t){this._context=t}fg.prototype={_radius:4.5,pointRadius:function(t){return this._radius=t,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){this._line===0&&this._context.closePath(),this._point=NaN},point:function(t,e){switch(this._point){case 0:{this._context.moveTo(t,e),this._point=1;break}case 1:{this._context.lineTo(t,e);break}default:{this._context.moveTo(t+this._radius,e),this._context.arc(t,e,this._radius,0,Le);break}}},result:be};var $w=new Xe,Ow,dS,mS,Kl,Jl,ug={point:be,lineStart:function(){ug.point=T$},lineEnd:function(){Ow&&gS(dS,mS),ug.point=be},polygonStart:function(){Ow=!0},polygonEnd:function(){Ow=null},result:function(){var t=+$w;return $w=new Xe,t}};function T$(t,e){ug.point=gS,dS=Kl=t,mS=Jl=e}function gS(t,e){Kl-=t,Jl-=e,$w.add(jt(Kl*Kl+Jl*Jl)),Kl=t,Jl=e}var Dw=ug;var yS,lg,xS,bS,tf=class{constructor(e){this._append=e==null?wS:I$(e),this._radius=4.5,this._=""}pointRadius(e){return this._radius=+e,this}polygonStart(){this._line=0}polygonEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){this._line===0&&(this._+="Z"),this._point=NaN}point(e,n){switch(this._point){case 0:{this._append`M${e},${n}`,this._point=1;break}case 1:{this._append`L${e},${n}`;break}default:{if(this._append`M${e},${n}`,this._radius!==xS||this._append!==lg){let r=this._radius,o=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`,xS=r,lg=this._append,bS=this._,this._=o}this._+=bS;break}}}result(){let e=this._;return this._="",e.length?e:null}};function wS(t){let e=1;this._+=t[0];for(let n=t.length;e<n;++e)this._+=arguments[e]+t[e]}function I$(t){let e=Math.floor(t);if(!(e>=0))throw new RangeError(`invalid digits: ${t}`);if(e>15)return wS;if(e!==yS){let n=10**e;yS=e,lg=function(o){let i=1;this._+=o[0];for(let s=o.length;i<s;++i)this._+=Math.round(arguments[i]*n)/n+o[i]}}return lg}function Oe(t,e){let n=3,r=4.5,o,i;function s(a){return a&&(typeof r=="function"&&i.pointRadius(+r.apply(this,arguments)),Gn(a,o(i))),i.result()}return s.area=function(a){return Gn(a,o(Iw)),Iw.result()},s.measure=function(a){return Gn(a,o(Dw)),Dw.result()},s.bounds=function(a){return Gn(a,o(Kc)),Kc.result()},s.centroid=function(a){return Gn(a,o(Lw)),Lw.result()},s.projection=function(a){return arguments.length?(o=a==null?(t=null,Vl):(t=a).stream,s):t},s.context=function(a){return arguments.length?(i=a==null?(e=null,new tf(n)):new fg(e=a),typeof r!="function"&&i.pointRadius(r),s):e},s.pointRadius=function(a){return arguments.length?(r=typeof a=="function"?a:(i.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 e===null&&(i=new tf(n)),s},s.projection(t).digits(n).context(e)}function ba(t){return{stream:ef(t)}}function ef(t){return function(e){var n=new Fw;for(var r in t)n[r]=t[r];return n.stream=e,n}}function Fw(){}Fw.prototype={constructor:Fw,point:function(t,e){this.stream.point(t,e)},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 Pw(t,e,n){var r=t.clipExtent&&t.clipExtent();return t.scale(150).translate([0,0]),r!=null&&t.clipExtent(null),Gn(n,t.stream(Kc)),e(Kc.result()),r!=null&&t.clipExtent(r),t}function tp(t,e,n){return Pw(t,function(r){var o=e[1][0]-e[0][0],i=e[1][1]-e[0][1],s=Math.min(o/(r[1][0]-r[0][0]),i/(r[1][1]-r[0][1])),a=+e[0][0]+(o-s*(r[1][0]+r[0][0]))/2,c=+e[0][1]+(i-s*(r[1][1]+r[0][1]))/2;t.scale(150*s).translate([a,c])},n)}function pg(t,e,n){return tp(t,[[0,0],e],n)}function hg(t,e,n){return Pw(t,function(r){var o=+e,i=o/(r[1][0]-r[0][0]),s=(o-i*(r[1][0]+r[0][0]))/2,a=-i*r[0][1];t.scale(150*i).translate([s,a])},n)}function dg(t,e,n){return Pw(t,function(r){var o=+e,i=o/(r[1][1]-r[0][1]),s=-i*r[0][0],a=(o-i*(r[1][1]+r[0][1]))/2;t.scale(150*i).translate([s,a])},n)}var vS=16,C$=H(30*vt);function qw(t,e){return+e?k$(t,e):N$(t)}function N$(t){return ef({point:function(e,n){e=t(e,n),this.stream.point(e[0],e[1])}})}function k$(t,e){function n(r,o,i,s,a,c,f,u,p,l,h,d,m,g){var y=f-r,x=u-o,b=y*y+x*x;if(b>4*e&&m--){var w=s+l,_=a+h,v=c+d,A=jt(w*w+_*_+v*v),E=Zt(v/=A),T=wt(wt(v)-1)<Z||wt(i-p)<Z?(i+p)/2:xe(_,w),C=t(T,E),S=C[0],k=C[1],L=S-r,M=k-o,I=x*L-y*M;(I*I/b>e||wt((y*L+x*M)/b-.5)>.3||s*l+a*h+c*d<C$)&&(n(r,o,i,s,a,c,S,k,T,w/=A,_/=A,v,m,g),g.point(S,k),n(S,k,T,w,_,v,f,u,p,l,h,d,m,g))}}return function(r){var o,i,s,a,c,f,u,p,l,h,d,m,g={point:y,lineStart:x,lineEnd:w,polygonStart:function(){r.polygonStart(),g.lineStart=_},polygonEnd:function(){r.polygonEnd(),g.lineStart=x}};function y(E,T){E=t(E,T),r.point(E[0],E[1])}function x(){p=NaN,g.point=b,r.lineStart()}function b(E,T){var C=ao([E,T]),S=t(E,T);n(p,l,u,h,d,m,p=S[0],l=S[1],u=E,h=C[0],d=C[1],m=C[2],vS,r),r.point(p,l)}function w(){g.point=y,r.lineEnd()}function _(){x(),g.point=v,g.lineEnd=A}function v(E,T){b(o=E,T),i=p,s=l,a=h,c=d,f=m,g.point=b}function A(){n(p,l,u,h,d,m,i,s,o,a,c,f,vS,r),g.lineEnd=w,w()}return g}}var R$=ef({point:function(t,e){this.stream.point(t*vt,e*vt)}});function L$(t){return ef({point:function(e,n){var r=t(e,n);return this.stream.point(r[0],r[1])}})}function O$(t,e,n,r,o){function i(s,a){return s*=r,a*=o,[e+t*s,n-t*a]}return i.invert=function(s,a){return[(s-e)/t*r,(n-a)/t*o]},i}function _S(t,e,n,r,o,i){if(!i)return O$(t,e,n,r,o);var s=H(i),a=V(i),c=s*t,f=a*t,u=s/t,p=a/t,l=(a*n-s*e)/t,h=(a*e+s*n)/t;function d(m,g){return m*=r,g*=o,[c*m-f*g+e,n-f*m-c*g]}return d.invert=function(m,g){return[r*(u*m-p*g+l),o*(h-p*m-u*g)]},d}function Qe(t){return Bw(function(){return t})()}function Bw(t){var e,n=150,r=480,o=250,i=0,s=0,a=0,c=0,f=0,u,p=0,l=1,h=1,d=null,m=vw,g=null,y,x,b,w=Vl,_=.5,v,A,E,T,C;function S(I){return E(I[0]*vt,I[1]*vt)}function k(I){return I=E.invert(I[0],I[1]),I&&[I[0]*ae,I[1]*ae]}S.stream=function(I){return T&&C===I?T:T=R$(L$(u)(m(v(w(C=I)))))},S.preclip=function(I){return arguments.length?(m=I,d=void 0,M()):m},S.postclip=function(I){return arguments.length?(w=I,g=y=x=b=null,M()):w},S.clipAngle=function(I){return arguments.length?(m=+I?nS(d=I*vt):(d=null,vw),M()):d*ae},S.clipExtent=function(I){return arguments.length?(w=I==null?(g=y=x=b=null,Vl):Qc(g=+I[0][0],y=+I[0][1],x=+I[1][0],b=+I[1][1]),M()):g==null?null:[[g,y],[x,b]]},S.scale=function(I){return arguments.length?(n=+I,L()):n},S.translate=function(I){return arguments.length?(r=+I[0],o=+I[1],L()):[r,o]},S.center=function(I){return arguments.length?(i=I[0]%360*vt,s=I[1]%360*vt,L()):[i*ae,s*ae]},S.rotate=function(I){return arguments.length?(a=I[0]%360*vt,c=I[1]%360*vt,f=I.length>2?I[2]%360*vt:0,L()):[a*ae,c*ae,f*ae]},S.angle=function(I){return arguments.length?(p=I%360*vt,L()):p*ae},S.reflectX=function(I){return arguments.length?(l=I?-1:1,L()):l<0},S.reflectY=function(I){return arguments.length?(h=I?-1:1,L()):h<0},S.precision=function(I){return arguments.length?(v=qw(A,_=I*I),M()):jt(_)},S.fitExtent=function(I,N){return tp(S,I,N)},S.fitSize=function(I,N){return pg(S,I,N)},S.fitWidth=function(I,N){return hg(S,I,N)},S.fitHeight=function(I,N){return dg(S,I,N)};function L(){var I=_S(n,0,0,l,h,p).apply(null,e(i,s)),N=_S(n,r-I[0],o-I[1],l,h,p);return u=bw(a,c,f),A=Wl(e,N),E=Wl(u,A),v=qw(A,_),M()}function M(){return T=C=null,S}return function(){return e=t.apply(this,arguments),S.invert=e.invert&&k,L()}}function nf(t){var e=0,n=mt/3,r=Bw(t),o=r(e,n);return o.parallels=function(i){return arguments.length?r(e=i[0]*vt,n=i[1]*vt):[e*ae,n*ae]},o}function MS(t){var e=H(t);function n(r,o){return[r*e,V(o)/e]}return n.invert=function(r,o){return[r/e,Zt(o*e)]},n}function SS(t,e){var n=V(t),r=(n+V(e))/2;if(wt(r)<Z)return MS(t);var o=1+n*(2*r-n),i=jt(o)/r;function s(a,c){var f=jt(o-2*r*V(c))/r;return[f*V(a*=r),i-f*H(a)]}return s.invert=function(a,c){var f=i-c,u=xe(a,wt(f))*fn(f);return f*r<0&&(u-=mt*fn(a)*fn(f)),[u/r,Zt((o-(a*a+f*f)*r*r)/(2*r))]},s}function ts(){return nf(SS).scale(155.424).center([0,33.6442])}function ep(){return ts().parallels([29.5,45.5]).scale(1070).translate([480,250]).rotate([96,0]).center([-.6,38.7])}function $$(t){var e=t.length;return{point:function(n,r){for(var o=-1;++o<e;)t[o].point(n,r)},sphere:function(){for(var n=-1;++n<e;)t[n].sphere()},lineStart:function(){for(var n=-1;++n<e;)t[n].lineStart()},lineEnd:function(){for(var n=-1;++n<e;)t[n].lineEnd()},polygonStart:function(){for(var n=-1;++n<e;)t[n].polygonStart()},polygonEnd:function(){for(var n=-1;++n<e;)t[n].polygonEnd()}}}function zw(){var t,e,n=ep(),r,o=ts().rotate([154,0]).center([-2,58.5]).parallels([55,65]),i,s=ts().rotate([157,0]).center([-3,19.9]).parallels([8,18]),a,c,f={point:function(l,h){c=[l,h]}};function u(l){var h=l[0],d=l[1];return c=null,r.point(h,d),c||(i.point(h,d),c)||(a.point(h,d),c)}u.invert=function(l){var h=n.scale(),d=n.translate(),m=(l[0]-d[0])/h,g=(l[1]-d[1])/h;return(g>=.12&&g<.234&&m>=-.425&&m<-.214?o:g>=.166&&g<.234&&m>=-.214&&m<-.115?s:n).invert(l)},u.stream=function(l){return t&&e===l?t:t=$$([n.stream(e=l),o.stream(l),s.stream(l)])},u.precision=function(l){return arguments.length?(n.precision(l),o.precision(l),s.precision(l),p()):n.precision()},u.scale=function(l){return arguments.length?(n.scale(l),o.scale(l*.35),s.scale(l),u.translate(n.translate())):n.scale()},u.translate=function(l){if(!arguments.length)return n.translate();var h=n.scale(),d=+l[0],m=+l[1];return r=n.translate(l).clipExtent([[d-.455*h,m-.238*h],[d+.455*h,m+.238*h]]).stream(f),i=o.translate([d-.307*h,m+.201*h]).clipExtent([[d-.425*h+Z,m+.12*h+Z],[d-.214*h-Z,m+.234*h-Z]]).stream(f),a=s.translate([d-.205*h,m+.212*h]).clipExtent([[d-.214*h+Z,m+.166*h+Z],[d-.115*h-Z,m+.234*h-Z]]).stream(f),p()},u.fitExtent=function(l,h){return tp(u,l,h)},u.fitSize=function(l,h){return pg(u,l,h)},u.fitWidth=function(l,h){return hg(u,l,h)},u.fitHeight=function(l,h){return dg(u,l,h)};function p(){return t=e=null,u}return u.scale(1070)}function mg(t){return function(e,n){var r=H(e),o=H(n),i=t(r*o);return i===1/0?[2,0]:[i*o*V(e),i*V(n)]}}function uo(t){return function(e,n){var r=jt(e*e+n*n),o=t(r),i=V(o),s=H(o);return[xe(e*i,r*s),Zt(r&&n*i/r)]}}var Yw=mg(function(t){return jt(2/(1+t))});Yw.invert=uo(function(t){return 2*Zt(t/2)});function Uw(){return Qe(Yw).scale(124.75).clipAngle(180-.001)}var jw=mg(function(t){return(t=j0(t))&&t/V(t)});jw.invert=uo(function(t){return t});function Xw(){return Qe(jw).scale(79.4188).clipAngle(180-.001)}function rf(t,e){return[t,ya(Gc((Ut+e)/2))]}rf.invert=function(t,e){return[t,2*dr(z0(e))-Ut]};function Ww(){return Gw(rf).scale(961/Le)}function Gw(t){var e=Qe(t),n=e.center,r=e.scale,o=e.translate,i=e.clipExtent,s=null,a,c,f;e.scale=function(p){return arguments.length?(r(p),u()):r()},e.translate=function(p){return arguments.length?(o(p),u()):o()},e.center=function(p){return arguments.length?(n(p),u()):n()},e.clipExtent=function(p){return arguments.length?(p==null?s=a=c=f=null:(s=+p[0][0],a=+p[0][1],c=+p[1][0],f=+p[1][1]),u()):s==null?null:[[s,a],[c,f]]};function u(){var p=mt*r(),l=e(Z8(e.rotate()).invert([0,0]));return i(s==null?[[l[0]-p,l[1]-p],[l[0]+p,l[1]+p]]:t===rf?[[Math.max(l[0]-p,s),a],[Math.min(l[0]+p,c),f]]:[[s,Math.max(l[1]-p,a)],[c,Math.min(l[1]+p,f)]])}return u()}function gg(t){return Gc((Ut+t)/2)}function AS(t,e){var n=H(t),r=t===e?V(t):ya(n/H(e))/ya(gg(e)/gg(t)),o=n*U0(gg(t),r)/r;if(!r)return rf;function i(s,a){o>0?a<-Ut+Z&&(a=-Ut+Z):a>Ut-Z&&(a=Ut-Z);var c=o/U0(gg(a),r);return[c*V(r*s),o-c*H(r*s)]}return i.invert=function(s,a){var c=o-a,f=fn(r)*jt(s*s+c*c),u=xe(s,wt(c))*fn(c);return c*r<0&&(u-=mt*fn(s)*fn(c)),[u/r,2*dr(U0(o/f,1/r))-Ut]},i}function Vw(){return nf(AS).scale(109.5).parallels([30,30])}function of(t,e){return[t,e]}of.invert=of;function Hw(){return Qe(of).scale(152.63)}function ES(t,e){var n=H(t),r=t===e?V(t):(n-H(e))/(e-t),o=n/r+t;if(wt(r)<Z)return of;function i(s,a){var c=o-a,f=r*s;return[c*V(f),o-c*H(f)]}return i.invert=function(s,a){var c=o-a,f=xe(s,wt(c))*fn(c);return c*r<0&&(f-=mt*fn(s)*fn(c)),[f/r,o-fn(r)*jt(s*s+c*c)]},i}function Qw(){return nf(ES).scale(131.154).center([0,13.9389])}var np=1.340264,rp=-.081106,op=893e-6,ip=.003796,yg=jt(3)/2,D$=12;function Zw(t,e){var n=Zt(yg*V(e)),r=n*n,o=r*r*r;return[t*H(n)/(yg*(np+3*rp*r+o*(7*op+9*ip*r))),n*(np+rp*r+o*(op+ip*r))]}Zw.invert=function(t,e){for(var n=e,r=n*n,o=r*r*r,i=0,s,a,c;i<D$&&(a=n*(np+rp*r+o*(op+ip*r))-e,c=np+3*rp*r+o*(7*op+9*ip*r),n-=s=a/c,r=n*n,o=r*r*r,!(wt(s)<ga));++i);return[yg*t*(np+3*rp*r+o*(7*op+9*ip*r))/H(n),Zt(V(n)/yg)]};function Kw(){return Qe(Zw).scale(177.158)}function Jw(t,e){var n=H(e),r=H(t)*n;return[n*V(t)/r,V(e)/r]}Jw.invert=uo(dr);function tv(){return Qe(Jw).scale(144.049).clipAngle(60)}function ev(t,e){return[H(e)*V(t),V(e)]}ev.invert=uo(Zt);function nv(){return Qe(ev).scale(249.5).clipAngle(90+Z)}function rv(t,e){var n=H(e),r=1+H(t)*n;return[n*V(t)/r,V(e)/r]}rv.invert=uo(function(t){return 2*dr(t)});function ov(){return Qe(rv).scale(250).clipAngle(142)}function iv(t,e){return[ya(Gc((Ut+e)/2)),-t]}iv.invert=function(t,e){return[-e,2*dr(z0(t))-Ut]};function sv(){var t=Gw(iv),e=t.center,n=t.rotate;return t.center=function(r){return arguments.length?e([-r[1],r[0]]):(r=e(),[r[1],-r[0]])},t.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 F$(t,e){return t.parent===e.parent?1:2}function P$(t){return t.reduce(q$,0)/t.length}function q$(t,e){return t+e.x}function B$(t){return 1+t.reduce(z$,0)}function z$(t,e){return Math.max(t,e.y)}function Y$(t){for(var e;e=t.children;)t=e[0];return t}function U$(t){for(var e;e=t.children;)t=e[e.length-1];return t}function xg(){var t=F$,e=1,n=1,r=!1;function o(i){var s,a=0;i.eachAfter(function(l){var h=l.children;h?(l.x=P$(h),l.y=B$(h)):(l.x=s?a+=t(l,s):0,l.y=0,s=l)});var c=Y$(i),f=U$(i),u=c.x-t(c,f)/2,p=f.x+t(f,c)/2;return i.eachAfter(r?function(l){l.x=(l.x-i.x)*e,l.y=(i.y-l.y)*n}:function(l){l.x=(l.x-u)/(p-u)*e,l.y=(1-(i.y?l.y/i.y:1))*n})}return o.separation=function(i){return arguments.length?(t=i,o):t},o.size=function(i){return arguments.length?(r=!1,e=+i[0],n=+i[1],o):r?null:[e,n]},o.nodeSize=function(i){return arguments.length?(r=!0,e=+i[0],n=+i[1],o):r?[e,n]:null},o}function j$(t){var e=0,n=t.children,r=n&&n.length;if(!r)e=1;else for(;--r>=0;)e+=n[r].value;t.value=e}function TS(){return this.eachAfter(j$)}function IS(t,e){let n=-1;for(let r of this)t.call(e,r,++n,this);return this}function CS(t,e){for(var n=this,r=[n],o,i,s=-1;n=r.pop();)if(t.call(e,n,++s,this),o=n.children)for(i=o.length-1;i>=0;--i)r.push(o[i]);return this}function NS(t,e){for(var n=this,r=[n],o=[],i,s,a,c=-1;n=r.pop();)if(o.push(n),i=n.children)for(s=0,a=i.length;s<a;++s)r.push(i[s]);for(;n=o.pop();)t.call(e,n,++c,this);return this}function kS(t,e){let n=-1;for(let r of this)if(t.call(e,r,++n,this))return r}function RS(t){return this.eachAfter(function(e){for(var n=+t(e.data)||0,r=e.children,o=r&&r.length;--o>=0;)n+=r[o].value;e.value=n})}function LS(t){return this.eachBefore(function(e){e.children&&e.children.sort(t)})}function OS(t){for(var e=this,n=X$(e,t),r=[e];e!==n;)e=e.parent,r.push(e);for(var o=r.length;t!==n;)r.splice(o,0,t),t=t.parent;return r}function X$(t,e){if(t===e)return t;var n=t.ancestors(),r=e.ancestors(),o=null;for(t=n.pop(),e=r.pop();t===e;)o=t,t=n.pop(),e=r.pop();return o}function $S(){for(var t=this,e=[t];t=t.parent;)e.push(t);return e}function DS(){return Array.from(this)}function FS(){var t=[];return this.eachBefore(function(e){e.children||t.push(e)}),t}function PS(){var t=this,e=[];return t.each(function(n){n!==t&&e.push({source:n.parent,target:n})}),e}function*qS(){var t=this,e,n=[t],r,o,i;do for(e=n.reverse(),n=[];t=e.pop();)if(yield t,r=t.children)for(o=0,i=r.length;o<i;++o)n.push(r[o]);while(n.length)}function av(t,e){t instanceof Map?(t=[void 0,t],e===void 0&&(e=V$)):e===void 0&&(e=G$);for(var n=new es(t),r,o=[n],i,s,a,c;r=o.pop();)if((s=e(r.data))&&(c=(s=Array.from(s)).length))for(r.children=s,a=c-1;a>=0;--a)o.push(i=s[a]=new es(s[a])),i.parent=r,i.depth=r.depth+1;return n.eachBefore(cv)}function W$(){return av(this).eachBefore(H$)}function G$(t){return t.children}function V$(t){return Array.isArray(t)?t[1]:null}function H$(t){t.data.value!==void 0&&(t.value=t.data.value),t.data=t.data.data}function cv(t){var e=0;do t.height=e;while((t=t.parent)&&t.height<++e)}function es(t){this.data=t,this.depth=this.height=0,this.parent=null}es.prototype=av.prototype={constructor:es,count:TS,each:IS,eachAfter:NS,eachBefore:CS,find:kS,sum:RS,sort:LS,path:OS,ancestors:$S,descendants:DS,leaves:FS,links:PS,copy:W$,[Symbol.iterator]:qS};function bg(t){return t==null?null:Q$(t)}function Q$(t){if(typeof t!="function")throw new Error;return t}var Z$={depth:-1},BS={},fv={};function K$(t){return t.id}function J$(t){return t.parentId}function wg(){var t=K$,e=J$,n;function r(o){var i=Array.from(o),s=t,a=e,c,f,u,p,l,h,d,m,g=new Map;if(n!=null){let y=i.map((w,_)=>tD(n(w,_,o))),x=y.map(zS),b=new Set(y).add("");for(let w of x)b.has(w)||(b.add(w),y.push(w),x.push(zS(w)),i.push(fv));s=(w,_)=>y[_],a=(w,_)=>x[_]}for(u=0,c=i.length;u<c;++u)f=i[u],h=i[u]=new es(f),(d=s(f,u,o))!=null&&(d+="")&&(m=h.id=d,g.set(m,g.has(m)?BS:h)),(d=a(f,u,o))!=null&&(d+="")&&(h.parent=d);for(u=0;u<c;++u)if(h=i[u],d=h.parent){if(l=g.get(d),!l)throw new Error("missing: "+d);if(l===BS)throw new Error("ambiguous: "+d);l.children?l.children.push(h):l.children=[h],h.parent=l}else{if(p)throw new Error("multiple roots");p=h}if(!p)throw new Error("no root");if(n!=null){for(;p.data===fv&&p.children.length===1;)p=p.children[0],--c;for(let y=i.length-1;y>=0&&(h=i[y],h.data===fv);--y)h.data=null}if(p.parent=Z$,p.eachBefore(function(y){y.depth=y.parent.depth+1,--c}).eachBefore(cv),p.parent=null,c>0)throw new Error("cycle");return p}return r.id=function(o){return arguments.length?(t=bg(o),r):t},r.parentId=function(o){return arguments.length?(e=bg(o),r):e},r.path=function(o){return arguments.length?(n=bg(o),r):n},r}function tD(t){t=`${t}`;let e=t.length;return uv(t,e-1)&&!uv(t,e-2)&&(t=t.slice(0,-1)),t[0]==="/"?t:`/${t}`}function zS(t){let e=t.length;if(e<2)return"";for(;--e>1&&!uv(t,e););return t.slice(0,e)}function uv(t,e){if(t[e]==="/"){let n=0;for(;e>0&&t[--e]==="\\";)++n;if(!(n&1))return!0}return!1}function eD(t,e){return t.parent===e.parent?1:2}function lv(t){var e=t.children;return e?e[0]:t.t}function pv(t){var e=t.children;return e?e[e.length-1]:t.t}function nD(t,e,n){var r=n/(e.i-t.i);e.c-=r,e.s+=n,t.c+=r,e.z+=n,e.m+=n}function rD(t){for(var e=0,n=0,r=t.children,o=r.length,i;--o>=0;)i=r[o],i.z+=e,i.m+=e,e+=i.s+(n+=i.c)}function oD(t,e,n){return t.a.parent===e.parent?t.a:n}function vg(t,e){this._=t,this.parent=null,this.children=null,this.A=null,this.a=this,this.z=0,this.m=0,this.c=0,this.s=0,this.t=null,this.i=e}vg.prototype=Object.create(es.prototype);function iD(t){for(var e=new vg(t,0),n,r=[e],o,i,s,a;n=r.pop();)if(i=n._.children)for(n.children=new Array(a=i.length),s=a-1;s>=0;--s)r.push(o=n.children[s]=new vg(i[s],s)),o.parent=n;return(e.parent=new vg(null,0)).children=[e],e}function wa(){var t=eD,e=1,n=1,r=null;function o(f){var u=iD(f);if(u.eachAfter(i),u.parent.m=-u.z,u.eachBefore(s),r)f.eachBefore(c);else{var p=f,l=f,h=f;f.eachBefore(function(x){x.x<p.x&&(p=x),x.x>l.x&&(l=x),x.depth>h.depth&&(h=x)});var d=p===l?1:t(p,l)/2,m=d-p.x,g=e/(l.x+d+m),y=n/(h.depth||1);f.eachBefore(function(x){x.x=(x.x+m)*g,x.y=x.depth*y})}return f}function i(f){var u=f.children,p=f.parent.children,l=f.i?p[f.i-1]:null;if(u){rD(f);var h=(u[0].z+u[u.length-1].z)/2;l?(f.z=l.z+t(f._,l._),f.m=f.z-h):f.z=h}else l&&(f.z=l.z+t(f._,l._));f.parent.A=a(f,l,f.parent.A||p[0])}function s(f){f._.x=f.z+f.parent.m,f.m+=f.parent.m}function a(f,u,p){if(u){for(var l=f,h=f,d=u,m=l.parent.children[0],g=l.m,y=h.m,x=d.m,b=m.m,w;d=pv(d),l=lv(l),d&&l;)m=lv(m),h=pv(h),h.a=f,w=d.z+x-l.z-g+t(d._,l._),w>0&&(nD(oD(d,f,p),f,w),g+=w,y+=w),x+=d.m,g+=l.m,b+=m.m,y+=h.m;d&&!pv(h)&&(h.t=d,h.m+=x-y),l&&!lv(m)&&(m.t=l,m.m+=g-b,p=f)}return p}function c(f){f.x*=e,f.y=f.depth*n}return o.separation=function(f){return arguments.length?(t=f,o):t},o.size=function(f){return arguments.length?(r=!1,e=+f[0],n=+f[1],o):r?null:[e,n]},o.nodeSize=function(f){return arguments.length?(r=!0,e=+f[0],n=+f[1],o):r?[e,n]:null},o}var YS=23283064365386963e-26;function va(t=Math.random()){let e=(0<=t&&t<1?t/YS:Math.abs(t))|0;return()=>(e=1664525*e+1013904223|0,YS*(e>>>0))}function we(t,e){switch(arguments.length){case 0:break;case 1:this.range(t);break;default:this.range(e).domain(t);break}return this}function sp(t,e){switch(arguments.length){case 0:break;case 1:{typeof t=="function"?this.interpolator(t):this.range(t);break}default:{this.domain(t),typeof e=="function"?this.interpolator(e):this.range(e);break}}return this}var ap=Symbol("implicit");function _a(){var t=new bn,e=[],n=[],r=ap;function o(i){let s=t.get(i);if(s===void 0){if(r!==ap)return r;t.set(i,s=e.push(i)-1)}return n[s%n.length]}return o.domain=function(i){if(!arguments.length)return e.slice();e=[],t=new bn;for(let s of i)t.has(s)||t.set(s,e.push(s)-1);return o},o.range=function(i){return arguments.length?(n=Array.from(i),o):n.slice()},o.unknown=function(i){return arguments.length?(r=i,o):r},o.copy=function(){return _a(e,n).unknown(r)},we.apply(o,arguments),o}function ns(){var t=_a().unknown(void 0),e=t.domain,n=t.range,r=0,o=1,i,s,a=!1,c=0,f=0,u=.5;delete t.unknown;function p(){var l=e().length,h=o<r,d=h?o:r,m=h?r:o;i=(m-d)/Math.max(1,l-c+f*2),a&&(i=Math.floor(i)),d+=(m-d-i*(l-c))*u,s=i*(1-c),a&&(d=Math.round(d),s=Math.round(s));var g=le(l).map(function(y){return d+i*y});return n(h?g.reverse():g)}return t.domain=function(l){return arguments.length?(e(l),p()):e()},t.range=function(l){return arguments.length?([r,o]=l,r=+r,o=+o,p()):[r,o]},t.rangeRound=function(l){return[r,o]=l,r=+r,o=+o,a=!0,p()},t.bandwidth=function(){return s},t.step=function(){return i},t.round=function(l){return arguments.length?(a=!!l,p()):a},t.padding=function(l){return arguments.length?(c=Math.min(1,f=+l),p()):c},t.paddingInner=function(l){return arguments.length?(c=Math.min(1,l),p()):c},t.paddingOuter=function(l){return arguments.length?(f=+l,p()):f},t.align=function(l){return arguments.length?(u=Math.max(0,Math.min(1,l)),p()):u},t.copy=function(){return ns(e(),[r,o]).round(a).paddingInner(c).paddingOuter(f).align(u)},we.apply(p(),arguments)}function US(t){var e=t.copy;return t.padding=t.paddingOuter,delete t.paddingInner,delete t.paddingOuter,t.copy=function(){return US(e())},t}function hv(){return US(ns.apply(null,arguments).paddingInner(1))}function dv(t){return function(){return t}}function sf(t){return+t}var jS=[0,1];function Fn(t){return t}function mv(t,e){return(e-=t=+t)?function(n){return(n-t)/e}:dv(isNaN(e)?NaN:.5)}function sD(t,e){var n;return t>e&&(n=t,t=e,e=n),function(r){return Math.max(t,Math.min(e,r))}}function aD(t,e,n){var r=t[0],o=t[1],i=e[0],s=e[1];return o<r?(r=mv(o,r),i=n(s,i)):(r=mv(r,o),i=n(i,s)),function(a){return i(r(a))}}function cD(t,e,n){var r=Math.min(t.length,e.length)-1,o=new Array(r),i=new Array(r),s=-1;for(t[r]<t[0]&&(t=t.slice().reverse(),e=e.slice().reverse());++s<r;)o[s]=mv(t[s],t[s+1]),i[s]=n(e[s],e[s+1]);return function(a){var c=Go(t,a,1,r)-1;return i[c](o[c](a))}}function lo(t,e){return e.domain(t.domain()).range(t.range()).interpolate(t.interpolate()).clamp(t.clamp()).unknown(t.unknown())}function Ma(){var t=jS,e=jS,n=Wn,r,o,i,s=Fn,a,c,f;function u(){var l=Math.min(t.length,e.length);return s!==Fn&&(s=sD(t[0],t[l-1])),a=l>2?cD:aD,c=f=null,p}function p(l){return l==null||isNaN(l=+l)?i:(c||(c=a(t.map(r),e,n)))(r(s(l)))}return p.invert=function(l){return s(o((f||(f=a(e,t.map(r),Qt)))(l)))},p.domain=function(l){return arguments.length?(t=Array.from(l,sf),u()):t.slice()},p.range=function(l){return arguments.length?(e=Array.from(l),u()):e.slice()},p.rangeRound=function(l){return e=Array.from(l),n=ua,u()},p.clamp=function(l){return arguments.length?(s=l?!0:Fn,u()):s!==Fn},p.interpolate=function(l){return arguments.length?(n=l,u()):n},p.unknown=function(l){return arguments.length?(i=l,p):i},function(l,h){return r=l,o=h,u()}}function cp(){return Ma()(Fn,Fn)}function gv(t,e,n,r){var o=Ic(t,e,n),i;switch(r=so(r??",f"),r.type){case"s":{var s=Math.max(Math.abs(t),Math.abs(e));return r.precision==null&&!isNaN(i=fw(o,s))&&(r.precision=i),B0(r,s)}case"":case"e":case"g":case"p":case"r":{r.precision==null&&!isNaN(i=uw(o,Math.max(Math.abs(t),Math.abs(e))))&&(r.precision=i-(r.type==="e"));break}case"f":case"%":{r.precision==null&&!isNaN(i=cw(o))&&(r.precision=i-(r.type==="%")*2);break}}return hr(r)}function ii(t){var e=t.domain;return t.ticks=function(n){var r=e();return Ge(r[0],r[r.length-1],n??10)},t.tickFormat=function(n,r){var o=e();return gv(o[0],o[o.length-1],n??10,r)},t.nice=function(n){n==null&&(n=10);var r=e(),o=0,i=r.length-1,s=r[o],a=r[i],c,f,u=10;for(a<s&&(f=s,s=a,a=f,f=o,o=i,i=f);u-- >0;){if(f=Ho(s,a,n),f===c)return r[o]=s,r[i]=a,e(r);if(f>0)s=Math.floor(s/f)*f,a=Math.ceil(a/f)*f;else if(f<0)s=Math.ceil(s*f)/f,a=Math.floor(a*f)/f;else break;c=f}return t},t}function si(){var t=cp();return t.copy=function(){return lo(t,si())},we.apply(t,arguments),ii(t)}function fp(t){var e;function n(r){return r==null||isNaN(r=+r)?e:r}return n.invert=n,n.domain=n.range=function(r){return arguments.length?(t=Array.from(r,sf),n):t.slice()},n.unknown=function(r){return arguments.length?(e=r,n):e},n.copy=function(){return fp(t).unknown(e)},t=arguments.length?Array.from(t,sf):[0,1],ii(n)}function up(t,e){t=t.slice();var n=0,r=t.length-1,o=t[n],i=t[r],s;return i<o&&(s=n,n=r,r=s,s=o,o=i,i=s),t[n]=e.floor(o),t[r]=e.ceil(i),t}function XS(t){return Math.log(t)}function WS(t){return Math.exp(t)}function fD(t){return-Math.log(-t)}function uD(t){return-Math.exp(-t)}function lD(t){return isFinite(t)?+("1e"+t):t<0?0:t}function pD(t){return t===10?lD:t===Math.E?Math.exp:e=>Math.pow(t,e)}function hD(t){return t===Math.E?Math.log:t===10&&Math.log10||t===2&&Math.log2||(t=Math.log(t),e=>Math.log(e)/t)}function GS(t){return(e,n)=>-t(-e,n)}function yv(t){let e=t(XS,WS),n=e.domain,r=10,o,i;function s(){return o=hD(r),i=pD(r),n()[0]<0?(o=GS(o),i=GS(i),t(fD,uD)):t(XS,WS),e}return e.base=function(a){return arguments.length?(r=+a,s()):r},e.domain=function(a){return arguments.length?(n(a),s()):n()},e.ticks=a=>{let c=n(),f=c[0],u=c[c.length-1],p=u<f;p&&([f,u]=[u,f]);let l=o(f),h=o(u),d,m,g=a==null?10:+a,y=[];if(!(r%1)&&h-l<g){if(l=Math.floor(l),h=Math.ceil(h),f>0){for(;l<=h;++l)for(d=1;d<r;++d)if(m=l<0?d/i(-l):d*i(l),!(m<f)){if(m>u)break;y.push(m)}}else for(;l<=h;++l)for(d=r-1;d>=1;--d)if(m=l>0?d/i(-l):d*i(l),!(m<f)){if(m>u)break;y.push(m)}y.length*2<g&&(y=Ge(f,u,g))}else y=Ge(l,h,Math.min(h-l,g)).map(i);return p?y.reverse():y},e.tickFormat=(a,c)=>{if(a==null&&(a=10),c==null&&(c=r===10?"s":","),typeof c!="function"&&(!(r%1)&&(c=so(c)).precision==null&&(c.trim=!0),c=hr(c)),a===1/0)return c;let f=Math.max(1,r*a/e.ticks().length);return u=>{let p=u/i(Math.round(o(u)));return p*r<r-.5&&(p*=r),p<=f?c(u):""}},e.nice=()=>n(up(n(),{floor:a=>i(Math.floor(o(a))),ceil:a=>i(Math.ceil(o(a)))})),e}function lp(){let t=yv(Ma()).domain([1,10]);return t.copy=()=>lo(t,lp()).base(t.base()),we.apply(t,arguments),t}function VS(t){return function(e){return Math.sign(e)*Math.log1p(Math.abs(e/t))}}function HS(t){return function(e){return Math.sign(e)*Math.expm1(Math.abs(e))*t}}function xv(t){var e=1,n=t(VS(e),HS(e));return n.constant=function(r){return arguments.length?t(VS(e=+r),HS(e)):e},ii(n)}function pp(){var t=xv(Ma());return t.copy=function(){return lo(t,pp()).constant(t.constant())},we.apply(t,arguments)}function QS(t){return function(e){return e<0?-Math.pow(-e,t):Math.pow(e,t)}}function dD(t){return t<0?-Math.sqrt(-t):Math.sqrt(t)}function mD(t){return t<0?-t*t:t*t}function bv(t){var e=t(Fn,Fn),n=1;function r(){return n===1?t(Fn,Fn):n===.5?t(dD,mD):t(QS(n),QS(1/n))}return e.exponent=function(o){return arguments.length?(n=+o,r()):n},ii(e)}function hp(){var t=bv(Ma());return t.copy=function(){return lo(t,hp()).exponent(t.exponent())},we.apply(t,arguments),t}function dp(){var t=[],e=[],n=[],r;function o(){var s=0,a=Math.max(1,e.length);for(n=new Array(a-1);++s<a;)n[s-1]=x2(t,s/a);return i}function i(s){return s==null||isNaN(s=+s)?r:e[Go(n,s)]}return i.invertExtent=function(s){var a=e.indexOf(s);return a<0?[NaN,NaN]:[a>0?n[a-1]:t[0],a<n.length?n[a]:t[t.length-1]]},i.domain=function(s){if(!arguments.length)return t.slice();t=[];for(let a of s)a!=null&&!isNaN(a=+a)&&t.push(a);return t.sort(dt),o()},i.range=function(s){return arguments.length?(e=Array.from(s),o()):e.slice()},i.unknown=function(s){return arguments.length?(r=s,i):r},i.quantiles=function(){return n.slice()},i.copy=function(){return dp().domain(t).range(e).unknown(r)},we.apply(i,arguments)}function mp(){var t=[.5],e=[0,1],n,r=1;function o(i){return i!=null&&i<=i?e[Go(t,i,0,r)]:n}return o.domain=function(i){return arguments.length?(t=Array.from(i),r=Math.min(t.length,e.length-1),o):t.slice()},o.range=function(i){return arguments.length?(e=Array.from(i),r=Math.min(t.length,e.length-1),o):e.slice()},o.invertExtent=function(i){var s=e.indexOf(i);return[t[s-1],t[s]]},o.unknown=function(i){return arguments.length?(n=i,o):n},o.copy=function(){return mp().domain(t).range(e).unknown(n)},we.apply(o,arguments)}var wv=new Date,vv=new Date;function Wt(t,e,n,r){function o(i){return t(i=arguments.length===0?new Date:new Date(+i)),i}return o.floor=i=>(t(i=new Date(+i)),i),o.ceil=i=>(t(i=new Date(i-1)),e(i,1),t(i),i),o.round=i=>{let s=o(i),a=o.ceil(i);return i-s<a-i?s:a},o.offset=(i,s)=>(e(i=new Date(+i),s==null?1:Math.floor(s)),i),o.range=(i,s,a)=>{let c=[];if(i=o.ceil(i),a=a==null?1:Math.floor(a),!(i<s)||!(a>0))return c;let f;do c.push(f=new Date(+i)),e(i,a),t(i);while(f<i&&i<s);return c},o.filter=i=>Wt(s=>{if(s>=s)for(;t(s),!i(s);)s.setTime(s-1)},(s,a)=>{if(s>=s)if(a<0)for(;++a<=0;)for(;e(s,-1),!i(s););else for(;--a>=0;)for(;e(s,1),!i(s););}),n&&(o.count=(i,s)=>(wv.setTime(+i),vv.setTime(+s),t(wv),t(vv),Math.floor(n(wv,vv))),o.every=i=>(i=Math.floor(i),!isFinite(i)||!(i>0)?null:i>1?o.filter(r?s=>r(s)%i===0:s=>o.count(0,s)%i===0):o)),o}var gp=Wt(()=>{},(t,e)=>{t.setTime(+t+e)},(t,e)=>e-t);gp.every=t=>(t=Math.floor(t),!isFinite(t)||!(t>0)?null:t>1?Wt(e=>{e.setTime(Math.floor(e/t)*t)},(e,n)=>{e.setTime(+e+n*t)},(e,n)=>(n-e)/t):gp);var bbt=gp.range;var $e=Wt(t=>{t.setTime(t-t.getMilliseconds())},(t,e)=>{t.setTime(+t+e*1e3)},(t,e)=>(e-t)/1e3,t=>t.getUTCSeconds()),ZS=$e.range;var ai=Wt(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*1e3)},(t,e)=>{t.setTime(+t+e*6e4)},(t,e)=>(e-t)/6e4,t=>t.getMinutes()),gD=ai.range,ci=Wt(t=>{t.setUTCSeconds(0,0)},(t,e)=>{t.setTime(+t+e*6e4)},(t,e)=>(e-t)/6e4,t=>t.getUTCMinutes()),yD=ci.range;var fi=Wt(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*1e3-t.getMinutes()*6e4)},(t,e)=>{t.setTime(+t+e*36e5)},(t,e)=>(e-t)/36e5,t=>t.getHours()),xD=fi.range,ui=Wt(t=>{t.setUTCMinutes(0,0,0)},(t,e)=>{t.setTime(+t+e*36e5)},(t,e)=>(e-t)/36e5,t=>t.getUTCHours()),bD=ui.range;var mr=Wt(t=>t.setHours(0,0,0,0),(t,e)=>t.setDate(t.getDate()+e),(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*6e4)/864e5,t=>t.getDate()-1),wD=mr.range,Ea=Wt(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/864e5,t=>t.getUTCDate()-1),vD=Ea.range,Ta=Wt(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/864e5,t=>Math.floor(t/864e5)),_D=Ta.range;function Ia(t){return Wt(e=>{e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)},(e,n)=>{e.setDate(e.getDate()+n*7)},(e,n)=>(n-e-(n.getTimezoneOffset()-e.getTimezoneOffset())*6e4)/6048e5)}var Vn=Ia(0),rs=Ia(1),_g=Ia(2),Mg=Ia(3),ho=Ia(4),Sg=Ia(5),Ag=Ia(6),JS=Vn.range,MD=rs.range,SD=_g.range,AD=Mg.range,ED=ho.range,TD=Sg.range,ID=Ag.range;function Ca(t){return Wt(e=>{e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCDate(e.getUTCDate()+n*7)},(e,n)=>(n-e)/6048e5)}var Hn=Ca(0),os=Ca(1),Eg=Ca(2),Tg=Ca(3),mo=Ca(4),Ig=Ca(5),Cg=Ca(6),tA=Hn.range,CD=os.range,ND=Eg.range,kD=Tg.range,RD=mo.range,LD=Ig.range,OD=Cg.range;var li=Wt(t=>{t.setDate(1),t.setHours(0,0,0,0)},(t,e)=>{t.setMonth(t.getMonth()+e)},(t,e)=>e.getMonth()-t.getMonth()+(e.getFullYear()-t.getFullYear())*12,t=>t.getMonth()),$D=li.range,pi=Wt(t=>{t.setUTCDate(1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCMonth(t.getUTCMonth()+e)},(t,e)=>e.getUTCMonth()-t.getUTCMonth()+(e.getUTCFullYear()-t.getUTCFullYear())*12,t=>t.getUTCMonth()),DD=pi.range;var un=Wt(t=>{t.setMonth(0,1),t.setHours(0,0,0,0)},(t,e)=>{t.setFullYear(t.getFullYear()+e)},(t,e)=>e.getFullYear()-t.getFullYear(),t=>t.getFullYear());un.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:Wt(e=>{e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)},(e,n)=>{e.setFullYear(e.getFullYear()+n*t)});var FD=un.range,ln=Wt(t=>{t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCFullYear(t.getUTCFullYear()+e)},(t,e)=>e.getUTCFullYear()-t.getUTCFullYear(),t=>t.getUTCFullYear());ln.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:Wt(e=>{e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,n)=>{e.setUTCFullYear(e.getUTCFullYear()+n*t)});var PD=ln.range;function nA(t,e,n,r,o,i){let s=[[$e,1,1e3],[$e,5,5*1e3],[$e,15,15*1e3],[$e,30,30*1e3],[i,1,6e4],[i,5,5*6e4],[i,15,15*6e4],[i,30,30*6e4],[o,1,36e5],[o,3,3*36e5],[o,6,6*36e5],[o,12,12*36e5],[r,1,864e5],[r,2,2*864e5],[n,1,6048e5],[e,1,2592e6],[e,3,3*2592e6],[t,1,31536e6]];function a(f,u,p){let l=u<f;l&&([f,u]=[u,f]);let h=p&&typeof p.range=="function"?p:c(f,u,p),d=h?h.range(f,+u+1):[];return l?d.reverse():d}function c(f,u,p){let l=Math.abs(u-f)/p,h=Nr(([,,g])=>g).right(s,l);if(h===s.length)return t.every(Ic(f/31536e6,u/31536e6,p));if(h===0)return gp.every(Math.max(Ic(f,u,p),1));let[d,m]=s[l/s[h-1][2]<s[h][2]/l?h-1:h];return d.every(m)}return[a,c]}var[_v,xp]=nA(ln,pi,Hn,Ta,ui,ci),[Mv,Sv]=nA(un,li,Vn,mr,fi,ai);function Av(t){if(0<=t.y&&t.y<100){var e=new Date(-1,t.m,t.d,t.H,t.M,t.S,t.L);return e.setFullYear(t.y),e}return new Date(t.y,t.m,t.d,t.H,t.M,t.S,t.L)}function Ev(t){if(0<=t.y&&t.y<100){var e=new Date(Date.UTC(-1,t.m,t.d,t.H,t.M,t.S,t.L));return e.setUTCFullYear(t.y),e}return new Date(Date.UTC(t.y,t.m,t.d,t.H,t.M,t.S,t.L))}function bp(t,e,n){return{y:t,m:e,d:n,H:0,M:0,S:0,L:0}}function Tv(t){var e=t.dateTime,n=t.date,r=t.time,o=t.periods,i=t.days,s=t.shortDays,a=t.months,c=t.shortMonths,f=wp(o),u=vp(o),p=wp(i),l=vp(i),h=wp(s),d=vp(s),m=wp(a),g=vp(a),y=wp(c),x=vp(c),b={a:R,A:$,b:O,B:D,c:null,d:cA,e:cA,f:cF,g:xF,G:wF,H:iF,I:sF,j:aF,L:hA,m:fF,M:uF,p:F,q:P,Q:lA,s:pA,S:lF,u:pF,U:hF,V:dF,w:mF,W:gF,x:null,X:null,y:yF,Y:bF,Z:vF,"%":uA},w={a:W,A:K,b:tt,B:nt,c:null,d:fA,e:fA,f:AF,g:$F,G:FF,H:_F,I:MF,j:SF,L:mA,m:EF,M:TF,p:U,q:et,Q:lA,s:pA,S:IF,u:CF,U:NF,V:kF,w:RF,W:LF,x:null,X:null,y:OF,Y:DF,Z:PF,"%":uA},_={a:C,A:S,b:k,B:L,c:M,d:sA,e:sA,f:eF,g:iA,G:oA,H:aA,I:aA,j:ZD,L:tF,m:QD,M:KD,p:T,q:HD,Q:rF,s:oF,S:JD,u:jD,U:XD,V:WD,w:UD,W:GD,x:I,X:N,y:iA,Y:oA,Z:VD,"%":nF};b.x=v(n,b),b.X=v(r,b),b.c=v(e,b),w.x=v(n,w),w.X=v(r,w),w.c=v(e,w);function v(z,G){return function(J){var q=[],bt=-1,st=0,Et=z.length,Ct,Q,qt;for(J instanceof Date||(J=new Date(+J));++bt<Et;)z.charCodeAt(bt)===37&&(q.push(z.slice(st,bt)),(Q=rA[Ct=z.charAt(++bt)])!=null?Ct=z.charAt(++bt):Q=Ct==="e"?" ":"0",(qt=G[Ct])&&(Ct=qt(J,Q)),q.push(Ct),st=bt+1);return q.push(z.slice(st,bt)),q.join("")}}function A(z,G){return function(J){var q=bp(1900,void 0,1),bt=E(q,z,J+="",0),st,Et;if(bt!=J.length)return null;if("Q"in q)return new Date(q.Q);if("s"in q)return new Date(q.s*1e3+("L"in q?q.L:0));if(G&&!("Z"in q)&&(q.Z=0),"p"in q&&(q.H=q.H%12+q.p*12),q.m===void 0&&(q.m="q"in q?q.q:0),"V"in q){if(q.V<1||q.V>53)return null;"w"in q||(q.w=1),"Z"in q?(st=Ev(bp(q.y,0,1)),Et=st.getUTCDay(),st=Et>4||Et===0?os.ceil(st):os(st),st=Ea.offset(st,(q.V-1)*7),q.y=st.getUTCFullYear(),q.m=st.getUTCMonth(),q.d=st.getUTCDate()+(q.w+6)%7):(st=Av(bp(q.y,0,1)),Et=st.getDay(),st=Et>4||Et===0?rs.ceil(st):rs(st),st=mr.offset(st,(q.V-1)*7),q.y=st.getFullYear(),q.m=st.getMonth(),q.d=st.getDate()+(q.w+6)%7)}else("W"in q||"U"in q)&&("w"in q||(q.w="u"in q?q.u%7:"W"in q?1:0),Et="Z"in q?Ev(bp(q.y,0,1)).getUTCDay():Av(bp(q.y,0,1)).getDay(),q.m=0,q.d="W"in q?(q.w+6)%7+q.W*7-(Et+5)%7:q.w+q.U*7-(Et+6)%7);return"Z"in q?(q.H+=q.Z/100|0,q.M+=q.Z%100,Ev(q)):Av(q)}}function E(z,G,J,q){for(var bt=0,st=G.length,Et=J.length,Ct,Q;bt<st;){if(q>=Et)return-1;if(Ct=G.charCodeAt(bt++),Ct===37){if(Ct=G.charAt(bt++),Q=_[Ct in rA?G.charAt(bt++):Ct],!Q||(q=Q(z,J,q))<0)return-1}else if(Ct!=J.charCodeAt(q++))return-1}return q}function T(z,G,J){var q=f.exec(G.slice(J));return q?(z.p=u.get(q[0].toLowerCase()),J+q[0].length):-1}function C(z,G,J){var q=h.exec(G.slice(J));return q?(z.w=d.get(q[0].toLowerCase()),J+q[0].length):-1}function S(z,G,J){var q=p.exec(G.slice(J));return q?(z.w=l.get(q[0].toLowerCase()),J+q[0].length):-1}function k(z,G,J){var q=y.exec(G.slice(J));return q?(z.m=x.get(q[0].toLowerCase()),J+q[0].length):-1}function L(z,G,J){var q=m.exec(G.slice(J));return q?(z.m=g.get(q[0].toLowerCase()),J+q[0].length):-1}function M(z,G,J){return E(z,e,G,J)}function I(z,G,J){return E(z,n,G,J)}function N(z,G,J){return E(z,r,G,J)}function R(z){return s[z.getDay()]}function $(z){return i[z.getDay()]}function O(z){return c[z.getMonth()]}function D(z){return a[z.getMonth()]}function F(z){return o[+(z.getHours()>=12)]}function P(z){return 1+~~(z.getMonth()/3)}function W(z){return s[z.getUTCDay()]}function K(z){return i[z.getUTCDay()]}function tt(z){return c[z.getUTCMonth()]}function nt(z){return a[z.getUTCMonth()]}function U(z){return o[+(z.getUTCHours()>=12)]}function et(z){return 1+~~(z.getUTCMonth()/3)}return{format:function(z){var G=v(z+="",b);return G.toString=function(){return z},G},parse:function(z){var G=A(z+="",!1);return G.toString=function(){return z},G},utcFormat:function(z){var G=v(z+="",w);return G.toString=function(){return z},G},utcParse:function(z){var G=A(z+="",!0);return G.toString=function(){return z},G}}}var rA={"-":"",_:" ",0:"0"},De=/^\s*\d+/,BD=/^%/,zD=/[\\^$*+?|[\]().{}]/g;function $t(t,e,n){var r=t<0?"-":"",o=(r?-t:t)+"",i=o.length;return r+(i<n?new Array(n-i+1).join(e)+o:o)}function YD(t){return t.replace(zD,"\\$&")}function wp(t){return new RegExp("^(?:"+t.map(YD).join("|")+")","i")}function vp(t){return new Map(t.map((e,n)=>[e.toLowerCase(),n]))}function UD(t,e,n){var r=De.exec(e.slice(n,n+1));return r?(t.w=+r[0],n+r[0].length):-1}function jD(t,e,n){var r=De.exec(e.slice(n,n+1));return r?(t.u=+r[0],n+r[0].length):-1}function XD(t,e,n){var r=De.exec(e.slice(n,n+2));return r?(t.U=+r[0],n+r[0].length):-1}function WD(t,e,n){var r=De.exec(e.slice(n,n+2));return r?(t.V=+r[0],n+r[0].length):-1}function GD(t,e,n){var r=De.exec(e.slice(n,n+2));return r?(t.W=+r[0],n+r[0].length):-1}function oA(t,e,n){var r=De.exec(e.slice(n,n+4));return r?(t.y=+r[0],n+r[0].length):-1}function iA(t,e,n){var r=De.exec(e.slice(n,n+2));return r?(t.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function VD(t,e,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(n,n+6));return r?(t.Z=r[1]?0:-(r[2]+(r[3]||"00")),n+r[0].length):-1}function HD(t,e,n){var r=De.exec(e.slice(n,n+1));return r?(t.q=r[0]*3-3,n+r[0].length):-1}function QD(t,e,n){var r=De.exec(e.slice(n,n+2));return r?(t.m=r[0]-1,n+r[0].length):-1}function sA(t,e,n){var r=De.exec(e.slice(n,n+2));return r?(t.d=+r[0],n+r[0].length):-1}function ZD(t,e,n){var r=De.exec(e.slice(n,n+3));return r?(t.m=0,t.d=+r[0],n+r[0].length):-1}function aA(t,e,n){var r=De.exec(e.slice(n,n+2));return r?(t.H=+r[0],n+r[0].length):-1}function KD(t,e,n){var r=De.exec(e.slice(n,n+2));return r?(t.M=+r[0],n+r[0].length):-1}function JD(t,e,n){var r=De.exec(e.slice(n,n+2));return r?(t.S=+r[0],n+r[0].length):-1}function tF(t,e,n){var r=De.exec(e.slice(n,n+3));return r?(t.L=+r[0],n+r[0].length):-1}function eF(t,e,n){var r=De.exec(e.slice(n,n+6));return r?(t.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function nF(t,e,n){var r=BD.exec(e.slice(n,n+1));return r?n+r[0].length:-1}function rF(t,e,n){var r=De.exec(e.slice(n));return r?(t.Q=+r[0],n+r[0].length):-1}function oF(t,e,n){var r=De.exec(e.slice(n));return r?(t.s=+r[0],n+r[0].length):-1}function cA(t,e){return $t(t.getDate(),e,2)}function iF(t,e){return $t(t.getHours(),e,2)}function sF(t,e){return $t(t.getHours()%12||12,e,2)}function aF(t,e){return $t(1+mr.count(un(t),t),e,3)}function hA(t,e){return $t(t.getMilliseconds(),e,3)}function cF(t,e){return hA(t,e)+"000"}function fF(t,e){return $t(t.getMonth()+1,e,2)}function uF(t,e){return $t(t.getMinutes(),e,2)}function lF(t,e){return $t(t.getSeconds(),e,2)}function pF(t){var e=t.getDay();return e===0?7:e}function hF(t,e){return $t(Vn.count(un(t)-1,t),e,2)}function dA(t){var e=t.getDay();return e>=4||e===0?ho(t):ho.ceil(t)}function dF(t,e){return t=dA(t),$t(ho.count(un(t),t)+(un(t).getDay()===4),e,2)}function mF(t){return t.getDay()}function gF(t,e){return $t(rs.count(un(t)-1,t),e,2)}function yF(t,e){return $t(t.getFullYear()%100,e,2)}function xF(t,e){return t=dA(t),$t(t.getFullYear()%100,e,2)}function bF(t,e){return $t(t.getFullYear()%1e4,e,4)}function wF(t,e){var n=t.getDay();return t=n>=4||n===0?ho(t):ho.ceil(t),$t(t.getFullYear()%1e4,e,4)}function vF(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+$t(e/60|0,"0",2)+$t(e%60,"0",2)}function fA(t,e){return $t(t.getUTCDate(),e,2)}function _F(t,e){return $t(t.getUTCHours(),e,2)}function MF(t,e){return $t(t.getUTCHours()%12||12,e,2)}function SF(t,e){return $t(1+Ea.count(ln(t),t),e,3)}function mA(t,e){return $t(t.getUTCMilliseconds(),e,3)}function AF(t,e){return mA(t,e)+"000"}function EF(t,e){return $t(t.getUTCMonth()+1,e,2)}function TF(t,e){return $t(t.getUTCMinutes(),e,2)}function IF(t,e){return $t(t.getUTCSeconds(),e,2)}function CF(t){var e=t.getUTCDay();return e===0?7:e}function NF(t,e){return $t(Hn.count(ln(t)-1,t),e,2)}function gA(t){var e=t.getUTCDay();return e>=4||e===0?mo(t):mo.ceil(t)}function kF(t,e){return t=gA(t),$t(mo.count(ln(t),t)+(ln(t).getUTCDay()===4),e,2)}function RF(t){return t.getUTCDay()}function LF(t,e){return $t(os.count(ln(t)-1,t),e,2)}function OF(t,e){return $t(t.getUTCFullYear()%100,e,2)}function $F(t,e){return t=gA(t),$t(t.getUTCFullYear()%100,e,2)}function DF(t,e){return $t(t.getUTCFullYear()%1e4,e,4)}function FF(t,e){var n=t.getUTCDay();return t=n>=4||n===0?mo(t):mo.ceil(t),$t(t.getUTCFullYear()%1e4,e,4)}function PF(){return"+0000"}function uA(){return"%"}function lA(t){return+t}function pA(t){return Math.floor(+t/1e3)}var af,cf,yA,go,xA;Iv({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 Iv(t){return af=Tv(t),cf=af.format,yA=af.parse,go=af.utcFormat,xA=af.utcParse,af}function qF(t){return new Date(t)}function BF(t){return t instanceof Date?+t:+new Date(+t)}function Ng(t,e,n,r,o,i,s,a,c,f){var u=cp(),p=u.invert,l=u.domain,h=f(".%L"),d=f(":%S"),m=f("%I:%M"),g=f("%I %p"),y=f("%a %d"),x=f("%b %d"),b=f("%B"),w=f("%Y");function _(v){return(c(v)<v?h:a(v)<v?d:s(v)<v?m:i(v)<v?g:r(v)<v?o(v)<v?y:x:n(v)<v?b:w)(v)}return u.invert=function(v){return new Date(p(v))},u.domain=function(v){return arguments.length?l(Array.from(v,BF)):l().map(qF)},u.ticks=function(v){var A=l();return t(A[0],A[A.length-1],v??10)},u.tickFormat=function(v,A){return A==null?_:f(A)},u.nice=function(v){var A=l();return(!v||typeof v.range!="function")&&(v=e(A[0],A[A.length-1],v??10)),v?l(up(A,v)):u},u.copy=function(){return lo(u,Ng(t,e,n,r,o,i,s,a,c,f))},u}function kg(){return we.apply(Ng(Mv,Sv,un,li,Vn,mr,fi,ai,$e,cf).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)}function Rg(){return we.apply(Ng(_v,xp,ln,pi,Hn,Ea,ui,ci,$e,go).domain([Date.UTC(2e3,0,1),Date.UTC(2e3,0,2)]),arguments)}function _p(t,e){return e.domain(t.domain()).interpolator(t.interpolator()).clamp(t.clamp()).unknown(t.unknown())}function Lg(){var t=0,e=.5,n=1,r=1,o,i,s,a,c,f=Fn,u,p=!1,l;function h(m){return isNaN(m=+m)?l:(m=.5+((m=+u(m))-i)*(r*m<r*i?a:c),f(p?Math.max(0,Math.min(1,m)):m))}h.domain=function(m){return arguments.length?([t,e,n]=m,o=u(t=+t),i=u(e=+e),s=u(n=+n),a=o===i?0:.5/(i-o),c=i===s?0:.5/(s-i),r=i<o?-1:1,h):[t,e,n]},h.clamp=function(m){return arguments.length?(p=!!m,h):p},h.interpolator=function(m){return arguments.length?(f=m,h):f};function d(m){return function(g){var y,x,b;return arguments.length?([y,x,b]=g,f=no(m,[y,x,b]),h):[f(0),f(.5),f(1)]}}return h.range=d(Wn),h.rangeRound=d(ua),h.unknown=function(m){return arguments.length?(l=m,h):l},function(m){return u=m,o=m(t),i=m(e),s=m(n),a=o===i?0:.5/(i-o),c=i===s?0:.5/(s-i),r=i<o?-1:1,h}}function Mp(){var t=ii(Lg()(Fn));return t.copy=function(){return _p(t,Mp())},sp.apply(t,arguments)}function Og(){var t=yv(Lg()).domain([.1,1,10]);return t.copy=function(){return _p(t,Og()).base(t.base())},sp.apply(t,arguments)}function $g(){var t=xv(Lg());return t.copy=function(){return _p(t,$g()).constant(t.constant())},sp.apply(t,arguments)}function Dg(){var t=bv(Lg());return t.copy=function(){return _p(t,Dg()).exponent(t.exponent())},sp.apply(t,arguments)}function j(t){for(var e=t.length/6|0,n=new Array(e),r=0;r<e;)n[r]="#"+t.slice(r*6,++r*6);return n}var Cv=j("1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf");var Nv=j("7fc97fbeaed4fdc086ffff99386cb0f0027fbf5b17666666");var kv=j("1b9e77d95f027570b3e7298a66a61ee6ab02a6761d666666");var Rv=j("4269d0efb118ff725c6cc5b03ca951ff8ab7a463f297bbf59c6b4e9498a0");var Lv=j("a6cee31f78b4b2df8a33a02cfb9a99e31a1cfdbf6fff7f00cab2d66a3d9affff99b15928");var Ov=j("fbb4aeb3cde3ccebc5decbe4fed9a6ffffcce5d8bdfddaecf2f2f2");var $v=j("b3e2cdfdcdaccbd5e8f4cae4e6f5c9fff2aef1e2cccccccc");var Dv=j("e41a1c377eb84daf4a984ea3ff7f00ffff33a65628f781bf999999");var Fv=j("66c2a5fc8d628da0cbe78ac3a6d854ffd92fe5c494b3b3b3");var Pv=j("8dd3c7ffffb3bebadafb807280b1d3fdb462b3de69fccde5d9d9d9bc80bdccebc5ffed6f");var qv=j("4e79a7f28e2ce1575976b7b259a14fedc949af7aa1ff9da79c755fbab0ab");var at=t=>O2(t[t.length-1]);var Fg=new Array(3).concat("d8b365f5f5f55ab4ac","a6611adfc27d80cdc1018571","a6611adfc27df5f5f580cdc1018571","8c510ad8b365f6e8c3c7eae55ab4ac01665e","8c510ad8b365f6e8c3f5f5f5c7eae55ab4ac01665e","8c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e","8c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e","5430058c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e003c30","5430058c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e003c30").map(j),Pg=at(Fg);var qg=new Array(3).concat("af8dc3f7f7f77fbf7b","7b3294c2a5cfa6dba0008837","7b3294c2a5cff7f7f7a6dba0008837","762a83af8dc3e7d4e8d9f0d37fbf7b1b7837","762a83af8dc3e7d4e8f7f7f7d9f0d37fbf7b1b7837","762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b7837","762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b7837","40004b762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b783700441b","40004b762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b783700441b").map(j),Bg=at(qg);var zg=new Array(3).concat("e9a3c9f7f7f7a1d76a","d01c8bf1b6dab8e1864dac26","d01c8bf1b6daf7f7f7b8e1864dac26","c51b7de9a3c9fde0efe6f5d0a1d76a4d9221","c51b7de9a3c9fde0eff7f7f7e6f5d0a1d76a4d9221","c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221","c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221","8e0152c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221276419","8e0152c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221276419").map(j),Yg=at(zg);var Ug=new Array(3).concat("998ec3f7f7f7f1a340","5e3c99b2abd2fdb863e66101","5e3c99b2abd2f7f7f7fdb863e66101","542788998ec3d8daebfee0b6f1a340b35806","542788998ec3d8daebf7f7f7fee0b6f1a340b35806","5427888073acb2abd2d8daebfee0b6fdb863e08214b35806","5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b35806","2d004b5427888073acb2abd2d8daebfee0b6fdb863e08214b358067f3b08","2d004b5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b358067f3b08").map(j),jg=at(Ug);var Sp=new Array(3).concat("ef8a62f7f7f767a9cf","ca0020f4a58292c5de0571b0","ca0020f4a582f7f7f792c5de0571b0","b2182bef8a62fddbc7d1e5f067a9cf2166ac","b2182bef8a62fddbc7f7f7f7d1e5f067a9cf2166ac","b2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac","b2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac","67001fb2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac053061","67001fb2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac053061").map(j),ff=at(Sp);var Xg=new Array(3).concat("ef8a62ffffff999999","ca0020f4a582bababa404040","ca0020f4a582ffffffbababa404040","b2182bef8a62fddbc7e0e0e09999994d4d4d","b2182bef8a62fddbc7ffffffe0e0e09999994d4d4d","b2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d","b2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d","67001fb2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d1a1a1a","67001fb2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d1a1a1a").map(j),Wg=at(Xg);var Ap=new Array(3).concat("fc8d59ffffbf91bfdb","d7191cfdae61abd9e92c7bb6","d7191cfdae61ffffbfabd9e92c7bb6","d73027fc8d59fee090e0f3f891bfdb4575b4","d73027fc8d59fee090ffffbfe0f3f891bfdb4575b4","d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4","d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4","a50026d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4313695","a50026d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4313695").map(j),uf=at(Ap);var Gg=new Array(3).concat("fc8d59ffffbf91cf60","d7191cfdae61a6d96a1a9641","d7191cfdae61ffffbfa6d96a1a9641","d73027fc8d59fee08bd9ef8b91cf601a9850","d73027fc8d59fee08bffffbfd9ef8b91cf601a9850","d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850","d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850","a50026d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850006837","a50026d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850006837").map(j),Vg=at(Gg);var Hg=new Array(3).concat("fc8d59ffffbf99d594","d7191cfdae61abdda42b83ba","d7191cfdae61ffffbfabdda42b83ba","d53e4ffc8d59fee08be6f59899d5943288bd","d53e4ffc8d59fee08bffffbfe6f59899d5943288bd","d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd","d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd","9e0142d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd5e4fa2","9e0142d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd5e4fa2").map(j),Qg=at(Hg);var Zg=new Array(3).concat("e5f5f999d8c92ca25f","edf8fbb2e2e266c2a4238b45","edf8fbb2e2e266c2a42ca25f006d2c","edf8fbccece699d8c966c2a42ca25f006d2c","edf8fbccece699d8c966c2a441ae76238b45005824","f7fcfde5f5f9ccece699d8c966c2a441ae76238b45005824","f7fcfde5f5f9ccece699d8c966c2a441ae76238b45006d2c00441b").map(j),Kg=at(Zg);var Jg=new Array(3).concat("e0ecf49ebcda8856a7","edf8fbb3cde38c96c688419d","edf8fbb3cde38c96c68856a7810f7c","edf8fbbfd3e69ebcda8c96c68856a7810f7c","edf8fbbfd3e69ebcda8c96c68c6bb188419d6e016b","f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d6e016b","f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d810f7c4d004b").map(j),ty=at(Jg);var ey=new Array(3).concat("e0f3dba8ddb543a2ca","f0f9e8bae4bc7bccc42b8cbe","f0f9e8bae4bc7bccc443a2ca0868ac","f0f9e8ccebc5a8ddb57bccc443a2ca0868ac","f0f9e8ccebc5a8ddb57bccc44eb3d32b8cbe08589e","f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe08589e","f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe0868ac084081").map(j),ny=at(ey);var ry=new Array(3).concat("fee8c8fdbb84e34a33","fef0d9fdcc8afc8d59d7301f","fef0d9fdcc8afc8d59e34a33b30000","fef0d9fdd49efdbb84fc8d59e34a33b30000","fef0d9fdd49efdbb84fc8d59ef6548d7301f990000","fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301f990000","fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301fb300007f0000").map(j),oy=at(ry);var iy=new Array(3).concat("ece2f0a6bddb1c9099","f6eff7bdc9e167a9cf02818a","f6eff7bdc9e167a9cf1c9099016c59","f6eff7d0d1e6a6bddb67a9cf1c9099016c59","f6eff7d0d1e6a6bddb67a9cf3690c002818a016450","fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016450","fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016c59014636").map(j),sy=at(iy);var ay=new Array(3).concat("ece7f2a6bddb2b8cbe","f1eef6bdc9e174a9cf0570b0","f1eef6bdc9e174a9cf2b8cbe045a8d","f1eef6d0d1e6a6bddb74a9cf2b8cbe045a8d","f1eef6d0d1e6a6bddb74a9cf3690c00570b0034e7b","fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0034e7b","fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0045a8d023858").map(j),cy=at(ay);var fy=new Array(3).concat("e7e1efc994c7dd1c77","f1eef6d7b5d8df65b0ce1256","f1eef6d7b5d8df65b0dd1c77980043","f1eef6d4b9dac994c7df65b0dd1c77980043","f1eef6d4b9dac994c7df65b0e7298ace125691003f","f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125691003f","f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125698004367001f").map(j),uy=at(fy);var ly=new Array(3).concat("fde0ddfa9fb5c51b8a","feebe2fbb4b9f768a1ae017e","feebe2fbb4b9f768a1c51b8a7a0177","feebe2fcc5c0fa9fb5f768a1c51b8a7a0177","feebe2fcc5c0fa9fb5f768a1dd3497ae017e7a0177","fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a0177","fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a017749006a").map(j),py=at(ly);var hy=new Array(3).concat("edf8b17fcdbb2c7fb8","ffffcca1dab441b6c4225ea8","ffffcca1dab441b6c42c7fb8253494","ffffccc7e9b47fcdbb41b6c42c7fb8253494","ffffccc7e9b47fcdbb41b6c41d91c0225ea80c2c84","ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea80c2c84","ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea8253494081d58").map(j),dy=at(hy);var my=new Array(3).concat("f7fcb9addd8e31a354","ffffccc2e69978c679238443","ffffccc2e69978c67931a354006837","ffffccd9f0a3addd8e78c67931a354006837","ffffccd9f0a3addd8e78c67941ab5d238443005a32","ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443005a32","ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443006837004529").map(j),gy=at(my);var yy=new Array(3).concat("fff7bcfec44fd95f0e","ffffd4fed98efe9929cc4c02","ffffd4fed98efe9929d95f0e993404","ffffd4fee391fec44ffe9929d95f0e993404","ffffd4fee391fec44ffe9929ec7014cc4c028c2d04","ffffe5fff7bcfee391fec44ffe9929ec7014cc4c028c2d04","ffffe5fff7bcfee391fec44ffe9929ec7014cc4c02993404662506").map(j),xy=at(yy);var by=new Array(3).concat("ffeda0feb24cf03b20","ffffb2fecc5cfd8d3ce31a1c","ffffb2fecc5cfd8d3cf03b20bd0026","ffffb2fed976feb24cfd8d3cf03b20bd0026","ffffb2fed976feb24cfd8d3cfc4e2ae31a1cb10026","ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cb10026","ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cbd0026800026").map(j),wy=at(by);var vy=new Array(3).concat("deebf79ecae13182bd","eff3ffbdd7e76baed62171b5","eff3ffbdd7e76baed63182bd08519c","eff3ffc6dbef9ecae16baed63182bd08519c","eff3ffc6dbef9ecae16baed64292c62171b5084594","f7fbffdeebf7c6dbef9ecae16baed64292c62171b5084594","f7fbffdeebf7c6dbef9ecae16baed64292c62171b508519c08306b").map(j),_y=at(vy);var My=new Array(3).concat("e5f5e0a1d99b31a354","edf8e9bae4b374c476238b45","edf8e9bae4b374c47631a354006d2c","edf8e9c7e9c0a1d99b74c47631a354006d2c","edf8e9c7e9c0a1d99b74c47641ab5d238b45005a32","f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45005a32","f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45006d2c00441b").map(j),Sy=at(My);var Ay=new Array(3).concat("f0f0f0bdbdbd636363","f7f7f7cccccc969696525252","f7f7f7cccccc969696636363252525","f7f7f7d9d9d9bdbdbd969696636363252525","f7f7f7d9d9d9bdbdbd969696737373525252252525","fffffff0f0f0d9d9d9bdbdbd969696737373525252252525","fffffff0f0f0d9d9d9bdbdbd969696737373525252252525000000").map(j),Ey=at(Ay);var Ty=new Array(3).concat("efedf5bcbddc756bb1","f2f0f7cbc9e29e9ac86a51a3","f2f0f7cbc9e29e9ac8756bb154278f","f2f0f7dadaebbcbddc9e9ac8756bb154278f","f2f0f7dadaebbcbddc9e9ac8807dba6a51a34a1486","fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a34a1486","fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a354278f3f007d").map(j),Iy=at(Ty);var Cy=new Array(3).concat("fee0d2fc9272de2d26","fee5d9fcae91fb6a4acb181d","fee5d9fcae91fb6a4ade2d26a50f15","fee5d9fcbba1fc9272fb6a4ade2d26a50f15","fee5d9fcbba1fc9272fb6a4aef3b2ccb181d99000d","fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181d99000d","fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181da50f1567000d").map(j),Ny=at(Cy);var ky=new Array(3).concat("fee6cefdae6be6550d","feeddefdbe85fd8d3cd94701","feeddefdbe85fd8d3ce6550da63603","feeddefdd0a2fdae6bfd8d3ce6550da63603","feeddefdd0a2fdae6bfd8d3cf16913d948018c2d04","fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d948018c2d04","fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d94801a636037f2704").map(j),Ry=at(ky);function Ly(t){return t=Math.max(0,Math.min(1,t)),"rgb("+Math.max(0,Math.min(255,Math.round(-4.54-t*(35.34-t*(2381.73-t*(6402.7-t*(7024.72-t*2710.57)))))))+", "+Math.max(0,Math.min(255,Math.round(32.49+t*(170.73+t*(52.82-t*(131.46-t*(176.58-t*67.37)))))))+", "+Math.max(0,Math.min(255,Math.round(81.24+t*(442.36-t*(2482.43-t*(6167.24-t*(6614.94-t*2475.67)))))))+")"}var Oy=Fc(Mn(300,.5,0),Mn(-240,.5,1));var Dy=Fc(Mn(-100,.75,.35),Mn(80,1.5,.8)),Fy=Fc(Mn(260,.75,.35),Mn(80,1.5,.8)),$y=Mn();function Py(t){(t<0||t>1)&&(t-=Math.floor(t));var e=Math.abs(t-.5);return $y.h=360*t-100,$y.s=1.5-1.5*e,$y.l=.8-.9*e,$y+""}var qy=Ee(),zF=Math.PI/3,YF=Math.PI*2/3;function By(t){var e;return t=(.5-t)*Math.PI,qy.r=255*(e=Math.sin(t))*e,qy.g=255*(e=Math.sin(t+zF))*e,qy.b=255*(e=Math.sin(t+YF))*e,qy+""}function zy(t){return t=Math.max(0,Math.min(1,t)),"rgb("+Math.max(0,Math.min(255,Math.round(34.61+t*(1172.33-t*(10793.56-t*(33300.12-t*(38394.49-t*14825.05)))))))+", "+Math.max(0,Math.min(255,Math.round(23.31+t*(557.33+t*(1225.33-t*(3574.96-t*(1073.77+t*707.56)))))))+", "+Math.max(0,Math.min(255,Math.round(27.2+t*(3211.1-t*(15327.97-t*(27814-t*(22569.18-t*6838.66)))))))+")"}function Yy(t){var e=t.length;return function(n){return t[Math.max(0,Math.min(e-1,Math.floor(n*e)))]}}var Uy=Yy(j("44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725")),jy=Yy(j("00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf")),Xy=Yy(j("00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4")),Wy=Yy(j("0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921"));function ve(t){return function(){return t}}var Bv=Math.cos;var lf=Math.min,Ep=Math.sin,Dt=Math.sqrt,zv=1e-12,Na=Math.PI,j_t=Na/2,pf=2*Na;function Gy(t){let e=3;return t.digits=function(n){if(!arguments.length)return e;if(n==null)e=null;else{let r=Math.floor(n);if(!(r>=0))throw new RangeError(`invalid digits: ${n}`);e=r}return t},()=>new Qi(e)}var V_t=Array.prototype.slice;function Vy(t){return typeof t=="object"&&"length"in t?t:Array.from(t)}function bA(t){this._context=t}bA.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(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:this._context.lineTo(t,e);break}}};function hi(t){return new bA(t)}function Hy(t){return t[0]}function Qy(t){return t[1]}function Tp(t,e){var n=ve(!0),r=null,o=hi,i=null,s=Gy(a);t=typeof t=="function"?t:t===void 0?Hy:ve(t),e=typeof e=="function"?e:e===void 0?Qy:ve(e);function a(c){var f,u=(c=Vy(c)).length,p,l=!1,h;for(r==null&&(i=o(h=s())),f=0;f<=u;++f)!(f<u&&n(p=c[f],f,c))===l&&((l=!l)?i.lineStart():i.lineEnd()),l&&i.point(+t(p,f,c),+e(p,f,c));if(h)return i=null,h+""||null}return a.x=function(c){return arguments.length?(t=typeof c=="function"?c:ve(+c),a):t},a.y=function(c){return arguments.length?(e=typeof c=="function"?c:ve(+c),a):e},a.defined=function(c){return arguments.length?(n=typeof c=="function"?c:ve(!!c),a):n},a.curve=function(c){return arguments.length?(o=c,r!=null&&(i=o(r)),a):o},a.context=function(c){return arguments.length?(c==null?r=i=null:i=o(r=c),a):r},a}function hf(t,e,n){var r=null,o=ve(!0),i=null,s=hi,a=null,c=Gy(f);t=typeof t=="function"?t:t===void 0?Hy:ve(+t),e=typeof e=="function"?e:e===void 0?ve(0):ve(+e),n=typeof n=="function"?n:n===void 0?Qy:ve(+n);function f(p){var l,h,d,m=(p=Vy(p)).length,g,y=!1,x,b=new Array(m),w=new Array(m);for(i==null&&(a=s(x=c())),l=0;l<=m;++l){if(!(l<m&&o(g=p[l],l,p))===y)if(y=!y)h=l,a.areaStart(),a.lineStart();else{for(a.lineEnd(),a.lineStart(),d=l-1;d>=h;--d)a.point(b[d],w[d]);a.lineEnd(),a.areaEnd()}y&&(b[l]=+t(g,l,p),w[l]=+e(g,l,p),a.point(r?+r(g,l,p):b[l],n?+n(g,l,p):w[l]))}if(x)return a=null,x+""||null}function u(){return Tp().defined(o).curve(s).context(i)}return f.x=function(p){return arguments.length?(t=typeof p=="function"?p:ve(+p),r=null,f):t},f.x0=function(p){return arguments.length?(t=typeof p=="function"?p:ve(+p),f):t},f.x1=function(p){return arguments.length?(r=p==null?null:typeof p=="function"?p:ve(+p),f):r},f.y=function(p){return arguments.length?(e=typeof p=="function"?p:ve(+p),n=null,f):e},f.y0=function(p){return arguments.length?(e=typeof p=="function"?p:ve(+p),f):e},f.y1=function(p){return arguments.length?(n=p==null?null:typeof p=="function"?p:ve(+p),f):n},f.lineX0=f.lineY0=function(){return u().x(t).y(e)},f.lineY1=function(){return u().x(t).y(n)},f.lineX1=function(){return u().x(r).y(e)},f.defined=function(p){return arguments.length?(o=typeof p=="function"?p:ve(!!p),f):o},f.curve=function(p){return arguments.length?(s=p,i!=null&&(a=s(i)),f):s},f.context=function(p){return arguments.length?(p==null?i=a=null:a=s(i=p),f):i},f}var Zy=class{constructor(e,n){this._context=e,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(e,n){switch(e=+e,n=+n,this._point){case 0:{this._point=1,this._line?this._context.lineTo(e,n):this._context.moveTo(e,n);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+e)/2,this._y0,this._x0,n,e,n):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+n)/2,e,this._y0,e,n);break}}this._x0=e,this._y0=n}};function Yv(t){return new Zy(t,!0)}function Uv(t){return new Zy(t,!1)}var UF=Dt(3),Ip={draw(t,e){let n=Dt(e+lf(e/28,.75))*.59436,r=n/2,o=r*UF;t.moveTo(0,n),t.lineTo(0,-n),t.moveTo(-o,-r),t.lineTo(o,r),t.moveTo(-o,r),t.lineTo(o,-r)}};var di={draw(t,e){let n=Dt(e/Na);t.moveTo(n,0),t.arc(0,0,n,0,pf)}};var Cp={draw(t,e){let n=Dt(e/5)/2;t.moveTo(-3*n,-n),t.lineTo(-n,-n),t.lineTo(-n,-3*n),t.lineTo(n,-3*n),t.lineTo(n,-n),t.lineTo(3*n,-n),t.lineTo(3*n,n),t.lineTo(n,n),t.lineTo(n,3*n),t.lineTo(-n,3*n),t.lineTo(-n,n),t.lineTo(-3*n,n),t.closePath()}};var wA=Dt(1/3),jF=wA*2,Np={draw(t,e){let n=Dt(e/jF),r=n*wA;t.moveTo(0,-n),t.lineTo(r,0),t.lineTo(0,n),t.lineTo(-r,0),t.closePath()}};var kp={draw(t,e){let n=Dt(e)*.62625;t.moveTo(0,-n),t.lineTo(n,0),t.lineTo(0,n),t.lineTo(-n,0),t.closePath()}};var Rp={draw(t,e){let n=Dt(e-lf(e/7,2))*.87559;t.moveTo(-n,0),t.lineTo(n,0),t.moveTo(0,n),t.lineTo(0,-n)}};var Lp={draw(t,e){let n=Dt(e),r=-n/2;t.rect(r,r,n,n)}};var Op={draw(t,e){let n=Dt(e)*.4431;t.moveTo(n,n),t.lineTo(n,-n),t.lineTo(-n,-n),t.lineTo(-n,n),t.closePath()}};var XF=.8908130915292852,vA=Ep(Na/10)/Ep(7*Na/10),WF=Ep(pf/10)*vA,GF=-Bv(pf/10)*vA,$p={draw(t,e){let n=Dt(e*XF),r=WF*n,o=GF*n;t.moveTo(0,-n),t.lineTo(r,o);for(let i=1;i<5;++i){let s=pf*i/5,a=Bv(s),c=Ep(s);t.lineTo(c*n,-a*n),t.lineTo(a*r-c*o,c*r+a*o)}t.closePath()}};var jv=Dt(3),Dp={draw(t,e){let n=-Dt(e/(jv*3));t.moveTo(0,n*2),t.lineTo(-jv*n,-n),t.lineTo(jv*n,-n),t.closePath()}};var VF=Dt(3),Fp={draw(t,e){let n=Dt(e)*.6824,r=n/2,o=n*VF/2;t.moveTo(0,-n),t.lineTo(o,r),t.lineTo(-o,r),t.closePath()}};var gr=-.5,yr=Dt(3)/2,Xv=1/Dt(12),HF=(Xv/2+1)*3,Pp={draw(t,e){let n=Dt(e/HF),r=n/2,o=n*Xv,i=r,s=n*Xv+n,a=-i,c=s;t.moveTo(r,o),t.lineTo(i,s),t.lineTo(a,c),t.lineTo(gr*r-yr*o,yr*r+gr*o),t.lineTo(gr*i-yr*s,yr*i+gr*s),t.lineTo(gr*a-yr*c,yr*a+gr*c),t.lineTo(gr*r+yr*o,gr*o-yr*r),t.lineTo(gr*i+yr*s,gr*s-yr*i),t.lineTo(gr*a+yr*c,gr*c-yr*a),t.closePath()}};var df={draw(t,e){let n=Dt(e-lf(e/6,1.7))*.6189;t.moveTo(-n,-n),t.lineTo(n,n),t.moveTo(-n,n),t.lineTo(n,-n)}};var Ky=[di,Cp,Np,Lp,$p,Dp,Pp],Wv=[di,Rp,df,Fp,Ip,Op,kp];function xr(){}function mf(t,e,n){t._context.bezierCurveTo((2*t._x0+t._x1)/3,(2*t._y0+t._y1)/3,(t._x0+2*t._x1)/3,(t._y0+2*t._y1)/3,(t._x0+4*t._x1+e)/6,(t._y0+4*t._y1+n)/6)}function qp(t){this._context=t}qp.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:mf(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(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);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:mf(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function Gv(t){return new qp(t)}function _A(t){this._context=t}_A.prototype={areaStart:xr,areaEnd:xr,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(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x2=t,this._y2=e;break;case 1:this._point=2,this._x3=t,this._y3=e;break;case 2:this._point=3,this._x4=t,this._y4=e,this._context.moveTo((this._x0+4*this._x1+t)/6,(this._y0+4*this._y1+e)/6);break;default:mf(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function Vv(t){return new _A(t)}function MA(t){this._context=t}MA.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(t,e){switch(t=+t,e=+e,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+t)/6,r=(this._y0+4*this._y1+e)/6;this._line?this._context.lineTo(n,r):this._context.moveTo(n,r);break;case 3:this._point=4;default:mf(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function Hv(t){return new MA(t)}function SA(t,e){this._basis=new qp(t),this._beta=e}SA.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var t=this._x,e=this._y,n=t.length-1;if(n>0)for(var r=t[0],o=e[0],i=t[n]-r,s=e[n]-o,a=-1,c;++a<=n;)c=a/n,this._basis.point(this._beta*t[a]+(1-this._beta)*(r+c*i),this._beta*e[a]+(1-this._beta)*(o+c*s));this._x=this._y=null,this._basis.lineEnd()},point:function(t,e){this._x.push(+t),this._y.push(+e)}};var Qv=function t(e){function n(r){return e===1?new qp(r):new SA(r,e)}return n.beta=function(r){return t(+r)},n}(.85);function gf(t,e,n){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-e),t._y2+t._k*(t._y1-n),t._x2,t._y2)}function Jy(t,e){this._context=t,this._k=(1-e)/6}Jy.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(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2,this._x1=t,this._y1=e;break;case 2:this._point=3;default:gf(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var Zv=function t(e){function n(r){return new Jy(r,e)}return n.tension=function(r){return t(+r)},n}(0);function tx(t,e){this._context=t,this._k=(1-e)/6}tx.prototype={areaStart:xr,areaEnd:xr,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(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._x3=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:gf(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var Kv=function t(e){function n(r){return new tx(r,e)}return n.tension=function(r){return t(+r)},n}(0);function ex(t,e){this._context=t,this._k=(1-e)/6}ex.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(t,e){switch(t=+t,e=+e,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,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var Jv=function t(e){function n(r){return new ex(r,e)}return n.tension=function(r){return t(+r)},n}(0);function Bp(t,e,n){var r=t._x1,o=t._y1,i=t._x2,s=t._y2;if(t._l01_a>zv){var a=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,c=3*t._l01_a*(t._l01_a+t._l12_a);r=(r*a-t._x0*t._l12_2a+t._x2*t._l01_2a)/c,o=(o*a-t._y0*t._l12_2a+t._y2*t._l01_2a)/c}if(t._l23_a>zv){var f=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,u=3*t._l23_a*(t._l23_a+t._l12_a);i=(i*f+t._x1*t._l23_2a-e*t._l12_2a)/u,s=(s*f+t._y1*t._l23_2a-n*t._l12_2a)/u}t._context.bezierCurveTo(r,o,i,s,t._x2,t._y2)}function AA(t,e){this._context=t,this._alpha=e}AA.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(t,e){if(t=+t,e=+e,this._point){var n=this._x2-t,r=this._y2-e;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(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3;default:Bp(this,t,e);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=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var t_=function t(e){function n(r){return e?new AA(r,e):new Jy(r,0)}return n.alpha=function(r){return t(+r)},n}(.5);function EA(t,e){this._context=t,this._alpha=e}EA.prototype={areaStart:xr,areaEnd:xr,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(t,e){if(t=+t,e=+e,this._point){var n=this._x2-t,r=this._y2-e;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=t,this._y3=e;break;case 1:this._point=2,this._context.moveTo(this._x4=t,this._y4=e);break;case 2:this._point=3,this._x5=t,this._y5=e;break;default:Bp(this,t,e);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=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var e_=function t(e){function n(r){return e?new EA(r,e):new tx(r,0)}return n.alpha=function(r){return t(+r)},n}(.5);function TA(t,e){this._context=t,this._alpha=e}TA.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(t,e){if(t=+t,e=+e,this._point){var n=this._x2-t,r=this._y2-e;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:Bp(this,t,e);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=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};var n_=function t(e){function n(r){return e?new TA(r,e):new ex(r,0)}return n.alpha=function(r){return t(+r)},n}(.5);function IA(t){this._context=t}IA.prototype={areaStart:xr,areaEnd:xr,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(t,e){t=+t,e=+e,this._point?this._context.lineTo(t,e):(this._point=1,this._context.moveTo(t,e))}};function r_(t){return new IA(t)}function CA(t){return t<0?-1:1}function NA(t,e,n){var r=t._x1-t._x0,o=e-t._x1,i=(t._y1-t._y0)/(r||o<0&&-0),s=(n-t._y1)/(o||r<0&&-0),a=(i*o+s*r)/(r+o);return(CA(i)+CA(s))*Math.min(Math.abs(i),Math.abs(s),.5*Math.abs(a))||0}function kA(t,e){var n=t._x1-t._x0;return n?(3*(t._y1-t._y0)/n-e)/2:e}function o_(t,e,n){var r=t._x0,o=t._y0,i=t._x1,s=t._y1,a=(i-r)/3;t._context.bezierCurveTo(r+a,o+a*e,i-a,s-a*n,i,s)}function nx(t){this._context=t}nx.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:o_(this,this._t0,kA(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){var n=NaN;if(t=+t,e=+e,!(t===this._x1&&e===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3,o_(this,kA(this,n=NA(this,t,e)),n);break;default:o_(this,this._t0,n=NA(this,t,e));break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e,this._t0=n}}};function RA(t){this._context=new LA(t)}(RA.prototype=Object.create(nx.prototype)).point=function(t,e){nx.prototype.point.call(this,e,t)};function LA(t){this._context=t}LA.prototype={moveTo:function(t,e){this._context.moveTo(e,t)},closePath:function(){this._context.closePath()},lineTo:function(t,e){this._context.lineTo(e,t)},bezierCurveTo:function(t,e,n,r,o,i){this._context.bezierCurveTo(e,t,r,n,i,o)}};function i_(t){return new nx(t)}function s_(t){return new RA(t)}function $A(t){this._context=t}$A.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var t=this._x,e=this._y,n=t.length;if(n)if(this._line?this._context.lineTo(t[0],e[0]):this._context.moveTo(t[0],e[0]),n===2)this._context.lineTo(t[1],e[1]);else for(var r=OA(t),o=OA(e),i=0,s=1;s<n;++i,++s)this._context.bezierCurveTo(r[0][i],o[0][i],r[1][i],o[1][i],t[s],e[s]);(this._line||this._line!==0&&n===1)&&this._context.closePath(),this._line=1-this._line,this._x=this._y=null},point:function(t,e){this._x.push(+t),this._y.push(+e)}};function OA(t){var e,n=t.length-1,r,o=new Array(n),i=new Array(n),s=new Array(n);for(o[0]=0,i[0]=2,s[0]=t[0]+2*t[1],e=1;e<n-1;++e)o[e]=1,i[e]=4,s[e]=4*t[e]+2*t[e+1];for(o[n-1]=2,i[n-1]=7,s[n-1]=8*t[n-1]+t[n],e=1;e<n;++e)r=o[e]/i[e-1],i[e]-=r,s[e]-=r*s[e-1];for(o[n-1]=s[n-1]/i[n-1],e=n-2;e>=0;--e)o[e]=(s[e]-o[e+1])/i[e];for(i[n-1]=(t[n]+o[n-1])/2,e=0;e<n-1;++e)i[e]=2*t[e+1]-o[e+1];return[o,i]}function a_(t){return new $A(t)}function rx(t,e){this._context=t,this._t=e}rx.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(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,e),this._context.lineTo(t,e);else{var n=this._x*(1-this._t)+t*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,e)}break}}this._x=t,this._y=e}};function c_(t){return new rx(t,.5)}function f_(t){return new rx(t,0)}function u_(t){return new rx(t,1)}var zp=t=>()=>t;function l_(t,{sourceEvent:e,target:n,transform:r,dispatch:o}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:e,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:r,enumerable:!0,configurable:!0},_:{value:o}})}function Qn(t,e,n){this.k=t,this.x=e,this.y=n}Qn.prototype={constructor:Qn,scale:function(t){return t===1?this:new Qn(this.k*t,this.x,this.y)},translate:function(t,e){return t===0&e===0?this:new Qn(this.k,this.x+this.k*t,this.y+this.k*e)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var Yp=new Qn(1,0,0);p_.prototype=Qn.prototype;function p_(t){for(;!t.__zoom;)if(!(t=t.parentNode))return Yp;return t.__zoom}function ox(t){t.stopImmediatePropagation()}function yf(t){t.preventDefault(),t.stopImmediatePropagation()}function QF(t){return(!t.ctrlKey||t.type==="wheel")&&!t.button}function ZF(){var t=this;return t instanceof SVGElement?(t=t.ownerSVGElement||t,t.hasAttribute("viewBox")?(t=t.viewBox.baseVal,[[t.x,t.y],[t.x+t.width,t.y+t.height]]):[[0,0],[t.width.baseVal.value,t.height.baseVal.value]]):[[0,0],[t.clientWidth,t.clientHeight]]}function DA(){return this.__zoom||Yp}function KF(t){return-t.deltaY*(t.deltaMode===1?.05:t.deltaMode?1:.002)*(t.ctrlKey?10:1)}function JF(){return navigator.maxTouchPoints||"ontouchstart"in this}function tP(t,e,n){var r=t.invertX(e[0][0])-n[0][0],o=t.invertX(e[1][0])-n[1][0],i=t.invertY(e[0][1])-n[0][1],s=t.invertY(e[1][1])-n[1][1];return t.translate(o>r?(r+o)/2:Math.min(0,r)||Math.max(0,o),s>i?(i+s)/2:Math.min(0,i)||Math.max(0,s))}function h_(){var t=QF,e=ZF,n=tP,r=KF,o=JF,i=[0,1/0],s=[[-1/0,-1/0],[1/0,1/0]],a=250,c=B2,f=oa("start","zoom","end"),u,p,l,h=500,d=150,m=0,g=10;function y(M){M.property("__zoom",DA).on("wheel.zoom",E,{passive:!1}).on("mousedown.zoom",T).on("dblclick.zoom",C).filter(o).on("touchstart.zoom",S).on("touchmove.zoom",k).on("touchend.zoom touchcancel.zoom",L).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}y.transform=function(M,I,N,R){var $=M.selection?M.selection():M;$.property("__zoom",DA),M!==$?_(M,I,N,R):$.interrupt().each(function(){v(this,arguments).event(R).start().zoom(null,typeof I=="function"?I.apply(this,arguments):I).end()})},y.scaleBy=function(M,I,N,R){y.scaleTo(M,function(){var $=this.__zoom.k,O=typeof I=="function"?I.apply(this,arguments):I;return $*O},N,R)},y.scaleTo=function(M,I,N,R){y.transform(M,function(){var $=e.apply(this,arguments),O=this.__zoom,D=N==null?w($):typeof N=="function"?N.apply(this,arguments):N,F=O.invert(D),P=typeof I=="function"?I.apply(this,arguments):I;return n(b(x(O,P),D,F),$,s)},N,R)},y.translateBy=function(M,I,N,R){y.transform(M,function(){return n(this.__zoom.translate(typeof I=="function"?I.apply(this,arguments):I,typeof N=="function"?N.apply(this,arguments):N),e.apply(this,arguments),s)},null,R)},y.translateTo=function(M,I,N,R,$){y.transform(M,function(){var O=e.apply(this,arguments),D=this.__zoom,F=R==null?w(O):typeof R=="function"?R.apply(this,arguments):R;return n(Yp.translate(F[0],F[1]).scale(D.k).translate(typeof I=="function"?-I.apply(this,arguments):-I,typeof N=="function"?-N.apply(this,arguments):-N),O,s)},R,$)};function x(M,I){return I=Math.max(i[0],Math.min(i[1],I)),I===M.k?M:new Qn(I,M.x,M.y)}function b(M,I,N){var R=I[0]-N[0]*M.k,$=I[1]-N[1]*M.k;return R===M.x&&$===M.y?M:new Qn(M.k,R,$)}function w(M){return[(+M[0][0]+ +M[1][0])/2,(+M[0][1]+ +M[1][1])/2]}function _(M,I,N,R){M.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 $=this,O=arguments,D=v($,O).event(R),F=e.apply($,O),P=N==null?w(F):typeof N=="function"?N.apply($,O):N,W=Math.max(F[1][0]-F[0][0],F[1][1]-F[0][1]),K=$.__zoom,tt=typeof I=="function"?I.apply($,O):I,nt=c(K.invert(P).concat(W/K.k),tt.invert(P).concat(W/tt.k));return function(U){if(U===1)U=tt;else{var et=nt(U),z=W/et[2];U=new Qn(z,P[0]-et[0]*z,P[1]-et[1]*z)}D.zoom(null,U)}})}function v(M,I,N){return!N&&M.__zooming||new A(M,I)}function A(M,I){this.that=M,this.args=I,this.active=0,this.sourceEvent=null,this.extent=e.apply(M,I),this.taps=0}A.prototype={event:function(M){return M&&(this.sourceEvent=M),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(M,I){return this.mouse&&M!=="mouse"&&(this.mouse[1]=I.invert(this.mouse[0])),this.touch0&&M!=="touch"&&(this.touch0[1]=I.invert(this.touch0[0])),this.touch1&&M!=="touch"&&(this.touch1[1]=I.invert(this.touch1[0])),this.that.__zoom=I,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(M){var I=At(this.that).datum();f.call(M,this.that,new l_(M,{sourceEvent:this.sourceEvent,target:y,type:M,transform:this.that.__zoom,dispatch:f}),I)}};function E(M,...I){if(!t.apply(this,arguments))return;var N=v(this,I).event(M),R=this.__zoom,$=Math.max(i[0],Math.min(i[1],R.k*Math.pow(2,r.apply(this,arguments)))),O=on(M);if(N.wheel)(N.mouse[0][0]!==O[0]||N.mouse[0][1]!==O[1])&&(N.mouse[1]=R.invert(N.mouse[0]=O)),clearTimeout(N.wheel);else{if(R.k===$)return;N.mouse=[O,R.invert(O)],ro(this),N.start()}yf(M),N.wheel=setTimeout(D,d),N.zoom("mouse",n(b(x(R,$),N.mouse[0],N.mouse[1]),N.extent,s));function D(){N.wheel=null,N.end()}}function T(M,...I){if(l||!t.apply(this,arguments))return;var N=M.currentTarget,R=v(this,I,!0).event(M),$=At(M.view).on("mousemove.zoom",P,!0).on("mouseup.zoom",W,!0),O=on(M,N),D=M.clientX,F=M.clientY;xl(M.view),ox(M),R.mouse=[O,this.__zoom.invert(O)],ro(this),R.start();function P(K){if(yf(K),!R.moved){var tt=K.clientX-D,nt=K.clientY-F;R.moved=tt*tt+nt*nt>m}R.event(K).zoom("mouse",n(b(R.that.__zoom,R.mouse[0]=on(K,N),R.mouse[1]),R.extent,s))}function W(K){$.on("mousemove.zoom mouseup.zoom",null),bl(K.view,R.moved),yf(K),R.event(K).end()}}function C(M,...I){if(t.apply(this,arguments)){var N=this.__zoom,R=on(M.changedTouches?M.changedTouches[0]:M,this),$=N.invert(R),O=N.k*(M.shiftKey?.5:2),D=n(b(x(N,O),R,$),e.apply(this,I),s);yf(M),a>0?At(this).transition().duration(a).call(_,D,R,M):At(this).call(y.transform,D,R,M)}}function S(M,...I){if(t.apply(this,arguments)){var N=M.touches,R=N.length,$=v(this,I,M.changedTouches.length===R).event(M),O,D,F,P;for(ox(M),D=0;D<R;++D)F=N[D],P=on(F,this),P=[P,this.__zoom.invert(P),F.identifier],$.touch0?!$.touch1&&$.touch0[2]!==P[2]&&($.touch1=P,$.taps=0):($.touch0=P,O=!0,$.taps=1+!!u);u&&(u=clearTimeout(u)),O&&($.taps<2&&(p=P[0],u=setTimeout(function(){u=null},h)),ro(this),$.start())}}function k(M,...I){if(this.__zooming){var N=v(this,I).event(M),R=M.changedTouches,$=R.length,O,D,F,P;for(yf(M),O=0;O<$;++O)D=R[O],F=on(D,this),N.touch0&&N.touch0[2]===D.identifier?N.touch0[0]=F:N.touch1&&N.touch1[2]===D.identifier&&(N.touch1[0]=F);if(D=N.that.__zoom,N.touch1){var W=N.touch0[0],K=N.touch0[1],tt=N.touch1[0],nt=N.touch1[1],U=(U=tt[0]-W[0])*U+(U=tt[1]-W[1])*U,et=(et=nt[0]-K[0])*et+(et=nt[1]-K[1])*et;D=x(D,Math.sqrt(U/et)),F=[(W[0]+tt[0])/2,(W[1]+tt[1])/2],P=[(K[0]+nt[0])/2,(K[1]+nt[1])/2]}else if(N.touch0)F=N.touch0[0],P=N.touch0[1];else return;N.zoom("touch",n(b(D,F,P),N.extent,s))}}function L(M,...I){if(this.__zooming){var N=v(this,I).event(M),R=M.changedTouches,$=R.length,O,D;for(ox(M),l&&clearTimeout(l),l=setTimeout(function(){l=null},h),O=0;O<$;++O)D=R[O],N.touch0&&N.touch0[2]===D.identifier?delete N.touch0:N.touch1&&N.touch1[2]===D.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&&(D=on(D,this),Math.hypot(p[0]-D[0],p[1]-D[1])<g)){var F=At(this).on("dblclick.zoom");F&&F.apply(this,arguments)}}}return y.wheelDelta=function(M){return arguments.length?(r=typeof M=="function"?M:zp(+M),y):r},y.filter=function(M){return arguments.length?(t=typeof M=="function"?M:zp(!!M),y):t},y.touchable=function(M){return arguments.length?(o=typeof M=="function"?M:zp(!!M),y):o},y.extent=function(M){return arguments.length?(e=typeof M=="function"?M:zp([[+M[0][0],+M[0][1]],[+M[1][0],+M[1][1]]]),y):e},y.scaleExtent=function(M){return arguments.length?(i[0]=+M[0],i[1]=+M[1],y):[i[0],i[1]]},y.translateExtent=function(M){return arguments.length?(s[0][0]=+M[0][0],s[1][0]=+M[1][0],s[0][1]=+M[0][1],s[1][1]=+M[1][1],y):[[s[0][0],s[0][1]],[s[1][0],s[1][1]]]},y.constrain=function(M){return arguments.length?(n=M,y):n},y.duration=function(M){return arguments.length?(a=+M,y):a},y.interpolate=function(M){return arguments.length?(c=M,y):c},y.on=function(){var M=f.on.apply(f,arguments);return M===f?y:M},y.clickDistance=function(M){return arguments.length?(m=(M=+M)*M,y):Math.sqrt(m)},y.tapDistance=function(M){return arguments.length?(g=+M,y):g},y}function Jt(t){return t!=null&&!Number.isNaN(t)}function Fe(t,e){return+Jt(e)-+Jt(t)||dt(t,e)}function ka(t,e){return+Jt(e)-+Jt(t)||xn(t,e)}function Up(t){return t!=null&&`${t}`!=""}function xf(t){return isFinite(t)?t:NaN}function Nn(t){return t>0&&isFinite(t)?t:NaN}function is(t){return t<0&&isFinite(t)?t:NaN}function ix(t,e){if(t instanceof Date||(t=new Date(+t)),isNaN(t))return typeof e=="function"?e(t):e;let n=t.getUTCHours(),r=t.getUTCMinutes(),o=t.getUTCSeconds(),i=t.getUTCMilliseconds();return`${eP(t.getUTCFullYear(),4)}-${mi(t.getUTCMonth()+1,2)}-${mi(t.getUTCDate(),2)}${n||r||o||i?`T${mi(n,2)}:${mi(r,2)}${o||i?`:${mi(o,2)}${i?`.${mi(i,3)}`:""}`:""}Z`:""}`}function eP(t){return t<0?`-${mi(-t,6)}`:t>9999?`+${mi(t,6)}`:mi(t,4)}function mi(t,e){return`${t}`.padStart(e,"0")}var nP=/^(?:[-+]\d{2})?\d{4}(?:-\d{2}(?:-\d{2})?)?(?:T\d{2}:\d{2}(?::\d{2}(?:\.\d{3})?)?(?:Z|[-+]\d{2}:?\d{2})?)?$/;function jp(t,e){return nP.test(t+="")?new Date(t):typeof e=="function"?e(t):e}function gi(t){if(t==null)return;let e=t[0],n=t[t.length-1];return xn(e,n)}var wf=1e3,as=wf*60,cs=as*60,xo=cs*24,yo=xo*7,Ra=xo*30,ss=xo*365,d_=[["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",wf],["5 seconds",5*wf],["15 seconds",15*wf],["30 seconds",30*wf],["minute",as],["5 minutes",5*as],["15 minutes",15*as],["30 minutes",30*as],["hour",cs],["3 hours",3*cs],["6 hours",6*cs],["12 hours",12*cs],["day",xo],["2 days",2*xo],["week",yo],["2 weeks",2*yo],["month",Ra],["3 months",3*Ra],["6 months",6*Ra],["year",ss],["2 years",2*ss],["5 years",5*ss],["10 years",10*ss],["20 years",20*ss],["50 years",50*ss],["100 years",100*ss]],m_=new Map([["second",wf],["minute",as],["hour",cs],["day",xo],["monday",yo],["tuesday",yo],["wednesday",yo],["thursday",yo],["friday",yo],["saturday",yo],["sunday",yo],["week",yo],["month",Ra],["year",ss]]),PA=new Map([["second",$e],["minute",ai],["hour",fi],["day",mr],["monday",rs],["tuesday",_g],["wednesday",Mg],["thursday",ho],["friday",Sg],["saturday",Ag],["sunday",Vn],["week",Vn],["month",li],["year",un]]),g_=new Map([["second",$e],["minute",ci],["hour",ui],["day",Ta],["monday",os],["tuesday",Eg],["wednesday",Tg],["thursday",mo],["friday",Ig],["saturday",Cg],["sunday",Hn],["week",Hn],["month",pi],["year",ln]]),vf=Symbol("intervalDuration"),ax=Symbol("intervalType");for(let[t,e]of PA)e[vf]=m_.get(t),e[ax]="time";for(let[t,e]of g_)e[vf]=m_.get(t),e[ax]="utc";var Xp=[["year",ln,"utc"],["month",pi,"utc"],["day",Ta,"utc",6*Ra],["hour",ui,"utc",3*xo],["minute",ci,"utc",6*cs],["second",$e,"utc",30*as]],sx=[["year",un,"time"],["month",li,"time"],["day",mr,"time",6*Ra],["hour",fi,"time",3*xo],["minute",ai,"time",6*cs],["second",$e,"time",30*as]],rP=[Xp[0],sx[0],Xp[1],sx[1],Xp[2],sx[2],...Xp.slice(3)];function cx(t){let e=`${t}`.toLowerCase();e.endsWith("s")&&(e=e.slice(0,-1));let n=1,r=/^(?:(\d+)\s+)/.exec(e);switch(r&&(e=e.slice(r[0].length),n=+r[1]),e){case"quarter":e="month",n*=3;break;case"half":e="month",n*=6;break}let o=g_.get(e);if(!o)throw new Error(`unknown interval: ${t}`);if(n>1&&!o.every)throw new Error(`non-periodic interval: ${e}`);return[e,n]}function Wp(t){return qA(cx(t),"time")}function La(t){return qA(cx(t),"utc")}function qA([t,e],n){let r=(n==="time"?PA:g_).get(t);return e>1&&(r=r.every(e),r[vf]=m_.get(t)*e,r[ax]=n),r}function y_(t,e){if(!(e>1))return;let n=t[vf];if(!d_.some(([,o])=>o===n)||n%xo===0&&xo<n&&n<Ra)return;let[r]=d_[Nr(([,o])=>Math.log(o)).center(d_,Math.log(n*e))];return(t[ax]==="time"?Wp:La)(r)}function FA(t,e,n){let r=e==="time"?cf:go;if(n==null)return r(t==="year"?"%Y":t==="month"?"%Y-%m":t==="day"?"%Y-%m-%d":t==="hour"||t==="minute"?"%Y-%m-%dT%H:%M":t==="second"?"%Y-%m-%dT%H:%M:%S":"%Y-%m-%dT%H:%M:%S.%L");let o=oP(n);switch(t){case"millisecond":return bf(r(".%L"),r(":%M:%S"),o);case"second":return bf(r(":%S"),r("%-I:%M"),o);case"minute":return bf(r("%-I:%M"),r("%p"),o);case"hour":return bf(r("%-I %p"),r("%b %-d"),o);case"day":return bf(r("%-d"),r("%b"),o);case"month":return bf(r("%b"),r("%Y"),o);case"year":return r("%Y")}throw new Error("unable to format time ticks")}function oP(t){return t==="left"||t==="right"?(e,n)=>`
3
3
  ${e}
4
4
  ${n}`:t==="top"?(e,n)=>`${n}
5
5
  ${e}`:(e,n)=>`${e}
6
- ${n}`}function MD(t){return t==="time"?xg:t==="utc"?Iu:vD}function N8(t,e,n){let r=Tt(hd(e,(o,i)=>Math.abs(i-o)));if(r<1e3)return $8("millisecond","utc",n);for(let[o,i,s,a]of MD(t)){if(r>a||o==="hour"&&!r)break;if(e.every(c=>i.floor(c)>=c))return $8(o,s,n)}}function Sc(t,e,n){return(r,o,i)=>{let s=t(r,o),a=e(r,o),c=o-Bo(i);return o!==c&&i[c]!==void 0&&a===e(i[c],c)?s:n(s,a)}}var Cu=Object.getPrototypeOf(Uint8Array),SD=Object.prototype.toString;function vn(t){return t instanceof Array||t instanceof Cu}function R8(t){return t instanceof Cu&&!AD(t)}function L8(t){return t?.prototype instanceof Cu&&!ED(t)}function AD(t){return t instanceof BigInt64Array||t instanceof BigUint64Array}function ED(t){return t===BigInt64Array||t===BigUint64Array}var pw=Symbol("reindex");function ft(t,e,n){let r=typeof e;return r==="string"?V8(t)?hw(t.getChild(e),n):O8(t,dw(e),n):r==="function"?O8(t,e,n):r==="number"||e instanceof Date||r==="boolean"?Mt(t,te(e),n):typeof e?.transform=="function"?uw(e.transform(t),n):TD(uw(e,n),t?.[pw])}function TD(t,e){return t!=null&&e?Nu(t,e):t}function O8(t,e,n){return Mt(t,L8(n)?(r,o)=>mw(e(r,o)):e,n)}function uw(t,e){return e===void 0?On(t):W8(t)?hw(t,e):t instanceof e?t:e.from(t,L8(e)&&!R8(t)?mw:void 0)}function hw(t,e){return t==null?t:(e===void 0||e===Array)&&CD(t.type)?gw(t.toArray()):uw(t.toArray(),e)}var Oi=[null],dw=t=>e=>{let n=e[t];return n===void 0&&e.type==="Feature"?e.properties?.[t]:n},Yt={transform:mn},G={transform:t=>t};var ku=()=>1,D8=()=>!0,se=t=>t==null?t:`${t}`,Ct=t=>t==null?t:+t;var Zs=t=>t?t[0]:void 0,Ri=t=>t?t[1]:void 0,F8=t=>t?t[2]:void 0,te=t=>()=>t;function Tc(t){let e=+`${t}`.slice(1)/100;return(n,r)=>on(n,e,r)}function de(t){return R8(t)?t:Mt(t,mw,Float64Array)}function mw(t){return t==null?NaN:Number(t)}function gw(t){return Mt(t,yw)}function yw(t){return t instanceof Date&&!isNaN(t)?t:typeof t=="string"?Tu(t):t==null||isNaN(t=Number(t))?void 0:new Date(t)}function Kt(t,e){return t===void 0&&(t=e),t===null?[void 0,"none"]:Pi(t)?[void 0,t]:[t,void 0]}function Lt(t,e){return t===void 0&&(t=e),t===null||typeof t=="number"?[void 0,t]:[t,void 0]}function xw(t,e,n){if(t!=null)return be(t,e,n)}function be(t,e,n){let r=`${t}`.toLowerCase();if(!n.includes(r))throw new Error(`invalid ${e}: ${t}`);return r}function zo(t){return V8(t)?t:On(t)}function On(t){if(t==null||vn(t))return t;if(W8(t))return hw(t);switch(t.type){case"FeatureCollection":return t.features;case"GeometryCollection":return t.geometries;case"Feature":case"LineString":case"MultiLineString":case"MultiPoint":case"MultiPolygon":case"Point":case"Polygon":case"Sphere":return[t]}return Array.from(t)}function Mt(t,e,n=Array){return t==null?t:t instanceof n?t.map(e):n.from(t,e)}function Li(t,e=Array){return t instanceof e?t.slice():e.from(t)}function bw({x:t,x1:e,x2:n}){return t!==void 0||e!==void 0||n!==void 0}function ww({y:t,y1:e,y2:n}){return t!==void 0||e!==void 0||n!==void 0}function Yo(t){return bw(t)||ww(t)||t.interval!==void 0}function Ie(t){return t?.toString===SD}function Xr(t){return Ie(t)&&(t.type!==void 0||t.domain!==void 0)}function Rn(t){return Ie(t)&&typeof t.transform!="function"}function Gr(t){return Rn(t)&&t.value===void 0&&t.channel===void 0}function vw(t,e,n,r=G){return e===void 0&&n===void 0?(e=0,n=t===void 0?r:t):e===void 0?e=t===void 0?0:t:n===void 0&&(n=t===void 0?0:t),[e,n]}function oe(t,e){return t===void 0&&e===void 0?[Zs,Ri]:[t,e]}function Ke({z:t,fill:e,stroke:n}={}){return t===void 0&&([t]=Kt(e)),t===void 0&&([t]=Kt(n)),t}function Di(t){return vn(t)?t.length:t?.numRows}function mn(t){let e=Di(t),n=new Uint32Array(e);for(let r=0;r<e;++r)n[r]=r;return n}function Nu(t,e){return vn(t)?Mt(e,n=>t[n],t.constructor):Mt(e,n=>t.at(n))}function Ic(t){return t.length===1?(e,n)=>t(Nu(n,e)):t}function Uo(t,e,n){return t.subarray?t.subarray(e,n):t.slice(e,n)}function er(t){return t!==null&&typeof t=="object"?t.valueOf():t}function vg(t,e){if(e[t]!==void 0)return e[t];switch(t){case"x1":case"x2":t="x";break;case"y1":case"y2":t="y";break}return e[t]}function $e(t){let e;return[{transform:()=>e,label:Ye(t)},n=>e=n]}function ze(t){return t==null?[t]:$e(t)}function Ye(t,e){return typeof t=="string"?t:t&&t.label!==void 0?t.label:e}function $c(t,e){return{transform(n){let r=t.transform(n),o=e.transform(n);return Jt(r)||Jt(o)?Mt(r,(i,s)=>new Date((+r[s]+ +o[s])/2)):Mt(r,(i,s)=>(+r[s]+ +o[s])/2,Float64Array)},label:t.label}}function Ks(t,e){let n=_w(e?.interval,e?.type);return n?Mt(t,n):t}function _w(t,e){let n=Cc(t,e);return n&&(r=>Ht(r)?n.floor(r):r)}function Cc(t,e){if(t!=null){if(typeof t=="number")return Mw(t);if(typeof t=="string")return(e==="time"?$u:Qs)(t);if(typeof t.floor!="function")throw new Error("invalid interval; missing floor method");if(typeof t.offset!="function")throw new Error("invalid interval; missing offset method");return t}}function Mw(t){t=+t,0<t&&t<1&&Number.isInteger(1/t)&&(t=-1/t);let e=Math.abs(t);return t<0?{floor:n=>Math.floor(n*e)/e,offset:(n,r=1)=>(n*e+Math.floor(r))/e,range:(n,r)=>ie(Math.ceil(n*e),r*e).map(o=>o/e)}:{floor:n=>Math.floor(n/e)*e,offset:(n,r=1)=>n+e*Math.floor(r),range:(n,r)=>ie(Math.ceil(n/e),r/e).map(o=>o*e)}}function Vr(t,e){if(t=Cc(t,e),t&&typeof t.range!="function")throw new Error("invalid interval: missing range method");return t}function P8(t,e){if(t=Vr(t,e),t&&typeof t.ceil!="function")throw new Error("invalid interval: missing ceil method");return t}function q8(t){return Fi(t)&&typeof t?.floor=="function"&&t.floor()instanceof Date}function Fi(t){return typeof t?.range=="function"}function nr(t){return t===void 0||Rn(t)?t:{value:t}}function B8(t){return t==null?null:{transform:e=>ft(e,t,Float64Array),label:Ye(t)}}function z8(t){if(!gn(t))return!1;for(let e of t)if(e!=null)return typeof e=="object"&&"0"in e&&"1"in e}function gn(t){return t&&typeof t[Symbol.iterator]=="function"}function _g(t){for(let e of t)if(e!=null)return typeof e!="object"||e instanceof Date}function Qt(t){for(let e of t){if(e==null)continue;let n=typeof e;return n==="string"||n==="boolean"}}function Jt(t){for(let e of t)if(e!=null)return e instanceof Date}function Y8(t){for(let e of t)if(e!=null)return typeof e=="string"&&isNaN(e)&&Tu(e)}function U8(t){for(let e of t)if(e!=null){if(typeof e!="string")return!1;if(e.trim())return!isNaN(e)}}function jo(t){for(let e of t)if(e!=null)return typeof e=="number"}function Mg(t,e){let n;for(let r of t)if(r!=null){if(!e(r))return!1;n=!0}return n}var ID=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 Pi(t){return typeof t!="string"?!1:(t=t.toLowerCase().trim(),/^#[0-9a-f]{3,8}$/.test(t)||/^(?:url|var|rgb|rgba|hsl|hsla|hwb|lab|lch|oklab|oklch|color|color-mix)\(.*\)$/.test(t)||ID.has(t))}function j8(t){return typeof t=="number"&&(0<=t&&t<=1||isNaN(t))}function Rt(t){return t==null||Xo(t)}function Xo(t){return/^\s*none\s*$/i.test(t)}function X8(t){return/^\s*round\s*$/i.test(t)}function Sg(t,e){return xw(t,e,["middle","top-left","top","top-right","right","bottom-right","bottom","bottom-left","left"])}function Wr(t="middle"){return Sg(t,"frameAnchor")}function G8(t={},...e){let n=t;for(let r of e)for(let o in r)if(n[o]===void 0){let i=r[o];n===t?n={...n,[o]:i}:n[o]=i}return n}function $D(t){console.warn("named iterables are deprecated; please use an object instead");let e=new Set;return Object.fromEntries(Array.from(t,n=>{let{name:r}=n;if(r==null)throw new Error("missing name");let o=`${r}`;if(o==="__proto__")throw new Error(`illegal name: ${o}`);if(e.has(o))throw new Error(`duplicate name: ${o}`);return e.add(o),[r,n]}))}function Ou(t){return gn(t)?$D(t):t}function Ag(t){return t===!0?t="frame":t===!1?t=null:t!=null&&(t=be(t,"clip",["frame","sphere"])),t}function V8(t){return t&&typeof t.getChild=="function"&&typeof t.toArray=="function"&&t.schema&&Array.isArray(t.schema.fields)}function W8(t){return t&&typeof t.toArray=="function"&&t.type}function CD(t){return t&&(t.typeId===8||t.typeId===10)&&t.unit===1}var rr=Symbol("position"),Ln=Symbol("color"),Js=Symbol("radius"),ta=Symbol("length"),ea=Symbol("opacity"),kc=Symbol("symbol"),H8=Symbol("projection"),qt=new Map([["x",rr],["y",rr],["fx",rr],["fy",rr],["r",Js],["color",Ln],["opacity",ea],["symbol",kc],["length",ta],["projection",H8]]);function Q8(t){return t===rr||t===H8}function Z8(t){return t===rr||t===Js||t===ta||t===ea}var Sw=Math.sqrt(3),Aw=2/Sw,kD={draw(t,e){let n=Math.sqrt(e/Math.PI),r=n*Aw,o=r/2;t.moveTo(0,r),t.lineTo(n,o),t.lineTo(n,-o),t.lineTo(0,-r),t.lineTo(-n,-o),t.lineTo(-n,o),t.closePath()}},Ew=new Map([["asterisk",uu],["circle",Po],["cross",pu],["diamond",hu],["diamond2",du],["hexagon",kD],["plus",mu],["square",gu],["square2",yu],["star",xu],["times",bc],["triangle",bu],["triangle2",wu],["wye",vu]]);function Tw(t){return t&&typeof t.draw=="function"}function K8(t){return Tw(t)?!0:typeof t!="string"?!1:Ew.has(t.toLowerCase())}function Nc(t){if(t==null||Tw(t))return t;let e=Ew.get(`${t}`.toLowerCase());if(e)return e;throw new Error(`invalid symbol: ${t}`)}function J8(t){if(t==null||Tw(t))return[void 0,t];if(typeof t=="string"){let e=Ew.get(`${t}`.toLowerCase());if(e)return[void 0,e]}return[t,void 0]}function me({filter:t,sort:e,reverse:n,transform:r,initializer:o,...i}={},s){if(r===void 0&&(t!=null&&(r=Cw(t)),e!=null&&!Gr(e)&&(r=Iw(r,Nw(e))),n&&(r=Iw(r,kw))),s!=null&&o!=null)throw new Error("transforms cannot be applied after initializers");return{...i,...(e===null||Gr(e))&&{sort:e},transform:Iw(r,s)}}function jt({filter:t,sort:e,reverse:n,initializer:r,...o}={},i){return r===void 0&&(t!=null&&(r=Cw(t)),e!=null&&!Gr(e)&&(r=$w(r,Nw(e))),n&&(r=$w(r,kw))),{...o,...(e===null||Gr(e))&&{sort:e},initializer:$w(r,i)}}function Iw(t,e){return t==null?e===null?void 0:e:e==null?t===null?void 0:t:function(n,r,o){return{data:n,facets:r}=t.call(this,n,r,o),e.call(this,zo(n),r,o)}}function $w(t,e){return t==null?e===null?void 0:e:e==null?t===null?void 0:t:function(n,r,o,...i){let s,a,c,f,l,u;return{data:a=n,facets:c=r,channels:s}=t.call(this,n,r,o,...i),{data:l=a,facets:u=c,channels:f}=e.call(this,a,c,{...o,...s},...i),{data:l,facets:u,channels:{...s,...f}}}}function Eg(t,e){return(t.initializer!=null?jt:me)(t,e)}function tS(t,e){return Eg(e,Cw(t))}function Cw(t){return(e,n)=>{let r=ft(e,t);return{data:e,facets:n.map(o=>o.filter(i=>r[i]))}}}function eS({sort:t,...e}={}){return{...Eg(e,kw),sort:Gr(t)?t:null}}function kw(t,e){return{data:t,facets:e.map(n=>n.slice().reverse())}}function nS({seed:t,sort:e,...n}={}){return{...Eg(n,rS(t==null?Math.random:Ps(t))),sort:Gr(e)?e:null}}function Tg(t,{sort:e,...n}={}){return{...(Rn(t)&&t.channel!==void 0?jt:Eg)(n,Nw(t)),sort:Gr(e)?e:null}}function Nw(t){return(typeof t=="function"&&t.length!==1?ND:rS)(t)}function ND(t){return(e,n)=>{let r=vn(e)?(o,i)=>t(e[o],e[i]):(o,i)=>t(e.get(o),e.get(i));return{data:e,facets:n.map(o=>o.slice().sort(r))}}}function rS(t){let e,n;({channel:e,value:t,order:n}={...nr(t)});let r=e?.startsWith("-");if(r&&(e=e.slice(1)),n===void 0&&(n=r?Ws:Te),typeof n!="function")switch(`${n}`.toLowerCase()){case"ascending":n=Te;break;case"descending":n=Ws;break;default:throw new Error(`invalid order: ${n}`)}return(o,i,s)=>{let a;if(e===void 0)a=ft(o,t);else{if(s===void 0)throw new Error("channel sort requires an initializer");if(a=s[e],!a)return{};a=a.value}let c=(f,l)=>n(a[f],a[l]);return{data:o,facets:i.map(f=>f.slice().sort(c))}}}function Lu(t,e){return Ig(null,null,t,e)}function qi(t={y:"count"},e={}){let{x:n=G}=e;if(n==null)throw new Error("missing channel: x");return Ig(n,null,t,e)}function Bi(t={x:"count"},e={}){let{y:n=G}=e;if(n==null)throw new Error("missing channel: y");return Ig(null,n,t,e)}function Du(t={fill:"count"},e={}){let{x:n,y:r}=e;if([n,r]=oe(n,r),n==null)throw new Error("missing channel: x");if(r==null)throw new Error("missing channel: y");return Ig(n,r,t,e)}function Ig(t,e,{data:n=kg,filter:r,sort:o,reverse:i,...s}={},a={}){s=Rw(s,a),n=cS(n,G),o=o==null?void 0:sS("sort",o,a),r=r==null?void 0:aS("filter",r,a);let[c,f]=ze(t),[l,u]=ze(e),{z:p,fill:h,stroke:d,x1:m,x2:g,y1:y,y2:x,...w}=a,[b,_]=ze(p),[v]=Kt(h),[A]=Kt(d),[T,E]=ze(v),[$,S]=ze(A);return{..."z"in a&&{z:b||p},..."fill"in a&&{fill:T||h},..."stroke"in a&&{stroke:$||d},...me(w,(k,O,M)=>{let I=Ks(ft(k,t),M?.x),C=Ks(ft(k,e),M?.y),N=ft(k,p),L=ft(k,v),R=ft(k,A),D=Fu(s,{z:N,fill:L,stroke:R}),F=[],P=[],V=I&&f([]),J=C&&u([]),et=N&&_([]),rt=L&&E([]),j=R&&S([]),nt=0;for(let z of s)z.initialize(k);o&&o.initialize(k),r&&r.initialize(k);for(let z of O){let W=[];for(let tt of s)tt.scope("facet",z);o&&o.scope("facet",z),r&&r.scope("facet",z);for(let[tt,q]of Hr(z,D))for(let[gt,at]of Hr(q,C))for(let[At,It]of Hr(at,I)){let Z={data:k};if(I&&(Z.x=At),C&&(Z.y=gt),D&&(Z.z=tt),!(r&&!r.reduce(It,Z))){W.push(nt++),P.push(n.reduceIndex(It,k,Z)),I&&V.push(At),C&&J.push(gt),N&&et.push(D===N?tt:N[It[0]]),L&&rt.push(D===L?tt:L[It[0]]),R&&j.push(D===R?tt:R[It[0]]);for(let Dt of s)Dt.reduce(It,Z);o&&o.reduce(It,Z)}}F.push(W)}return Lw(F,o,i),{data:P,facets:F}}),...!Qr(s,"x")&&(c?{x:c}:{x1:m,x2:g}),...!Qr(s,"y")&&(l?{y:l}:{y1:y,y2:x}),...Object.fromEntries(s.map(({name:k,output:O})=>[k,O]))}}function Qr(t,...e){for(let{name:n}of t)if(e.includes(n))return!0;return!1}function Ow(t,e,n=$g){let r=Object.entries(t);return e.title!=null&&t.title===void 0&&r.push(["title",PD]),e.href!=null&&t.href===void 0&&r.push(["href",Ng]),r.filter(([,o])=>o!==void 0).map(([o,i])=>i===null?OD(o):n(o,i,e))}function $g(t,e,n,r=Cg){let o;Ie(e)&&"reduce"in e&&(o=e.scale,e=e.reduce);let i=r(t,e,n),[s,a]=$e(i.label),c;return{name:t,output:o===void 0?s:{value:s,scale:o},initialize(f){i.initialize(f),c=a([])},scope(f,l){i.scope(f,l)},reduce(f,l){c.push(i.reduce(f,l))}}}function OD(t){return{name:t,initialize(){},scope(){},reduce(){}}}function Cg(t,e,n,r=Oc){let o=vg(t,n),i=r(e,o),s,a;return{label:Ye(i===Ru?null:o,i.label),initialize(c){s=o===void 0?c:ft(c,o),i.scope==="data"&&(a=i.reduceIndex(mn(c),s))},scope(c,f){i.scope===c&&(a=i.reduceIndex(f,s))},reduce(c,f){return i.scope==null?i.reduceIndex(c,s,f):i.reduceIndex(c,s,a,f)}}}function Hr(t,e){return e?De(t,n=>e[n]):[[,t]]}function Oc(t,e,n=RD){if(t==null)return n(t);if(typeof t.reduceIndex=="function")return t;if(typeof t.reduce=="function"&&Ie(t))return DD(t);if(typeof t=="function")return FD(t);if(/^p\d{2}$/i.test(t))return Go(Tc(t));switch(`${t}`.toLowerCase()){case"first":return Ng;case"last":return qD;case"identity":return kg;case"count":return Ru;case"distinct":return BD;case"sum":return e==null?Ru:zD;case"proportion":return iS(e,"data");case"proportion-facet":return iS(e,"facet");case"deviation":return Go(Xn);case"min":return Go(Ft);case"min-index":return Go(ld);case"max":return Go(Tt);case"max-index":return Go(fd);case"mean":return oS(wo);case"median":return oS(ur);case"variance":return Go(hi);case"mode":return Go(Fa)}return n(t)}function RD(t){throw new Error(`invalid reduce: ${t}`)}function Rw(t,e){return Ow(t,e,sS)}function sS(t,e,n){return $g(t,e,n,aS)}function aS(t,e,n){return Cg(t,e,n,cS)}function cS(t,e){return Oc(t,e,LD)}function LD(t){switch(`${t}`.toLowerCase()){case"x":return YD;case"y":return UD;case"z":return Dw}throw new Error(`invalid group reduce: ${t}`)}function Fu(t,e){for(let n in e){let r=e[n];if(r!==void 0&&!t.some(o=>o.name===n))return r}}function Lw(t,e,n){if(e){let r=e.output.transform(),o=(i,s)=>Te(r[i],r[s]);t.forEach(i=>i.sort(o))}n&&t.forEach(r=>r.reverse())}function DD(t){return console.warn("deprecated reduce interface; implement reduceIndex instead."),{...t,reduceIndex:t.reduce.bind(t)}}function FD(t){return{reduceIndex(e,n,r){return t(Nu(n,e),r)}}}function Go(t){return{reduceIndex(e,n){return t(e,r=>n[r])}}}function oS(t){return{reduceIndex(e,n){let r=t(e,o=>n[o]);return Jt(n)?new Date(r):r}}}var kg={reduceIndex(t,e){return Nu(e,t)}},Ng={reduceIndex(t,e){return e[t[0]]}},PD={reduceIndex(t,e){let r=xo(lr(t,i=>i.length,i=>e[i]),Ri),o=r.slice(-5).reverse();if(o.length<r.length){let i=r.slice(0,-4);o[4]=[`\u2026 ${i.length.toLocaleString("en-US")} more`,Pe(i,Ri)]}return o.map(([i,s])=>`${i} (${s.toLocaleString("en-US")})`).join(`
7
- `)}},qD={reduceIndex(t,e){return e[t[t.length-1]]}},Ru={label:"Frequency",reduceIndex(t){return t.length}},BD={label:"Distinct",reduceIndex(t,e){let n=new rn;for(let r of t)n.add(e[r]);return n.size}},zD=Go(Pe);function iS(t,e){return t==null?{scope:e,label:"Frequency",reduceIndex:(n,r,o=1)=>n.length/o}:{scope:e,reduceIndex:(n,r,o=1)=>Pe(n,i=>r[i])/o}}var YD={reduceIndex(t,e,{x:n}){return n}},UD={reduceIndex(t,e,{y:n}){return n}},Dw={reduceIndex(t,e,{z:n}){return n}};function fS(t){if(typeof t!="function")throw new Error(`invalid test function: ${t}`);return{reduceIndex(e,n,{data:r}){return n[e.find(vn(r)?o=>t(r[o],o,r):o=>t(r.get(o),o,r))]}}}function Rc(t,{scale:e,type:n,value:r,filter:o,hint:i,label:s=Ye(r)},a){return i===void 0&&typeof r?.transform=="function"&&(i=r.hint),Pw(a,{scale:e,type:n,value:ft(t,r),label:s,filter:o,hint:i})}function Og(t,e){return Object.fromEntries(Object.entries(t).map(([n,r])=>[n,Rc(e,r,n)]))}function Lc(t,e){let n=Object.fromEntries(Object.entries(t).map(([r,{scale:o,value:i}])=>{let s=o==null?null:e[o];return[r,s==null?i:Mt(i,s)]}));return n.channels=t,n}function Pw(t,e){let{scale:n,value:r}=e;if(n===!0||n==="auto")switch(t){case"fill":case"stroke":case"color":e.scale=n!==!0&&Mg(r,Pi)?null:"color",e.defaultScale="color";break;case"fillOpacity":case"strokeOpacity":case"opacity":e.scale=n!==!0&&Mg(r,j8)?null:"opacity",e.defaultScale="opacity";break;case"symbol":n!==!0&&Mg(r,K8)?(e.scale=null,e.value=Mt(r,Nc)):e.scale="symbol",e.defaultScale="symbol";break;default:e.scale=qt.has(t)?t:null;break}else if(n===!1)e.scale=null;else if(n!=null&&!qt.has(n))throw new Error(`unknown scale: ${n}`);return e}function uS(t,e,n,r,o){let{order:i,reverse:s,reduce:a=!0,limit:c}=o;for(let f in o){if(!qt.has(f))continue;let{value:l,order:u=i,reverse:p=s,reduce:h=a,limit:d=c}=nr(o[f]),m=l?.startsWith("-");if(m&&(l=l.slice(1)),u=u===void 0?m!==(l==="width"||l==="height")?hS:pS:GD(u),h==null||h===!1)continue;let g=f==="fx"||f==="fy"?XD(e,r[f]):jD(n,f);if(!g)throw new Error(`missing channel for scale: ${f}`);let y=g.value,[x=0,w=1/0]=gn(d)?d:d<0?[d]:[0,d];if(l==null)g.domain=()=>{let b=Array.from(new rn(y));return p&&(b=b.reverse()),(x!==0||w!==1/0)&&(b=b.slice(x,w)),b};else{let b=l==="data"?t:l==="height"?lS(n,"y1","y2"):l==="width"?lS(n,"x1","x2"):Fw(n,l,l==="y"?"y2":l==="x"?"x2":void 0),_=Oc(h===!0?"max":h,b);g.domain=()=>{let v=cx(mn(y),A=>_.reduceIndex(A,b),A=>y[A]);return u&&v.sort(u),p&&v.reverse(),(x!==0||w!==1/0)&&(v=v.slice(x,w)),v.map(Zs)}}}}function jD(t,e){for(let n in t){let r=t[n];if(r.scale===e)return r}}function XD(t,e){let n=t.original;if(n===t)return e;let r=e.value,o=e.value=[];for(let i=0;i<n.length;++i){let s=r[n[i][0]];for(let a of t[i])o[a]=s}return e}function lS(t,e,n){let r=Fw(t,e),o=Fw(t,n);return Mt(o,(i,s)=>Math.abs(i-r[s]),Float64Array)}function Fw(t,e,n){let r=t[e];if(!r&&n!==void 0&&(r=t[n]),r)return r.value;throw new Error(`missing channel: ${e}`)}function GD(t){if(t==null||typeof t=="function")return t;switch(`${t}`.toLowerCase()){case"ascending":return pS;case"descending":return hS}throw new Error(`invalid order: ${t}`)}function pS([t,e],[n,r]){return Te(e,r)||Te(t,n)}function hS([t,e],[n,r]){return Ws(e,r)||Te(t,n)}function Pu(t,e){let n=t[e];if(n){for(;n.source;)n=n.source;return n.source===null?null:n}}var xS=new Map([["accent",M2],["category10",_2],["dark2",S2],["observable10",A2],["paired",E2],["pastel1",T2],["pastel2",I2],["set1",$2],["set2",C2],["set3",k2],["tableau10",N2]]);function bS(t){return t!=null&&xS.has(`${t}`.toLowerCase())}var dS=new Map([...xS,["brbg",Vo(Hm,Qm)],["prgn",Vo(Zm,Km)],["piyg",Vo(Jm,t0)],["puor",Vo(e0,n0)],["rdbu",Vo(au,dc)],["rdgy",Vo(r0,o0)],["rdylbu",Vo(cu,mc)],["rdylgn",Vo(i0,s0)],["spectral",Vo(a0,c0)],["burd",mS(au,dc)],["buylrd",mS(cu,mc)],["blues",Ce(O0,R0)],["greens",Ce(L0,D0)],["greys",Ce(F0,P0)],["oranges",Ce(U0,j0)],["purples",Ce(q0,B0)],["reds",Ce(z0,Y0)],["turbo",Wo(J0)],["viridis",Wo(eg)],["magma",Wo(ng)],["inferno",Wo(rg)],["plasma",Wo(og)],["cividis",Wo(X0)],["cubehelix",Wo(G0)],["warm",Wo(W0)],["cool",Wo(H0)],["bugn",Ce(f0,l0)],["bupu",Ce(u0,p0)],["gnbu",Ce(h0,d0)],["orrd",Ce(m0,g0)],["pubu",Ce(b0,w0)],["pubugn",Ce(y0,x0)],["purd",Ce(v0,_0)],["rdpu",Ce(M0,S0)],["ylgn",Ce(T0,I0)],["ylgnbu",Ce(A0,E0)],["ylorbr",Ce($0,C0)],["ylorrd",Ce(k0,N0)],["rainbow",gS(Q0)],["sinebow",gS(K0)]]);function Ce(t,e){return({length:n})=>n===1?[t[3][1]]:n===2?[t[3][1],t[3][2]]:(n=Math.max(3,Math.floor(n)),n>9?Ge(e,n):t[n])}function Vo(t,e){return({length:n})=>n===2?[t[3][0],t[3][2]]:(n=Math.max(3,Math.floor(n)),n>11?Ge(e,n):t[n])}function mS(t,e){return({length:n})=>n===2?[t[3][2],t[3][0]]:(n=Math.max(3,Math.floor(n)),n>11?Ge(r=>e(1-r),n):t[n].slice().reverse())}function Wo(t){return({length:e})=>Ge(t,Math.max(2,Math.floor(e)))}function gS(t){return({length:e})=>Ge(t,Math.floor(e)+1).slice(0,-1)}function qw(t){let e=`${t}`.toLowerCase();if(!dS.has(e))throw new Error(`unknown ordinal scheme: ${e}`);return dS.get(e)}function qu(t,e){let n=qw(t),r=typeof n=="function"?n({length:e}):n;return r.length!==e?r.slice(0,e):r}function wS(t,e="greys"){let n=new Set,[r,o]=qu(e,2);for(let i of t)if(i!=null)if(i===!0)n.add(o);else if(i===!1)n.add(r);else return;return[...n]}var yS=new Map([["brbg",Qm],["prgn",Km],["piyg",t0],["puor",n0],["rdbu",dc],["rdgy",o0],["rdylbu",mc],["rdylgn",s0],["spectral",c0],["burd",t=>dc(1-t)],["buylrd",t=>mc(1-t)],["blues",R0],["greens",D0],["greys",P0],["purples",B0],["reds",Y0],["oranges",j0],["turbo",J0],["viridis",eg],["magma",ng],["inferno",rg],["plasma",og],["cividis",X0],["cubehelix",G0],["warm",W0],["cool",H0],["bugn",l0],["bupu",p0],["gnbu",d0],["orrd",g0],["pubugn",x0],["pubu",w0],["purd",_0],["rdpu",S0],["ylgnbu",E0],["ylgn",I0],["ylorbr",C0],["ylorrd",N0],["rainbow",Q0],["sinebow",K0]]);function Dc(t){let e=`${t}`.toLowerCase();if(!yS.has(e))throw new Error(`unknown quantitative scheme: ${e}`);return yS.get(e)}var VD=new Set(["brbg","prgn","piyg","puor","rdbu","rdgy","rdylbu","rdylgn","spectral","burd","buylrd"]);function vS(t){return t!=null&&VD.has(`${t}`.toLowerCase())}var zw=t=>e=>t(1-e),Bw=[0,1],_S=new Map([["number",Gt],["rgb",Gn],["hsl",Rx],["hcl",Lx],["lab",Nd]]);function Yw(t){let e=`${t}`.toLowerCase();if(!_S.has(e))throw new Error(`unknown interpolator: ${e}`);return _S.get(e)}function Pc(t,e,n,{type:r,nice:o,clamp:i,zero:s,domain:a=CS(t,n),unknown:c,round:f,scheme:l,interval:u,range:p=qt.get(t)===Js?ZD(n,a):qt.get(t)===ta?KD(n,a):qt.get(t)===ea?Bw:void 0,interpolate:h=qt.get(t)===Ln?l==null&&p!==void 0?Gn:Dc(l!==void 0?l:r==="cyclical"?"rainbow":"turbo"):f?Ts:Gt,reverse:d}){if(u=Vr(u,r),(r==="cyclical"||r==="sequential")&&(r="linear"),typeof h!="function"&&(h=Yw(h)),d=!!d,p!==void 0){let m=(a=On(a)).length,g=(p=On(p)).length;if(m!==g){if(h.length===1)throw new Error("invalid piecewise interpolator");h=$r(h,p),p=void 0}}if(h.length===1?(d&&(h=zw(h),d=!1),p===void 0&&(p=Float64Array.from(a,(m,g)=>g/(a.length-1)),p.length===2&&(p=Bw)),e.interpolate((p===Bw?te:Bu)(h))):e.interpolate(h),s){let[m,g]=kt(a);(m>0||g<0)&&(a=Li(a),(Bo(a)||1)===Math.sign(m)?a[0]=0:a[a.length-1]=0)}return d&&(a=mi(a)),e.domain(a).unknown(c),o&&(e.nice(WD(o,r)),a=e.domain()),p!==void 0&&e.range(p),i&&e.clamp(i),{type:r,domain:a,range:p,scale:e,interpolate:h,interval:u}}function WD(t,e){return t===!0?void 0:typeof t=="number"?t:P8(t,e)}function MS(t,e,n){return Pc(t,Co(),e,n)}function SS(t,e,n){return Uw(t,e,{...n,exponent:.5})}function Uw(t,e,{exponent:n=1,...r}){return Pc(t,Ql().exponent(n),e,{...r,type:"pow"})}function AS(t,e,{base:n=10,domain:r=JD(e),...o}){return Pc(t,Wl().base(n),e,{...o,domain:r})}function ES(t,e,{constant:n=1,...r}){return Pc(t,Hl().constant(n),e,r)}function TS(t,e,{range:n,quantiles:r=n===void 0?5:(n=[...n]).length,n:o=r,scheme:i="rdylbu",domain:s=tF(e),unknown:a,interpolate:c,reverse:f}){return n===void 0&&(n=c!==void 0?Ge(c,o):qt.get(t)===Ln?qu(i,o):void 0),s.length>0&&(s=Zl(s,n===void 0?{length:o}:n).quantiles()),Rg(t,e,{domain:s,range:n,reverse:f,unknown:a})}function IS(t,e,{range:n,n:r=n===void 0?5:(n=[...n]).length,scheme:o="rdylbu",domain:i=CS(t,e),unknown:s,interpolate:a,reverse:c}){let[f,l]=kt(i),u;return n===void 0?(u=Fe(f,l,r),u[0]<=f&&u.splice(0,1),u[u.length-1]>=l&&u.pop(),r=u.length+1,n=a!==void 0?Ge(a,r):qt.get(t)===Ln?qu(o,r):void 0):(u=Ge(Gt(f,l),r+1).slice(1,-1),f instanceof Date&&(u=u.map(p=>new Date(p)))),Bo(On(i))<0&&u.reverse(),Rg(t,e,{domain:u,range:n,reverse:c,unknown:s})}function Rg(t,e,{domain:n=[0],unknown:r,scheme:o="rdylbu",interpolate:i,range:s=i!==void 0?Ge(i,n.length+1):qt.get(t)===Ln?qu(o,n.length+1):void 0,reverse:a}){n=On(n);let c=Bo(n);if(!isNaN(c)&&!HD(n,c))throw new Error(`the ${t} scale has a non-monotonic domain`);return a&&(s=mi(s)),{type:"threshold",scale:Kl(c<0?mi(n):n,s===void 0?[]:s).unknown(r),domain:n,range:s}}function HD(t,e){for(let n=1,r=t.length,o=t[0];n<r;++n){let i=en(o,o=t[n]);if(i!==0&&i!==e)return!1}return!0}function $S(t){return{type:"identity",scale:Z8(qt.get(t))?Gl():e=>e}}function Fc(t,e=Mc){return t.length?[Ft(t,({value:n})=>n===void 0?n:Ft(n,e)),Tt(t,({value:n})=>n===void 0?n:Tt(n,e))]:[0,1]}function CS(t,e){let n=qt.get(t);return(n===Js||n===ea||n===ta?QD:Fc)(e)}function QD(t){return[0,t.length?Tt(t,({value:e})=>e===void 0?e:Tt(e,Mc)):1]}function ZD(t,e){let n=t.find(({radius:s})=>s!==void 0);if(n!==void 0)return[0,n.radius];let r=on(t,.5,({value:s})=>s===void 0?NaN:on(s,.25,dn)),o=e.map(s=>3*Math.sqrt(s/r)),i=30/Tt(o);return i<1?o.map(s=>s*i):o}function KD(t,e){let n=ur(t,({value:i})=>i===void 0?NaN:ur(i,Math.abs)),r=e.map(i=>12*i/n),o=60/Tt(r);return o<1?r.map(i=>i*o):r}function JD(t){for(let{value:e}of t)if(e!==void 0)for(let n of e){if(n>0)return Fc(t,dn);if(n<0)return Fc(t,$i)}return[1,10]}function tF(t){let e=[];for(let{value:n}of t)if(n!==void 0)for(let r of n)e.push(r);return e}function Bu(t){return(e,n)=>r=>t(e+r*(n-e))}var jw=0,Xw;function kS(){let t=jw;return jw=0,Xw=void 0,t}function Je(t){t!==Xw&&(Xw=t,console.warn(t),++jw)}function Lg(t,e,n,r,{type:o,nice:i,clamp:s,domain:a=Fc(r),unknown:c,pivot:f=0,scheme:l,range:u,symmetric:p=!0,interpolate:h=qt.get(t)===Ln?l==null&&u!==void 0?Gn:Dc(l!==void 0?l:"rdbu"):Gt,reverse:d}){f=+f,a=On(a);let[m,g]=a;if(a.length>2&&Je(`Warning: the diverging ${t} scale domain contains extra elements.`),en(m,g)<0&&([m,g]=[g,m],d=!d),m=Math.min(m,f),g=Math.max(g,f),typeof h!="function"&&(h=Yw(h)),u!==void 0&&(h=h.length===1?Bu(h)(...u):$r(h,u)),d&&(h=zw(h)),p){let y=n.apply(f),x=y-n.apply(m),w=n.apply(g)-y;x<w?m=n.invert(y-w):x>w&&(g=n.invert(y+x))}return e.domain([m,f,g]).unknown(c).interpolator(h),s&&e.clamp(s),i&&e.nice(i),{type:o,domain:[m,g],pivot:f,interpolate:h,scale:e}}function NS(t,e,n){return Lg(t,su(),eF,e,n)}function OS(t,e,n){return Gw(t,e,{...n,exponent:.5})}function Gw(t,e,{exponent:n=1,...r}){return Lg(t,Wm().exponent(n=+n),oF(n),e,{...r,type:"diverging-pow"})}function RS(t,e,{base:n=10,pivot:r=1,domain:o=Fc(e,r<0?$i:dn),...i}){return Lg(t,Gm().base(n=+n),nF,e,{domain:o,pivot:r,...i})}function LS(t,e,{constant:n=1,...r}){return Lg(t,Vm().constant(n=+n),iF(n),e,r)}var eF={apply(t){return t},invert(t){return t}},nF={apply:Math.log,invert:Math.exp},rF={apply(t){return Math.sign(t)*Math.sqrt(Math.abs(t))},invert(t){return Math.sign(t)*(t*t)}};function oF(t){return t===.5?rF:{apply(e){return Math.sign(e)*Math.pow(Math.abs(e),t)},invert(e){return Math.sign(e)*Math.pow(Math.abs(e),1/t)}}}function iF(t){return{apply(e){return Math.sign(e)*Math.log1p(Math.abs(e/t))},invert(e){return Math.sign(e)*Math.expm1(Math.abs(e))*t}}}function DS(t,e,n,r){return Pc(t,e,n,r)}function FS(t,e,n){return DS(t,Um(),e,n)}function PS(t,e,n){return DS(t,jm(),e,n)}var qc=Symbol("ordinal");function BS(t,e,n,{type:r,interval:o,domain:i,range:s,reverse:a,hint:c}){return o=Vr(o,r),i===void 0&&(i=XS(n,o,t)),(r==="categorical"||r===qc)&&(r="ordinal"),a&&(i=mi(i)),i=e.domain(i).domain(),s!==void 0&&(typeof s=="function"&&(s=s(i)),e.range(s)),{type:r,domain:i,range:s,scale:e,hint:c,interval:o}}function zS(t,e,{type:n,interval:r,domain:o,range:i,scheme:s,unknown:a,...c}){r=Vr(r,n),o===void 0&&(o=XS(e,r,t));let f;if(qt.get(t)===kc)f=sF(e),i=i===void 0?aF(f):Mt(i,Nc);else if(qt.get(t)===Ln&&(i===void 0&&(n==="ordinal"||n===qc)&&(i=wS(o,s),i!==void 0&&(s=void 0)),s===void 0&&i===void 0&&(s=n==="ordinal"?"turbo":"observable10"),s!==void 0))if(i!==void 0){let l=Dc(s),u=i[0],p=i[1]-i[0];i=({length:h})=>Ge(d=>l(u+p*d),h)}else i=qw(s);if(a===jl)throw new Error(`implicit unknown on ${t} scale is not supported`);return BS(t,qs().unknown(a),e,{...c,type:n,domain:o,range:i,hint:f})}function YS(t,e,{align:n=.5,padding:r=.5,...o}){return jS(s2().align(n).padding(r),e,o,t)}function US(t,e,{align:n=.5,padding:r=.1,paddingInner:o=r,paddingOuter:i=t==="fx"||t==="fy"?0:r,...s}){return jS(Ei().align(n).paddingInner(o).paddingOuter(i),e,s,t)}function jS(t,e,n,r){let{round:o}=n;return o!==void 0&&t.round(o=!!o),t=BS(r,t,e,n),t.round=o,t}function XS(t,e,n){let r=new rn;for(let{value:o,domain:i}of t){if(i!==void 0)return i();if(o!==void 0)for(let s of o)r.add(s)}if(e!==void 0){let[o,i]=kt(r).map(e.floor,e);return e.range(o,e.offset(i))}if(r.size>1e4&&qt.get(n)===rr)throw new Error(`implicit ordinal domain of ${n} scale has more than 10,000 values`);return xo(r,Te)}function qS(t,e){let n;for(let{hint:r}of t){let o=r?.[e];if(o!==void 0){if(n===void 0)n=o;else if(n!==o)return}}return n}function sF(t){return{fill:qS(t,"fill"),stroke:qS(t,"stroke")}}function aF(t){return Rt(t.fill)?q2:lg}function zu(t,{label:e,inset:n=0,insetTop:r=n,insetRight:o=n,insetBottom:i=n,insetLeft:s=n,round:a,nice:c,clamp:f,zero:l,align:u,padding:p,projection:h,facet:{label:d=e}={},...m}={}){let g={};for(let[y,x]of t){let w=m[y],b=JS(y,x,{round:qt.get(y)===rr?a:void 0,nice:c,clamp:f,zero:l,align:u,padding:p,projection:h,...w});if(b){let{label:_=y==="fx"||y==="fy"?d:e,percent:v,transform:A,inset:T,insetTop:E=T!==void 0?T:y==="y"?r:0,insetRight:$=T!==void 0?T:y==="x"?o:0,insetBottom:S=T!==void 0?T:y==="y"?i:0,insetLeft:k=T!==void 0?T:y==="x"?s:0}=w||{};if(A==null)A=void 0;else if(typeof A!="function")throw new Error("invalid scale transform; not a function");b.percent=!!v,b.label=_===void 0?cF(x,b):_,b.transform=A,y==="x"||y==="fx"?(b.insetLeft=+k,b.insetRight=+$):(y==="y"||y==="fy")&&(b.insetTop=+E,b.insetBottom=+S),g[y]=b}}return g}function Ww(t){let e={},n={scales:e};for(let[r,o]of Object.entries(t)){let{scale:i,type:s,interval:a,label:c}=o;e[r]=e7(o),n[r]=i,i.type=s,a!=null&&(i.interval=a),c!=null&&(i.label=c)}return n}function QS(t,e){let{x:n,y:r,fx:o,fy:i}=t,s=o||i?Pg(e):e;o&&GS(o,s),i&&VS(i,s);let a=o||i?Hw(t,e):e;n&&GS(n,a),r&&VS(r,a)}function cF(t=[],e){let n;for(let{label:r}of t)if(r!==void 0){if(n===void 0)n=r;else if(n!==r)return}if(n!==void 0)return!Zr(e)&&e.percent&&(n=`${n} (%)`),{inferred:!0,toString:()=>n}}function Fg(t){return Math.sign(Bo(t.domain()))*Math.sign(Bo(t.range()))}function Pg(t){let{marginTop:e,marginRight:n,marginBottom:r,marginLeft:o,width:i,height:s,facet:{marginTop:a,marginRight:c,marginBottom:f,marginLeft:l}}=t;return{marginTop:Math.max(e,a),marginRight:Math.max(n,c),marginBottom:Math.max(r,f),marginLeft:Math.max(o,l),width:i,height:s}}function Hw({fx:t,fy:e},n){let{marginTop:r,marginRight:o,marginBottom:i,marginLeft:s,width:a,height:c}=Pg(n);return{marginTop:r,marginRight:o,marginBottom:i,marginLeft:s,width:t?t.scale.bandwidth()+s+o:a,height:e?e.scale.bandwidth()+r+i:c,facet:{width:a,height:c}}}function GS(t,e){if(t.range===void 0){let{insetLeft:n,insetRight:r}=t,{width:o,marginLeft:i=0,marginRight:s=0}=e,a=i+n,c=o-s-r;t.range=[a,Math.max(a,c)],Zr(t)||(t.range=KS(t)),t.scale.range(t.range)}ZS(t)}function VS(t,e){if(t.range===void 0){let{insetTop:n,insetBottom:r}=t,{height:o,marginTop:i=0,marginBottom:s=0}=e,a=i+n,c=o-s-r;t.range=[Math.max(a,c),a],Zr(t)?t.range.reverse():t.range=KS(t),t.scale.range(t.range)}ZS(t)}function ZS(t){t.round===void 0&&uF(t)&&fF(t)<=30&&t.scale.round(!0)}function fF({scale:t}){let e=t.domain().length,[n,r]=t.range(),o=t.paddingInner?t.paddingInner():1,i=t.paddingOuter?t.paddingOuter():t.padding(),s=e-o,a=Math.abs(r-n)/Math.max(1,s+i*2);return(a-Math.floor(a))*s}function KS(t){let e=t.scale.domain().length+Qw(t);if(!(e>2))return t.range;let[n,r]=t.range;return Array.from({length:e},(o,i)=>n+i/(e-1)*(r-n))}function qg(t,e,n){return JS(t,n===void 0?void 0:[{hint:n}],{...e})}function JS(t,e=[],n={}){let r=lF(t,e,n);if(n.type===void 0&&n.domain===void 0&&n.range===void 0&&n.interval==null&&t!=="fx"&&t!=="fy"&&Zr({type:r})){let o=e.map(({value:i})=>i).filter(i=>i!==void 0);o.some(Jt)?Je(`Warning: some data associated with the ${t} scale are dates. Dates are typically associated with a "utc" or "time" scale rather than a "${Bc(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 ${t} scale (e.g., d3.utcDay), or you can suppress this warning by setting the type of the ${t} scale to "${Bc(r)}".`):o.some(Y8)?Je(`Warning: some data associated with the ${t} 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 "${Bc(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 ${t} scale to "${Bc(r)}".`):o.some(U8)&&Je(`Warning: some data associated with the ${t} 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 "${Bc(r)}" scale. If you want to treat this data as ordinal, you can specify the interval of the ${t} scale (e.g., 1 for integers), or you can suppress this warning by setting the type of the ${t} scale to "${Bc(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=Dg(e,n,de);break;case"identity":switch(qt.get(t)){case rr:n=Dg(e,n,de);break;case kc:n=Dg(e,n,pF);break}break;case"utc":case"time":n=Dg(e,n,gw);break}switch(r){case"diverging":return NS(t,e,n);case"diverging-sqrt":return OS(t,e,n);case"diverging-pow":return Gw(t,e,n);case"diverging-log":return RS(t,e,n);case"diverging-symlog":return LS(t,e,n);case"categorical":case"ordinal":case qc:return zS(t,e,n);case"cyclical":case"sequential":case"linear":return MS(t,e,n);case"sqrt":return SS(t,e,n);case"threshold":return Rg(t,e,n);case"quantile":return TS(t,e,n);case"quantize":return IS(t,e,n);case"pow":return Uw(t,e,n);case"log":return AS(t,e,n);case"symlog":return ES(t,e,n);case"utc":return PS(t,e,n);case"time":return FS(t,e,n);case"point":return YS(t,e,n);case"band":return US(t,e,n);case"identity":return $S(t);case void 0:return;default:throw new Error(`unknown scale type: ${r}`)}}function Bc(t){return typeof t=="symbol"?t.description:t}function WS(t){return typeof t=="string"?`${t}`.toLowerCase():t}var HS={toString:()=>"projection"};function lF(t,e,{type:n,domain:r,range:o,scheme:i,pivot:s,projection:a}){if(n=WS(n),t==="fx"||t==="fy")return"band";(t==="x"||t==="y")&&a!=null&&(n=HS);for(let f of e){let l=WS(f.type);if(l!==void 0){if(n===void 0)n=l;else if(n!==l)throw new Error(`scale incompatible with channel: ${n} !== ${l}`)}}if(n===HS)return;if(n!==void 0)return n;if(r===void 0&&!e.some(({value:f})=>f!==void 0))return;let c=qt.get(t);if(c===Js)return"sqrt";if(c===ea||c===ta)return"linear";if(c===kc)return"ordinal";if((r||o||[]).length>2)return Vw(c);if(r!==void 0){if(Qt(r))return Vw(c);if(Jt(r))return"utc"}else{let f=e.map(({value:l})=>l).filter(l=>l!==void 0);if(f.some(Qt))return Vw(c);if(f.some(Jt))return"utc"}if(c===Ln){if(s!=null||vS(i))return"diverging";if(bS(i))return"categorical"}return"linear"}function Vw(t){switch(t){case rr:return"point";case Ln:return qc;default:return"ordinal"}}function Zr({type:t}){return t==="ordinal"||t==="point"||t==="band"||t===qc}function Qw({type:t}){return t==="threshold"}function uF({type:t}){return t==="point"||t==="band"}function Dn(t){if(t===void 0)return!0;let e=t.domain(),n=t(e[0]);for(let r=1,o=e.length;r<o;++r)if(t(e[r])-n)return!1;return!0}function Dg(t,{domain:e,...n},r){for(let o of t)o.value!==void 0&&(e===void 0&&(e=o.value?.domain),o.value=r(o.value));return{domain:e===void 0?e:r(e),...n}}function pF(t){return Mt(t,Nc)}function zi(t={}){let e;for(let n in t)if(qt.has(n)&&Xr(t[n])){if(e!==void 0)throw new Error("ambiguous scale definition; multiple scales found");e=e7(qg(n,t[n]))}if(e===void 0)throw new Error("invalid scale definition; no scale found");return e}function t7(t){return e=>{if(!qt.has(e=`${e}`))throw new Error(`unknown scale: ${e}`);return t[e]}}function e7({scale:t,type:e,domain:n,range:r,interpolate:o,interval:i,transform:s,percent:a,pivot:c}){if(e==="identity")return{type:"identity",apply:l=>l,invert:l=>l};let f=t.unknown?t.unknown():void 0;return{type:e,domain:Li(n),...r!==void 0&&{range:Li(r)},...s!==void 0&&{transform:s},...a&&{percent:a},...f!==void 0&&{unknown:f},...i!==void 0&&{interval:i},...o!==void 0&&{interpolate:o},...t.clamp&&{clamp:t.clamp()},...c!==void 0&&{pivot:c,symmetric:!1},...t.base&&{base:t.base()},...t.exponent&&{exponent:t.exponent()},...t.constant&&{constant:t.constant()},...t.align&&{align:t.align(),round:t.round()},...t.padding&&(t.paddingInner?{paddingInner:t.paddingInner(),paddingOuter:t.paddingOuter()}:{padding:t.padding()}),...t.bandwidth&&{bandwidth:t.bandwidth(),step:t.step()},apply:l=>t(l),...t.invert&&{invert:l=>t.invert(l)}}}function r7(t,e){let{fx:n,fy:r}=zu(t,e),o=n?.scale.domain(),i=r?.scale.domain();return o&&i?sd(o,i).map(([s,a],c)=>({x:s,y:a,i:c})):o?o.map((s,a)=>({x:s,i:a})):i?i.map((s,a)=>({y:s,i:a})):void 0}function o7(t,{x:e,y:n}){return e&&=ev(e),n&&=ev(n),t.filter(e&&n?r=>e.has(r.x)&&n.has(r.y):e?r=>e.has(r.x):r=>n.has(r.y)).sort(e&&n?(r,o)=>e.get(r.x)-e.get(o.x)||n.get(r.y)-n.get(o.y):e?(r,o)=>e.get(r.x)-e.get(o.x):(r,o)=>n.get(r.y)-n.get(o.y))}function zg(t,{fx:e,fy:n}){let r=mn(t),o=e?.value,i=n?.value;return e&&n?lr(r,s=>(s.fx=o[s[0]],s.fy=i[s[0]],s),s=>o[s],s=>i[s]):e?lr(r,s=>(s.fx=o[s[0]],s),s=>o[s]):lr(r,s=>(s.fy=i[s[0]],s),s=>i[s])}function i7(t,e,{marginTop:n,marginLeft:r}){return t&&e?({x:o,y:i})=>`translate(${t(o)-r},${e(i)-n})`:t?({x:o})=>`translate(${t(o)-r},0)`:({y:o})=>`translate(0,${e(o)-n})`}function s7(t){let e=[],n=new Uint32Array(Pe(t,r=>r.length));for(let r of t){let o=0;for(let i of t)r!==i&&(n.set(i,o),o+=i.length);e.push(n.slice(0,o))}return e}var hF=new Map([["top",Zw],["right",tv],["bottom",Kw],["left",Jw],["top-left",Bg(Zw,Jw)],["top-right",Bg(Zw,tv)],["bottom-left",Bg(Kw,Jw)],["bottom-right",Bg(Kw,tv)],["top-empty",mF],["right-empty",xF],["bottom-empty",gF],["left-empty",yF],["empty",bF]]);function a7(t){if(t==null)return null;let e=hF.get(`${t}`.toLowerCase());if(e)return e;throw new Error(`invalid facet anchor: ${t}`)}var n7=new WeakMap;function ev(t){let e=n7.get(t);return e||n7.set(t,e=new nn(Mt(t,(n,r)=>[n,r]))),e}function Yi(t,e){return ev(t).get(e)}function dF(t,e,n){return e=er(e),n=er(n),t.find(r=>Object.is(er(r.x),e)&&Object.is(er(r.y),n))}function Yg(t,e,n){return dF(t,e,n)?.empty}function Zw(t,{y:e},{y:n}){return e?Yi(e,n)===0:!0}function Kw(t,{y:e},{y:n}){return e?Yi(e,n)===e.length-1:!0}function Jw(t,{x:e},{x:n}){return e?Yi(e,n)===0:!0}function tv(t,{x:e},{x:n}){return e?Yi(e,n)===e.length-1:!0}function mF(t,{y:e},{x:n,y:r,empty:o}){if(o)return!1;if(!e)return;let i=Yi(e,r);if(i>0)return Yg(t,n,e[i-1])}function gF(t,{y:e},{x:n,y:r,empty:o}){if(o)return!1;if(!e)return;let i=Yi(e,r);if(i<e.length-1)return Yg(t,n,e[i+1])}function yF(t,{x:e},{x:n,y:r,empty:o}){if(o)return!1;if(!e)return;let i=Yi(e,n);if(i>0)return Yg(t,e[i-1],r)}function xF(t,{x:e},{x:n,y:r,empty:o}){if(o)return!1;if(!e)return;let i=Yi(e,n);if(i<e.length-1)return Yg(t,e[i+1],r)}function bF(t,e,{empty:n}){return n}function Bg(t,e){return function(){return t.apply(null,arguments)&&e.apply(null,arguments)}}function Ug(t,{channels:{fx:e,fy:n},groups:r}){return e&&n?t.map(({x:o,y:i})=>r.get(o)?.get(i)??[]):e?t.map(({x:o})=>r.get(o)??[]):t.map(({y:o})=>r.get(o)??[])}var c7=Math.PI,Ho=2*c7,nv=.618;function f7({projection:t,inset:e=0,insetTop:n=e,insetRight:r=e,insetBottom:o=e,insetLeft:i=e}={},s){if(t==null)return;if(typeof t.stream=="function")return t;let a,c,f="frame";if(Ie(t)){let _;if({type:t,domain:c,inset:_,insetTop:n=_!==void 0?_:n,insetRight:r=_!==void 0?_:r,insetBottom:o=_!==void 0?_:o,insetLeft:i=_!==void 0?_:i,clip:f=f,...a}=t,t==null)return}typeof t!="function"&&({type:t}=rv(t));let{width:l,height:u,marginLeft:p,marginRight:h,marginTop:d,marginBottom:m}=s,g=l-p-h-i-r,y=u-d-m-n-o;if(t=t?.({width:g,height:y,clip:f,...a}),t==null)return;f=wF(f,p,d,l-h,u-m);let x=p+i,w=d+n,b;if(c!=null){let[[_,v],[A,T]]=Se(t).bounds(c),E=Math.min(g/(A-_),y/(T-v));E>0?(x-=(E*(_+A)-g)/2,w-=(E*(v+T)-y)/2,b=Ds({point($,S){this.stream.point($*E+x,S*E+w)}})):Je("Warning: the projection could not be fit to the specified domain; using the default scale.")}return b??=x===0&&w===0?l7():Ds({point(_,v){this.stream.point(_+x,v+w)}}),{stream:_=>t.stream(b.stream(f(_)))}}function rv(t){switch(`${t}`.toLowerCase()){case"albers-usa":return mr(Rb,.7463,.4673);case"albers":return jg(Pl,.7463,.4673);case"azimuthal-equal-area":return mr(Db,4,4);case"azimuthal-equidistant":return mr(Pb,Ho,Ho);case"conic-conformal":return jg(zb,Ho,Ho);case"conic-equal-area":return jg(Si,6.1702,2.9781);case"conic-equidistant":return jg(Ub,7.312,3.6282);case"equal-earth":return mr(Xb,5.4133,2.6347);case"equirectangular":return mr(Yb,Ho,c7);case"gnomonic":return mr(Vb,3.4641,3.4641);case"identity":return{type:l7};case"reflect-y":return{type:vF};case"mercator":return mr(qb,Ho,Ho);case"orthographic":return mr(Hb,2,2);case"stereographic":return mr(Zb,2,2);case"transverse-mercator":return mr(Jb,Ho,Ho);default:throw new Error(`unknown projection type: ${t}`)}}function wF(t,e,n,r,o){if(t===!1||t==null||typeof t=="number")return i=>i;switch(t===!0&&(t="frame"),`${t}`.toLowerCase()){case"frame":return nc(e,n,r,o);default:throw new Error(`unknown projection clip type: ${t}`)}}function mr(t,e,n){return{type:({width:r,height:o,rotate:i,precision:s=.15,clip:a})=>{let c=t();return s!=null&&c.precision?.(s),i!=null&&c.rotate?.(i),typeof a=="number"&&c.clipAngle?.(a),r!=null&&(c.scale(Math.min(r/e,o/n)),c.translate([r/2,o/2])),c},aspectRatio:n/e}}function jg(t,e,n){let{type:r,aspectRatio:o}=mr(t,e,n);return{type:i=>{let{parallels:s,domain:a,width:c,height:f}=i,l=r(i);return s!=null&&(l.parallels(s),a===void 0&&c!=null&&l.fitSize([c,f],{type:"Sphere"})),l},aspectRatio:o}}var l7=te({stream:t=>t}),vF=te(Ds({point(t,e){this.stream.point(t,-e)}}));function ov(t,e,n,r){let o=n[t],i=n[e],s=o.length,a=n[t]=new Float64Array(s).fill(NaN),c=n[e]=new Float64Array(s).fill(NaN),f,l=r.stream({point(u,p){a[f]=u,c[f]=p}});for(f=0;f<s;++f)l.point(o[f],i[f])}function u7({projection:t}={}){return t==null?!1:typeof t.stream=="function"?!0:(Ie(t)&&(t=t.type),t!=null)}function p7(t){if(typeof t?.stream=="function")return nv;if(Ie(t)){let e,n;if({domain:e,type:t,...n}=t,e!=null&&t!=null){let r=typeof t=="string"?rv(t).type:t,[[o,i],[s,a]]=Se(r({...n,width:100,height:100})).bounds(e),c=(a-i)/(s-o);return c&&isFinite(c)?c<.2?.2:c>5?5:c:nv}}if(t!=null){if(typeof t!="function"){let{aspectRatio:e}=rv(t);if(e)return e}return nv}}function Kr(t,e,{projection:n}){let{x:r,y:o}=t,i={};return r&&(i.x=r),o&&(i.y=o),i=Lc(i,e),n&&r?.scale==="x"&&o?.scale==="y"&&ov("x","y",i,n),r&&(i.x=de(i.x)),o&&(i.y=de(i.y)),i}function h7(t){let e=[],n=[],r={scale:"x",value:e},o={scale:"y",value:n},i={point(s,a){e.push(s),n.push(a)},lineStart(){},lineEnd(){},polygonStart(){},polygonEnd(){},sphere(){}};for(let s of t.value)$n(s,i);return[r,o]}function Ui(t={}){let{document:e=typeof window<"u"?window.document:void 0,clip:n}=t;return{document:e,clip:Ag(n)}}function ot(t,{document:e}){return bt(_o(t).call(e.documentElement))}var Xg=Symbol("unset");function ji(t){return(t.length===1?_F:MF)(t)}function _F(t){let e,n=Xg;return r=>(Object.is(n,r)||(n=r,e=t(r)),e)}function MF(t){let e,n;return(...r)=>((n?.length!==r.length||n.some((o,i)=>!Object.is(o,r[i])))&&(n=r,e=t(...r)),e)}var SF=ji(t=>new Intl.NumberFormat(t)),AF=ji((t,e)=>new Intl.DateTimeFormat(t,{timeZone:"UTC",...e&&{month:e}})),EF=ji((t,e)=>new Intl.DateTimeFormat(t,{timeZone:"UTC",...e&&{weekday:e}}));function iv(t="en-US"){let e=SF(t);return n=>n!=null&&!isNaN(n)?e.format(n):void 0}function d7(t="en-US",e="short"){let n=AF(t,e);return r=>r!=null&&!isNaN(r=+new Date(Date.UTC(2e3,+r)))?n.format(r):void 0}function m7(t="en-US",e="short"){let n=EF(t,e);return r=>r!=null&&!isNaN(r=+new Date(Date.UTC(2001,0,+r)))?n.format(r):void 0}function sv(t){return yg(t,"Invalid Date")}function TF(t="en-US"){let e=iv(t);return n=>(n instanceof Date?sv:typeof n=="number"?e:se)(n)}var Jr=TF();var ee=(typeof window<"u"?window.devicePixelRatio>1:typeof it>"u")?0:.5,IF=0,$F=0;function av(){return`plot-clip-${++IF}`}function g7(){return`plot-pattern-${++$F}`}function Gg(t,{title:e,href:n,ariaLabel:r,ariaDescription:o,ariaHidden:i,target:s,fill:a,fillOpacity:c,stroke:f,strokeWidth:l,strokeOpacity:u,strokeLinejoin:p,strokeLinecap:h,strokeMiterlimit:d,strokeDasharray:m,strokeDashoffset:g,opacity:y,mixBlendMode:x,imageFilter:w,paintOrder:b,pointerEvents:_,shapeRendering:v,channels:A},{ariaLabel:T,fill:E="currentColor",fillOpacity:$,stroke:S="none",strokeOpacity:k,strokeWidth:O,strokeLinecap:M,strokeLinejoin:I,strokeMiterlimit:C,paintOrder:N}){E===null&&(a=null,c=null),S===null&&(f=null,u=null),Rt(E)?!Rt(S)&&(!Rt(a)||A?.fill)&&(S="none"):Rt(S)&&(!Rt(f)||A?.stroke)&&(E="none");let[L,R]=Kt(a,E),[D,F]=Lt(c,$),[P,V]=Kt(f,S),[J,et]=Lt(u,k),[rt,j]=Lt(y);Xo(V)||(l===void 0&&(l=O),h===void 0&&(h=M),p===void 0&&(p=I),d===void 0&&!X8(p)&&(d=C),!Xo(R)&&b===void 0&&(b=N));let[nt,z]=Lt(l);return E!==null&&(t.fill=Xt(R,"currentColor"),t.fillOpacity=Yu(F,1)),S!==null&&(t.stroke=Xt(V,"none"),t.strokeWidth=Yu(z,1),t.strokeOpacity=Yu(et,1),t.strokeLinejoin=Xt(p,"miter"),t.strokeLinecap=Xt(h,"butt"),t.strokeMiterlimit=Yu(d,4),t.strokeDasharray=Xt(m,"none"),t.strokeDashoffset=Xt(g,"0")),t.target=se(s),t.ariaLabel=se(T),t.ariaDescription=se(o),t.ariaHidden=se(i),t.opacity=Yu(j,1),t.mixBlendMode=Xt(x,"normal"),t.imageFilter=Xt(w,"none"),t.paintOrder=Xt(b,"normal"),t.pointerEvents=Xt(_,"auto"),t.shapeRendering=Xt(v,"auto"),{title:{value:e,optional:!0,filter:null},href:{value:n,optional:!0,filter:null},ariaLabel:{value:r,optional:!0,filter:null},fill:{value:L,scale:"auto",optional:!0},fillOpacity:{value:D,scale:"auto",optional:!0},stroke:{value:P,scale:"auto",optional:!0},strokeOpacity:{value:J,scale:"auto",optional:!0},strokeWidth:{value:nt,optional:!0},opacity:{value:rt,scale:"auto",optional:!0}}}function CF(t,e){e&&t.filter(n=>Eu(e[n])).append("title").call(NF,e)}function kF(t,e){e&&t.filter(([n])=>Eu(e[n])).append("title").call(OF,e)}function NF(t,e){e&&t.text(n=>Jr(e[n]))}function OF(t,e){e&&t.text(([n])=>Jr(e[n]))}function vt(t,{target:e,tip:n},{ariaLabel:r,title:o,fill:i,fillOpacity:s,stroke:a,strokeOpacity:c,strokeWidth:f,opacity:l,href:u}){r&&st(t,"aria-label",p=>r[p]),i&&st(t,"fill",p=>i[p]),s&&st(t,"fill-opacity",p=>s[p]),a&&st(t,"stroke",p=>a[p]),c&&st(t,"stroke-opacity",p=>c[p]),f&&st(t,"stroke-width",p=>f[p]),l&&st(t,"opacity",p=>l[p]),u&&x7(t,p=>u[p],e),n||CF(t,o)}function na(t,{target:e,tip:n},{ariaLabel:r,title:o,fill:i,fillOpacity:s,stroke:a,strokeOpacity:c,strokeWidth:f,opacity:l,href:u}){r&&st(t,"aria-label",([p])=>r[p]),i&&st(t,"fill",([p])=>i[p]),s&&st(t,"fill-opacity",([p])=>s[p]),a&&st(t,"stroke",([p])=>a[p]),c&&st(t,"stroke-opacity",([p])=>c[p]),f&&st(t,"stroke-width",([p])=>f[p]),l&&st(t,"opacity",([p])=>l[p]),u&&x7(t,([p])=>u[p],e),n||kF(t,o)}function RF({ariaLabel:t,title:e,fill:n,fillOpacity:r,stroke:o,strokeOpacity:i,strokeWidth:s,opacity:a,href:c},{tip:f}){return[t,f?void 0:e,n,r,o,i,s,a,c].filter(l=>l!==void 0)}function Uu(t,e,n){let r=De(t,o=>e[o]);return n===void 0&&r.size>1+t.length>>1&&Je("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*Vg(t,e,n,r){let{z:o}=n,{z:i}=r,s=RF(r,n),a=[...e,...s];for(let c of i?Uu(t,i,o):[t]){let f,l;t:for(let u of c){for(let p of a)if(!Ht(p[u])){l&&l.push(-1);continue t}if(f===void 0){l&&(yield l),f=s.map(p=>er(p[u])),l=[u];continue}l.push(u);for(let p=0;p<s.length;++p)if(er(s[p][u])!==f[p]){yield l,f=s.map(d=>er(d[u])),l=[u];continue t}}l&&(yield l)}}function LF(t,e,n,r){let o,{clip:i=r.clip}=e;switch(i){case"frame":{t=ot("svg:g",r).each(function(){this.appendChild(t.node()),t.node=()=>this}),o=DF(r,n);break}case"sphere":{o=FF(r);break}}st(t,"aria-label",e.ariaLabel),st(t,"aria-description",e.ariaDescription),st(t,"aria-hidden",e.ariaHidden),st(t,"clip-path",o)}function y7(t){let e=new WeakMap;return(n,r)=>{let o=e.get(n);if(!o){let i=av();bt(n.ownerSVGElement).append("clipPath").attr("id",i).call(t,n,r),e.set(n,o=`url(#${i})`)}return o}}var DF=y7((t,e,n)=>{let{width:r,height:o,marginLeft:i,marginRight:s,marginTop:a,marginBottom:c}=n;t.append("rect").attr("x",i).attr("y",a).attr("width",r-s-i).attr("height",o-a-c)}),FF=y7((t,e)=>{let{projection:n}=e;if(!n)throw new Error('the "sphere" clip option requires a projection');t.append("path").attr("d",Se(n)({type:"Sphere"}))});function mt(t,e,n,r){LF(t,e,n,r),st(t,"class",e.className),st(t,"fill",e.fill),st(t,"fill-opacity",e.fillOpacity),st(t,"stroke",e.stroke),st(t,"stroke-width",e.strokeWidth),st(t,"stroke-opacity",e.strokeOpacity),st(t,"stroke-linejoin",e.strokeLinejoin),st(t,"stroke-linecap",e.strokeLinecap),st(t,"stroke-miterlimit",e.strokeMiterlimit),st(t,"stroke-dasharray",e.strokeDasharray),st(t,"stroke-dashoffset",e.strokeDashoffset),st(t,"shape-rendering",e.shapeRendering),st(t,"filter",e.imageFilter),st(t,"paint-order",e.paintOrder);let{pointerEvents:o=r.pointerSticky===!1?"none":void 0}=e;st(t,"pointer-events",o)}function ut(t,e){PF(t,"mix-blend-mode",e.mixBlendMode),st(t,"opacity",e.opacity)}function x7(t,e,n){t.each(function(r){let o=e(r);if(o!=null){let i=this.ownerDocument.createElementNS(sn.svg,"a");i.setAttribute("fill","inherit"),i.setAttributeNS(sn.xlink,"href",o),n!=null&&i.setAttribute("target",n),this.parentNode.insertBefore(i,this).appendChild(this)}})}function st(t,e,n){n!=null&&t.attr(e,n)}function PF(t,e,n){n!=null&&t.style(e,n)}function pt(t,e,{x:n,y:r},o=ee,i=ee){o+=e.dx,i+=e.dy,n?.bandwidth&&(o+=n.bandwidth()/2),r?.bandwidth&&(i+=r.bandwidth()/2),(o||i)&&t.attr("transform",`translate(${o},${i})`)}function Xt(t,e){if((t=se(t))!==e)return t}function Yu(t,e){if((t=Ct(t))!==e)return t}var qF=/^-?([_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 Xi(t){if(t===void 0)return"plot-d6a7b5";if(t=`${t}`,!qF.test(t))throw new Error(`invalid class name: ${t}`);return t}function zc(t,e){if(typeof e=="string")t.property("style",e);else if(e!=null)for(let n of t)Object.assign(n.style,e)}function ke({frameAnchor:t},{width:e,height:n,marginTop:r,marginRight:o,marginBottom:i,marginLeft:s}){return[/left$/.test(t)?s:/right$/.test(t)?e-o:(s+e-o)/2,/^top/.test(t)?r:/^bottom/.test(t)?n-i:(r+n-i)/2]}var lt=class{constructor(e,n={},r={},o){let{facet:i="auto",facetAnchor:s,fx:a,fy:c,sort:f,dx:l=0,dy:u=0,margin:p=0,marginTop:h=p,marginRight:d=p,marginBottom:m=p,marginLeft:g=p,className:y,clip:x=o?.clip,channels:w,tip:b,render:_}=r;if(this.data=e,this.sort=Gr(f)?f:null,this.initializer=jt(r).initializer,this.transform=this.initializer?r.transform:me(r).transform,i===null||i===!1?this.facet=null:(this.facet=be(i===!0?"include":i,"facet",["auto","include","exclude","super"]),this.fx=e===Oi&&typeof a=="string"?[a]:a,this.fy=e===Oi&&typeof c=="string"?[c]:c),this.facetAnchor=a7(s),n=Ou(n),w!==void 0&&(n={...BF(w),...n}),o!==void 0&&(n={...Gg(this,r,o),...n}),this.channels=Object.fromEntries(Object.entries(n).map(([v,A])=>{if(Rn(A.value)){let{value:T,label:E=A.label,scale:$=A.scale}=A.value;A={...A,label:E,scale:$,value:T}}if(e===Oi&&typeof A.value=="string"){let{value:T}=A;A={...A,value:[T]}}return[v,A]}).filter(([v,{value:A,optional:T}])=>{if(A!=null)return!0;if(T)return!1;throw new Error(`missing channel value: ${v}`)})),this.dx=+l,this.dy=+u,this.marginTop=+h,this.marginRight=+d,this.marginBottom=+m,this.marginLeft=+g,this.clip=Ag(x),this.tip=zF(b),this.className=y?Xi(y):null,this.facet==="super"){if(a||c)throw new Error("super-faceting cannot use fx or fy");for(let v in this.channels){let{scale:A}=n[v];if(!(A!=="x"&&A!=="y"))throw new Error("super-faceting cannot use x or y")}}_!=null&&(this.render=Qo(_,this.render))}initialize(e,n,r){let o=zo(this.data);e===void 0&&o!=null&&(e=[mn(o)]);let i=e;this.transform!=null&&({facets:e,data:o}=this.transform(o,e,r),o=zo(o)),e!==void 0&&(e.original=i);let s=Og(this.channels,o);return this.sort!=null&&uS(o,e,s,n,this.sort),{data:o,facets:e,channels:s}}filter(e,n,r){for(let o in n){let{filter:i=Ht}=n[o];if(i!==null){let s=r[o];e=e.filter(a=>i(s[a]))}}return e}project(e,n,r){for(let o in e)if(e[o].scale==="x"&&/^x|x$/.test(o)){let i=o.replace(/^x|x$/,"y");i in e&&e[i].scale==="y"&&ov(o,i,n,r.projection)}}scale(e,n,r){let o=Lc(e,n);return r.projection&&this.project(e,o,r),o}};function ge(...t){return t.plot=lt.prototype.plot,t}function Qo(t,e){if(t==null)return e===null?void 0:e;if(e==null)return t===null?void 0:t;if(typeof t!="function")throw new TypeError(`invalid render transform: ${t}`);if(typeof e!="function")throw new TypeError(`invalid render transform: ${e}`);return function(n,r,o,i,s,a){return t.call(this,n,r,o,i,s,(c,f,l,u,p)=>e.call(this,c,f,l,u,p,a))}}function BF(t){return Object.fromEntries(Object.entries(Ou(t)).map(([e,n])=>(n=typeof n=="string"?{value:n,label:e}:nr(n),n.filter===void 0&&n.scale==null&&(n={...n,filter:null}),[e,n])))}function zF(t){return t===!0?"xy":t===!1||t==null?null:typeof t=="string"?be(t,"tip",["x","y","xy"]):t}function gr(t,e){return t?.tip===!0?{...t,tip:e}:Ie(t?.tip)&&t.tip.pointer===void 0?{...t,tip:{...t.tip,pointer:e}}:t}function w7(t,e,n={}){let r=.5-ee,o=.5+ee,i=.5+ee,s=.5-ee;for(let{marginTop:m,marginRight:g,marginBottom:y,marginLeft:x}of e)m>r&&(r=m),g>o&&(o=g),y>i&&(i=y),x>s&&(s=x);let{margin:a,marginTop:c=a!==void 0?a:r,marginRight:f=a!==void 0?a:o,marginBottom:l=a!==void 0?a:i,marginLeft:u=a!==void 0?a:s}=n;c=+c,f=+f,l=+l,u=+u;let{width:p=640,height:h=YF(t,n,{width:p,marginTopDefault:r,marginRightDefault:o,marginBottomDefault:i,marginLeftDefault:s})+Math.max(0,c-r+l-i)}=n;p=+p,h=+h;let d={width:p,height:h,marginTop:c,marginRight:f,marginBottom:l,marginLeft:u};if(t.fx||t.fy){let{margin:m,marginTop:g=m!==void 0?m:c,marginRight:y=m!==void 0?m:f,marginBottom:x=m!==void 0?m:l,marginLeft:w=m!==void 0?m:u}=n.facet??{};g=+g,y=+y,x=+x,w=+w,d.facet={marginTop:g,marginRight:y,marginBottom:x,marginLeft:w}}return d}function YF({x:t,y:e,fy:n,fx:r},{projection:o,aspectRatio:i},{width:s,marginTopDefault:a,marginRightDefault:c,marginBottomDefault:f,marginLeftDefault:l}){let u=n&&n.scale.domain().length||1,p=p7(o);if(p){let d=r?r.scale.domain().length:1,m=(1.1*u-.1)/(1.1*d-.1)*p,g=Math.max(.1,Math.min(10,m));return Math.round((s-l-c)*g+a+f)}let h=e?Zr(e)?e.scale.domain().length||1:Math.max(7,17/u):1;if(i!=null){if(i=+i,!(isFinite(i)&&i>0))throw new Error(`invalid aspectRatio: ${i}`);let d=b7("y",e)/(b7("x",t)*i),m=r?r.scale.bandwidth():1,g=n?n.scale.bandwidth():1,y=m*(s-l-c)-t.insetLeft-t.insetRight;return(d*y+e.insetTop+e.insetBottom)/g+a+f}return!!(e||n)*Math.max(1,Math.min(60,h*u))*20+!!r*30+60}function b7(t,e){if(!e)throw new Error(`aspectRatio requires ${t} scale`);let{type:n,domain:r}=e,o;switch(n){case"linear":case"utc":case"time":o=Number;break;case"pow":{let a=e.scale.exponent();o=c=>Math.pow(c,a);break}case"log":o=Math.log;break;case"point":case"band":return r.length;default:throw new Error(`unsupported ${t} scale for aspectRatio: ${n}`)}let[i,s]=kt(r);return Math.abs(o(s)-o(i))}var v7=new WeakMap;function cv(t,e,{x:n,y:r,px:o,py:i,maxRadius:s=40,channels:a,render:c,...f}={}){return s=+s,o!=null&&(n??=null,a={...a,px:{value:o,scale:"x"}}),i!=null&&(r??=null,a={...a,py:{value:i,scale:"y"}}),{x:n,y:r,channels:a,...f,render:Qo(function(l,u,p,h,d,m){d={...d,pointerSticky:!1};let g=d.ownerSVGElement,{data:y}=d.getMarkState(this),x=v7.get(g);x||v7.set(g,x={sticky:!1,roots:[],renders:[]});let w=x.renders.push(V)-1,{x:b,y:_,fx:v,fy:A}=u,T=v?v(l.fx)-h.marginLeft:0,E=A?A(l.fy)-h.marginTop:0;b?.bandwidth&&(T+=b.bandwidth()/2),_?.bandwidth&&(E+=_.bandwidth()/2);let $=l.fi!=null,S;if($){let j=x.facetStates;j||(x.facetStates=j=new Map),S=j.get(this),S||j.set(this,S=new Map)}let[k,O]=ke(this,h),{px:M,py:I}=p,C=M?j=>M[j]:fv(p,k),N=I?j=>I[j]:lv(p,O),L,R,D,F;function P(j,nt){if($)if(F&&(F=cancelAnimationFrame(F)),j==null)S.delete(l.fi);else{S.set(l.fi,nt),F=requestAnimationFrame(()=>{F=null;for(let[z,W]of S)if(W<nt||W===nt&&z<l.fi){j=null;break}V(j)});return}V(j)}function V(j){if(L===j&&D===x.sticky)return;L=j,D=d.pointerSticky=x.sticky;let nt=L==null?[]:[L];$&&(nt.fx=l.fx,nt.fy=l.fy,nt.fi=l.fi);let z=m(nt,u,p,h,d);if(R){if($){let W=R.parentNode,tt=R.getAttribute("transform"),q=z.getAttribute("transform");tt?z.setAttribute("transform",tt):z.removeAttribute("transform"),q?W.setAttribute("transform",q):W.removeAttribute("transform"),z.removeAttribute("aria-label"),z.removeAttribute("aria-description"),z.removeAttribute("aria-hidden")}R.replaceWith(z)}if(x.roots[w]=R=z,!(L==null&&S?.size>1)){let W=L==null?null:vn(y)?y[L]:y.get(L);d.dispatchValue(W)}return z}function J(j){if(x.sticky||j.pointerType==="mouse"&&j.buttons===1)return;let[nt,z]=Xe(j);nt-=T,z-=E;let W=nt<h.marginLeft||nt>h.width-h.marginRight?1:t,tt=z<h.marginTop||z>h.height-h.marginBottom?1:e,q=null,gt=s*s;for(let at of l){let At=W*(C(at)-nt),It=tt*(N(at)-z),Z=At*At+It*It;Z<=gt&&(q=at,gt=Z)}if(q!=null&&(t!==1||e!==1)){let at=C(q)-nt,At=N(q)-z;gt=at*at+At*At}P(q,gt)}function et(j){j.pointerType==="mouse"&&L!=null&&(x.sticky&&x.roots.some(nt=>nt?.contains(j.target))||(x.sticky?(x.sticky=!1,x.renders.forEach(nt=>nt(null))):(x.sticky=!0,V(L)),j.stopImmediatePropagation()))}function rt(j){j.pointerType==="mouse"&&(x.sticky||P(null))}return g.addEventListener("pointerenter",J),g.addEventListener("pointermove",J),g.addEventListener("pointerdown",et),g.addEventListener("pointerleave",rt),V(null)},c)}}function Gi(t){return cv(1,1,t)}function Vi(t){return cv(1,.01,t)}function Zo(t){return cv(.01,1,t)}function fv({x1:t,x2:e,x:n=t},r){return t&&e?o=>(t[o]+e[o])/2:n?o=>n[o]:()=>r}function lv({y1:t,y2:e,y:n=t},r){return t&&e?o=>(t[o]+e[o])/2:n?o=>n[o]:()=>r}function Wg(t){return Zr(t)&&t.interval===void 0?void 0:"tabular-nums"}function _7(t,e){let{label:n=t.label,tickSize:r=6,width:o=240,height:i=44+r,marginTop:s=18,marginRight:a=0,marginBottom:c=16+r,marginLeft:f=0,style:l,ticks:u=(o-f-a)/64,tickFormat:p,fontVariant:h=Wg(t),round:d=!0,opacity:m,className:g}=e,y=Ui(e);g=Xi(g),m=Lt(m)[1],p===null&&(p=()=>null);let x=ot("svg",y).attr("class",`${g}-ramp`).attr("font-family","system-ui, sans-serif").attr("font-size",10).attr("width",o).attr("height",i).attr("viewBox",`0 0 ${o} ${i}`).call(k=>k.append("style").text(`:where(.${g}-ramp) {
6
+ ${n}`}function iP(t){return t==="time"?sx:t==="utc"?Xp:rP}function BA(t,e,n){let r=It(e0(e,(o,i)=>Math.abs(i-o)));if(r<1e3)return FA("millisecond","utc",n);for(let[o,i,s,a]of iP(t)){if(r>a||o==="hour"&&!r)break;if(e.every(c=>i.floor(c)>=c))return FA(o,s,n)}}function bf(t,e,n){return(r,o,i)=>{let s=t(r,o),a=e(r,o),c=o-gi(i);return o!==c&&i[c]!==void 0&&a===e(i[c],c)?s:n(s,a)}}var Gp=Object.getPrototypeOf(Uint8Array),sP=Object.prototype.toString;function Pn(t){return t instanceof Array||t instanceof Gp}function YA(t){return t instanceof Gp&&!aP(t)}function UA(t){return t?.prototype instanceof Gp&&!cP(t)}function aP(t){return t instanceof BigInt64Array||t instanceof BigUint64Array}function cP(t){return t===BigInt64Array||t===BigUint64Array}var b_=Symbol("reindex");function ct(t,e,n){let r=typeof e;return r==="string"?e7(t)?w_(t.getChild(e),n):zA(t,v_(e),n):r==="function"?zA(t,e,n):r==="number"||e instanceof Date||r==="boolean"?Mt(t,oe(e),n):typeof e?.transform=="function"?x_(e.transform(t),n):fP(x_(e,n),t?.[b_])}function fP(t,e){return t!=null&&e?Hp(t,e):t}function zA(t,e,n){return Mt(t,UA(n)?(r,o)=>__(e(r,o)):e,n)}function x_(t,e){return e===void 0?Zn(t):n7(t)?w_(t,e):t instanceof e?t:e.from(t,UA(e)&&!YA(t)?__:void 0)}function w_(t,e){return t==null?t:(e===void 0||e===Array)&&pP(t.type)?M_(t.toArray()):x_(t.toArray(),e)}var fs=[null],v_=t=>e=>{let n=e[t];return n===void 0&&e.type==="Feature"?e.properties?.[t]:n},Xt={transform:kn},X={transform:t=>t};var Vp=()=>1,jA=()=>!0,pe=t=>t==null?t:`${t}`,Rt=t=>t==null?t:+t;var Oa=t=>t?t[0]:void 0,us=t=>t?t[1]:void 0,XA=t=>t?t[2]:void 0,oe=t=>()=>t;function _f(t){let e=+`${t}`.slice(1)/100;return(n,r)=>vn(n,e,r)}function _e(t){return YA(t)?t:Mt(t,__,Float64Array)}function __(t){return t==null?NaN:Number(t)}function M_(t){return Mt(t,S_)}function S_(t){return t instanceof Date&&!isNaN(t)?t:typeof t=="string"?jp(t):t==null||isNaN(t=Number(t))?void 0:new Date(t)}function ne(t,e){return t===void 0&&(t=e),t===null?[void 0,"none"]:ds(t)?[void 0,t]:[t,void 0]}function Pt(t,e){return t===void 0&&(t=e),t===null||typeof t=="number"?[void 0,t]:[t,void 0]}function A_(t,e,n){if(t!=null)return Ie(t,e,n)}function Ie(t,e,n){let r=`${t}`.toLowerCase();if(!n.includes(r))throw new Error(`invalid ${e}: ${t}`);return r}function yi(t){return e7(t)?t:Zn(t)}function Zn(t){if(t==null||Pn(t))return t;if(n7(t))return w_(t);switch(t.type){case"FeatureCollection":return t.features;case"GeometryCollection":return t.geometries;case"Feature":case"LineString":case"MultiLineString":case"MultiPoint":case"MultiPolygon":case"Point":case"Polygon":case"Sphere":return[t]}return Array.from(t)}function Mt(t,e,n=Array){return t==null?t:t instanceof n?t.map(e):n.from(t,e)}function ls(t,e=Array){return t instanceof e?t.slice():e.from(t)}function E_({x:t,x1:e,x2:n}){return t!==void 0||e!==void 0||n!==void 0}function T_({y:t,y1:e,y2:n}){return t!==void 0||e!==void 0||n!==void 0}function xi(t){return E_(t)||T_(t)||t.interval!==void 0}function Pe(t){return t?.toString===sP}function bo(t){return Pe(t)&&(t.type!==void 0||t.domain!==void 0)}function Kn(t){return Pe(t)&&typeof t.transform!="function"}function wo(t){return Kn(t)&&t.value===void 0&&t.channel===void 0}function I_(t,e,n,r=X){return e===void 0&&n===void 0?(e=0,n=t===void 0?r:t):e===void 0?e=t===void 0?0:t:n===void 0&&(n=t===void 0?0:t),[e,n]}function ce(t,e){return t===void 0&&e===void 0?[Oa,us]:[t,e]}function pn({z:t,fill:e,stroke:n}={}){return t===void 0&&([t]=ne(e)),t===void 0&&([t]=ne(n)),t}function ps(t){return Pn(t)?t.length:t?.numRows}function kn(t){let e=ps(t),n=new Uint32Array(e);for(let r=0;r<e;++r)n[r]=r;return n}function Hp(t,e){return Pn(t)?Mt(e,n=>t[n],t.constructor):Mt(e,n=>t.at(n))}function Mf(t){return t.length===1?(e,n)=>t(Hp(n,e)):t}function bi(t,e,n){return t.subarray?t.subarray(e,n):t.slice(e,n)}function br(t){return t!==null&&typeof t=="object"?t.valueOf():t}function fx(t,e){if(e[t]!==void 0)return e[t];switch(t){case"x1":case"x2":t="x";break;case"y1":case"y2":t="y";break}return e[t]}function qe(t){let e;return[{transform:()=>e,label:Ke(t)},n=>e=n]}function Ze(t){return t==null?[t]:qe(t)}function Ke(t,e){return typeof t=="string"?t:t&&t.label!==void 0?t.label:e}function Sf(t,e){return{transform(n){let r=t.transform(n),o=e.transform(n);return re(r)||re(o)?Mt(r,(i,s)=>new Date((+r[s]+ +o[s])/2)):Mt(r,(i,s)=>(+r[s]+ +o[s])/2,Float64Array)},label:t.label}}function $a(t,e){let n=C_(e?.interval,e?.type);return n?Mt(t,n):t}function C_(t,e){let n=Af(t,e);return n&&(r=>Jt(r)?n.floor(r):r)}function Af(t,e){if(t!=null){if(typeof t=="number")return N_(t);if(typeof t=="string")return(e==="time"?Wp:La)(t);if(typeof t.floor!="function")throw new Error("invalid interval; missing floor method");if(typeof t.offset!="function")throw new Error("invalid interval; missing offset method");return t}}function N_(t){t=+t,0<t&&t<1&&Number.isInteger(1/t)&&(t=-1/t);let e=Math.abs(t);return t<0?{floor:n=>Math.floor(n*e)/e,offset:(n,r=1)=>(n*e+Math.floor(r))/e,range:(n,r)=>le(Math.ceil(n*e),r*e).map(o=>o/e)}:{floor:n=>Math.floor(n/e)*e,offset:(n,r=1)=>n+e*Math.floor(r),range:(n,r)=>le(Math.ceil(n/e),r/e).map(o=>o*e)}}function vo(t,e){if(t=Af(t,e),t&&typeof t.range!="function")throw new Error("invalid interval: missing range method");return t}function WA(t,e){if(t=vo(t,e),t&&typeof t.ceil!="function")throw new Error("invalid interval: missing ceil method");return t}function GA(t){return hs(t)&&typeof t?.floor=="function"&&t.floor()instanceof Date}function hs(t){return typeof t?.range=="function"}function wr(t){return t===void 0||Kn(t)?t:{value:t}}function VA(t){return t==null?null:{transform:e=>ct(e,t,Float64Array),label:Ke(t)}}function HA(t){if(!Rn(t))return!1;for(let e of t)if(e!=null)return typeof e=="object"&&"0"in e&&"1"in e}function Rn(t){return t&&typeof t[Symbol.iterator]=="function"}function ux(t){for(let e of t)if(e!=null)return typeof e!="object"||e instanceof Date}function te(t){for(let e of t){if(e==null)continue;let n=typeof e;return n==="string"||n==="boolean"}}function re(t){for(let e of t)if(e!=null)return e instanceof Date}function QA(t){for(let e of t)if(e!=null)return typeof e=="string"&&isNaN(e)&&jp(e)}function ZA(t){for(let e of t)if(e!=null){if(typeof e!="string")return!1;if(e.trim())return!isNaN(e)}}function wi(t){for(let e of t)if(e!=null)return typeof e=="number"}function lx(t,e){let n;for(let r of t)if(r!=null){if(!e(r))return!1;n=!0}return n}var uP=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 ds(t){return typeof t!="string"?!1:(t=t.toLowerCase().trim(),/^#[0-9a-f]{3,8}$/.test(t)||/^(?:url|var|rgb|rgba|hsl|hsla|hwb|lab|lch|oklab|oklch|color|color-mix)\(.*\)$/.test(t)||uP.has(t))}function KA(t){return typeof t=="number"&&(0<=t&&t<=1||isNaN(t))}function Ft(t){return t==null||vi(t)}function vi(t){return/^\s*none\s*$/i.test(t)}function JA(t){return/^\s*round\s*$/i.test(t)}function px(t,e){return A_(t,e,["middle","top-left","top","top-right","right","bottom-right","bottom","bottom-left","left"])}function _o(t="middle"){return px(t,"frameAnchor")}function t7(t={},...e){let n=t;for(let r of e)for(let o in r)if(n[o]===void 0){let i=r[o];n===t?n={...n,[o]:i}:n[o]=i}return n}function lP(t){console.warn("named iterables are deprecated; please use an object instead");let e=new Set;return Object.fromEntries(Array.from(t,n=>{let{name:r}=n;if(r==null)throw new Error("missing name");let o=`${r}`;if(o==="__proto__")throw new Error(`illegal name: ${o}`);if(e.has(o))throw new Error(`duplicate name: ${o}`);return e.add(o),[r,n]}))}function Qp(t){return Rn(t)?lP(t):t}function hx(t){return t===!0?t="frame":t===!1?t=null:t!=null&&(t=Ie(t,"clip",["frame","sphere"])),t}function e7(t){return t&&typeof t.getChild=="function"&&typeof t.toArray=="function"&&t.schema&&Array.isArray(t.schema.fields)}function n7(t){return t&&typeof t.toArray=="function"&&t.type}function pP(t){return t&&(t.typeId===8||t.typeId===10)&&t.unit===1}var vr=Symbol("position"),Jn=Symbol("color"),Da=Symbol("radius"),Fa=Symbol("length"),Pa=Symbol("opacity"),Ef=Symbol("symbol"),r7=Symbol("projection"),Yt=new Map([["x",vr],["y",vr],["fx",vr],["fy",vr],["r",Da],["color",Jn],["opacity",Pa],["symbol",Ef],["length",Fa],["projection",r7]]);function o7(t){return t===vr||t===r7}function i7(t){return t===vr||t===Da||t===Fa||t===Pa}var k_=Math.sqrt(3),R_=2/k_,hP={draw(t,e){let n=Math.sqrt(e/Math.PI),r=n*R_,o=r/2;t.moveTo(0,r),t.lineTo(n,o),t.lineTo(n,-o),t.lineTo(0,-r),t.lineTo(-n,-o),t.lineTo(-n,o),t.closePath()}},L_=new Map([["asterisk",Ip],["circle",di],["cross",Cp],["diamond",Np],["diamond2",kp],["hexagon",hP],["plus",Rp],["square",Lp],["square2",Op],["star",$p],["times",df],["triangle",Dp],["triangle2",Fp],["wye",Pp]]);function O_(t){return t&&typeof t.draw=="function"}function s7(t){return O_(t)?!0:typeof t!="string"?!1:L_.has(t.toLowerCase())}function Tf(t){if(t==null||O_(t))return t;let e=L_.get(`${t}`.toLowerCase());if(e)return e;throw new Error(`invalid symbol: ${t}`)}function a7(t){if(t==null||O_(t))return[void 0,t];if(typeof t=="string"){let e=L_.get(`${t}`.toLowerCase());if(e)return[void 0,e]}return[t,void 0]}function Me({filter:t,sort:e,reverse:n,transform:r,initializer:o,...i}={},s){if(r===void 0&&(t!=null&&(r=F_(t)),e!=null&&!wo(e)&&(r=$_(r,q_(e))),n&&(r=$_(r,P_))),s!=null&&o!=null)throw new Error("transforms cannot be applied after initializers");return{...i,...(e===null||wo(e))&&{sort:e},transform:$_(r,s)}}function Gt({filter:t,sort:e,reverse:n,initializer:r,...o}={},i){return r===void 0&&(t!=null&&(r=F_(t)),e!=null&&!wo(e)&&(r=D_(r,q_(e))),n&&(r=D_(r,P_))),{...o,...(e===null||wo(e))&&{sort:e},initializer:D_(r,i)}}function $_(t,e){return t==null?e===null?void 0:e:e==null?t===null?void 0:t:function(n,r,o){return{data:n,facets:r}=t.call(this,n,r,o),e.call(this,yi(n),r,o)}}function D_(t,e){return t==null?e===null?void 0:e:e==null?t===null?void 0:t:function(n,r,o,...i){let s,a,c,f,u,p;return{data:a=n,facets:c=r,channels:s}=t.call(this,n,r,o,...i),{data:u=a,facets:p=c,channels:f}=e.call(this,a,c,{...o,...s},...i),{data:u,facets:p,channels:{...s,...f}}}}function dx(t,e){return(t.initializer!=null?Gt:Me)(t,e)}function c7(t,e){return dx(e,F_(t))}function F_(t){return(e,n)=>{let r=ct(e,t);return{data:e,facets:n.map(o=>o.filter(i=>r[i]))}}}function f7({sort:t,...e}={}){return{...dx(e,P_),sort:wo(t)?t:null}}function P_(t,e){return{data:t,facets:e.map(n=>n.slice().reverse())}}function u7({seed:t,sort:e,...n}={}){return{...dx(n,l7(t==null?Math.random:va(t))),sort:wo(e)?e:null}}function mx(t,{sort:e,...n}={}){return{...(Kn(t)&&t.channel!==void 0?Gt:dx)(n,q_(t)),sort:wo(e)?e:null}}function q_(t){return(typeof t=="function"&&t.length!==1?dP:l7)(t)}function dP(t){return(e,n)=>{let r=Pn(e)?(o,i)=>t(e[o],e[i]):(o,i)=>t(e.get(o),e.get(i));return{data:e,facets:n.map(o=>o.slice().sort(r))}}}function l7(t){let e,n;({channel:e,value:t,order:n}={...wr(t)});let r=e?.startsWith("-");if(r&&(e=e.slice(1)),n===void 0&&(n=r?ka:Fe),typeof n!="function")switch(`${n}`.toLowerCase()){case"ascending":n=Fe;break;case"descending":n=ka;break;default:throw new Error(`invalid order: ${n}`)}return(o,i,s)=>{let a;if(e===void 0)a=ct(o,t);else{if(s===void 0)throw new Error("channel sort requires an initializer");if(a=s[e],!a)return{};a=a.value}let c=(f,u)=>n(a[f],a[u]);return{data:o,facets:i.map(f=>f.slice().sort(c))}}}function Kp(t,e){return gx(null,null,t,e)}function ms(t={y:"count"},e={}){let{x:n=X}=e;if(n==null)throw new Error("missing channel: x");return gx(n,null,t,e)}function gs(t={x:"count"},e={}){let{y:n=X}=e;if(n==null)throw new Error("missing channel: y");return gx(null,n,t,e)}function Jp(t={fill:"count"},e={}){let{x:n,y:r}=e;if([n,r]=ce(n,r),n==null)throw new Error("missing channel: x");if(r==null)throw new Error("missing channel: y");return gx(n,r,t,e)}function gx(t,e,{data:n=bx,filter:r,sort:o,reverse:i,...s}={},a={}){s=z_(s,a),n=g7(n,X),o=o==null?void 0:d7("sort",o,a),r=r==null?void 0:m7("filter",r,a);let[c,f]=Ze(t),[u,p]=Ze(e),{z:l,fill:h,stroke:d,x1:m,x2:g,y1:y,y2:x,...b}=a,[w,_]=Ze(l),[v]=ne(h),[A]=ne(d),[E,T]=Ze(v),[C,S]=Ze(A);return{..."z"in a&&{z:w||l},..."fill"in a&&{fill:E||h},..."stroke"in a&&{stroke:C||d},...Me(b,(k,L,M)=>{let I=$a(ct(k,t),M?.x),N=$a(ct(k,e),M?.y),R=ct(k,l),$=ct(k,v),O=ct(k,A),D=th(s,{z:R,fill:$,stroke:O}),F=[],P=[],W=I&&f([]),K=N&&p([]),tt=R&&_([]),nt=$&&T([]),U=O&&S([]),et=0;for(let z of s)z.initialize(k);o&&o.initialize(k),r&&r.initialize(k);for(let z of L){let G=[];for(let J of s)J.scope("facet",z);o&&o.scope("facet",z),r&&r.scope("facet",z);for(let[J,q]of Mo(z,D))for(let[bt,st]of Mo(q,N))for(let[Et,Ct]of Mo(st,I)){let Q={data:k};if(I&&(Q.x=Et),N&&(Q.y=bt),D&&(Q.z=J),!(r&&!r.reduce(Ct,Q))){G.push(et++),P.push(n.reduceIndex(Ct,k,Q)),I&&W.push(Et),N&&K.push(bt),R&&tt.push(D===R?J:R[Ct[0]]),$&&nt.push(D===$?J:$[Ct[0]]),O&&U.push(D===O?J:O[Ct[0]]);for(let qt of s)qt.reduce(Ct,Q);o&&o.reduce(Ct,Q)}}F.push(G)}return Y_(F,o,i),{data:P,facets:F}}),...!So(s,"x")&&(c?{x:c}:{x1:m,x2:g}),...!So(s,"y")&&(u?{y:u}:{y1:y,y2:x}),...Object.fromEntries(s.map(({name:k,output:L})=>[k,L]))}}function So(t,...e){for(let{name:n}of t)if(e.includes(n))return!0;return!1}function B_(t,e,n=yx){let r=Object.entries(t);return e.title!=null&&t.title===void 0&&r.push(["title",wP]),e.href!=null&&t.href===void 0&&r.push(["href",wx]),r.filter(([,o])=>o!==void 0).map(([o,i])=>i===null?mP(o):n(o,i,e))}function yx(t,e,n,r=xx){let o;Pe(e)&&"reduce"in e&&(o=e.scale,e=e.reduce);let i=r(t,e,n),[s,a]=qe(i.label),c;return{name:t,output:o===void 0?s:{value:s,scale:o},initialize(f){i.initialize(f),c=a([])},scope(f,u){i.scope(f,u)},reduce(f,u){c.push(i.reduce(f,u))}}}function mP(t){return{name:t,initialize(){},scope(){},reduce(){}}}function xx(t,e,n,r=If){let o=fx(t,n),i=r(e,o),s,a;return{label:Ke(i===Zp?null:o,i.label),initialize(c){s=o===void 0?c:ct(c,o),i.scope==="data"&&(a=i.reduceIndex(kn(c),s))},scope(c,f){i.scope===c&&(a=i.reduceIndex(f,s))},reduce(c,f){return i.scope==null?i.reduceIndex(c,s,f):i.reduceIndex(c,s,a,f)}}}function Mo(t,e){return e?We(t,n=>e[n]):[[,t]]}function If(t,e,n=gP){if(t==null)return n(t);if(typeof t.reduceIndex=="function")return t;if(typeof t.reduce=="function"&&Pe(t))return xP(t);if(typeof t=="function")return bP(t);if(/^p\d{2}$/i.test(t))return _i(_f(t));switch(`${t}`.toLowerCase()){case"first":return wx;case"last":return vP;case"identity":return bx;case"count":return Zp;case"distinct":return _P;case"sum":return e==null?Zp:MP;case"proportion":return h7(e,"data");case"proportion-facet":return h7(e,"facet");case"deviation":return _i(fr);case"min":return _i(St);case"min-index":return _i(Km);case"max":return _i(It);case"max-index":return _i(Zm);case"mean":return p7(Qo);case"median":return p7(Rr);case"variance":return _i(Ui);case"mode":return _i(kc)}return n(t)}function gP(t){throw new Error(`invalid reduce: ${t}`)}function z_(t,e){return B_(t,e,d7)}function d7(t,e,n){return yx(t,e,n,m7)}function m7(t,e,n){return xx(t,e,n,g7)}function g7(t,e){return If(t,e,yP)}function yP(t){switch(`${t}`.toLowerCase()){case"x":return SP;case"y":return AP;case"z":return U_}throw new Error(`invalid group reduce: ${t}`)}function th(t,e){for(let n in e){let r=e[n];if(r!==void 0&&!t.some(o=>o.name===n))return r}}function Y_(t,e,n){if(e){let r=e.output.transform(),o=(i,s)=>Fe(r[i],r[s]);t.forEach(i=>i.sort(o))}n&&t.forEach(r=>r.reverse())}function xP(t){return console.warn("deprecated reduce interface; implement reduceIndex instead."),{...t,reduceIndex:t.reduce.bind(t)}}function bP(t){return{reduceIndex(e,n,r){return t(Hp(n,e),r)}}}function _i(t){return{reduceIndex(e,n){return t(e,r=>n[r])}}}function p7(t){return{reduceIndex(e,n){let r=t(e,o=>n[o]);return re(n)?new Date(r):r}}}var bx={reduceIndex(t,e){return Hp(e,t)}},wx={reduceIndex(t,e){return e[t[0]]}},wP={reduceIndex(t,e){let r=Vo(kr(t,i=>i.length,i=>e[i]),us),o=r.slice(-5).reverse();if(o.length<r.length){let i=r.slice(0,-4);o[4]=[`\u2026 ${i.length.toLocaleString("en-US")} more`,Ve(i,us)]}return o.map(([i,s])=>`${i} (${s.toLocaleString("en-US")})`).join(`
7
+ `)}},vP={reduceIndex(t,e){return e[t[t.length-1]]}},Zp={label:"Frequency",reduceIndex(t){return t.length}},_P={label:"Distinct",reduceIndex(t,e){let n=new wn;for(let r of t)n.add(e[r]);return n.size}},MP=_i(Ve);function h7(t,e){return t==null?{scope:e,label:"Frequency",reduceIndex:(n,r,o=1)=>n.length/o}:{scope:e,reduceIndex:(n,r,o=1)=>Ve(n,i=>r[i])/o}}var SP={reduceIndex(t,e,{x:n}){return n}},AP={reduceIndex(t,e,{y:n}){return n}},U_={reduceIndex(t,e,{z:n}){return n}};function y7(t){if(typeof t!="function")throw new Error(`invalid test function: ${t}`);return{reduceIndex(e,n,{data:r}){return n[e.find(Pn(r)?o=>t(r[o],o,r):o=>t(r.get(o),o,r))]}}}function Cf(t,{scale:e,type:n,value:r,filter:o,hint:i,label:s=Ke(r)},a){return i===void 0&&typeof r?.transform=="function"&&(i=r.hint),X_(a,{scale:e,type:n,value:ct(t,r),label:s,filter:o,hint:i})}function vx(t,e){return Object.fromEntries(Object.entries(t).map(([n,r])=>[n,Cf(e,r,n)]))}function Nf(t,e){let n=Object.fromEntries(Object.entries(t).map(([r,{scale:o,value:i}])=>{let s=o==null?null:e[o];return[r,s==null?i:Mt(i,s)]}));return n.channels=t,n}function X_(t,e){let{scale:n,value:r}=e;if(n===!0||n==="auto")switch(t){case"fill":case"stroke":case"color":e.scale=n!==!0&&lx(r,ds)?null:"color",e.defaultScale="color";break;case"fillOpacity":case"strokeOpacity":case"opacity":e.scale=n!==!0&&lx(r,KA)?null:"opacity",e.defaultScale="opacity";break;case"symbol":n!==!0&&lx(r,s7)?(e.scale=null,e.value=Mt(r,Tf)):e.scale="symbol",e.defaultScale="symbol";break;default:e.scale=Yt.has(t)?t:null;break}else if(n===!1)e.scale=null;else if(n!=null&&!Yt.has(n))throw new Error(`unknown scale: ${n}`);return e}function b7(t,e,n,r,o){let{order:i,reverse:s,reduce:a=!0,limit:c}=o;for(let f in o){if(!Yt.has(f))continue;let{value:u,order:p=i,reverse:l=s,reduce:h=a,limit:d=c}=wr(o[f]),m=u?.startsWith("-");if(m&&(u=u.slice(1)),p=p===void 0?m!==(u==="width"||u==="height")?v7:w7:IP(p),h==null||h===!1)continue;let g=f==="fx"||f==="fy"?TP(e,r[f]):EP(n,f);if(!g)throw new Error(`missing channel for scale: ${f}`);let y=g.value,[x=0,b=1/0]=Rn(d)?d:d<0?[d]:[0,d];if(u==null)g.domain=()=>{let w=Array.from(new wn(y));return l&&(w=w.reverse()),(x!==0||b!==1/0)&&(w=w.slice(x,b)),w};else{let w=u==="data"?t:u==="height"?x7(n,"y1","y2"):u==="width"?x7(n,"x1","x2"):j_(n,u,u==="y"?"y2":u==="x"?"x2":void 0),_=If(h===!0?"max":h,w);g.domain=()=>{let v=m2(kn(y),A=>_.reduceIndex(A,w),A=>y[A]);return p&&v.sort(p),l&&v.reverse(),(x!==0||b!==1/0)&&(v=v.slice(x,b)),v.map(Oa)}}}}function EP(t,e){for(let n in t){let r=t[n];if(r.scale===e)return r}}function TP(t,e){let n=t.original;if(n===t)return e;let r=e.value,o=e.value=[];for(let i=0;i<n.length;++i){let s=r[n[i][0]];for(let a of t[i])o[a]=s}return e}function x7(t,e,n){let r=j_(t,e),o=j_(t,n);return Mt(o,(i,s)=>Math.abs(i-r[s]),Float64Array)}function j_(t,e,n){let r=t[e];if(!r&&n!==void 0&&(r=t[n]),r)return r.value;throw new Error(`missing channel: ${e}`)}function IP(t){if(t==null||typeof t=="function")return t;switch(`${t}`.toLowerCase()){case"ascending":return w7;case"descending":return v7}throw new Error(`invalid order: ${t}`)}function w7([t,e],[n,r]){return Fe(e,r)||Fe(t,n)}function v7([t,e],[n,r]){return ka(e,r)||Fe(t,n)}function eh(t,e){let n=t[e];if(n){for(;n.source;)n=n.source;return n.source===null?null:n}}var E7=new Map([["accent",Nv],["category10",Cv],["dark2",kv],["observable10",Rv],["paired",Lv],["pastel1",Ov],["pastel2",$v],["set1",Dv],["set2",Fv],["set3",Pv],["tableau10",qv]]);function T7(t){return t!=null&&E7.has(`${t}`.toLowerCase())}var _7=new Map([...E7,["brbg",Mi(Fg,Pg)],["prgn",Mi(qg,Bg)],["piyg",Mi(zg,Yg)],["puor",Mi(Ug,jg)],["rdbu",Mi(Sp,ff)],["rdgy",Mi(Xg,Wg)],["rdylbu",Mi(Ap,uf)],["rdylgn",Mi(Gg,Vg)],["spectral",Mi(Hg,Qg)],["burd",M7(Sp,ff)],["buylrd",M7(Ap,uf)],["blues",Be(vy,_y)],["greens",Be(My,Sy)],["greys",Be(Ay,Ey)],["oranges",Be(ky,Ry)],["purples",Be(Ty,Iy)],["reds",Be(Cy,Ny)],["turbo",Si(zy)],["viridis",Si(Uy)],["magma",Si(jy)],["inferno",Si(Xy)],["plasma",Si(Wy)],["cividis",Si(Ly)],["cubehelix",Si(Oy)],["warm",Si(Dy)],["cool",Si(Fy)],["bugn",Be(Zg,Kg)],["bupu",Be(Jg,ty)],["gnbu",Be(ey,ny)],["orrd",Be(ry,oy)],["pubu",Be(ay,cy)],["pubugn",Be(iy,sy)],["purd",Be(fy,uy)],["rdpu",Be(ly,py)],["ylgn",Be(my,gy)],["ylgnbu",Be(hy,dy)],["ylorbr",Be(yy,xy)],["ylorrd",Be(by,wy)],["rainbow",S7(Py)],["sinebow",S7(By)]]);function Be(t,e){return({length:n})=>n===1?[t[3][1]]:n===2?[t[3][1],t[3][2]]:(n=Math.max(3,Math.floor(n)),n>9?sn(e,n):t[n])}function Mi(t,e){return({length:n})=>n===2?[t[3][0],t[3][2]]:(n=Math.max(3,Math.floor(n)),n>11?sn(e,n):t[n])}function M7(t,e){return({length:n})=>n===2?[t[3][2],t[3][0]]:(n=Math.max(3,Math.floor(n)),n>11?sn(r=>e(1-r),n):t[n].slice().reverse())}function Si(t){return({length:e})=>sn(t,Math.max(2,Math.floor(e)))}function S7(t){return({length:e})=>sn(t,Math.floor(e)+1).slice(0,-1)}function W_(t){let e=`${t}`.toLowerCase();if(!_7.has(e))throw new Error(`unknown ordinal scheme: ${e}`);return _7.get(e)}function nh(t,e){let n=W_(t),r=typeof n=="function"?n({length:e}):n;return r.length!==e?r.slice(0,e):r}function I7(t,e="greys"){let n=new Set,[r,o]=nh(e,2);for(let i of t)if(i!=null)if(i===!0)n.add(o);else if(i===!1)n.add(r);else return;return[...n]}var A7=new Map([["brbg",Pg],["prgn",Bg],["piyg",Yg],["puor",jg],["rdbu",ff],["rdgy",Wg],["rdylbu",uf],["rdylgn",Vg],["spectral",Qg],["burd",t=>ff(1-t)],["buylrd",t=>uf(1-t)],["blues",_y],["greens",Sy],["greys",Ey],["purples",Iy],["reds",Ny],["oranges",Ry],["turbo",zy],["viridis",Uy],["magma",jy],["inferno",Xy],["plasma",Wy],["cividis",Ly],["cubehelix",Oy],["warm",Dy],["cool",Fy],["bugn",Kg],["bupu",ty],["gnbu",ny],["orrd",oy],["pubugn",sy],["pubu",cy],["purd",uy],["rdpu",py],["ylgnbu",dy],["ylgn",gy],["ylorbr",xy],["ylorrd",wy],["rainbow",Py],["sinebow",By]]);function kf(t){let e=`${t}`.toLowerCase();if(!A7.has(e))throw new Error(`unknown quantitative scheme: ${e}`);return A7.get(e)}var CP=new Set(["brbg","prgn","piyg","puor","rdbu","rdgy","rdylbu","rdylgn","spectral","burd","buylrd"]);function C7(t){return t!=null&&CP.has(`${t}`.toLowerCase())}var V_=t=>e=>t(1-e),G_=[0,1],N7=new Map([["number",Qt],["rgb",ur],["hsl",z2],["hcl",Y2],["lab",w0]]);function H_(t){let e=`${t}`.toLowerCase();if(!N7.has(e))throw new Error(`unknown interpolator: ${e}`);return N7.get(e)}function Lf(t,e,n,{type:r,nice:o,clamp:i,zero:s,domain:a=P7(t,n),unknown:c,round:f,scheme:u,interval:p,range:l=Yt.get(t)===Da?LP(n,a):Yt.get(t)===Fa?OP(n,a):Yt.get(t)===Pa?G_:void 0,interpolate:h=Yt.get(t)===Jn?u==null&&l!==void 0?ur:kf(u!==void 0?u:r==="cyclical"?"rainbow":"turbo"):f?ua:Qt,reverse:d}){if(p=vo(p,r),(r==="cyclical"||r==="sequential")&&(r="linear"),typeof h!="function"&&(h=H_(h)),d=!!d,l!==void 0){let m=(a=Zn(a)).length,g=(l=Zn(l)).length;if(m!==g){if(h.length===1)throw new Error("invalid piecewise interpolator");h=no(h,l),l=void 0}}if(h.length===1?(d&&(h=V_(h),d=!1),l===void 0&&(l=Float64Array.from(a,(m,g)=>g/(a.length-1)),l.length===2&&(l=G_)),e.interpolate((l===G_?oe:rh)(h))):e.interpolate(h),s){let[m,g]=Ot(a);(m>0||g<0)&&(a=ls(a),(gi(a)||1)===Math.sign(m)?a[0]=0:a[a.length-1]=0)}return d&&(a=Xi(a)),e.domain(a).unknown(c),o&&(e.nice(NP(o,r)),a=e.domain()),l!==void 0&&e.range(l),i&&e.clamp(i),{type:r,domain:a,range:l,scale:e,interpolate:h,interval:p}}function NP(t,e){return t===!0?void 0:typeof t=="number"?t:WA(t,e)}function k7(t,e,n){return Lf(t,si(),e,n)}function R7(t,e,n){return Q_(t,e,{...n,exponent:.5})}function Q_(t,e,{exponent:n=1,...r}){return Lf(t,hp().exponent(n),e,{...r,type:"pow"})}function L7(t,e,{base:n=10,domain:r=$P(e),...o}){return Lf(t,lp().base(n),e,{...o,domain:r})}function O7(t,e,{constant:n=1,...r}){return Lf(t,pp().constant(n),e,r)}function $7(t,e,{range:n,quantiles:r=n===void 0?5:(n=[...n]).length,n:o=r,scheme:i="rdylbu",domain:s=DP(e),unknown:a,interpolate:c,reverse:f}){return n===void 0&&(n=c!==void 0?sn(c,o):Yt.get(t)===Jn?nh(i,o):void 0),s.length>0&&(s=dp(s,n===void 0?{length:o}:n).quantiles()),_x(t,e,{domain:s,range:n,reverse:f,unknown:a})}function D7(t,e,{range:n,n:r=n===void 0?5:(n=[...n]).length,scheme:o="rdylbu",domain:i=P7(t,e),unknown:s,interpolate:a,reverse:c}){let[f,u]=Ot(i),p;return n===void 0?(p=Ge(f,u,r),p[0]<=f&&p.splice(0,1),p[p.length-1]>=u&&p.pop(),r=p.length+1,n=a!==void 0?sn(a,r):Yt.get(t)===Jn?nh(o,r):void 0):(p=sn(Qt(f,u),r+1).slice(1,-1),f instanceof Date&&(p=p.map(l=>new Date(l)))),gi(Zn(i))<0&&p.reverse(),_x(t,e,{domain:p,range:n,reverse:c,unknown:s})}function _x(t,e,{domain:n=[0],unknown:r,scheme:o="rdylbu",interpolate:i,range:s=i!==void 0?sn(i,n.length+1):Yt.get(t)===Jn?nh(o,n.length+1):void 0,reverse:a}){n=Zn(n);let c=gi(n);if(!isNaN(c)&&!kP(n,c))throw new Error(`the ${t} scale has a non-monotonic domain`);return a&&(s=Xi(s)),{type:"threshold",scale:mp(c<0?Xi(n):n,s===void 0?[]:s).unknown(r),domain:n,range:s}}function kP(t,e){for(let n=1,r=t.length,o=t[0];n<r;++n){let i=xn(o,o=t[n]);if(i!==0&&i!==e)return!1}return!0}function F7(t){return{type:"identity",scale:i7(Yt.get(t))?fp():e=>e}}function Rf(t,e=xf){return t.length?[St(t,({value:n})=>n===void 0?n:St(n,e)),It(t,({value:n})=>n===void 0?n:It(n,e))]:[0,1]}function P7(t,e){let n=Yt.get(t);return(n===Da||n===Pa||n===Fa?RP:Rf)(e)}function RP(t){return[0,t.length?It(t,({value:e})=>e===void 0?e:It(e,xf)):1]}function LP(t,e){let n=t.find(({radius:s})=>s!==void 0);if(n!==void 0)return[0,n.radius];let r=vn(t,.5,({value:s})=>s===void 0?NaN:vn(s,.25,Nn)),o=e.map(s=>3*Math.sqrt(s/r)),i=30/It(o);return i<1?o.map(s=>s*i):o}function OP(t,e){let n=Rr(t,({value:i})=>i===void 0?NaN:Rr(i,Math.abs)),r=e.map(i=>12*i/n),o=60/It(r);return o<1?r.map(i=>i*o):r}function $P(t){for(let{value:e}of t)if(e!==void 0)for(let n of e){if(n>0)return Rf(t,Nn);if(n<0)return Rf(t,is)}return[1,10]}function DP(t){let e=[];for(let{value:n}of t)if(n!==void 0)for(let r of n)e.push(r);return e}function rh(t){return(e,n)=>r=>t(e+r*(n-e))}var Z_=0,K_;function q7(){let t=Z_;return Z_=0,K_=void 0,t}function hn(t){t!==K_&&(K_=t,console.warn(t),++Z_)}function Mx(t,e,n,r,{type:o,nice:i,clamp:s,domain:a=Rf(r),unknown:c,pivot:f=0,scheme:u,range:p,symmetric:l=!0,interpolate:h=Yt.get(t)===Jn?u==null&&p!==void 0?ur:kf(u!==void 0?u:"rdbu"):Qt,reverse:d}){f=+f,a=Zn(a);let[m,g]=a;if(a.length>2&&hn(`Warning: the diverging ${t} scale domain contains extra elements.`),xn(m,g)<0&&([m,g]=[g,m],d=!d),m=Math.min(m,f),g=Math.max(g,f),typeof h!="function"&&(h=H_(h)),p!==void 0&&(h=h.length===1?rh(h)(...p):no(h,p)),d&&(h=V_(h)),l){let y=n.apply(f),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 e.domain([m,f,g]).unknown(c).interpolator(h),s&&e.clamp(s),i&&e.nice(i),{type:o,domain:[m,g],pivot:f,interpolate:h,scale:e}}function B7(t,e,n){return Mx(t,Mp(),FP,e,n)}function z7(t,e,n){return J_(t,e,{...n,exponent:.5})}function J_(t,e,{exponent:n=1,...r}){return Mx(t,Dg().exponent(n=+n),BP(n),e,{...r,type:"diverging-pow"})}function Y7(t,e,{base:n=10,pivot:r=1,domain:o=Rf(e,r<0?is:Nn),...i}){return Mx(t,Og().base(n=+n),PP,e,{domain:o,pivot:r,...i})}function U7(t,e,{constant:n=1,...r}){return Mx(t,$g().constant(n=+n),zP(n),e,r)}var FP={apply(t){return t},invert(t){return t}},PP={apply:Math.log,invert:Math.exp},qP={apply(t){return Math.sign(t)*Math.sqrt(Math.abs(t))},invert(t){return Math.sign(t)*(t*t)}};function BP(t){return t===.5?qP:{apply(e){return Math.sign(e)*Math.pow(Math.abs(e),t)},invert(e){return Math.sign(e)*Math.pow(Math.abs(e),1/t)}}}function zP(t){return{apply(e){return Math.sign(e)*Math.log1p(Math.abs(e/t))},invert(e){return Math.sign(e)*Math.expm1(Math.abs(e))*t}}}function j7(t,e,n,r){return Lf(t,e,n,r)}function X7(t,e,n){return j7(t,kg(),e,n)}function W7(t,e,n){return j7(t,Rg(),e,n)}var Of=Symbol("ordinal");function V7(t,e,n,{type:r,interval:o,domain:i,range:s,reverse:a,hint:c}){return o=vo(o,r),i===void 0&&(i=J7(n,o,t)),(r==="categorical"||r===Of)&&(r="ordinal"),a&&(i=Xi(i)),i=e.domain(i).domain(),s!==void 0&&(typeof s=="function"&&(s=s(i)),e.range(s)),{type:r,domain:i,range:s,scale:e,hint:c,interval:o}}function H7(t,e,{type:n,interval:r,domain:o,range:i,scheme:s,unknown:a,...c}){r=vo(r,n),o===void 0&&(o=J7(e,r,t));let f;if(Yt.get(t)===Ef)f=YP(e),i=i===void 0?UP(f):Mt(i,Tf);else if(Yt.get(t)===Jn&&(i===void 0&&(n==="ordinal"||n===Of)&&(i=I7(o,s),i!==void 0&&(s=void 0)),s===void 0&&i===void 0&&(s=n==="ordinal"?"turbo":"observable10"),s!==void 0))if(i!==void 0){let u=kf(s),p=i[0],l=i[1]-i[0];i=({length:h})=>sn(d=>u(p+l*d),h)}else i=W_(s);if(a===ap)throw new Error(`implicit unknown on ${t} scale is not supported`);return V7(t,_a().unknown(a),e,{...c,type:n,domain:o,range:i,hint:f})}function Q7(t,e,{align:n=.5,padding:r=.5,...o}){return K7(hv().align(n).padding(r),e,o,t)}function Z7(t,e,{align:n=.5,padding:r=.1,paddingInner:o=r,paddingOuter:i=t==="fx"||t==="fy"?0:r,...s}){return K7(ns().align(n).paddingInner(o).paddingOuter(i),e,s,t)}function K7(t,e,n,r){let{round:o}=n;return o!==void 0&&t.round(o=!!o),t=V7(r,t,e,n),t.round=o,t}function J7(t,e,n){let r=new wn;for(let{value:o,domain:i}of t){if(i!==void 0)return i();if(o!==void 0)for(let s of o)r.add(s)}if(e!==void 0){let[o,i]=Ot(r).map(e.floor,e);return e.range(o,e.offset(i))}if(r.size>1e4&&Yt.get(n)===vr)throw new Error(`implicit ordinal domain of ${n} scale has more than 10,000 values`);return Vo(r,Fe)}function G7(t,e){let n;for(let{hint:r}of t){let o=r?.[e];if(o!==void 0){if(n===void 0)n=o;else if(n!==o)return}}return n}function YP(t){return{fill:G7(t,"fill"),stroke:G7(t,"stroke")}}function UP(t){return Ft(t.fill)?Wv:Ky}function oh(t,{label:e,inset:n=0,insetTop:r=n,insetRight:o=n,insetBottom:i=n,insetLeft:s=n,round:a,nice:c,clamp:f,zero:u,align:p,padding:l,projection:h,facet:{label:d=e}={},...m}={}){let g={};for(let[y,x]of t){let b=m[y],w=aE(y,x,{round:Yt.get(y)===vr?a:void 0,nice:c,clamp:f,zero:u,align:p,padding:l,projection:h,...b});if(w){let{label:_=y==="fx"||y==="fy"?d:e,percent:v,transform:A,inset:E,insetTop:T=E!==void 0?E:y==="y"?r:0,insetRight:C=E!==void 0?E:y==="x"?o:0,insetBottom:S=E!==void 0?E:y==="y"?i:0,insetLeft:k=E!==void 0?E:y==="x"?s:0}=b||{};if(A==null)A=void 0;else if(typeof A!="function")throw new Error("invalid scale transform; not a function");w.percent=!!v,w.label=_===void 0?jP(x,w):_,w.transform=A,y==="x"||y==="fx"?(w.insetLeft=+k,w.insetRight=+C):(y==="y"||y==="fy")&&(w.insetTop=+T,w.insetBottom=+S),g[y]=w}}return g}function e6(t){let e={},n={scales:e};for(let[r,o]of Object.entries(t)){let{scale:i,type:s,interval:a,label:c}=o;e[r]=fE(o),n[r]=i,i.type=s,a!=null&&(i.interval=a),c!=null&&(i.label=c)}return n}function oE(t,e){let{x:n,y:r,fx:o,fy:i}=t,s=o||i?Ex(e):e;o&&tE(o,s),i&&eE(i,s);let a=o||i?n6(t,e):e;n&&tE(n,a),r&&eE(r,a)}function jP(t=[],e){let n;for(let{label:r}of t)if(r!==void 0){if(n===void 0)n=r;else if(n!==r)return}if(n!==void 0)return!Ao(e)&&e.percent&&(n=`${n} (%)`),{inferred:!0,toString:()=>n}}function Ax(t){return Math.sign(gi(t.domain()))*Math.sign(gi(t.range()))}function Ex(t){let{marginTop:e,marginRight:n,marginBottom:r,marginLeft:o,width:i,height:s,facet:{marginTop:a,marginRight:c,marginBottom:f,marginLeft:u}}=t;return{marginTop:Math.max(e,a),marginRight:Math.max(n,c),marginBottom:Math.max(r,f),marginLeft:Math.max(o,u),width:i,height:s}}function n6({fx:t,fy:e},n){let{marginTop:r,marginRight:o,marginBottom:i,marginLeft:s,width:a,height:c}=Ex(n);return{marginTop:r,marginRight:o,marginBottom:i,marginLeft:s,width:t?t.scale.bandwidth()+s+o:a,height:e?e.scale.bandwidth()+r+i:c,facet:{width:a,height:c}}}function tE(t,e){if(t.range===void 0){let{insetLeft:n,insetRight:r}=t,{width:o,marginLeft:i=0,marginRight:s=0}=e,a=i+n,c=o-s-r;t.range=[a,Math.max(a,c)],Ao(t)||(t.range=sE(t)),t.scale.range(t.range)}iE(t)}function eE(t,e){if(t.range===void 0){let{insetTop:n,insetBottom:r}=t,{height:o,marginTop:i=0,marginBottom:s=0}=e,a=i+n,c=o-s-r;t.range=[Math.max(a,c),a],Ao(t)?t.range.reverse():t.range=sE(t),t.scale.range(t.range)}iE(t)}function iE(t){t.round===void 0&&GP(t)&&XP(t)<=30&&t.scale.round(!0)}function XP({scale:t}){let e=t.domain().length,[n,r]=t.range(),o=t.paddingInner?t.paddingInner():1,i=t.paddingOuter?t.paddingOuter():t.padding(),s=e-o,a=Math.abs(r-n)/Math.max(1,s+i*2);return(a-Math.floor(a))*s}function sE(t){let e=t.scale.domain().length+r6(t);if(!(e>2))return t.range;let[n,r]=t.range;return Array.from({length:e},(o,i)=>n+i/(e-1)*(r-n))}function Tx(t,e,n){return aE(t,n===void 0?void 0:[{hint:n}],{...e})}function aE(t,e=[],n={}){let r=WP(t,e,n);if(n.type===void 0&&n.domain===void 0&&n.range===void 0&&n.interval==null&&t!=="fx"&&t!=="fy"&&Ao({type:r})){let o=e.map(({value:i})=>i).filter(i=>i!==void 0);o.some(re)?hn(`Warning: some data associated with the ${t} 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 ${t} scale (e.g., d3.utcDay), or you can suppress this warning by setting the type of the ${t} scale to "${$f(r)}".`):o.some(QA)?hn(`Warning: some data associated with the ${t} 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 ${t} scale to "${$f(r)}".`):o.some(ZA)&&hn(`Warning: some data associated with the ${t} 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 ${t} scale (e.g., 1 for integers), or you can suppress this warning by setting the type of the ${t} 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=Sx(e,n,_e);break;case"identity":switch(Yt.get(t)){case vr:n=Sx(e,n,_e);break;case Ef:n=Sx(e,n,VP);break}break;case"utc":case"time":n=Sx(e,n,M_);break}switch(r){case"diverging":return B7(t,e,n);case"diverging-sqrt":return z7(t,e,n);case"diverging-pow":return J_(t,e,n);case"diverging-log":return Y7(t,e,n);case"diverging-symlog":return U7(t,e,n);case"categorical":case"ordinal":case Of:return H7(t,e,n);case"cyclical":case"sequential":case"linear":return k7(t,e,n);case"sqrt":return R7(t,e,n);case"threshold":return _x(t,e,n);case"quantile":return $7(t,e,n);case"quantize":return D7(t,e,n);case"pow":return Q_(t,e,n);case"log":return L7(t,e,n);case"symlog":return O7(t,e,n);case"utc":return W7(t,e,n);case"time":return X7(t,e,n);case"point":return Q7(t,e,n);case"band":return Z7(t,e,n);case"identity":return F7(t);case void 0:return;default:throw new Error(`unknown scale type: ${r}`)}}function $f(t){return typeof t=="symbol"?t.description:t}function nE(t){return typeof t=="string"?`${t}`.toLowerCase():t}var rE={toString:()=>"projection"};function WP(t,e,{type:n,domain:r,range:o,scheme:i,pivot:s,projection:a}){if(n=nE(n),t==="fx"||t==="fy")return"band";(t==="x"||t==="y")&&a!=null&&(n=rE);for(let f of e){let u=nE(f.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===rE)return;if(n!==void 0)return n;if(r===void 0&&!e.some(({value:f})=>f!==void 0))return;let c=Yt.get(t);if(c===Da)return"sqrt";if(c===Pa||c===Fa)return"linear";if(c===Ef)return"ordinal";if((r||o||[]).length>2)return t6(c);if(r!==void 0){if(te(r))return t6(c);if(re(r))return"utc"}else{let f=e.map(({value:u})=>u).filter(u=>u!==void 0);if(f.some(te))return t6(c);if(f.some(re))return"utc"}if(c===Jn){if(s!=null||C7(i))return"diverging";if(T7(i))return"categorical"}return"linear"}function t6(t){switch(t){case vr:return"point";case Jn:return Of;default:return"ordinal"}}function Ao({type:t}){return t==="ordinal"||t==="point"||t==="band"||t===Of}function r6({type:t}){return t==="threshold"}function GP({type:t}){return t==="point"||t==="band"}function tr(t){if(t===void 0)return!0;let e=t.domain(),n=t(e[0]);for(let r=1,o=e.length;r<o;++r)if(t(e[r])-n)return!1;return!0}function Sx(t,{domain:e,...n},r){for(let o of t)o.value!==void 0&&(e===void 0&&(e=o.value?.domain),o.value=r(o.value));return{domain:e===void 0?e:r(e),...n}}function VP(t){return Mt(t,Tf)}function ys(t={}){let e;for(let n in t)if(Yt.has(n)&&bo(t[n])){if(e!==void 0)throw new Error("ambiguous scale definition; multiple scales found");e=fE(Tx(n,t[n]))}if(e===void 0)throw new Error("invalid scale definition; no scale found");return e}function cE(t){return e=>{if(!Yt.has(e=`${e}`))throw new Error(`unknown scale: ${e}`);return t[e]}}function fE({scale:t,type:e,domain:n,range:r,interpolate:o,interval:i,transform:s,percent:a,pivot:c}){if(e==="identity")return{type:"identity",apply:u=>u,invert:u=>u};let f=t.unknown?t.unknown():void 0;return{type:e,domain:ls(n),...r!==void 0&&{range:ls(r)},...s!==void 0&&{transform:s},...a&&{percent:a},...f!==void 0&&{unknown:f},...i!==void 0&&{interval:i},...o!==void 0&&{interpolate:o},...t.clamp&&{clamp:t.clamp()},...c!==void 0&&{pivot:c,symmetric:!1},...t.base&&{base:t.base()},...t.exponent&&{exponent:t.exponent()},...t.constant&&{constant:t.constant()},...t.align&&{align:t.align(),round:t.round()},...t.padding&&(t.paddingInner?{paddingInner:t.paddingInner(),paddingOuter:t.paddingOuter()}:{padding:t.padding()}),...t.bandwidth&&{bandwidth:t.bandwidth(),step:t.step()},apply:u=>t(u),...t.invert&&{invert:u=>t.invert(u)}}}function lE(t,e){let{fx:n,fy:r}=oh(t,e),o=n?.scale.domain(),i=r?.scale.domain();return o&&i?Vm(o,i).map(([s,a],c)=>({x:s,y:a,i:c})):o?o.map((s,a)=>({x:s,i:a})):i?i.map((s,a)=>({y:s,i:a})):void 0}function pE(t,{x:e,y:n}){return e&&=c6(e),n&&=c6(n),t.filter(e&&n?r=>e.has(r.x)&&n.has(r.y):e?r=>e.has(r.x):r=>n.has(r.y)).sort(e&&n?(r,o)=>e.get(r.x)-e.get(o.x)||n.get(r.y)-n.get(o.y):e?(r,o)=>e.get(r.x)-e.get(o.x):(r,o)=>n.get(r.y)-n.get(o.y))}function Cx(t,{fx:e,fy:n}){let r=kn(t),o=e?.value,i=n?.value;return e&&n?kr(r,s=>(s.fx=o[s[0]],s.fy=i[s[0]],s),s=>o[s],s=>i[s]):e?kr(r,s=>(s.fx=o[s[0]],s),s=>o[s]):kr(r,s=>(s.fy=i[s[0]],s),s=>i[s])}function hE(t,e,{marginTop:n,marginLeft:r}){return t&&e?({x:o,y:i})=>`translate(${t(o)-r},${e(i)-n})`:t?({x:o})=>`translate(${t(o)-r},0)`:({y:o})=>`translate(0,${e(o)-n})`}function dE(t){let e=[],n=new Uint32Array(Ve(t,r=>r.length));for(let r of t){let o=0;for(let i of t)r!==i&&(n.set(i,o),o+=i.length);e.push(n.slice(0,o))}return e}var HP=new Map([["top",o6],["right",a6],["bottom",i6],["left",s6],["top-left",Ix(o6,s6)],["top-right",Ix(o6,a6)],["bottom-left",Ix(i6,s6)],["bottom-right",Ix(i6,a6)],["top-empty",ZP],["right-empty",tq],["bottom-empty",KP],["left-empty",JP],["empty",eq]]);function mE(t){if(t==null)return null;let e=HP.get(`${t}`.toLowerCase());if(e)return e;throw new Error(`invalid facet anchor: ${t}`)}var uE=new WeakMap;function c6(t){let e=uE.get(t);return e||uE.set(t,e=new bn(Mt(t,(n,r)=>[n,r]))),e}function xs(t,e){return c6(t).get(e)}function QP(t,e,n){return e=br(e),n=br(n),t.find(r=>Object.is(br(r.x),e)&&Object.is(br(r.y),n))}function Nx(t,e,n){return QP(t,e,n)?.empty}function o6(t,{y:e},{y:n}){return e?xs(e,n)===0:!0}function i6(t,{y:e},{y:n}){return e?xs(e,n)===e.length-1:!0}function s6(t,{x:e},{x:n}){return e?xs(e,n)===0:!0}function a6(t,{x:e},{x:n}){return e?xs(e,n)===e.length-1:!0}function ZP(t,{y:e},{x:n,y:r,empty:o}){if(o)return!1;if(!e)return;let i=xs(e,r);if(i>0)return Nx(t,n,e[i-1])}function KP(t,{y:e},{x:n,y:r,empty:o}){if(o)return!1;if(!e)return;let i=xs(e,r);if(i<e.length-1)return Nx(t,n,e[i+1])}function JP(t,{x:e},{x:n,y:r,empty:o}){if(o)return!1;if(!e)return;let i=xs(e,n);if(i>0)return Nx(t,e[i-1],r)}function tq(t,{x:e},{x:n,y:r,empty:o}){if(o)return!1;if(!e)return;let i=xs(e,n);if(i<e.length-1)return Nx(t,e[i+1],r)}function eq(t,e,{empty:n}){return n}function Ix(t,e){return function(){return t.apply(null,arguments)&&e.apply(null,arguments)}}function kx(t,{channels:{fx:e,fy:n},groups:r}){return e&&n?t.map(({x:o,y:i})=>r.get(o)?.get(i)??[]):e?t.map(({x:o})=>r.get(o)??[]):t.map(({y:o})=>r.get(o)??[])}var gE=Math.PI,Ai=2*gE,f6=.618;function yE({projection:t,inset:e=0,insetTop:n=e,insetRight:r=e,insetBottom:o=e,insetLeft:i=e}={},s){if(t==null)return;if(typeof t.stream=="function")return t;let a,c,f="frame";if(Pe(t)){let _;if({type:t,domain:c,inset:_,insetTop:n=_!==void 0?_:n,insetRight:r=_!==void 0?_:r,insetBottom:o=_!==void 0?_:o,insetLeft:i=_!==void 0?_:i,clip:f=f,...a}=t,t==null)return}typeof t!="function"&&({type:t}=u6(t));let{width:u,height:p,marginLeft:l,marginRight:h,marginTop:d,marginBottom:m}=s,g=u-l-h-i-r,y=p-d-m-n-o;if(t=t?.({width:g,height:y,clip:f,...a}),t==null)return;f=nq(f,l,d,u-h,p-m);let x=l+i,b=d+n,w;if(c!=null){let[[_,v],[A,E]]=Oe(t).bounds(c),T=Math.min(g/(A-_),y/(E-v));T>0?(x-=(T*(_+A)-g)/2,b-=(T*(v+E)-y)/2,w=ba({point(C,S){this.stream.point(C*T+x,S*T+b)}})):hn("Warning: the projection could not be fit to the specified domain; using the default scale.")}return w??=x===0&&b===0?xE():ba({point(_,v){this.stream.point(_+x,v+b)}}),{stream:_=>t.stream(w.stream(f(_)))}}function u6(t){switch(`${t}`.toLowerCase()){case"albers-usa":return Dr(zw,.7463,.4673);case"albers":return Rx(ep,.7463,.4673);case"azimuthal-equal-area":return Dr(Uw,4,4);case"azimuthal-equidistant":return Dr(Xw,Ai,Ai);case"conic-conformal":return Rx(Vw,Ai,Ai);case"conic-equal-area":return Rx(ts,6.1702,2.9781);case"conic-equidistant":return Rx(Qw,7.312,3.6282);case"equal-earth":return Dr(Kw,5.4133,2.6347);case"equirectangular":return Dr(Hw,Ai,gE);case"gnomonic":return Dr(tv,3.4641,3.4641);case"identity":return{type:xE};case"reflect-y":return{type:rq};case"mercator":return Dr(Ww,Ai,Ai);case"orthographic":return Dr(nv,2,2);case"stereographic":return Dr(ov,2,2);case"transverse-mercator":return Dr(sv,Ai,Ai);default:throw new Error(`unknown projection type: ${t}`)}}function nq(t,e,n,r,o){if(t===!1||t==null||typeof t=="number")return i=>i;switch(t===!0&&(t="frame"),`${t}`.toLowerCase()){case"frame":return Qc(e,n,r,o);default:throw new Error(`unknown projection clip type: ${t}`)}}function Dr(t,e,n){return{type:({width:r,height:o,rotate:i,precision:s=.15,clip:a})=>{let c=t();return s!=null&&c.precision?.(s),i!=null&&c.rotate?.(i),typeof a=="number"&&c.clipAngle?.(a),r!=null&&(c.scale(Math.min(r/e,o/n)),c.translate([r/2,o/2])),c},aspectRatio:n/e}}function Rx(t,e,n){let{type:r,aspectRatio:o}=Dr(t,e,n);return{type:i=>{let{parallels:s,domain:a,width:c,height:f}=i,u=r(i);return s!=null&&(u.parallels(s),a===void 0&&c!=null&&u.fitSize([c,f],{type:"Sphere"})),u},aspectRatio:o}}var xE=oe({stream:t=>t}),rq=oe(ba({point(t,e){this.stream.point(t,-e)}}));function l6(t,e,n,r){let o=n[t],i=n[e],s=o.length,a=n[t]=new Float64Array(s).fill(NaN),c=n[e]=new Float64Array(s).fill(NaN),f,u=r.stream({point(p,l){a[f]=p,c[f]=l}});for(f=0;f<s;++f)u.point(o[f],i[f])}function bE({projection:t}={}){return t==null?!1:typeof t.stream=="function"?!0:(Pe(t)&&(t=t.type),t!=null)}function wE(t){if(typeof t?.stream=="function")return f6;if(Pe(t)){let e,n;if({domain:e,type:t,...n}=t,e!=null&&t!=null){let r=typeof t=="string"?u6(t).type:t,[[o,i],[s,a]]=Oe(r({...n,width:100,height:100})).bounds(e),c=(a-i)/(s-o);return c&&isFinite(c)?c<.2?.2:c>5?5:c:f6}}if(t!=null){if(typeof t!="function"){let{aspectRatio:e}=u6(t);if(e)return e}return f6}}function Eo(t,e,{projection:n}){let{x:r,y:o}=t,i={};return r&&(i.x=r),o&&(i.y=o),i=Nf(i,e),n&&r?.scale==="x"&&o?.scale==="y"&&l6("x","y",i,n),r&&(i.x=_e(i.x)),o&&(i.y=_e(i.y)),i}function vE(t){let e=[],n=[],r={scale:"x",value:e},o={scale:"y",value:n},i={point(s,a){e.push(s),n.push(a)},lineStart(){},lineEnd(){},polygonStart(){},polygonEnd(){},sphere(){}};for(let s of t.value)Gn(s,i);return[r,o]}function bs(t={}){let{document:e=typeof window<"u"?window.document:void 0,clip:n}=t;return{document:e,clip:hx(n)}}function rt(t,{document:e}){return At(Ko(t).call(e.documentElement))}var Lx=Symbol("unset");function ws(t){return(t.length===1?oq:iq)(t)}function oq(t){let e,n=Lx;return r=>(Object.is(n,r)||(n=r,e=t(r)),e)}function iq(t){let e,n;return(...r)=>((n?.length!==r.length||n.some((o,i)=>!Object.is(o,r[i])))&&(n=r,e=t(...r)),e)}var sq=ws(t=>new Intl.NumberFormat(t)),aq=ws((t,e)=>new Intl.DateTimeFormat(t,{timeZone:"UTC",...e&&{month:e}})),cq=ws((t,e)=>new Intl.DateTimeFormat(t,{timeZone:"UTC",...e&&{weekday:e}}));function p6(t="en-US"){let e=sq(t);return n=>n!=null&&!isNaN(n)?e.format(n):void 0}function _E(t="en-US",e="short"){let n=aq(t,e);return r=>r!=null&&!isNaN(r=+new Date(Date.UTC(2e3,+r)))?n.format(r):void 0}function ME(t="en-US",e="short"){let n=cq(t,e);return r=>r!=null&&!isNaN(r=+new Date(Date.UTC(2001,0,+r)))?n.format(r):void 0}function h6(t){return ix(t,"Invalid Date")}function fq(t="en-US"){let e=p6(t);return n=>(n instanceof Date?h6:typeof n=="number"?e:pe)(n)}var To=fq();var ie=(typeof window<"u"?window.devicePixelRatio>1:typeof it>"u")?0:.5,uq=0,lq=0;function d6(){return`plot-clip-${++uq}`}function SE(){return`plot-pattern-${++lq}`}function Ox(t,{title:e,href:n,ariaLabel:r,ariaDescription:o,ariaHidden:i,target:s,fill:a,fillOpacity:c,stroke:f,strokeWidth:u,strokeOpacity:p,strokeLinejoin:l,strokeLinecap:h,strokeMiterlimit:d,strokeDasharray:m,strokeDashoffset:g,opacity:y,mixBlendMode:x,imageFilter:b,paintOrder:w,pointerEvents:_,shapeRendering:v,channels:A},{ariaLabel:E,fill:T="currentColor",fillOpacity:C,stroke:S="none",strokeOpacity:k,strokeWidth:L,strokeLinecap:M,strokeLinejoin:I,strokeMiterlimit:N,paintOrder:R}){T===null&&(a=null,c=null),S===null&&(f=null,p=null),Ft(T)?!Ft(S)&&(!Ft(a)||A?.fill)&&(S="none"):Ft(S)&&(!Ft(f)||A?.stroke)&&(T="none");let[$,O]=ne(a,T),[D,F]=Pt(c,C),[P,W]=ne(f,S),[K,tt]=Pt(p,k),[nt,U]=Pt(y);vi(W)||(u===void 0&&(u=L),h===void 0&&(h=M),l===void 0&&(l=I),d===void 0&&!JA(l)&&(d=N),!vi(O)&&w===void 0&&(w=R));let[et,z]=Pt(u);return T!==null&&(t.fill=Vt(O,"currentColor"),t.fillOpacity=ih(F,1)),S!==null&&(t.stroke=Vt(W,"none"),t.strokeWidth=ih(z,1),t.strokeOpacity=ih(tt,1),t.strokeLinejoin=Vt(l,"miter"),t.strokeLinecap=Vt(h,"butt"),t.strokeMiterlimit=ih(d,4),t.strokeDasharray=Vt(m,"none"),t.strokeDashoffset=Vt(g,"0")),t.target=pe(s),t.ariaLabel=pe(E),t.ariaDescription=pe(o),t.ariaHidden=pe(i),t.opacity=ih(U,1),t.mixBlendMode=Vt(x,"normal"),t.imageFilter=Vt(b,"none"),t.paintOrder=Vt(w,"normal"),t.pointerEvents=Vt(_,"auto"),t.shapeRendering=Vt(v,"auto"),{title:{value:e,optional:!0,filter:null},href:{value:n,optional:!0,filter:null},ariaLabel:{value:r,optional:!0,filter:null},fill:{value:$,scale:"auto",optional:!0},fillOpacity:{value:D,scale:"auto",optional:!0},stroke:{value:P,scale:"auto",optional:!0},strokeOpacity:{value:K,scale:"auto",optional:!0},strokeWidth:{value:et,optional:!0},opacity:{value:nt,scale:"auto",optional:!0}}}function pq(t,e){e&&t.filter(n=>Up(e[n])).append("title").call(dq,e)}function hq(t,e){e&&t.filter(([n])=>Up(e[n])).append("title").call(mq,e)}function dq(t,e){e&&t.text(n=>To(e[n]))}function mq(t,e){e&&t.text(([n])=>To(e[n]))}function _t(t,{target:e,tip:n},{ariaLabel:r,title:o,fill:i,fillOpacity:s,stroke:a,strokeOpacity:c,strokeWidth:f,opacity:u,href:p}){r&&ot(t,"aria-label",l=>r[l]),i&&ot(t,"fill",l=>i[l]),s&&ot(t,"fill-opacity",l=>s[l]),a&&ot(t,"stroke",l=>a[l]),c&&ot(t,"stroke-opacity",l=>c[l]),f&&ot(t,"stroke-width",l=>f[l]),u&&ot(t,"opacity",l=>u[l]),p&&EE(t,l=>p[l],e),n||pq(t,o)}function qa(t,{target:e,tip:n},{ariaLabel:r,title:o,fill:i,fillOpacity:s,stroke:a,strokeOpacity:c,strokeWidth:f,opacity:u,href:p}){r&&ot(t,"aria-label",([l])=>r[l]),i&&ot(t,"fill",([l])=>i[l]),s&&ot(t,"fill-opacity",([l])=>s[l]),a&&ot(t,"stroke",([l])=>a[l]),c&&ot(t,"stroke-opacity",([l])=>c[l]),f&&ot(t,"stroke-width",([l])=>f[l]),u&&ot(t,"opacity",([l])=>u[l]),p&&EE(t,([l])=>p[l],e),n||hq(t,o)}function gq({ariaLabel:t,title:e,fill:n,fillOpacity:r,stroke:o,strokeOpacity:i,strokeWidth:s,opacity:a,href:c},{tip:f}){return[t,f?void 0:e,n,r,o,i,s,a,c].filter(u=>u!==void 0)}function sh(t,e,n){let r=We(t,o=>e[o]);return n===void 0&&r.size>1+t.length>>1&&hn("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*$x(t,e,n,r){let{z:o}=n,{z:i}=r,s=gq(r,n),a=[...e,...s];for(let c of i?sh(t,i,o):[t]){let f,u;t:for(let p of c){for(let l of a)if(!Jt(l[p])){u&&u.push(-1);continue t}if(f===void 0){u&&(yield u),f=s.map(l=>br(l[p])),u=[p];continue}u.push(p);for(let l=0;l<s.length;++l)if(br(s[l][p])!==f[l]){yield u,f=s.map(d=>br(d[p])),u=[p];continue t}}u&&(yield u)}}function yq(t,e,n,r){let o,{clip:i=r.clip}=e;switch(i){case"frame":{t=rt("svg:g",r).each(function(){this.appendChild(t.node()),t.node=()=>this}),o=xq(r,n);break}case"sphere":{o=bq(r);break}}ot(t,"aria-label",e.ariaLabel),ot(t,"aria-description",e.ariaDescription),ot(t,"aria-hidden",e.ariaHidden),ot(t,"clip-path",o)}function AE(t){let e=new WeakMap;return(n,r)=>{let o=e.get(n);if(!o){let i=d6();At(n.ownerSVGElement).append("clipPath").attr("id",i).call(t,n,r),e.set(n,o=`url(#${i})`)}return o}}var xq=AE((t,e,n)=>{let{width:r,height:o,marginLeft:i,marginRight:s,marginTop:a,marginBottom:c}=n;t.append("rect").attr("x",i).attr("y",a).attr("width",r-s-i).attr("height",o-a-c)}),bq=AE((t,e)=>{let{projection:n}=e;if(!n)throw new Error('the "sphere" clip option requires a projection');t.append("path").attr("d",Oe(n)({type:"Sphere"}))});function gt(t,e,n,r){yq(t,e,n,r),ot(t,"class",e.className),ot(t,"fill",e.fill),ot(t,"fill-opacity",e.fillOpacity),ot(t,"stroke",e.stroke),ot(t,"stroke-width",e.strokeWidth),ot(t,"stroke-opacity",e.strokeOpacity),ot(t,"stroke-linejoin",e.strokeLinejoin),ot(t,"stroke-linecap",e.strokeLinecap),ot(t,"stroke-miterlimit",e.strokeMiterlimit),ot(t,"stroke-dasharray",e.strokeDasharray),ot(t,"stroke-dashoffset",e.strokeDashoffset),ot(t,"shape-rendering",e.shapeRendering),ot(t,"filter",e.imageFilter),ot(t,"paint-order",e.paintOrder);let{pointerEvents:o=r.pointerSticky===!1?"none":void 0}=e;ot(t,"pointer-events",o)}function lt(t,e){wq(t,"mix-blend-mode",e.mixBlendMode),ot(t,"opacity",e.opacity)}function EE(t,e,n){t.each(function(r){let o=e(r);if(o!=null){let i=this.ownerDocument.createElementNS(_n.svg,"a");i.setAttribute("fill","inherit"),i.setAttributeNS(_n.xlink,"href",o),n!=null&&i.setAttribute("target",n),this.parentNode.insertBefore(i,this).appendChild(this)}})}function ot(t,e,n){n!=null&&t.attr(e,n)}function wq(t,e,n){n!=null&&t.style(e,n)}function ht(t,e,{x:n,y:r},o=ie,i=ie){o+=e.dx,i+=e.dy,n?.bandwidth&&(o+=n.bandwidth()/2),r?.bandwidth&&(i+=r.bandwidth()/2),(o||i)&&t.attr("transform",`translate(${o},${i})`)}function Vt(t,e){if((t=pe(t))!==e)return t}function ih(t,e){if((t=Rt(t))!==e)return t}var vq=/^-?([_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 vs(t){if(t===void 0)return"plot-d6a7b5";if(t=`${t}`,!vq.test(t))throw new Error(`invalid class name: ${t}`);return t}function Df(t,e){if(typeof e=="string")t.property("style",e);else if(e!=null)for(let n of t)Object.assign(n.style,e)}function ze({frameAnchor:t},{width:e,height:n,marginTop:r,marginRight:o,marginBottom:i,marginLeft:s}){return[/left$/.test(t)?s:/right$/.test(t)?e-o:(s+e-o)/2,/^top/.test(t)?r:/^bottom/.test(t)?n-i:(r+n-i)/2]}var ft=class{constructor(e,n={},r={},o){let{facet:i="auto",facetAnchor:s,fx:a,fy:c,sort:f,dx:u=0,dy:p=0,margin:l=0,marginTop:h=l,marginRight:d=l,marginBottom:m=l,marginLeft:g=l,className:y,clip:x=o?.clip,channels:b,tip:w,render:_}=r;if(this.data=e,this.sort=wo(f)?f:null,this.initializer=Gt(r).initializer,this.transform=this.initializer?r.transform:Me(r).transform,i===null||i===!1?this.facet=null:(this.facet=Ie(i===!0?"include":i,"facet",["auto","include","exclude","super"]),this.fx=e===fs&&typeof a=="string"?[a]:a,this.fy=e===fs&&typeof c=="string"?[c]:c),this.facetAnchor=mE(s),n=Qp(n),b!==void 0&&(n={..._q(b),...n}),o!==void 0&&(n={...Ox(this,r,o),...n}),this.channels=Object.fromEntries(Object.entries(n).map(([v,A])=>{if(Kn(A.value)){let{value:E,label:T=A.label,scale:C=A.scale}=A.value;A={...A,label:T,scale:C,value:E}}if(e===fs&&typeof A.value=="string"){let{value:E}=A;A={...A,value:[E]}}return[v,A]}).filter(([v,{value:A,optional:E}])=>{if(A!=null)return!0;if(E)return!1;throw new Error(`missing channel value: ${v}`)})),this.dx=+u,this.dy=+p,this.marginTop=+h,this.marginRight=+d,this.marginBottom=+m,this.marginLeft=+g,this.clip=hx(x),this.tip=Mq(w),this.className=y?vs(y):null,this.facet==="super"){if(a||c)throw new Error("super-faceting cannot use fx or fy");for(let v in this.channels){let{scale:A}=n[v];if(!(A!=="x"&&A!=="y"))throw new Error("super-faceting cannot use x or y")}}_!=null&&(this.render=Ei(_,this.render))}initialize(e,n,r){let o=yi(this.data);e===void 0&&o!=null&&(e=[kn(o)]);let i=e;this.transform!=null&&({facets:e,data:o}=this.transform(o,e,r),o=yi(o)),e!==void 0&&(e.original=i);let s=vx(this.channels,o);return this.sort!=null&&b7(o,e,s,n,this.sort),{data:o,facets:e,channels:s}}filter(e,n,r){for(let o in n){let{filter:i=Jt}=n[o];if(i!==null){let s=r[o];e=e.filter(a=>i(s[a]))}}return e}project(e,n,r){for(let o in e)if(e[o].scale==="x"&&/^x|x$/.test(o)){let i=o.replace(/^x|x$/,"y");i in e&&e[i].scale==="y"&&l6(o,i,n,r.projection)}}scale(e,n,r){let o=Nf(e,n);return r.projection&&this.project(e,o,r),o}};function Se(...t){return t.plot=ft.prototype.plot,t}function Ei(t,e){if(t==null)return e===null?void 0:e;if(e==null)return t===null?void 0:t;if(typeof t!="function")throw new TypeError(`invalid render transform: ${t}`);if(typeof e!="function")throw new TypeError(`invalid render transform: ${e}`);return function(n,r,o,i,s,a){return t.call(this,n,r,o,i,s,(c,f,u,p,l)=>e.call(this,c,f,u,p,l,a))}}function _q(t){return Object.fromEntries(Object.entries(Qp(t)).map(([e,n])=>(n=typeof n=="string"?{value:n,label:e}:wr(n),n.filter===void 0&&n.scale==null&&(n={...n,filter:null}),[e,n])))}function Mq(t){return t===!0?"xy":t===!1||t==null?null:typeof t=="string"?Ie(t,"tip",["x","y","xy"]):t}function Fr(t,e){return t?.tip===!0?{...t,tip:e}:Pe(t?.tip)&&t.tip.pointer===void 0?{...t,tip:{...t.tip,pointer:e}}:t}function IE(t,e,n={}){let r=.5-ie,o=.5+ie,i=.5+ie,s=.5-ie;for(let{marginTop:m,marginRight:g,marginBottom:y,marginLeft:x}of e)m>r&&(r=m),g>o&&(o=g),y>i&&(i=y),x>s&&(s=x);let{margin:a,marginTop:c=a!==void 0?a:r,marginRight:f=a!==void 0?a:o,marginBottom:u=a!==void 0?a:i,marginLeft:p=a!==void 0?a:s}=n;c=+c,f=+f,u=+u,p=+p;let{width:l=640,height:h=Sq(t,n,{width:l,marginTopDefault:r,marginRightDefault:o,marginBottomDefault:i,marginLeftDefault:s})+Math.max(0,c-r+u-i)}=n;l=+l,h=+h;let d={width:l,height:h,marginTop:c,marginRight:f,marginBottom:u,marginLeft:p};if(t.fx||t.fy){let{margin:m,marginTop:g=m!==void 0?m:c,marginRight:y=m!==void 0?m:f,marginBottom:x=m!==void 0?m:u,marginLeft:b=m!==void 0?m:p}=n.facet??{};g=+g,y=+y,x=+x,b=+b,d.facet={marginTop:g,marginRight:y,marginBottom:x,marginLeft:b}}return d}function Sq({x:t,y:e,fy:n,fx:r},{projection:o,aspectRatio:i},{width:s,marginTopDefault:a,marginRightDefault:c,marginBottomDefault:f,marginLeftDefault:u}){let p=n&&n.scale.domain().length||1,l=wE(o);if(l){let d=r?r.scale.domain().length:1,m=(1.1*p-.1)/(1.1*d-.1)*l,g=Math.max(.1,Math.min(10,m));return Math.round((s-u-c)*g+a+f)}let h=e?Ao(e)?e.scale.domain().length||1:Math.max(7,17/p):1;if(i!=null){if(i=+i,!(isFinite(i)&&i>0))throw new Error(`invalid aspectRatio: ${i}`);let d=TE("y",e)/(TE("x",t)*i),m=r?r.scale.bandwidth():1,g=n?n.scale.bandwidth():1,y=m*(s-u-c)-t.insetLeft-t.insetRight;return(d*y+e.insetTop+e.insetBottom)/g+a+f}return!!(e||n)*Math.max(1,Math.min(60,h*p))*20+!!r*30+60}function TE(t,e){if(!e)throw new Error(`aspectRatio requires ${t} scale`);let{type:n,domain:r}=e,o;switch(n){case"linear":case"utc":case"time":o=Number;break;case"pow":{let a=e.scale.exponent();o=c=>Math.pow(c,a);break}case"log":o=Math.log;break;case"point":case"band":return r.length;default:throw new Error(`unsupported ${t} scale for aspectRatio: ${n}`)}let[i,s]=Ot(r);return Math.abs(o(s)-o(i))}var CE=new WeakMap;function m6(t,e,{x:n,y:r,px:o,py:i,maxRadius:s=40,channels:a,render:c,...f}={}){return s=+s,o!=null&&(n??=null,a={...a,px:{value:o,scale:"x"}}),i!=null&&(r??=null,a={...a,py:{value:i,scale:"y"}}),{x:n,y:r,channels:a,...f,render:Ei(function(u,p,l,h,d,m){d={...d,pointerSticky:!1};let g=d.ownerSVGElement,{data:y}=d.getMarkState(this),x=CE.get(g);x||CE.set(g,x={sticky:!1,roots:[],renders:[]});let b=x.renders.push(W)-1,{x:w,y:_,fx:v,fy:A}=p,E=v?v(u.fx)-h.marginLeft:0,T=A?A(u.fy)-h.marginTop:0;w?.bandwidth&&(E+=w.bandwidth()/2),_?.bandwidth&&(T+=_.bandwidth()/2);let C=u.fi!=null,S;if(C){let U=x.facetStates;U||(x.facetStates=U=new Map),S=U.get(this),S||U.set(this,S=new Map)}let[k,L]=ze(this,h),{px:M,py:I}=l,N=M?U=>M[U]:g6(l,k),R=I?U=>I[U]:y6(l,L),$,O,D,F;function P(U,et){if(C)if(F&&(F=cancelAnimationFrame(F)),U==null)S.delete(u.fi);else{S.set(u.fi,et),F=requestAnimationFrame(()=>{F=null;for(let[z,G]of S)if(G<et||G===et&&z<u.fi){U=null;break}W(U)});return}W(U)}function W(U){if($===U&&D===x.sticky)return;$=U,D=d.pointerSticky=x.sticky;let et=$==null?[]:[$];C&&(et.fx=u.fx,et.fy=u.fy,et.fi=u.fi);let z=m(et,p,l,h,d);if(O){if(C){let G=O.parentNode,J=O.getAttribute("transform"),q=z.getAttribute("transform");J?z.setAttribute("transform",J):z.removeAttribute("transform"),q?G.setAttribute("transform",q):G.removeAttribute("transform"),z.removeAttribute("aria-label"),z.removeAttribute("aria-description"),z.removeAttribute("aria-hidden")}O.replaceWith(z)}if(x.roots[b]=O=z,!($==null&&S?.size>1)){let G=$==null?null:Pn(y)?y[$]:y.get($);d.dispatchValue(G)}return z}function K(U){if(x.sticky||U.pointerType==="mouse"&&U.buttons===1)return;let[et,z]=on(U);et-=E,z-=T;let G=et<h.marginLeft||et>h.width-h.marginRight?1:t,J=z<h.marginTop||z>h.height-h.marginBottom?1:e,q=null,bt=s*s;for(let st of u){let Et=G*(N(st)-et),Ct=J*(R(st)-z),Q=Et*Et+Ct*Ct;Q<=bt&&(q=st,bt=Q)}if(q!=null&&(t!==1||e!==1)){let st=N(q)-et,Et=R(q)-z;bt=st*st+Et*Et}P(q,bt)}function tt(U){U.pointerType==="mouse"&&$!=null&&(x.sticky&&x.roots.some(et=>et?.contains(U.target))||(x.sticky?(x.sticky=!1,x.renders.forEach(et=>et(null))):(x.sticky=!0,W($)),U.stopImmediatePropagation()))}function nt(U){U.pointerType==="mouse"&&(x.sticky||P(null))}return g.addEventListener("pointerenter",K),g.addEventListener("pointermove",K),g.addEventListener("pointerdown",tt),g.addEventListener("pointerleave",nt),W(null)},c)}}function _s(t){return m6(1,1,t)}function Ms(t){return m6(1,.01,t)}function Ti(t){return m6(.01,1,t)}function g6({x1:t,x2:e,x:n=t},r){return t&&e?o=>(t[o]+e[o])/2:n?o=>n[o]:()=>r}function y6({y1:t,y2:e,y:n=t},r){return t&&e?o=>(t[o]+e[o])/2:n?o=>n[o]:()=>r}function Dx(t){return Ao(t)&&t.interval===void 0?void 0:"tabular-nums"}function NE(t,e){let{label:n=t.label,tickSize:r=6,width:o=240,height:i=44+r,marginTop:s=18,marginRight:a=0,marginBottom:c=16+r,marginLeft:f=0,style:u,ticks:p=(o-f-a)/64,tickFormat:l,fontVariant:h=Dx(t),round:d=!0,opacity:m,className:g}=e,y=bs(e);g=vs(g),m=Pt(m)[1],l===null&&(l=()=>null);let x=rt("svg",y).attr("class",`${g}-ramp`).attr("font-family","system-ui, sans-serif").attr("font-size",10).attr("width",o).attr("height",i).attr("viewBox",`0 0 ${o} ${i}`).call(k=>k.append("style").text(`:where(.${g}-ramp) {
8
8
  display: block;
9
9
  height: auto;
10
10
  height: intrinsic;
@@ -13,41 +13,41 @@ ${n}`}function MD(t){return t==="time"?xg:t==="utc"?Iu:vD}function N8(t,e,n){let
13
13
  }
14
14
  :where(.${g}-ramp text) {
15
15
  white-space: pre;
16
- }`)).call(zc,l),w=k=>k.selectAll(".tick line").attr("y1",s+c-i),b,_=d?(k,O)=>k.rangeRound(O):(k,O)=>k.range(O),{type:v,domain:A,range:T,interpolate:E,scale:$,pivot:S}=t;if(E){let k=T===void 0?E:$r(E.length===1?Bu(E):E,T);b=_($.copy(),Ge(Gt(f,o-a),Math.min(A.length+(S!==void 0),T===void 0?1/0:T.length)));let O=256,M=y.document.createElement("canvas");M.width=O,M.height=1;let I=M.getContext("2d");for(let C=0,N=O-1;C<O;++C)I.fillStyle=k(C/N),I.fillRect(C,0,1,1);x.append("image").attr("opacity",m).attr("x",f).attr("y",s).attr("width",o-f-a).attr("height",i-s-c).attr("preserveAspectRatio","none").attr("xlink:href",M.toDataURL())}else if(v==="threshold"){let k=A,O=p===void 0?M=>M:typeof p=="string"?Hn(p):p;b=_(Co().domain([-1,T.length-1]),[f,o-a]),x.append("g").attr("fill-opacity",m).selectAll().data(T).enter().append("rect").attr("x",(M,I)=>b(I-1)).attr("y",s).attr("width",(M,I)=>b(I)-b(I-1)).attr("height",i-s-c).attr("fill",M=>M),u=Mt(k,(M,I)=>I),p=M=>O(k[M],M)}else b=_(Ei().domain(A),[f,o-a]),x.append("g").attr("fill-opacity",m).selectAll().data(A).enter().append("rect").attr("x",b).attr("y",s).attr("width",Math.max(0,b.bandwidth()-1)).attr("height",i-s-c).attr("fill",$),w=()=>{};return x.append("g").attr("transform",`translate(0,${i-c})`).call(mx(b).ticks(Array.isArray(u)?null:u,typeof p=="string"?p:void 0).tickFormat(typeof p=="function"?p:void 0).tickSize(r).tickValues(Array.isArray(u)?u:null)).attr("font-size",null).attr("font-family",null).attr("font-variant",Xt(h,"normal")).call(w).call(k=>k.select(".domain").remove()),n!==void 0&&x.append("text").attr("x",f).attr("y",s-6).attr("fill","currentColor").attr("font-weight","bold").text(n),x.node()}var Yc=Math.PI/180;function yr(t,{marker:e,markerStart:n=e,markerMid:r=e,markerEnd:o=e}={}){t.markerStart=uv(n),t.markerMid=uv(r),t.markerEnd=uv(o)}function uv(t){if(t==null||t===!1)return null;if(t===!0)return S7;if(typeof t=="function")return t;switch(`${t}`.toLowerCase()){case"none":return null;case"arrow":return M7("auto");case"arrow-reverse":return M7("auto-start-reverse");case"dot":return UF;case"circle":case"circle-fill":return S7;case"circle-stroke":return jF;case"tick":return pv("auto");case"tick-x":return pv(90);case"tick-y":return pv(0)}throw new Error(`invalid marker: ${t}`)}function M7(t){return(e,n)=>ot("svg:marker",n).attr("viewBox","-5 -5 10 10").attr("markerWidth",6.67).attr("markerHeight",6.67).attr("orient",t).attr("fill","none").attr("stroke",e).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 UF(t,e){return ot("svg:marker",e).attr("viewBox","-5 -5 10 10").attr("markerWidth",6.67).attr("markerHeight",6.67).attr("fill",t).attr("stroke","none").call(n=>n.append("circle").attr("r",2.5)).node()}function S7(t,e){return ot("svg:marker",e).attr("viewBox","-5 -5 10 10").attr("markerWidth",6.67).attr("markerHeight",6.67).attr("fill",t).attr("stroke","var(--plot-background)").attr("stroke-width",1.5).call(n=>n.append("circle").attr("r",3)).node()}function jF(t,e){return ot("svg:marker",e).attr("viewBox","-5 -5 10 10").attr("markerWidth",6.67).attr("markerHeight",6.67).attr("fill","var(--plot-background)").attr("stroke",t).attr("stroke-width",1.5).call(n=>n.append("circle").attr("r",3)).node()}function pv(t){return(e,n)=>ot("svg:marker",n).attr("viewBox","-3 -3 6 6").attr("markerWidth",6).attr("markerHeight",6).attr("orient",t).attr("stroke",e).call(r=>r.append("path").attr("d","M0,-3v6")).node()}var XF=0;function Ko(t,e,{stroke:n},r){return T7(t,e,n&&(o=>n[o]),null,r)}function A7(t,e,{stroke:n,z:r},o){return T7(t,e,n&&(([i])=>n[i]),r,o)}var hv=1,E7=2;function GF(t,e){let n=new Uint8Array(e.length),r=t.data().filter(i=>i.length>1),o=r.length;for(let i=0,s=Xg;i<o;++i){let a=r[i];if(a.length>1){let c=a[0];s!==(s=er(e[c]))&&(n[c]|=hv)}}for(let i=o-1,s=Xg;i>=0;--i){let a=r[i];if(a.length>1){let c=a[0];s!==(s=er(e[c]))&&(n[c]|=E7)}}return([i])=>n[i]}function T7(t,{markerStart:e,markerMid:n,markerEnd:r,stroke:o},i=()=>o,s,a){if(!e&&!n&&!r)return;let c=new Map,f=s&&GF(t,s);function l(u,p,h){return function(d){if(h&&!h(d))return;let m=i(d),g=c.get(p);g||c.set(p,g=new Map);let y=g.get(m);if(!y){let x=this.parentNode.insertBefore(p(m,a),this),w=`plot-marker-${++XF}`;x.setAttribute("id",w),g.set(m,y=`url(#${w})`)}this.setAttribute(u,y)}}e&&t.each(l("marker-start",e,f&&(u=>f(u)&hv))),n&&f&&t.each(l("marker-start",n,u=>!(f(u)&hv))),n&&t.each(l("marker-mid",n)),r&&t.each(l("marker-end",r,f&&(u=>f(u)&E7)))}function ra({inset:t,insetLeft:e,insetRight:n,...r}={}){return[e,n]=I7(t,e,n),{inset:t,insetLeft:e,insetRight:n,...r}}function oa({inset:t,insetTop:e,insetBottom:n,...r}={}){return[e,n]=I7(t,e,n),{inset:t,insetTop:e,insetBottom:n,...r}}function I7(t,e,n){return t===void 0&&e===void 0&&n===void 0?ee?[1,0]:[.5,.5]:[e,n]}function $7(t,{interval:e}){return t={...nr(t)},t.interval=Cc(t.interval===void 0?e:t.interval),t}function Hg(t,e,n,r){let{[t]:o,[`${t}1`]:i,[`${t}2`]:s}=n,{value:a,interval:c}=$7(o,n);if(a==null||c==null&&!r)return n;let f=Ye(o);if(c==null){let h,d={transform:m=>h||(h=ft(m,a)),label:f};return{...n,[t]:void 0,[`${t}1`]:i===void 0?d:i,[`${t}2`]:s===void 0&&!(i===s&&r)?d:s}}let l,u;function p(h){return u!==void 0&&h===l?u:u=Mt(ft(l=h,a),d=>c.floor(d))}return e({...n,[t]:void 0,[`${t}1`]:i===void 0?{transform:p,label:f}:i,[`${t}2`]:s===void 0?{transform:h=>p(h).map(d=>c.offset(d)),label:f}:s})}function C7(t,e,n){let{[t]:r}=n,{value:o,interval:i}=$7(r,n);return o==null||i==null?n:e({...n,[t]:{label:Ye(r),transform:s=>{let a=Mt(ft(s,o),f=>i.floor(f)),c=a.map(f=>i.offset(f));return a.map(Jt(a)?(f,l)=>f==null||isNaN(f=+f)||(l=c[l],l==null)||isNaN(l=+l)?void 0:new Date((f+l)/2):(f,l)=>f==null||(l=c[l],l==null)?NaN:(+f+ +l)/2)}}})}function dv(t={}){return Hg("x",ra,t,!0)}function mv(t={}){return Hg("y",oa,t,!0)}function Uc(t={}){return Hg("x",ra,t)}function jc(t={}){return Hg("y",oa,t)}function Qg(t={}){return C7("x",ra,t)}function Zg(t={}){return C7("y",oa,t)}var k7={ariaLabel:"rule",fill:null,stroke:"currentColor"},ju=class extends lt{constructor(e,n={}){let{x:r,y1:o,y2:i,inset:s=0,insetTop:a=s,insetBottom:c=s}=n;super(e,{x:{value:r,scale:"x",optional:!0},y1:{value:o,scale:"y",optional:!0},y2:{value:i,scale:"y",optional:!0}},gr(n,"x"),k7),this.insetTop=Ct(a),this.insetBottom=Ct(c),yr(this,n)}render(e,n,r,o,i){let{x:s,y:a}=n,{x:c,y1:f,y2:l}=r,{width:u,height:p,marginTop:h,marginRight:d,marginLeft:m,marginBottom:g}=o,{insetTop:y,insetBottom:x}=this;return ot("svg:g",i).call(mt,this,o,i).call(pt,this,{x:c&&s},ee,0).call(w=>w.selectAll().data(e).enter().append("line").call(ut,this).attr("x1",c?b=>c[b]:(m+u-d)/2).attr("x2",c?b=>c[b]:(m+u-d)/2).attr("y1",f&&!Dn(a)?b=>f[b]+y:h+y).attr("y2",l&&!Dn(a)?a.bandwidth?b=>l[b]+a.bandwidth()-x:b=>l[b]-x:p-g-x).call(vt,this,r).call(Ko,this,r,i)).node()}},Xu=class extends lt{constructor(e,n={}){let{x1:r,x2:o,y:i,inset:s=0,insetRight:a=s,insetLeft:c=s}=n;super(e,{y:{value:i,scale:"y",optional:!0},x1:{value:r,scale:"x",optional:!0},x2:{value:o,scale:"x",optional:!0}},gr(n,"y"),k7),this.insetRight=Ct(a),this.insetLeft=Ct(c),yr(this,n)}render(e,n,r,o,i){let{x:s,y:a}=n,{y:c,x1:f,x2:l}=r,{width:u,height:p,marginTop:h,marginRight:d,marginLeft:m,marginBottom:g}=o,{insetLeft:y,insetRight:x}=this;return ot("svg:g",i).call(mt,this,o,i).call(pt,this,{y:c&&a},0,ee).call(w=>w.selectAll().data(e).enter().append("line").call(ut,this).attr("x1",f&&!Dn(s)?b=>f[b]+y:m+y).attr("x2",l&&!Dn(s)?s.bandwidth?b=>l[b]+s.bandwidth()-x:b=>l[b]-x:u-d-x).attr("y1",c?b=>c[b]:(h+p-g)/2).attr("y2",c?b=>c[b]:(h+p-g)/2).call(vt,this,r).call(Ko,this,r,i)).node()}};function Fn(t,e){let{x:n=G,y:r,y1:o,y2:i,...s}=jc(e);return[o,i]=N7(r,o,i),new ju(t,{...s,x:n,y1:o,y2:i})}function Pn(t,e){let{y:n=G,x:r,x1:o,x2:i,...s}=Uc(e);return[o,i]=N7(r,o,i),new Xu(t,{...s,y:n,x1:o,x2:i})}function N7(t,e,n){if(t==null){if(e===void 0){if(n!==void 0)return[0,n]}else if(n===void 0)return[0,e]}else{if(e===void 0)return n===void 0?[0,t]:[t,n];if(n===void 0)return[t,e]}return[e,n]}function xr(t,...e){let n=e.length;for(let r=0,o=!0;r<n;++r)typeof e[r]!="function"&&(o&&(t=t.slice(),o=!1),t.splice(r,2,t[r]+e[r]+t[r+1]),e.splice(r,1),--r,--n);return r=>{let o=t[0];for(let i=0;i<n;++i)o+=e[i](r)+t[i+1];return o}}var VF={ariaLabel:"text",strokeLinejoin:"round",strokeWidth:3,paintOrder:"stroke"},F7="\xAD",sa=class extends lt{constructor(e,n={}){let{x:r,y:o,text:i=gn(e)&&_g(e)?G:Yt,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:f=1,lineWidth:l=1/0,textOverflow:u,monospace:p,fontFamily:h=p?"ui-monospace, monospace":void 0,fontSize:d,fontStyle:m,fontVariant:g,fontWeight:y,rotate:x}=n,[w,b]=Lt(x,0),[_,v]=ZF(d);if(super(e,{x:{value:r,scale:"x",optional:!0},y:{value:o,scale:"y",optional:!0},fontSize:{value:_,optional:!0},rotate:{value:B8(w),optional:!0},text:{value:i,filter:Eu,optional:!0}},n,VF),this.rotate=b,this.textAnchor=Xt(a,"middle"),this.lineAnchor=be(c,"lineAnchor",["top","middle","bottom"]),this.lineHeight=+f,this.lineWidth=+l,this.textOverflow=yv(u),this.monospace=!!p,this.fontFamily=se(h),this.fontSize=v,this.fontStyle=se(m),this.fontVariant=se(g),this.fontWeight=se(y),this.frameAnchor=Wr(s),!(this.lineWidth>=0))throw new Error(`invalid lineWidth: ${l}`);this.splitLines=bv(this),this.clipLine=wv(this)}render(e,n,r,o,i){let{x:s,y:a}=n,{x:c,y:f,rotate:l,text:u,title:p,fontSize:h}=r,{rotate:d}=this,[m,g]=ke(this,o);return ot("svg:g",i).call(mt,this,o,i).call(xv,this,u,o).call(pt,this,{x:c&&s,y:f&&a}).call(y=>y.selectAll().data(e).enter().append("text").call(ut,this).call(WF,this,u,p).attr("transform",xr`translate(${c?x=>c[x]:m},${f?x=>f[x]:g})${l?x=>` rotate(${l[x]})`:d?` rotate(${d})`:""}`).call(st,"font-size",h&&(x=>h[x])).call(vt,this,r)).node()}};function yv(t){return t==null?null:be(t,"textOverflow",["clip","ellipsis","clip-start","clip-end","ellipsis-start","ellipsis-middle","ellipsis-end"]).replace(/^(clip|ellipsis)$/,"$1-end")}function WF(t,e,n,r){if(!n)return;let{lineAnchor:o,lineHeight:i,textOverflow:s,splitLines:a,clipLine:c}=e;t.each(function(f){let l=a(Jr(n[f])??"").map(c),u=l.length,p=o==="top"?.71:o==="bottom"?1-u:(164-u*100)/200;if(u>1){let h=0;for(let d=0;d<u;++d){if(++h,!l[d])continue;let m=this.ownerDocument.createElementNS(sn.svg,"tspan");m.setAttribute("x",0),d===h-1?m.setAttribute("y",`${(p+d)*i}em`):m.setAttribute("dy",`${h*i}em`),m.textContent=l[d],this.appendChild(m),h=0}}else p&&this.setAttribute("y",`${p*i}em`),this.textContent=l[0];if(s&&!r&&l[0]!==n[f]){let h=this.ownerDocument.createElementNS(sn.svg,"title");h.textContent=n[f],this.appendChild(h)}})}function to(t,{x:e,y:n,...r}={}){return r.frameAnchor===void 0&&([e,n]=oe(e,n)),new sa(t,{...r,x:e,y:n})}function Kg(t,{x:e=G,...n}={}){return new sa(t,Zg({...n,x:e}))}function Jg(t,{y:e=G,...n}={}){return new sa(t,Qg({...n,y:e}))}function xv(t,e,n){st(t,"text-anchor",e.textAnchor),st(t,"font-family",e.fontFamily),st(t,"font-size",e.fontSize),st(t,"font-style",e.fontStyle),st(t,"font-variant",e.fontVariant===void 0?HF(n):e.fontVariant),st(t,"font-weight",e.fontWeight)}function HF(t){return t&&(jo(t)||Jt(t))?"tabular-nums":void 0}var QF=new Set(["inherit","initial","revert","unset","xx-small","x-small","small","medium","large","x-large","xx-large","xxx-large","larger","smaller"]);function ZF(t){return t==null||typeof t=="number"?[void 0,t]:typeof t!="string"?[t,void 0]:(t=t.trim().toLowerCase(),QF.has(t)||/^[+-]?\d*\.?\d+(e[+-]?\d+)?(\w*|%)$/.test(t)?[void 0,t]:[t,void 0])}function KF(t,e,n){let r=[],o,i=0;for(let[s,a,c]of JF(t)){if(o===void 0&&(o=s),i>o&&n(t,o,a)>e&&(r.push(t.slice(o,i)+(t[i-1]===F7?"-":"")),o=s),c){r.push(t.slice(o,a)),o=void 0;continue}i=a}return r}function*JF(t){let e=0,n=0,r=t.length;for(;n<r;){let o=1;switch(t[n]){case F7:case"-":++n,yield[e,n,!1],e=n;break;case" ":for(yield[e,n,!1];t[++n]===" ";);e=n;break;case"\r":t[n+1]===`
16
+ }`)).call(Df,u),b=k=>k.selectAll(".tick line").attr("y1",s+c-i),w,_=d?(k,L)=>k.rangeRound(L):(k,L)=>k.range(L),{type:v,domain:A,range:E,interpolate:T,scale:C,pivot:S}=t;if(T){let k=E===void 0?T:no(T.length===1?rh(T):T,E);w=_(C.copy(),sn(Qt(f,o-a),Math.min(A.length+(S!==void 0),E===void 0?1/0:E.length)));let L=256,M=y.document.createElement("canvas");M.width=L,M.height=1;let I=M.getContext("2d");for(let N=0,R=L-1;N<L;++N)I.fillStyle=k(N/R),I.fillRect(N,0,1,1);x.append("image").attr("opacity",m).attr("x",f).attr("y",s).attr("width",o-f-a).attr("height",i-s-c).attr("preserveAspectRatio","none").attr("xlink:href",M.toDataURL())}else if(v==="threshold"){let k=A,L=l===void 0?M=>M:typeof l=="string"?hr(l):l;w=_(si().domain([-1,E.length-1]),[f,o-a]),x.append("g").attr("fill-opacity",m).selectAll().data(E).enter().append("rect").attr("x",(M,I)=>w(I-1)).attr("y",s).attr("width",(M,I)=>w(I)-w(I-1)).attr("height",i-s-c).attr("fill",M=>M),p=Mt(k,(M,I)=>I),l=M=>L(k[M],M)}else w=_(ns().domain(A),[f,o-a]),x.append("g").attr("fill-opacity",m).selectAll().data(A).enter().append("rect").attr("x",w).attr("y",s).attr("width",Math.max(0,w.bandwidth()-1)).attr("height",i-s-c).attr("fill",C),b=()=>{};return x.append("g").attr("transform",`translate(0,${i-c})`).call(_2(w).ticks(Array.isArray(p)?null:p,typeof l=="string"?l:void 0).tickFormat(typeof l=="function"?l:void 0).tickSize(r).tickValues(Array.isArray(p)?p:null)).attr("font-size",null).attr("font-family",null).attr("font-variant",Vt(h,"normal")).call(b).call(k=>k.select(".domain").remove()),n!==void 0&&x.append("text").attr("x",f).attr("y",s-6).attr("fill","currentColor").attr("font-weight","bold").text(n),x.node()}var Ff=Math.PI/180;function Pr(t,{marker:e,markerStart:n=e,markerMid:r=e,markerEnd:o=e}={}){t.markerStart=x6(n),t.markerMid=x6(r),t.markerEnd=x6(o)}function x6(t){if(t==null||t===!1)return null;if(t===!0)return RE;if(typeof t=="function")return t;switch(`${t}`.toLowerCase()){case"none":return null;case"arrow":return kE("auto");case"arrow-reverse":return kE("auto-start-reverse");case"dot":return Aq;case"circle":case"circle-fill":return RE;case"circle-stroke":return Eq;case"tick":return b6("auto");case"tick-x":return b6(90);case"tick-y":return b6(0)}throw new Error(`invalid marker: ${t}`)}function kE(t){return(e,n)=>rt("svg:marker",n).attr("viewBox","-5 -5 10 10").attr("markerWidth",6.67).attr("markerHeight",6.67).attr("orient",t).attr("fill","none").attr("stroke",e).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(t,e){return rt("svg:marker",e).attr("viewBox","-5 -5 10 10").attr("markerWidth",6.67).attr("markerHeight",6.67).attr("fill",t).attr("stroke","none").call(n=>n.append("circle").attr("r",2.5)).node()}function RE(t,e){return rt("svg:marker",e).attr("viewBox","-5 -5 10 10").attr("markerWidth",6.67).attr("markerHeight",6.67).attr("fill",t).attr("stroke","var(--plot-background)").attr("stroke-width",1.5).call(n=>n.append("circle").attr("r",3)).node()}function Eq(t,e){return rt("svg:marker",e).attr("viewBox","-5 -5 10 10").attr("markerWidth",6.67).attr("markerHeight",6.67).attr("fill","var(--plot-background)").attr("stroke",t).attr("stroke-width",1.5).call(n=>n.append("circle").attr("r",3)).node()}function b6(t){return(e,n)=>rt("svg:marker",n).attr("viewBox","-3 -3 6 6").attr("markerWidth",6).attr("markerHeight",6).attr("orient",t).attr("stroke",e).call(r=>r.append("path").attr("d","M0,-3v6")).node()}var Tq=0;function Ii(t,e,{stroke:n},r){return $E(t,e,n&&(o=>n[o]),null,r)}function LE(t,e,{stroke:n,z:r},o){return $E(t,e,n&&(([i])=>n[i]),r,o)}var w6=1,OE=2;function Iq(t,e){let n=new Uint8Array(e.length),r=t.data().filter(i=>i.length>1),o=r.length;for(let i=0,s=Lx;i<o;++i){let a=r[i];if(a.length>1){let c=a[0];s!==(s=br(e[c]))&&(n[c]|=w6)}}for(let i=o-1,s=Lx;i>=0;--i){let a=r[i];if(a.length>1){let c=a[0];s!==(s=br(e[c]))&&(n[c]|=OE)}}return([i])=>n[i]}function $E(t,{markerStart:e,markerMid:n,markerEnd:r,stroke:o},i=()=>o,s,a){if(!e&&!n&&!r)return;let c=new Map,f=s&&Iq(t,s);function u(p,l,h){return function(d){if(h&&!h(d))return;let m=i(d),g=c.get(l);g||c.set(l,g=new Map);let y=g.get(m);if(!y){let x=this.parentNode.insertBefore(l(m,a),this),b=`plot-marker-${++Tq}`;x.setAttribute("id",b),g.set(m,y=`url(#${b})`)}this.setAttribute(p,y)}}e&&t.each(u("marker-start",e,f&&(p=>f(p)&w6))),n&&f&&t.each(u("marker-start",n,p=>!(f(p)&w6))),n&&t.each(u("marker-mid",n)),r&&t.each(u("marker-end",r,f&&(p=>f(p)&OE)))}function Ba({inset:t,insetLeft:e,insetRight:n,...r}={}){return[e,n]=DE(t,e,n),{inset:t,insetLeft:e,insetRight:n,...r}}function za({inset:t,insetTop:e,insetBottom:n,...r}={}){return[e,n]=DE(t,e,n),{inset:t,insetTop:e,insetBottom:n,...r}}function DE(t,e,n){return t===void 0&&e===void 0&&n===void 0?ie?[1,0]:[.5,.5]:[e,n]}function FE(t,{interval:e}){return t={...wr(t)},t.interval=Af(t.interval===void 0?e:t.interval),t}function Fx(t,e,n,r){let{[t]:o,[`${t}1`]:i,[`${t}2`]:s}=n,{value:a,interval:c}=FE(o,n);if(a==null||c==null&&!r)return n;let f=Ke(o);if(c==null){let h,d={transform:m=>h||(h=ct(m,a)),label:f};return{...n,[t]:void 0,[`${t}1`]:i===void 0?d:i,[`${t}2`]:s===void 0&&!(i===s&&r)?d:s}}let u,p;function l(h){return p!==void 0&&h===u?p:p=Mt(ct(u=h,a),d=>c.floor(d))}return e({...n,[t]:void 0,[`${t}1`]:i===void 0?{transform:l,label:f}:i,[`${t}2`]:s===void 0?{transform:h=>l(h).map(d=>c.offset(d)),label:f}:s})}function PE(t,e,n){let{[t]:r}=n,{value:o,interval:i}=FE(r,n);return o==null||i==null?n:e({...n,[t]:{label:Ke(r),transform:s=>{let a=Mt(ct(s,o),f=>i.floor(f)),c=a.map(f=>i.offset(f));return a.map(re(a)?(f,u)=>f==null||isNaN(f=+f)||(u=c[u],u==null)||isNaN(u=+u)?void 0:new Date((f+u)/2):(f,u)=>f==null||(u=c[u],u==null)?NaN:(+f+ +u)/2)}}})}function v6(t={}){return Fx("x",Ba,t,!0)}function _6(t={}){return Fx("y",za,t,!0)}function Pf(t={}){return Fx("x",Ba,t)}function qf(t={}){return Fx("y",za,t)}function Px(t={}){return PE("x",Ba,t)}function qx(t={}){return PE("y",za,t)}var qE={ariaLabel:"rule",fill:null,stroke:"currentColor"},ah=class extends ft{constructor(e,n={}){let{x:r,y1:o,y2:i,inset:s=0,insetTop:a=s,insetBottom:c=s}=n;super(e,{x:{value:r,scale:"x",optional:!0},y1:{value:o,scale:"y",optional:!0},y2:{value:i,scale:"y",optional:!0}},Fr(n,"x"),qE),this.insetTop=Rt(a),this.insetBottom=Rt(c),Pr(this,n)}render(e,n,r,o,i){let{x:s,y:a}=n,{x:c,y1:f,y2:u}=r,{width:p,height:l,marginTop:h,marginRight:d,marginLeft:m,marginBottom:g}=o,{insetTop:y,insetBottom:x}=this;return rt("svg:g",i).call(gt,this,o,i).call(ht,this,{x:c&&s},ie,0).call(b=>b.selectAll().data(e).enter().append("line").call(lt,this).attr("x1",c?w=>c[w]:(m+p-d)/2).attr("x2",c?w=>c[w]:(m+p-d)/2).attr("y1",f&&!tr(a)?w=>f[w]+y:h+y).attr("y2",u&&!tr(a)?a.bandwidth?w=>u[w]+a.bandwidth()-x:w=>u[w]-x:l-g-x).call(_t,this,r).call(Ii,this,r,i)).node()}},ch=class extends ft{constructor(e,n={}){let{x1:r,x2:o,y:i,inset:s=0,insetRight:a=s,insetLeft:c=s}=n;super(e,{y:{value:i,scale:"y",optional:!0},x1:{value:r,scale:"x",optional:!0},x2:{value:o,scale:"x",optional:!0}},Fr(n,"y"),qE),this.insetRight=Rt(a),this.insetLeft=Rt(c),Pr(this,n)}render(e,n,r,o,i){let{x:s,y:a}=n,{y:c,x1:f,x2:u}=r,{width:p,height:l,marginTop:h,marginRight:d,marginLeft:m,marginBottom:g}=o,{insetLeft:y,insetRight:x}=this;return rt("svg:g",i).call(gt,this,o,i).call(ht,this,{y:c&&a},0,ie).call(b=>b.selectAll().data(e).enter().append("line").call(lt,this).attr("x1",f&&!tr(s)?w=>f[w]+y:m+y).attr("x2",u&&!tr(s)?s.bandwidth?w=>u[w]+s.bandwidth()-x:w=>u[w]-x:p-d-x).attr("y1",c?w=>c[w]:(h+l-g)/2).attr("y2",c?w=>c[w]:(h+l-g)/2).call(_t,this,r).call(Ii,this,r,i)).node()}};function er(t,e){let{x:n=X,y:r,y1:o,y2:i,...s}=qf(e);return[o,i]=BE(r,o,i),new ah(t,{...s,x:n,y1:o,y2:i})}function nr(t,e){let{y:n=X,x:r,x1:o,x2:i,...s}=Pf(e);return[o,i]=BE(r,o,i),new ch(t,{...s,y:n,x1:o,x2:i})}function BE(t,e,n){if(t==null){if(e===void 0){if(n!==void 0)return[0,n]}else if(n===void 0)return[0,e]}else{if(e===void 0)return n===void 0?[0,t]:[t,n];if(n===void 0)return[t,e]}return[e,n]}function qr(t,...e){let n=e.length;for(let r=0,o=!0;r<n;++r)typeof e[r]!="function"&&(o&&(t=t.slice(),o=!1),t.splice(r,2,t[r]+e[r]+t[r+1]),e.splice(r,1),--r,--n);return r=>{let o=t[0];for(let i=0;i<n;++i)o+=e[i](r)+t[i+1];return o}}var Cq={ariaLabel:"text",strokeLinejoin:"round",strokeWidth:3,paintOrder:"stroke"},XE="\xAD",Ua=class extends ft{constructor(e,n={}){let{x:r,y:o,text:i=Rn(e)&&ux(e)?X:Xt,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:f=1,lineWidth:u=1/0,textOverflow:p,monospace:l,fontFamily:h=l?"ui-monospace, monospace":void 0,fontSize:d,fontStyle:m,fontVariant:g,fontWeight:y,rotate:x}=n,[b,w]=Pt(x,0),[_,v]=Lq(d);if(super(e,{x:{value:r,scale:"x",optional:!0},y:{value:o,scale:"y",optional:!0},fontSize:{value:_,optional:!0},rotate:{value:VA(b),optional:!0},text:{value:i,filter:Up,optional:!0}},n,Cq),this.rotate=w,this.textAnchor=Vt(a,"middle"),this.lineAnchor=Ie(c,"lineAnchor",["top","middle","bottom"]),this.lineHeight=+f,this.lineWidth=+u,this.textOverflow=S6(p),this.monospace=!!l,this.fontFamily=pe(h),this.fontSize=v,this.fontStyle=pe(m),this.fontVariant=pe(g),this.fontWeight=pe(y),this.frameAnchor=_o(s),!(this.lineWidth>=0))throw new Error(`invalid lineWidth: ${u}`);this.splitLines=E6(this),this.clipLine=T6(this)}render(e,n,r,o,i){let{x:s,y:a}=n,{x:c,y:f,rotate:u,text:p,title:l,fontSize:h}=r,{rotate:d}=this,[m,g]=ze(this,o);return rt("svg:g",i).call(gt,this,o,i).call(A6,this,p,o).call(ht,this,{x:c&&s,y:f&&a}).call(y=>y.selectAll().data(e).enter().append("text").call(lt,this).call(Nq,this,p,l).attr("transform",qr`translate(${c?x=>c[x]:m},${f?x=>f[x]:g})${u?x=>` rotate(${u[x]})`:d?` rotate(${d})`:""}`).call(ot,"font-size",h&&(x=>h[x])).call(_t,this,r)).node()}};function S6(t){return t==null?null:Ie(t,"textOverflow",["clip","ellipsis","clip-start","clip-end","ellipsis-start","ellipsis-middle","ellipsis-end"]).replace(/^(clip|ellipsis)$/,"$1-end")}function Nq(t,e,n,r){if(!n)return;let{lineAnchor:o,lineHeight:i,textOverflow:s,splitLines:a,clipLine:c}=e;t.each(function(f){let u=a(To(n[f])??"").map(c),p=u.length,l=o==="top"?.71:o==="bottom"?1-p:(164-p*100)/200;if(p>1){let h=0;for(let d=0;d<p;++d){if(++h,!u[d])continue;let m=this.ownerDocument.createElementNS(_n.svg,"tspan");m.setAttribute("x",0),d===h-1?m.setAttribute("y",`${(l+d)*i}em`):m.setAttribute("dy",`${h*i}em`),m.textContent=u[d],this.appendChild(m),h=0}}else l&&this.setAttribute("y",`${l*i}em`),this.textContent=u[0];if(s&&!r&&u[0]!==n[f]){let h=this.ownerDocument.createElementNS(_n.svg,"title");h.textContent=n[f],this.appendChild(h)}})}function Io(t,{x:e,y:n,...r}={}){return r.frameAnchor===void 0&&([e,n]=ce(e,n)),new Ua(t,{...r,x:e,y:n})}function Bx(t,{x:e=X,...n}={}){return new Ua(t,qx({...n,x:e}))}function zx(t,{y:e=X,...n}={}){return new Ua(t,Px({...n,y:e}))}function A6(t,e,n){ot(t,"text-anchor",e.textAnchor),ot(t,"font-family",e.fontFamily),ot(t,"font-size",e.fontSize),ot(t,"font-style",e.fontStyle),ot(t,"font-variant",e.fontVariant===void 0?kq(n):e.fontVariant),ot(t,"font-weight",e.fontWeight)}function kq(t){return t&&(wi(t)||re(t))?"tabular-nums":void 0}var Rq=new Set(["inherit","initial","revert","unset","xx-small","x-small","small","medium","large","x-large","xx-large","xxx-large","larger","smaller"]);function Lq(t){return t==null||typeof t=="number"?[void 0,t]:typeof t!="string"?[t,void 0]:(t=t.trim().toLowerCase(),Rq.has(t)||/^[+-]?\d*\.?\d+(e[+-]?\d+)?(\w*|%)$/.test(t)?[void 0,t]:[t,void 0])}function Oq(t,e,n){let r=[],o,i=0;for(let[s,a,c]of $q(t)){if(o===void 0&&(o=s),i>o&&n(t,o,a)>e&&(r.push(t.slice(o,i)+(t[i-1]===XE?"-":"")),o=s),c){r.push(t.slice(o,a)),o=void 0;continue}i=a}return r}function*$q(t){let e=0,n=0,r=t.length;for(;n<r;){let o=1;switch(t[n]){case XE:case"-":++n,yield[e,n,!1],e=n;break;case" ":for(yield[e,n,!1];t[++n]===" ";);e=n;break;case"\r":t[n+1]===`
17
17
  `&&++o;case`
18
- `:yield[e,n,!0],n+=o,e=n;break;default:++n;break}}yield[e,n,!0]}var O7={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 ty(t,e=0,n=t.length){let r=0;for(let o=e;o<n;o=Xc(t,o))r+=O7[t[o]]??(q7(t,o)?120:O7.e);return r}function ey(t,e=0,n=t.length){let r=0;for(let o=e;o<n;o=Xc(t,o))r+=q7(t,o)?126:63;return r}function bv({monospace:t,lineWidth:e,textOverflow:n}){if(n!=null||e==1/0)return i=>i.split(/\r\n?|\n/g);let r=t?ey:ty,o=e*100;return i=>KF(i,o,r)}function wv({monospace:t,lineWidth:e,textOverflow:n}){if(n==null||e==1/0)return i=>i;let r=t?ey:ty,o=e*100;switch(n){case"clip-start":return i=>L7(i,o,r,"");case"clip-end":return i=>R7(i,o,r,"");case"ellipsis-start":return i=>L7(i,o,r,ia);case"ellipsis-middle":return i=>tP(i,o,r,ia);case"ellipsis-end":return i=>R7(i,o,r,ia)}}var ia="\u2026";function aa(t,e,n,r){let o=[],i=0;for(let s=0,a=0,c=t.length;s<c;s=a){a=Xc(t,s);let f=n(t,s,a);if(i+f>e){for(i+=r;i>e&&s>0;)a=s,s=o.pop(),i-=n(t,s,a);return[s,e-i]}i+=f,o.push(s)}return[-1,0]}function R7(t,e,n,r){t=t.trim();let o=n(r),[i]=aa(t,e,n,o);return i<0?t:t.slice(0,i).trimEnd()+r}function tP(t,e,n,r){t=t.trim();let o=n(t);if(o<=e)return t;let i=n(r)/2,[s,a]=aa(t,e/2,n,i),[c]=aa(t,o-e/2-a+i,n,-i);return c<0?r:t.slice(0,s).trimEnd()+r+t.slice(Xc(t,c)).trimStart()}function L7(t,e,n,r){t=t.trim();let o=n(t);if(o<=e)return t;let i=n(r),[s]=aa(t,o-e+i,n,-i);return s<0?r:r+t.slice(Xc(t,s)).trimStart()}var gv=/[\p{Combining_Mark}\p{Emoji_Modifier}]+/uy,D7=/\p{Extended_Pictographic}/uy;function Xc(t,e){return e+=eP(t,e)?2:1,rP(t,e)&&(e=gv.lastIndex),nP(t,e)?Xc(t,e+1):e}function P7(t,e){return t.charCodeAt(e)<128}function eP(t,e){let n=t.charCodeAt(e);if(n>=55296&&n<56320){let r=t.charCodeAt(e+1);return r>=56320&&r<57344}return!1}function nP(t,e){return t.charCodeAt(e)===8205}function rP(t,e){return P7(t,e)?!1:(gv.lastIndex=e,gv.test(t))}function q7(t,e){return P7(t,e)?!1:(D7.lastIndex=e,D7.test(t))}var B7={ariaLabel:"vector",fill:"none",stroke:"currentColor",strokeWidth:1.5,strokeLinejoin:"round",strokeLinecap:"round"},z7=3.5,oP=z7*5,Y7={draw(t,e,n){let r=e*n/oP;t.moveTo(0,0),t.lineTo(0,-e),t.moveTo(-r,r-e),t.lineTo(0,-e),t.lineTo(r,r-e)}},U7={draw(t,e,n){t.moveTo(-n,0),t.lineTo(0,-e),t.lineTo(n,0)}},iP=new Map([["arrow",Y7],["spike",U7]]);function sP(t){return t&&typeof t.draw=="function"}function aP(t){if(sP(t))return t;let e=iP.get(`${t}`.toLowerCase());if(e)return e;throw new Error(`invalid shape: ${t}`)}var ca=class extends lt{constructor(e,n={}){let{x:r,y:o,r:i=z7,length:s,rotate:a,shape:c=Y7,anchor:f="middle",frameAnchor:l}=n,[u,p]=Lt(s,12),[h,d]=Lt(a,0);super(e,{x:{value:r,scale:"x",optional:!0},y:{value:o,scale:"y",optional:!0},length:{value:u,scale:"length",optional:!0},rotate:{value:h,optional:!0}},n,B7),this.r=+i,this.length=p,this.rotate=d,this.shape=aP(c),this.anchor=be(f,"anchor",["start","middle","end"]),this.frameAnchor=Wr(l)}render(e,n,r,o,i){let{x:s,y:a}=n,{x:c,y:f,length:l,rotate:u}=r,{length:p,rotate:h,anchor:d,shape:m,r:g}=this,[y,x]=ke(this,o);return ot("svg:g",i).call(mt,this,o,i).call(pt,this,{x:c&&s,y:f&&a}).call(w=>w.selectAll().data(e).enter().append("path").call(ut,this).attr("transform",xr`translate(${c?b=>c[b]:y},${f?b=>f[b]:x})${u?b=>` rotate(${u[b]})`:h?` rotate(${h})`:""}${d==="start"?"":d==="end"?l?b=>` translate(0,${l[b]})`:` translate(0,${p})`:l?b=>` translate(0,${l[b]/2})`:` translate(0,${p/2})`}`).attr("d",l?b=>{let _=fn();return m.draw(_,l[b],g),_}:(()=>{let b=fn();return m.draw(b,p,g),b})()).call(vt,this,r)).node()}};function vv(t,e={}){let{x:n,y:r,...o}=e;return e.frameAnchor===void 0&&([n,r]=oe(n,r)),new ca(t,{...o,x:n,y:r})}function ny(t,e={}){let{x:n=G,...r}=e;return new ca(t,{...r,x:n})}function ry(t,e={}){let{y:n=G,...r}=e;return new ca(t,{...r,y:n})}function j7(t,e={}){let{shape:n=U7,stroke:r=B7.stroke,strokeWidth:o=1,fill:i=r,fillOpacity:s=.3,anchor:a="start",...c}=e;return vv(t,{...c,shape:n,stroke:r,strokeWidth:o,fill:i,fillOpacity:s,anchor:a})}function Wi(t,e){return arguments.length<2&&!gn(t)&&(e=t,t=null),e===void 0&&(e={}),[t,e]}function oy({anchor:t}={},e){return t===void 0?e[0]:be(t,"anchor",e)}function X7(t){return oy(t,["left","right"])}function G7(t){return oy(t,["right","left"])}function V7(t){return oy(t,["bottom","top"])}function W7(t){return oy(t,["top","bottom"])}function Gu(){let[t,e]=Wi(...arguments);return H7("y",X7(e),t,e)}function iy(){let[t,e]=Wi(...arguments);return H7("fy",G7(e),t,e)}function Vu(){let[t,e]=Wi(...arguments);return Q7("x",V7(e),t,e)}function sy(){let[t,e]=Wi(...arguments);return Q7("fx",W7(e),t,e)}function H7(t,e,n,{color:r="currentColor",opacity:o=1,stroke:i=r,strokeOpacity:s=o,strokeWidth:a=1,fill:c=r,fillOpacity:f=o,textAnchor:l,textStroke:u,textStrokeOpacity:p,textStrokeWidth:h,tickSize:d=t==="y"?6:0,tickPadding:m,tickRotate:g,x:y,margin:x,marginTop:w=x===void 0?20:x,marginRight:b=x===void 0?e==="right"?40:0:x,marginBottom:_=x===void 0?20:x,marginLeft:v=x===void 0?e==="left"?40:0:x,label:A,labelAnchor:T,labelArrow:E,labelOffset:$,...S}){return d=Ct(d),m=Ct(m),g=Ct(g),T!==void 0&&(T=be(T,"labelAnchor",["center","top","bottom"])),E=oA(E),ge(d&&!Rt(i)?cP(t,e,n,{stroke:i,strokeOpacity:s,strokeWidth:a,tickSize:d,tickPadding:m,tickRotate:g,x:y,...S}):null,Rt(c)?null:lP(t,e,n,{fill:c,fillOpacity:f,stroke:u,strokeOpacity:p,strokeWidth:h,textAnchor:l,tickSize:d,tickPadding:m,tickRotate:g,x:y,marginTop:w,marginRight:b,marginBottom:_,marginLeft:v,...S}),!Rt(c)&&A!==null?to([],tA({fill:c,fillOpacity:f,...S},function(k,O,M,I,C){let N=I[t],{marginTop:L,marginRight:R,marginBottom:D,marginLeft:F}=t==="y"&&C.inset||C,P=T??(N.bandwidth?"center":"top"),V=$??(e==="right"?R:F)-3;return P==="center"?(this.textAnchor=void 0,this.lineAnchor=e==="right"?"bottom":"top",this.frameAnchor=e,this.rotate=-90):(this.textAnchor=e==="right"?"end":"start",this.lineAnchor=P,this.frameAnchor=`${P}-${e}`,this.rotate=0),this.dy=P==="top"?3-L:P==="bottom"?D-3:0,this.dx=e==="right"?V:-V,this.ariaLabel=`${t}-axis label`,{facets:[[0]],channels:{text:{value:[rA(t,N,{anchor:e,label:A,labelAnchor:P,labelArrow:E})]}}}})):null)}function Q7(t,e,n,{color:r="currentColor",opacity:o=1,stroke:i=r,strokeOpacity:s=o,strokeWidth:a=1,fill:c=r,fillOpacity:f=o,textAnchor:l,textStroke:u,textStrokeOpacity:p,textStrokeWidth:h,tickSize:d=t==="x"?6:0,tickPadding:m,tickRotate:g,y,margin:x,marginTop:w=x===void 0?e==="top"?30:0:x,marginRight:b=x===void 0?20:x,marginBottom:_=x===void 0?e==="bottom"?30:0:x,marginLeft:v=x===void 0?20:x,label:A,labelAnchor:T,labelArrow:E,labelOffset:$,...S}){return d=Ct(d),m=Ct(m),g=Ct(g),T!==void 0&&(T=be(T,"labelAnchor",["center","left","right"])),E=oA(E),ge(d&&!Rt(i)?fP(t,e,n,{stroke:i,strokeOpacity:s,strokeWidth:a,tickSize:d,tickPadding:m,tickRotate:g,y,...S}):null,Rt(c)?null:uP(t,e,n,{fill:c,fillOpacity:f,stroke:u,strokeOpacity:p,strokeWidth:h,textAnchor:l,tickSize:d,tickPadding:m,tickRotate:g,y,marginTop:w,marginRight:b,marginBottom:_,marginLeft:v,...S}),!Rt(c)&&A!==null?to([],tA({fill:c,fillOpacity:f,...S},function(k,O,M,I,C){let N=I[t],{marginTop:L,marginRight:R,marginBottom:D,marginLeft:F}=t==="x"&&C.inset||C,P=T??(N.bandwidth?"center":"right"),V=$??(e==="top"?L:D)-3;return P==="center"?(this.frameAnchor=e,this.textAnchor=void 0):(this.frameAnchor=`${e}-${P}`,this.textAnchor=P==="right"?"end":"start"),this.lineAnchor=e,this.dy=e==="top"?-V:V,this.dx=P==="right"?R-3:P==="left"?3-F:0,this.ariaLabel=`${t}-axis label`,{facets:[[0]],channels:{text:{value:[rA(t,N,{anchor:e,label:A,labelAnchor:P,labelArrow:E})]}}}})):null)}function cP(t,e,n,{strokeWidth:r=1,strokeLinecap:o=null,strokeLinejoin:i=null,facetAnchor:s=e+(t==="y"?"-empty":""),frameAnchor:a=e,tickSize:c,inset:f=0,insetLeft:l=f,insetRight:u=f,dx:p=0,y:h=t==="y"?void 0:null,...d}){return Gc(ry,t,n,{ariaLabel:`${t}-axis tick`,ariaHidden:!0},{strokeWidth:r,strokeLinecap:o,strokeLinejoin:i,facetAnchor:s,frameAnchor:a,y:h,...d,dx:e==="left"?+p-ee+ +l:+p+ee-u,anchor:"start",length:c,shape:e==="left"?mP:gP})}function fP(t,e,n,{strokeWidth:r=1,strokeLinecap:o=null,strokeLinejoin:i=null,facetAnchor:s=e+(t==="x"?"-empty":""),frameAnchor:a=e,tickSize:c,inset:f=0,insetTop:l=f,insetBottom:u=f,dy:p=0,x:h=t==="x"?void 0:null,...d}){return Gc(ny,t,n,{ariaLabel:`${t}-axis tick`,ariaHidden:!0},{strokeWidth:r,strokeLinejoin:i,strokeLinecap:o,facetAnchor:s,frameAnchor:a,x:h,...d,dy:e==="bottom"?+p-ee-u:+p+ee+ +l,anchor:"start",length:c,shape:e==="bottom"?hP:dP})}function lP(t,e,n,{facetAnchor:r=e+(t==="y"?"-empty":""),frameAnchor:o=e,tickSize:i,tickRotate:s=0,tickPadding:a=Math.max(3,9-i)+(Math.abs(s)>60?4*Math.cos(s*Yc):0),text:c,textAnchor:f=Math.abs(s)>60?"middle":e==="left"?"end":"start",lineAnchor:l=s>60?"top":s<-60?"bottom":"middle",fontVariant:u,inset:p=0,insetLeft:h=p,insetRight:d=p,dx:m=0,y:g=t==="y"?void 0:null,...y}){return Gc(Jg,t,n,{ariaLabel:`${t}-axis tick label`},{facetAnchor:r,frameAnchor:o,text:c,textAnchor:f,lineAnchor:l,fontVariant:u,rotate:s,y:g,...y,dx:e==="left"?+m-i-a+ +h:+m+ +i+ +a-d},function(x,w,b,_,v){u===void 0&&(this.fontVariant=nA(x)),c===void 0&&(v.text=eA(x,w,b,_,e))})}function uP(t,e,n,{facetAnchor:r=e+(t==="x"?"-empty":""),frameAnchor:o=e,tickSize:i,tickRotate:s=0,tickPadding:a=Math.max(3,9-i)+(Math.abs(s)>=10?4*Math.cos(s*Yc):0),text:c,textAnchor:f=Math.abs(s)>=10?s<0^e==="bottom"?"start":"end":"middle",lineAnchor:l=Math.abs(s)>=10?"middle":e==="bottom"?"top":"bottom",fontVariant:u,inset:p=0,insetTop:h=p,insetBottom:d=p,dy:m=0,x:g=t==="x"?void 0:null,...y}){return Gc(Kg,t,n,{ariaLabel:`${t}-axis tick label`},{facetAnchor:r,frameAnchor:o,text:c===void 0?null:c,textAnchor:f,lineAnchor:l,fontVariant:u,rotate:s,x:g,...y,dy:e==="bottom"?+m+ +i+ +a-d:+m-i-a+ +h},function(x,w,b,_,v){u===void 0&&(this.fontVariant=nA(x)),c===void 0&&(v.text=eA(x,w,b,_,e))})}function ay(){let[t,e]=Wi(...arguments);return Z7("y",X7(e),t,e)}function cy(){let[t,e]=Wi(...arguments);return Z7("fy",G7(e),t,e)}function fy(){let[t,e]=Wi(...arguments);return K7("x",V7(e),t,e)}function ly(){let[t,e]=Wi(...arguments);return K7("fx",W7(e),t,e)}function Z7(t,e,n,{y:r=t==="y"?void 0:null,x:o=null,x1:i=e==="left"?o:null,x2:s=e==="right"?o:null,...a}){return Gc(Pn,t,n,{ariaLabel:`${t}-grid`,ariaHidden:!0},{y:r,x1:i,x2:s,...J7(a)})}function K7(t,e,n,{x:r=t==="x"?void 0:null,y:o=null,y1:i=e==="top"?o:null,y2:s=e==="bottom"?o:null,...a}){return Gc(Fn,t,n,{ariaLabel:`${t}-grid`,ariaHidden:!0},{x:r,y1:i,y2:s,...J7(a)})}function J7({color:t="currentColor",opacity:e=.1,stroke:n=t,strokeOpacity:r=e,strokeWidth:o=1,...i}){return{stroke:n,strokeOpacity:r,strokeWidth:o,...i}}function tA({fill:t,fillOpacity:e,fontFamily:n,fontSize:r,fontStyle:o,fontVariant:i,fontWeight:s,monospace:a,pointerEvents:c,shapeRendering:f,clip:l=!1},u){return[,t]=Kt(t),[,e]=Lt(e),{facet:"super",x:null,y:null,fill:t,fillOpacity:e,fontFamily:n,fontSize:r,fontStyle:o,fontVariant:i,fontWeight:s,monospace:a,pointerEvents:c,shapeRendering:f,clip:l,initializer:u}}function Gc(t,e,n,r,o,i){let s;function a(l,u,p,h,d,m){let g=l==null&&(e==="fx"||e==="fy"),{[e]:y}=h;if(!y)throw new Error(`missing scale: ${e}`);let x=y.domain(),{interval:w,ticks:b,tickFormat:_,tickSpacing:v=e==="x"?80:35}=o;if(typeof b=="string"&&iA(y)&&(w=b,b=void 0),b===void 0&&(b=Vr(w,y.type)??pP(y,v)),l==null){if(gn(b))l=On(b);else if(Fi(b))l=_v(b,...kt(x));else if(y.interval){let T=y.interval;if(y.ticks){let[E,$]=kt(x),S=($-E)/T[Ec];T=lw(T,S/b)??T,l=_v(T,E,$)}else{l=x;let E=l.length;T=lw(T,E/b)??T,T!==y.interval&&(l=_v(T,...kt(l)))}if(T===y.interval){let E=Math.round(l.length/b);E>1&&(l=l.filter(($,S)=>S%E===0))}}else y.ticks?l=y.ticks(b):l=x;if(!y.ticks&&l.length&&l!==x){let T=new rn(x);l=l.filter(E=>T.has(E)),l.length||Je(`Warning: the ${e}-axis ticks appear to not align with the scale domain, resulting in no ticks. Try different ticks?`)}e==="y"||e==="x"?u=[mn(l)]:s[e]={scale:e,value:G}}i?.call(this,y,l,b,_,s);let A=Object.fromEntries(Object.entries(s).map(([T,E])=>[T,{...E,value:ft(l,E.value)}]));return g&&(u=m.filterFacets(l,A)),{data:l,facets:u,channels:A}}let c=jt(o).initializer,f=t(n,jt({...o,initializer:a},c));return n==null?(s=f.channels,f.channels={}):s={},r!==void 0&&Object.assign(f,r),f.clip===void 0&&(f.clip=!1),f}function pP(t,e){let[n,r]=kt(t.range());return(r-n)/e}function eA(t,e,n,r,o){return{value:Wu(t,e,n,r,o)}}function Wu(t,e,n,r,o){return typeof r=="function"&&!(t.type==="log"&&t.tickFormat)?r:r===void 0&&e&&Jt(e)?N8(t.type,e,o)??Jr:t.tickFormat?t.tickFormat(typeof n=="number"?n:null,r):r===void 0?Jr:typeof r=="string"?(Jt(t.domain())?Yr:Hn)(r):te(r)}function _v(t,e,n){return t.range(e,t.offset(t.floor(n)))}var hP={draw(t,e){t.moveTo(0,0),t.lineTo(0,e)}},dP={draw(t,e){t.moveTo(0,0),t.lineTo(0,-e)}},mP={draw(t,e){t.moveTo(0,0),t.lineTo(-e,0)}},gP={draw(t,e){t.moveTo(0,0),t.lineTo(e,0)}};function nA(t){return t.bandwidth&&!t.interval?void 0:"tabular-nums"}function rA(t,e,{anchor:n,label:r=e.label,labelAnchor:o,labelArrow:i}={}){if(!(r==null||r.inferred&&iA(e)&&/^(date|time|year)$/i.test(r))){if(r=String(r),i==="auto"&&(i=(!e.bandwidth||e.interval)&&!/[↑↓→←]/.test(r)),!i)return r;if(i===!0){let s=Fg(e);s&&(i=/x$/.test(t)||o==="center"?/x$/.test(t)===s<0?"left":"right":s<0?"up":"down")}switch(i){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 oA(t="auto"){return Rt(t)?!1:typeof t=="boolean"?t:be(t,"labelArrow",["auto","up","right","down","left"])}function iA(t){return Jt(t.domain())}function sA(t,e){if(e==null)return e;let n=t(e);if(!n)throw new Error(`scale not found: ${e}`);return n}function aA(t,{opacity:e,...n}={}){if(!Zr(t)&&!Qw(t))throw new Error(`swatches legend requires ordinal or threshold color scale (not ${t.type})`);return fA(t,n,(r,o,i,s)=>r.append("svg").attr("width",i).attr("height",s).attr("fill",o.scale).attr("fill-opacity",Lt(e)[1]).append("rect").attr("width","100%").attr("height","100%"))}function cA(t,{fill:e=t.hint?.fill!==void 0?t.hint.fill:"none",fillOpacity:n=1,stroke:r=t.hint?.stroke!==void 0?t.hint.stroke:Rt(e)?"currentColor":"none",strokeOpacity:o=1,strokeWidth:i=1.5,r:s=4.5,...a}={},c){let[f,l]=Kt(e),[u,p]=Kt(r),h=sA(c,f),d=sA(c,u),m=s*s*Math.PI;return n=Lt(n)[1],o=Lt(o)[1],i=Lt(i)[1],fA(t,a,(g,y,x,w)=>g.append("svg").attr("viewBox","-8 -8 16 16").attr("width",x).attr("height",w).attr("fill",f==="color"?b=>h.scale(b):l).attr("fill-opacity",n).attr("stroke",u==="color"?b=>d.scale(b):p).attr("stroke-opacity",o).attr("stroke-width",i).append("path").attr("d",b=>{let _=fn();return t.scale(b).draw(_,m),_}))}function fA(t,e={},n){let{columns:r,tickFormat:o,fontVariant:i=Wg(t),swatchSize:s=15,swatchWidth:a=s,swatchHeight:c=s,marginLeft:f=0,className:l,style:u,width:p}=e,h=Ui(e);l=Xi(l),o=Wu(t.scale,t.domain,void 0,o);let d=ot("div",h).attr("class",`${l}-swatches ${l}-swatches-${r!=null?"columns":"wrap"}`),m;return r!=null?(m=`:where(.${l}-swatches-columns .${l}-swatch) {
18
+ `:yield[e,n,!0],n+=o,e=n;break;default:++n;break}}yield[e,n,!0]}var zE={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 Yx(t,e=0,n=t.length){let r=0;for(let o=e;o<n;o=Bf(t,o))r+=zE[t[o]]??(GE(t,o)?120:zE.e);return r}function Ux(t,e=0,n=t.length){let r=0;for(let o=e;o<n;o=Bf(t,o))r+=GE(t,o)?126:63;return r}function E6({monospace:t,lineWidth:e,textOverflow:n}){if(n!=null||e==1/0)return i=>i.split(/\r\n?|\n/g);let r=t?Ux:Yx,o=e*100;return i=>Oq(i,o,r)}function T6({monospace:t,lineWidth:e,textOverflow:n}){if(n==null||e==1/0)return i=>i;let r=t?Ux:Yx,o=e*100;switch(n){case"clip-start":return i=>UE(i,o,r,"");case"clip-end":return i=>YE(i,o,r,"");case"ellipsis-start":return i=>UE(i,o,r,Ya);case"ellipsis-middle":return i=>Dq(i,o,r,Ya);case"ellipsis-end":return i=>YE(i,o,r,Ya)}}var Ya="\u2026";function ja(t,e,n,r){let o=[],i=0;for(let s=0,a=0,c=t.length;s<c;s=a){a=Bf(t,s);let f=n(t,s,a);if(i+f>e){for(i+=r;i>e&&s>0;)a=s,s=o.pop(),i-=n(t,s,a);return[s,e-i]}i+=f,o.push(s)}return[-1,0]}function YE(t,e,n,r){t=t.trim();let o=n(r),[i]=ja(t,e,n,o);return i<0?t:t.slice(0,i).trimEnd()+r}function Dq(t,e,n,r){t=t.trim();let o=n(t);if(o<=e)return t;let i=n(r)/2,[s,a]=ja(t,e/2,n,i),[c]=ja(t,o-e/2-a+i,n,-i);return c<0?r:t.slice(0,s).trimEnd()+r+t.slice(Bf(t,c)).trimStart()}function UE(t,e,n,r){t=t.trim();let o=n(t);if(o<=e)return t;let i=n(r),[s]=ja(t,o-e+i,n,-i);return s<0?r:r+t.slice(Bf(t,s)).trimStart()}var M6=/[\p{Combining_Mark}\p{Emoji_Modifier}]+/uy,jE=/\p{Extended_Pictographic}/uy;function Bf(t,e){return e+=Fq(t,e)?2:1,qq(t,e)&&(e=M6.lastIndex),Pq(t,e)?Bf(t,e+1):e}function WE(t,e){return t.charCodeAt(e)<128}function Fq(t,e){let n=t.charCodeAt(e);if(n>=55296&&n<56320){let r=t.charCodeAt(e+1);return r>=56320&&r<57344}return!1}function Pq(t,e){return t.charCodeAt(e)===8205}function qq(t,e){return WE(t,e)?!1:(M6.lastIndex=e,M6.test(t))}function GE(t,e){return WE(t,e)?!1:(jE.lastIndex=e,jE.test(t))}var VE={ariaLabel:"vector",fill:"none",stroke:"currentColor",strokeWidth:1.5,strokeLinejoin:"round",strokeLinecap:"round"},HE=3.5,Bq=HE*5,QE={draw(t,e,n){let r=e*n/Bq;t.moveTo(0,0),t.lineTo(0,-e),t.moveTo(-r,r-e),t.lineTo(0,-e),t.lineTo(r,r-e)}},ZE={draw(t,e,n){t.moveTo(-n,0),t.lineTo(0,-e),t.lineTo(n,0)}},zq=new Map([["arrow",QE],["spike",ZE]]);function Yq(t){return t&&typeof t.draw=="function"}function Uq(t){if(Yq(t))return t;let e=zq.get(`${t}`.toLowerCase());if(e)return e;throw new Error(`invalid shape: ${t}`)}var Xa=class extends ft{constructor(e,n={}){let{x:r,y:o,r:i=HE,length:s,rotate:a,shape:c=QE,anchor:f="middle",frameAnchor:u}=n,[p,l]=Pt(s,12),[h,d]=Pt(a,0);super(e,{x:{value:r,scale:"x",optional:!0},y:{value:o,scale:"y",optional:!0},length:{value:p,scale:"length",optional:!0},rotate:{value:h,optional:!0}},n,VE),this.r=+i,this.length=l,this.rotate=d,this.shape=Uq(c),this.anchor=Ie(f,"anchor",["start","middle","end"]),this.frameAnchor=_o(u)}render(e,n,r,o,i){let{x:s,y:a}=n,{x:c,y:f,length:u,rotate:p}=r,{length:l,rotate:h,anchor:d,shape:m,r:g}=this,[y,x]=ze(this,o);return rt("svg:g",i).call(gt,this,o,i).call(ht,this,{x:c&&s,y:f&&a}).call(b=>b.selectAll().data(e).enter().append("path").call(lt,this).attr("transform",qr`translate(${c?w=>c[w]:y},${f?w=>f[w]:x})${p?w=>` rotate(${p[w]})`:h?` rotate(${h})`:""}${d==="start"?"":d==="end"?u?w=>` translate(0,${u[w]})`:` translate(0,${l})`:u?w=>` translate(0,${u[w]/2})`:` translate(0,${l/2})`}`).attr("d",u?w=>{let _=An();return m.draw(_,u[w],g),_}:(()=>{let w=An();return m.draw(w,l,g),w})()).call(_t,this,r)).node()}};function I6(t,e={}){let{x:n,y:r,...o}=e;return e.frameAnchor===void 0&&([n,r]=ce(n,r)),new Xa(t,{...o,x:n,y:r})}function jx(t,e={}){let{x:n=X,...r}=e;return new Xa(t,{...r,x:n})}function Xx(t,e={}){let{y:n=X,...r}=e;return new Xa(t,{...r,y:n})}function KE(t,e={}){let{shape:n=ZE,stroke:r=VE.stroke,strokeWidth:o=1,fill:i=r,fillOpacity:s=.3,anchor:a="start",...c}=e;return I6(t,{...c,shape:n,stroke:r,strokeWidth:o,fill:i,fillOpacity:s,anchor:a})}function Ss(t,e){return arguments.length<2&&!Rn(t)&&(e=t,t=null),e===void 0&&(e={}),[t,e]}function Wx({anchor:t}={},e){return t===void 0?e[0]:Ie(t,"anchor",e)}function JE(t){return Wx(t,["left","right"])}function tT(t){return Wx(t,["right","left"])}function eT(t){return Wx(t,["bottom","top"])}function nT(t){return Wx(t,["top","bottom"])}function fh(){let[t,e]=Ss(...arguments);return rT("y",JE(e),t,e)}function Gx(){let[t,e]=Ss(...arguments);return rT("fy",tT(e),t,e)}function uh(){let[t,e]=Ss(...arguments);return oT("x",eT(e),t,e)}function Vx(){let[t,e]=Ss(...arguments);return oT("fx",nT(e),t,e)}function rT(t,e,n,{color:r="currentColor",opacity:o=1,stroke:i=r,strokeOpacity:s=o,strokeWidth:a=1,fill:c=r,fillOpacity:f=o,textAnchor:u,textStroke:p,textStrokeOpacity:l,textStrokeWidth:h,tickSize:d=t==="y"?6:0,tickPadding:m,tickRotate:g,x:y,margin:x,marginTop:b=x===void 0?20:x,marginRight:w=x===void 0?e==="right"?40:0:x,marginBottom:_=x===void 0?20:x,marginLeft:v=x===void 0?e==="left"?40:0:x,label:A,labelAnchor:E,labelArrow:T,labelOffset:C,...S}){return d=Rt(d),m=Rt(m),g=Rt(g),E!==void 0&&(E=Ie(E,"labelAnchor",["center","top","bottom"])),T=pT(T),Se(d&&!Ft(i)?jq(t,e,n,{stroke:i,strokeOpacity:s,strokeWidth:a,tickSize:d,tickPadding:m,tickRotate:g,x:y,...S}):null,Ft(c)?null:Wq(t,e,n,{fill:c,fillOpacity:f,stroke:p,strokeOpacity:l,strokeWidth:h,textAnchor:u,tickSize:d,tickPadding:m,tickRotate:g,x:y,marginTop:b,marginRight:w,marginBottom:_,marginLeft:v,...S}),!Ft(c)&&A!==null?Io([],cT({fill:c,fillOpacity:f,...S},function(k,L,M,I,N){let R=I[t],{marginTop:$,marginRight:O,marginBottom:D,marginLeft:F}=t==="y"&&N.inset||N,P=E??(R.bandwidth?"center":"top"),W=C??(e==="right"?O:F)-3;return P==="center"?(this.textAnchor=void 0,this.lineAnchor=e==="right"?"bottom":"top",this.frameAnchor=e,this.rotate=-90):(this.textAnchor=e==="right"?"end":"start",this.lineAnchor=P,this.frameAnchor=`${P}-${e}`,this.rotate=0),this.dy=P==="top"?3-$:P==="bottom"?D-3:0,this.dx=e==="right"?W:-W,this.ariaLabel=`${t}-axis label`,{facets:[[0]],channels:{text:{value:[lT(t,R,{anchor:e,label:A,labelAnchor:P,labelArrow:T})]}}}})):null)}function oT(t,e,n,{color:r="currentColor",opacity:o=1,stroke:i=r,strokeOpacity:s=o,strokeWidth:a=1,fill:c=r,fillOpacity:f=o,textAnchor:u,textStroke:p,textStrokeOpacity:l,textStrokeWidth:h,tickSize:d=t==="x"?6:0,tickPadding:m,tickRotate:g,y,margin:x,marginTop:b=x===void 0?e==="top"?30:0:x,marginRight:w=x===void 0?20:x,marginBottom:_=x===void 0?e==="bottom"?30:0:x,marginLeft:v=x===void 0?20:x,label:A,labelAnchor:E,labelArrow:T,labelOffset:C,...S}){return d=Rt(d),m=Rt(m),g=Rt(g),E!==void 0&&(E=Ie(E,"labelAnchor",["center","left","right"])),T=pT(T),Se(d&&!Ft(i)?Xq(t,e,n,{stroke:i,strokeOpacity:s,strokeWidth:a,tickSize:d,tickPadding:m,tickRotate:g,y,...S}):null,Ft(c)?null:Gq(t,e,n,{fill:c,fillOpacity:f,stroke:p,strokeOpacity:l,strokeWidth:h,textAnchor:u,tickSize:d,tickPadding:m,tickRotate:g,y,marginTop:b,marginRight:w,marginBottom:_,marginLeft:v,...S}),!Ft(c)&&A!==null?Io([],cT({fill:c,fillOpacity:f,...S},function(k,L,M,I,N){let R=I[t],{marginTop:$,marginRight:O,marginBottom:D,marginLeft:F}=t==="x"&&N.inset||N,P=E??(R.bandwidth?"center":"right"),W=C??(e==="top"?$:D)-3;return P==="center"?(this.frameAnchor=e,this.textAnchor=void 0):(this.frameAnchor=`${e}-${P}`,this.textAnchor=P==="right"?"end":"start"),this.lineAnchor=e,this.dy=e==="top"?-W:W,this.dx=P==="right"?O-3:P==="left"?3-F:0,this.ariaLabel=`${t}-axis label`,{facets:[[0]],channels:{text:{value:[lT(t,R,{anchor:e,label:A,labelAnchor:P,labelArrow:T})]}}}})):null)}function jq(t,e,n,{strokeWidth:r=1,strokeLinecap:o=null,strokeLinejoin:i=null,facetAnchor:s=e+(t==="y"?"-empty":""),frameAnchor:a=e,tickSize:c,inset:f=0,insetLeft:u=f,insetRight:p=f,dx:l=0,y:h=t==="y"?void 0:null,...d}){return zf(Xx,t,n,{ariaLabel:`${t}-axis tick`,ariaHidden:!0},{strokeWidth:r,strokeLinecap:o,strokeLinejoin:i,facetAnchor:s,frameAnchor:a,y:h,...d,dx:e==="left"?+l-ie+ +u:+l+ie-p,anchor:"start",length:c,shape:e==="left"?Zq:Kq})}function Xq(t,e,n,{strokeWidth:r=1,strokeLinecap:o=null,strokeLinejoin:i=null,facetAnchor:s=e+(t==="x"?"-empty":""),frameAnchor:a=e,tickSize:c,inset:f=0,insetTop:u=f,insetBottom:p=f,dy:l=0,x:h=t==="x"?void 0:null,...d}){return zf(jx,t,n,{ariaLabel:`${t}-axis tick`,ariaHidden:!0},{strokeWidth:r,strokeLinejoin:i,strokeLinecap:o,facetAnchor:s,frameAnchor:a,x:h,...d,dy:e==="bottom"?+l-ie-p:+l+ie+ +u,anchor:"start",length:c,shape:e==="bottom"?Hq:Qq})}function Wq(t,e,n,{facetAnchor:r=e+(t==="y"?"-empty":""),frameAnchor:o=e,tickSize:i,tickRotate:s=0,tickPadding:a=Math.max(3,9-i)+(Math.abs(s)>60?4*Math.cos(s*Ff):0),text:c,textAnchor:f=Math.abs(s)>60?"middle":e==="left"?"end":"start",lineAnchor:u=s>60?"top":s<-60?"bottom":"middle",fontVariant:p,inset:l=0,insetLeft:h=l,insetRight:d=l,dx:m=0,y:g=t==="y"?void 0:null,...y}){return zf(zx,t,n,{ariaLabel:`${t}-axis tick label`},{facetAnchor:r,frameAnchor:o,text:c,textAnchor:f,lineAnchor:u,fontVariant:p,rotate:s,y:g,...y,dx:e==="left"?+m-i-a+ +h:+m+ +i+ +a-d},function(x,b,w,_,v){p===void 0&&(this.fontVariant=uT(x)),c===void 0&&(v.text=fT(x,b,w,_,e))})}function Gq(t,e,n,{facetAnchor:r=e+(t==="x"?"-empty":""),frameAnchor:o=e,tickSize:i,tickRotate:s=0,tickPadding:a=Math.max(3,9-i)+(Math.abs(s)>=10?4*Math.cos(s*Ff):0),text:c,textAnchor:f=Math.abs(s)>=10?s<0^e==="bottom"?"start":"end":"middle",lineAnchor:u=Math.abs(s)>=10?"middle":e==="bottom"?"top":"bottom",fontVariant:p,inset:l=0,insetTop:h=l,insetBottom:d=l,dy:m=0,x:g=t==="x"?void 0:null,...y}){return zf(Bx,t,n,{ariaLabel:`${t}-axis tick label`},{facetAnchor:r,frameAnchor:o,text:c===void 0?null:c,textAnchor:f,lineAnchor:u,fontVariant:p,rotate:s,x:g,...y,dy:e==="bottom"?+m+ +i+ +a-d:+m-i-a+ +h},function(x,b,w,_,v){p===void 0&&(this.fontVariant=uT(x)),c===void 0&&(v.text=fT(x,b,w,_,e))})}function Hx(){let[t,e]=Ss(...arguments);return iT("y",JE(e),t,e)}function Qx(){let[t,e]=Ss(...arguments);return iT("fy",tT(e),t,e)}function Zx(){let[t,e]=Ss(...arguments);return sT("x",eT(e),t,e)}function Kx(){let[t,e]=Ss(...arguments);return sT("fx",nT(e),t,e)}function iT(t,e,n,{y:r=t==="y"?void 0:null,x:o=null,x1:i=e==="left"?o:null,x2:s=e==="right"?o:null,...a}){return zf(nr,t,n,{ariaLabel:`${t}-grid`,ariaHidden:!0},{y:r,x1:i,x2:s,...aT(a)})}function sT(t,e,n,{x:r=t==="x"?void 0:null,y:o=null,y1:i=e==="top"?o:null,y2:s=e==="bottom"?o:null,...a}){return zf(er,t,n,{ariaLabel:`${t}-grid`,ariaHidden:!0},{x:r,y1:i,y2:s,...aT(a)})}function aT({color:t="currentColor",opacity:e=.1,stroke:n=t,strokeOpacity:r=e,strokeWidth:o=1,...i}){return{stroke:n,strokeOpacity:r,strokeWidth:o,...i}}function cT({fill:t,fillOpacity:e,fontFamily:n,fontSize:r,fontStyle:o,fontVariant:i,fontWeight:s,monospace:a,pointerEvents:c,shapeRendering:f,clip:u=!1},p){return[,t]=ne(t),[,e]=Pt(e),{facet:"super",x:null,y:null,fill:t,fillOpacity:e,fontFamily:n,fontSize:r,fontStyle:o,fontVariant:i,fontWeight:s,monospace:a,pointerEvents:c,shapeRendering:f,clip:u,initializer:p}}function zf(t,e,n,r,o,i){let s;function a(u,p,l,h,d,m){let g=u==null&&(e==="fx"||e==="fy"),{[e]:y}=h;if(!y)throw new Error(`missing scale: ${e}`);let x=y.domain(),{interval:b,ticks:w,tickFormat:_,tickSpacing:v=e==="x"?80:35}=o;if(typeof w=="string"&&hT(y)&&(b=w,w=void 0),w===void 0&&(w=vo(b,y.type)??Vq(y,v)),u==null){if(Rn(w))u=Zn(w);else if(hs(w))u=C6(w,...Ot(x));else if(y.interval){let E=y.interval;if(y.ticks){let[T,C]=Ot(x),S=(C-T)/E[vf];E=y_(E,S/w)??E,u=C6(E,T,C)}else{u=x;let T=u.length;E=y_(E,T/w)??E,E!==y.interval&&(u=C6(E,...Ot(u)))}if(E===y.interval){let T=Math.round(u.length/w);T>1&&(u=u.filter((C,S)=>S%T===0))}}else y.ticks?u=y.ticks(w):u=x;if(!y.ticks&&u.length&&u!==x){let E=new wn(x);u=u.filter(T=>E.has(T)),u.length||hn(`Warning: the ${e}-axis ticks appear to not align with the scale domain, resulting in no ticks. Try different ticks?`)}e==="y"||e==="x"?p=[kn(u)]:s[e]={scale:e,value:X}}i?.call(this,y,u,w,_,s);let A=Object.fromEntries(Object.entries(s).map(([E,T])=>[E,{...T,value:ct(u,T.value)}]));return g&&(p=m.filterFacets(u,A)),{data:u,facets:p,channels:A}}let c=Gt(o).initializer,f=t(n,Gt({...o,initializer:a},c));return n==null?(s=f.channels,f.channels={}):s={},r!==void 0&&Object.assign(f,r),f.clip===void 0&&(f.clip=!1),f}function Vq(t,e){let[n,r]=Ot(t.range());return(r-n)/e}function fT(t,e,n,r,o){return{value:lh(t,e,n,r,o)}}function lh(t,e,n,r,o){return typeof r=="function"&&!(t.type==="log"&&t.tickFormat)?r:r===void 0&&e&&re(e)?BA(t.type,e,o)??To:t.tickFormat?t.tickFormat(typeof n=="number"?n:null,r):r===void 0?To:typeof r=="string"?(re(t.domain())?go:hr)(r):oe(r)}function C6(t,e,n){return t.range(e,t.offset(t.floor(n)))}var Hq={draw(t,e){t.moveTo(0,0),t.lineTo(0,e)}},Qq={draw(t,e){t.moveTo(0,0),t.lineTo(0,-e)}},Zq={draw(t,e){t.moveTo(0,0),t.lineTo(-e,0)}},Kq={draw(t,e){t.moveTo(0,0),t.lineTo(e,0)}};function uT(t){return t.bandwidth&&!t.interval?void 0:"tabular-nums"}function lT(t,e,{anchor:n,label:r=e.label,labelAnchor:o,labelArrow:i}={}){if(!(r==null||r.inferred&&hT(e)&&/^(date|time|year)$/i.test(r))){if(r=String(r),i==="auto"&&(i=(!e.bandwidth||e.interval)&&!/[↑↓→←]/.test(r)),!i)return r;if(i===!0){let s=Ax(e);s&&(i=/x$/.test(t)||o==="center"?/x$/.test(t)===s<0?"left":"right":s<0?"up":"down")}switch(i){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 pT(t="auto"){return Ft(t)?!1:typeof t=="boolean"?t:Ie(t,"labelArrow",["auto","up","right","down","left"])}function hT(t){return re(t.domain())}function dT(t,e){if(e==null)return e;let n=t(e);if(!n)throw new Error(`scale not found: ${e}`);return n}function mT(t,{opacity:e,...n}={}){if(!Ao(t)&&!r6(t))throw new Error(`swatches legend requires ordinal or threshold color scale (not ${t.type})`);return yT(t,n,(r,o,i,s)=>r.append("svg").attr("width",i).attr("height",s).attr("fill",o.scale).attr("fill-opacity",Pt(e)[1]).append("rect").attr("width","100%").attr("height","100%"))}function gT(t,{fill:e=t.hint?.fill!==void 0?t.hint.fill:"none",fillOpacity:n=1,stroke:r=t.hint?.stroke!==void 0?t.hint.stroke:Ft(e)?"currentColor":"none",strokeOpacity:o=1,strokeWidth:i=1.5,r:s=4.5,...a}={},c){let[f,u]=ne(e),[p,l]=ne(r),h=dT(c,f),d=dT(c,p),m=s*s*Math.PI;return n=Pt(n)[1],o=Pt(o)[1],i=Pt(i)[1],yT(t,a,(g,y,x,b)=>g.append("svg").attr("viewBox","-8 -8 16 16").attr("width",x).attr("height",b).attr("fill",f==="color"?w=>h.scale(w):u).attr("fill-opacity",n).attr("stroke",p==="color"?w=>d.scale(w):l).attr("stroke-opacity",o).attr("stroke-width",i).append("path").attr("d",w=>{let _=An();return t.scale(w).draw(_,m),_}))}function yT(t,e={},n){let{columns:r,tickFormat:o,fontVariant:i=Dx(t),swatchSize:s=15,swatchWidth:a=s,swatchHeight:c=s,marginLeft:f=0,className:u,style:p,width:l}=e,h=bs(e);u=vs(u),o=lh(t.scale,t.domain,void 0,o);let d=rt("div",h).attr("class",`${u}-swatches ${u}-swatches-${r!=null?"columns":"wrap"}`),m;return r!=null?(m=`:where(.${u}-swatches-columns .${u}-swatch) {
19
19
  display: flex;
20
20
  align-items: center;
21
21
  break-inside: avoid;
22
22
  padding-bottom: 1px;
23
23
  }
24
- :where(.${l}-swatches-columns .${l}-swatch::before) {
24
+ :where(.${u}-swatches-columns .${u}-swatch::before) {
25
25
  flex-shrink: 0;
26
26
  }
27
- :where(.${l}-swatches-columns .${l}-swatch-label) {
27
+ :where(.${u}-swatches-columns .${u}-swatch-label) {
28
28
  white-space: nowrap;
29
29
  overflow: hidden;
30
30
  text-overflow: ellipsis;
31
- }`,d.style("columns",r).selectAll().data(t.domain).enter().append("div").attr("class",`${l}-swatch`).call(n,t,a,c).call(g=>g.append("div").attr("class",`${l}-swatch-label`).attr("title",o).text(o))):(m=`:where(.${l}-swatches-wrap) {
31
+ }`,d.style("columns",r).selectAll().data(t.domain).enter().append("div").attr("class",`${u}-swatch`).call(n,t,a,c).call(g=>g.append("div").attr("class",`${u}-swatch-label`).attr("title",o).text(o))):(m=`:where(.${u}-swatches-wrap) {
32
32
  display: flex;
33
33
  align-items: center;
34
34
  min-height: 33px;
35
35
  flex-wrap: wrap;
36
36
  }
37
- :where(.${l}-swatches-wrap .${l}-swatch) {
37
+ :where(.${u}-swatches-wrap .${u}-swatch) {
38
38
  display: inline-flex;
39
39
  align-items: center;
40
40
  margin-right: 1em;
41
- }`,d.selectAll().data(t.domain).enter().append("span").attr("class",`${l}-swatch`).call(n,t,a,c).append(function(){return this.ownerDocument.createTextNode(o.apply(this,arguments))})),d.call(g=>g.insert("style","*").text(`:where(.${l}-swatches) {
41
+ }`,d.selectAll().data(t.domain).enter().append("span").attr("class",`${u}-swatch`).call(n,t,a,c).append(function(){return this.ownerDocument.createTextNode(o.apply(this,arguments))})),d.call(g=>g.insert("style","*").text(`:where(.${u}-swatches) {
42
42
  font-family: system-ui, sans-serif;
43
43
  font-size: 10px;
44
44
  margin-bottom: 0.5em;
45
45
  }
46
- :where(.${l}-swatch > svg) {
46
+ :where(.${u}-swatch > svg) {
47
47
  margin-right: 0.5em;
48
48
  overflow: visible;
49
49
  }
50
- ${m}`)).style("margin-left",f?`${+f}px`:null).style("width",p===void 0?null:`${+p}px`).style("font-variant",Xt(i,"normal")).call(zc,u).node()}var uy=new Map([["symbol",cA],["color",pA],["opacity",yP]]);function lA(t={}){for(let[e,n]of uy){let r=t[e];if(Xr(r)){let o=Ui(t),i;if(e==="symbol"){let{fill:s,stroke:a=s===void 0&&Xr(t.color)?"color":void 0}=t;i={fill:s,stroke:a}}return n(qg(e,r,i),Mv(o,r,t),s=>Xr(t[s])?qg(s,t[s]):null)}}throw new Error("unknown legend type; no scale found")}function uA(t,e,n={}){return(r,o)=>{if(!uy.has(r))throw new Error(`unknown legend type: ${r}`);if(r in t)return uy.get(r)(t[r],Mv(e,n[r],o),i=>t[i])}}function Mv({className:t,...e},{label:n,ticks:r,tickFormat:o}={},i){return G8(i,{className:t,...e},{label:n,ticks:r,tickFormat:o})}function pA(t,{legend:e=!0,...n}){if(e===!0&&(e=t.type==="ordinal"?"swatches":"ramp"),t.domain!==void 0)switch(`${e}`.toLowerCase()){case"swatches":return aA(t,n);case"ramp":return _7(t,n);default:throw new Error(`unknown legend type: ${e}`)}}function yP({type:t,interpolate:e,...n},{legend:r=!0,color:o=ye(0,0,0),...i}){if(!e)throw new Error(`${t} opacity scales are not supported`);if(r===!0&&(r="ramp"),`${r}`.toLowerCase()!=="ramp")throw new Error(`${r} opacity legends are not supported`);return pA({type:t,...n,interpolate:xP(o)},{legend:r,...i})}function xP(t){let{r:e,g:n,b:r}=ye(t)||ye(0,0,0);return o=>`rgba(${e},${n},${r},${o})`}function hA(t,e,n){let r=[];for(let[o,i]of uy){let s=n[o];if(s?.legend&&o in t){let a=i(t[o],Mv(e,t[o],s),c=>t[c]);a!=null&&r.push(a)}}return r}function Hi(t={}){return bw(t)?t:{...t,x:G}}function Qi(t={}){return ww(t)?t:{...t,y:G}}function py(t,e){if(e.length===1)return{data:t,facets:e};let n=Di(t),r=new Uint8Array(n),o=0;for(let a of e)for(let c of a)r[c]&&++o,r[c]=1;if(o===0)return{data:t,facets:e};t=Li(t);let i=t[pw]=new Uint32Array(n+o);e=e.map(a=>Li(a,Uint32Array));let s=n;r.fill(0);for(let a of e)for(let c=0,f=a.length;c<f;++c){let l=a[c];r[l]?(a[c]=s,t[s]=t[l],i[s]=l,++s):i[l]=l,r[l]=1}return{data:t,facets:e}}function Sv(t={},e={}){arguments.length===1&&([t,e]=Vc(t));let{y1:n,y:r=n,x:o,...i}=e,[s,a,c,f]=Wc(r,o,"y","x",t,i);return{...s,y1:n,y:a,x1:c,x2:f,x:$c(c,f)}}function gA(t={},e={}){arguments.length===1&&([t,e]=Vc(t));let{y1:n,y:r=n,x:o}=e,[i,s,a]=Wc(r,o,"y","x",t,e);return{...i,y1:n,y:s,x:a}}function yA(t={},e={}){arguments.length===1&&([t,e]=Vc(t));let{y1:n,y:r=n,x:o}=e,[i,s,,a]=Wc(r,o,"y","x",t,e);return{...i,y1:n,y:s,x:a}}function Av(t={},e={}){arguments.length===1&&([t,e]=Vc(t));let{x1:n,x:r=n,y:o,...i}=e,[s,a,c,f]=Wc(r,o,"x","y",t,i);return{...s,x1:n,x:a,y1:c,y2:f,y:$c(c,f)}}function xA(t={},e={}){arguments.length===1&&([t,e]=Vc(t));let{x1:n,x:r=n,y:o}=e,[i,s,a]=Wc(r,o,"x","y",t,e);return{...i,x1:n,x:s,y:a}}function bA(t={},e={}){arguments.length===1&&([t,e]=Vc(t));let{x1:n,x:r=n,y:o}=e,[i,s,,a]=Wc(r,o,"x","y",t,e);return{...i,x1:n,x:s,y:a}}function Zi({x:t,x1:e,x2:n,...r}={}){return r=gr(r,"y"),e===void 0&&n===void 0?Sv({x:t,...r}):([e,n]=vw(t,e,n),{...r,x1:e,x2:n})}function Ki({y:t,y1:e,y2:n,...r}={}){return r=gr(r,"x"),e===void 0&&n===void 0?Av({y:t,...r}):([e,n]=vw(t,e,n),{...r,y1:e,y2:n})}function Vc(t){let{offset:e,order:n,reverse:r,...o}=t;return[{offset:e,order:n,reverse:r},o]}var bP={length:!0};function Wc(t,e=ku,n,r,{offset:o,order:i,reverse:s},a){if(e===null)throw new Error(`stack requires ${r}`);let c=Ke(a),[f,l]=ze(t),[u,p]=$e(e),[h,d]=$e(e);return u.hint=h.hint=bP,o=wP(o),i=MP(i,o,r),[me(a,(m,g,y)=>{({data:m,facets:g}=py(m,g));let x=t==null?void 0:l(Ks(ft(m,t),y?.[n])),w=ft(m,e,Float64Array),b=ft(m,c),_=i&&i(m,x,w,b),v=Di(m),A=p(new Float64Array(v)),T=d(new Float64Array(v)),E=[];for(let $ of g){let S=x?Array.from(De($,k=>x[k]).values()):[$];if(_)for(let k of S)k.sort(_);for(let k of S){let O=0,M=0;s&&k.reverse();for(let I of k){let C=w[I];C<0?O=T[I]=(A[I]=O)+C:C>0?M=T[I]=(A[I]=M)+C:T[I]=A[I]=M}}E.push(S)}return o&&o(E,A,T,b),{data:m,facets:g}}),f,u,h]}function wP(t){if(t!=null){if(typeof t=="function")return t;switch(`${t}`.toLowerCase()){case"expand":case"normalize":return vP;case"center":case"silhouette":return _P;case"wiggle":return vA}throw new Error(`unknown offset: ${t}`)}}function wA(t,e){let n=0,r=0;for(let o of t){let i=e[o];i<n&&(n=i),i>r&&(r=i)}return[n,r]}function vP(t,e,n){for(let r of t)for(let o of r){let[i,s]=wA(o,n);for(let a of o){let c=1/(s-i||1);e[a]=c*(e[a]-i),n[a]=c*(n[a]-i)}}}function _P(t,e,n){for(let r of t){for(let o of r){let[i,s]=wA(o,n);for(let a of o){let c=(s+i)/2;e[a]-=c,n[a]-=c}}_A(r,e,n)}MA(t,e,n)}function vA(t,e,n,r){for(let o of t){let i=new nn,s=0;for(let a of o){let c=-1,f=a.map(h=>Math.abs(n[h]-e[h])),l=a.map(h=>{c=r?r[h]:++c;let d=n[h]-e[h],m=i.has(c)?d-i.get(c):0;return i.set(c,d),m}),u=[0,...ad(l)];for(let h of a)e[h]+=s,n[h]+=s;let p=Pe(f);p&&(s-=Pe(f,(h,d)=>(l[d]/2+u[d])*h)/p)}_A(o,e,n)}MA(t,e,n)}function _A(t,e,n){let r=Ft(t,o=>Ft(o,i=>e[i]));for(let o of t)for(let i of o)e[i]-=r,n[i]-=r}function MA(t,e,n){let r=t.length;if(r===1)return;let o=t.map(a=>a.flat()),i=o.map(a=>(Ft(a,c=>e[c])+Tt(a,c=>n[c]))/2),s=Ft(i);for(let a=0;a<r;a++){let c=s-i[a];for(let f of o[a])e[f]+=c,n[f]+=c}}function MP(t,e,n){if(t===void 0&&e===vA)return dA(Te);if(t!=null){if(typeof t=="string"){let r=t.startsWith("-"),o=r?Ws:Te;switch((r?t.slice(1):t).toLowerCase()){case"value":case n:return SP(o);case"z":return AP(o);case"sum":return EP(o);case"appearance":return TP(o);case"inside-out":return dA(o)}return mA(dw(t))}if(typeof t=="function")return(t.length===1?mA:IP)(t);if(vn(t))return $P(t);throw new Error(`invalid order: ${t}`)}}function SP(t){return(e,n,r)=>(o,i)=>t(r[o],r[i])}function AP(t){return(e,n,r,o)=>(i,s)=>t(o[i],o[s])}function EP(t){return hy(t,(e,n,r,o)=>Oa(mn(e),i=>Pe(i,s=>r[s]),i=>o[i]))}function TP(t){return hy(t,(e,n,r,o)=>Oa(mn(e),i=>n[ws(i,s=>r[s])],i=>o[i]))}function dA(t){return hy(t,(e,n,r,o)=>{let i=mn(e),s=Oa(i,u=>n[ws(u,p=>r[p])],u=>o[u]),a=lr(i,u=>Pe(u,p=>r[p]),u=>o[u]),c=[],f=[],l=0;for(let u of s)l<0?(l+=a.get(u),c.push(u)):(l-=a.get(u),f.push(u));return f.reverse().concat(c)})}function mA(t){return e=>{let n=ft(e,t);return(r,o)=>Te(n[r],n[o])}}function IP(t){return e=>vn(e)?(n,r)=>t(e[n],e[r]):(n,r)=>t(e.get(n),e.get(r))}function $P(t){return hy(Te,()=>t)}function hy(t,e){return(n,r,o,i)=>{if(!i)throw new Error("missing channel: z");let s=new nn(e(n,r,o,i).map((a,c)=>[a,c]));return(a,c)=>t(s.get(i[a]),s.get(i[c]))}}var CP={ariaLabel:"rect"},fa=class extends lt{constructor(e,n={}){let{x1:r,y1:o,x2:i,y2:s}=n;super(e,{x1:{value:r,scale:"x",type:r!=null&&i==null?"band":void 0,optional:!0},y1:{value:o,scale:"y",type:o!=null&&s==null?"band":void 0,optional:!0},x2:{value:i,scale:"x",optional:!0},y2:{value:s,scale:"y",optional:!0}},n,CP),Hu(this,n),Qu(this,n)}render(e,n,r,o,i){let{x:s,y:a}=n,{x1:c,y1:f,x2:l,y2:u}=r,{marginTop:p,marginRight:h,marginBottom:d,marginLeft:m,width:g,height:y}=o,{projection:x}=i,{insetTop:w,insetRight:b,insetBottom:_,insetLeft:v}=this,{rx:A,ry:T,rx1y1:E,rx1y2:$,rx2y1:S,rx2y2:k}=this;(c||l)&&!x&&Dn(s)&&(c=l=null),(f||u)&&!x&&Dn(a)&&(f=u=null);let O=s?.bandwidth?s.bandwidth():0,M=a?.bandwidth?a.bandwidth():0;return ot("svg:g",i).call(mt,this,o,i).call(pt,this,{},0,0).call(I=>I.selectAll().data(e).enter().call(E||$||S||k?C=>C.append("path").call(ut,this).call(Zu,c&&l?N=>c[N]+(l[N]<c[N]?-b:v):c?N=>c[N]+v:m+v,f&&u?N=>f[N]+(u[N]<f[N]?-_:w):f?N=>f[N]+w:p+w,c&&l?N=>l[N]-(l[N]<c[N]?-v:b):c?N=>c[N]+O-b:g-h-b,f&&u?N=>u[N]-(u[N]<f[N]?-w:_):f?N=>f[N]+M-_:y-d-_,this).call(vt,this,r):C=>C.append("rect").call(ut,this).attr("x",c?l?N=>Math.min(c[N],l[N])+v:N=>c[N]+v:m+v).attr("y",f?u?N=>Math.min(f[N],u[N])+w:N=>f[N]+w:p+w).attr("width",c?l?N=>Math.max(0,Math.abs(l[N]-c[N])+O-v-b):O-v-b:g-h-m-b-v).attr("height",f?u?N=>Math.max(0,Math.abs(f[N]-u[N])+M-w-_):M-w-_:y-p-d-w-_).call(st,"rx",A).call(st,"ry",T).call(vt,this,r))).node()}};function Hu(t,{inset:e=0,insetTop:n=e,insetRight:r=e,insetBottom:o=e,insetLeft:i=e}={}){t.insetTop=Ct(n),t.insetRight=Ct(r),t.insetBottom=Ct(o),t.insetLeft=Ct(i)}function Qu(t,{r:e,rx:n,ry:r,rx1:o=e,ry1:i=e,rx2:s=e,ry2:a=e,rx1y1:c=o!==void 0?+o:i!==void 0?+i:0,rx1y2:f=o!==void 0?+o:a!==void 0?+a:0,rx2y1:l=s!==void 0?+s:i!==void 0?+i:0,rx2y2:u=s!==void 0?+s:a!==void 0?+a:0}={}){c||f||l||u?(t.rx1y1=c,t.rx1y2=f,t.rx2y1=l,t.rx2y2=u):(t.rx=Xt(n,"auto"),t.ry=Xt(r,"auto"))}function Zu(t,e,n,r,o,i){let{rx1y1:s,rx1y2:a,rx2y1:c,rx2y2:f}=i;typeof e!="function"&&(e=te(e)),typeof n!="function"&&(n=te(n)),typeof r!="function"&&(r=te(r)),typeof o!="function"&&(o=te(o));let l=Math.max(Math.abs(s+c),Math.abs(a+f)),u=Math.max(Math.abs(s+a),Math.abs(c+f));t.attr("d",p=>{let h=e(p),d=n(p),m=r(p),g=o(p),y=h>m,x=d>g,w=y?m:h,b=y?h:m,_=x?g:d,v=x?d:g,A=Math.min(1,(b-w)/l,(v-_)/u),T=A*(y?x?f:c:x?a:s),E=A*(y?x?a:s:x?f:c),$=A*(y?x?s:a:x?c:f),S=A*(y?x?c:f:x?s:a);return`M${w},${_+my(T,S)}A${T},${T} 0 0 ${T<0?0:1} ${w+dy(T,S)},${_}H${b-dy(E,$)}A${E},${E} 0 0 ${E<0?0:1} ${b},${_+my(E,$)}V${v-my($,E)}A${$},${$} 0 0 ${$<0?0:1} ${b-dy($,E)},${v}H${w+dy(S,T)}A${S},${S} 0 0 ${S<0?0:1} ${w},${v-my(S,T)}Z`})}function dy(t,e){return e<0?t:Math.abs(t)}function my(t,e){return e<0?Math.abs(t):t}function Ku(t,e){return new fa(t,dv(mv(e)))}function Hc(t,e={}){return Yo(e)||(e={...e,y:Yt,x2:G,interval:1}),new fa(t,Zi(mv(Hi(e))))}function Qc(t,e={}){return Yo(e)||(e={...e,x:Yt,y2:G,interval:1}),new fa(t,Ki(dv(Qi(e))))}var kP={ariaLabel:"frame",fill:"none",stroke:"currentColor",clip:!1},NP={ariaLabel:"frame",fill:null,stroke:"currentColor",strokeLinecap:"square",clip:!1},Ju=class extends lt{constructor(e={}){let{anchor:n=null}=e;super(Oi,void 0,e,n==null?kP:NP),this.anchor=xw(n,"anchor",["top","right","bottom","left"]),Hu(this,e),n||Qu(this,e)}render(e,n,r,o,i){let{marginTop:s,marginRight:a,marginBottom:c,marginLeft:f,width:l,height:u}=o,{anchor:p,insetTop:h,insetRight:d,insetBottom:m,insetLeft:g}=this,{rx:y,ry:x,rx1y1:w,rx1y2:b,rx2y1:_,rx2y2:v}=this,A=f+g,T=l-a-d,E=s+h,$=u-c-m;return ot(p?"svg:line":w||b||_||v?"svg:path":"svg:rect",i).datum(0).call(mt,this,o,i).call(ut,this).call(vt,this,r).call(pt,this,{}).call(p==="left"?S=>S.attr("x1",A).attr("x2",A).attr("y1",E).attr("y2",$):p==="right"?S=>S.attr("x1",T).attr("x2",T).attr("y1",E).attr("y2",$):p==="top"?S=>S.attr("x1",A).attr("x2",T).attr("y1",E).attr("y2",E):p==="bottom"?S=>S.attr("x1",A).attr("x2",T).attr("y1",$).attr("y2",$):w||b||_||v?S=>S.call(Zu,A,E,T,$,this):S=>S.attr("x",A).attr("y",E).attr("width",T-A).attr("height",$-E).attr("rx",y).attr("ry",x)).node()}};function Zc(t){return new Ju(t)}var Ev={ariaLabel:"tip",fill:"var(--plot-background)",stroke:"currentColor"},OP=new Set(["geometry","href","src","ariaLabel","scales"]),tp=class extends lt{constructor(e,n={}){n.tip&&(n={...n,tip:!1}),n.title===void 0&&gn(e)&&_g(e)&&(n={...n,title:G});let{x:r,y:o,x1:i,x2:s,y1:a,y2:c,anchor:f,preferredAnchor:l="bottom",monospace:u,fontFamily:p=u?"ui-monospace, monospace":void 0,fontSize:h,fontStyle:d,fontVariant:m,fontWeight:g,lineHeight:y=1,lineWidth:x=20,frameAnchor:w,format:b,textAnchor:_="start",textOverflow:v,textPadding:A=8,title:T,pointerSize:E=12,pathFilter:$="drop-shadow(0 3px 4px rgba(0,0,0,0.2))"}=n;super(e,{x:{value:i!=null&&s!=null?null:r,scale:"x",optional:!0},y:{value:a!=null&&c!=null?null:o,scale:"y",optional:!0},x1:{value:i,scale:"x",optional:s==null},y1:{value:a,scale:"y",optional:c==null},x2:{value:s,scale:"x",optional:i==null},y2:{value:c,scale:"y",optional:a==null},title:{value:T,optional:!0}},n,Ev),this.anchor=Sg(f,"anchor"),this.preferredAnchor=Sg(l,"preferredAnchor"),this.frameAnchor=Wr(w),this.textAnchor=Xt(_,"middle"),this.textPadding=+A,this.pointerSize=+E,this.pathFilter=se($),this.lineHeight=+y,this.lineWidth=+x,this.textOverflow=yv(v),this.monospace=!!u,this.fontFamily=se(p),this.fontSize=Ct(h),this.fontStyle=se(d),this.fontVariant=se(m),this.fontWeight=se(g);for(let S in Ev)S in this.channels&&(this[S]=Ev[S]);this.splitLines=bv(this),this.clipLine=wv(this),this.format=typeof b=="string"||typeof b=="function"?{title:b}:{...b}}render(e,n,r,o,i){let s=this,{x:a,y:c,fx:f,fy:l}=n,{ownerSVGElement:u,document:p}=i,{anchor:h,monospace:d,lineHeight:m,lineWidth:g}=this,{textPadding:y,pointerSize:x,pathFilter:w}=this,{marginTop:b,marginLeft:_}=o,{x1:v,y1:A,x2:T,y2:E,x:$=v??T,y:S=A??E}=r,k=f?f(e.fx)-_:0,O=l?l(e.fy)-b:0,[M,I]=ke(this,o),C=fv(r,M),N=lv(r,I),L=d?ey:ty,R=L(ia),D,F;"title"in r?(D=SA.call(this,{title:r.channels.title},n),F=FP):(D=SA.call(this,r.channels,n),F=PP);let P=ot("svg:g",i).call(mt,this,o,i).call(xv,this).call(pt,this,{x:$&&a,y:S&&c}).call(et=>et.selectAll().data(e).enter().append("g").attr("transform",rt=>`translate(${Math.round(C(rt))},${Math.round(N(rt))})`).call(ut,this).call(rt=>rt.append("path").attr("filter",w)).call(rt=>rt.append("text").each(function(j){let nt=bt(this);this.setAttribute("fill","currentColor"),this.setAttribute("fill-opacity",1),this.setAttribute("stroke","none");let z=F.call(s,j,e,D,n,r);if(typeof z=="string")for(let W of s.splitLines(z))V(nt,{value:s.clipLine(W)});else{let W=new Set;for(let tt of z){let{label:q=""}=tt;q&&W.has(q)||(W.add(q),V(nt,tt))}}})));function V(et,{label:rt,value:j,color:nt,opacity:z}){rt??="",j??="";let W=nt!=null||z!=null,tt,q=g*100,[gt]=aa(rt,q,L,R);if(gt>=0)rt=rt.slice(0,gt).trimEnd()+ia,tt=j.trim(),j="";else{(rt||!j&&!W)&&(j=" "+j);let[At]=aa(j,q-L(rt),L,R);At>=0&&(tt=j.trim(),j=j.slice(0,At).trimEnd()+ia)}let at=et.append("tspan").attr("x",0).attr("dy",`${m}em`).text("\u200B");rt&&at.append("tspan").attr("font-weight","bold").text(rt),j&&at.append(()=>p.createTextNode(j)),W&&at.append("tspan").text(" \u25A0").attr("fill",nt).attr("fill-opacity",z).style("user-select","none"),tt&&at.append("title").text(tt)}function J(){let{width:et,height:rt}=o.facet??o;P.selectChildren().each(function(j){let{x:nt,width:z,height:W}=this.getBBox();z=Math.round(z),W=Math.round(W);let tt=h;if(tt===void 0){let at=C(j)+k,At=N(j)+O,It=at+z+x+y*2<et,Z=at-z-x-y*2>0,Dt=At+W+x+y*2<rt,Mn=At-W-x-y*2>0;tt=It&&Z?Dt&&Mn?s.preferredAnchor:Mn?"bottom":"top":Dt&&Mn?It?"left":"right":(It||Z)&&(Dt||Mn)?`${Mn?"bottom":"top"}-${It?"left":"right"}`:s.preferredAnchor}let q=this.firstChild,gt=this.lastChild;if(q.setAttribute("d",DP(tt,x,y,z,W)),nt)for(let at of gt.childNodes)at.setAttribute("x",-nt);gt.setAttribute("y",`${+RP(tt,gt.childNodes.length,m).toFixed(6)}em`),gt.setAttribute("transform",`translate(${LP(tt,x,y,z,W)})`)}),P.attr("visibility",null)}return e.length&&(P.attr("visibility","hidden"),u.isConnected?Promise.resolve().then(J):typeof requestAnimationFrame<"u"&&requestAnimationFrame(J)),P.node()}};function yy(t,{x:e,y:n,...r}={}){return r.frameAnchor===void 0&&([e,n]=oe(e,n)),new tp(t,{...r,x:e,y:n})}function RP(t,e,n){return/^top(?:-|$)/.test(t)?.94-n:-.29-e*n}function LP(t,e,n,r,o){switch(t){case"middle":return[-r/2,o/2];case"top-left":return[n,e+n];case"top":return[-r/2,e/2+n];case"top-right":return[-r-n,e+n];case"right":return[-e/2-r-n,o/2];case"bottom-left":return[n,-e-n];case"bottom":return[-r/2,-e/2-n];case"bottom-right":return[-r-n,-e-n];case"left":return[n+e/2,o/2]}}function DP(t,e,n,r,o){let i=r+n*2,s=o+n*2;switch(t){case"middle":return`M${-i/2},${-s/2}h${i}v${s}h${-i}z`;case"top-left":return`M0,0l${e},${e}h${i-e}v${s}h${-i}z`;case"top":return`M0,0l${e/2},${e/2}h${(i-e)/2}v${s}h${-i}v${-s}h${(i-e)/2}z`;case"top-right":return`M0,0l${-e},${e}h${e-i}v${s}h${i}z`;case"right":return`M0,0l${-e/2},${-e/2}v${e/2-s/2}h${-i}v${s}h${i}v${e/2-s/2}z`;case"bottom-left":return`M0,0l${e},${-e}h${i-e}v${-s}h${-i}z`;case"bottom":return`M0,0l${e/2},${-e/2}h${(i-e)/2}v${-s}h${-i}v${s}h${(i-e)/2}z`;case"bottom-right":return`M0,0l${-e},${-e}h${e-i}v${-s}h${i}z`;case"left":return`M0,0l${e/2},${-e/2}v${e/2-s/2}h${i}v${s}h${-i}v${e/2-s/2}z`}}function SA(t,e){let n={},r=this.format;r=AA(r,t,"x"),r=AA(r,t,"y"),this.format=r;for(let o in r){let i=r[o];if(!(i===null||i===!1))if(o==="fx"||o==="fy")n[o]=!0;else{let s=Pu(t,o);s&&(n[o]=s)}}for(let o in t){if(o in n||o in r||OP.has(o)||(o==="x"||o==="y")&&t.geometry)continue;let i=Pu(t,o);if(i){if(i.scale==null&&i.defaultScale==="color")continue;n[o]=i}}this.facet&&(e.fx&&!("fx"in r)&&(n.fx=!0),e.fy&&!("fy"in r)&&(n.fy=!0));for(let o in n){let i=this.format[o];if(typeof i=="string"){let s=n[o]?.value??e[o]?.domain()??[];this.format[o]=(Jt(s)?Yr:Hn)(i)}else if(i===void 0||i===!0){let s=e[o];this.format[o]=s?.bandwidth?Wu(s,s.domain()):Jr}}return n}function AA(t,e,n){if(!(n in t))return t;let r=`${n}1`,o=`${n}2`;if((r in t||!(r in e))&&(o in t||!(o in e)))return t;let i=Object.entries(t),s=t[n];return i.splice(i.findIndex(([a])=>a===n)+1,0,[r,s],[o,s]),Object.fromEntries(i)}function FP(t,e,{title:n}){return this.format.title(n.value[t],t)}function*PP(t,e,n,r,o){for(let i in n){if(i==="fx"||i==="fy"){yield{label:gy(r,n,i),value:this.format[i](e[i],t)};continue}if(i==="x1"&&"x2"in n||i==="y1"&&"y2"in n)continue;let s=n[i];if(i==="x2"&&"x1"in n)yield{label:TA(r,n,"x"),value:EA(this.format.x2,n.x1,s,t)};else if(i==="y2"&&"y1"in n)yield{label:TA(r,n,"y"),value:EA(this.format.y2,n.y1,s,t)};else{let a=s.value[t],c=s.scale;if(!Ht(a)&&c==null)continue;yield{label:gy(r,n,i),value:this.format[i](a,t),color:c==="color"?o[i][t]:null,opacity:c==="opacity"?o[i][t]:null}}}}function EA(t,e,n,r){return n.hint?.length?`${t(n.value[r]-e.value[r],r)}`:`${t(e.value[r],r)}\u2013${t(n.value[r],r)}`}function TA(t,e,n){let r=gy(t,e,`${n}1`,n),o=gy(t,e,`${n}2`,n);return r===o?r:`${r}\u2013${o}`}function gy(t,e,n,r=n){let o=e[n],i=t[o?.scale??n];return String(i?.label??o?.label??r)}function Kc(t={}){let{facet:e,style:n,title:r,subtitle:o,caption:i,ariaLabel:s,ariaDescription:a}=t,c=Xi(t.className),f=t.marks===void 0?[]:$A(t.marks);f.push(...jP(f));let l=YP(e,t),u=new Map;for(let R of f){let D=CA(R,l,t);D&&u.set(R,D)}let p=new Map;l&&ep(p,[l],t),ep(p,u,t);let h=$A(XP(f,p,t));for(let R of h){let D=CA(R,l,t);D&&u.set(R,D)}f.unshift(...h);let d=r7(p,t);if(d!==void 0){let R=l?Ug(d,l):void 0;for(let F of f){if(F.facet===null||F.facet==="super")continue;let P=u.get(F);P!==void 0&&(P.facetsIndex=F.fx!=null||F.fy!=null?Ug(d,P):R)}let D=new Set;for(let{facetsIndex:F}of u.values())F?.forEach((P,V)=>{P?.length>0&&D.add(V)});d.forEach(0<D.size&&D.size<d.length?(F,P)=>F.empty=!D.has(P):F=>F.empty=!1);for(let F of f)if(F.facet==="exclude"){let P=u.get(F);P!==void 0&&(P.facetsIndex=s7(P.facetsIndex))}}for(let R of qt.keys())Xr(t[R])&&R!=="fx"&&R!=="fy"&&p.set(R,[]);let m=new Map;for(let R of f){if(m.has(R))throw new Error("duplicate mark; each mark must be unique");let{facetsIndex:D,channels:F}=u.get(R)??{},{data:P,facets:V,channels:J}=R.initialize(D,F,t);$v(J,t),m.set(R,{data:P,facets:V,channels:J})}let g=zu(ep(p,m,t),t),y=w7(g,f,t);QS(g,y);let x=Ww(g),{fx:w,fy:b}=x,_=w||b?Hw(g,y):y,v=w||b?KP(x,y):y,A=Ui(t),T=A.document,E=_o("svg").call(T.documentElement),$=E;A.ownerSVGElement=E,A.className=c,A.projection=f7(t,_),A.filterFacets=(R,D)=>Ug(d,{channels:D,groups:zg(R,D)}),A.getMarkState=R=>{let D=m.get(R),F=u.get(R);return{...D,channels:{...D.channels,...F?.channels}}},A.dispatchValue=R=>{$.value!==R&&($.value=R,$.dispatchEvent(new Event("input",{bubbles:!0})))};let S=new Set;for(let[R,D]of m)if(R.initializer!=null){let F=R.facet==="super"?v:_,P=R.initializer(D.data,D.facets,D.channels,x,F,A);if(P.data!==void 0&&(D.data=P.data),P.facets!==void 0&&(D.facets=P.facets),P.channels!==void 0){let{fx:V,fy:J,...et}=P.channels;zP(et),Object.assign(D.channels,et);for(let rt of Object.values(et)){let{scale:j}=rt;j!=null&&!Q8(qt.get(j))&&(OA(rt,t),S.add(j))}(V!=null||J!=null)&&u.set(R,!0)}}if(S.size){let R=new Map;ep(R,m,t,V=>S.has(V)),ep(p,m,t,V=>S.has(V));let D=ZP(zu(R,t),g),{scales:F,...P}=Ww(D);Object.assign(g,D),Object.assign(x,P),Object.assign(x.scales,F)}let k,O;d!==void 0&&(k={x:w?.domain(),y:b?.domain()},d=o7(d,k),O=i7(w,b,y));for(let[R,D]of m)D.values=R.scale(D.channels,x,A);let{width:M,height:I}=y;bt(E).attr("class",c).attr("fill","currentColor").attr("font-family","system-ui, sans-serif").attr("font-size",10).attr("text-anchor","middle").attr("width",M).attr("height",I).attr("viewBox",`0 0 ${M} ${I}`).attr("aria-label",s).attr("aria-description",a).call(R=>R.append("style").text(`:where(.${c}) {
50
+ ${m}`)).style("margin-left",f?`${+f}px`:null).style("width",l===void 0?null:`${+l}px`).style("font-variant",Vt(i,"normal")).call(Df,p).node()}var Jx=new Map([["symbol",gT],["color",wT],["opacity",Jq]]);function xT(t={}){for(let[e,n]of Jx){let r=t[e];if(bo(r)){let o=bs(t),i;if(e==="symbol"){let{fill:s,stroke:a=s===void 0&&bo(t.color)?"color":void 0}=t;i={fill:s,stroke:a}}return n(Tx(e,r,i),N6(o,r,t),s=>bo(t[s])?Tx(s,t[s]):null)}}throw new Error("unknown legend type; no scale found")}function bT(t,e,n={}){return(r,o)=>{if(!Jx.has(r))throw new Error(`unknown legend type: ${r}`);if(r in t)return Jx.get(r)(t[r],N6(e,n[r],o),i=>t[i])}}function N6({className:t,...e},{label:n,ticks:r,tickFormat:o}={},i){return t7(i,{className:t,...e},{label:n,ticks:r,tickFormat:o})}function wT(t,{legend:e=!0,...n}){if(e===!0&&(e=t.type==="ordinal"?"swatches":"ramp"),t.domain!==void 0)switch(`${e}`.toLowerCase()){case"swatches":return mT(t,n);case"ramp":return NE(t,n);default:throw new Error(`unknown legend type: ${e}`)}}function Jq({type:t,interpolate:e,...n},{legend:r=!0,color:o=Ee(0,0,0),...i}){if(!e)throw new Error(`${t} opacity scales are not supported`);if(r===!0&&(r="ramp"),`${r}`.toLowerCase()!=="ramp")throw new Error(`${r} opacity legends are not supported`);return wT({type:t,...n,interpolate:tB(o)},{legend:r,...i})}function tB(t){let{r:e,g:n,b:r}=Ee(t)||Ee(0,0,0);return o=>`rgba(${e},${n},${r},${o})`}function vT(t,e,n){let r=[];for(let[o,i]of Jx){let s=n[o];if(s?.legend&&o in t){let a=i(t[o],N6(e,t[o],s),c=>t[c]);a!=null&&r.push(a)}}return r}function As(t={}){return E_(t)?t:{...t,x:X}}function Es(t={}){return T_(t)?t:{...t,y:X}}function t1(t,e){if(e.length===1)return{data:t,facets:e};let n=ps(t),r=new Uint8Array(n),o=0;for(let a of e)for(let c of a)r[c]&&++o,r[c]=1;if(o===0)return{data:t,facets:e};t=ls(t);let i=t[b_]=new Uint32Array(n+o);e=e.map(a=>ls(a,Uint32Array));let s=n;r.fill(0);for(let a of e)for(let c=0,f=a.length;c<f;++c){let u=a[c];r[u]?(a[c]=s,t[s]=t[u],i[s]=u,++s):i[u]=u,r[u]=1}return{data:t,facets:e}}function k6(t={},e={}){arguments.length===1&&([t,e]=Yf(t));let{y1:n,y:r=n,x:o,...i}=e,[s,a,c,f]=Uf(r,o,"y","x",t,i);return{...s,y1:n,y:a,x1:c,x2:f,x:Sf(c,f)}}function ST(t={},e={}){arguments.length===1&&([t,e]=Yf(t));let{y1:n,y:r=n,x:o}=e,[i,s,a]=Uf(r,o,"y","x",t,e);return{...i,y1:n,y:s,x:a}}function AT(t={},e={}){arguments.length===1&&([t,e]=Yf(t));let{y1:n,y:r=n,x:o}=e,[i,s,,a]=Uf(r,o,"y","x",t,e);return{...i,y1:n,y:s,x:a}}function R6(t={},e={}){arguments.length===1&&([t,e]=Yf(t));let{x1:n,x:r=n,y:o,...i}=e,[s,a,c,f]=Uf(r,o,"x","y",t,i);return{...s,x1:n,x:a,y1:c,y2:f,y:Sf(c,f)}}function ET(t={},e={}){arguments.length===1&&([t,e]=Yf(t));let{x1:n,x:r=n,y:o}=e,[i,s,a]=Uf(r,o,"x","y",t,e);return{...i,x1:n,x:s,y:a}}function TT(t={},e={}){arguments.length===1&&([t,e]=Yf(t));let{x1:n,x:r=n,y:o}=e,[i,s,,a]=Uf(r,o,"x","y",t,e);return{...i,x1:n,x:s,y:a}}function Ts({x:t,x1:e,x2:n,...r}={}){return r=Fr(r,"y"),e===void 0&&n===void 0?k6({x:t,...r}):([e,n]=I_(t,e,n),{...r,x1:e,x2:n})}function Is({y:t,y1:e,y2:n,...r}={}){return r=Fr(r,"x"),e===void 0&&n===void 0?R6({y:t,...r}):([e,n]=I_(t,e,n),{...r,y1:e,y2:n})}function Yf(t){let{offset:e,order:n,reverse:r,...o}=t;return[{offset:e,order:n,reverse:r},o]}var eB={length:!0};function Uf(t,e=Vp,n,r,{offset:o,order:i,reverse:s},a){if(e===null)throw new Error(`stack requires ${r}`);let c=pn(a),[f,u]=Ze(t),[p,l]=qe(e),[h,d]=qe(e);return p.hint=h.hint=eB,o=nB(o),i=iB(i,o,r),[Me(a,(m,g,y)=>{({data:m,facets:g}=t1(m,g));let x=t==null?void 0:u($a(ct(m,t),y?.[n])),b=ct(m,e,Float64Array),w=ct(m,c),_=i&&i(m,x,b,w),v=ps(m),A=l(new Float64Array(v)),E=d(new Float64Array(v)),T=[];for(let C of g){let S=x?Array.from(We(C,k=>x[k]).values()):[C];if(_)for(let k of S)k.sort(_);for(let k of S){let L=0,M=0;s&&k.reverse();for(let I of k){let N=b[I];N<0?L=E[I]=(A[I]=L)+N:N>0?M=E[I]=(A[I]=M)+N:E[I]=A[I]=M}}T.push(S)}return o&&o(T,A,E,w),{data:m,facets:g}}),f,p,h]}function nB(t){if(t!=null){if(typeof t=="function")return t;switch(`${t}`.toLowerCase()){case"expand":case"normalize":return rB;case"center":case"silhouette":return oB;case"wiggle":return CT}throw new Error(`unknown offset: ${t}`)}}function IT(t,e){let n=0,r=0;for(let o of t){let i=e[o];i<n&&(n=i),i>r&&(r=i)}return[n,r]}function rB(t,e,n){for(let r of t)for(let o of r){let[i,s]=IT(o,n);for(let a of o){let c=1/(s-i||1);e[a]=c*(e[a]-i),n[a]=c*(n[a]-i)}}}function oB(t,e,n){for(let r of t){for(let o of r){let[i,s]=IT(o,n);for(let a of o){let c=(s+i)/2;e[a]-=c,n[a]-=c}}NT(r,e,n)}kT(t,e,n)}function CT(t,e,n,r){for(let o of t){let i=new bn,s=0;for(let a of o){let c=-1,f=a.map(h=>Math.abs(n[h]-e[h])),u=a.map(h=>{c=r?r[h]:++c;let d=n[h]-e[h],m=i.has(c)?d-i.get(c):0;return i.set(c,d),m}),p=[0,...Hm(u)];for(let h of a)e[h]+=s,n[h]+=s;let l=Ve(f);l&&(s-=Ve(f,(h,d)=>(u[d]/2+p[d])*h)/l)}NT(o,e,n)}kT(t,e,n)}function NT(t,e,n){let r=St(t,o=>St(o,i=>e[i]));for(let o of t)for(let i of o)e[i]-=r,n[i]-=r}function kT(t,e,n){let r=t.length;if(r===1)return;let o=t.map(a=>a.flat()),i=o.map(a=>(St(a,c=>e[c])+It(a,c=>n[c]))/2),s=St(i);for(let a=0;a<r;a++){let c=s-i[a];for(let f of o[a])e[f]+=c,n[f]+=c}}function iB(t,e,n){if(t===void 0&&e===CT)return _T(Fe);if(t!=null){if(typeof t=="string"){let r=t.startsWith("-"),o=r?ka:Fe;switch((r?t.slice(1):t).toLowerCase()){case"value":case n:return sB(o);case"z":return aB(o);case"sum":return cB(o);case"appearance":return fB(o);case"inside-out":return _T(o)}return MT(v_(t))}if(typeof t=="function")return(t.length===1?MT:uB)(t);if(Pn(t))return lB(t);throw new Error(`invalid order: ${t}`)}}function sB(t){return(e,n,r)=>(o,i)=>t(r[o],r[i])}function aB(t){return(e,n,r,o)=>(i,s)=>t(o[i],o[s])}function cB(t){return e1(t,(e,n,r,o)=>Tc(kn(e),i=>Ve(i,s=>r[s]),i=>o[i]))}function fB(t){return e1(t,(e,n,r,o)=>Tc(kn(e),i=>n[ra(i,s=>r[s])],i=>o[i]))}function _T(t){return e1(t,(e,n,r,o)=>{let i=kn(e),s=Tc(i,p=>n[ra(p,l=>r[l])],p=>o[p]),a=kr(i,p=>Ve(p,l=>r[l]),p=>o[p]),c=[],f=[],u=0;for(let p of s)u<0?(u+=a.get(p),c.push(p)):(u-=a.get(p),f.push(p));return f.reverse().concat(c)})}function MT(t){return e=>{let n=ct(e,t);return(r,o)=>Fe(n[r],n[o])}}function uB(t){return e=>Pn(e)?(n,r)=>t(e[n],e[r]):(n,r)=>t(e.get(n),e.get(r))}function lB(t){return e1(Fe,()=>t)}function e1(t,e){return(n,r,o,i)=>{if(!i)throw new Error("missing channel: z");let s=new bn(e(n,r,o,i).map((a,c)=>[a,c]));return(a,c)=>t(s.get(i[a]),s.get(i[c]))}}var pB={ariaLabel:"rect"},Wa=class extends ft{constructor(e,n={}){let{x1:r,y1:o,x2:i,y2:s}=n;super(e,{x1:{value:r,scale:"x",type:r!=null&&i==null?"band":void 0,optional:!0},y1:{value:o,scale:"y",type:o!=null&&s==null?"band":void 0,optional:!0},x2:{value:i,scale:"x",optional:!0},y2:{value:s,scale:"y",optional:!0}},n,pB),ph(this,n),hh(this,n)}render(e,n,r,o,i){let{x:s,y:a}=n,{x1:c,y1:f,x2:u,y2:p}=r,{marginTop:l,marginRight:h,marginBottom:d,marginLeft:m,width:g,height:y}=o,{projection:x}=i,{insetTop:b,insetRight:w,insetBottom:_,insetLeft:v}=this,{rx:A,ry:E,rx1y1:T,rx1y2:C,rx2y1:S,rx2y2:k}=this;(c||u)&&!x&&tr(s)&&(c=u=null),(f||p)&&!x&&tr(a)&&(f=p=null);let L=s?.bandwidth?s.bandwidth():0,M=a?.bandwidth?a.bandwidth():0;return rt("svg:g",i).call(gt,this,o,i).call(ht,this,{},0,0).call(I=>I.selectAll().data(e).enter().call(T||C||S||k?N=>N.append("path").call(lt,this).call(dh,c&&u?R=>c[R]+(u[R]<c[R]?-w:v):c?R=>c[R]+v:m+v,f&&p?R=>f[R]+(p[R]<f[R]?-_:b):f?R=>f[R]+b:l+b,c&&u?R=>u[R]-(u[R]<c[R]?-v:w):c?R=>c[R]+L-w:g-h-w,f&&p?R=>p[R]-(p[R]<f[R]?-b:_):f?R=>f[R]+M-_:y-d-_,this).call(_t,this,r):N=>N.append("rect").call(lt,this).attr("x",c?u?R=>Math.min(c[R],u[R])+v:R=>c[R]+v:m+v).attr("y",f?p?R=>Math.min(f[R],p[R])+b:R=>f[R]+b:l+b).attr("width",c?u?R=>Math.max(0,Math.abs(u[R]-c[R])+L-v-w):L-v-w:g-h-m-w-v).attr("height",f?p?R=>Math.max(0,Math.abs(f[R]-p[R])+M-b-_):M-b-_:y-l-d-b-_).call(ot,"rx",A).call(ot,"ry",E).call(_t,this,r))).node()}};function ph(t,{inset:e=0,insetTop:n=e,insetRight:r=e,insetBottom:o=e,insetLeft:i=e}={}){t.insetTop=Rt(n),t.insetRight=Rt(r),t.insetBottom=Rt(o),t.insetLeft=Rt(i)}function hh(t,{r:e,rx:n,ry:r,rx1:o=e,ry1:i=e,rx2:s=e,ry2:a=e,rx1y1:c=o!==void 0?+o:i!==void 0?+i:0,rx1y2:f=o!==void 0?+o:a!==void 0?+a:0,rx2y1:u=s!==void 0?+s:i!==void 0?+i:0,rx2y2:p=s!==void 0?+s:a!==void 0?+a:0}={}){c||f||u||p?(t.rx1y1=c,t.rx1y2=f,t.rx2y1=u,t.rx2y2=p):(t.rx=Vt(n,"auto"),t.ry=Vt(r,"auto"))}function dh(t,e,n,r,o,i){let{rx1y1:s,rx1y2:a,rx2y1:c,rx2y2:f}=i;typeof e!="function"&&(e=oe(e)),typeof n!="function"&&(n=oe(n)),typeof r!="function"&&(r=oe(r)),typeof o!="function"&&(o=oe(o));let u=Math.max(Math.abs(s+c),Math.abs(a+f)),p=Math.max(Math.abs(s+a),Math.abs(c+f));t.attr("d",l=>{let h=e(l),d=n(l),m=r(l),g=o(l),y=h>m,x=d>g,b=y?m:h,w=y?h:m,_=x?g:d,v=x?d:g,A=Math.min(1,(w-b)/u,(v-_)/p),E=A*(y?x?f:c:x?a:s),T=A*(y?x?a:s:x?f:c),C=A*(y?x?s:a:x?c:f),S=A*(y?x?c:f:x?s:a);return`M${b},${_+r1(E,S)}A${E},${E} 0 0 ${E<0?0:1} ${b+n1(E,S)},${_}H${w-n1(T,C)}A${T},${T} 0 0 ${T<0?0:1} ${w},${_+r1(T,C)}V${v-r1(C,T)}A${C},${C} 0 0 ${C<0?0:1} ${w-n1(C,T)},${v}H${b+n1(S,E)}A${S},${S} 0 0 ${S<0?0:1} ${b},${v-r1(S,E)}Z`})}function n1(t,e){return e<0?t:Math.abs(t)}function r1(t,e){return e<0?Math.abs(t):t}function mh(t,e){return new Wa(t,v6(_6(e)))}function jf(t,e={}){return xi(e)||(e={...e,y:Xt,x2:X,interval:1}),new Wa(t,Ts(_6(As(e))))}function Xf(t,e={}){return xi(e)||(e={...e,x:Xt,y2:X,interval:1}),new Wa(t,Is(v6(Es(e))))}var hB={ariaLabel:"frame",fill:"none",stroke:"currentColor",clip:!1},dB={ariaLabel:"frame",fill:null,stroke:"currentColor",strokeLinecap:"square",clip:!1},gh=class extends ft{constructor(e={}){let{anchor:n=null}=e;super(fs,void 0,e,n==null?hB:dB),this.anchor=A_(n,"anchor",["top","right","bottom","left"]),ph(this,e),n||hh(this,e)}render(e,n,r,o,i){let{marginTop:s,marginRight:a,marginBottom:c,marginLeft:f,width:u,height:p}=o,{anchor:l,insetTop:h,insetRight:d,insetBottom:m,insetLeft:g}=this,{rx:y,ry:x,rx1y1:b,rx1y2:w,rx2y1:_,rx2y2:v}=this,A=f+g,E=u-a-d,T=s+h,C=p-c-m;return rt(l?"svg:line":b||w||_||v?"svg:path":"svg:rect",i).datum(0).call(gt,this,o,i).call(lt,this).call(_t,this,r).call(ht,this,{}).call(l==="left"?S=>S.attr("x1",A).attr("x2",A).attr("y1",T).attr("y2",C):l==="right"?S=>S.attr("x1",E).attr("x2",E).attr("y1",T).attr("y2",C):l==="top"?S=>S.attr("x1",A).attr("x2",E).attr("y1",T).attr("y2",T):l==="bottom"?S=>S.attr("x1",A).attr("x2",E).attr("y1",C).attr("y2",C):b||w||_||v?S=>S.call(dh,A,T,E,C,this):S=>S.attr("x",A).attr("y",T).attr("width",E-A).attr("height",C-T).attr("rx",y).attr("ry",x)).node()}};function Wf(t){return new gh(t)}var L6={ariaLabel:"tip",fill:"var(--plot-background)",stroke:"currentColor"},mB=new Set(["geometry","href","src","ariaLabel","scales"]),yh=class extends ft{constructor(e,n={}){n.tip&&(n={...n,tip:!1}),n.title===void 0&&Rn(e)&&ux(e)&&(n={...n,title:X});let{x:r,y:o,x1:i,x2:s,y1:a,y2:c,anchor:f,preferredAnchor:u="bottom",monospace:p,fontFamily:l=p?"ui-monospace, monospace":void 0,fontSize:h,fontStyle:d,fontVariant:m,fontWeight:g,lineHeight:y=1,lineWidth:x=20,frameAnchor:b,format:w,textAnchor:_="start",textOverflow:v,textPadding:A=8,title:E,pointerSize:T=12,pathFilter:C="drop-shadow(0 3px 4px rgba(0,0,0,0.2))"}=n;super(e,{x:{value:i!=null&&s!=null?null:r,scale:"x",optional:!0},y:{value:a!=null&&c!=null?null:o,scale:"y",optional:!0},x1:{value:i,scale:"x",optional:s==null},y1:{value:a,scale:"y",optional:c==null},x2:{value:s,scale:"x",optional:i==null},y2:{value:c,scale:"y",optional:a==null},title:{value:E,optional:!0}},n,L6),this.anchor=px(f,"anchor"),this.preferredAnchor=px(u,"preferredAnchor"),this.frameAnchor=_o(b),this.textAnchor=Vt(_,"middle"),this.textPadding=+A,this.pointerSize=+T,this.pathFilter=pe(C),this.lineHeight=+y,this.lineWidth=+x,this.textOverflow=S6(v),this.monospace=!!p,this.fontFamily=pe(l),this.fontSize=Rt(h),this.fontStyle=pe(d),this.fontVariant=pe(m),this.fontWeight=pe(g);for(let S in L6)S in this.channels&&(this[S]=L6[S]);this.splitLines=E6(this),this.clipLine=T6(this),this.format=typeof w=="string"||typeof w=="function"?{title:w}:{...w}}render(e,n,r,o,i){let s=this,{x:a,y:c,fx:f,fy:u}=n,{ownerSVGElement:p,document:l}=i,{anchor:h,monospace:d,lineHeight:m,lineWidth:g}=this,{textPadding:y,pointerSize:x,pathFilter:b}=this,{marginTop:w,marginLeft:_}=o,{x1:v,y1:A,x2:E,y2:T,x:C=v??E,y:S=A??T}=r,k=f?f(e.fx)-_:0,L=u?u(e.fy)-w:0,[M,I]=ze(this,o),N=g6(r,M),R=y6(r,I),$=d?Ux:Yx,O=$(Ya),D,F;"title"in r?(D=RT.call(this,{title:r.channels.title},n),F=bB):(D=RT.call(this,r.channels,n),F=wB);let P=rt("svg:g",i).call(gt,this,o,i).call(A6,this).call(ht,this,{x:C&&a,y:S&&c}).call(tt=>tt.selectAll().data(e).enter().append("g").attr("transform",nt=>`translate(${Math.round(N(nt))},${Math.round(R(nt))})`).call(lt,this).call(nt=>nt.append("path").attr("filter",b)).call(nt=>nt.append("text").each(function(U){let et=At(this);this.setAttribute("fill","currentColor"),this.setAttribute("fill-opacity",1),this.setAttribute("stroke","none");let z=F.call(s,U,e,D,n,r);if(typeof z=="string")for(let G of s.splitLines(z))W(et,{value:s.clipLine(G)});else{let G=new Set;for(let J of z){let{label:q=""}=J;q&&G.has(q)||(G.add(q),W(et,J))}}})));function W(tt,{label:nt,value:U,color:et,opacity:z}){nt??="",U??="";let G=et!=null||z!=null,J,q=g*100,[bt]=ja(nt,q,$,O);if(bt>=0)nt=nt.slice(0,bt).trimEnd()+Ya,J=U.trim(),U="";else{(nt||!U&&!G)&&(U=" "+U);let[Et]=ja(U,q-$(nt),$,O);Et>=0&&(J=U.trim(),U=U.slice(0,Et).trimEnd()+Ya)}let st=tt.append("tspan").attr("x",0).attr("dy",`${m}em`).text("\u200B");nt&&st.append("tspan").attr("font-weight","bold").text(nt),U&&st.append(()=>l.createTextNode(U)),G&&st.append("tspan").text(" \u25A0").attr("fill",et).attr("fill-opacity",z).style("user-select","none"),J&&st.append("title").text(J)}function K(){let{width:tt,height:nt}=o.facet??o;P.selectChildren().each(function(U){let{x:et,width:z,height:G}=this.getBBox();z=Math.round(z),G=Math.round(G);let J=h;if(J===void 0){let st=N(U)+k,Et=R(U)+L,Ct=st+z+x+y*2<tt,Q=st-z-x-y*2>0,qt=Et+G+x+y*2<nt,Bn=Et-G-x-y*2>0;J=Ct&&Q?qt&&Bn?s.preferredAnchor:Bn?"bottom":"top":qt&&Bn?Ct?"left":"right":(Ct||Q)&&(qt||Bn)?`${Bn?"bottom":"top"}-${Ct?"left":"right"}`:s.preferredAnchor}let q=this.firstChild,bt=this.lastChild;if(q.setAttribute("d",xB(J,x,y,z,G)),et)for(let st of bt.childNodes)st.setAttribute("x",-et);bt.setAttribute("y",`${+gB(J,bt.childNodes.length,m).toFixed(6)}em`),bt.setAttribute("transform",`translate(${yB(J,x,y,z,G)})`)}),P.attr("visibility",null)}return e.length&&(P.attr("visibility","hidden"),p.isConnected?Promise.resolve().then(K):typeof requestAnimationFrame<"u"&&requestAnimationFrame(K)),P.node()}};function i1(t,{x:e,y:n,...r}={}){return r.frameAnchor===void 0&&([e,n]=ce(e,n)),new yh(t,{...r,x:e,y:n})}function gB(t,e,n){return/^top(?:-|$)/.test(t)?.94-n:-.29-e*n}function yB(t,e,n,r,o){switch(t){case"middle":return[-r/2,o/2];case"top-left":return[n,e+n];case"top":return[-r/2,e/2+n];case"top-right":return[-r-n,e+n];case"right":return[-e/2-r-n,o/2];case"bottom-left":return[n,-e-n];case"bottom":return[-r/2,-e/2-n];case"bottom-right":return[-r-n,-e-n];case"left":return[n+e/2,o/2]}}function xB(t,e,n,r,o){let i=r+n*2,s=o+n*2;switch(t){case"middle":return`M${-i/2},${-s/2}h${i}v${s}h${-i}z`;case"top-left":return`M0,0l${e},${e}h${i-e}v${s}h${-i}z`;case"top":return`M0,0l${e/2},${e/2}h${(i-e)/2}v${s}h${-i}v${-s}h${(i-e)/2}z`;case"top-right":return`M0,0l${-e},${e}h${e-i}v${s}h${i}z`;case"right":return`M0,0l${-e/2},${-e/2}v${e/2-s/2}h${-i}v${s}h${i}v${e/2-s/2}z`;case"bottom-left":return`M0,0l${e},${-e}h${i-e}v${-s}h${-i}z`;case"bottom":return`M0,0l${e/2},${-e/2}h${(i-e)/2}v${-s}h${-i}v${s}h${(i-e)/2}z`;case"bottom-right":return`M0,0l${-e},${-e}h${e-i}v${-s}h${i}z`;case"left":return`M0,0l${e/2},${-e/2}v${e/2-s/2}h${i}v${s}h${-i}v${e/2-s/2}z`}}function RT(t,e){let n={},r=this.format;r=LT(r,t,"x"),r=LT(r,t,"y"),this.format=r;for(let o in r){let i=r[o];if(!(i===null||i===!1))if(o==="fx"||o==="fy")n[o]=!0;else{let s=eh(t,o);s&&(n[o]=s)}}for(let o in t){if(o in n||o in r||mB.has(o)||(o==="x"||o==="y")&&t.geometry)continue;let i=eh(t,o);if(i){if(i.scale==null&&i.defaultScale==="color")continue;n[o]=i}}this.facet&&(e.fx&&!("fx"in r)&&(n.fx=!0),e.fy&&!("fy"in r)&&(n.fy=!0));for(let o in n){let i=this.format[o];if(typeof i=="string"){let s=n[o]?.value??e[o]?.domain()??[];this.format[o]=(re(s)?go:hr)(i)}else if(i===void 0||i===!0){let s=e[o];this.format[o]=s?.bandwidth?lh(s,s.domain()):To}}return n}function LT(t,e,n){if(!(n in t))return t;let r=`${n}1`,o=`${n}2`;if((r in t||!(r in e))&&(o in t||!(o in e)))return t;let i=Object.entries(t),s=t[n];return i.splice(i.findIndex(([a])=>a===n)+1,0,[r,s],[o,s]),Object.fromEntries(i)}function bB(t,e,{title:n}){return this.format.title(n.value[t],t)}function*wB(t,e,n,r,o){for(let i in n){if(i==="fx"||i==="fy"){yield{label:o1(r,n,i),value:this.format[i](e[i],t)};continue}if(i==="x1"&&"x2"in n||i==="y1"&&"y2"in n)continue;let s=n[i];if(i==="x2"&&"x1"in n)yield{label:$T(r,n,"x"),value:OT(this.format.x2,n.x1,s,t)};else if(i==="y2"&&"y1"in n)yield{label:$T(r,n,"y"),value:OT(this.format.y2,n.y1,s,t)};else{let a=s.value[t],c=s.scale;if(!Jt(a)&&c==null)continue;yield{label:o1(r,n,i),value:this.format[i](a,t),color:c==="color"?o[i][t]:null,opacity:c==="opacity"?o[i][t]:null}}}}function OT(t,e,n,r){return n.hint?.length?`${t(n.value[r]-e.value[r],r)}`:`${t(e.value[r],r)}\u2013${t(n.value[r],r)}`}function $T(t,e,n){let r=o1(t,e,`${n}1`,n),o=o1(t,e,`${n}2`,n);return r===o?r:`${r}\u2013${o}`}function o1(t,e,n,r=n){let o=e[n],i=t[o?.scale??n];return String(i?.label??o?.label??r)}function Gf(t={}){let{facet:e,style:n,title:r,subtitle:o,caption:i,ariaLabel:s,ariaDescription:a}=t,c=vs(t.className),f=t.marks===void 0?[]:FT(t.marks);f.push(...EB(f));let u=SB(e,t),p=new Map;for(let O of f){let D=PT(O,u,t);D&&p.set(O,D)}let l=new Map;u&&xh(l,[u],t),xh(l,p,t);let h=FT(TB(f,l,t));for(let O of h){let D=PT(O,u,t);D&&p.set(O,D)}f.unshift(...h);let d=lE(l,t);if(d!==void 0){let O=u?kx(d,u):void 0;for(let F of f){if(F.facet===null||F.facet==="super")continue;let P=p.get(F);P!==void 0&&(P.facetsIndex=F.fx!=null||F.fy!=null?kx(d,P):O)}let D=new Set;for(let{facetsIndex:F}of p.values())F?.forEach((P,W)=>{P?.length>0&&D.add(W)});d.forEach(0<D.size&&D.size<d.length?(F,P)=>F.empty=!D.has(P):F=>F.empty=!1);for(let F of f)if(F.facet==="exclude"){let P=p.get(F);P!==void 0&&(P.facetsIndex=dE(P.facetsIndex))}}for(let O of Yt.keys())bo(t[O])&&O!=="fx"&&O!=="fy"&&l.set(O,[]);let m=new Map;for(let O of f){if(m.has(O))throw new Error("duplicate mark; each mark must be unique");let{facetsIndex:D,channels:F}=p.get(O)??{},{data:P,facets:W,channels:K}=O.initialize(D,F,t);D6(K,t),m.set(O,{data:P,facets:W,channels:K})}let g=oh(xh(l,m,t),t),y=IE(g,f,t);oE(g,y);let x=e6(g),{fx:b,fy:w}=x,_=b||w?n6(g,y):y,v=b||w?OB(x,y):y,A=bs(t),E=A.document,T=Ko("svg").call(E.documentElement),C=T;A.ownerSVGElement=T,A.className=c,A.projection=yE(t,_),A.filterFacets=(O,D)=>kx(d,{channels:D,groups:Cx(O,D)}),A.getMarkState=O=>{let D=m.get(O),F=p.get(O);return{...D,channels:{...D.channels,...F?.channels}}},A.dispatchValue=O=>{C.value!==O&&(C.value=O,C.dispatchEvent(new Event("input",{bubbles:!0})))};let S=new Set;for(let[O,D]of m)if(O.initializer!=null){let F=O.facet==="super"?v:_,P=O.initializer(D.data,D.facets,D.channels,x,F,A);if(P.data!==void 0&&(D.data=P.data),P.facets!==void 0&&(D.facets=P.facets),P.channels!==void 0){let{fx:W,fy:K,...tt}=P.channels;MB(tt),Object.assign(D.channels,tt);for(let nt of Object.values(tt)){let{scale:U}=nt;U!=null&&!o7(Yt.get(U))&&(zT(nt,t),S.add(U))}(W!=null||K!=null)&&p.set(O,!0)}}if(S.size){let O=new Map;xh(O,m,t,W=>S.has(W)),xh(l,m,t,W=>S.has(W));let D=LB(oh(O,t),g),{scales:F,...P}=e6(D);Object.assign(g,D),Object.assign(x,P),Object.assign(x.scales,F)}let k,L;d!==void 0&&(k={x:b?.domain(),y:w?.domain()},d=pE(d,k),L=hE(b,w,y));for(let[O,D]of m)D.values=O.scale(D.channels,x,A);let{width:M,height:I}=y;At(T).attr("class",c).attr("fill","currentColor").attr("font-family","system-ui, sans-serif").attr("font-size",10).attr("text-anchor","middle").attr("width",M).attr("height",I).attr("viewBox",`0 0 ${M} ${I}`).attr("aria-label",s).attr("aria-description",a).call(O=>O.append("style").text(`:where(.${c}) {
51
51
  --plot-background: white;
52
52
  display: block;
53
53
  height: auto;
@@ -57,4 +57,4 @@ ${m}`)).style("margin-left",f?`${+f}px`:null).style("width",p===void 0?null:`${+
57
57
  :where(.${c} text),
58
58
  :where(.${c} tspan) {
59
59
  white-space: pre;
60
- }`)).call(zc,n);for(let R of f){let{channels:D,values:F,facets:P}=m.get(R);if(d===void 0||R.facet==="super"){let V=null;if(P&&(V=P[0],V=R.filter(V,D,F),V.length===0))continue;let J=R.render(V,x,F,v,A);if(J==null)continue;E.appendChild(J)}else{let V;for(let J of d){if(!(R.facetAnchor?.(d,k,J)??!J.empty))continue;let et=null;if(P){let j=u.has(R);if(et=P[j?J.i:0],et=R.filter(et,D,F),et.length===0)continue;!j&&et===P[0]&&(et=Uo(et)),et.fx=J.x,et.fy=J.y,et.fi=J.i}let rt=R.render(et,x,F,_,A);if(rt!=null){(V??=bt(E).append("g")).append(()=>rt).datum(J);for(let j of["aria-label","aria-description","aria-hidden","transform"])rt.hasAttribute(j)&&(V.attr(j,rt.getAttribute(j)),rt.removeAttribute(j))}}V?.selectChildren().attr("transform",O)}}let C=hA(g,A,t),{figure:N=r!=null||o!=null||i!=null||C.length>0}=t;N&&($=T.createElement("figure"),$.className=`${c}-figure`,$.style.maxWidth="initial",r!=null&&$.append(IA(T,r,"h2")),o!=null&&$.append(IA(T,o,"h3")),$.append(...C,E),i!=null&&$.append(qP(T,i)),"value"in E&&($.value=E.value,delete E.value)),$.scale=t7(x.scales),$.legend=uA(g,A,t);let L=kS();return L>0&&bt(E).append("text").attr("x",M).attr("y",20).attr("dy","-1em").attr("text-anchor","end").attr("font-family","initial").text("\u26A0\uFE0F").append("title").text(`${L.toLocaleString("en-US")} warning${L===1?"":"s"}. Please check the console.`),$}function IA(t,e,n){if(e.ownerDocument)return e;let r=t.createElement(n);return r.append(e),r}function qP(t,e){let n=t.createElement("figcaption");return n.append(e),n}function $A(t){return t.flat(1/0).filter(e=>e!=null).map(BP)}function BP(t){return typeof t.render=="function"?t:new Iv(t)}var Iv=class extends lt{constructor(e){if(typeof e!="function")throw new TypeError("invalid mark; missing render function");super(),this.render=e}render(){}};function $v(t,e){for(let n in t)OA(t[n],e);return t}function OA(t,e){let{scale:n,transform:r=!0}=t;if(n==null||!r)return;let{type:o,percent:i,interval:s,transform:a=i?c=>c==null?NaN:c*100:_w(s,o)}=e[n]??{};a!=null&&(t.value=Mt(t.value,a),t.transform=!1)}function zP(t){for(let e in t)Pw(e,t[e])}function ep(t,e,n,r=D8){for(let{channels:o}of e.values())for(let i in o){let s=o[i],{scale:a}=s;if(a!=null&&r(a))if(a==="projection"){if(!u7(n)){let c=n.x?.domain===void 0,f=n.y?.domain===void 0;if(c||f){let[l,u]=h7(s);c&&Tv(t,"x",l),f&&Tv(t,"y",u)}}}else Tv(t,a,s)}return t}function Tv(t,e,n){let r=t.get(e);r!==void 0?r.push(n):t.set(e,[n])}function YP(t,e){if(t==null)return;let{x:n,y:r}=t;if(n==null&&r==null)return;let o=zo(t.data);if(o==null)throw new Error("missing facet data");let i={};n!=null&&(i.fx=Rc(o,{value:n,scale:"fx"})),r!=null&&(i.fy=Rc(o,{value:r,scale:"fy"})),$v(i,e);let s=zg(o,i);return{channels:i,groups:s,data:t.data}}function CA(t,e,n){if(t.facet===null||t.facet==="super")return;let{fx:r,fy:o}=t;if(r!=null||o!=null){let c=zo(t.data??r??o);if(c===void 0)throw new Error(`missing facet data in ${t.ariaLabel}`);if(c===null)return;let f={};return r!=null&&(f.fx=Rc(c,{value:r,scale:"fx"})),o!=null&&(f.fy=Rc(c,{value:o,scale:"fy"})),$v(f,n),{channels:f,groups:zg(c,f)}}if(e===void 0)return;let{channels:i,groups:s,data:a}=e;if(t.facet!=="auto"||t.data===a)return{channels:i,groups:s};a.length>0&&(s.size>1||s.size===1&&i.fx&&i.fy&&[...s][0][1].size>1)&&Di(zo(t.data))===Di(a)&&Je(`Warning: the ${t.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 UP(t,e={}){return jt({...e,x:null,y:null},(n,r,o,i,s,a)=>a.getMarkState(t))}function jP(t){let e=[];for(let n of t){let r=n.tip;if(r){r===!0?r={}:typeof r=="string"&&(r={pointer:r});let{pointer:o,preferredAnchor:i}=r;o=/^x$/i.test(o)?Vi:/^y$/i.test(o)?Zo:Gi,r=o(UP(n,r)),r.title=null,i===void 0&&(r.preferredAnchor=o===Zo?"left":"bottom");let s=yy(n.data,r);s.facet=n.facet,s.facetAnchor=n.facetAnchor,e.push(s)}}return e}function XP(t,e,n){let{projection:r,x:o={},y:i={},fx:s={},fy:a={},axis:c,grid:f,facet:l={},facet:{axis:u=c,grid:p}=l,x:{axis:h=c,grid:d=h===null?null:f}=o,y:{axis:m=c,grid:g=m===null?null:f}=i,fx:{axis:y=u,grid:x=y===null?null:p}=s,fy:{axis:w=u,grid:b=w===null?null:p}=a}=n;(r||!Xr(o)&&!kA("x",t))&&(h=d=null),(r||!Xr(i)&&!kA("y",t))&&(m=g=null),e.has("fx")||(y=x=null),e.has("fy")||(w=b=null),h===void 0&&(h=!wy(t,"x")),m===void 0&&(m=!wy(t,"y")),y===void 0&&(y=!wy(t,"fx")),w===void 0&&(w=!wy(t,"fy")),h===!0&&(h="bottom"),m===!0&&(m="left"),y===!0&&(y=h==="top"||h===null?"bottom":"top"),w===!0&&(w=m==="right"||m===null?"left":"right");let _=[];return by(_,b,cy,a),xy(_,w,iy,"right","left",l,a),by(_,x,ly,s),xy(_,y,sy,"top","bottom",l,s),by(_,g,ay,i),xy(_,m,Gu,"left","right",n,i),by(_,d,fy,o),xy(_,h,Vu,"bottom","top",n,o),_}function xy(t,e,n,r,o,i,s){if(!e)return;let a=GP(e);s=VP(a?r:e,i,s);let{line:c}=s;(n===Gu||n===Vu)&&c&&!Xo(c)&&t.push(Zc(WP(s))),t.push(n(s)),a&&t.push(n({...s,anchor:o,label:null}))}function by(t,e,n,r){!e||Xo(e)||t.push(n(HP(e,r)))}function GP(t){return/^\s*both\s*$/i.test(t)}function VP(t,e,{line:n=e.line,ticks:r,tickSize:o,tickSpacing:i,tickPadding:s,tickFormat:a,tickRotate:c,fontVariant:f,ariaLabel:l,ariaDescription:u,label:p=e.label,labelAnchor:h,labelArrow:d=e.labelArrow,labelOffset:m}){return{anchor:t,line:n,ticks:r,tickSize:o,tickSpacing:i,tickPadding:s,tickFormat:a,tickRotate:c,fontVariant:f,ariaLabel:l,ariaDescription:u,label:p,labelAnchor:h,labelArrow:d,labelOffset:m}}function WP(t){let{anchor:e,line:n}=t;return{anchor:e,facetAnchor:e+"-empty",stroke:n===!0?void 0:n}}function HP(t,{stroke:e=Pi(t)?t:void 0,ticks:n=QP(t)?t:void 0,tickSpacing:r,ariaLabel:o,ariaDescription:i}){return{stroke:e,ticks:n,tickSpacing:r,ariaLabel:o,ariaDescription:i}}function QP(t){switch(typeof t){case"number":return!0;case"string":return!Pi(t)}return gn(t)||typeof t?.range=="function"}function wy(t,e){let n=`${e}-axis `;return t.some(r=>r.ariaLabel?.startsWith(n))}function kA(t,e){for(let n of e)for(let r in n.channels){let{scale:o}=n.channels[r];if(o===t||o==="projection")return!0}return!1}function ZP(t,e){for(let n in t){let r=t[n],o=e[n];r.label===void 0&&o&&(r.label=o.label)}return t}function KP({fx:t,fy:e},n){let{marginTop:r,marginRight:o,marginBottom:i,marginLeft:s,width:a,height:c}=Pg(n),f=t&&NA(t),l=e&&NA(e);return{marginTop:e?l[0]:r,marginRight:t?a-f[1]:o,marginBottom:e?c-l[1]:i,marginLeft:t?f[0]:s,inset:{marginTop:n.marginTop,marginRight:n.marginRight,marginBottom:n.marginBottom,marginLeft:n.marginLeft},width:a,height:c}}function NA(t){let e=t.domain();if(e.length===0)return[0,t.bandwidth()];let n=t(e[0]),r=t(e[e.length-1]);return r<n&&([n,r]=[r,n]),[n,r+t.bandwidth()]}var JP=new Map([["basis",B2],["basis-closed",z2],["basis-open",Y2],["bundle",U2],["bump-x",L2],["bump-y",D2],["cardinal",j2],["cardinal-closed",X2],["cardinal-open",G2],["catmull-rom",V2],["catmull-rom-closed",W2],["catmull-rom-open",H2],["linear",Fo],["linear-closed",Q2],["monotone-x",K2],["monotone-y",J2],["natural",tw],["step",ew],["step-after",rw],["step-before",nw]]);function np(t=Fo,e){if(typeof t=="function")return t;let n=JP.get(`${t}`.toLowerCase());if(!n)throw new Error(`unknown curve: ${t}`);if(e!==void 0){if("beta"in n)return n.beta(e);if("tension"in n)return n.tension(e);if("alpha"in n)return n.alpha(e)}return n}function vy(t=Ji,e){return typeof t!="function"&&`${t}`.toLowerCase()==="auto"?Ji:np(t,e)}function Ji(t){return Fo(t)}function eo(t={y:"count"},e={}){[t,e]=kv(t,e);let{x:n,y:r}=e;return Cv(_y(n,e,G),null,null,r,t,ra(e))}function no(t={x:"count"},e={}){[t,e]=kv(t,e);let{x:n,y:r}=e;return Cv(null,_y(r,e,G),n,null,t,oa(e))}function Jo(t={fill:"count"},e={}){[t,e]=kv(t,e);let{x:n,y:r}=tq(e);return Cv(n,r,null,null,t,ra(oa(e)))}function DA(t,e,n={}){if(n?.interval==null)return n;let{reduce:r=Ng}=n,o={filter:null};return n[e]!=null&&(o[e]=r),n[`${e}1`]!=null&&(o[`${e}1`]=r),n[`${e}2`]!=null&&(o[`${e}2`]=r),t(o,n)}function Jc(t={}){return DA(eo,"y",gr(t,"x"))}function tf(t={}){return DA(no,"x",gr(t,"y"))}function Cv(t,e,n,r,{data:o=kg,filter:i=Ru,sort:s,reverse:a,...c}={},f={}){t=RA(t),e=RA(e),c=eq(c,f),o=qA(o,G),s=s==null?void 0:FA("sort",s,f),i=i==null?void 0:PA("filter",i,f),n!=null&&Qr(c,"x","x1","x2")&&(n=null),r!=null&&Qr(c,"y","y1","y2")&&(r=null);let[l,u]=ze(t),[p,h]=ze(t),[d,m]=ze(e),[g,y]=ze(e),[x,w]=n!=null?[n,"x"]:r!=null?[r,"y"]:[],[b,_]=ze(x),{x:v,y:A,z:T,fill:E,stroke:$,x1:S,x2:k,y1:O,y2:M,domain:I,cumulative:C,thresholds:N,interval:L,...R}=f,[D,F]=ze(T),[P]=Kt(E),[V]=Kt($),[J,et]=ze(P),[rt,j]=ze(V);return{..."z"in f&&{z:D||T},..."fill"in f&&{fill:J||E},..."stroke"in f&&{stroke:rt||$},...me(R,(nt,z,W)=>{let tt=Ks(ft(nt,x),W?.[w]),q=ft(nt,T),gt=ft(nt,P),at=ft(nt,V),At=Fu(c,{z:q,fill:gt,stroke:at}),It=[],Z=[],Dt=tt&&_([]),Mn=q&&F([]),wr=gt&&et([]),b9=at&&j([]),B_=t&&u([]),w9=t&&h([]),z_=e&&m([]),v9=e&&y([]),_9=oq(t,e,nt),M9=0;for(let ba of c)ba.initialize(nt);s&&s.initialize(nt),i&&i.initialize(nt);for(let ba of z){let Y_=[];for(let wa of c)wa.scope("facet",ba);s&&s.scope("facet",ba),i&&i.scope("facet",ba);for(let[wa,S9]of Hr(ba,At))for(let[A9,Up]of Hr(S9,tt))for(let[vr,co]of _9(Up))if(At&&(co.z=wa),!(i&&!i.reduce(vr,co))){Y_.push(M9++),Z.push(o.reduceIndex(vr,nt,co)),tt&&Dt.push(A9),q&&Mn.push(At===q?wa:q[(vr.length>0?vr:Up)[0]]),gt&&wr.push(At===gt?wa:gt[(vr.length>0?vr:Up)[0]]),at&&b9.push(At===at?wa:at[(vr.length>0?vr:Up)[0]]),B_&&(B_.push(co.x1),w9.push(co.x2)),z_&&(z_.push(co.y1),v9.push(co.y2));for(let E9 of c)E9.reduce(vr,co);s&&s.reduce(vr,co)}It.push(Y_)}return Lw(It,s,a),{data:Z,facets:It}}),...!Qr(c,"x")&&(l?{x1:l,x2:p,x:$c(l,p)}:{x:v,x1:S,x2:k}),...!Qr(c,"y")&&(d?{y1:d,y2:g,y:$c(d,g)}:{y:A,y1:O,y2:M}),...b&&{[w]:b},...Object.fromEntries(c.map(({name:nt,output:z})=>[nt,z]))}}function kv({cumulative:t,domain:e,thresholds:n,interval:r,...o},i){return[o,{cumulative:t,domain:e,thresholds:n,interval:r,...i}]}function _y(t,{cumulative:e,domain:n,thresholds:r,interval:o},i){return t={...nr(t)},t.domain===void 0&&(t.domain=n),t.cumulative===void 0&&(t.cumulative=e),t.thresholds===void 0&&(t.thresholds=r),t.interval===void 0&&(t.interval=o),t.value===void 0&&(t.value=i),t.thresholds=Nv(t.thresholds,t.interval),t}function tq(t){let{x:e,y:n}=t;return e=_y(e,t),n=_y(n,t),[e.value,n.value]=oe(e.value,n.value),{x:e,y:n}}function RA(t){if(t==null)return;let{value:e,cumulative:n,domain:r=kt,thresholds:o}=t,i=s=>{let a=ft(s,e),c;if(Jt(a)||rq(o)){a=Mt(a,yw,Float64Array);let[l,u]=typeof r=="function"?r(a):r,p=typeof o=="function"&&!Fi(o)?o(a,l,u):o;typeof p=="number"&&(p=eu(l,u,p)),Fi(p)&&(r===kt&&(l=p.floor(l),u=p.offset(p.floor(u))),p=p.range(l,p.offset(u))),c=p}else{a=de(a);let[l,u]=typeof r=="function"?r(a):r,p=typeof o=="function"&&!Fi(o)?o(a,l,u):o;if(typeof p=="number")if(r===kt){let h=bo(l,u,p);if(isFinite(h))if(h>0){let d=Math.round(l/h),m=Math.round(u/h);d*h<=l||--d,m*h>u||++m;let g=m-d+1;p=new Float64Array(g);for(let y=0;y<g;++y)p[y]=(d+y)*h}else if(h<0){h=-h;let d=Math.round(l*h),m=Math.round(u*h);d/h<=l||--d,m/h>u||++m;let g=m-d+1;p=new Float64Array(g);for(let y=0;y<g;++y)p[y]=(d+y)/h}else p=[l];else p=[l]}else p=Fe(l,u,p);else Fi(p)&&(r===kt&&(l=p.floor(l),u=p.offset(p.floor(u))),p=p.range(l,p.offset(u)));c=p}let f=[];if(c.length===1)f.push([c[0],c[0]]);else for(let l=1;l<c.length;++l)f.push([c[l-1],c[l]]);return f.bin=(n<0?sq:n>0?iq:Ov)(f,c,a),f};return i.label=Ye(e),i}function Nv(t,e,n=LA){if(t===void 0)return e===void 0?n:Vr(e);if(typeof t=="string"){switch(t.toLowerCase()){case"freedman-diaconis":return pd;case"scott":return Qf;case"sturges":return di;case"auto":return LA}return Qs(t)}return t}function eq(t,e){return Ow(t,e,FA)}function FA(t,e,n){return $g(t,e,n,PA)}function PA(t,e,n){return Cg(t,e,n,qA)}function qA(t,e){return Oc(t,e,nq)}function nq(t){switch(`${t}`.toLowerCase()){case"x":return aq;case"x1":return fq;case"x2":return lq;case"y":return cq;case"y1":return uq;case"y2":return pq;case"z":return Dw}throw new Error(`invalid bin reduce: ${t}`)}function LA(t,e,n){return Math.min(200,Qf(t,e,n))}function rq(t){return q8(t)||gn(t)&&Jt(t)}function oq(t,e,n){let r=t?.(n),o=e?.(n);return r&&o?function*(i){let s=r.bin(i);for(let[a,[c,f]]of r.entries()){let l=o.bin(s[a]);for(let[u,[p,h]]of o.entries())yield[l[u],{data:n,x1:c,y1:p,x2:f,y2:h}]}}:r?function*(i){let s=r.bin(i);for(let[a,[c,f]]of r.entries())yield[s[a],{data:n,x1:c,x2:f}]}:function*(i){let s=o.bin(i);for(let[a,[c,f]]of o.entries())yield[s[a],{data:n,y1:c,y2:f}]}}function Ov(t,e,n){return e=de(e),r=>{let o=t.map(()=>[]);for(let i of r)o[yo(e,n[i])-1]?.push(i);return o}}function iq(t,e,n){let r=Ov(t,e,n);return o=>{let i=r(o);for(let s=1,a=i.length;s<a;++s){let c=i[s-1],f=i[s];for(let l of c)f.push(l)}return i}}function sq(t,e,n){let r=Ov(t,e,n);return o=>{let i=r(o);for(let s=i.length-2;s>=0;--s){let a=i[s+1],c=i[s];for(let f of a)c.push(f)}return i}}function BA(t,e){let n=(+t+ +e)/2;return t instanceof Date?new Date(n):n}var aq={reduceIndex(t,e,{x1:n,x2:r}){return BA(n,r)}},cq={reduceIndex(t,e,{y1:n,y2:r}){return BA(n,r)}},fq={reduceIndex(t,e,{x1:n}){return n}},lq={reduceIndex(t,e,{x2:n}){return n}},uq={reduceIndex(t,e,{y1:n}){return n}},pq={reduceIndex(t,e,{y2:n}){return n}};var hq={ariaLabel:"area",strokeWidth:1,strokeLinecap:"round",strokeLinejoin:"round",strokeMiterlimit:1},la=class extends lt{constructor(e,n={}){let{x1:r,y1:o,x2:i,y2:s,z:a,curve:c,tension:f}=n;super(e,{x1:{value:r,scale:"x"},y1:{value:o,scale:"y"},x2:{value:i,scale:"x",optional:!0},y2:{value:s,scale:"y",optional:!0},z:{value:Ke(n),optional:!0}},n,hq),this.z=a,this.curve=np(c,f)}filter(e){return e}render(e,n,r,o,i){let{x1:s,y1:a,x2:c=s,y2:f=a}=r;return ot("svg:g",i).call(mt,this,o,i).call(pt,this,n,0,0).call(l=>l.selectAll().data(Vg(e,[s,a,c,f],this,r)).enter().append("path").call(ut,this).call(na,this,r).attr("d",xc().curve(this.curve).defined(u=>u>=0).x0(u=>s[u]).y0(u=>a[u]).x1(u=>c[u]).y1(u=>f[u]))).node()}};function rp(t,e){return e===void 0?ti(t,{x:Zs,y:Ri}):new la(t,e)}function ts(t,e){let{y:n=Yt,...r}=tf(e);return new la(t,Zi(Hi({...r,y1:n,y2:void 0})))}function ti(t,e){let{x:n=Yt,...r}=Jc(e);return new la(t,Ki(Qi({...r,x1:n,x2:void 0})))}var dq={ariaLabel:"link",fill:"none",stroke:"currentColor",strokeMiterlimit:1},op=class extends lt{constructor(e,n={}){let{x1:r,y1:o,x2:i,y2:s,curve:a,tension:c}=n;super(e,{x1:{value:r,scale:"x"},y1:{value:o,scale:"y"},x2:{value:i,scale:"x",optional:!0},y2:{value:s,scale:"y",optional:!0}},n,dq),this.curve=vy(a,c),yr(this,n)}project(e,n,r){this.curve!==Ji&&super.project(e,n,r)}render(e,n,r,o,i){let{x1:s,y1:a,x2:c=s,y2:f=a}=r,{curve:l}=this;return ot("svg:g",i).call(mt,this,o,i).call(pt,this,n).call(u=>u.selectAll().data(e).enter().append("path").call(ut,this).attr("d",l===Ji&&i.projection?mq(i.projection,s,a,c,f):p=>{let h=fn(),d=l(h);return d.lineStart(),d.point(s[p],a[p]),d.point(c[p],f[p]),d.lineEnd(),h}).call(vt,this,r).call(Ko,this,r,i)).node()}};function mq(t,e,n,r,o){let i=Se(t);return e=de(e),n=de(n),r=de(r),o=de(o),s=>i({type:"LineString",coordinates:[[e[s],n[s]],[r[s],o[s]]]})}function My(t,{x:e,x1:n,x2:r,y:o,y1:i,y2:s,...a}={}){return[n,r]=ip(e,n,r),[i,s]=ip(o,i,s),new op(t,{...a,x1:n,x2:r,y1:i,y2:s})}function ip(t,e,n){if(t===void 0){if(e===void 0){if(n!==void 0)return[n]}else if(n===void 0)return[e]}else{if(e===void 0)return n===void 0?[t]:[t,n];if(n===void 0)return[t,e]}return[e,n]}var gq={ariaLabel:"arrow",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeMiterlimit:1,strokeWidth:1.5},sp=class extends lt{constructor(e,n={}){let{x1:r,y1:o,x2:i,y2:s,bend:a=0,headAngle:c=60,headLength:f=8,inset:l=0,insetStart:u=l,insetEnd:p=l,sweep:h}=n;super(e,{x1:{value:r,scale:"x"},y1:{value:o,scale:"y"},x2:{value:i,scale:"x",optional:!0},y2:{value:s,scale:"y",optional:!0}},n,gq),this.bend=a===!0?22.5:Math.max(-90,Math.min(90,a)),this.headAngle=+c,this.headLength=+f,this.insetStart=+u,this.insetEnd=+p,this.sweep=yq(h)}render(e,n,r,o,i){let{x1:s,y1:a,x2:c=s,y2:f=a,SW:l}=r,{strokeWidth:u,bend:p,headAngle:h,headLength:d,insetStart:m,insetEnd:g}=this,y=l?b=>l[b]:te(u===void 0?1:u),x=h*Yc/2,w=d/1.5;return ot("svg:g",i).call(mt,this,o,i).call(pt,this,n).call(b=>b.selectAll().data(e).enter().append("path").call(ut,this).attr("d",_=>{let v=s[_],A=a[_],T=c[_],E=f[_],$=Math.hypot(T-v,E-A);if($<=m+g)return null;let S=Math.atan2(E-A,T-v),k=Math.min(w*y(_),$/3),O=this.sweep(v,A,T,E)*p*Yc,M=Math.hypot($/Math.tan(O),$)/2;if(m||g)if(M<1e5){let J=Math.sign(O),[et,rt]=xq([v,A],[T,E],M,J);if(m&&([v,A]=zA([et,rt,M],[v,A,m],-J*Math.sign(m))),g){let[j,nt]=zA([et,rt,M],[T,E,g],J*Math.sign(g));S+=Math.atan2(nt-rt,j-et)-Math.atan2(E-rt,T-et),T=j,E=nt}}else{let J=T-v,et=E-A,rt=Math.hypot(J,et);m&&(v+=J/rt*m,A+=et/rt*m),g&&(T-=J/rt*g,E-=et/rt*g)}let I=S+O,C=I+x,N=I-x,L=T-k*Math.cos(C),R=E-k*Math.sin(C),D=T-k*Math.cos(N),F=E-k*Math.sin(N),P=M<1e5?`A${M},${M} 0,0,${O>0?1:0} `:"L",V=k?`M${L},${R}L${T},${E}L${D},${F}`:"";return`M${v},${A}${P}${T},${E}${V}`}).call(vt,this,r)).node()}};function yq(t=1){if(typeof t=="number")return te(Math.sign(t));if(typeof t=="function")return(e,n,r,o)=>Math.sign(t(e,n,r,o));switch(be(t,"sweep",["+x","-x","+y","-y"])){case"+x":return(e,n,r)=>ht(e,r);case"-x":return(e,n,r)=>en(e,r);case"+y":return(e,n,r,o)=>ht(n,o);case"-y":return(e,n,r,o)=>en(n,o)}}function xq([t,e],[n,r],o,i){let s=n-t,a=r-e,c=Math.hypot(s,a),f=i*Math.sqrt(o*o-c*c/4)/c;return[(t+n)/2-a*f,(e+r)/2+s*f]}function zA([t,e,n],[r,o,i],s){let a=r-t,c=o-e,f=Math.hypot(a,c),l=(a*a+c*c-i*i+n*n)/(2*f),u=s*Math.sqrt(n*n-l*l);return[t+(a*l+c*u)/f,e+(c*l-a*u)/f]}function YA(t,{x:e,x1:n,x2:r,y:o,y1:i,y2:s,...a}={}){return[n,r]=ip(e,n,r),[i,s]=ip(o,i,s),new sp(t,{...a,x1:n,x2:r,y1:i,y2:s})}var bq={ariaLabel:"bar"},ef=class extends lt{constructor(e,n,r={},o=bq){super(e,n,r,o),Hu(this,r),Qu(this,r)}render(e,n,r,o,i){let{rx:s,ry:a,rx1y1:c,rx1y2:f,rx2y1:l,rx2y2:u}=this,p=this._x(n,r,o),h=this._y(n,r,o),d=this._width(n,r,o),m=this._height(n,r,o);return ot("svg:g",i).call(mt,this,o,i).call(this._transform,this,n).call(g=>g.selectAll().data(e).enter().call(c||f||l||u?y=>y.append("path").call(ut,this).call(Zu,p,h,UA(p,d),UA(h,m),this).call(vt,this,r):y=>y.append("rect").call(ut,this).attr("x",p).attr("width",d).attr("y",h).attr("height",m).call(st,"rx",s).call(st,"ry",a).call(vt,this,r))).node()}_x(e,{x:n},{marginLeft:r}){let{insetLeft:o}=this;return n?i=>n[i]+o:r+o}_y(e,{y:n},{marginTop:r}){let{insetTop:o}=this;return n?i=>n[i]+o:r+o}_width({x:e},{x:n},{marginRight:r,marginLeft:o,width:i}){let{insetLeft:s,insetRight:a}=this,c=n&&e?e.bandwidth():i-r-o;return Math.max(0,c-s-a)}_height({y:e},{y:n},{marginTop:r,marginBottom:o,height:i}){let{insetTop:s,insetBottom:a}=this,c=n&&e?e.bandwidth():i-r-o;return Math.max(0,c-s-a)}};function UA(t,e){return typeof t=="function"&&typeof e=="function"?n=>t(n)+e(n):typeof t=="function"?n=>t(n)+e:typeof e=="function"?n=>t+e(n):t+e}var ua=class extends ef{constructor(e,n={},r){let{x1:o,x2:i,y:s}=n;super(e,{x1:{value:o,scale:"x"},x2:{value:i,scale:"x"},y:{value:s,scale:"y",type:"band",optional:!0}},n,r)}_transform(e,n,{x:r}){e.call(pt,n,{x:r},0,0)}_x({x:e},{x1:n,x2:r},{marginLeft:o}){let{insetLeft:i}=this;return Dn(e)?o+i:s=>Math.min(n[s],r[s])+i}_width({x:e},{x1:n,x2:r},{marginRight:o,marginLeft:i,width:s}){let{insetLeft:a,insetRight:c}=this;return Dn(e)?s-o-i-a-c:f=>Math.max(0,Math.abs(r[f]-n[f])-a-c)}},pa=class extends ef{constructor(e,n={},r){let{x:o,y1:i,y2:s}=n;super(e,{y1:{value:i,scale:"y"},y2:{value:s,scale:"y"},x:{value:o,scale:"x",type:"band",optional:!0}},n,r)}_transform(e,n,{y:r}){e.call(pt,n,{y:r},0,0)}_y({y:e},{y1:n,y2:r},{marginTop:o}){let{insetTop:i}=this;return Dn(e)?o+i:s=>Math.min(n[s],r[s])+i}_height({y:e},{y1:n,y2:r},{marginTop:o,marginBottom:i,height:s}){let{insetTop:a,insetBottom:c}=this;return Dn(e)?s-o-i-a-c:f=>Math.max(0,Math.abs(r[f]-n[f])-a-c)}};function ro(t,e={}){return Yo(e)||(e={...e,y:Yt,x2:G}),new ua(t,Zi(Uc(Hi(e))))}function oo(t,e={}){return Yo(e)||(e={...e,x:Yt,y2:G}),new pa(t,Ki(jc(Qi(e))))}var wq={ariaLabel:"cell"},ha=class extends ef{constructor(e,{x:n,y:r,...o}={}){super(e,{x:{value:n,scale:"x",type:"band",optional:!0},y:{value:r,scale:"y",type:"band",optional:!0}},o,wq)}_transform(e,n){e.call(pt,n,{},0,0)}};function es(t,{x:e,y:n,...r}={}){return[e,n]=oe(e,n),new ha(t,{...r,x:e,y:n})}function jA(t,{x:e=Yt,fill:n,stroke:r,...o}={}){return n===void 0&&Kt(r)[0]===void 0&&(n=G),new ha(t,{...o,x:e,fill:n,stroke:r})}function XA(t,{y:e=Yt,fill:n,stroke:r,...o}={}){return n===void 0&&Kt(r)[0]===void 0&&(n=G),new ha(t,{...o,y:e,fill:n,stroke:r})}var vq={ariaLabel:"dot",fill:"none",stroke:"currentColor",strokeWidth:1.5};function ap(t){return t.sort===void 0&&t.reverse===void 0?Tg({channel:"-r"},t):t}var da=class extends lt{constructor(e,n={}){let{x:r,y:o,r:i,rotate:s,symbol:a=Po,frameAnchor:c}=n,[f,l]=Lt(s,0),[u,p]=J8(a),[h,d]=Lt(i,u==null?3:4.5);super(e,{x:{value:r,scale:"x",optional:!0},y:{value:o,scale:"y",optional:!0},r:{value:h,scale:"r",filter:dn,optional:!0},rotate:{value:f,optional:!0},symbol:{value:u,scale:"auto",optional:!0}},ap(n),vq),this.r=d,this.rotate=l,this.symbol=p,this.frameAnchor=Wr(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(e,n,r,o,i){let{x:s,y:a}=n,{x:c,y:f,r:l,rotate:u,symbol:p}=r,{r:h,rotate:d,symbol:m}=this,[g,y]=ke(this,o),x=m===Po,w=l?void 0:h*h*Math.PI;return $i(h)&&(e=[]),ot("svg:g",i).call(mt,this,o,i).call(pt,this,{x:c&&s,y:f&&a}).call(b=>b.selectAll().data(e).enter().append(x?"circle":"path").call(ut,this).call(x?_=>{_.attr("cx",c?v=>c[v]:g).attr("cy",f?v=>f[v]:y).attr("r",l?v=>l[v]:h)}:_=>{_.attr("transform",xr`translate(${c?v=>c[v]:g},${f?v=>f[v]:y})${u?v=>` rotate(${u[v]})`:d?` rotate(${d})`:""}`).attr("d",l&&p?v=>{let A=fn();return p[v].draw(A,l[v]*l[v]*Math.PI),A}:l?v=>{let A=fn();return m.draw(A,l[v]*l[v]*Math.PI),A}:p?v=>{let A=fn();return p[v].draw(A,w),A}:(()=>{let v=fn();return m.draw(v,w),v})())}).call(vt,this,r)).node()}};function or(t,{x:e,y:n,...r}={}){return r.frameAnchor===void 0&&([e,n]=oe(e,n)),new da(t,{...r,x:e,y:n})}function GA(t,{x:e=G,...n}={}){return new da(t,Zg({...n,x:e}))}function VA(t,{y:e=G,...n}={}){return new da(t,Qg({...n,y:e}))}function WA(t,e){return or(t,{...e,symbol:"circle"})}function HA(t,e){return or(t,{...e,symbol:"hexagon"})}var _q={ariaLabel:"line",fill:"none",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round",strokeMiterlimit:1},ma=class extends lt{constructor(e,n={}){let{x:r,y:o,z:i,curve:s,tension:a}=n;super(e,{x:{value:r,scale:"x"},y:{value:o,scale:"y"},z:{value:Ke(n),optional:!0}},n,_q),this.z=i,this.curve=vy(s,a),yr(this,n)}filter(e){return e}project(e,n,r){this.curve!==Ji&&super.project(e,n,r)}render(e,n,r,o,i){let{x:s,y:a}=r,{curve:c}=this;return ot("svg:g",i).call(mt,this,o,i).call(pt,this,n).call(f=>f.selectAll().data(Vg(e,[s,a],this,r)).enter().append("path").call(ut,this).call(na,this,r).call(A7,this,r,i).attr("d",c===Ji&&i.projection?Mq(i.projection,s,a):lu().curve(c).defined(l=>l>=0).x(l=>s[l]).y(l=>a[l]))).node()}};function Mq(t,e,n){let r=Se(t);return e=de(e),n=de(n),o=>{let i=[],s=[i];for(let a of o)a===-1?(i=[],s.push(i)):i.push([e[a],n[a]]);return r({type:"MultiLineString",coordinates:s})}}function ga(t,{x:e,y:n,...r}={}){return[e,n]=oe(e,n),new ma(t,{...r,x:e,y:n})}function ns(t,{x:e=G,y:n=Yt,...r}={}){return new ma(t,tf({...r,x:e,y:n}))}function rs(t,{x:e=Yt,y:n=G,...r}={}){return new ma(t,Jc({...r,x:e,y:n}))}function Lv(t,e){e=Sq(e);let{x:n,y:r,color:o,size:i}=e,s=Sy(t,n),a=Sy(t,r),c=Sy(t,o),f=Sy(t,i),{fx:l,fy:u,x:{value:p,reduce:h,zero:d,...m},y:{value:g,reduce:y,zero:x,...w},color:{value:b,color:_,reduce:v},size:{value:A,reduce:T},mark:E}=e;if(h===void 0&&(h=y==null&&p==null&&A==null&&g!=null?"count":null),y===void 0&&(y=h==null&&g==null&&A==null&&p!=null?"count":null),T===void 0&&A==null&&v==null&&h==null&&y==null&&(p==null||Qt(s))&&(g==null||Qt(a))&&(T="count"),d===void 0&&(d=Ay(h)?!0:void 0),x===void 0&&(x=Ay(y)?!0:void 0),p==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&&p==null)throw new Error("reducing y requires x");E===void 0&&(E=A!=null||T!=null?"dot":Ay(h)||Ay(y)||v!=null?"bar":p!=null&&g!=null?Qt(s)||Qt(a)||h==null&&y==null&&!cp(s)&&!cp(a)?"dot":"line":p!=null||g!=null?"rule":null);let $,S,k;switch(E){case"dot":k=or,S="stroke";break;case"line":k=s&&a||h!=null||y!=null?x||y!=null||s&&cp(s)?rs:d||h!=null||a&&cp(a)?ns:ga:s?ns:rs,S="stroke",ZA(c)&&($=null);break;case"area":k=!(x||y!=null)&&(d||h!=null||a&&cp(a))?ts:ti,S="fill",ZA(c)&&($=null);break;case"rule":k=s?Fn:Pn,S="stroke";break;case"bar":k=h!=null?Qt(a)?QA(h)&&s&&Qt(s)?es:ro:Hc:y!=null?Qt(s)?QA(y)&&a&&Qt(a)?es:oo:Qc:v!=null||T!=null?s&&Qt(s)&&a&&Qt(a)?es:s&&Qt(s)?oo:a&&Qt(a)?ro:Ku:s&&jo(s)&&!(a&&jo(a))?ro:a&&jo(a)&&!(s&&jo(s))?oo:es,S="fill";break;default:throw new Error(`invalid mark: ${E}`)}let O={fx:l,fy:u,x:s??void 0,y:a??void 0,[S]:c??_,z:$,r:f??void 0,tip:!0},M,I={[S]:v??void 0,r:T??void 0};if(h!=null&&y!=null)throw new Error("cannot reduce both x and y");return y!=null?(I.y=y,M=Qt(s)?qi:eo):h!=null?(I.x=h,M=Qt(a)?Bi:no):(v!=null||T!=null)&&(s&&a?M=Qt(s)&&Qt(a)?Du:Qt(s)?no:Qt(a)?eo:Jo:s?M=Qt(s)?qi:eo:a&&(M=Qt(a)?Bi:no)),(M===Jo||M===eo)&&(O.x={value:s,...m}),(M===Jo||M===no)&&(O.y={value:a,...w}),d===void 0&&(d=s&&!(M===Jo||M===eo)&&(k===ro||k===ts||k===Hc||k===Pn)),x===void 0&&(x=a&&!(M===Jo||M===no)&&(k===oo||k===ti||k===Qc||k===Fn)),{fx:l??null,fy:u??null,x:{value:p??null,reduce:h??null,zero:!!d,...m},y:{value:g??null,reduce:y??null,zero:!!x,...w},color:{value:b??null,reduce:v??null,..._!==void 0&&{color:_}},size:{value:A??null,reduce:T??null},mark:E,markImpl:KA[k],markOptions:O,transformImpl:KA[M],transformOptions:I,colorMode:S}}function JA(t,e){let n=Lv(t,e),{fx:r,fy:o,x:{zero:i},y:{zero:s},markOptions:a,transformOptions:c,colorMode:f}=n,l=Rv[n.markImpl],u=Rv[n.transformImpl],p=r!=null||o!=null?Zc({strokeOpacity:.1}):null,h=[i?Fn([0]):null,s?Pn([0]):null],d=l(t,u?u(c,a):a);return f==="stroke"?ge(p,h,d):ge(p,d,h)}function cp(t){let e,n;for(let r of t){if(r==null)continue;if(e===void 0){e=r;continue}let o=Math.sign(ht(e,r));if(o){if(n!==void 0&&o!==n)return!1;e=r,n=o}}return!0}function Sq({x:t,y:e,color:n,size:r,fx:o,fy:i,mark:s}={}){return Rn(t)||(t=nf(t)),Rn(e)||(e=nf(e)),Rn(n)||(n=Pi(n)?{color:n}:nf(n)),Rn(r)||(r=nf(r)),Rn(o)&&({value:o}=nf(o)),Rn(i)&&({value:i}=nf(i)),s!=null&&(s=`${s}`.toLowerCase()),{x:t,y:e,color:n,size:r,fx:o,fy:i,mark:s}}function Sy(t,e){let n=ft(t,e.value);return n&&(n.label=Ye(e.value)),n}function nf(t){return Aq(t)?{reduce:t}:{value:t}}function Ay(t){return/^(?:distinct|count|sum|proportion)$/i.test(t)}function QA(t){return/^(?:first|last|mode)$/i.test(t)}function Aq(t){if(t==null)return!1;if(typeof t.reduceIndex=="function"||typeof t.reduce=="function"&&Ie(t)||/^p\d{2}$/i.test(t))return!0;switch(`${t}`.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 ZA(t){return t?new rn(t).size>t.length>>1:!1}var Rv={dot:or,line:ga,lineX:ns,lineY:rs,areaX:ts,areaY:ti,ruleX:Fn,ruleY:Pn,barX:ro,barY:oo,rect:Ku,rectX:Hc,rectY:Qc,cell:es,bin:Jo,binX:eo,binY:no,group:Du,groupX:qi,groupY:Bi},KA=Object.fromEntries(Object.entries(Rv).map(([t,e])=>[e,t]));function rf(t,e={}){let{x:n,x1:r,x2:o}=e;n===void 0&&r===void 0&&o===void 0&&(e={...e,x:n=G});let i={};return n!=null&&(i.x=t),r!=null&&(i.x1=t),o!=null&&(i.x2=t),_n(i,e)}function of(t,e={}){let{y:n,y1:r,y2:o}=e;n===void 0&&r===void 0&&o===void 0&&(e={...e,y:n=G});let i={};return n!=null&&(i.y=t),r!=null&&(i.y1=t),o!=null&&(i.y2=t),_n(i,e)}function _n(t={},e={}){let n=Ke(e),r=Object.entries(t).map(([o,i])=>{let s=vg(o,e);if(s==null)throw new Error(`missing channel: ${o}`);let[a,c]=$e(s);return{key:o,input:s,output:a,setOutput:c,map:Eq(i)}});return{...me(e,(o,i)=>{let s=ft(o,n),a=r.map(({input:f})=>ft(o,f)),c=r.map(({setOutput:f})=>f(new Array(o.length)));for(let f of i)for(let l of s?De(f,u=>s[u]).values():[f])r.forEach(({map:u},p)=>u.mapIndex(l,a[p],c[p]));return{data:o,facets:i}}),...Object.fromEntries(r.map(({key:o,output:i})=>[o,i]))}}function Eq(t){if(t==null)throw new Error("missing map");if(typeof t.mapIndex=="function")return t;if(typeof t.map=="function"&&Ie(t))return Tq(t);if(typeof t=="function")return Dv(Ic(t));switch(`${t}`.toLowerCase()){case"cumsum":return $q;case"rank":return Dv((e,n)=>Zf(e,r=>n[r]));case"quantile":return Dv((e,n)=>Iq(e,r=>n[r]))}throw new Error(`invalid map: ${t}`)}function Tq(t){return console.warn("deprecated map interface; implement mapIndex instead."),{mapIndex:t.map.bind(t)}}function Iq(t,e){let n=Ar(t,e)-1;return Zf(t,e).map(r=>r/n)}function Dv(t){return{mapIndex(e,n,r){let o=t(e,n);if(o.length!==e.length)throw new Error("map function returned a mismatched length");for(let i=0,s=e.length;i<s;++i)r[e[i]]=o[i]}}}var $q={mapIndex(t,e,n){let r=0;for(let o of t)n[o]=r+=e[o]}};function tE(t={},e){return arguments.length===1&&(e=t),rf(sf(t),e)}function eE(t={},e){return arguments.length===1&&(e=t),of(sf(t),e)}function sf(t={}){typeof t=="number"&&(t={k:t});let{k:e,reduce:n,shift:r,anchor:o,strict:i}=t;if(o===void 0&&r!==void 0&&(o=kq(r),Je(`Warning: the shift option is deprecated; please use anchor "${o}" instead.`)),!((e=Math.floor(e))>0))throw new Error(`invalid k: ${e}`);return Nq(n)(e,Cq(o,e),i)}function Cq(t="middle",e){switch(`${t}`.toLowerCase()){case"middle":return e-1>>1;case"start":return 0;case"end":return e-1}throw new Error(`invalid anchor: ${t}`)}function kq(t){switch(`${t}`.toLowerCase()){case"centered":return"middle";case"leading":return"start";case"trailing":return"end"}throw new Error(`invalid shift: ${t}`)}function Nq(t="mean"){if(typeof t=="string"){if(/^p\d{2}$/i.test(t))return Ey(Tc(t));switch(t.toLowerCase()){case"deviation":return Ey(Xn);case"max":return Ty((e,n)=>Tt(e,r=>n[r]));case"mean":return Oq;case"median":return Ey(ur);case"min":return Ty((e,n)=>Ft(e,r=>n[r]));case"mode":return Ty((e,n)=>Fa(e,r=>n[r]));case"sum":return nE;case"variance":return Ey(hi);case"difference":return Dq;case"ratio":return Fq;case"first":return Pq;case"last":return qq}}if(typeof t!="function")throw new Error(`invalid reduce: ${t}`);return Ty(Ic(t))}function Ey(t){return(e,n,r)=>r?{mapIndex(o,i,s){let a=f=>i[f]==null?NaN:+i[f],c=0;for(let f=0;f<e-1;++f)isNaN(a(f))&&++c;for(let f=0,l=o.length-e+1;f<l;++f)isNaN(a(f+e-1))&&++c,s[o[f+n]]=c===0?t(Uo(o,f,f+e),a):NaN,isNaN(a(f))&&--c}}:{mapIndex(o,i,s){let a=c=>i[c]==null?NaN:+i[c];for(let c=-n;c<0;++c)s[o[c+n]]=t(Uo(o,0,c+e),a);for(let c=0,f=o.length-n;c<f;++c)s[o[c+n]]=t(Uo(o,c,c+e),a)}}}function Ty(t){return(e,n,r)=>r?{mapIndex(o,i,s){let a=0;for(let c=0;c<e-1;++c)a+=Ht(i[o[c]]);for(let c=0,f=o.length-e+1;c<f;++c)a+=Ht(i[o[c+e-1]]),a===e&&(s[o[c+n]]=t(Uo(o,c,c+e),i)),a-=Ht(i[o[c]])}}:{mapIndex(o,i,s){for(let a=-n;a<0;++a)s[o[a+n]]=t(Uo(o,0,a+e),i);for(let a=0,c=o.length-n;a<c;++a)s[o[a+n]]=t(Uo(o,a,a+e),i)}}}function nE(t,e,n){return n?{mapIndex(r,o,i){let s=0,a=0;for(let c=0;c<t-1;++c){let f=o[r[c]];f===null||isNaN(f)?++s:a+=+f}for(let c=0,f=r.length-t+1;c<f;++c){let l=o[r[c]],u=o[r[c+t-1]];u===null||isNaN(u)?++s:a+=+u,i[r[c+e]]=s===0?a:NaN,l===null||isNaN(l)?--s:a-=+l}}}:{mapIndex(r,o,i){let s=0,a=r.length;for(let c=0,f=Math.min(a,t-e-1);c<f;++c)s+=+o[r[c]]||0;for(let c=-e,f=a-e;c<f;++c)s+=+o[r[c+t-1]]||0,i[r[c+e]]=s,s-=+o[r[c]]||0}}}function Oq(t,e,n){if(n){let r=nE(t,e,n);return{mapIndex(o,i,s){r.mapIndex(o,i,s);for(let a=0,c=o.length-t+1;a<c;++a)s[o[a+e]]/=t}}}else return{mapIndex(r,o,i){let s=0,a=0,c=r.length;for(let f=0,l=Math.min(c,t-e-1);f<l;++f){let u=o[r[f]];u!==null&&!isNaN(u=+u)&&(s+=u,++a)}for(let f=-e,l=c-e;f<l;++f){let u=o[r[f+t-1]],p=o[r[f]];u!==null&&!isNaN(u=+u)&&(s+=u,++a),i[r[f+e]]=s/a,p!==null&&!isNaN(p=+p)&&(s-=p,--a)}}}}function Rq(t,e,n,r){for(let o=n+r;n<o;++n){let i=t[e[n]];if(Ht(i))return i}}function Lq(t,e,n,r){for(let o=n+r-1;o>=n;--o){let i=t[e[o]];if(Ht(i))return i}}function rE(t,e,n,r){for(let o=n+r;n<o;++n){let i=t[e[n]];if(i!==null&&!isNaN(i=+i))return i}}function oE(t,e,n,r){for(let o=n+r-1;o>=n;--o){let i=t[e[o]];if(i!==null&&!isNaN(i=+i))return i}}function Dq(t,e,n){return n?{mapIndex(r,o,i){for(let s=0,a=r.length-t;s<a;++s){let c=o[r[s]],f=o[r[s+t-1]];i[r[s+e]]=c===null||f===null?NaN:f-c}}}:{mapIndex(r,o,i){for(let s=-e,a=r.length-t+e+1;s<a;++s)i[r[s+e]]=oE(o,r,s,t)-rE(o,r,s,t)}}}function Fq(t,e,n){return n?{mapIndex(r,o,i){for(let s=0,a=r.length-t;s<a;++s){let c=o[r[s]],f=o[r[s+t-1]];i[r[s+e]]=c===null||f===null?NaN:f/c}}}:{mapIndex(r,o,i){for(let s=-e,a=r.length-t+e+1;s<a;++s)i[r[s+e]]=oE(o,r,s,t)/rE(o,r,s,t)}}}function Pq(t,e,n){return n?{mapIndex(r,o,i){for(let s=0,a=r.length-t;s<a;++s)i[r[s+e]]=o[r[s]]}}:{mapIndex(r,o,i){for(let s=-e,a=r.length-t+e+1;s<a;++s)i[r[s+e]]=Rq(o,r,s,t)}}}function qq(t,e,n){return n?{mapIndex(r,o,i){for(let s=0,a=r.length-t;s<a;++s)i[r[s+e]]=o[r[s+t-1]]}}:{mapIndex(r,o,i){for(let s=-e,a=r.length-t+e+1;s<a;++s)i[r[s+e]]=Lq(o,r,s,t)}}}var ei={n:20,k:2,color:"currentColor",opacity:.2,strict:!0,anchor:"end"};function iE(t,{x:e=G,y:n,k:r=ei.k,color:o=ei.color,opacity:i=ei.opacity,fill:s=o,fillOpacity:a=i,stroke:c=o,strokeOpacity:f,strokeWidth:l,...u}={}){return ge(Rt(s)?null:ts(t,_n({x1:os({k:-r,...u}),x2:os({k:r,...u})},{x1:e,x2:e,y:n,fill:s,fillOpacity:a,...u})),Rt(c)?null:ns(t,_n({x:os(u)},{x:e,y:n,stroke:c,strokeOpacity:f,strokeWidth:l,...u})))}function sE(t,{x:e,y:n=G,k:r=ei.k,color:o=ei.color,opacity:i=ei.opacity,fill:s=o,fillOpacity:a=i,stroke:c=o,strokeOpacity:f,strokeWidth:l,...u}={}){return ge(Rt(s)?null:ti(t,_n({y1:os({k:-r,...u}),y2:os({k:r,...u})},{x:e,y1:n,y2:n,fill:s,fillOpacity:a,...u})),Rt(c)?null:rs(t,_n({y:os(u)},{x:e,y:n,stroke:c,strokeOpacity:f,strokeWidth:l,...u})))}function os({n:t=ei.n,k:e=0,strict:n=ei.strict,anchor:r=ei.anchor}={}){return sf({k:t,reduce:o=>wo(o)+e*(Xn(o)||0),strict:n,anchor:r})}var Bq={ariaLabel:"tick",fill:null,stroke:"currentColor"},Iy=class extends lt{constructor(e,n,r){super(e,n,r,Bq),yr(this,r)}render(e,n,r,o,i){return ot("svg:g",i).call(mt,this,o,i).call(this._transform,this,n).call(s=>s.selectAll().data(e).enter().append("line").call(ut,this).attr("x1",this._x1(n,r,o)).attr("x2",this._x2(n,r,o)).attr("y1",this._y1(n,r,o)).attr("y2",this._y2(n,r,o)).call(vt,this,r).call(Ko,this,r,i)).node()}},fp=class extends Iy{constructor(e,n={}){let{x:r,y:o,inset:i=0,insetTop:s=i,insetBottom:a=i}=n;super(e,{x:{value:r,scale:"x"},y:{value:o,scale:"y",type:"band",optional:!0}},n),this.insetTop=Ct(s),this.insetBottom=Ct(a)}_transform(e,n,{x:r}){e.call(pt,n,{x:r},ee,0)}_x1(e,{x:n}){return r=>n[r]}_x2(e,{x:n}){return r=>n[r]}_y1({y:e},{y:n},{marginTop:r}){let{insetTop:o}=this;return n&&e?i=>n[i]+o:r+o}_y2({y:e},{y:n},{height:r,marginBottom:o}){let{insetBottom:i}=this;return n&&e?s=>n[s]+e.bandwidth()-i:r-o-i}},lp=class extends Iy{constructor(e,n={}){let{x:r,y:o,inset:i=0,insetRight:s=i,insetLeft:a=i}=n;super(e,{y:{value:o,scale:"y"},x:{value:r,scale:"x",type:"band",optional:!0}},n),this.insetRight=Ct(s),this.insetLeft=Ct(a)}_transform(e,n,{y:r}){e.call(pt,n,{y:r},0,ee)}_x1({x:e},{x:n},{marginLeft:r}){let{insetLeft:o}=this;return n&&e?i=>n[i]+o:r+o}_x2({x:e},{x:n},{width:r,marginRight:o}){let{insetRight:i}=this;return n&&e?s=>n[s]+e.bandwidth()-i:r-o-i}_y1(e,{y:n}){return r=>n[r]}_y2(e,{y:n}){return r=>n[r]}};function $y(t,{x:e=G,...n}={}){return new fp(t,{...n,x:e})}function Cy(t,{y:e=G,...n}={}){return new lp(t,{...n,y:e})}function aE(t,{x:e=G,y:n=null,r,fill:o="#ccc",fillOpacity:i,stroke:s="currentColor",strokeOpacity:a,strokeWidth:c=2,sort:f,...l}={}){let u=n!=null?Bi:Lu;return ge(Pn(t,u({x1:Fv,x2:Pv},{x:e,y:n,stroke:s,strokeOpacity:a,...l})),ro(t,u({x1:"p25",x2:"p75"},{x:e,y:n,fill:o,fillOpacity:i,...l})),$y(t,u({x:"p50"},{x:e,y:n,stroke:s,strokeOpacity:a,strokeWidth:c,sort:f,...l})),or(t,_n({x:fE},{x:e,y:n,z:n,r,stroke:s,strokeOpacity:a,...l})))}function cE(t,{y:e=G,x:n=null,r,fill:o="#ccc",fillOpacity:i,stroke:s="currentColor",strokeOpacity:a,strokeWidth:c=2,sort:f,...l}={}){let u=n!=null?qi:Lu;return ge(Fn(t,u({y1:Fv,y2:Pv},{x:n,y:e,stroke:s,strokeOpacity:a,...l})),oo(t,u({y1:"p25",y2:"p75"},{x:n,y:e,fill:o,fillOpacity:i,...l})),Cy(t,u({y:"p50"},{x:n,y:e,stroke:s,strokeOpacity:a,strokeWidth:c,sort:f,...l})),or(t,_n({y:fE},{x:n,y:e,z:n,r,stroke:s,strokeOpacity:a,...l})))}function fE(t){let e=Fv(t),n=Pv(t);return t.map(r=>r<e||r>n?r:NaN)}function Fv(t){let e=lE(t)*2.5-uE(t)*1.5;return Ft(t,n=>n>=e?n:NaN)}function Pv(t){let e=uE(t)*2.5-lE(t)*1.5;return Tt(t,n=>n<=e?n:NaN)}function lE(t){return on(t,.25)}function uE(t){return on(t,.75)}var zq={ariaLabel:"raster",stroke:null,pixelSize:1};function af(t,e){let n=+t;if(isNaN(n))throw new Error(`invalid ${e}: ${t}`);return n}function pE(t,e){let n=Math.floor(t);if(isNaN(n))throw new Error(`invalid ${e}: ${t}`);return n}var pp=class extends lt{constructor(e,n,r={},o){let{width:i,height:s,x:a,y:c,x1:f=a==null?0:void 0,y1:l=c==null?0:void 0,x2:u=a==null?i:void 0,y2:p=c==null?s:void 0,pixelSize:h=o.pixelSize,blur:d=0,interpolate:m}=r;if(i!=null&&(i=pE(i,"width")),s!=null&&(s=pE(s,"height")),f!=null&&(f=af(f,"x1")),l!=null&&(l=af(l,"y1")),u!=null&&(u=af(u,"x2")),p!=null&&(p=af(p,"y2")),a==null&&(f==null||u==null))throw new Error("missing x");if(c==null&&(l==null||p==null))throw new Error("missing y");e!=null&&i!=null&&s!=null&&(a===void 0&&f!=null&&u!=null&&(a=Hq(f,u,i,s)),c===void 0&&l!=null&&p!=null&&(c=Qq(l,p,i,s))),super(e,{x:{value:a,scale:"x",optional:!0},y:{value:c,scale:"y",optional:!0},x1:{value:f==null?null:[f],scale:"x",optional:!0,filter:null},y1:{value:l==null?null:[l],scale:"y",optional:!0,filter:null},x2:{value:u==null?null:[u],scale:"x",optional:!0,filter:null},y2:{value:p==null?null:[p],scale:"y",optional:!0,filter:null},...n},r,o),this.width=i,this.height=s,this.pixelSize=af(h,"pixelSize"),this.blur=af(d,"blur"),this.interpolate=a==null||c==null?null:Yq(m)}},hp=class extends pp{constructor(e,n={}){let{imageRendering:r}=n;if(e==null){let{fill:o,fillOpacity:i}=n;Lt(i)[0]!==void 0&&(n=ky("fillOpacity",n)),Kt(o)[0]!==void 0&&(n=ky("fill",n))}super(e,void 0,n,zq),this.imageRendering=Xt(r,"auto")}scale(e,{color:n,...r},o){return super.scale(e,r,o)}render(e,n,r,o,i){let s=n[r.channels.fill?.scale]??(I=>I),{x:a,y:c}=r,{document:f}=i,[l,u,p,h]=dE(r,o,i),d=p-l,m=h-u,{pixelSize:g,width:y=Math.round(Math.abs(d)/g),height:x=Math.round(Math.abs(m)/g)}=this,w=y*x,{fill:b,fillOpacity:_}=r,v=0;if(this.interpolate){let I=y/d,C=x/m,N=Mt(a,R=>(R-l)*I,Float64Array),L=Mt(c,R=>(R-u)*C,Float64Array);b&&(b=this.interpolate(e,y,x,N,L,b)),_&&(_=this.interpolate(e,y,x,N,L,_))}else this.data==null&&e&&(v=e.fi*w);let A=f.createElement("canvas");A.width=y,A.height=x;let T=A.getContext("2d"),E=T.createImageData(y,x),$=E.data,{r:S,g:k,b:O}=ye(this.fill)??{r:0,g:0,b:0},M=(this.fillOpacity??1)*255;for(let I=0;I<w;++I){let C=I<<2;if(b){let N=s(b[I+v]);if(N==null){$[C+3]=0;continue}({r:S,g:k,b:O}=ye(N))}_&&(M=_[I+v]*255),$[C+0]=S,$[C+1]=k,$[C+2]=O,$[C+3]=M}return this.blur>0&&sx(E,this.blur),T.putImageData(E,0,0),ot("svg:g",i).call(mt,this,o,i).call(pt,this,n).call(I=>I.append("image").attr("transform",`translate(${l},${u}) scale(${Math.sign(p-l)},${Math.sign(h-u)})`).attr("width",Math.abs(d)).attr("height",Math.abs(m)).attr("preserveAspectRatio","none").call(st,"image-rendering",this.imageRendering).call(ut,this).attr("xlink:href",A.toDataURL())).node()}};function qv(t,e,n){arguments.length<3&&(n=e,e=null);let{x:r,y:o,[t]:i,...s}=n;return r===void 0&&o===void 0&&z8(e)&&(r=Zs,o=Ri,i===void 0&&(i=F8)),[e,{...s,x:r,y:o,[t]:i}]}function hE(){let[t,e]=qv("fill",...arguments);return new hp(t,t==null||e.fill!==void 0||e.fillOpacity!==void 0?e:{...e,fill:G})}function dE({x1:t,y1:e,x2:n,y2:r},o,{projection:i}){let{width:s,height:a,marginTop:c,marginRight:f,marginBottom:l,marginLeft:u}=o;return[t&&i==null?t[0]:u,e&&i==null?e[0]:c,n&&i==null?n[0]:s-f,r&&i==null?r[0]:a-l]}function Bv({x1:t,y1:e,x2:n,y2:r},o,i,s){let a={};return t&&(a.x1=t),e&&(a.y1=e),n&&(a.x2=n),r&&(a.y2=r),dE(Lc(a,o),i,s)}function ky(t,e={}){let{[t]:n}=e;if(typeof n!="function")throw new Error(`invalid ${t}: not a function`);return jt({...e,[t]:void 0},function(r,o,i,s,a,c){let{x:f,y:l}=s;if(!f)throw new Error("missing scale: x");if(!l)throw new Error("missing scale: y");let[u,p,h,d]=Bv(i,s,a,c),m=h-u,g=d-p,{pixelSize:y}=this,{width:x=Math.round(Math.abs(m)/y),height:w=Math.round(Math.abs(g)/y)}=e,b=new Array(x*w*(o?o.length:1)),_=m/x,v=g/w,A=0;for(let T of o??[void 0])for(let E=.5;E<w;++E)for(let $=.5;$<x;++$,++A)b[A]=n(f.invert(u+$*_),l.invert(p+E*v),T);return{data:b,facets:o,channels:{[t]:{value:b,scale:"auto"}}}})}function Yq(t){if(typeof t=="function")return t;if(t==null)return Ny;switch(`${t}`.toLowerCase()){case"none":return Ny;case"nearest":return mp;case"barycentric":return dp();case"random-walk":return gp()}throw new Error(`invalid interpolate: ${t}`)}function Ny(t,e,n,r,o,i){let s=new Array(e*n);for(let a of t)r[a]<0||r[a]>=e||o[a]<0||o[a]>=n||(s[Math.floor(o[a])*e+Math.floor(r[a])]=i[a]);return s}function dp({random:t=Ps(42)}={}){return(e,n,r,o,i,s)=>{let{points:a,triangles:c,hull:f}=Wn.from(e,h=>o[h],h=>i[h]),l=new s.constructor(n*r).fill(NaN),u=new Uint8Array(n*r),p=Wq(s,t);for(let h=0;h<c.length;h+=3){let d=c[h],m=c[h+1],g=c[h+2],y=a[2*d],x=a[2*m],w=a[2*g],b=a[2*d+1],_=a[2*m+1],v=a[2*g+1],A=Math.min(y,x,w),T=Math.max(y,x,w),E=Math.min(b,_,v),$=Math.max(b,_,v),S=(_-v)*(y-w)+(b-v)*(w-x);if(!S)continue;let k=s[e[d]],O=s[e[m]],M=s[e[g]];for(let I=Math.floor(A);I<T;++I)for(let C=Math.floor(E);C<$;++C){if(I<0||I>=n||C<0||C>=r)continue;let N=I+.5,L=C+.5,R=Math.sign(S),D=(_-v)*(N-w)+(L-v)*(w-x);if(D*R<0)continue;let F=(v-b)*(N-w)+(L-v)*(y-w);if(F*R<0)continue;let P=S-(D+F);if(P*R<0)continue;let V=I+n*C;l[V]=p(k,D/S,O,F/S,M,P/S,I,C),u[V]=1}}return Uq(l,u,o,i,s,n,r,f,e,p),l}}function Uq(t,e,n,r,o,i,s,a,c,f){n=Float64Array.from(a,h=>n[c[h]]),r=Float64Array.from(a,h=>r[c[h]]),o=Array.from(a,h=>o[c[h]]);let l=n.length,u=Array.from({length:l},(h,d)=>Xq(d,n,r)),p=0;for(let h=0;h<s;++h){let d=h+.5;for(let m=0;m<i;++m){let g=m+i*h;if(!e[g]){let y=m+.5;for(let x=0;x<l;++x){let w=(l+p+(x%2?(x+1)/2:-x/2))%l;if(u[w](y,d)){let b=jq(n.at(w-1),r.at(w-1),n[w],r[w],y,d);t[g]=f(o.at(w-1),b,o[w],1-b,o[w],0,m,h),p=w;break}}}}}}function jq(t,e,n,r,o,i){let s=n-t,a=r-e,c=s*(n-o)+a*(r-i),f=s*(o-t)+a*(i-e);return c>0&&f>0?c/(c+f):+(c>f)}function up(t,e,n,r){return t*r-n*e}function Xq(t,e,n){let r=e.length,o=e.at(t-2),i=n.at(t-2),s=e.at(t-1),a=n.at(t-1),c=e[t],f=n[t],l=e.at(t+1-r),u=n.at(t+1-r),p=s-c,h=a-f,d=o-s,m=i-a,g=c-l,y=f-u,x=Math.hypot(p,h),w=Math.hypot(d,m),b=Math.hypot(g,y);return(_,v)=>{let A=_-s,T=v-a,E=_-c,$=v-f;return up(A,T,E,$)>-1e-6&&up(A,T,p,h)*w-up(A,T,d,m)*x>-1e-6&&up(E,$,g,y)*x-up(E,$,p,h)*b<=0}}function mp(t,e,n,r,o,i){let s=new i.constructor(e*n),a=Wn.from(t,l=>r[l],l=>o[l]),c,f;for(let l=.5,u=0;l<n;++l){f=c;for(let p=.5;p<e;++p,++u)f=a.find(p,l,f),p===.5&&(c=f),s[u]=i[t[f]]}return s}function gp({random:t=Ps(42),minDistance:e=.5,maxSteps:n=2}={}){return(r,o,i,s,a,c)=>{let f=new c.constructor(o*i),l=Wn.from(r,d=>s[d],d=>a[d]),u,p,h;for(let d=.5,m=0;d<i;++d){p=u;for(let g=.5;g<o;++g,++m){let y=g,x=d;h=p=l.find(y,x,p),g===.5&&(u=p);let w,b=0;for(;(w=Math.hypot(s[r[h]]-y,a[r[h]]-x))>e&&b<n;){let _=t(g,d,b)*2*Math.PI;y+=Math.cos(_)*w,x+=Math.sin(_)*w,h=l.find(y,x,h),++b}f[m]=c[r[h]]}}return f}}function Gq(t,e,n,r,o,i){return e*t+r*n+i*o}function Vq(t){return(e,n,r,o,i,s,a,c)=>{let f=t(a,c);return f<n?e:f<n+o?r:i}}function Wq(t,e){return jo(t)||Jt(t)?Gq:Vq(e)}function Hq(t,e,n){return{transform(r){let o=r.length,i=new Float64Array(o),s=(e-t)/n,a=t+s/2;for(let c=0;c<o;++c)i[c]=c%n*s+a;return i}}}function Qq(t,e,n,r){return{transform(o){let i=o.length,s=new Float64Array(i),a=(e-t)/r,c=t+a/2;for(let f=0;f<i;++f)s[f]=Math.floor(f/n)%r*a+c;return s}}}var mE={ariaLabel:"contour",fill:"none",stroke:"currentColor",strokeMiterlimit:1,pixelSize:2},yp=class extends pp{constructor(e,{smooth:n=!0,value:r,...o}={}){let i=Gg({},o,mE);if(r===void 0){for(let a in i)if(i[a].value!=null){if(r!==void 0)throw new Error("ambiguous contour value");r=o[a],o[a]="value"}}if(r!=null){let a={transform:c=>c.map(f=>f.value),label:Ye(r)};for(let c in i)o[c]==="value"&&(o[c]=a)}if(e==null){if(r==null)throw new Error("missing contour value");o=ky("value",{value:r,...o}),r=null}else{let{interpolate:a}=o;r===void 0&&(r=G),a===void 0&&(o.interpolate="nearest")}super(e,{value:{value:r,optional:!0}},Zq(o),mE);let s={geometry:{value:G}};for(let a in this.channels){let c=this.channels[a],{scale:f}=c;f==="x"||f==="y"||a==="value"||(s[a]=c,delete this.channels[a])}this.contourChannels=s,this.smooth=!!n}filter(e,{x:n,y:r,value:o,...i},s){return super.filter(e,i,s)}render(e,n,r,o,i){let{geometry:s}=r,a=Se();return ot("svg:g",i).call(mt,this,o,i).call(pt,this,n).call(c=>{c.selectAll().data(e).enter().append("path").call(ut,this).attr("d",f=>a(s[f])).call(vt,this,r)}).node()}};function Zq({thresholds:t,interval:e,...n}){return t=Nv(t,e,di),jt(n,function(r,o,i,s,a,c){let[f,l,u,p]=Bv(i,s,a,c),h=u-f,d=p-l,{pixelSize:m,width:g=Math.round(Math.abs(h)/m),height:y=Math.round(Math.abs(d)/m)}=this,x=g/h,w=y/d,b=i.value.value,_=[];if(this.interpolate){let{x:$,y:S}=Kr(i,s,c),k=Mt($,C=>(C-f)*x,Float64Array),O=Mt(S,C=>(C-l)*w,Float64Array),M=[i.x,i.y,i.value],I=[k,O,b];for(let C of o){let N=this.filter(C,M,I);_.push(this.interpolate(N,g,y,k,O,b))}}else if(o){let $=g*y,S=o.length;for(let k=0;k<S;++k)_.push(b.slice(k*$,k*$+$))}else _.push(b);if(this.blur>0)for(let $ of _)Gf({data:$,width:g,height:y},this.blur);let v=Kq(t,b,...Jq(_));if(v===null)throw new Error(`unsupported thresholds: ${t}`);let{contour:A}=vi().size([g,y]).smooth(this.smooth),T=[],E=[];for(let $ of _)E.push(ie(T.length,T.push(...Mt(v,S=>A($,S)))));for(let{coordinates:$}of T)for(let S of $)for(let k of S)for(let O of k)O[0]=O[0]/x+f,O[1]=O[1]/w+l;return{data:T,facets:E,channels:Og(this.contourChannels,T)}})}function Kq(t,e,n,r){if(typeof t?.range=="function")return t.range(t.floor(n),r);if(typeof t=="function"&&(t=t(e,n,r)),typeof t!="number")return On(t);let o=Fe(...La(n,r,t),t);for(;o[o.length-1]>=r;)o.pop();for(;o[1]<n;)o.shift();return o}function yE(){return new yp(...qv("value",...arguments))}function Jq(t){return[Ft(t,e=>Ft(e,gE)),Tt(t,e=>Tt(e,gE))]}function gE(t){return isFinite(t)?t:NaN}function wE(t,e){return zv(Gi,t,e)}function vE(t,e={}){return zv(Vi,t,e)}function _E(t,e={}){return zv(Zo,t,e)}function zv(t,e,n={}){let{x:r,y:o,maxRadius:i}=n,s=t({px:r,py:o,maxRadius:i}),a=[];r!=null&&a.push(Fn(e,xE("x",{...s,inset:-6},n))),o!=null&&a.push(Pn(e,xE("y",{...s,inset:-6},n))),r!=null&&a.push(to(e,bE("x",{...s,dy:9,frameAnchor:"bottom",lineAnchor:"top"},n))),o!=null&&a.push(to(e,bE("y",{...s,dx:-9,frameAnchor:"left",textAnchor:"end"},n)));for(let c of a)c.ariaLabel=`crosshair ${c.ariaLabel}`;return ge(...a)}function ME(t,{channels:e,...n},{facet:r,facetAnchor:o,fx:i,fy:s,[t]:a,channels:c,transform:f,initializer:l}){return{...n,facet:r,facetAnchor:o,fx:i,fy:s,[t]:a,channels:{...e,...c},transform:f,initializer:tB(t,l)}}function tB(t,e){return e==null?e:function(n,r,{x:o,y:i,px:s,py:a,...c},...f){let{channels:{x:l,y:u,...p}={},...h}=e.call(this,n,r,{...c,x:s,y:a},...f);return{channels:{...p,...l&&{px:l,...t==="x"&&{x:l}},...u&&{py:u,...t==="y"&&{y:u}}},...h}}}function xE(t,e,n){let{color:r="currentColor",opacity:o=.2,ruleStroke:i=r,ruleStrokeOpacity:s=o,ruleStrokeWidth:a}=n;return{...ME(t,e,n),stroke:i,strokeOpacity:s,strokeWidth:a}}function bE(t,e,n){let{color:r="currentColor",textFill:o=r,textFillOpacity:i,textStroke:s="var(--plot-background)",textStrokeOpacity:a,textStrokeWidth:c=5}=n;return{...ME(t,e,eB(t,n)),fill:o,fillOpacity:i,stroke:s,strokeOpacity:a,strokeWidth:c}}function eB(t,e){return jt(e,(n,r,o)=>({channels:{text:{value:Pu(o,t)?.value}}}))}var nB={ariaLabel:"delaunay link",fill:"none",stroke:"currentColor",strokeMiterlimit:1},rB={ariaLabel:"delaunay mesh",fill:null,stroke:"currentColor",strokeOpacity:.2},oB={ariaLabel:"hull",fill:"none",stroke:"currentColor",strokeWidth:1.5,strokeMiterlimit:1},iB={ariaLabel:"voronoi",fill:"none",stroke:"currentColor",strokeMiterlimit:1},sB={ariaLabel:"voronoi mesh",fill:null,stroke:"currentColor",strokeOpacity:.2},Yv=class extends lt{constructor(e,n={}){let{x:r,y:o,z:i,curve:s,tension:a}=n;super(e,{x:{value:r,scale:"x",optional:!0},y:{value:o,scale:"y",optional:!0},z:{value:i,optional:!0}},n,nB),this.curve=np(s,a),yr(this,n)}render(e,n,r,o,i){let{x:s,y:a}=n,{x:c,y:f,z:l}=r,{curve:u}=this,[p,h]=ke(this,o),d=c?x=>c[x]:te(p),m=f?x=>f[x]:te(h),g=this;function y(x){let w=-1,b=[],_={};for(let M in r)_[M]=[];let v=[],A=[],T=[],E=[];function $(M,I){M=x[M],I=x[I],b.push(++w),v[w]=d(M),T[w]=m(M),A[w]=d(I),E[w]=m(I);for(let C in r)_[C].push(r[C][I])}let{halfedges:S,hull:k,triangles:O}=Wn.from(x,d,m);for(let M=0;M<S.length;++M){let I=S[M];I>M&&$(O[M],O[I])}for(let M=0;M<k.length;++M)$(k[M],k[(M+1)%k.length]);bt(this).selectAll().data(b).enter().append("path").call(ut,g).attr("d",M=>{let I=fn(),C=u(I);return C.lineStart(),C.point(v[M],T[M]),C.point(A[M],E[M]),C.lineEnd(),I}).call(vt,g,_).call(Ko,g,_,i)}return ot("svg:g",i).call(mt,this,o,i).call(pt,this,{x:c&&s,y:f&&a}).call(l?x=>x.selectAll().data(De(e,w=>l[w]).values()).enter().append("g").each(y):x=>x.datum(e).each(y)).node()}},xp=class extends lt{constructor(e,n={},r,o=({z:i})=>i){let{x:i,y:s}=n;super(e,{x:{value:i,scale:"x",optional:!0},y:{value:s,scale:"y",optional:!0},z:{value:o(n),optional:!0}},n,r)}render(e,n,r,o,i){let{x:s,y:a}=n,{x:c,y:f,z:l}=r,[u,p]=ke(this,o),h=c?y=>c[y]:te(u),d=f?y=>f[y]:te(p),m=this;function g(y){let x=Wn.from(y,h,d);bt(this).append("path").datum(y[0]).call(ut,m).attr("d",m._render(x,o)).call(vt,m,r)}return ot("svg:g",i).call(mt,this,o,i).call(pt,this,{x:c&&s,y:f&&a}).call(l?y=>y.selectAll().data(De(e,x=>l[x]).values()).enter().append("g").each(g):y=>y.datum(e).each(g)).node()}},Uv=class extends xp{constructor(e,n={}){super(e,n,rB),this.fill="none"}_render(e){return e.render()}},jv=class extends xp{constructor(e,n={}){super(e,n,oB,Ke)}_render(e){return e.renderHull()}},Xv=class extends lt{constructor(e,n={}){let{x:r,y:o,z:i}=n;super(e,{x:{value:r,scale:"x",optional:!0},y:{value:o,scale:"y",optional:!0},z:{value:i,optional:!0}},jt(n,function(s,a,c,f,l,u){let{x:p,y:h,z:d}=c;({x:p,y:h}=Kr(c,f,u)),d=d?.value;let m=new Array((p??h).length).fill(null),[g,y]=ke(this,l),x=p?b=>p[b]:te(g),w=h?b=>h[b]:te(y);for(let b of a){p&&(b=b.filter(_=>Ht(x(_)))),h&&(b=b.filter(_=>Ht(w(_))));for(let[,_]of Hr(b,d)){let v=Wn.from(_,x,w),A=SE(v,l);for(let T=0,E=_.length;T<E;++T)m[_[T]]=A.renderCell(T)}}return{data:s,facets:a,channels:{cells:{value:m}}}}),iB)}render(e,n,r,o,i){let{x:s,y:a}=n,{x:c,y:f,cells:l}=r;return ot("svg:g",i).call(mt,this,o,i).call(pt,this,{x:c&&s,y:f&&a}).call(u=>{u.selectAll().data(e).enter().append("path").call(ut,this).attr("d",p=>l[p]).call(vt,this,r)}).node()}},Gv=class extends xp{constructor(e,n){super(e,n,sB),this.fill="none"}_render(e,n){return SE(e,n).render()}};function SE(t,e){let{width:n,height:r,marginTop:o,marginRight:i,marginBottom:s,marginLeft:a}=e;return t.voronoi([a,o,n-i,r-s])}function bp(t,e,{x:n,y:r,...o}={}){return[n,r]=oe(n,r),new t(e,{...o,x:n,y:r})}function AE(t,e){return bp(Yv,t,e)}function EE(t,e){return bp(Uv,t,e)}function TE(t,e){return bp(jv,t,e)}function IE(t,{x:e,y:n,initializer:r,...o}={}){return bp(Xv,t,{...me({...o,x:e,y:n},py),initializer:r})}function $E(t,e){return bp(Gv,t,e)}var aB={ariaLabel:"density",fill:"none",stroke:"currentColor",strokeMiterlimit:1},wp=class extends lt{constructor(e,{x:n,y:r,z:o,weight:i,fill:s,stroke:a,...c}={}){let f=CE(s)&&(s="currentColor",!0),l=CE(a)&&(a="currentColor",!0);super(e,{x:{value:n,scale:"x",optional:!0},y:{value:r,scale:"y",optional:!0},z:{value:Ke({z:o,fill:s,stroke:a}),optional:!0},weight:{value:i,optional:!0}},fB({...c,fill:s,stroke:a},f,l),aB),f&&(this.fill=void 0),l&&(this.stroke=void 0),this.z=o}filter(e){return e}render(e,n,r,o,i){let{contours:s}=r,a=Se();return ot("svg:g",i).call(mt,this,o,i).call(pt,this,{}).call(c=>c.selectAll().data(e).enter().append("path").call(ut,this).call(vt,this,r).attr("d",f=>a(s[f]))).node()}};function kE(t,{x:e,y:n,...r}={}){return[e,n]=oe(e,n),new wp(t,{...r,x:e,y:n})}var cB=new Set(["x","y","z","weight"]);function fB(t,e,n){let{bandwidth:o,thresholds:i}=t;return o=o===void 0?20:+o,i=i===void 0?20:typeof i?.[Symbol.iterator]=="function"?de(i):+i,jt(t,function(s,a,c,f,l,u){let p=c.weight?de(c.weight.value):null,h=c.z?.value,{z:d}=this,[m,g]=ke(this,l),{width:y,height:x}=l,{x:w,y:b}=Kr(c,f,u),_=Object.fromEntries(Object.entries(c).filter(([O])=>!cB.has(O)).map(([O,M])=>[O,{...M,value:[]}])),v=e&&[],A=n&&[],T=Wx().x(w?O=>w[O]:m).y(b?O=>b[O]:g).weight(p?O=>p[O]:1).size([y,x]).bandwidth(o),E=[];for(let O of a){let M=[];E.push(M);for(let I of h?Uu(O,h,d):[O]){let C=T.contours(I);M.push([I,C])}}let $=i;if(!($ instanceof Cu)){let O=0;for(let M of E)for(let[,I]of M){let C=I.max;C>O&&(O=C)}$=Float64Array.from({length:i-1},(M,I)=>O*100*(I+1)/i)}let S=[],k=[];for(let O of E){let M=[];S.push(M);for(let[I,C]of O)for(let N of $){M.push(k.length),k.push(C(N/100)),v&&v.push(N),A&&A.push(N);for(let L in _)_[L].value.push(c[L].value[I[0]])}}return v&&v.push(0),A&&A.push(0),{data:s,facets:S,channels:{..._,...v&&{fill:{value:v,scale:"color"}},...A&&{stroke:{value:A,scale:"color"}},contours:{value:k}}}})}function CE(t){return/^density$/i.test(t)}function RE(t,e){return DE("x",t,e)}function LE(t,e){return DE("y",t,e)}function DE(t,e,{x1:n,x2:r,y1:o,y2:i,x:s=n===void 0&&r===void 0?t==="y"?Yt:G:void 0,y:a=o===void 0&&i===void 0?t==="x"?Yt:G:void 0,fill:c,positiveFill:f="#3ca951",negativeFill:l="#4269d0",fillOpacity:u=1,positiveFillOpacity:p=u,negativeFillOpacity:h=u,stroke:d,strokeOpacity:m,z:g=Kt(d)[0],clip:y,tip:x,render:w,...b}={}){return[n,r]=NE(s,n,r),[o,i]=NE(a,o,i),n===r&&o===i&&(t==="y"?o=ni(0):n=ni(0)),{tip:x}=gr({tip:x},t==="y"?"x":"y"),ge(Rt(f)?null:Object.assign(rp(e,{x1:n,x2:r,y1:o,y2:i,z:g,fill:f,fillOpacity:p,render:Qo(w,OE(t,!0)),clip:y,...b}),{ariaLabel:"positive difference"}),Rt(l)?null:Object.assign(rp(e,{x1:n,x2:r,y1:o,y2:i,z:g,fill:l,fillOpacity:h,render:Qo(w,OE(t,!1)),clip:y,...b}),{ariaLabel:"negative difference"}),ga(e,{x:r,y:i,z:g,stroke:d,strokeOpacity:m,tip:x,clip:!0,...b}))}function NE(t,e,n){return e===void 0&&n===void 0?e=n=ni(t):e===void 0?(n=ni(n),e=t===void 0?n:ni(t)):n===void 0?(e=ni(e),n=t===void 0?e:ni(t)):(e=ni(e),n=ni(n)),[e,n]}function ni(t){let e,{value:n,label:r=Ye(n)}=nr(t);return{transform:o=>e||(e=ft(o,n)),label:r}}function OE(t,e){let n=t==="x"?"y":"x",r=`${n}1`,o=`${n}2`,i=`${t}1`,s=`${t}2`;return(a,c,f,l,u,p)=>{let{[r]:h,[o]:d}=f,m=new Float32Array(h.length),g=new Float32Array(d.length),y=l[t==="y"?"height":"width"];(e===Fg(c[t])<0?m:g).fill(y);let x=p(a,c,{...f,[o]:h,[s]:g},l,u),w=p(a,c,{...f,[r]:d,[i]:m},l,u),b=x.querySelector("g")??x,_=w.querySelector("g")??w;for(let v=0;b.firstChild;v+=2){let A=av(),T=ot("svg:clipPath",u).attr("id",A).node();T.appendChild(b.firstChild),_.childNodes[v].setAttribute("clip-path",`url(#${A})`),_.insertBefore(T,_.childNodes[v])}return w}}function Oy({geometry:t=G,...e}={}){let n=ji(r=>ft(r,t));return jt({...e,x:null,y:null,geometry:{transform:n}},(r,o,i,s,a,{projection:c})=>{let f=n(r),l=f.length,u=new Float64Array(l),p=new Float64Array(l),h=Se(c);for(let d=0;d<l;++d)[u[d],p[d]]=h.centroid(f[d]);return{data:r,facets:o,channels:{x:{value:u,scale:c==null?"x":null,source:null},y:{value:p,scale:c==null?"y":null,source:null}}}})}function FE({geometry:t=G,...e}={}){let n=ji(o=>ft(o,t)),r=ji(o=>ft(n(o),lb));return{...e,x:{transform:o=>Float64Array.from(r(o),([i])=>i)},y:{transform:o=>Float64Array.from(r(o),([,i])=>i)},geometry:{transform:n}}}var lB={ariaLabel:"geo",fill:"none",stroke:"currentColor",strokeWidth:1,strokeLinecap:"round",strokeLinejoin:"round",strokeMiterlimit:1},vp=class extends lt{constructor(e,n={}){let[r,o]=Lt(n.r,3);super(e,{x:{value:n.tip?n.x:null,scale:"x",optional:!0},y:{value:n.tip?n.y:null,scale:"y",optional:!0},r:{value:r,scale:"r",filter:dn,optional:!0},geometry:{value:n.geometry,scale:"projection"}},ap(n),lB),this.r=o}render(e,n,r,o,i){let{geometry:s,r:a}=r,c=Se(i.projection??uB(n)),{r:f}=this;return $i(f)?e=[]:f!==void 0&&c.pointRadius(f),ot("svg:g",i).call(mt,this,o,i).call(pt,this,n).call(l=>{l.selectAll().data(e).enter().append("path").call(ut,this).attr("d",a?u=>c.pointRadius(a[u])(s[u]):u=>c(s[u])).call(vt,this,r)}).node()}};function uB({x:t,y:e}){if(t||e)return t??=n=>n,e??=n=>n,Ds({point(n,r){this.stream.point(t(n),e(r))}})}function Ry(t,e={}){return e.tip&&e.x===void 0&&e.y===void 0?e=Oy(e):e.geometry===void 0&&(e={...e,geometry:G}),new vp(t,e)}function PE({strokeWidth:t=1.5,...e}={}){return Ry({type:"Sphere"},{strokeWidth:t,...e})}function qE({strokeOpacity:t=.1,...e}={}){return Ry(gb(),{strokeOpacity:t,...e})}var cf=.5,ff=0;function BE(t={fill:"count"},{binWidth:e,...n}={}){let{z:r}=n;return e=e===void 0?20:Ct(e),t=Rw(t,n),Qr(t,"fill")&&(n.channels={...n.channels,fill:{value:[]}}),n.symbol===void 0&&(n.symbol="hexagon"),n.r===void 0&&!Qr(t,"r")&&(n.r=e/2),jt(n,(o,i,s,a,c,f)=>{let{x:l,y:u,z:p,fill:h,stroke:d,symbol:m}=s;if(l===void 0)throw new Error("missing channel: x");if(u===void 0)throw new Error("missing channel: y");({x:l,y:u}=Kr(s,a,f)),p=p?p.value:ft(o,r),h=h?.value,d=d?.value,m=m?.value;let g=Fu(t,{z:p,fill:h,stroke:d,symbol:m}),y=p&&[],x=h&&[],w=d&&[],b=m&&[],_=[],v=[],A=[],T=-1;for(let k of t)k.initialize(o);for(let k of i){let O=[];for(let M of t)M.scope("facet",k);for(let[M,I]of Hr(k,g))for(let{index:C,extent:N}of pB(o,I,l,u,e)){O.push(++T),v.push(N.x),A.push(N.y),p&&y.push(g===p?M:p[C[0]]),h&&x.push(g===h?M:h[C[0]]),d&&w.push(g===d?M:d[C[0]]),m&&b.push(g===m?M:m[C[0]]);for(let L of t)L.reduce(C,N)}_.push(O)}let E=s.x.scale,$=s.y.scale,S={x:{value:v,source:a[E]?{value:Mt(v,a[E].invert),scale:E}:null},y:{value:A,source:a[$]?{value:Mt(A,a[$].invert),scale:$}:null},...p&&{z:{value:y}},...h&&{fill:{value:x,scale:"auto"}},...d&&{stroke:{value:w,scale:"auto"}},...m&&{symbol:{value:b,scale:"auto"}},...Object.fromEntries(t.map(({name:k,output:O})=>[k,{scale:"auto",label:O.label,radius:k==="r"?e/2:void 0,value:O.transform()}]))};return{data:o,facets:_,channels:S}})}function pB(t,e,n,r,o){let i=o*(1.5/Sw),s=new Map;for(let a of e){let c=n[a],f=r[a];if(isNaN(c)||isNaN(f))continue;let l=Math.round(f=(f-ff)/i),u=Math.round(c=(c-cf)/o-(l&1)/2),p=f-l;if(Math.abs(p)*3>1){let m=c-u,g=u+(c<u?-1:1)/2,y=l+(f<l?-1:1),x=c-g,w=f-y;m*m+p*p>x*x+w*w&&(u=g+(l&1?1:-1)/2,l=y)}let h=`${u},${l}`,d=s.get(h);d===void 0&&(d={index:[],extent:{data:t,x:(u+(l&1)/2)*o+cf,y:l*i+ff}},s.set(h,d)),d.index.push(a)}return s.values()}var hB={ariaLabel:"hexgrid",fill:"none",stroke:"currentColor",strokeOpacity:.1};function zE(t){return new _p(t)}var _p=class extends lt{constructor({binWidth:e=20,clip:n=!0,...r}={}){super(Oi,void 0,{clip:n,...r},hB),this.binWidth=Ct(e)}render(e,n,r,o,i){let{binWidth:s}=this,{marginTop:a,marginRight:c,marginBottom:f,marginLeft:l,width:u,height:p}=o,h=l-cf,d=u-c-cf,m=a-ff,g=p-f-ff,y=s/2,x=y*Aw,w=x/2,b=y*2,_=x*1.5,v=Math.floor(h/b),A=Math.ceil(d/b),T=Math.floor((m+w)/_),E=Math.ceil((g-w)/_)+1,$=`m0,${is(-x)}l${is(y)},${is(w)}v${is(x)}l${is(-y)},${is(w)}`,S=$;for(let k=T;k<E;++k)for(let O=v;O<A;++O)S+=`M${is(O*b+(k&1)*y)},${is(k*_)}${$}`;return ot("svg:g",i).datum(0).call(mt,this,o,i).call(pt,this,{},ee+cf,ee+ff).call(k=>k.append("path").call(ut,this).call(vt,this,r).attr("d",S)).node()}};function is(t){return Math.round(t*1e3)/1e3}var dB={ariaLabel:"image",fill:null,stroke:null};function mB(t){return/^\.*\//.test(t)}function gB(t){return/^(blob|data|file|http|https):/i.test(t)}function yB(t){return typeof t=="string"&&(mB(t)||gB(t))?[void 0,t]:[t,void 0]}var Mp=class extends lt{constructor(e,n={}){let{x:r,y:o,r:i,width:s,height:a,rotate:c,src:f,preserveAspectRatio:l,crossOrigin:u,frameAnchor:p,imageRendering:h}=n;i==null&&(i=void 0),i===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[d,m]=yB(f),[g,y]=Lt(i),[x,w]=Lt(s,y!==void 0?y*2:void 0),[b,_]=Lt(a,y!==void 0?y*2:void 0),[v,A]=Lt(c,0);super(e,{x:{value:r,scale:"x",optional:!0},y:{value:o,scale:"y",optional:!0},r:{value:g,scale:"r",filter:dn,optional:!0},width:{value:x,filter:dn,optional:!0},height:{value:b,filter:dn,optional:!0},rotate:{value:v,optional:!0},src:{value:d,optional:!0}},ap(n),dB),this.src=m,this.width=w,this.rotate=A,this.height=_,this.r=y,this.preserveAspectRatio=Xt(l,"xMidYMid"),this.crossOrigin=se(u),this.frameAnchor=Wr(p),this.imageRendering=Xt(h,"auto")}render(e,n,r,o,i){let{x:s,y:a}=n,{x:c,y:f,width:l,height:u,r:p,rotate:h,src:d}=r,{r:m,width:g,height:y,rotate:x}=this,[w,b]=ke(this,o);return ot("svg:g",i).call(mt,this,o,i).call(pt,this,{x:c&&s,y:f&&a}).call(_=>_.selectAll().data(e).enter().append("image").call(ut,this).attr("x",YE(c,l,p,w,g,m)).attr("y",YE(f,u,p,b,y,m)).attr("width",l?v=>l[v]:g!==void 0?g:p?v=>p[v]*2:m*2).attr("height",u?v=>u[v]:y!==void 0?y:p?v=>p[v]*2:m*2).attr("transform",h?v=>`rotate(${h[v]})`:x?`rotate(${x})`:null).attr("transform-origin",h||x?xr`${c?v=>c[v]:w}px ${f?v=>f[v]:b}px`:null).call(st,"href",d?v=>d[v]:this.src).call(st,"preserveAspectRatio",this.preserveAspectRatio).call(st,"crossorigin",this.crossOrigin).call(st,"image-rendering",this.imageRendering).call(st,"clip-path",p?v=>`circle(${p[v]}px)`:m!==void 0?`circle(${m}px)`:null).call(vt,this,r)).node()}};function YE(t,e,n,r,o,i){return e&&t?s=>t[s]-e[s]/2:e?s=>r-e[s]/2:t&&o!==void 0?s=>t[s]-o/2:o!==void 0?r-o/2:n&&t?s=>t[s]-n[s]:n?s=>r-n[s]:t?s=>t[s]-i:r-i}function UE(t,{x:e,y:n,...r}={}){return r.frameAnchor===void 0&&([e,n]=oe(e,n)),new Mp(t,{...r,x:e,y:n})}function xB(t,e,n){var r=1e-8,o=e-1,i=n-1,s=0,a,c,f,l,u,p,h,d,m,g,y;if(t<=0)return 0;if(t>=1)return 1;for(e>=1&&n>=1?(f=t<.5?t:1-t,l=Math.sqrt(-2*Math.log(f)),h=(2.30753+l*.27061)/(1+l*(.99229+l*.04481))-l,t<.5&&(h=-h),d=(h*h-3)/6,m=2/(1/(2*e-1)+1/(2*n-1)),g=h*Math.sqrt(d+m)/m-(1/(2*n-1)-1/(2*e-1))*(d+5/6-2/(3*m)),h=e/(e+n*Math.exp(2*g))):(a=Math.log(e/(e+n)),c=Math.log(n/(e+n)),l=Math.exp(e*a)/e,u=Math.exp(n*c)/n,g=l+u,t<l/g?h=Math.pow(e*g*t,1/e):h=1-Math.pow(n*g*(1-t),1/n)),y=-lf(e)-lf(n)+lf(e+n);s<10;s++){if(h===0||h===1)return h;if(p=bB(h,e,n)-t,l=Math.exp(o*Math.log(h)+i*Math.log(1-h)+y),u=p/l,h-=l=u/(1-.5*Math.min(1,u*(o/h-i/(1-h)))),h<=0&&(h=.5*(h+l)),h>=1&&(h=.5*(h+l+1)),Math.abs(l)<r*h&&s>0)break}return h}function bB(t,e,n){var r=t===0||t===1?0:Math.exp(lf(e+n)-lf(e)-lf(n)+e*Math.log(t)+n*Math.log(1-t));return t<0||t>1?!1:t<(e+1)/(e+n+2)?r*jE(t,e,n)/e:1-r*jE(1-t,n,e)/n}function jE(t,e,n){var r=1e-30,o=1,i=e+n,s=e+1,a=e-1,c=1,f=1-i*t/s,l,u,p,h;for(Math.abs(f)<r&&(f=r),f=1/f,h=f;o<=100&&(l=2*o,u=o*(n-o)*t/((a+l)*(e+l)),f=1+u*f,Math.abs(f)<r&&(f=r),c=1+u/c,Math.abs(c)<r&&(c=r),f=1/f,h*=f*c,u=-(e+o)*(i+o)*t/((e+l)*(s+l)),f=1+u*f,Math.abs(f)<r&&(f=r),c=1+u/c,Math.abs(c)<r&&(c=r),f=1/f,p=f*c,h*=p,!(Math.abs(p-1)<3e-7));o++);return h}function lf(t){var e=0,n=[76.18009172947146,-86.5053203294167,24.01409824083091,-1.231739572450155,.001208650973866179,-5395239384953e-18],r=1.000000000190015,o,i,s;for(s=(i=o=t)+5.5,s-=(o+.5)*Math.log(s);e<6;e++)r+=n[e]/++i;return Math.log(2.506628274631*r/o)-s}function XE(t,e){var n=xB(2*Math.min(t,1-t),.5*e,.5);return n=Math.sqrt(e*(1-n)/n),t>.5?n:-n}var wB={ariaLabel:"linear-regression",fill:"currentColor",fillOpacity:.1,stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round",strokeMiterlimit:1},Ly=class extends lt{constructor(e,n={}){let{x:r,y:o,z:i,ci:s=.95,precision:a=4}=n;if(super(e,{x:{value:r,scale:"x"},y:{value:o,scale:"y"},z:{value:Ke(n),optional:!0}},n,wB),this.z=i,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(e,n,r,o,i){let{x:s,y:a,z:c}=r,{ci:f}=this;return ot("svg:g",i).call(mt,this,o,i).call(pt,this,n).call(l=>l.selectAll().data(c?Uu(e,c,this.z):[e]).enter().call(u=>u.append("path").attr("fill","none").call(ut,this).call(na,this,{...r,fill:null,fillOpacity:null}).attr("d",p=>this._renderLine(p,s,a)).call(f&&!Xo(this.fill)?p=>p.select(vB).attr("stroke","none").call(ut,this).call(na,this,{...r,stroke:null,strokeOpacity:null,strokeWidth:null}).attr("d",h=>this._renderBand(h,s,a)):()=>{}))).node()}};function vB(){return this.parentNode.insertBefore(this.ownerDocument.createElementNS(sn.svg,"path"),this)}var Vv=class extends Ly{constructor(e,n){super(e,n)}_renderBand(e,n,r){let{ci:o,precision:i}=this,[s,a]=kt(e,l=>r[l]),c=Dy(e,r,n),f=WE(e,r,n,(1-o)/2,c);return xc().y(l=>l).x0(l=>f(l,-1)).x1(l=>f(l,1))(ie(s,a-i/2,i).concat(a))}_renderLine(e,n,r){let[o,i]=kt(e,a=>r[a]),s=Dy(e,r,n);return`M${s(o)},${o}L${s(i)},${i}`}},Wv=class extends Ly{constructor(e,n){super(e,n)}_renderBand(e,n,r){let{ci:o,precision:i}=this,[s,a]=kt(e,l=>n[l]),c=Dy(e,n,r),f=WE(e,n,r,(1-o)/2,c);return xc().x(l=>l).y0(l=>f(l,-1)).y1(l=>f(l,1))(ie(s,a-i/2,i).concat(a))}_renderLine(e,n,r){let[o,i]=kt(e,a=>n[a]),s=Dy(e,n,r);return`M${o},${s(o)}L${i},${s(i)}`}};function GE(t,{y:e=Yt,x:n=G,stroke:r,fill:o=Rt(r)?"currentColor":r,...i}={}){return new Vv(t,tf({...i,x:n,y:e,fill:o,stroke:r}))}function VE(t,{x:e=Yt,y:n=G,stroke:r,fill:o=Rt(r)?"currentColor":r,...i}={}){return new Wv(t,Jc({...i,x:e,y:n,fill:o,stroke:r}))}function Dy(t,e,n){let r=0,o=0,i=0,s=0;for(let l of t){let u=e[l],p=n[l];r+=u,o+=p,i+=u*p,s+=u*u}let a=t.length,c=(a*i-r*o)/(a*s-r*r),f=(o-c*r)/a;return l=>c*l+f}function WE(t,e,n,r,o){let i=Pe(t,l=>e[l])/t.length,s=0,a=0;for(let l of t)s+=(e[l]-i)**2,a+=(n[l]-o(e[l]))**2;let c=Math.sqrt(a/(t.length-2)),f=XE(r,t.length-2);return(l,u)=>{let p=o(l),h=c*Math.sqrt(1/t.length+(l-i)**2/s);return p+u*f*h}}function Sp({path:t=G,delimiter:e,frameAnchor:n,treeLayout:r=Fs,treeSort:o,treeSeparation:i,treeAnchor:s,treeFilter:a,...c}={}){s=By(s),o=ZE(o),a!=null&&(a=Qv(a)),n===void 0&&(n=s.frameAnchor);let f=KE(e),l=iT(c,Qv),[u,p]=$e(),[h,d]=$e();return{x:u,y:h,frameAnchor:n,...me(c,(m,g)=>{let y=f(ft(m,t)),x=p([]),w=d([]),b=-1,_=[],v=[],A=Nm().path($=>y[$]),T=vn(m)?$=>$.data=m[$.data]:$=>$.data=m.get($.data),E=r();E.nodeSize&&E.nodeSize([1,1]),E.separation&&i!==void 0&&E.separation(i??ku);for(let $ of l)$[Py]=$[rT]([]);for(let $ of g){let S=[],k=A($.filter(O=>y[O]!=null)).each(T);o!=null&&k.sort(o),E(k);for(let O of k.descendants())if(!(a!=null&&!a(O))){S.push(++b),_[b]=O.data,s.position(O,b,x,w);for(let M of l)M[Py][b]=M[oT](O)}v.push(S)}return{data:_,facets:v}}),...Object.fromEntries(l)}}function qy({path:t=G,delimiter:e,curve:n="bump-x",stroke:r="#555",strokeWidth:o=1.5,strokeOpacity:i=.5,treeLayout:s=Fs,treeSort:a,treeSeparation:c,treeAnchor:f,treeFilter:l,...u}={}){f=By(f),a=ZE(a),l!=null&&(l=QE(l)),u={curve:n,stroke:r,strokeWidth:o,strokeOpacity:i,...u};let p=KE(e),h=iT(u,QE),[d,m]=$e(),[g,y]=$e(),[x,w]=$e(),[b,_]=$e();return{x1:d,x2:g,y1:x,y2:b,...me(u,(v,A)=>{let T=p(ft(v,t)),E=m([]),$=y([]),S=w([]),k=_([]),O=-1,M=[],I=[],C=Nm().path(L=>T[L]),N=s();N.nodeSize&&N.nodeSize([1,1]),N.separation&&c!==void 0&&N.separation(c??ku);for(let L of h)L[Py]=L[rT]([]);for(let L of A){let R=[],D=C(L.filter(F=>T[F]!=null)).each(F=>F.data=v[F.data]);a!=null&&D.sort(a),N(D);for(let{source:F,target:P}of D.links())if(!(l!=null&&!l(P,F))){R.push(++O),M[O]=P.data,f.position(F,O,E,S),f.position(P,O,$,k);for(let V of h)V[Py][O]=V[oT](P,F)}I.push(R)}return{data:M,facets:I}}),...Object.fromEntries(h)}}function By(t="left"){switch(`${t}`.trim().toLowerCase()){case"left":return _B;case"right":return MB}throw new Error(`invalid tree anchor: ${t}`)}var _B={frameAnchor:"left",dx:6,position({x:t,y:e},n,r,o){r[n]=e,o[n]=-t}},MB={frameAnchor:"right",dx:-6,position({x:t,y:e},n,r,o){r[n]=-e,o[n]=-t}};function ZE(t){return t==null||typeof t=="function"?t:`${t}`.trim().toLowerCase().startsWith("node:")?HE(Qv(t)):HE(SB(t))}function HE(t){return(e,n)=>Te(t(e),t(n))}function SB(t){return e=>e.data?.[t]}function KE(t="/"){if(t=`${t}`,t==="/")return n=>n;if(t.length!==1)throw new Error("delimiter must be exactly one character");let e=t.charCodeAt(0);return n=>n.map(r=>AB(r,e))}var Hv=92,JE=47;function AB(t,e){if(e===Hv)throw new Error("delimiter cannot be backslash");let n=!1;for(let r=0,o=t.length;r<o;++r){switch(t.charCodeAt(r)){case Hv:if(!n){n=!0;continue}break;case e:n?(t=t.slice(0,r-1)+t.slice(r),--r,--o):t=t.slice(0,r)+"/"+t.slice(r+1);break;case JE:n?(t=t.slice(0,r)+"\\\\"+t.slice(r),r+=2,o+=2):(t=t.slice(0,r)+"\\"+t.slice(r),++r,++o);break}n=!1}return t}function EB(t){let e=!1;for(let n=0,r=t.length;n<r;++n){switch(t.charCodeAt(n)){case Hv:if(!e){e=!0;continue}case JE:e&&(t=t.slice(0,n-1)+t.slice(n),--n,--r);break}e=!1}return t}function tT(t){return Ie(t)&&typeof t.node=="function"}function TB(t){return Ie(t)&&typeof t.link=="function"}function Qv(t){if(tT(t))return t.node;if(t=`${t}`.trim().toLowerCase(),!!t.startsWith("node:")){switch(t){case"node:name":return Kv;case"node:path":return Zv;case"node:internal":return eT;case"node:external":return nT;case"node:depth":return Jv;case"node:height":return t_}throw new Error(`invalid node value: ${t}`)}}function QE(t){if(tT(t))return t.node;if(TB(t))return t.link;if(t=`${t}`.trim().toLowerCase(),!(!t.startsWith("node:")&&!t.startsWith("parent:"))){switch(t){case"parent:name":return Fy(Kv);case"parent:path":return Fy(Zv);case"parent:depth":return Fy(Jv);case"parent:height":return Fy(t_);case"node:name":return Kv;case"node:path":return Zv;case"node:internal":return eT;case"node:external":return nT;case"node:depth":return Jv;case"node:height":return t_}throw new Error(`invalid link value: ${t}`)}}function Zv(t){return t.id}function Kv(t){return IB(t.id)}function Jv(t){return t.depth}function t_(t){return t.height}function eT(t){return!!t.children}function nT(t){return!t.children}function Fy(t){return(e,n)=>n==null?void 0:t(n)}function IB(t){let e=t.length;for(;--e>0&&!$B(t,e););return EB(t.slice(e+1))}function $B(t,e){if(t[e]==="/"){let n=0;for(;e>0&&t[--e]==="\\";)++n;if(!(n&1))return!0}return!1}var rT=2,oT=3,Py=4;function iT(t,e){let n=[];for(let r in t){let o=t[r],i=e(o);i!==void 0&&n.push([r,...$e(o),i])}return n}function e_(t,{fill:e,stroke:n,strokeWidth:r,strokeOpacity:o,strokeLinejoin:i,strokeLinecap:s,strokeMiterlimit:a,strokeDasharray:c,strokeDashoffset:f,marker:l,markerStart:u=l,markerEnd:p=l,dot:h=Rt(u)&&Rt(p),text:d="node:name",textStroke:m="var(--plot-background)",title:g="node:path",dx:y,dy:x,textAnchor:w,treeLayout:b=Fs,textLayout:_=b===Fs||b===Cm?"mirrored":"normal",tip:v,...A}={}){if(y===void 0&&(y=By(A.treeAnchor).dx),w!==void 0)throw new Error("textAnchor is not a configurable tree option");_=be(_,"textLayout",["mirrored","normal"]);function T(E){return to(t,Sp({treeLayout:b,text:d,fill:e===void 0?"currentColor":e,stroke:m,dx:y,dy:x,title:g,...E,...A}))}return ge(My(t,qy({treeLayout:b,markerStart:u,markerEnd:p,stroke:n!==void 0?n:e===void 0?"node:internal":e,strokeWidth:r,strokeOpacity:o,strokeLinejoin:i,strokeLinecap:s,strokeMiterlimit:a,strokeDasharray:c,strokeDashoffset:f,...A})),h?or(t,Sp({treeLayout:b,fill:e===void 0?"node:internal":e,title:g,tip:v,...A})):null,d!=null?_==="mirrored"?[T({textAnchor:"start",treeFilter:"node:external"}),T({textAnchor:"end",treeFilter:"node:internal",dx:-y})]:T():null)}function sT(t,e){return e_(t,{...e,treeLayout:Cm})}var cT={ariaLabel:"waffle"},Ap=class extends ua{constructor(e,{unit:n=1,gap:r=1,round:o,render:i,multiple:s,...a}={}){super(e,{...a,render:Qo(i,fT("x"))},cT),this.unit=Math.max(0,n),this.gap=+r,this.round=lT(o),this.multiple=uT(s)}},Ep=class extends pa{constructor(e,{unit:n=1,gap:r=1,round:o,render:i,multiple:s,...a}={}){super(e,{...a,render:Qo(i,fT("y"))},cT),this.unit=Math.max(0,n),this.gap=+r,this.round=lT(o),this.multiple=uT(s)}};function fT(t){return function(e,n,r,o,i){let{unit:s,gap:a,rx:c,ry:f,round:l}=this,{document:u}=i,p=r.channels[`${t}1`].value,h=r.channels[`${t}2`].value,d=this[t==="y"?"_width":"_height"](n,r,o),m=this[t==="y"?"_x":"_y"](n,r,o),g=s*CB(n.scales[t]),{multiple:y=Math.max(1,Math.floor(Math.sqrt(d/g)))}=this,x=Math.min(d/y,g*y),w=g*y,b=t==="y"?([S,k])=>[S*x,-k*w]:([S,k])=>[k*w,S*x],_=(d-y*x)/2,v=typeof m=="function"?S=>m(S)+_:m+_,A=n[t](0),T=g7(),E=u.createElementNS(sn.svg,"pattern");E.setAttribute("width",t==="y"?x:w),E.setAttribute("height",t==="y"?w:x),E.setAttribute("patternUnits","userSpaceOnUse");let $=E.appendChild(u.createElementNS(sn.svg,"rect"));return $.setAttribute("x",a/2),$.setAttribute("y",a/2),$.setAttribute("width",(t==="y"?x:w)-a),$.setAttribute("height",(t==="y"?w:x)-a),c!=null&&$.setAttribute("rx",c),f!=null&&$.setAttribute("ry",f),ot("svg:g",i).call(mt,this,o,i).call(this._transform,this,n).call(S=>S.selectAll().data(e).enter().append(()=>E.cloneNode(!0)).attr("id",k=>`${T}-${k}`).select("rect").call(ut,this).call(vt,this,r)).call(S=>S.selectAll().data(e).enter().append("path").attr("transform",t==="y"?xr`translate(${v},${A})`:xr`translate(${A},${v})`).attr("d",k=>`M${n_(l(p[k]/s),l(h[k]/s),y).map(b).join("L")}Z`).attr("fill",k=>`url(#${T}-${k})`).attr("stroke",this.stroke==null?null:k=>`url(#${T}-${k})`)).node()}}function n_(t,e,n){if(t<0||e<0){let r=Math.ceil(-Math.min(t,e)/n);return n_(t+r*n,e+r*n,n).map(([o,i])=>[o,i-r])}return e<t?n_(e,t,n):[[0,Math.ceil(t/n)],[Math.floor(t%n),Math.ceil(t/n)],[Math.floor(t%n),Math.floor(t/n)+t%1],[Math.ceil(t%n),Math.floor(t/n)+t%1],...t%n>n-1?[]:[[Math.ceil(t%n),Math.floor(t/n)],[n,Math.floor(t/n)]],[n,Math.floor(e/n)],[Math.ceil(e%n),Math.floor(e/n)],[Math.ceil(e%n),Math.floor(e/n)+e%1],[Math.floor(e%n),Math.floor(e/n)+e%1],...e%n<1?[]:[[Math.floor(e%n),Math.ceil(e/n)],[0,Math.ceil(e/n)]]]}function lT(t){if(t===void 0||t===!1)return Number;if(t===!0)return Math.round;if(typeof t!="function")throw new Error(`invalid round: ${t}`);return t}function uT(t){return t===void 0?void 0:Math.max(1,Math.floor(t))}function CB({domain:t,range:e}){return aT(e)/aT(t)}function aT(t){let[e,n]=kt(t);return n-e}function pT(t,e={}){return Yo(e)||(e={...e,y:Yt,x2:G}),new Ap(t,Zi(Uc(Hi(e))))}function hT(t,e={}){return Yo(e)||(e={...e,x:Yt,y2:G}),new Ep(t,Ki(jc(Qi(e))))}var ST=R9(MT(),1);var PB=({marginLeft:t})=>[1,t],qB=({width:t,marginRight:e})=>[-1,t-e],BB=({width:t,marginLeft:e,marginRight:n})=>[0,(e+t-n)/2],zB=({marginTop:t})=>[1,t],YB=({height:t,marginBottom:e})=>[-1,t-e],UB=({height:t,marginTop:e,marginBottom:n})=>[0,(e+t-n)/2];function AT(t){return typeof t=="string"?{anchor:t}:t}function ET(t={},e={}){arguments.length===1&&([t,e]=IT(t));let{anchor:n="left",padding:r=1,r:o=e.r}=AT(t);switch(`${n}`.toLowerCase()){case"left":n=PB;break;case"right":n=qB;break;case"middle":n=BB;break;default:throw new Error(`unknown dodge anchor: ${n}`)}return $T("x","y",n,Ct(r),o,e)}function TT(t={},e={}){arguments.length===1&&([t,e]=IT(t));let{anchor:n="bottom",padding:r=1,r:o=e.r}=AT(t);switch(`${n}`.toLowerCase()){case"top":n=zB;break;case"bottom":n=YB;break;case"middle":n=UB;break;default:throw new Error(`unknown dodge anchor: ${n}`)}return $T("y","x",n,Ct(r),o,e)}function IT(t){let{anchor:e,padding:n,...r}=t,{r:o}=r;return[{anchor:e,padding:n,r:o},r]}function $T(t,e,n,r,o,i){if(o!=null&&typeof o!="number"){let{channels:s,sort:a,reverse:c}=i;s=Ou(s),s?.r===void 0&&(i={...i,channels:{...s,r:{value:o,scale:"r"}}}),a===void 0&&c===void 0&&(i.sort={channel:"-r"})}return jt(i,function(s,a,c,f,l,u){let{[e]:p,r:h}=c;if(!c[e])throw new Error(`missing channel: ${e}`);({[e]:p}=Kr(c,f,u));let d=h?void 0:o!==void 0?Ct(o):this.r!==void 0?this.r:3;h&&(h=ft(h.value,f[h.scale]||G,Float64Array));let[m,g]=n(l),y=m?XB:jB,x=new Float64Array(p.length),w=h?b=>h[b]:()=>d;for(let b of a){let _=(0,ST.default)();b=b.filter(h?A=>Mc(p[A])&&dn(h[A]):A=>Mc(p[A]));let v=new Float64Array(2*b.length+2);for(let A of b){let T=w(A),E=m?T+r:0,$=p[A]-T,S=p[A]+T,k=2;_.queryInterval($-r,S+r,([,,M])=>{let I=x[M]-E,C=p[A]-p[M],N=r+(h?h[A]+h[M]:2*d),L=Math.sqrt(N*N-C*C);v[k++]=I-L,v[k++]=I+L});let O=v.slice(0,k);m&&(O=O.filter(M=>M>=0));t:for(let M of O.sort(y)){for(let I=0;I<k;I+=2)if(v[I]+1e-6<M&&M<v[I+1]-1e-6)continue t;x[A]=M+E;break}_.insert([$,S,A])}}m||(m=1);for(let b of a)for(let _ of b)x[_]=x[_]*m+g;return{data:s,facets:a,channels:{[t]:{value:x,source:null},[e]:{value:p,source:c[e]},...h&&{r:{value:h,source:c.r}}}}})}function jB(t,e){return Math.abs(t)-Math.abs(e)}function XB(t,e){return t-e}function kT(t,e){return arguments.length===1&&({basis:t,...e}=t),rf(Uy(t),e)}function NT(t,e){return arguments.length===1&&({basis:t,...e}=t),of(Uy(t),e)}function Uy(t){if(t===void 0)return CT;if(typeof t=="function")return jy(Ic(t));if(/^p\d{2}$/i.test(t))return df(Tc(t));switch(`${t}`.toLowerCase()){case"deviation":return WB;case"first":return CT;case"last":return VB;case"max":return HB;case"mean":return QB;case"median":return ZB;case"min":return KB;case"sum":return JB;case"extent":return GB}throw new Error(`invalid basis: ${t}`)}function jy(t){return{mapIndex(e,n,r){let o=+t(e,n);for(let i of e)r[i]=n[i]===null?NaN:n[i]/o}}}function df(t){return jy((e,n)=>t(e,r=>n[r]))}var GB={mapIndex(t,e,n){let[r,o]=kt(t,s=>e[s]),i=o-r;for(let s of t)n[s]=e[s]===null?NaN:(e[s]-r)/i}},CT=jy((t,e)=>{for(let n=0;n<t.length;++n){let r=e[t[n]];if(Ht(r))return r}}),VB=jy((t,e)=>{for(let n=t.length-1;n>=0;--n){let r=e[t[n]];if(Ht(r))return r}}),WB={mapIndex(t,e,n){let r=wo(t,i=>e[i]),o=Xn(t,i=>e[i]);for(let i of t)n[i]=e[i]===null?NaN:o?(e[i]-r)/o:0}},HB=df(Tt),QB=df(wo),ZB=df(ur),KB=df(Ft),JB=df(Pe);function OT(t,e){return LT("x",t,e)}function RT(t,e){return LT("y",t,e)}function LT(t,e,n={}){let r,o=1;if(typeof e=="number")o=e,r=(f,l)=>+f+l;else{if(typeof e=="string"){let f=e.startsWith("-")?-1:1;[e,o]=wg(e.replace(/^[+-]/,"")),o*=f}e=Cc(e),r=(f,l)=>e.offset(f,l)}let i=`${t}1`,s=`${t}2`,a=_n({[i]:f=>f.map(l=>r(l,o)),[s]:f=>f},n),c=a[s].transform;return a[s].transform=()=>{let f=c(),[l,u]=kt(f);return f.domain=o<0?[l,r(u,o)]:[r(l,o),u],f},a}function DT(t,e={}){if(typeof t=="string")switch(t.toLowerCase()){case"first":return $p(e);case"last":return Cp(e)}if(typeof t=="function")return ss(null,t,e);let n,r;for(n in t){if(r!==void 0)throw new Error("ambiguous selector; multiple inputs");r=tz(t[n])}if(r===void 0)throw new Error(`invalid selector: ${t}`);return ss(n,r,e)}function tz(t){if(typeof t=="function")return t;switch(`${t}`.toLowerCase()){case"min":return c_;case"max":return f_}throw new Error(`unknown selector: ${t}`)}function $p(t){return ss(null,ez,t)}function Cp(t){return ss(null,nz,t)}function Xy(t){return ss("x",c_,t)}function Gy(t){return ss("y",c_,t)}function Vy(t){return ss("x",f_,t)}function Wy(t){return ss("y",f_,t)}function*ez(t){yield t[0]}function*nz(t){yield t[t.length-1]}function*c_(t,e){yield dd(t,n=>e[n])}function*f_(t,e){yield ws(t,n=>e[n])}function ss(t,e,n){if(t!=null){if(n[t]==null)throw new Error(`missing channel: ${t}`);t=n[t]}let r=Ke(n);return me(n,(o,i)=>{let s=ft(o,r),a=ft(o,t),c=[];for(let f of i){let l=[];for(let u of s?De(f,p=>s[p]).values():[f])for(let p of e(u,a))l.push(p);c.push(l)}return{data:o,facets:c}})}lt.prototype.plot=function({marks:t=[],...e}={}){return Kc({...e,marks:[...t,this]})};var rz=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"],["rLabel","r.label"],["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 oz(t,e,n){for(let r=0;r<e.length;++r){let o=e[r];r===e.length-1?t[o]=n:t=t[o]||(t[o]={})}}function FT(t,e,n){for(let r in t){let o=rz.get(r);if(o==null)throw new Error(`Unrecognized plot attribute: ${r}`);let i=t[r];typeof i=="symbol"?n.push(r):i!==void 0&&oz(e,o.split("."),i)}}var iz=new Set(["frame","hexgrid","sphere","graticule"]),sz=new Map([["first",$p],["last",Cp],["maxX",Vy],["maxY",Wy],["minX",Xy],["minY",Gy],["nearest",Gi],["nearestX",Vi],["nearestXY",Zo]]);async function qT(t){let e={marks:[]},n=[],{attributes:r,marks:o}=t;FT(r,e,n);let i=[];for(let a of o)for(let{type:c,data:f,options:l}of a.plotSpecs()){let{select:u,...p}=l,h=sz.get(u)?.(p)??p,d=iz.has(c)?[h]:[f,h];e.marks.push(l_[c](...d)),i.push(a.index)}cz(e,t);let s=Kc(e);fz(s,i),az(t,s,r,n);for(let a of t.interactors)await a.init(s);return s}function az(t,e,n,r){r.forEach(o=>{let i=n[o];if(i===oi){if(!o.endsWith("Domain"))throw new Error(`Unsupported fixed attribute: ${o}`);let s=o.slice(0,-6),a=e.scale(s);a?.domain&&t.setAttribute(o,n[`${s}Reverse`]?a.domain.slice().reverse():a.domain)}else throw new Error(`Unrecognized symbol: ${i}`)})}function cz(t,e){let{marks:n}=e;Hy("x",t,n),Hy("y",t,n),Hy("fx",t,n),Hy("fy",t,n)}function Hy(t,e,n){let r=e[t]||{};if(r.axis===null||r.label!==void 0)return;let o=n.map(f=>f.channelField(t)?.field);if(o.every(f=>f==null))return;let i,s,a;for(let f=0;f<o.length;++f){let{column:l,label:u}=o[f]||{};l===void 0&&u===void 0||(i===void 0&&s===void 0?(i=l,s=u,a=lz(n[f].data,t)||"number"):s!==u?s=void 0:i!==l&&(i=void 0))}let c=s||i;if(c!==void 0){if((a==="number"||a==="date")&&(t==="x"||t==="y")){r.percent&&(c=`${c} (%)`);let f=(t==="x"?1:-1)*(r.reverse?-1:1);t==="x"||r.labelAnchor==="center"?c=t==="x"==f<0?`\u2190 ${c}`:`${c} \u2192`:c=`${f<0?"\u2191 ":"\u2193 "}${c}`}e[t]={...r,label:c}}}function fz(t,e){let n=t.querySelectorAll('g[aria-label="facet"]');if(n.length)for(let r of n)PT(r,e);else PT(t,e)}function PT(t,e){let n=-1;for(let r of t.children){let o=r.getAttribute("aria-label")||"";r.nodeName==="style"||o.includes("-axis")||o.includes("-grid")||r.setAttribute("data-index",e[++n])}}function lz(t,e){if(!t)return;let{columns:n}=t,r=n[e]??n[e+"1"]??n[e+"2"];if(r){for(let o of r)if(o!=null)return o instanceof Date?"date":typeof o}}var uz={width:640,marginLeft:40,marginRight:20,marginTop:20,marginBottom:30},u_=class{constructor(e){this.attributes={...uz},this.listeners=null,this.interactors=[],this.legends=[],this.marks=[],this.markset=null,this.element=e||document.createElement("div"),this.element.setAttribute("class","plot"),this.element.style.display="flex",this.element.value=this,this.params=new Map,this.synch=ix()}margins(){return{left:this.getAttribute("marginLeft"),top:this.getAttribute("marginTop"),bottom:this.getAttribute("marginBottom"),right:this.getAttribute("marginRight")}}innerWidth(){let{left:e,right:n}=this.margins();return this.getAttribute("width")-e-n}innerHeight(e=400){let{top:n,bottom:r}=this.margins(),o=this.getAttribute("height");return o==null&&(o=pz(this,n,r)||e,this.setAttribute("height",o,{silent:!0})),o-n-r}pending(e){this.synch.pending(e)}update(e){return this.synch.ready(e)&&!this.pendingRender&&(this.pendingRender=!0,requestAnimationFrame(()=>this.render())),this.synch.promise}async render(){this.pendingRender=!1;let e=await qT(this),n=this.legends.flatMap(({legend:r,include:o})=>{let i=r.init(e);return o?i:[]});this.element.replaceChildren(e,...n),this.synch.resolve()}getAttribute(e){return this.attributes[e]}setAttribute(e,n,r){return Yf(this.attributes[e],n)?(n===void 0?delete this.attributes[e]:this.attributes[e]=n,r?.silent||this.listeners?.get(e)?.forEach(o=>o(e,n)),!0):!1}addAttributeListener(e,n){let r=this.listeners||(this.listeners=new Map);return r.has(e)||r.set(e,new Set),r.get(e).add(n),this}removeAttributeListener(e,n){return this.listeners?.get(e)?.delete(n)}addParams(e,n){let{params:r}=this;for(let o of n)r.has(o)?r.get(o).push(e):(r.set(o,[e]),o.addEventListener("value",()=>Promise.allSettled(r.get(o).map(i=>i.initialize()))))}addMark(e){return e.setPlot(this,this.marks.length),this.marks.push(e),this.markset=null,this}get markSet(){return this.markset||(this.markset=new Set(this.marks))}addInteractor(e){return this.interactors.push(e),this}addLegend(e,n=!0){e.setPlot(this),this.legends.push({legend:e,include:n})}};function pz(t,e,n){let r=t.getAttribute("aspectRatio");if(r==null)return;let o=t.getAttribute("xDomain"),i=t.getAttribute("yDomain");if(!o||!i)return;let s=Math.abs(o[1]-o[0]);return Math.abs(i[1]-i[0])*t.innerWidth()/(r*s)+e+n}function Qy(t){return typeof t!="string"?!1:(t=t.toLowerCase().trim(),t==="none"||t==="currentcolor"||t.startsWith("url(")&&t.endsWith(")")||t.startsWith("var(")&&t.endsWith(")")||Tn(t)!==null)}var hz=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 BT(t){return hz.has(t)}var dz=new Set(["asterisk","circle","cross","diamond","diamond2","hexagon","plus","square","square2","star","times","triangle","triangle2","wye"]);function zT(t){return dz.has(`${t}`.toLowerCase())}var YT=t=>t==="stroke"||t==="fill",mz=t=>/opacity$/i.test(t),gz=t=>t==="symbol",yz=(t,e)=>t!=="sort"&&t!=="tip"&&e!=null&&!Array.isArray(e),p_=(t,e)=>({channel:t,field:e,as:e instanceof bn?e.column:t}),h_=(t,e)=>({channel:t,value:e}),Zy=t=>Array.isArray(t),Ue=class extends wf{constructor(e,n,r,o={}){super(n?.options?.filterBy),this.type=e,this.reqs=o,this.source=n,Zy(this.source)&&(this.data=jn(this.source));let i=this.channels=[],s=this.detail=new Set,a=this.params=new Set,c=(f,l)=>{let u=typeof l;if(f==="channels")for(let p in l)s.add(p),c(p,l[p]);else if(u==="function"&&l[xf]){let p=l(this,f);for(let h in p)c(h,p[h])}else if(u==="string")BT(f)||YT(f)&&Qy(l)||gz(f)&&zT(l)?i.push(h_(f,l)):i.push(p_(f,qh(l)));else if(mo(l))if(Array.isArray(l.columns))i.push(p_(f,l)),a.add(l);else{let p=h_(f,l.value);i.push(p),l.addEventListener("value",h=>(p.value=h,this.update()))}else u==="object"&&yz(f,l)?i.push(p_(f,l)):l!==void 0&&i.push(h_(f,l))};for(let f in r)c(f,r[f])}setPlot(e,n){this.plot=e,this.index=n,e.addParams(this,this.params),this.source?.table&&this.queryPending()}hasOwnData(){return this.source==null||Zy(this.source)}hasFieldInfo(){return!!this._fieldInfo}channel(e){return this.channels.find(n=>n.channel===e)}channelField(e,{exact:n=!1}={}){let r=n?this.channel(e):this.channels.find(o=>o.channel.startsWith(e));return r?.field?r:null}fields(){if(this.hasOwnData())return null;let{source:{table:e},channels:n,reqs:r}=this,o=new Map;for(let{channel:i,field:s}of n){if(!s)continue;let a=s.stats?.stats||[],c=s.stats?.column??s,f=o.get(c)??o.set(c,new Set).get(c);a.forEach(l=>f.add(l)),r[i]?.forEach(l=>f.add(l))}return Array.from(o,([i,s])=>({table:e,column:i,stats:s}))}fieldInfo(e){let n=Object.fromEntries(e.map(r=>[r.column,r]));for(let r of this.channels){let{field:o}=r;o&&Object.assign(r,n[o.stats?.column??o])}return this._fieldInfo=!0,this}query(e=[]){if(this.hasOwnData())return null;let{channels:n,source:{table:r}}=this;return kp(n,r).where(e)}queryPending(){return this.plot.pending(this),this}queryResult(e){return this.data=jn(e),this}update(){return this.plot.update(this)}plotSpecs(){let{type:e,data:n,detail:r,channels:o}=this;return d_(e,r,o,n)}};function tn(t,e){let n=e?.[t.as]??t.as;return Object.hasOwn(t,"value")?t.value:YT(t.channel)?{value:n,scale:"color"}:mz(t.channel)?{value:n,scale:"opacity"}:n}function kp(t,e,n=[]){let r=yt.from({source:e}),o=new Set,i=!1;for(let s of t){let{channel:a,field:c,as:f}=s;if(!n.includes(a)){if(a==="orderby")r.orderby(s.value);else if(c){if(c.aggregate)i=!0;else{if(o.has(f))continue;o.add(f)}r.select({[f]:c})}}}return i&&r.groupby(Array.from(o)),r}function d_(t,e,n,r,o={}){let{numRows:i,values:s,columns:a}=r??{},c={};for(let u of n){let p=e.has(u.channel)?c:o;p[u.channel]=tn(u,a)}return e.size&&(o.channels=c),[{type:t,data:s??(r?{length:i}:null),options:o}]}function xa(t,e){let{plot:n}=t,r=n.getAttribute(`${e}Scale`);if(!r){let{type:i}=t.channelField(e);r=i==="date"?"time":"linear"}let o={type:r};switch(r){case"log":o.base=n.getAttribute(`${e}Base`)??10;break;case"pow":o.exponent=n.getAttribute(`${e}Exponent`)??1;break;case"symlog":o.constant=n.getAttribute(`${e}Constant`)??1;break}return Bf(o)}function qn(t,e,n,r,o=1,i){let{field:s}=t.channelField(e);i=i??s;let{type:a,apply:c,sqlApply:f}=xa(t,e),l=!!t.plot.getAttribute(`${e}Reverse`),[u,p]=r.map(x=>c(x)),h=f(i),d=a==="time"||a==="utc"?h:i,m=p===u?0:(n-o)/(p-u),g=m!==1?` * ${m}::DOUBLE`:"";return[l?Y`(${p} - ${h}::DOUBLE)${g}`:Y`(${h}::DOUBLE - ${u})${g}`,d]}var m_={x:["min","max"]},g_={y:["min","max"]},Ky={...m_,...g_};function UT(t,e,n,r,o){let{plot:i}=t,s=i.getAttribute(r),a=i.getAttribute(o);if(Array.isArray(s)&&!s[Ne])return s;{let{column:c,min:f,max:l}=t.channelField(n),u=y_(e,c)||(a?Co().domain([f,l]).nice().domain():[f,l]);return s!==oi&&(u[Ne]=!0),i.setAttribute(r,u,{silent:!0}),u}}function io(t,e){return UT(t,e,"x","xDomain","xNice")}function so(t,e){return UT(t,e,"y","yDomain","yNice")}function y_(t,e){if(!t)return;let n,r,o=(i,s)=>{if(i==="BETWEEN"&&`${s.field}`===e){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(t)?t.forEach(i=>i.visit?.(o)):t.visit&&t.visit(o),n!=null&&r!=null&&n!==r?[n,r]:void 0}var x_=class extends Ue{constructor(e,n,r){let o=e.endsWith("X")?"y":e.endsWith("Y")?"x":null,i=o?{[o]:["min","max"]}:void 0;super(e,n,r,i),this.dim=o}query(e=[]){let{plot:n,dim:r,source:o}=this,{optimize:i=!0}=o.options||{},s=super.query(e);if(!r)return s;let a=r==="x"?"y":"x",c=this.channelField(a,{exact:!0})?.as,{field:f,as:l,type:u,min:p,max:h}=this.channelField(r);if(i&&(u==="date"||u==="number")&&c){let m=r==="x"?n.innerWidth():n.innerHeight(),[g,y]=y_(e,f)||[p,h],[x]=qn(this,r,m,[g,y],1,l),w=s.select().map(b=>b.as).filter(b=>b!==l&&b!==c);return xz(s,x,l,c,w)}else return s.orderby(f)}};function xz(t,e,n,r,o=[]){let i=Y`FLOOR(${e})::INTEGER`,s=a=>yt.from(t).select(a).groupby(i,o);return yt.union(s([{[n]:ui(n),[r]:Uh(r,n)},...o]),s([{[n]:li(n),[r]:jh(r,n)},...o]),s([{[n]:Uh(n,r),[r]:ui(r)},...o]),s([{[n]:jh(n,r),[r]:li(r)},...o])).orderby(o,n)}function jT(t,e=[]){return new e.constructor(t)}function XT(t,e,n){let r=jT(t,n),o=n.length;for(let i=0;i<o;++i)r[e[i]]=n[i];return r}function GT(t,e,n,r,o,i,s){let a=n.length,c=t*e,f=o.map(h=>r[h]),l={},u=[],p=new Int32Array(a);if(i?.length){let h=i.map(m=>r[m]),d={};for(let m=0;m<a;++m){let g=h.map(y=>y[m]);p[m]=d[g]??=u.push(g)-1}for(let m=0;m<i.length;++m)l[i[m]]=u.map(g=>g[m])}else u.push([]);if(s){let h=n.map(g=>g%t),d=n.map(g=>Math.floor(g/t)),m=u.map(()=>[]);for(let g=0;g<a;++g)m[p[g]].push(g);o.forEach((g,y)=>{let x=f[y];l[g]=u.map((w,b)=>s(m[b],t,e,h,d,x))})}else o.forEach((h,d)=>{let m=f[d],g=l[h]=u.map(()=>jT(c,m));for(let y=0;y<a;++y)g[p[y]][n[y]]=m[y]});return{numRows:u.length,columns:l}}function Np(t){let e=1/0,n=-1/0;return t.forEach(r=>{let o=r.length;for(let i=0;i<o;++i){let s=r[i];s<e&&(e=s),s>n&&(n=s)}}),Number.isFinite(e)&&Number.isFinite(n)?[e,n]:[0,1]}function VT(t){let e=new rn;return t.forEach(n=>{let r=n.length;for(let o=0;o<r;++o)e.add(n[o])}),Array.from(e).sort(ht)}function ae(t,e){return $a(t)?(t.addEventListener("value",e),t.value):t}function Op(t,e=!1){let n=new Float64Array(5),r=new Float64Array(4);bz(n,r,t);let o=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]),i=1+n[1]+n[2]+n[3]+n[4],s=(r[0]+r[1]+r[2]+r[3])/i,a=(o[1]+o[2]+o[3]+o[4])/i;return{sigma:t,negative:e,a:n,b_causal:r,b_anticausal:o,sum_causal:s,sum_anticausal:a}}function bz(t,e,n){let o=Float64Array.of(.84,1.8675,.84,-1.8675,-.34015,-.1299,-.34015,.1299),i=Math.exp(-1.783/n),s=Math.exp(-1.723/n),a=.6318/n,c=1.997/n,f=Float64Array.of(-i*Math.cos(a),i*Math.sin(a),-i*Math.cos(-a),i*Math.sin(-a),-s*Math.cos(c),s*Math.sin(c),-s*Math.cos(-c),s*Math.sin(-c)),l=n*2.5066282746310007,u=Float64Array.of(o[0],o[1],0,0,0,0,0,0),p=Float64Array.of(1,0,f[0],f[1],0,0,0,0,0,0),h,d;for(d=2;d<8;d+=2){for(u[d]=f[d]*u[d-2]-f[d+1]*u[d-1],u[d+1]=f[d]*u[d-1]+f[d+1]*u[d-2],h=d-2;h>0;h-=2)u[h]+=f[d]*u[h-2]-f[d+1]*u[h-1],u[h+1]+=f[d]*u[h-1]+f[d+1]*u[h-2];for(h=0;h<=d;h+=2)u[h]+=o[d]*p[h]-o[d+1]*p[h+1],u[h+1]+=o[d]*p[h+1]+o[d+1]*p[h];for(p[d+2]=f[d]*p[d]-f[d+1]*p[d+1],p[d+3]=f[d]*p[d+1]+f[d+1]*p[d],h=d;h>0;h-=2)p[h]+=f[d]*p[h-2]-f[d+1]*p[h-1],p[h+1]+=f[d]*p[h-1]+f[d+1]*p[h-2]}for(d=0;d<4;++d)h=d<<1,e[d]=u[h]/l,t[d+1]=p[h+2]}function WT(t,e,n,[r,o]){let i=new Float64Array(Math.max(r,o)),s=new Float64Array(Math.max(r,o)),a=new Float64Array(5),c=new Float64Array(n.length);for(let f=0,l=0;f<o;++f,l+=r){let u=c.subarray(l);Jy(t,n.subarray(l),r,1,i,s,a,u)}for(let f=0;f<r;++f){let l=c.subarray(f);Jy(e,l,o,r,i,s,a,l)}return c}function Jy(t,e,n,r=1,o=new Float64Array(n),i=new Float64Array(n),s=new Float64Array(5),a=o,c=wz){let f=r*2,l=r*3,u=r*4,p=r*n,h,d;for(c(o,e,n,r,t.b_causal,3,t.a,4,t.sum_causal,s,t.sigma),d=4,h=u;d<n;++d,h+=r)o[d]=t.b_causal[0]*e[h]+t.b_causal[1]*e[h-r]+t.b_causal[2]*e[h-f]+t.b_causal[3]*e[h-l]-t.a[1]*o[d-1]-t.a[2]*o[d-2]-t.a[3]*o[d-3]-t.a[4]*o[d-4];for(c(i,e,n,-r,t.b_anticausal,4,t.a,4,t.sum_anticausal,s,t.sigma),d=4,h=p-r*5;d<n;++d,h-=r)i[d]=t.b_anticausal[1]*e[h+r]+t.b_anticausal[2]*e[h+f]+t.b_anticausal[3]*e[h+l]+t.b_anticausal[4]*e[h+u]-t.a[1]*i[d-1]-t.a[2]*i[d-2]-t.a[3]*i[d-3]-t.a[4]*i[d-4];if(t.negative)for(d=0,h=0;d<n;++d,h+=r)a[h]=o[d]+i[n-d-1];else for(d=0,h=0;d<n;++d,h+=r)a[h]=Math.max(0,o[d]+i[n-d-1]);return a}function wz(t,e,n,r,o,i,s,a,c,f,l,u=.5){let p=Math.abs(r)*n,h=r<0?p+r:0,d,m,g;for(m=0;m<=a;++m)for(f[m]=m<=i?o[m]:0,g=1;g<=a&&g<=m;++g)f[m]-=s[g]*f[m-g];for(g=0;g<a;++g)for(t[g]=0,m=1;m<=g;++m)d=h+r*m,d>=0&&d<p&&(t[g]+=f[g-m]*e[d]);let y=e[h],x=Math.ceil(l*10);for(m=0;m<x;++m){for(g=0;g<a;++g)t[g]+=f[g]*y;if(c-=Math.abs(f[0]),c<=u)break;for(f[a]=m+a<=i?o[m+a]:0,g=1;g<=a;++g)f[a]-=s[g]*f[a-g];for(g=0;g<a;++g)f[g]=f[g+1]}}var ri="density",br=class extends Ue{constructor(e,n,r){let{bandwidth:o=0,interpolate:i="none",pixelSize:s=1,pad:a=1,width:c,height:f,...l}=r,u=vz(l);super(e,n,l,Ky),this.densityMap=u,this.bandwidth=ae(o,p=>(this.bandwidth=p,this.grids?this.convolve().update():null)),this.interpolate=ae(i,p=>(this.interpolate=p,this.requestUpdate())),this.pixelSize=ae(s,p=>(this.pixelSize=p,this.requestUpdate())),this.pad=ae(a,p=>(this.pad=p,this.requestUpdate())),this.width=ae(c,p=>(this.width=p,this.requestUpdate())),this.height=ae(f,p=>(this.height=p,this.requestUpdate()))}setPlot(e,n){let r=()=>{this.hasFieldInfo()&&this.requestUpdate()};e.addAttributeListener("xDomain",r),e.addAttributeListener("yDomain",r),super.setPlot(e,n)}get filterIndexable(){let e=this.plot.getAttribute("xDomain"),n=this.plot.getAttribute("yDomain");return e&&n&&!e[Ne]&&!n[Ne]}query(e=[]){let{interpolate:n,pad:r,channels:o,densityMap:i,source:s}=this,[a,c]=this.extentX=io(this,e),[f,l]=this.extentY=so(this,e),[u,p]=this.bins=this.binDimensions(),[h,d]=qn(this,"x",u,[a,c],r),[m,g]=qn(this,"y",p,[f,l],r),y=r?[_e(d,[+a,+c]),_e(g,[+f,+l])]:[ms(+a,d),ds(d,+c),ms(+f,g),ds(g,+l)],x=yt.from(s.table).where(e.concat(y)),w=this.groupby=[],b={};for(let v of o)if(Object.hasOwn(v,"field")){let{as:A,channel:T,field:E}=v;E.aggregate?(b[T]=E,i[T]=!0):T==="weight"?b[ri]=ar(E):T!=="x"&&T!=="y"&&(x.select({[A]:E}),w.push(A))}let _=this.aggr=Object.keys(b);if(b.density&&_.length>1)throw new Error("Weight option can not be used with custom aggregates.");if(_.length||(_.push(ri),b.density=En()),n==="linear"){if(_.length>1)throw new Error("Linear binning not applicable to multiple aggregates.");if(!b.density)throw new Error("Linear binning not applicable to custom aggregates.");return Sz(x,h,m,b[ri],u,w)}else return Mz(x,h,m,b,u,w)}binDimensions(){let{plot:e,pixelSize:n,width:r,height:o}=this;return[r??Math.round(e.innerWidth()/n),o??Math.round(e.innerHeight()/n)]}queryResult(e){let[n,r]=this.bins,o=_z(this.interpolate),{columns:i}=jn(e);return this.grids0=GT(n,r,i.index,i,this.aggr,this.groupby,o),this.convolve()}convolve(){let{aggr:e,bandwidth:n,bins:r,grids0:o,plot:i}=this;if(this.grids=o,n>0){let s=e.length===1?e[0]:e.includes(ri)?ri:null;if(!s)return console.warn("No compatible grid found for smoothing."),this;let a=o.columns[s],c=i.innerWidth(),f=i.innerHeight(),[l,u]=r,p=a.some(m=>m.some(g=>g<0)),h=Op(n*(l-1)/c,p),d=Op(n*(u-1)/f,p);this.grids={numRows:o.numRows,columns:{...o.columns,[s]:a.map(m=>WT(h,d,m,r))}}}return this}};function vz(t){let e={};for(let n in t)t[n]==="density"&&(delete t[n],e[n]=!0);return e}function _z(t="none"){if(typeof t=="function")return t;switch(t.toLowerCase()){case"none":case"linear":return;case"nearest":return mp;case"barycentric":return dp();case"random-walk":return gp()}throw new Error(`invalid interpolate: ${t}`)}function Mz(t,e,n,r,o,i){return t.select({index:Y`FLOOR(${e})::INTEGER + FLOOR(${n})::INTEGER * ${o}`,...r}).groupby("index",i)}function Sz(t,e,n,r,o,i){let s=r?.column?`* ${r.column}`:"",a=(p,h)=>t.clone().select({xp:e,yp:n,i:p,w:h}),c=a(Y`FLOOR(xp)::INTEGER + FLOOR(yp)::INTEGER * ${o}`,Y`(FLOOR(xp)::INTEGER + 1 - xp) * (FLOOR(yp)::INTEGER + 1 - yp)${s}`),f=a(Y`FLOOR(xp)::INTEGER + (FLOOR(yp)::INTEGER + 1) * ${o}`,Y`(FLOOR(xp)::INTEGER + 1 - xp) * (yp - FLOOR(yp)::INTEGER)${s}`),l=a(Y`FLOOR(xp)::INTEGER + 1 + FLOOR(yp)::INTEGER * ${o}`,Y`(xp - FLOOR(xp)::INTEGER) * (FLOOR(yp)::INTEGER + 1 - yp)${s}`),u=a(Y`FLOOR(xp)::INTEGER + 1 + (FLOOR(yp)::INTEGER + 1) * ${o}`,Y`(xp - FLOOR(xp)::INTEGER) * (yp - FLOOR(yp)::INTEGER)${s}`);return yt.from(yt.unionAll(c,f,l,u)).select({index:"i",density:ar("w")},i).groupby("index",i).having(Ff("density",0))}var b_=class extends br{constructor(e,n){let{thresholds:r=10,...o}=n;super("geo",e,{bandwidth:20,interpolate:"linear",pixelSize:2,...o}),this.thresholds=ae(r,i=>(this.thresholds=i,this.grids?this.contours().update():null))}convolve(){return super.convolve().contours()}contours(){let{bins:e,densityMap:n,grids:r,thresholds:o,plot:i}=this,{numRows:s,columns:a}=r,c=o,f;if(Array.isArray(c))f=c;else{let[,S]=Np(a.density);f=Array.from({length:c-1},(k,O)=>S*(O+1)/c)}(n.fill||n.stroke)&&this.plot.getAttribute("colorScale")!=="log"&&this.plot.setAttribute("colorZero",!0);let[l,u]=e,[p,h]=i.getAttribute("xDomain"),[d,m]=i.getAttribute("yDomain"),g=(h-p)/l,y=(m-d)/u,x=+p,w=+d,b=S=>x+S*g,_=S=>w+S*y,v=vi().size(e),A=this.contourData=Array(s*f.length),{density:T,...E}=a,$=Object.entries(E);for(let S=0,k=0;S<s;++S){let O=T[S],M=$.reduce((I,[C,N])=>(I[C]=N[S],I),{});for(let I=0;I<f.length;++I,++k)A[k]=Object.assign(Az(v.contour(O,f[I]),b,_),M)}return this}plotSpecs(){let{type:e,channels:n,densityMap:r,contourData:o}=this,i={};for(let s of n){let{channel:a}=s;a!=="x"&&a!=="y"&&(i[a]=tn(s))}for(let s in r)r[s]&&(i[s]=tn({channel:s,as:"value"}));return[{type:e,data:o,options:i}]}};function Az(t,e,n){function r(s){s.forEach(o)}function o(s){s.forEach(i)}function i(s){s[0]=e(s[0]),s[1]=n(s[1])}return t.coordinates.forEach(r),t}function Rp(t){return Array.from({length:t},(e,n)=>n)}function t1(t,e){let n=e.reduce((o,i,s)=>(o[i]=s,o),{}),r=Rp(t.length);return r.sort((o,i)=>n[t[o]]-n[t[i]]),r}function e1(t,e){if(typeof document<"u"){let n=document.createElement("canvas");return n.setAttribute("width",t),n.setAttribute("height",e),n}throw new Error("Can not create a canvas instance.")}function HT(t=1){let e=255*t|0;return(n,r,o)=>{for(let i=0,s=0;i<o;++i)for(let a=0;a<r;++a,s+=4)n[s+3]=e}}function QT(t){let{apply:e}=t;return(n,r,o,i)=>{for(let s=0,a=0;s<o;++s)for(let c=0,f=(o-s-1)*r;c<r;++c,a+=4)n[a+3]=255*e(i[c+f])|0}}function ZT(t={}){let{r:e=0,g:n=0,b:r=0,opacity:o=1}=typeof t=="string"?ye(t):t,i=new Uint8ClampedArray([e,n,r,255*o|0]);return(s,a,c)=>{for(let f=0,l=0;f<c;++f)for(let u=0;u<a;++u,l+=4)s[l+0]=i[0],s[l+1]=i[1],s[l+2]=i[2],s[l+3]=i[3]}}function KT(t){let{domain:e,range:n}=t,r=Object.create(null),o=new Uint8ClampedArray(4*e.length),i=e.length-1,s=n.length;for(let a=0;a<=i;++a){let c=n[a%s],{r:f,g:l,b:u,opacity:p=1}=typeof c=="string"?ye(c):c,h=a<<2;o[h+0]=f,o[h+1]=l,o[h+2]=u,o[h+3]=255*p|0,r[e[a]]=h}return(a,c,f,l)=>{if(l.map)for(let u=0,p=0;u<f;++u)for(let h=0,d=(f-u-1)*c;h<c;++h,p+=4){let m=r[l[h+d]];a[p+0]=o[m+0],a[p+1]=o[m+1],a[p+2]=o[m+2],a[p+3]=o[m+3]}else{let u=r[l];for(let p=0,h=0;p<f;++p)for(let d=0;d<c;++d,h+=4)a[h+0]=o[u+0],a[h+1]=o[u+1],a[h+2]=o[u+2],a[h+3]=o[u+3]}}}function JT(t,e,n){let{interpolate:r}=e,o=new Uint8ClampedArray(4*t),i=t-1;for(let s=0;s<=i;++s){let a=r(s/i),{r:c,g:f,b:l,opacity:u=1}=typeof a=="string"?ye(a):a,p=s<<2;o[p+0]=c,o[p+1]=f,o[p+2]=l,o[p+3]=255*u|0}return(s,a,c,f)=>{for(let l=0,u=0;l<c;++l)for(let p=0,h=(c-l-1)*a;p<a;++p,u+=4){let d=i*n(f[p+h])<<2;s[u+0]=o[d+0],s[u+1]=o[d+1],s[u+2]=o[d+2],s[u+3]=o[d+3]}}}var mf=class extends br{constructor(e,n){super("image",e,n),this.image=null}setPlot(e,n){let r=()=>{this.hasFieldInfo()&&this.rasterize()};e.addAttributeListener("schemeColor",r),super.setPlot(e,n)}convolve(){return super.convolve().rasterize()}rasterize(){let{bins:e,grids:n}=this,[r,o]=e,{numRows:i,columns:s}=n,{canvas:a,ctx:c,img:f}=$z(this,r,o),{alpha:l,alphaProp:u,color:p,colorProp:h}=v_(this),d=s[u]??[],m=s[h]??[],g=i>1&&h&&this.groupby?.includes(h)?t1(m,this.plot.getAttribute("colorDomain")):Rp(i);return this.data={numRows:i,columns:{src:Array.from({length:i},(y,x)=>(p?.(f.data,r,o,m[g[x]]),l?.(f.data,r,o,d[g[x]]),c.putImageData(f,0,0),a.toDataURL()))}},this}plotSpecs(){let{type:e,plot:n,data:{numRows:r,columns:o}}=this,i={src:o.src,width:n.innerWidth(),height:n.innerHeight(),preserveAspectRatio:"none",imageRendering:this.channel("imageRendering")?.value,frameAnchor:"middle"};return[{type:e,data:{length:r},options:i}]}},w_=class extends mf{constructor(e,n){super(e,{bandwidth:20,interpolate:"linear",pixelSize:2,...n})}};function v_(t){let{aggr:e,densityMap:n,groupby:r,plot:o}=t,i=e.includes(ri),s=e.includes("fillOpacity"),a=t.channel("fill"),c=t.channel("fillOpacity");if(e.length>2||i&&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 f=n.fill||e.includes("fill")?"grid":r.includes(a?.as)?"group":Qy(a?.value)?a.value:i&&o.getAttribute("colorScheme")?"grid":void 0,l=n.fillOpacity||e.includes("fillOpacity")?"grid":typeof c?.value=="number"?c.value:i&&f!=="grid"?"grid":void 0;if(f!=="grid"&&l!=="grid")throw new Error("Raster mark missing density values.");let u=a?.as??(f==="grid"?ri:null),p=c?.as??(l==="grid"?ri:null),h=f!=="grid"&&f!=="group"?ZT(f):Tz(t,u),d=l!=="grid"?HT(l):Ez(t,p);return{alphaProp:p,colorProp:u,alpha:d,color:h}}function Ez(t,e){let{plot:n,grids:r}=t,o=n.getAttribute("opacityDomain"),i=o===oi,s=o?.[Ne],a=!i&&!s&&o||Np(r.columns[e]);(i||s||!o)&&(i||(a[Ne]=!0),n.setAttribute("opacityDomain",a));let c=zi({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 QT(c)}function Tz(t,e){let{plot:n,grids:r}=t,o=r.columns[e],i=!o[0]?.map,s=i||Array.isArray(o[0]),a=n.getAttribute("colorDomain"),c=a===oi,f=a?.[Ne],l=!c&&!f&&a||(i?o.slice().sort(ht):s?VT(o):Np(o));(c||f||!a)&&(c||(l[Ne]=!0),n.setAttribute("colorDomain",l));let u=zi({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(s)return KT(u);{let p=zi({x:{type:Iz(u.type),domain:u.domain,reverse:u.reverse,range:[0,1],clamp:u.clamp,base:u.base,exponent:u.exponent,constant:u.constant}});return JT(1024,u,p.apply)}}function Iz(t){return t.endsWith("symlog")?"symlog":t.endsWith("log")?"log":t.endsWith("pow")?"pow":t.endsWith("sqrt")?"sqrt":t==="diverging"?"linear":t}function $z(t,e,n){if(!t.image||t.image.w!==e||t.image.h!==n){let r=e1(e,n),o=r.getContext("2d",{willReadFrequently:!0}),i=o.getImageData(0,0,e,n);t.image={canvas:r,ctx:o,img:i,w:e,h:n}}return t.image}var __=class extends mf{constructor(e,n){let{normalize:r=!0,...o}=n;super(e,o),this.normalize=ae(r,i=>(this.normalize=i,this.requestUpdate()))}query(e=[]){let{channels:n,normalize:r,source:o,pad:i}=this,[s,a]=this.bins=this.binDimensions(),[c]=qn(this,"x",s,io(this,e),i),[f]=qn(this,"y",a,so(this,e),i),l=yt.from(o.table).where(Cz(this,e));this.aggr=["density"];let u=this.groupby=[],p=[];for(let h of n)if(Object.hasOwn(h,"field")){let{channel:d,field:m}=h;d==="z"?(l.select({[d]:m}),p.push("z")):d!=="x"&&d!=="y"&&(l.select({[d]:m}),u.push(d))}return kz(l,c,f,p,s,a,u,r)}};function Cz(t,e){if(Array.isArray(e)&&!e.length)return e;let{column:n}=t.channelField("x"),{column:r}=t.channelField("y"),o=s=>{let a=`${s.field}`;return s.op!=="BETWEEN"||a!==n&&a!==r},i=s=>s.op==="AND"?Un(s.children.filter(a=>o(a))):s;return Array.isArray(e)?e.filter(s=>o(s)).map(s=>i(s)):i(e)}function kz(t,e,n,r,o,i,s=[],a=!0){t.select({x:Y`FLOOR(${e})::INTEGER`,y:Y`FLOOR(${n})::INTEGER`});let c=s.concat(r),f=c.length?`PARTITION BY ${c.join(", ")} `:"",l=yt.from(t).select(c,{x0:"x",y0:"y",dx:Y`(lead(x) OVER sw - x)`,dy:Y`(lead(y) OVER sw - y)`}).window({sw:Y`${f}ORDER BY x ASC`}).qualify(Un(Y`(x0 < ${o} OR x0 + dx < ${o})`,Y`(y0 < ${i} OR y0 + dy < ${i})`,Y`(x0 > 0 OR x0 + dx > 0)`,Y`(y0 > 0 OR y0 + dy > 0)`)),u=yt.select({x:Y`GREATEST(MAX(ABS(dx)), MAX(ABS(dy)))`}).from("pairs"),p=yt.select({i:Y`UNNEST(range((${u})))::INTEGER`}),h=yt.unionAll(yt.select(c,{x:Y`x0 + i`,y:Y`y0 + ROUND(i * dy / dx::FLOAT)::INTEGER`}).from("pairs","indices").where(Y`ABS(dy) <= ABS(dx) AND i < ABS(dx)`),yt.select(c,{x:Y`x0 + ROUND(SIGN(dy) * i * dx / dy::FLOAT)::INTEGER`,y:Y`y0 + SIGN(dy) * i`}).from("pairs","indices").where(Y`ABS(dy) > ABS(dx) AND i < ABS(dy)`),yt.select(c,{x:"x0",y:"y0"}).from("pairs").where(Df("dx"))),d=["x"].concat(c).join(", "),m=yt.from("raster").select(c,"x","y",a?{w:Y`1.0 / COUNT(*) OVER (PARTITION BY ${d})`}:null).where(Un(_e("x",[0,o],!0),_e("y",[0,i],!0)));return yt.with({pairs:l,indices:p,raster:h,points:m}).from("points").select(s,{index:Y`x + y * ${o}::INTEGER`,density:a?ar("w"):En()}).groupby("index",s)}var M_=class extends Ue{constructor(e,n,r){let{bins:o=1024,bandwidth:i=20,...s}=r,a=e.endsWith("X")?"y":"x";super(e,n,s,a==="x"?m_:g_),this.dim=a,this.bins=ae(o,c=>(this.bins=c,this.requestUpdate())),this.bandwidth=ae(i,c=>(this.bandwidth=c,this.grid?this.convolve().update():null))}get filterIndexable(){let e=this.dim==="x"?"xDomain":"yDomain",n=this.plot.getAttribute(e);return n&&!n[Ne]}query(e=[]){if(this.hasOwnData())throw new Error("Density1DMark requires a data source");let{bins:n,channels:r,dim:o,source:{table:i}}=this,s=this.extent=(o==="x"?io:so)(this,e),[a,c]=qn(this,o,n,s),f=kp(r,i,[o]).where(e.concat(_e(c,s))),l=this.channelField("weight")?"weight":null;return Nz(f,a,l)}queryResult(e){let{columns:{index:n,density:r}}=jn(e);return this.grid=XT(this.bins,n,r),this.convolve()}convolve(){let{bins:e,bandwidth:n,dim:r,grid:o,plot:i,extent:[s,a]}=this,c=o.some(w=>w<0),f=r==="x"?i.innerWidth():i.innerHeight(),l=Op(n*(e-1)/f,c),u=Jy(l,o,e),p=r==="x"?"y":"x",h=this.channelField(r).as,d=+s,m=(a-d)/(e-1),g=1/m,y=new Float64Array(e),x=new Float64Array(e);for(let w=0;w<e;++w)y[w]=d+w*m,x[w]=u[w]*g;return this.data={numRows:e,columns:{[h]:y,[p]:x}},this}plotSpecs(){let{type:e,data:{numRows:n,columns:r},channels:o,dim:i}=this,s=i==="x"?{y:r.y}:{x:r.x};for(let a of o)s[a.channel]=tn(a,r);return[{type:e,data:{length:n},options:s}]}};function Nz(t,e,n){let r=n?`* ${n}`:"",o=t.clone().select({p:e,i:Y`FLOOR(p)::INTEGER`,w:Y`(FLOOR(p) + 1 - p)${r}`}),i=t.clone().select({p:e,i:Y`FLOOR(p)::INTEGER + 1`,w:Y`(p - FLOOR(p))${r}`});return yt.from(yt.unionAll(o,i)).select({index:"i",density:ar("w")}).groupby("index").having(L1("density",0))}var S_=class extends br{constructor(e,n){let{type:r="dot",...o}=n;super(r,e,{bandwidth:20,interpolate:"linear",pad:0,pixelSize:2,...o})}convolve(){super.convolve();let{bins:e,pad:n,extentX:r,extentY:o}=this,[i,s]=e,a=xa(this,"x"),c=xa(this,"y"),[f,l]=r.map(g=>a.apply(g)),[u,p]=o.map(g=>c.apply(g)),h=(l-f)/(i-n),d=(p-u)/(s-n),m=n?0:.5;return this.data=Oz(this.grids,e,f,u,h,d,a.invert,c.invert,m),this}plotSpecs(){let{type:e,channels:n,densityMap:r,data:{numRows:o,columns:i}}=this,s={};for(let a of n){let{channel:c}=a;s[c]=c==="x"||c==="y"?i[c]:tn(a,i)}for(let a in r)r[a]&&(s[a]=i.density);return[{type:e,data:{length:o},options:s}]}};function Oz(t,e,n,r,o,i,s,a,c){let f=1/(o*i),[l,u]=e,p=l*u,h=p*t.numRows,d=new Float64Array(h),m=new Float64Array(h),g=new Float64Array(h),y={x:d,y:m,density:g},{density:x,...w}=t.columns;for(let _ in w)y[_]=new w[_].constructor(h);let b=0;for(let _=0;_<t.numRows;++_){for(let A in w)y[A].fill(w[A][_],b,b+p);let v=x[_];for(let A=0,T=0;T<u;++T)for(let E=0;E<l;++E,++b,++A)d[b]=s(n+(E+c)*o),m[b]=a(r+(T+c)*i),g[b]=v[A]*f}return{numRows:h,columns:y}}function Rz(t,e,n){var r=1e-8,o=e-1,i=n-1,s=0,a,c,f,l,u,p,h,d,m,g,y;if(t<=0)return 0;if(t>=1)return 1;for(e>=1&&n>=1?(f=t<.5?t:1-t,l=Math.sqrt(-2*Math.log(f)),h=(2.30753+l*.27061)/(1+l*(.99229+l*.04481))-l,t<.5&&(h=-h),d=(h*h-3)/6,m=2/(1/(2*e-1)+1/(2*n-1)),g=h*Math.sqrt(d+m)/m-(1/(2*n-1)-1/(2*e-1))*(d+5/6-2/(3*m)),h=e/(e+n*Math.exp(2*g))):(a=Math.log(e/(e+n)),c=Math.log(n/(e+n)),l=Math.exp(e*a)/e,u=Math.exp(n*c)/n,g=l+u,t<l/g?h=Math.pow(e*g*t,1/e):h=1-Math.pow(n*g*(1-t),1/n)),y=-gf(e)-gf(n)+gf(e+n);s<10;s++){if(h===0||h===1)return h;if(p=Lz(h,e,n)-t,l=Math.exp(o*Math.log(h)+i*Math.log(1-h)+y),u=p/l,h-=l=u/(1-.5*Math.min(1,u*(o/h-i/(1-h)))),h<=0&&(h=.5*(h+l)),h>=1&&(h=.5*(h+l+1)),Math.abs(l)<r*h&&s>0)break}return h}function Lz(t,e,n){var r=t===0||t===1?0:Math.exp(gf(e+n)-gf(e)-gf(n)+e*Math.log(t)+n*Math.log(1-t));return t<0||t>1?0:t<(e+1)/(e+n+2)?r*t9(t,e,n)/e:1-r*t9(1-t,n,e)/n}function t9(t,e,n){var r=1e-30,o=1,i=e+n,s=e+1,a=e-1,c=1,f=1-i*t/s,l,u,p,h;for(Math.abs(f)<r&&(f=r),f=1/f,h=f;o<=100&&(l=2*o,u=o*(n-o)*t/((a+l)*(e+l)),f=1+u*f,Math.abs(f)<r&&(f=r),c=1+u/c,Math.abs(c)<r&&(c=r),f=1/f,h*=f*c,u=-(e+o)*(i+o)*t/((e+l)*(s+l)),f=1+u*f,Math.abs(f)<r&&(f=r),c=1+u/c,Math.abs(c)<r&&(c=r),f=1/f,p=f*c,h*=p,!(Math.abs(p-1)<3e-7));o++);return h}function gf(t){var e=0,n=[76.18009172947146,-86.5053203294167,24.01409824083091,-1.231739572450155,.001208650973866179,-5395239384953e-18],r=1.000000000190015,o,i,s;for(s=(i=o=t)+5.5,s-=(o+.5)*Math.log(s);e<6;e++)r+=n[e]/++i;return Math.log(2.506628274631*r/o)-s}function e9(t,e){var n=Rz(2*Math.min(t,1-t),.5*e,.5);return n=Math.sqrt(e*(1-n)/n),t>.5?n:-n}function n9(t){let e=-Math.log((1-t)*(1+t)),n;return e<6.25?(e-=3.125,n=-364441206401782e-35,n=-16850591381820166e-35+n*e,n=128584807152564e-32+n*e,n=11157877678025181e-33+n*e,n=-1333171662854621e-31+n*e,n=20972767875968562e-33+n*e,n=6637638134358324e-30+n*e,n=-4054566272975207e-29+n*e,n=-8151934197605472e-29+n*e,n=26335093153082323e-28+n*e,n=-12975133253453532e-27+n*e,n=-5415412054294628e-26+n*e,n=10512122733215323e-25+n*e,n=-4112633980346984e-24+n*e,n=-29070369957882005e-24+n*e,n=42347877827932404e-23+n*e,n=-13654692000834679e-22+n*e,n=-13882523362786469e-21+n*e,n=.00018673420803405714+n*e,n=-.000740702534166267+n*e,n=-.006033670871430149+n*e,n=.24015818242558962+n*e,n=1.6536545626831027+n*e):e<16?(e=Math.sqrt(e)-3.25,n=22137376921775787e-25,n=9075656193888539e-23+n*e,n=-27517406297064545e-23+n*e,n=18239629214389228e-24+n*e,n=15027403968909828e-22+n*e,n=-4013867526981546e-21+n*e,n=29234449089955446e-22+n*e,n=12475304481671779e-21+n*e,n=-47318229009055734e-21+n*e,n=6828485145957318e-20+n*e,n=24031110387097894e-21+n*e,n=-.0003550375203628475+n*e,n=.0009532893797373805+n*e,n=-.0016882755560235047+n*e,n=.002491442096107851+n*e,n=-.003751208507569241+n*e,n=.005370914553590064+n*e,n=1.0052589676941592+n*e,n=3.0838856104922208+n*e):Number.isFinite(e)?(e=Math.sqrt(e)-5,n=-27109920616438573e-27,n=-2555641816996525e-25+n*e,n=15076572693500548e-25+n*e,n=-3789465440126737e-24+n*e,n=761570120807834e-23+n*e,n=-1496002662714924e-23+n*e,n=2914795345090108e-23+n*e,n=-6771199775845234e-23+n*e,n=22900482228026655e-23+n*e,n=-99298272942317e-20+n*e,n=4526062597223154e-21+n*e,n=-1968177810553167e-20+n*e,n=7599527703001776e-20+n*e,n=-.00021503011930044477+n*e,n=-.00013871931833623122+n*e,n=1.0103004648645344+n*e,n=4.849906401408584+n*e):n=1/0,n*t}var A_=class extends Ue{constructor(e,n,r){let o=e.endsWith("X")?"y":"x",{ci:i=.95,...s}=r;super(e,n,s),this.dim=o,this.field=this.channelField(o).field,this.channels=this.channels.filter(a=>a.channel!==o),this.ci=ae(i,a=>(this.ci=a,this.update()))}query(e=[]){let{channels:n,field:r,source:{table:o}}=this,i=n.concat([{field:F1(r),as:"__avg__"},{field:En(r),as:"__n__"},{field:P1(r),as:"__sd__"}]);return kp(i,o).where(e)}queryResult(e){return this.data=jn(e),this}plotSpecs(){let{type:e,dim:n,detail:r,data:o,ci:i,channels:s}=this,a=Math.SQRT2*n9(i),{columns:{__avg__:c,__sd__:f,__n__:l}}=o,u={[`${n}1`]:c.map((p,h)=>p-a*f[h]/Math.sqrt(l[h])),[`${n}2`]:c.map((p,h)=>p+a*f[h]/Math.sqrt(l[h]))};return d_(e,r,s,o,u)}};var Dz="geom",E_=class extends Ue{constructor(e,n={},r){!Zy(e)&&!n?.geometry&&(n.geometry=V1(Dz)),super("geo",e,n,r)}queryResult(e){super.queryResult(e);let n=this.channelField("geometry")?.as;if(n){let{columns:r}=this.data;typeof r[n][0]=="string"&&(r[n]=r[n].map(o=>JSON.parse(o)))}return this}};var T_=class extends Ue{constructor(e,n){let{type:r="hexagon",binWidth:o=20,...i}=n;super(r,e,{r:o/2,clip:!0,...i},Ky),this.binWidth=ae(o,s=>(this.binWidth=s,this.requestUpdate()))}get filterIndexable(){let e=this.plot.getAttribute("xDomain"),n=this.plot.getAttribute("yDomain");return e&&n&&!e[Ne]&&!n[Ne]}query(e=[]){if(this.hasOwnData())return null;let{plot:n,binWidth:r,channels:o,source:i}=this,s,a,c=new Set,f={};for(let b of o)if(b.channel!=="orderby"){if(b.channel==="x")s=b;else if(b.channel==="y")a=b;else if(Object.hasOwn(b,"field")){let{as:_,field:v}=b;f[_]=v,v.aggregate||c.add(_)}}let[l,u]=io(this,e),[p,h]=so(this,e),d=.5-n.getAttribute("marginLeft"),m=0-n.getAttribute("marginTop"),g=`${r}::DOUBLE`,y=`${r*(1.5/Math.sqrt(3))}::DOUBLE`,x=`${n.innerWidth()/(u-l)}::DOUBLE`,w=`${n.innerHeight()/(h-p)}::DOUBLE`;return yt.select({[s.as]:Y`${l}::DOUBLE + ((_x + 0.5 * (_y & 1)) * ${g} + ${d})::DOUBLE / ${x}`,[a.as]:Y`${h}::DOUBLE - (_y * ${y} + ${m})::DOUBLE / ${w}`,...f}).groupby("_x","_y",...c).from(yt.select({_py:Y`(${w} * (${h}::DOUBLE - ${a.field}) - ${m}) / ${y}`,_pj:Y`ROUND(_py)::INTEGER`,_px:Y`(${x} * (${s.field} - ${l}::DOUBLE) - ${d}) / ${g} - 0.5 * (_pj & 1)`,_pi:Y`ROUND(_px)::INTEGER`,_tt:Y`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:Y`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:Y`CASE WHEN _tt THEN (_pj + CASE WHEN _py < _pj THEN -1 ELSE 1 END)::INTEGER ELSE _pj END`},"*").from(i.table).where(hs(s.field),hs(a.field),e))}};var I_=class extends br{constructor(e,n){let{origin:r=[0,0],dim:o="xy",...i}=n;super("image",e,i),this.image=null,this.origin=r,this.tileX=o.toLowerCase().includes("x"),this.tileY=o.toLowerCase().includes("y")}setPlot(e,n){let r=()=>{this.hasFieldInfo()&&this.rasterize()};e.addAttributeListener("schemeColor",r),super.setPlot(e,n)}requestQuery(){return this.requestTiles()}query(e=[]){return this._filter=e,null}tileQuery(e){let{interpolate:n,pad:r,channels:o,densityMap:i,source:s}=this,[[a,c],[f,l]]=e,[u,p]=this.bins,[h,d]=qn(this,"x",u,[a,c],r),[m,g]=qn(this,"y",p,[f,l],r),y=r?[_e(d,[+a,+c]),_e(g,[+f,+l])]:[ms(+a,d),ds(d,+c),ms(+f,g),ds(g,+l)],x=yt.from(s.table).where(y),w=this.groupby=[],b={};for(let v of o)if(Object.hasOwn(v,"field")){let{as:A,channel:T,field:E}=v;E.aggregate?(b[T]=E,i[T]=!0):T==="weight"?b.density=ar(E):T!=="x"&&T!=="y"&&(x.select({[A]:E}),w.push(A))}let _=this.aggr=Object.keys(b);if(b.density&&_.length>1)throw new Error("Weight option can not be used with custom aggregates.");if(_.length||(_.push("density"),b.density=En()),n==="linear"){if(_.length>1)throw new Error("Linear binning not applicable to multiple aggregates.");if(!b.density)throw new Error("Linear binning not applicable to custom aggregates.");return zz(x,h,m,b.density,u,w)}else return Bz(x,h,m,b,u,w)}async requestTiles(){let e=J1();this.prefetch&&e.cancel(this.prefetch);let{pad:n,tileX:r,tileY:o,origin:[i,s]}=this,[a,c]=this.bins=this.binDimensions(),[f,l]=io(this,this._filter),[u,p]=so(this,this._filter),h=l-f,d=p-u,m=Math.floor((f-i)*(a-n)/h),g=Math.floor((u-s)*(c-n)/d),y=(S,k)=>[[i+S*h,i+(S+1)*h],[s+k*d,s+(k+1)*d]],x=Math.floor((f-i)/h),w=r?r9((l-i)/h):x,b=Math.floor((u-s)/d),_=o?r9((p-s)/d):b,v=[];for(let S=x;S<=w;++S)for(let k=b;k<=_;++k)v.push([S,k]);let A=v.map(([S,k])=>e.query(this.tileQuery(y(S,k)))),T=[];if(r)for(let S=b;S<=_;++S)T.push([w+1,S]),T.push([x-1,S]);if(o){let S=r?x-1:x,k=r?w+1:w;for(let O=S;O<=k;++O)T.push([O,_+1]),T.push([O,b-1])}this.prefetch=T.map(([S,k])=>e.prefetch(this.tileQuery(y(S,k))));let E=await Promise.all(A),$=Fz(a,c,m,g,v,E);this.grids0={numRows:$.length,columns:{density:[$]}},this.convolve().update()}convolve(){return super.convolve().rasterize()}rasterize(){let{bins:e,grids:n}=this,[r,o]=e,{numRows:i,columns:s}=n,{canvas:a,ctx:c,img:f}=qz(this,r,o),{alpha:l,alphaProp:u,color:p,colorProp:h}=v_(this),d=s[u]??[],m=s[h]??[],g=i>1&&h&&this.groupby?.includes(h)?t1(m,this.plot.getAttribute("colorDomain")):Rp(i);return this.data={numRows:i,columns:{src:Array.from({length:i},(y,x)=>(p?.(f.data,r,o,m[g[x]]),l?.(f.data,r,o,d[g[x]]),c.putImageData(f,0,0),a.toDataURL()))}},this}plotSpecs(){let{type:e,plot:n,data:{numRows:r,columns:o}}=this,i={src:o.src,width:n.innerWidth(),height:n.innerHeight(),preserveAspectRatio:"none",imageRendering:this.channel("imageRendering")?.value,frameAnchor:"middle"};return[{type:e,data:{length:r},options:i}]}};function Fz(t,e,n,r,o,i){let s=new Float64Array(t*e);return i.forEach((a,c)=>{let[f,l]=o[c],u=f*t-n,p=l*e-r;Pz(t,e,s,a,u,p)}),s}function Pz(t,e,n,r,o,i){let s=r.numRows;if(s===0)return;let a=r.getChild("index").toArray(),c=r.getChild("density").toArray();for(let f=0;f<s;++f){let l=a[f],u=o+l%t,p=i+Math.floor(l/t);0<=u&&u<t&&0<=p&&p<e&&(n[u+p*t]=c[f])}}function qz(t,e,n){if(!t.image||t.image.w!==e||t.image.h!==n){let r=e1(e,n),o=r.getContext("2d",{willReadFrequently:!0}),i=o.getImageData(0,0,e,n);t.image={canvas:r,ctx:o,img:i,w:e,h:n}}return t.image}function Bz(t,e,n,r,o,i){return t.select({index:Y`FLOOR(${e})::INTEGER + FLOOR(${n})::INTEGER * ${o}`,...r}).groupby("index",i)}function zz(t,e,n,r,o,i){let s=r.column?`* ${r.column}`:"",a=(p,h)=>t.clone().select({xp:e,yp:n,i:p,w:h}),c=a(Y`FLOOR(xp)::INTEGER + FLOOR(yp)::INTEGER * ${o}`,Y`(FLOOR(xp)::INTEGER + 1 - xp) * (FLOOR(yp)::INTEGER + 1 - yp)${s}`),f=a(Y`FLOOR(xp)::INTEGER + (FLOOR(yp)::INTEGER + 1) * ${o}`,Y`(FLOOR(xp)::INTEGER + 1 - xp) * (yp - FLOOR(yp)::INTEGER)${s}`),l=a(Y`FLOOR(xp)::INTEGER + 1 + FLOOR(yp)::INTEGER * ${o}`,Y`(xp - FLOOR(xp)::INTEGER) * (FLOOR(yp)::INTEGER + 1 - yp)${s}`),u=a(Y`FLOOR(xp)::INTEGER + 1 + (FLOOR(yp)::INTEGER + 1) * ${o}`,Y`(xp - FLOOR(xp)::INTEGER) * (yp - FLOOR(yp)::INTEGER)${s}`);return yt.from(yt.unionAll(c,f,l,u)).select({index:"i",density:ar("w")},i).groupby("index",i).having(Ff("density",0))}function r9(t){let e=Math.floor(t);return e===t?e-1:e}var C_=class extends Ue{constructor(e,n){let{ci:r=.95,precision:o=4,...i}=n;super("line",e,i);let s=()=>this.modelFit?this.confidenceBand().update():null;this.ci=ae(r,a=>(this.ci=a,s())),this.precision=ae(o,a=>(this.precision=a,s()))}query(e=[]){let n=this.channelField("x").as,r=this.channelField("y").as,o=Array.from(new Set(["stroke","z","fx","fy"].flatMap(i=>this.channelField(i)?.as||[])));return yt.from(super.query(e)).select({intercept:q1(r,n),slope:B1(r,n),n:z1(r,n),ssy:Y1(r,n),ssx:U1(r,n),xm:j1(r,n),x0:Xh(ui(n).where(hs(r))),x1:Xh(li(n).where(hs(r)))}).select(o).groupby(o)}queryResult(e){return this.modelFit=jn(e),this.lineData=Yz(this.modelFit),this.confidenceBand()}confidenceBand(){let{ci:e,modelFit:n,precision:r,plot:o}=this,i=o.innerWidth();return this.areaData=e?Uz(n,e,r,i):null,this}plotSpecs(){let{lineData:e,areaData:n,channels:r,ci:o}=this,i=e.columns,s=o?n.columns:{},a={x:i.x,y:i.y},c={x:s.x,y1:s.y1,y2:s.y2,fillOpacity:.1};for(let f of r)switch(f.channel){case"x":case"y":case"fill":break;case"tip":c.tip=tn(f,s);break;case"stroke":a.stroke=tn(f,i),c.fill=tn(f,s);break;case"strokeOpacity":a.strokeOpacity=tn(f,i);break;case"fillOpacity":c.fillOpacity=tn(f,s);break;default:a[f.channel]=tn(f,i),c[f.channel]=tn(f,s);break}return[...o?[{type:"areaY",data:{length:n.numRows},options:c}]:[],{type:"line",data:{length:e.numRows},options:a}]}};function $_(t,e){if(t.concat)return t.concat(e);let n=new t.constructor(t.length+e.length);return n.set(t,0),n.set(e,t.length),n}function Yz(t){let{x0:e=[],x1:n=[],xm:r,intercept:o,slope:i,n:s,ssx:a,ssy:c,...f}=t.columns,l=(h,d)=>o[d]+h*i[d],u=$_(e,n),p=$_(e.map(l),n.map(l));for(let h in f)f[h]=$_(f[h],f[h]);return{numRows:u.length,columns:{x:u,y:p,...f}}}function Uz(t,e,n,r){let o=t.numRows,{x0:i,x1:s,xm:a,intercept:c,slope:f,n:l,ssx:u,ssy:p,...h}=t.columns,d=Object.keys(h),m={x:[],y1:[],y2:[]};d.forEach(g=>m[g]=[]);for(let g=0;g<o;++g){let y=n*(s[g]-i[g])/r,x=e9((1-e)/2,l[g]-2)*Math.sqrt(p[g]/(l[g]-2));ie(i[g],s[g]-y/2,y).concat(s[g]).forEach(w=>{let b=c[g]+w*f[g],_=x*Math.sqrt(1/l[g]+(w-a[g])**2/u[g]);m.x.push(w),m.y1.push(b-_),m.y2.push(b+_),d.forEach(v=>m[v].push(h[v][g]))})}return{numRows:m.x.length,columns:m}}function o9(t){let e=t.toLowerCase(),n=t.length,r="";for(let o=0;o<n;++o)r+=(t[o]!==e[o]?"-":"")+e[o];return r}function yf(t){let e={};for(let n in t)e[o9(n)]=t[n];return e}function jz(t){let{channels:e}=t,n=new Set,r=!1,o=!1;for(let i of e){let{channel:s,field:a,as:c}=i;if(s==="orderby")r=!0;else if(a)if(a.aggregate)o=!0;else{if(n.has(c))continue;n.add(c)}}return!r&&o&&n.size&&t.channels.push({channel:"orderby",value:Array.from(n)}),t}var k_=class{constructor(e,{selection:n,channels:r={}}){this.mark=jz(e),this.selection=n;let o=Object.entries(yf(r));this.channels=o.length?o:[["opacity",.2]],this.selection.addEventListener("value",bf(()=>this.update()))}init(e){this.svg=e;let n=this.values=[],r=this.mark.index,o=this.nodes=e.querySelectorAll(`[data-index="${r}"] > *`),{channels:i}=this;for(let s=0;s<o.length;++s){let a=o[s];n.push(i.map(c=>a.getAttribute(c[0])))}return this.update()}async update(){let{svg:e,nodes:n,channels:r,values:o,mark:i,selection:s}=this;if(!e)return;let a=await Xz(i,s);for(let c=0;c<n.length;++c){let f=n[c],l=o[c],u=f.__data__,p=a(Array.isArray(u)?u[0]:u);for(let h=0;h<r.length;++h){let[d,m]=r[h];f.setAttribute(d,p?l[h]:m)}}}};async function Xz(t,e){let n=e?.predicate(t);if(!n||n.length===0)return()=>!0;let r=t.filterBy?.predicate(t,!0),o={__:Un(n)},i=t.query(r);(i.queries||[i]).forEach(c=>{c.groupby().length?c.select(o):c.$select(o)});let s=await t.coordinator.query(i),a=s.getChild?.("__");return s.numRows||s.length?a?c=>a.at(c):c=>s[c].__:()=>!1}function N_(t){let e=t.on,n=!0;function r(o){n=!1,o(),n=!0}return t.reset=(...o)=>{r(()=>t.clear(...o))},t.moveSilent=(...o)=>{r(()=>t.move(...o))},t.on=(...o)=>{if(o.length>1&&o[1]){let i=o[1];o[1]=(...s)=>n&&i(...s)}return e(...o)},t}function i9(){return N_(Ux())}function s9(){return N_(zx())}function a9(){return N_(Yx())}function Lp(t,e){return t===e||t&&e&&Math.abs(t[0]-e[0])<1e-12&&Math.abs(t[1]-e[1])<1e-12||!1}function ao(t,e){let n=t.channelField(e)?.field;return n?.basis||n}function Dp(t,e,n=1){return e.invert(n*Math.floor(t/n))}function n1(){let t=this,e=t.getScreenCTM,n;t.getScreenCTM=()=>t.isConnected?n=e.call(t):n}var Fp=class{constructor(e,{channel:n,selection:r,field:o=void 0,pixelSize:i=1,peers:s=!0,brush:a}){this.mark=e,this.channel=n,this.pixelSize=i||1,this.selection=r,this.peers=s,this.field=o||ao(e,n),this.style=a&&yf(a),this.brush=n==="y"?a9():s9(),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(e){let n;e&&(n=e.map(r=>Dp(r,this.scale,this.pixelSize)).sort((r,o)=>r-o)),Lp(n,this.value)||(this.value=n,this.g.call(this.brush.moveSilent,e),this.selection.update(this.clause(n)))}clause(e){let{mark:n,pixelSize:r,field:o,scale:i}=this;return jf(o,e,{source:this,clients:this.peers?n.plot.markSet:new Set().add(n),scale:i,pixelSize:r})}init(e,n){let{brush:r,channel:o,style:i}=this;this.scale=e.scale(o);let s=e.scale("x").range,a=e.scale("y").range;r.extent([[Ft(s),Ft(a)],[Tt(s),Tt(a)]]);let c=this.value?.map(this.scale.apply).sort(ht),f=bt(e).selectAll('g[aria-label="facet"]');if(n=f.size()?f:bt(n??e),this.g=n.append("g").attr("class",`interval-${o}`).each(n1).call(r).call(r.moveSilent,c),i){let l=this.g.selectAll("rect.selection");for(let u in i)l.attr(u,i[u])}e.addEventListener("pointerenter",l=>{l.buttons||this.activate()})}};var O_=class{constructor(e,{selection:n,xfield:r,yfield:o,pixelSize:i=1,peers:s=!0,brush:a}){this.mark=e,this.pixelSize=i||1,this.selection=n,this.peers=s,this.xfield=r||ao(e,"x"),this.yfield=o||ao(e,"y"),this.style=a&&yf(a),this.brush=i9(),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(e){let{value:n,pixelSize:r,xscale:o,yscale:i}=this,s,a;if(e){let[c,f]=e;s=[c[0],f[0]].map(l=>Dp(l,o,r)).sort(ht),a=[c[1],f[1]].map(l=>Dp(l,i,r)).sort(ht)}(!Lp(s,n?.[0])||!Lp(a,n?.[1]))&&(this.value=e?[s,a]:void 0,this.g.call(this.brush.moveSilent,e),this.selection.update(this.clause(this.value)))}clause(e){let{mark:n,pixelSize:r,xfield:o,yfield:i,xscale:s,yscale:a}=this;return rx([o,i],e,{source:this,clients:this.peers?n.plot.markSet:new Set().add(n),scales:[s,a],pixelSize:r})}init(e){let{brush:n,style:r}=this,o=this.xscale=e.scale("x"),i=this.yscale=e.scale("y"),s=o.range,a=i.range;n.extent([[Ft(s),Ft(a)],[Tt(s),Tt(a)]]);let c=bt(e).selectAll('g[aria-label="facet"]'),f=c.size()?c:bt(e);if(this.g=f.append("g").attr("class","interval-xy").each(n1).call(n),r){let l=this.g.selectAll("rect.selection");for(let u in r)l.attr(u,r[u])}if(this.value){let[l,u]=this.value[0].map(o.apply).sort(ht),[p,h]=this.value[1].map(i.apply).sort(ht);this.g.call(n.moveSilent,[[l,p],[u,h]])}e.addEventListener("pointerenter",l=>{l.buttons||this.activate()})}};var R_=class{constructor(e,{selection:n,pointer:r,channels:o,fields:i,maxRadius:s=40}){this.mark=e,this.selection=n,this.clients=new Set().add(e),this.pointer=r,this.channels=o||(r==="x"?["x"]:r==="y"?["y"]:["x","y"]),this.fields=i||this.channels.map(a=>ao(e,[a])),this.maxRadius=s,this.valueIndex=-1}clause(e){let{clients:n,fields:r}=this,o={source:this,clients:n};return r.length>1?Uf(r,e&&[e],o):nx(r[0],e?.[0],o)}init(e){let n=this,{mark:r,channels:o,selection:i,maxRadius:s}=this,{data:{columns:a}}=r,c=o.map(x=>r.channelField(x).as),f=!ex(i),l=bt(e).selectAll('g[aria-label="facet"]'),u=l.size()?l:bt(e),p=e.scale("x").apply,h=e.scale("y").apply,d=Array.from(a[r.channelField("x").as],p),m=Array.from(a[r.channelField("y").as],h),g=this.pointer==="y"?.01:1,y=this.pointer==="x"?.01:1;u.on("pointerenter pointerdown pointermove",function(x){let[w,b]=Xe(x,this),_=Gz(d,m,w,b,g,y,s);if(_!==this.valueIndex){this.valueIndex=_;let v=_<0?void 0:c.map(A=>a[A][_]);i.update(f?!v||v.length>1?v:v[0]:n.clause(v))}}),!f&&(u.on("pointerleave",()=>{i.update(n.clause(void 0))}),e.addEventListener("pointerenter",x=>{if(!x.buttons){let w=this.channels.map(()=>0);i.activate(this.clause(w))}}))}};function Gz(t,e,n,r,o,i,s){let a=s*s,c=-1;for(let f=0;f<t.length;++f){let l=o*(t[f]-n),u=i*(e[f]-r),p=l*l+u*u;p<=a&&(a=p,c=f)}return c}var c9=(t,e)=>t-e,D_=class{constructor(e,{x:n=new pi,y:r=new pi,xfield:o,yfield:i,zoom:s=!0,panx:a=!0,pany:c=!0}){this.mark=e,this.xsel=n,this.ysel=r,this.xfield=o||ao(e,"x"),this.yfield=i||ao(e,"y"),this.zoom=L_(s,[0,1/0],[1,1]),this.panx=this.xsel&&a,this.pany=this.ysel&&c;let{plot:f}=e;a&&this.xsel.addEventListener("value",l=>{f.setAttribute("xDomain",l)&&f.update()}),c&&this.ysel.addEventListener("value",l=>{f.setAttribute("yDomain",l)&&f.update()})}publish(e){if(this.panx){let n=Vz(e,this.xscale);this.xsel.update(this.clause(n,this.xfield,this.xscale))}if(this.pany){let n=Wz(e,this.yscale);this.ysel.update(this.clause(n,this.yfield,this.yscale))}}clause(e,n,r){return jf(n,e,{source:this,clients:this.mark.plot.markSet,scale:r})}init(e){if(this.svg=e,this.initialized)return;this.initialized=!0;let{panx:n,pany:r,mark:{plot:{element:o}},xsel:i,ysel:s}=this;this.xscale=e.scale("x"),this.yscale=e.scale("y");let a=this.xscale.range.slice().sort(c9),c=this.yscale.range.slice().sort(c9),f=L_(n,[-1/0,1/0],a),l=L_(r,[-1/0,1/0],c),u=sw().extent([[a[0],c[0]],[a[1],c[1]]]).scaleExtent(this.zoom).translateExtent([[f[0],l[0]],[f[1],l[1]]]).on("start",()=>{this.xscale=this.svg.scale("x"),this.yscale=this.svg.scale("y")}).on("end",()=>o.__zoom=new Nn(1,0,0)).on("zoom",({transform:p})=>this.publish(p));if(bt(o).call(u),n||r){let p=!1;o.addEventListener("pointerenter",h=>{if(!p&&(p=!0,!h.buttons)){if(n){let{xscale:d,xfield:m}=this;i.activate(this.clause(d.domain,m,d))}if(r){let{yscale:d,yfield:m}=this;s.activate(this.clause(d.domain,m,d))}}}),o.addEventListener("pointerleave",()=>p=!1)}}};function L_(t,e,n){return t?Array.isArray(t)?t:e:n}function Vz(t,e){return e.range.map(t.invertX,t).map(e.invert,e)}function Wz(t,e){return e.range.map(t.invertY,t).map(e.invert,e)}var Pp=class{constructor(e,{selection:n,channels:r,peers:o=!0}){this.value=null,this.mark=e,this.selection=n,this.peers=o;let i=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 f=0;f<c.length;++f){let l=e.channelField(c[f],{exact:!0});if(l){i.push(l.field?.basis||l.field),s.push(l.as);return}}throw new Error(`Missing channel: ${a}`)})}clause(e){let{fields:n,mark:r}=this;return Uf(n,e,{source:this,clients:this.peers?r.plot.markSet:new Set().add(r)})}init(e,n,r){let{mark:o,as:i,selection:s}=this,{data:{columns:a={}}={}}=o;r??=f=>i.map(l=>{let u=f.__data__;return a[l][Array.isArray(u)?u[0]:u]}),n??=`[data-index="${o.index}"]`;let c=new Set(e.querySelectorAll(n));e.addEventListener("pointerdown",f=>{let l=s.single?s.value:this.value,u=f.target,p=null;if(Hz(c,u)){let h=r(u);(f.shiftKey||f.metaKey)&&l?.length?(p=l.filter(d=>F_(d,h)),p.length===l.length&&p.push(h)):l?.length===1&&!F_(l[0],h)?p=null:p=[h]}this.value=p,Qz(l,p)&&s.update(this.clause(p))}),e.addEventListener("pointerenter",f=>{f.buttons||this.selection.activate(this.clause([this.fields.map(()=>0)]))})}};function Hz(t,e){return t.has(e)||t.has(e.parentNode)||t.has(e.parentNode?.parentNode)}function Qz(t,e){return t==null||e==null?t!=null||e!=null:t.length!==e.length||t.some((n,r)=>F_(n,e[r]))}function F_(t,e){let n=t.length;if(e.length!==n)return!0;for(let r=0;r<n;++r)if(t[r]!==e[r])return!0;return!1}var l9=":scope > div, :scope > span",r1="swatch",f9="ramp",P_=class{constructor(e,n){let{as:r,field:o,...i}=n;this.channel=e,this.options=i,this.type=null,this.handler=null,this.selection=r,this.field=o,this.legend=null,this.element=document.createElement("div"),this.element.setAttribute("class","legend"),Object.defineProperty(this.element,"value",{value:this})}setPlot(e){this.plot=e}init(e){let n=Zz(this,e);return this.element.replaceChildren(n),this.element}update(){if(!this.legend)return;let{selection:e,handler:n}=this,{single:r,value:o}=e,i=r?o:e.valueFor(n),s=i&&i.length?new Set(i.map(c=>c[0])):null,a=this.legend.querySelectorAll(l9);for(let c of a){let f=s?s.has(c.__data__):!0;c.style.opacity=f?1:.2}}};function Zz(t,e){let{channel:n,plot:r,selection:o}=t,i=e.scale(n),s=i.type==="ordinal"?r1:f9,a={label:r.getAttribute(`${n}Label`)??null,...t.options},c=s===r1?a:a.label?{tickSize:2,...a}:{tickSize:2,marginTop:1,height:29,...a},f=e.legend(n,c);t.legend=f;let l=!!o;if(l&&s===f9){let u=c.width??240,p=eY(i,u);p?f.scale=function(h){return h==="x"?{range:[0,u]}:h==="y"?{range:[-10,0]}:h===n?p:void 0}:l=!1}if(l){let u=Kz(t,s);s===r1?(u.init(f,l9,p=>[p.__data__]),t.update()):u.init(f,f.querySelector("g:last-of-type"))}return f}function Kz(t,e){let{channel:n,handler:r,selection:o}=t;if(r)return r;let i=Jz(t);return e===r1?(t.handler=new Pp(i,{selection:o,channels:[n],peers:!1}),o.addEventListener("value",()=>t.update())):t.handler=new Fp(i,{selection:o,channel:n,brush:{fill:"none",stroke:"currentColor"},peers:!1}),t.handler}function Jz(t){let{channel:e,plot:n}=t,r=t.field??tY(n.marks,e)??"value";if(r){let o={field:r};return{plot:n,channelField:i=>e===i?o:void 0}}}function tY(t,e){let n=e==="color"?["fill","stroke"]:e==="opacity"?["opacity","fillOpacity","strokeOpacity"]:null;if(n==null)return null;for(let r=t.length-1;r>-1;--r)for(let o of n){let i=t[r].channelField(o,{exact:!0});if(i)return i.field}return null}function eY(t,e){let{apply:n,invert:r,interpolate:o,...i}=t,s=t.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 zi({x:{...i,type:a,range:[0,e]}})}function o1(t,e,n=0,r=Math.LN10){let o,i=Math.ceil(Math.log(e)/r),s=Math.max(n,Math.pow(10,Math.round(Math.log(t)/r)-i));for(;Math.ceil(t/s)>e;)s*=10;let a=[5,2];for(let c=0,f=a.length;c<f;++c)o=s/a[c],o>=n&&t/o<=e&&(s=o);return s}function u9(t,e,n){let{step:r,steps:o,minstep:i=0,nice:s=!0}=n;if(s!==!1){let a=e-t,c=Math.LN10;r=r||o1(a,o||25,i,c);let f=Math.log(r),l=f>=0?0:~~(-f/c)+1,u=Math.pow(10,-l-1);f=Math.floor(t/r+u)*r,t=t<f?f-r:f,e=Math.ceil(e/r)*r,o=Math.round((e-t)/r)}return{min:t,max:e,steps:o}}var m9="year",p9="month",h9="day",i1="hour",s1="minute",a1="second",nY="millisecond",Bp=1e3,zp=Bp*60,Yp=zp*60,c1=Yp*24,rY=c1*7,d9=c1*30,g9=c1*365,qp=[[a1,1,Bp],[a1,5,5*Bp],[a1,15,15*Bp],[a1,30,30*Bp],[s1,1,zp],[s1,5,5*zp],[s1,15,15*zp],[s1,30,30*zp],[i1,1,Yp],[i1,3,3*Yp],[i1,6,6*Yp],[i1,12,12*Yp],[h9,1,c1],[h9,7,rY],[p9,1,d9],[p9,3,3*d9],[m9,1,g9]];function y9(t,e,n){let r=e-t,o=r/n,i=fr(s=>s[2]).right(qp,o);return i===qp.length?{interval:m9,step:o1(r/g9,n)}:i?(i=qp[o/qp[i-1][2]<qp[i][2]/o?i-1:i],{interval:i[0],step:i[1]}):{interval:nY,step:o1(r,n,1)}}var oY=new Set(["rectY-x","rectX-y","rect-x","rect-y","ruleY-x","ruleX-y"]);function iY(t,e){return oY.has(`${t.type}-${e}`)}function x9(t,e={}){let n=(r,o)=>iY(r,o)?{[`${o}1`]:q_(r,o,t,e),[`${o}2`]:q_(r,o,t,{...e,offset:1})}:{[o]:q_(r,o,t,e)};return n[xf]=!0,n}function q_(t,e,n,r){return{column:n,label:n,get columns(){return[n]},get basis(){return n},get stats(){return{column:n,stats:["min","max"]}},toString(){let{type:o,min:i,max:s}=t.channelField(e),{interval:a,steps:c,offset:f=0}=r,l=a??(o==="date"||sY(t,e)?"date":"number");if(l==="number"){let{apply:u,sqlApply:p,sqlInvert:h}=xa(t,e),d=u9(u(i),u(s),r),m=p(n),g=d.min===0?m:`(${m} - ${d.min})`,y=`${(d.max-d.min)/d.steps}::DOUBLE`,x=f?`${f} + `:"",w=`${d.min} + ${y} * (${x}FLOOR(${g} / ${y}))`;return`${h(w)}`}else{let{interval:u,step:p=1}=l==="date"?y9(i,s,c||40):r,h=f?` + INTERVAL ${f*p} ${u}`:"";return`(${G1(n,u,p)}${h})`}}}}function sY(t,e){let n=t.plot.getAttribute(`${e}Scale`);return n==="utc"||n==="time"}export{x_ as ConnectedMark,b_ as ContourMark,__ as DenseLineMark,M_ as Density1DMark,S_ as Density2DMark,A_ as ErrorBarMark,oi as Fixed,E_ as GeoMark,br as Grid2DMark,w_ as HeatmapMark,T_ as HexbinMark,k_ as Highlight,Fp as Interval1D,O_ as Interval2D,P_ as Legend,Ue as Mark,R_ as Nearest,D_ as PanZoom,u_ as Plot,mf as RasterMark,I_ as RasterTileMark,C_ as RegressionMark,Pp as Toggle,xf as Transform,Ne as Transient,x9 as bin};
60
+ }`)).call(Df,n);for(let O of f){let{channels:D,values:F,facets:P}=m.get(O);if(d===void 0||O.facet==="super"){let W=null;if(P&&(W=P[0],W=O.filter(W,D,F),W.length===0))continue;let K=O.render(W,x,F,v,A);if(K==null)continue;T.appendChild(K)}else{let W;for(let K of d){if(!(O.facetAnchor?.(d,k,K)??!K.empty))continue;let tt=null;if(P){let U=p.has(O);if(tt=P[U?K.i:0],tt=O.filter(tt,D,F),tt.length===0)continue;!U&&tt===P[0]&&(tt=bi(tt)),tt.fx=K.x,tt.fy=K.y,tt.fi=K.i}let nt=O.render(tt,x,F,_,A);if(nt!=null){(W??=At(T).append("g")).append(()=>nt).datum(K);for(let U of["aria-label","aria-description","aria-hidden","transform"])nt.hasAttribute(U)&&(W.attr(U,nt.getAttribute(U)),nt.removeAttribute(U))}}W?.selectChildren().attr("transform",L)}}let N=vT(g,A,t),{figure:R=r!=null||o!=null||i!=null||N.length>0}=t;R&&(C=E.createElement("figure"),C.className=`${c}-figure`,C.style.maxWidth="initial",r!=null&&C.append(DT(E,r,"h2")),o!=null&&C.append(DT(E,o,"h3")),C.append(...N,T),i!=null&&C.append(vB(E,i)),"value"in T&&(C.value=T.value,delete T.value)),C.scale=cE(x.scales),C.legend=bT(g,A,t);let $=q7();return $>0&&At(T).append("text").attr("x",M).attr("y",20).attr("dy","-1em").attr("text-anchor","end").attr("font-family","initial").text("\u26A0\uFE0F").append("title").text(`${$.toLocaleString("en-US")} warning${$===1?"":"s"}. Please check the console.`),C}function DT(t,e,n){if(e.ownerDocument)return e;let r=t.createElement(n);return r.append(e),r}function vB(t,e){let n=t.createElement("figcaption");return n.append(e),n}function FT(t){return t.flat(1/0).filter(e=>e!=null).map(_B)}function _B(t){return typeof t.render=="function"?t:new $6(t)}var $6=class extends ft{constructor(e){if(typeof e!="function")throw new TypeError("invalid mark; missing render function");super(),this.render=e}render(){}};function D6(t,e){for(let n in t)zT(t[n],e);return t}function zT(t,e){let{scale:n,transform:r=!0}=t;if(n==null||!r)return;let{type:o,percent:i,interval:s,transform:a=i?c=>c==null?NaN:c*100:C_(s,o)}=e[n]??{};a!=null&&(t.value=Mt(t.value,a),t.transform=!1)}function MB(t){for(let e in t)X_(e,t[e])}function xh(t,e,n,r=jA){for(let{channels:o}of e.values())for(let i in o){let s=o[i],{scale:a}=s;if(a!=null&&r(a))if(a==="projection"){if(!bE(n)){let c=n.x?.domain===void 0,f=n.y?.domain===void 0;if(c||f){let[u,p]=vE(s);c&&O6(t,"x",u),f&&O6(t,"y",p)}}}else O6(t,a,s)}return t}function O6(t,e,n){let r=t.get(e);r!==void 0?r.push(n):t.set(e,[n])}function SB(t,e){if(t==null)return;let{x:n,y:r}=t;if(n==null&&r==null)return;let o=yi(t.data);if(o==null)throw new Error("missing facet data");let i={};n!=null&&(i.fx=Cf(o,{value:n,scale:"fx"})),r!=null&&(i.fy=Cf(o,{value:r,scale:"fy"})),D6(i,e);let s=Cx(o,i);return{channels:i,groups:s,data:t.data}}function PT(t,e,n){if(t.facet===null||t.facet==="super")return;let{fx:r,fy:o}=t;if(r!=null||o!=null){let c=yi(t.data??r??o);if(c===void 0)throw new Error(`missing facet data in ${t.ariaLabel}`);if(c===null)return;let f={};return r!=null&&(f.fx=Cf(c,{value:r,scale:"fx"})),o!=null&&(f.fy=Cf(c,{value:o,scale:"fy"})),D6(f,n),{channels:f,groups:Cx(c,f)}}if(e===void 0)return;let{channels:i,groups:s,data:a}=e;if(t.facet!=="auto"||t.data===a)return{channels:i,groups:s};a.length>0&&(s.size>1||s.size===1&&i.fx&&i.fy&&[...s][0][1].size>1)&&ps(yi(t.data))===ps(a)&&hn(`Warning: the ${t.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 AB(t,e={}){return Gt({...e,x:null,y:null},(n,r,o,i,s,a)=>a.getMarkState(t))}function EB(t){let e=[];for(let n of t){let r=n.tip;if(r){r===!0?r={}:typeof r=="string"&&(r={pointer:r});let{pointer:o,preferredAnchor:i}=r;o=/^x$/i.test(o)?Ms:/^y$/i.test(o)?Ti:_s,r=o(AB(n,r)),r.title=null,i===void 0&&(r.preferredAnchor=o===Ti?"left":"bottom");let s=i1(n.data,r);s.facet=n.facet,s.facetAnchor=n.facetAnchor,e.push(s)}}return e}function TB(t,e,n){let{projection:r,x:o={},y:i={},fx:s={},fy:a={},axis:c,grid:f,facet:u={},facet:{axis:p=c,grid:l}=u,x:{axis:h=c,grid:d=h===null?null:f}=o,y:{axis:m=c,grid:g=m===null?null:f}=i,fx:{axis:y=p,grid:x=y===null?null:l}=s,fy:{axis:b=p,grid:w=b===null?null:l}=a}=n;(r||!bo(o)&&!qT("x",t))&&(h=d=null),(r||!bo(i)&&!qT("y",t))&&(m=g=null),e.has("fx")||(y=x=null),e.has("fy")||(b=w=null),h===void 0&&(h=!c1(t,"x")),m===void 0&&(m=!c1(t,"y")),y===void 0&&(y=!c1(t,"fx")),b===void 0&&(b=!c1(t,"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 a1(_,w,Qx,a),s1(_,b,Gx,"right","left",u,a),a1(_,x,Kx,s),s1(_,y,Vx,"top","bottom",u,s),a1(_,g,Hx,i),s1(_,m,fh,"left","right",n,i),a1(_,d,Zx,o),s1(_,h,uh,"bottom","top",n,o),_}function s1(t,e,n,r,o,i,s){if(!e)return;let a=IB(e);s=CB(a?r:e,i,s);let{line:c}=s;(n===fh||n===uh)&&c&&!vi(c)&&t.push(Wf(NB(s))),t.push(n(s)),a&&t.push(n({...s,anchor:o,label:null}))}function a1(t,e,n,r){!e||vi(e)||t.push(n(kB(e,r)))}function IB(t){return/^\s*both\s*$/i.test(t)}function CB(t,e,{line:n=e.line,ticks:r,tickSize:o,tickSpacing:i,tickPadding:s,tickFormat:a,tickRotate:c,fontVariant:f,ariaLabel:u,ariaDescription:p,label:l=e.label,labelAnchor:h,labelArrow:d=e.labelArrow,labelOffset:m}){return{anchor:t,line:n,ticks:r,tickSize:o,tickSpacing:i,tickPadding:s,tickFormat:a,tickRotate:c,fontVariant:f,ariaLabel:u,ariaDescription:p,label:l,labelAnchor:h,labelArrow:d,labelOffset:m}}function NB(t){let{anchor:e,line:n}=t;return{anchor:e,facetAnchor:e+"-empty",stroke:n===!0?void 0:n}}function kB(t,{stroke:e=ds(t)?t:void 0,ticks:n=RB(t)?t:void 0,tickSpacing:r,ariaLabel:o,ariaDescription:i}){return{stroke:e,ticks:n,tickSpacing:r,ariaLabel:o,ariaDescription:i}}function RB(t){switch(typeof t){case"number":return!0;case"string":return!ds(t)}return Rn(t)||typeof t?.range=="function"}function c1(t,e){let n=`${e}-axis `;return t.some(r=>r.ariaLabel?.startsWith(n))}function qT(t,e){for(let n of e)for(let r in n.channels){let{scale:o}=n.channels[r];if(o===t||o==="projection")return!0}return!1}function LB(t,e){for(let n in t){let r=t[n],o=e[n];r.label===void 0&&o&&(r.label=o.label)}return t}function OB({fx:t,fy:e},n){let{marginTop:r,marginRight:o,marginBottom:i,marginLeft:s,width:a,height:c}=Ex(n),f=t&&BT(t),u=e&&BT(e);return{marginTop:e?u[0]:r,marginRight:t?a-f[1]:o,marginBottom:e?c-u[1]:i,marginLeft:t?f[0]:s,inset:{marginTop:n.marginTop,marginRight:n.marginRight,marginBottom:n.marginBottom,marginLeft:n.marginLeft},width:a,height:c}}function BT(t){let e=t.domain();if(e.length===0)return[0,t.bandwidth()];let n=t(e[0]),r=t(e[e.length-1]);return r<n&&([n,r]=[r,n]),[n,r+t.bandwidth()]}var $B=new Map([["basis",Gv],["basis-closed",Vv],["basis-open",Hv],["bundle",Qv],["bump-x",Yv],["bump-y",Uv],["cardinal",Zv],["cardinal-closed",Kv],["cardinal-open",Jv],["catmull-rom",t_],["catmull-rom-closed",e_],["catmull-rom-open",n_],["linear",hi],["linear-closed",r_],["monotone-x",i_],["monotone-y",s_],["natural",a_],["step",c_],["step-after",u_],["step-before",f_]]);function bh(t=hi,e){if(typeof t=="function")return t;let n=$B.get(`${t}`.toLowerCase());if(!n)throw new Error(`unknown curve: ${t}`);if(e!==void 0){if("beta"in n)return n.beta(e);if("tension"in n)return n.tension(e);if("alpha"in n)return n.alpha(e)}return n}function f1(t=Cs,e){return typeof t!="function"&&`${t}`.toLowerCase()==="auto"?Cs:bh(t,e)}function Cs(t){return hi(t)}function Co(t={y:"count"},e={}){[t,e]=P6(t,e);let{x:n,y:r}=e;return F6(u1(n,e,X),null,null,r,t,Ba(e))}function No(t={x:"count"},e={}){[t,e]=P6(t,e);let{x:n,y:r}=e;return F6(null,u1(r,e,X),n,null,t,za(e))}function Ci(t={fill:"count"},e={}){[t,e]=P6(t,e);let{x:n,y:r}=DB(e);return F6(n,r,null,null,t,Ba(za(e)))}function jT(t,e,n={}){if(n?.interval==null)return n;let{reduce:r=wx}=n,o={filter:null};return n[e]!=null&&(o[e]=r),n[`${e}1`]!=null&&(o[`${e}1`]=r),n[`${e}2`]!=null&&(o[`${e}2`]=r),t(o,n)}function Vf(t={}){return jT(Co,"y",Fr(t,"x"))}function Hf(t={}){return jT(No,"x",Fr(t,"y"))}function F6(t,e,n,r,{data:o=bx,filter:i=Zp,sort:s,reverse:a,...c}={},f={}){t=YT(t),e=YT(e),c=FB(c,f),o=GT(o,X),s=s==null?void 0:XT("sort",s,f),i=i==null?void 0:WT("filter",i,f),n!=null&&So(c,"x","x1","x2")&&(n=null),r!=null&&So(c,"y","y1","y2")&&(r=null);let[u,p]=Ze(t),[l,h]=Ze(t),[d,m]=Ze(e),[g,y]=Ze(e),[x,b]=n!=null?[n,"x"]:r!=null?[r,"y"]:[],[w,_]=Ze(x),{x:v,y:A,z:E,fill:T,stroke:C,x1:S,x2:k,y1:L,y2:M,domain:I,cumulative:N,thresholds:R,interval:$,...O}=f,[D,F]=Ze(E),[P]=ne(T),[W]=ne(C),[K,tt]=Ze(P),[nt,U]=Ze(W);return{..."z"in f&&{z:D||E},..."fill"in f&&{fill:K||T},..."stroke"in f&&{stroke:nt||C},...Me(O,(et,z,G)=>{let J=$a(ct(et,x),G?.[b]),q=ct(et,E),bt=ct(et,P),st=ct(et,W),Et=th(c,{z:q,fill:bt,stroke:st}),Ct=[],Q=[],qt=J&&_([]),Bn=q&&F([]),Yr=bt&&tt([]),FC=st&&U([]),V3=t&&p([]),PC=t&&h([]),H3=e&&m([]),qC=e&&y([]),BC=BB(t,e,et),zC=0;for(let rc of c)rc.initialize(et);s&&s.initialize(et),i&&i.initialize(et);for(let rc of z){let Q3=[];for(let oc of c)oc.scope("facet",rc);s&&s.scope("facet",rc),i&&i.scope("facet",rc);for(let[oc,YC]of Mo(rc,Et))for(let[UC,sd]of Mo(YC,J))for(let[Ur,Do]of BC(sd))if(Et&&(Do.z=oc),!(i&&!i.reduce(Ur,Do))){Q3.push(zC++),Q.push(o.reduceIndex(Ur,et,Do)),J&&qt.push(UC),q&&Bn.push(Et===q?oc:q[(Ur.length>0?Ur:sd)[0]]),bt&&Yr.push(Et===bt?oc:bt[(Ur.length>0?Ur:sd)[0]]),st&&FC.push(Et===st?oc:st[(Ur.length>0?Ur:sd)[0]]),V3&&(V3.push(Do.x1),PC.push(Do.x2)),H3&&(H3.push(Do.y1),qC.push(Do.y2));for(let jC of c)jC.reduce(Ur,Do);s&&s.reduce(Ur,Do)}Ct.push(Q3)}return Y_(Ct,s,a),{data:Q,facets:Ct}}),...!So(c,"x")&&(u?{x1:u,x2:l,x:Sf(u,l)}:{x:v,x1:S,x2:k}),...!So(c,"y")&&(d?{y1:d,y2:g,y:Sf(d,g)}:{y:A,y1:L,y2:M}),...w&&{[b]:w},...Object.fromEntries(c.map(({name:et,output:z})=>[et,z]))}}function P6({cumulative:t,domain:e,thresholds:n,interval:r,...o},i){return[o,{cumulative:t,domain:e,thresholds:n,interval:r,...i}]}function u1(t,{cumulative:e,domain:n,thresholds:r,interval:o},i){return t={...wr(t)},t.domain===void 0&&(t.domain=n),t.cumulative===void 0&&(t.cumulative=e),t.thresholds===void 0&&(t.thresholds=r),t.interval===void 0&&(t.interval=o),t.value===void 0&&(t.value=i),t.thresholds=q6(t.thresholds,t.interval),t}function DB(t){let{x:e,y:n}=t;return e=u1(e,t),n=u1(n,t),[e.value,n.value]=ce(e.value,n.value),{x:e,y:n}}function YT(t){if(t==null)return;let{value:e,cumulative:n,domain:r=Ot,thresholds:o}=t,i=s=>{let a=ct(s,e),c;if(re(a)||qB(o)){a=Mt(a,S_,Float64Array);let[u,p]=typeof r=="function"?r(a):r,l=typeof o=="function"&&!hs(o)?o(a,u,p):o;typeof l=="number"&&(l=xp(u,p,l)),hs(l)&&(r===Ot&&(u=l.floor(u),p=l.offset(l.floor(p))),l=l.range(u,l.offset(p))),c=l}else{a=_e(a);let[u,p]=typeof r=="function"?r(a):r,l=typeof o=="function"&&!hs(o)?o(a,u,p):o;if(typeof l=="number")if(r===Ot){let h=Ho(u,p,l);if(isFinite(h))if(h>0){let d=Math.round(u/h),m=Math.round(p/h);d*h<=u||--d,m*h>p||++m;let g=m-d+1;l=new Float64Array(g);for(let y=0;y<g;++y)l[y]=(d+y)*h}else if(h<0){h=-h;let d=Math.round(u*h),m=Math.round(p*h);d/h<=u||--d,m/h>p||++m;let g=m-d+1;l=new Float64Array(g);for(let y=0;y<g;++y)l[y]=(d+y)/h}else l=[u];else l=[u]}else l=Ge(u,p,l);else hs(l)&&(r===Ot&&(u=l.floor(u),p=l.offset(l.floor(p))),l=l.range(u,l.offset(p)));c=l}let f=[];if(c.length===1)f.push([c[0],c[0]]);else for(let u=1;u<c.length;++u)f.push([c[u-1],c[u]]);return f.bin=(n<0?YB:n>0?zB:B6)(f,c,a),f};return i.label=Ke(e),i}function q6(t,e,n=UT){if(t===void 0)return e===void 0?n:vo(e);if(typeof t=="string"){switch(t.toLowerCase()){case"freedman-diaconis":return t0;case"scott":return hl;case"sturges":return ji;case"auto":return UT}return La(t)}return t}function FB(t,e){return B_(t,e,XT)}function XT(t,e,n){return yx(t,e,n,WT)}function WT(t,e,n){return xx(t,e,n,GT)}function GT(t,e){return If(t,e,PB)}function PB(t){switch(`${t}`.toLowerCase()){case"x":return UB;case"x1":return XB;case"x2":return WB;case"y":return jB;case"y1":return GB;case"y2":return VB;case"z":return U_}throw new Error(`invalid bin reduce: ${t}`)}function UT(t,e,n){return Math.min(200,hl(t,e,n))}function qB(t){return GA(t)||Rn(t)&&re(t)}function BB(t,e,n){let r=t?.(n),o=e?.(n);return r&&o?function*(i){let s=r.bin(i);for(let[a,[c,f]]of r.entries()){let u=o.bin(s[a]);for(let[p,[l,h]]of o.entries())yield[u[p],{data:n,x1:c,y1:l,x2:f,y2:h}]}}:r?function*(i){let s=r.bin(i);for(let[a,[c,f]]of r.entries())yield[s[a],{data:n,x1:c,x2:f}]}:function*(i){let s=o.bin(i);for(let[a,[c,f]]of o.entries())yield[s[a],{data:n,y1:c,y2:f}]}}function B6(t,e,n){return e=_e(e),r=>{let o=t.map(()=>[]);for(let i of r)o[Go(e,n[i])-1]?.push(i);return o}}function zB(t,e,n){let r=B6(t,e,n);return o=>{let i=r(o);for(let s=1,a=i.length;s<a;++s){let c=i[s-1],f=i[s];for(let u of c)f.push(u)}return i}}function YB(t,e,n){let r=B6(t,e,n);return o=>{let i=r(o);for(let s=i.length-2;s>=0;--s){let a=i[s+1],c=i[s];for(let f of a)c.push(f)}return i}}function VT(t,e){let n=(+t+ +e)/2;return t instanceof Date?new Date(n):n}var UB={reduceIndex(t,e,{x1:n,x2:r}){return VT(n,r)}},jB={reduceIndex(t,e,{y1:n,y2:r}){return VT(n,r)}},XB={reduceIndex(t,e,{x1:n}){return n}},WB={reduceIndex(t,e,{x2:n}){return n}},GB={reduceIndex(t,e,{y1:n}){return n}},VB={reduceIndex(t,e,{y2:n}){return n}};var HB={ariaLabel:"area",strokeWidth:1,strokeLinecap:"round",strokeLinejoin:"round",strokeMiterlimit:1},Ga=class extends ft{constructor(e,n={}){let{x1:r,y1:o,x2:i,y2:s,z:a,curve:c,tension:f}=n;super(e,{x1:{value:r,scale:"x"},y1:{value:o,scale:"y"},x2:{value:i,scale:"x",optional:!0},y2:{value:s,scale:"y",optional:!0},z:{value:pn(n),optional:!0}},n,HB),this.z=a,this.curve=bh(c,f)}filter(e){return e}render(e,n,r,o,i){let{x1:s,y1:a,x2:c=s,y2:f=a}=r;return rt("svg:g",i).call(gt,this,o,i).call(ht,this,n,0,0).call(u=>u.selectAll().data($x(e,[s,a,c,f],this,r)).enter().append("path").call(lt,this).call(qa,this,r).attr("d",hf().curve(this.curve).defined(p=>p>=0).x0(p=>s[p]).y0(p=>a[p]).x1(p=>c[p]).y1(p=>f[p]))).node()}};function wh(t,e){return e===void 0?Ni(t,{x:Oa,y:us}):new Ga(t,e)}function Ns(t,e){let{y:n=Xt,...r}=Hf(e);return new Ga(t,Ts(As({...r,y1:n,y2:void 0})))}function Ni(t,e){let{x:n=Xt,...r}=Vf(e);return new Ga(t,Is(Es({...r,x1:n,x2:void 0})))}var QB={ariaLabel:"link",fill:"none",stroke:"currentColor",strokeMiterlimit:1},vh=class extends ft{constructor(e,n={}){let{x1:r,y1:o,x2:i,y2:s,curve:a,tension:c}=n;super(e,{x1:{value:r,scale:"x"},y1:{value:o,scale:"y"},x2:{value:i,scale:"x",optional:!0},y2:{value:s,scale:"y",optional:!0}},n,QB),this.curve=f1(a,c),Pr(this,n)}project(e,n,r){this.curve!==Cs&&super.project(e,n,r)}render(e,n,r,o,i){let{x1:s,y1:a,x2:c=s,y2:f=a}=r,{curve:u}=this;return rt("svg:g",i).call(gt,this,o,i).call(ht,this,n).call(p=>p.selectAll().data(e).enter().append("path").call(lt,this).attr("d",u===Cs&&i.projection?ZB(i.projection,s,a,c,f):l=>{let h=An(),d=u(h);return d.lineStart(),d.point(s[l],a[l]),d.point(c[l],f[l]),d.lineEnd(),h}).call(_t,this,r).call(Ii,this,r,i)).node()}};function ZB(t,e,n,r,o){let i=Oe(t);return e=_e(e),n=_e(n),r=_e(r),o=_e(o),s=>i({type:"LineString",coordinates:[[e[s],n[s]],[r[s],o[s]]]})}function l1(t,{x:e,x1:n,x2:r,y:o,y1:i,y2:s,...a}={}){return[n,r]=_h(e,n,r),[i,s]=_h(o,i,s),new vh(t,{...a,x1:n,x2:r,y1:i,y2:s})}function _h(t,e,n){if(t===void 0){if(e===void 0){if(n!==void 0)return[n]}else if(n===void 0)return[e]}else{if(e===void 0)return n===void 0?[t]:[t,n];if(n===void 0)return[t,e]}return[e,n]}var KB={ariaLabel:"arrow",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeMiterlimit:1,strokeWidth:1.5},Mh=class extends ft{constructor(e,n={}){let{x1:r,y1:o,x2:i,y2:s,bend:a=0,headAngle:c=60,headLength:f=8,inset:u=0,insetStart:p=u,insetEnd:l=u,sweep:h}=n;super(e,{x1:{value:r,scale:"x"},y1:{value:o,scale:"y"},x2:{value:i,scale:"x",optional:!0},y2:{value:s,scale:"y",optional:!0}},n,KB),this.bend=a===!0?22.5:Math.max(-90,Math.min(90,a)),this.headAngle=+c,this.headLength=+f,this.insetStart=+p,this.insetEnd=+l,this.sweep=JB(h)}render(e,n,r,o,i){let{x1:s,y1:a,x2:c=s,y2:f=a,SW:u}=r,{strokeWidth:p,bend:l,headAngle:h,headLength:d,insetStart:m,insetEnd:g}=this,y=u?w=>u[w]:oe(p===void 0?1:p),x=h*Ff/2,b=d/1.5;return rt("svg:g",i).call(gt,this,o,i).call(ht,this,n).call(w=>w.selectAll().data(e).enter().append("path").call(lt,this).attr("d",_=>{let v=s[_],A=a[_],E=c[_],T=f[_],C=Math.hypot(E-v,T-A);if(C<=m+g)return null;let S=Math.atan2(T-A,E-v),k=Math.min(b*y(_),C/3),L=this.sweep(v,A,E,T)*l*Ff,M=Math.hypot(C/Math.tan(L),C)/2;if(m||g)if(M<1e5){let K=Math.sign(L),[tt,nt]=tz([v,A],[E,T],M,K);if(m&&([v,A]=HT([tt,nt,M],[v,A,m],-K*Math.sign(m))),g){let[U,et]=HT([tt,nt,M],[E,T,g],K*Math.sign(g));S+=Math.atan2(et-nt,U-tt)-Math.atan2(T-nt,E-tt),E=U,T=et}}else{let K=E-v,tt=T-A,nt=Math.hypot(K,tt);m&&(v+=K/nt*m,A+=tt/nt*m),g&&(E-=K/nt*g,T-=tt/nt*g)}let I=S+L,N=I+x,R=I-x,$=E-k*Math.cos(N),O=T-k*Math.sin(N),D=E-k*Math.cos(R),F=T-k*Math.sin(R),P=M<1e5?`A${M},${M} 0,0,${L>0?1:0} `:"L",W=k?`M${$},${O}L${E},${T}L${D},${F}`:"";return`M${v},${A}${P}${E},${T}${W}`}).call(_t,this,r)).node()}};function JB(t=1){if(typeof t=="number")return oe(Math.sign(t));if(typeof t=="function")return(e,n,r,o)=>Math.sign(t(e,n,r,o));switch(Ie(t,"sweep",["+x","-x","+y","-y"])){case"+x":return(e,n,r)=>dt(e,r);case"-x":return(e,n,r)=>xn(e,r);case"+y":return(e,n,r,o)=>dt(n,o);case"-y":return(e,n,r,o)=>xn(n,o)}}function tz([t,e],[n,r],o,i){let s=n-t,a=r-e,c=Math.hypot(s,a),f=i*Math.sqrt(o*o-c*c/4)/c;return[(t+n)/2-a*f,(e+r)/2+s*f]}function HT([t,e,n],[r,o,i],s){let a=r-t,c=o-e,f=Math.hypot(a,c),u=(a*a+c*c-i*i+n*n)/(2*f),p=s*Math.sqrt(n*n-u*u);return[t+(a*u+c*p)/f,e+(c*u-a*p)/f]}function QT(t,{x:e,x1:n,x2:r,y:o,y1:i,y2:s,...a}={}){return[n,r]=_h(e,n,r),[i,s]=_h(o,i,s),new Mh(t,{...a,x1:n,x2:r,y1:i,y2:s})}var ez={ariaLabel:"bar"},Qf=class extends ft{constructor(e,n,r={},o=ez){super(e,n,r,o),ph(this,r),hh(this,r)}render(e,n,r,o,i){let{rx:s,ry:a,rx1y1:c,rx1y2:f,rx2y1:u,rx2y2:p}=this,l=this._x(n,r,o),h=this._y(n,r,o),d=this._width(n,r,o),m=this._height(n,r,o);return rt("svg:g",i).call(gt,this,o,i).call(this._transform,this,n).call(g=>g.selectAll().data(e).enter().call(c||f||u||p?y=>y.append("path").call(lt,this).call(dh,l,h,ZT(l,d),ZT(h,m),this).call(_t,this,r):y=>y.append("rect").call(lt,this).attr("x",l).attr("width",d).attr("y",h).attr("height",m).call(ot,"rx",s).call(ot,"ry",a).call(_t,this,r))).node()}_x(e,{x:n},{marginLeft:r}){let{insetLeft:o}=this;return n?i=>n[i]+o:r+o}_y(e,{y:n},{marginTop:r}){let{insetTop:o}=this;return n?i=>n[i]+o:r+o}_width({x:e},{x:n},{marginRight:r,marginLeft:o,width:i}){let{insetLeft:s,insetRight:a}=this,c=n&&e?e.bandwidth():i-r-o;return Math.max(0,c-s-a)}_height({y:e},{y:n},{marginTop:r,marginBottom:o,height:i}){let{insetTop:s,insetBottom:a}=this,c=n&&e?e.bandwidth():i-r-o;return Math.max(0,c-s-a)}};function ZT(t,e){return typeof t=="function"&&typeof e=="function"?n=>t(n)+e(n):typeof t=="function"?n=>t(n)+e:typeof e=="function"?n=>t+e(n):t+e}var Va=class extends Qf{constructor(e,n={},r){let{x1:o,x2:i,y:s}=n;super(e,{x1:{value:o,scale:"x"},x2:{value:i,scale:"x"},y:{value:s,scale:"y",type:"band",optional:!0}},n,r)}_transform(e,n,{x:r}){e.call(ht,n,{x:r},0,0)}_x({x:e},{x1:n,x2:r},{marginLeft:o}){let{insetLeft:i}=this;return tr(e)?o+i:s=>Math.min(n[s],r[s])+i}_width({x:e},{x1:n,x2:r},{marginRight:o,marginLeft:i,width:s}){let{insetLeft:a,insetRight:c}=this;return tr(e)?s-o-i-a-c:f=>Math.max(0,Math.abs(r[f]-n[f])-a-c)}},Ha=class extends Qf{constructor(e,n={},r){let{x:o,y1:i,y2:s}=n;super(e,{y1:{value:i,scale:"y"},y2:{value:s,scale:"y"},x:{value:o,scale:"x",type:"band",optional:!0}},n,r)}_transform(e,n,{y:r}){e.call(ht,n,{y:r},0,0)}_y({y:e},{y1:n,y2:r},{marginTop:o}){let{insetTop:i}=this;return tr(e)?o+i:s=>Math.min(n[s],r[s])+i}_height({y:e},{y1:n,y2:r},{marginTop:o,marginBottom:i,height:s}){let{insetTop:a,insetBottom:c}=this;return tr(e)?s-o-i-a-c:f=>Math.max(0,Math.abs(r[f]-n[f])-a-c)}};function ko(t,e={}){return xi(e)||(e={...e,y:Xt,x2:X}),new Va(t,Ts(Pf(As(e))))}function Ro(t,e={}){return xi(e)||(e={...e,x:Xt,y2:X}),new Ha(t,Is(qf(Es(e))))}var nz={ariaLabel:"cell"},Qa=class extends Qf{constructor(e,{x:n,y:r,...o}={}){super(e,{x:{value:n,scale:"x",type:"band",optional:!0},y:{value:r,scale:"y",type:"band",optional:!0}},o,nz)}_transform(e,n){e.call(ht,n,{},0,0)}};function ks(t,{x:e,y:n,...r}={}){return[e,n]=ce(e,n),new Qa(t,{...r,x:e,y:n})}function KT(t,{x:e=Xt,fill:n,stroke:r,...o}={}){return n===void 0&&ne(r)[0]===void 0&&(n=X),new Qa(t,{...o,x:e,fill:n,stroke:r})}function JT(t,{y:e=Xt,fill:n,stroke:r,...o}={}){return n===void 0&&ne(r)[0]===void 0&&(n=X),new Qa(t,{...o,y:e,fill:n,stroke:r})}var rz={ariaLabel:"dot",fill:"none",stroke:"currentColor",strokeWidth:1.5};function Sh(t){return t.sort===void 0&&t.reverse===void 0?mx({channel:"-r"},t):t}var Za=class extends ft{constructor(e,n={}){let{x:r,y:o,r:i,rotate:s,symbol:a=di,frameAnchor:c}=n,[f,u]=Pt(s,0),[p,l]=a7(a),[h,d]=Pt(i,p==null?3:4.5);super(e,{x:{value:r,scale:"x",optional:!0},y:{value:o,scale:"y",optional:!0},r:{value:h,scale:"r",filter:Nn,optional:!0},rotate:{value:f,optional:!0},symbol:{value:p,scale:"auto",optional:!0}},Sh(n),rz),this.r=d,this.rotate=u,this.symbol=l,this.frameAnchor=_o(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(e,n,r,o,i){let{x:s,y:a}=n,{x:c,y:f,r:u,rotate:p,symbol:l}=r,{r:h,rotate:d,symbol:m}=this,[g,y]=ze(this,o),x=m===di,b=u?void 0:h*h*Math.PI;return is(h)&&(e=[]),rt("svg:g",i).call(gt,this,o,i).call(ht,this,{x:c&&s,y:f&&a}).call(w=>w.selectAll().data(e).enter().append(x?"circle":"path").call(lt,this).call(x?_=>{_.attr("cx",c?v=>c[v]:g).attr("cy",f?v=>f[v]:y).attr("r",u?v=>u[v]:h)}:_=>{_.attr("transform",qr`translate(${c?v=>c[v]:g},${f?v=>f[v]:y})${p?v=>` rotate(${p[v]})`:d?` rotate(${d})`:""}`).attr("d",u&&l?v=>{let A=An();return l[v].draw(A,u[v]*u[v]*Math.PI),A}:u?v=>{let A=An();return m.draw(A,u[v]*u[v]*Math.PI),A}:l?v=>{let A=An();return l[v].draw(A,b),A}:(()=>{let v=An();return m.draw(v,b),v})())}).call(_t,this,r)).node()}};function _r(t,{x:e,y:n,...r}={}){return r.frameAnchor===void 0&&([e,n]=ce(e,n)),new Za(t,{...r,x:e,y:n})}function t9(t,{x:e=X,...n}={}){return new Za(t,qx({...n,x:e}))}function e9(t,{y:e=X,...n}={}){return new Za(t,Px({...n,y:e}))}function n9(t,e){return _r(t,{...e,symbol:"circle"})}function r9(t,e){return _r(t,{...e,symbol:"hexagon"})}var oz={ariaLabel:"line",fill:"none",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round",strokeMiterlimit:1},Ka=class extends ft{constructor(e,n={}){let{x:r,y:o,z:i,curve:s,tension:a}=n;super(e,{x:{value:r,scale:"x"},y:{value:o,scale:"y"},z:{value:pn(n),optional:!0}},n,oz),this.z=i,this.curve=f1(s,a),Pr(this,n)}filter(e){return e}project(e,n,r){this.curve!==Cs&&super.project(e,n,r)}render(e,n,r,o,i){let{x:s,y:a}=r,{curve:c}=this;return rt("svg:g",i).call(gt,this,o,i).call(ht,this,n).call(f=>f.selectAll().data($x(e,[s,a],this,r)).enter().append("path").call(lt,this).call(qa,this,r).call(LE,this,r,i).attr("d",c===Cs&&i.projection?iz(i.projection,s,a):Tp().curve(c).defined(u=>u>=0).x(u=>s[u]).y(u=>a[u]))).node()}};function iz(t,e,n){let r=Oe(t);return e=_e(e),n=_e(n),o=>{let i=[],s=[i];for(let a of o)a===-1?(i=[],s.push(i)):i.push([e[a],n[a]]);return r({type:"MultiLineString",coordinates:s})}}function Ja(t,{x:e,y:n,...r}={}){return[e,n]=ce(e,n),new Ka(t,{...r,x:e,y:n})}function Rs(t,{x:e=X,y:n=Xt,...r}={}){return new Ka(t,Hf({...r,x:e,y:n}))}function Ls(t,{x:e=Xt,y:n=X,...r}={}){return new Ka(t,Vf({...r,x:e,y:n}))}function Y6(t,e){e=sz(e);let{x:n,y:r,color:o,size:i}=e,s=p1(t,n),a=p1(t,r),c=p1(t,o),f=p1(t,i),{fx:u,fy:p,x:{value:l,reduce:h,zero:d,...m},y:{value:g,reduce:y,zero:x,...b},color:{value:w,color:_,reduce:v},size:{value:A,reduce:E},mark:T}=e;if(h===void 0&&(h=y==null&&l==null&&A==null&&g!=null?"count":null),y===void 0&&(y=h==null&&g==null&&A==null&&l!=null?"count":null),E===void 0&&A==null&&v==null&&h==null&&y==null&&(l==null||te(s))&&(g==null||te(a))&&(E="count"),d===void 0&&(d=h1(h)?!0:void 0),x===void 0&&(x=h1(y)?!0:void 0),l==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&&l==null)throw new Error("reducing y requires x");T===void 0&&(T=A!=null||E!=null?"dot":h1(h)||h1(y)||v!=null?"bar":l!=null&&g!=null?te(s)||te(a)||h==null&&y==null&&!Ah(s)&&!Ah(a)?"dot":"line":l!=null||g!=null?"rule":null);let C,S,k;switch(T){case"dot":k=_r,S="stroke";break;case"line":k=s&&a||h!=null||y!=null?x||y!=null||s&&Ah(s)?Ls:d||h!=null||a&&Ah(a)?Rs:Ja:s?Rs:Ls,S="stroke",i9(c)&&(C=null);break;case"area":k=!(x||y!=null)&&(d||h!=null||a&&Ah(a))?Ns:Ni,S="fill",i9(c)&&(C=null);break;case"rule":k=s?er:nr,S="stroke";break;case"bar":k=h!=null?te(a)?o9(h)&&s&&te(s)?ks:ko:jf:y!=null?te(s)?o9(y)&&a&&te(a)?ks:Ro:Xf:v!=null||E!=null?s&&te(s)&&a&&te(a)?ks:s&&te(s)?Ro:a&&te(a)?ko:mh:s&&wi(s)&&!(a&&wi(a))?ko:a&&wi(a)&&!(s&&wi(s))?Ro:ks,S="fill";break;default:throw new Error(`invalid mark: ${T}`)}let L={fx:u,fy:p,x:s??void 0,y:a??void 0,[S]:c??_,z:C,r:f??void 0,tip:!0},M,I={[S]:v??void 0,r:E??void 0};if(h!=null&&y!=null)throw new Error("cannot reduce both x and y");return y!=null?(I.y=y,M=te(s)?ms:Co):h!=null?(I.x=h,M=te(a)?gs:No):(v!=null||E!=null)&&(s&&a?M=te(s)&&te(a)?Jp:te(s)?No:te(a)?Co:Ci:s?M=te(s)?ms:Co:a&&(M=te(a)?gs:No)),(M===Ci||M===Co)&&(L.x={value:s,...m}),(M===Ci||M===No)&&(L.y={value:a,...b}),d===void 0&&(d=s&&!(M===Ci||M===Co)&&(k===ko||k===Ns||k===jf||k===nr)),x===void 0&&(x=a&&!(M===Ci||M===No)&&(k===Ro||k===Ni||k===Xf||k===er)),{fx:u??null,fy:p??null,x:{value:l??null,reduce:h??null,zero:!!d,...m},y:{value:g??null,reduce:y??null,zero:!!x,...b},color:{value:w??null,reduce:v??null,..._!==void 0&&{color:_}},size:{value:A??null,reduce:E??null},mark:T,markImpl:s9[k],markOptions:L,transformImpl:s9[M],transformOptions:I,colorMode:S}}function a9(t,e){let n=Y6(t,e),{fx:r,fy:o,x:{zero:i},y:{zero:s},markOptions:a,transformOptions:c,colorMode:f}=n,u=z6[n.markImpl],p=z6[n.transformImpl],l=r!=null||o!=null?Wf({strokeOpacity:.1}):null,h=[i?er([0]):null,s?nr([0]):null],d=u(t,p?p(c,a):a);return f==="stroke"?Se(l,h,d):Se(l,d,h)}function Ah(t){let e,n;for(let r of t){if(r==null)continue;if(e===void 0){e=r;continue}let o=Math.sign(dt(e,r));if(o){if(n!==void 0&&o!==n)return!1;e=r,n=o}}return!0}function sz({x:t,y:e,color:n,size:r,fx:o,fy:i,mark:s}={}){return Kn(t)||(t=Zf(t)),Kn(e)||(e=Zf(e)),Kn(n)||(n=ds(n)?{color:n}:Zf(n)),Kn(r)||(r=Zf(r)),Kn(o)&&({value:o}=Zf(o)),Kn(i)&&({value:i}=Zf(i)),s!=null&&(s=`${s}`.toLowerCase()),{x:t,y:e,color:n,size:r,fx:o,fy:i,mark:s}}function p1(t,e){let n=ct(t,e.value);return n&&(n.label=Ke(e.value)),n}function Zf(t){return az(t)?{reduce:t}:{value:t}}function h1(t){return/^(?:distinct|count|sum|proportion)$/i.test(t)}function o9(t){return/^(?:first|last|mode)$/i.test(t)}function az(t){if(t==null)return!1;if(typeof t.reduceIndex=="function"||typeof t.reduce=="function"&&Pe(t)||/^p\d{2}$/i.test(t))return!0;switch(`${t}`.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 i9(t){return t?new wn(t).size>t.length>>1:!1}var z6={dot:_r,line:Ja,lineX:Rs,lineY:Ls,areaX:Ns,areaY:Ni,ruleX:er,ruleY:nr,barX:ko,barY:Ro,rect:mh,rectX:jf,rectY:Xf,cell:ks,bin:Ci,binX:Co,binY:No,group:Jp,groupX:ms,groupY:gs},s9=Object.fromEntries(Object.entries(z6).map(([t,e])=>[e,t]));function Kf(t,e={}){let{x:n,x1:r,x2:o}=e;n===void 0&&r===void 0&&o===void 0&&(e={...e,x:n=X});let i={};return n!=null&&(i.x=t),r!=null&&(i.x1=t),o!=null&&(i.x2=t),qn(i,e)}function Jf(t,e={}){let{y:n,y1:r,y2:o}=e;n===void 0&&r===void 0&&o===void 0&&(e={...e,y:n=X});let i={};return n!=null&&(i.y=t),r!=null&&(i.y1=t),o!=null&&(i.y2=t),qn(i,e)}function qn(t={},e={}){let n=pn(e),r=Object.entries(t).map(([o,i])=>{let s=fx(o,e);if(s==null)throw new Error(`missing channel: ${o}`);let[a,c]=qe(s);return{key:o,input:s,output:a,setOutput:c,map:cz(i)}});return{...Me(e,(o,i)=>{let s=ct(o,n),a=r.map(({input:f})=>ct(o,f)),c=r.map(({setOutput:f})=>f(new Array(o.length)));for(let f of i)for(let u of s?We(f,p=>s[p]).values():[f])r.forEach(({map:p},l)=>p.mapIndex(u,a[l],c[l]));return{data:o,facets:i}}),...Object.fromEntries(r.map(({key:o,output:i})=>[o,i]))}}function cz(t){if(t==null)throw new Error("missing map");if(typeof t.mapIndex=="function")return t;if(typeof t.map=="function"&&Pe(t))return fz(t);if(typeof t=="function")return U6(Mf(t));switch(`${t}`.toLowerCase()){case"cumsum":return lz;case"rank":return U6((e,n)=>dl(e,r=>n[r]));case"quantile":return U6((e,n)=>uz(e,r=>n[r]))}throw new Error(`invalid map: ${t}`)}function fz(t){return console.warn("deprecated map interface; implement mapIndex instead."),{mapIndex:t.map.bind(t)}}function uz(t,e){let n=Kr(t,e)-1;return dl(t,e).map(r=>r/n)}function U6(t){return{mapIndex(e,n,r){let o=t(e,n);if(o.length!==e.length)throw new Error("map function returned a mismatched length");for(let i=0,s=e.length;i<s;++i)r[e[i]]=o[i]}}}var lz={mapIndex(t,e,n){let r=0;for(let o of t)n[o]=r+=e[o]}};function c9(t={},e){return arguments.length===1&&(e=t),Kf(tu(t),e)}function f9(t={},e){return arguments.length===1&&(e=t),Jf(tu(t),e)}function tu(t={}){typeof t=="number"&&(t={k:t});let{k:e,reduce:n,shift:r,anchor:o,strict:i}=t;if(o===void 0&&r!==void 0&&(o=hz(r),hn(`Warning: the shift option is deprecated; please use anchor "${o}" instead.`)),!((e=Math.floor(e))>0))throw new Error(`invalid k: ${e}`);return dz(n)(e,pz(o,e),i)}function pz(t="middle",e){switch(`${t}`.toLowerCase()){case"middle":return e-1>>1;case"start":return 0;case"end":return e-1}throw new Error(`invalid anchor: ${t}`)}function hz(t){switch(`${t}`.toLowerCase()){case"centered":return"middle";case"leading":return"start";case"trailing":return"end"}throw new Error(`invalid shift: ${t}`)}function dz(t="mean"){if(typeof t=="string"){if(/^p\d{2}$/i.test(t))return d1(_f(t));switch(t.toLowerCase()){case"deviation":return d1(fr);case"max":return m1((e,n)=>It(e,r=>n[r]));case"mean":return mz;case"median":return d1(Rr);case"min":return m1((e,n)=>St(e,r=>n[r]));case"mode":return m1((e,n)=>kc(e,r=>n[r]));case"sum":return u9;case"variance":return d1(Ui);case"difference":return xz;case"ratio":return bz;case"first":return wz;case"last":return vz}}if(typeof t!="function")throw new Error(`invalid reduce: ${t}`);return m1(Mf(t))}function d1(t){return(e,n,r)=>r?{mapIndex(o,i,s){let a=f=>i[f]==null?NaN:+i[f],c=0;for(let f=0;f<e-1;++f)isNaN(a(f))&&++c;for(let f=0,u=o.length-e+1;f<u;++f)isNaN(a(f+e-1))&&++c,s[o[f+n]]=c===0?t(bi(o,f,f+e),a):NaN,isNaN(a(f))&&--c}}:{mapIndex(o,i,s){let a=c=>i[c]==null?NaN:+i[c];for(let c=-n;c<0;++c)s[o[c+n]]=t(bi(o,0,c+e),a);for(let c=0,f=o.length-n;c<f;++c)s[o[c+n]]=t(bi(o,c,c+e),a)}}}function m1(t){return(e,n,r)=>r?{mapIndex(o,i,s){let a=0;for(let c=0;c<e-1;++c)a+=Jt(i[o[c]]);for(let c=0,f=o.length-e+1;c<f;++c)a+=Jt(i[o[c+e-1]]),a===e&&(s[o[c+n]]=t(bi(o,c,c+e),i)),a-=Jt(i[o[c]])}}:{mapIndex(o,i,s){for(let a=-n;a<0;++a)s[o[a+n]]=t(bi(o,0,a+e),i);for(let a=0,c=o.length-n;a<c;++a)s[o[a+n]]=t(bi(o,a,a+e),i)}}}function u9(t,e,n){return n?{mapIndex(r,o,i){let s=0,a=0;for(let c=0;c<t-1;++c){let f=o[r[c]];f===null||isNaN(f)?++s:a+=+f}for(let c=0,f=r.length-t+1;c<f;++c){let u=o[r[c]],p=o[r[c+t-1]];p===null||isNaN(p)?++s:a+=+p,i[r[c+e]]=s===0?a:NaN,u===null||isNaN(u)?--s:a-=+u}}}:{mapIndex(r,o,i){let s=0,a=r.length;for(let c=0,f=Math.min(a,t-e-1);c<f;++c)s+=+o[r[c]]||0;for(let c=-e,f=a-e;c<f;++c)s+=+o[r[c+t-1]]||0,i[r[c+e]]=s,s-=+o[r[c]]||0}}}function mz(t,e,n){if(n){let r=u9(t,e,n);return{mapIndex(o,i,s){r.mapIndex(o,i,s);for(let a=0,c=o.length-t+1;a<c;++a)s[o[a+e]]/=t}}}else return{mapIndex(r,o,i){let s=0,a=0,c=r.length;for(let f=0,u=Math.min(c,t-e-1);f<u;++f){let p=o[r[f]];p!==null&&!isNaN(p=+p)&&(s+=p,++a)}for(let f=-e,u=c-e;f<u;++f){let p=o[r[f+t-1]],l=o[r[f]];p!==null&&!isNaN(p=+p)&&(s+=p,++a),i[r[f+e]]=s/a,l!==null&&!isNaN(l=+l)&&(s-=l,--a)}}}}function gz(t,e,n,r){for(let o=n+r;n<o;++n){let i=t[e[n]];if(Jt(i))return i}}function yz(t,e,n,r){for(let o=n+r-1;o>=n;--o){let i=t[e[o]];if(Jt(i))return i}}function l9(t,e,n,r){for(let o=n+r;n<o;++n){let i=t[e[n]];if(i!==null&&!isNaN(i=+i))return i}}function p9(t,e,n,r){for(let o=n+r-1;o>=n;--o){let i=t[e[o]];if(i!==null&&!isNaN(i=+i))return i}}function xz(t,e,n){return n?{mapIndex(r,o,i){for(let s=0,a=r.length-t;s<a;++s){let c=o[r[s]],f=o[r[s+t-1]];i[r[s+e]]=c===null||f===null?NaN:f-c}}}:{mapIndex(r,o,i){for(let s=-e,a=r.length-t+e+1;s<a;++s)i[r[s+e]]=p9(o,r,s,t)-l9(o,r,s,t)}}}function bz(t,e,n){return n?{mapIndex(r,o,i){for(let s=0,a=r.length-t;s<a;++s){let c=o[r[s]],f=o[r[s+t-1]];i[r[s+e]]=c===null||f===null?NaN:f/c}}}:{mapIndex(r,o,i){for(let s=-e,a=r.length-t+e+1;s<a;++s)i[r[s+e]]=p9(o,r,s,t)/l9(o,r,s,t)}}}function wz(t,e,n){return n?{mapIndex(r,o,i){for(let s=0,a=r.length-t;s<a;++s)i[r[s+e]]=o[r[s]]}}:{mapIndex(r,o,i){for(let s=-e,a=r.length-t+e+1;s<a;++s)i[r[s+e]]=gz(o,r,s,t)}}}function vz(t,e,n){return n?{mapIndex(r,o,i){for(let s=0,a=r.length-t;s<a;++s)i[r[s+e]]=o[r[s+t-1]]}}:{mapIndex(r,o,i){for(let s=-e,a=r.length-t+e+1;s<a;++s)i[r[s+e]]=yz(o,r,s,t)}}}var ki={n:20,k:2,color:"currentColor",opacity:.2,strict:!0,anchor:"end"};function h9(t,{x:e=X,y:n,k:r=ki.k,color:o=ki.color,opacity:i=ki.opacity,fill:s=o,fillOpacity:a=i,stroke:c=o,strokeOpacity:f,strokeWidth:u,...p}={}){return Se(Ft(s)?null:Ns(t,qn({x1:Os({k:-r,...p}),x2:Os({k:r,...p})},{x1:e,x2:e,y:n,fill:s,fillOpacity:a,...p})),Ft(c)?null:Rs(t,qn({x:Os(p)},{x:e,y:n,stroke:c,strokeOpacity:f,strokeWidth:u,...p})))}function d9(t,{x:e,y:n=X,k:r=ki.k,color:o=ki.color,opacity:i=ki.opacity,fill:s=o,fillOpacity:a=i,stroke:c=o,strokeOpacity:f,strokeWidth:u,...p}={}){return Se(Ft(s)?null:Ni(t,qn({y1:Os({k:-r,...p}),y2:Os({k:r,...p})},{x:e,y1:n,y2:n,fill:s,fillOpacity:a,...p})),Ft(c)?null:Ls(t,qn({y:Os(p)},{x:e,y:n,stroke:c,strokeOpacity:f,strokeWidth:u,...p})))}function Os({n:t=ki.n,k:e=0,strict:n=ki.strict,anchor:r=ki.anchor}={}){return tu({k:t,reduce:o=>Qo(o)+e*(fr(o)||0),strict:n,anchor:r})}var _z={ariaLabel:"tick",fill:null,stroke:"currentColor"},g1=class extends ft{constructor(e,n,r){super(e,n,r,_z),Pr(this,r)}render(e,n,r,o,i){return rt("svg:g",i).call(gt,this,o,i).call(this._transform,this,n).call(s=>s.selectAll().data(e).enter().append("line").call(lt,this).attr("x1",this._x1(n,r,o)).attr("x2",this._x2(n,r,o)).attr("y1",this._y1(n,r,o)).attr("y2",this._y2(n,r,o)).call(_t,this,r).call(Ii,this,r,i)).node()}},Eh=class extends g1{constructor(e,n={}){let{x:r,y:o,inset:i=0,insetTop:s=i,insetBottom:a=i}=n;super(e,{x:{value:r,scale:"x"},y:{value:o,scale:"y",type:"band",optional:!0}},n),this.insetTop=Rt(s),this.insetBottom=Rt(a)}_transform(e,n,{x:r}){e.call(ht,n,{x:r},ie,0)}_x1(e,{x:n}){return r=>n[r]}_x2(e,{x:n}){return r=>n[r]}_y1({y:e},{y:n},{marginTop:r}){let{insetTop:o}=this;return n&&e?i=>n[i]+o:r+o}_y2({y:e},{y:n},{height:r,marginBottom:o}){let{insetBottom:i}=this;return n&&e?s=>n[s]+e.bandwidth()-i:r-o-i}},Th=class extends g1{constructor(e,n={}){let{x:r,y:o,inset:i=0,insetRight:s=i,insetLeft:a=i}=n;super(e,{y:{value:o,scale:"y"},x:{value:r,scale:"x",type:"band",optional:!0}},n),this.insetRight=Rt(s),this.insetLeft=Rt(a)}_transform(e,n,{y:r}){e.call(ht,n,{y:r},0,ie)}_x1({x:e},{x:n},{marginLeft:r}){let{insetLeft:o}=this;return n&&e?i=>n[i]+o:r+o}_x2({x:e},{x:n},{width:r,marginRight:o}){let{insetRight:i}=this;return n&&e?s=>n[s]+e.bandwidth()-i:r-o-i}_y1(e,{y:n}){return r=>n[r]}_y2(e,{y:n}){return r=>n[r]}};function y1(t,{x:e=X,...n}={}){return new Eh(t,{...n,x:e})}function x1(t,{y:e=X,...n}={}){return new Th(t,{...n,y:e})}function m9(t,{x:e=X,y:n=null,r,fill:o="#ccc",fillOpacity:i,stroke:s="currentColor",strokeOpacity:a,strokeWidth:c=2,sort:f,...u}={}){let p=n!=null?gs:Kp;return Se(nr(t,p({x1:j6,x2:X6},{x:e,y:n,stroke:s,strokeOpacity:a,...u})),ko(t,p({x1:"p25",x2:"p75"},{x:e,y:n,fill:o,fillOpacity:i,...u})),y1(t,p({x:"p50"},{x:e,y:n,stroke:s,strokeOpacity:a,strokeWidth:c,sort:f,...u})),_r(t,qn({x:y9},{x:e,y:n,z:n,r,stroke:s,strokeOpacity:a,...u})))}function g9(t,{y:e=X,x:n=null,r,fill:o="#ccc",fillOpacity:i,stroke:s="currentColor",strokeOpacity:a,strokeWidth:c=2,sort:f,...u}={}){let p=n!=null?ms:Kp;return Se(er(t,p({y1:j6,y2:X6},{x:n,y:e,stroke:s,strokeOpacity:a,...u})),Ro(t,p({y1:"p25",y2:"p75"},{x:n,y:e,fill:o,fillOpacity:i,...u})),x1(t,p({y:"p50"},{x:n,y:e,stroke:s,strokeOpacity:a,strokeWidth:c,sort:f,...u})),_r(t,qn({y:y9},{x:n,y:e,z:n,r,stroke:s,strokeOpacity:a,...u})))}function y9(t){let e=j6(t),n=X6(t);return t.map(r=>r<e||r>n?r:NaN)}function j6(t){let e=x9(t)*2.5-b9(t)*1.5;return St(t,n=>n>=e?n:NaN)}function X6(t){let e=b9(t)*2.5-x9(t)*1.5;return It(t,n=>n<=e?n:NaN)}function x9(t){return vn(t,.25)}function b9(t){return vn(t,.75)}var Mz={ariaLabel:"raster",stroke:null,pixelSize:1};function eu(t,e){let n=+t;if(isNaN(n))throw new Error(`invalid ${e}: ${t}`);return n}function w9(t,e){let n=Math.floor(t);if(isNaN(n))throw new Error(`invalid ${e}: ${t}`);return n}var Ch=class extends ft{constructor(e,n,r={},o){let{width:i,height:s,x:a,y:c,x1:f=a==null?0:void 0,y1:u=c==null?0:void 0,x2:p=a==null?i:void 0,y2:l=c==null?s:void 0,pixelSize:h=o.pixelSize,blur:d=0,interpolate:m}=r;if(i!=null&&(i=w9(i,"width")),s!=null&&(s=w9(s,"height")),f!=null&&(f=eu(f,"x1")),u!=null&&(u=eu(u,"y1")),p!=null&&(p=eu(p,"x2")),l!=null&&(l=eu(l,"y2")),a==null&&(f==null||p==null))throw new Error("missing x");if(c==null&&(u==null||l==null))throw new Error("missing y");e!=null&&i!=null&&s!=null&&(a===void 0&&f!=null&&p!=null&&(a=kz(f,p,i,s)),c===void 0&&u!=null&&l!=null&&(c=Rz(u,l,i,s))),super(e,{x:{value:a,scale:"x",optional:!0},y:{value:c,scale:"y",optional:!0},x1:{value:f==null?null:[f],scale:"x",optional:!0,filter:null},y1:{value:u==null?null:[u],scale:"y",optional:!0,filter:null},x2:{value:p==null?null:[p],scale:"x",optional:!0,filter:null},y2:{value:l==null?null:[l],scale:"y",optional:!0,filter:null},...n},r,o),this.width=i,this.height=s,this.pixelSize=eu(h,"pixelSize"),this.blur=eu(d,"blur"),this.interpolate=a==null||c==null?null:Sz(m)}},Nh=class extends Ch{constructor(e,n={}){let{imageRendering:r}=n;if(e==null){let{fill:o,fillOpacity:i}=n;Pt(i)[0]!==void 0&&(n=b1("fillOpacity",n)),ne(o)[0]!==void 0&&(n=b1("fill",n))}super(e,void 0,n,Mz),this.imageRendering=Vt(r,"auto")}scale(e,{color:n,...r},o){return super.scale(e,r,o)}render(e,n,r,o,i){let s=n[r.channels.fill?.scale]??(I=>I),{x:a,y:c}=r,{document:f}=i,[u,p,l,h]=_9(r,o,i),d=l-u,m=h-p,{pixelSize:g,width:y=Math.round(Math.abs(d)/g),height:x=Math.round(Math.abs(m)/g)}=this,b=y*x,{fill:w,fillOpacity:_}=r,v=0;if(this.interpolate){let I=y/d,N=x/m,R=Mt(a,O=>(O-u)*I,Float64Array),$=Mt(c,O=>(O-p)*N,Float64Array);w&&(w=this.interpolate(e,y,x,R,$,w)),_&&(_=this.interpolate(e,y,x,R,$,_))}else this.data==null&&e&&(v=e.fi*b);let A=f.createElement("canvas");A.width=y,A.height=x;let E=A.getContext("2d"),T=E.createImageData(y,x),C=T.data,{r:S,g:k,b:L}=Ee(this.fill)??{r:0,g:0,b:0},M=(this.fillOpacity??1)*255;for(let I=0;I<b;++I){let N=I<<2;if(w){let R=s(w[I+v]);if(R==null){C[N+3]=0;continue}({r:S,g:k,b:L}=Ee(R))}_&&(M=_[I+v]*255),C[N+0]=S,C[N+1]=k,C[N+2]=L,C[N+3]=M}return this.blur>0&&h2(T,this.blur),E.putImageData(T,0,0),rt("svg:g",i).call(gt,this,o,i).call(ht,this,n).call(I=>I.append("image").attr("transform",`translate(${u},${p}) scale(${Math.sign(l-u)},${Math.sign(h-p)})`).attr("width",Math.abs(d)).attr("height",Math.abs(m)).attr("preserveAspectRatio","none").call(ot,"image-rendering",this.imageRendering).call(lt,this).attr("xlink:href",A.toDataURL())).node()}};function W6(t,e,n){arguments.length<3&&(n=e,e=null);let{x:r,y:o,[t]:i,...s}=n;return r===void 0&&o===void 0&&HA(e)&&(r=Oa,o=us,i===void 0&&(i=XA)),[e,{...s,x:r,y:o,[t]:i}]}function v9(){let[t,e]=W6("fill",...arguments);return new Nh(t,t==null||e.fill!==void 0||e.fillOpacity!==void 0?e:{...e,fill:X})}function _9({x1:t,y1:e,x2:n,y2:r},o,{projection:i}){let{width:s,height:a,marginTop:c,marginRight:f,marginBottom:u,marginLeft:p}=o;return[t&&i==null?t[0]:p,e&&i==null?e[0]:c,n&&i==null?n[0]:s-f,r&&i==null?r[0]:a-u]}function G6({x1:t,y1:e,x2:n,y2:r},o,i,s){let a={};return t&&(a.x1=t),e&&(a.y1=e),n&&(a.x2=n),r&&(a.y2=r),_9(Nf(a,o),i,s)}function b1(t,e={}){let{[t]:n}=e;if(typeof n!="function")throw new Error(`invalid ${t}: not a function`);return Gt({...e,[t]:void 0},function(r,o,i,s,a,c){let{x:f,y:u}=s;if(!f)throw new Error("missing scale: x");if(!u)throw new Error("missing scale: y");let[p,l,h,d]=G6(i,s,a,c),m=h-p,g=d-l,{pixelSize:y}=this,{width:x=Math.round(Math.abs(m)/y),height:b=Math.round(Math.abs(g)/y)}=e,w=new Array(x*b*(o?o.length:1)),_=m/x,v=g/b,A=0;for(let E of o??[void 0])for(let T=.5;T<b;++T)for(let C=.5;C<x;++C,++A)w[A]=n(f.invert(p+C*_),u.invert(l+T*v),E);return{data:w,facets:o,channels:{[t]:{value:w,scale:"auto"}}}})}function Sz(t){if(typeof t=="function")return t;if(t==null)return w1;switch(`${t}`.toLowerCase()){case"none":return w1;case"nearest":return Rh;case"barycentric":return kh();case"random-walk":return Lh()}throw new Error(`invalid interpolate: ${t}`)}function w1(t,e,n,r,o,i){let s=new Array(e*n);for(let a of t)r[a]<0||r[a]>=e||o[a]<0||o[a]>=n||(s[Math.floor(o[a])*e+Math.floor(r[a])]=i[a]);return s}function kh({random:t=va(42)}={}){return(e,n,r,o,i,s)=>{let{points:a,triangles:c,hull:f}=pr.from(e,h=>o[h],h=>i[h]),u=new s.constructor(n*r).fill(NaN),p=new Uint8Array(n*r),l=Nz(s,t);for(let h=0;h<c.length;h+=3){let d=c[h],m=c[h+1],g=c[h+2],y=a[2*d],x=a[2*m],b=a[2*g],w=a[2*d+1],_=a[2*m+1],v=a[2*g+1],A=Math.min(y,x,b),E=Math.max(y,x,b),T=Math.min(w,_,v),C=Math.max(w,_,v),S=(_-v)*(y-b)+(w-v)*(b-x);if(!S)continue;let k=s[e[d]],L=s[e[m]],M=s[e[g]];for(let I=Math.floor(A);I<E;++I)for(let N=Math.floor(T);N<C;++N){if(I<0||I>=n||N<0||N>=r)continue;let R=I+.5,$=N+.5,O=Math.sign(S),D=(_-v)*(R-b)+($-v)*(b-x);if(D*O<0)continue;let F=(v-w)*(R-b)+($-v)*(y-b);if(F*O<0)continue;let P=S-(D+F);if(P*O<0)continue;let W=I+n*N;u[W]=l(k,D/S,L,F/S,M,P/S,I,N),p[W]=1}}return Az(u,p,o,i,s,n,r,f,e,l),u}}function Az(t,e,n,r,o,i,s,a,c,f){n=Float64Array.from(a,h=>n[c[h]]),r=Float64Array.from(a,h=>r[c[h]]),o=Array.from(a,h=>o[c[h]]);let u=n.length,p=Array.from({length:u},(h,d)=>Tz(d,n,r)),l=0;for(let h=0;h<s;++h){let d=h+.5;for(let m=0;m<i;++m){let g=m+i*h;if(!e[g]){let y=m+.5;for(let x=0;x<u;++x){let b=(u+l+(x%2?(x+1)/2:-x/2))%u;if(p[b](y,d)){let w=Ez(n.at(b-1),r.at(b-1),n[b],r[b],y,d);t[g]=f(o.at(b-1),w,o[b],1-w,o[b],0,m,h),l=b;break}}}}}}function Ez(t,e,n,r,o,i){let s=n-t,a=r-e,c=s*(n-o)+a*(r-i),f=s*(o-t)+a*(i-e);return c>0&&f>0?c/(c+f):+(c>f)}function Ih(t,e,n,r){return t*r-n*e}function Tz(t,e,n){let r=e.length,o=e.at(t-2),i=n.at(t-2),s=e.at(t-1),a=n.at(t-1),c=e[t],f=n[t],u=e.at(t+1-r),p=n.at(t+1-r),l=s-c,h=a-f,d=o-s,m=i-a,g=c-u,y=f-p,x=Math.hypot(l,h),b=Math.hypot(d,m),w=Math.hypot(g,y);return(_,v)=>{let A=_-s,E=v-a,T=_-c,C=v-f;return Ih(A,E,T,C)>-1e-6&&Ih(A,E,l,h)*b-Ih(A,E,d,m)*x>-1e-6&&Ih(T,C,g,y)*x-Ih(T,C,l,h)*w<=0}}function Rh(t,e,n,r,o,i){let s=new i.constructor(e*n),a=pr.from(t,u=>r[u],u=>o[u]),c,f;for(let u=.5,p=0;u<n;++u){f=c;for(let l=.5;l<e;++l,++p)f=a.find(l,u,f),l===.5&&(c=f),s[p]=i[t[f]]}return s}function Lh({random:t=va(42),minDistance:e=.5,maxSteps:n=2}={}){return(r,o,i,s,a,c)=>{let f=new c.constructor(o*i),u=pr.from(r,d=>s[d],d=>a[d]),p,l,h;for(let d=.5,m=0;d<i;++d){l=p;for(let g=.5;g<o;++g,++m){let y=g,x=d;h=l=u.find(y,x,l),g===.5&&(p=l);let b,w=0;for(;(b=Math.hypot(s[r[h]]-y,a[r[h]]-x))>e&&w<n;){let _=t(g,d,w)*2*Math.PI;y+=Math.cos(_)*b,x+=Math.sin(_)*b,h=u.find(y,x,h),++w}f[m]=c[r[h]]}}return f}}function Iz(t,e,n,r,o,i){return e*t+r*n+i*o}function Cz(t){return(e,n,r,o,i,s,a,c)=>{let f=t(a,c);return f<n?e:f<n+o?r:i}}function Nz(t,e){return wi(t)||re(t)?Iz:Cz(e)}function kz(t,e,n){return{transform(r){let o=r.length,i=new Float64Array(o),s=(e-t)/n,a=t+s/2;for(let c=0;c<o;++c)i[c]=c%n*s+a;return i}}}function Rz(t,e,n,r){return{transform(o){let i=o.length,s=new Float64Array(i),a=(e-t)/r,c=t+a/2;for(let f=0;f<i;++f)s[f]=Math.floor(f/n)%r*a+c;return s}}}var M9={ariaLabel:"contour",fill:"none",stroke:"currentColor",strokeMiterlimit:1,pixelSize:2},Oh=class extends Ch{constructor(e,{smooth:n=!0,value:r,...o}={}){let i=Ox({},o,M9);if(r===void 0){for(let a in i)if(i[a].value!=null){if(r!==void 0)throw new Error("ambiguous contour value");r=o[a],o[a]="value"}}if(r!=null){let a={transform:c=>c.map(f=>f.value),label:Ke(r)};for(let c in i)o[c]==="value"&&(o[c]=a)}if(e==null){if(r==null)throw new Error("missing contour value");o=b1("value",{value:r,...o}),r=null}else{let{interpolate:a}=o;r===void 0&&(r=X),a===void 0&&(o.interpolate="nearest")}super(e,{value:{value:r,optional:!0}},Lz(o),M9);let s={geometry:{value:X}};for(let a in this.channels){let c=this.channels[a],{scale:f}=c;f==="x"||f==="y"||a==="value"||(s[a]=c,delete this.channels[a])}this.contourChannels=s,this.smooth=!!n}filter(e,{x:n,y:r,value:o,...i},s){return super.filter(e,i,s)}render(e,n,r,o,i){let{geometry:s}=r,a=Oe();return rt("svg:g",i).call(gt,this,o,i).call(ht,this,n).call(c=>{c.selectAll().data(e).enter().append("path").call(lt,this).attr("d",f=>a(s[f])).call(_t,this,r)}).node()}};function Lz({thresholds:t,interval:e,...n}){return t=q6(t,e,ji),Gt(n,function(r,o,i,s,a,c){let[f,u,p,l]=G6(i,s,a,c),h=p-f,d=l-u,{pixelSize:m,width:g=Math.round(Math.abs(h)/m),height:y=Math.round(Math.abs(d)/m)}=this,x=g/h,b=y/d,w=i.value.value,_=[];if(this.interpolate){let{x:C,y:S}=Eo(i,s,c),k=Mt(C,N=>(N-f)*x,Float64Array),L=Mt(S,N=>(N-u)*b,Float64Array),M=[i.x,i.y,i.value],I=[k,L,w];for(let N of o){let R=this.filter(N,M,I);_.push(this.interpolate(R,g,y,k,L,w))}}else if(o){let C=g*y,S=o.length;for(let k=0;k<S;++k)_.push(w.slice(k*C,k*C+C))}else _.push(w);if(this.blur>0)for(let C of _)fl({data:C,width:g,height:y},this.blur);let v=Oz(t,w,...$z(_));if(v===null)throw new Error(`unsupported thresholds: ${t}`);let{contour:A}=Zi().size([g,y]).smooth(this.smooth),E=[],T=[];for(let C of _)T.push(le(E.length,E.push(...Mt(v,S=>A(C,S)))));for(let{coordinates:C}of E)for(let S of C)for(let k of S)for(let L of k)L[0]=L[0]/x+f,L[1]=L[1]/b+u;return{data:E,facets:T,channels:vx(this.contourChannels,E)}})}function Oz(t,e,n,r){if(typeof t?.range=="function")return t.range(t.floor(n),r);if(typeof t=="function"&&(t=t(e,n,r)),typeof t!="number")return Zn(t);let o=Ge(...Cc(n,r,t),t);for(;o[o.length-1]>=r;)o.pop();for(;o[1]<n;)o.shift();return o}function A9(){return new Oh(...W6("value",...arguments))}function $z(t){return[St(t,e=>St(e,S9)),It(t,e=>It(e,S9))]}function S9(t){return isFinite(t)?t:NaN}function I9(t,e){return V6(_s,t,e)}function C9(t,e={}){return V6(Ms,t,e)}function N9(t,e={}){return V6(Ti,t,e)}function V6(t,e,n={}){let{x:r,y:o,maxRadius:i}=n,s=t({px:r,py:o,maxRadius:i}),a=[];r!=null&&a.push(er(e,E9("x",{...s,inset:-6},n))),o!=null&&a.push(nr(e,E9("y",{...s,inset:-6},n))),r!=null&&a.push(Io(e,T9("x",{...s,dy:9,frameAnchor:"bottom",lineAnchor:"top"},n))),o!=null&&a.push(Io(e,T9("y",{...s,dx:-9,frameAnchor:"left",textAnchor:"end"},n)));for(let c of a)c.ariaLabel=`crosshair ${c.ariaLabel}`;return Se(...a)}function k9(t,{channels:e,...n},{facet:r,facetAnchor:o,fx:i,fy:s,[t]:a,channels:c,transform:f,initializer:u}){return{...n,facet:r,facetAnchor:o,fx:i,fy:s,[t]:a,channels:{...e,...c},transform:f,initializer:Dz(t,u)}}function Dz(t,e){return e==null?e:function(n,r,{x:o,y:i,px:s,py:a,...c},...f){let{channels:{x:u,y:p,...l}={},...h}=e.call(this,n,r,{...c,x:s,y:a},...f);return{channels:{...l,...u&&{px:u,...t==="x"&&{x:u}},...p&&{py:p,...t==="y"&&{y:p}}},...h}}}function E9(t,e,n){let{color:r="currentColor",opacity:o=.2,ruleStroke:i=r,ruleStrokeOpacity:s=o,ruleStrokeWidth:a}=n;return{...k9(t,e,n),stroke:i,strokeOpacity:s,strokeWidth:a}}function T9(t,e,n){let{color:r="currentColor",textFill:o=r,textFillOpacity:i,textStroke:s="var(--plot-background)",textStrokeOpacity:a,textStrokeWidth:c=5}=n;return{...k9(t,e,Fz(t,n)),fill:o,fillOpacity:i,stroke:s,strokeOpacity:a,strokeWidth:c}}function Fz(t,e){return Gt(e,(n,r,o)=>({channels:{text:{value:eh(o,t)?.value}}}))}var Pz={ariaLabel:"delaunay link",fill:"none",stroke:"currentColor",strokeMiterlimit:1},qz={ariaLabel:"delaunay mesh",fill:null,stroke:"currentColor",strokeOpacity:.2},Bz={ariaLabel:"hull",fill:"none",stroke:"currentColor",strokeWidth:1.5,strokeMiterlimit:1},zz={ariaLabel:"voronoi",fill:"none",stroke:"currentColor",strokeMiterlimit:1},Yz={ariaLabel:"voronoi mesh",fill:null,stroke:"currentColor",strokeOpacity:.2},H6=class extends ft{constructor(e,n={}){let{x:r,y:o,z:i,curve:s,tension:a}=n;super(e,{x:{value:r,scale:"x",optional:!0},y:{value:o,scale:"y",optional:!0},z:{value:i,optional:!0}},n,Pz),this.curve=bh(s,a),Pr(this,n)}render(e,n,r,o,i){let{x:s,y:a}=n,{x:c,y:f,z:u}=r,{curve:p}=this,[l,h]=ze(this,o),d=c?x=>c[x]:oe(l),m=f?x=>f[x]:oe(h),g=this;function y(x){let b=-1,w=[],_={};for(let M in r)_[M]=[];let v=[],A=[],E=[],T=[];function C(M,I){M=x[M],I=x[I],w.push(++b),v[b]=d(M),E[b]=m(M),A[b]=d(I),T[b]=m(I);for(let N in r)_[N].push(r[N][I])}let{halfedges:S,hull:k,triangles:L}=pr.from(x,d,m);for(let M=0;M<S.length;++M){let I=S[M];I>M&&C(L[M],L[I])}for(let M=0;M<k.length;++M)C(k[M],k[(M+1)%k.length]);At(this).selectAll().data(w).enter().append("path").call(lt,g).attr("d",M=>{let I=An(),N=p(I);return N.lineStart(),N.point(v[M],E[M]),N.point(A[M],T[M]),N.lineEnd(),I}).call(_t,g,_).call(Ii,g,_,i)}return rt("svg:g",i).call(gt,this,o,i).call(ht,this,{x:c&&s,y:f&&a}).call(u?x=>x.selectAll().data(We(e,b=>u[b]).values()).enter().append("g").each(y):x=>x.datum(e).each(y)).node()}},$h=class extends ft{constructor(e,n={},r,o=({z:i})=>i){let{x:i,y:s}=n;super(e,{x:{value:i,scale:"x",optional:!0},y:{value:s,scale:"y",optional:!0},z:{value:o(n),optional:!0}},n,r)}render(e,n,r,o,i){let{x:s,y:a}=n,{x:c,y:f,z:u}=r,[p,l]=ze(this,o),h=c?y=>c[y]:oe(p),d=f?y=>f[y]:oe(l),m=this;function g(y){let x=pr.from(y,h,d);At(this).append("path").datum(y[0]).call(lt,m).attr("d",m._render(x,o)).call(_t,m,r)}return rt("svg:g",i).call(gt,this,o,i).call(ht,this,{x:c&&s,y:f&&a}).call(u?y=>y.selectAll().data(We(e,x=>u[x]).values()).enter().append("g").each(g):y=>y.datum(e).each(g)).node()}},Q6=class extends $h{constructor(e,n={}){super(e,n,qz),this.fill="none"}_render(e){return e.render()}},Z6=class extends $h{constructor(e,n={}){super(e,n,Bz,pn)}_render(e){return e.renderHull()}},K6=class extends ft{constructor(e,n={}){let{x:r,y:o,z:i}=n;super(e,{x:{value:r,scale:"x",optional:!0},y:{value:o,scale:"y",optional:!0},z:{value:i,optional:!0}},Gt(n,function(s,a,c,f,u,p){let{x:l,y:h,z:d}=c;({x:l,y:h}=Eo(c,f,p)),d=d?.value;let m=new Array((l??h).length).fill(null),[g,y]=ze(this,u),x=l?w=>l[w]:oe(g),b=h?w=>h[w]:oe(y);for(let w of a){l&&(w=w.filter(_=>Jt(x(_)))),h&&(w=w.filter(_=>Jt(b(_))));for(let[,_]of Mo(w,d)){let v=pr.from(_,x,b),A=R9(v,u);for(let E=0,T=_.length;E<T;++E)m[_[E]]=A.renderCell(E)}}return{data:s,facets:a,channels:{cells:{value:m}}}}),zz)}render(e,n,r,o,i){let{x:s,y:a}=n,{x:c,y:f,cells:u}=r;return rt("svg:g",i).call(gt,this,o,i).call(ht,this,{x:c&&s,y:f&&a}).call(p=>{p.selectAll().data(e).enter().append("path").call(lt,this).attr("d",l=>u[l]).call(_t,this,r)}).node()}},J6=class extends $h{constructor(e,n){super(e,n,Yz),this.fill="none"}_render(e,n){return R9(e,n).render()}};function R9(t,e){let{width:n,height:r,marginTop:o,marginRight:i,marginBottom:s,marginLeft:a}=e;return t.voronoi([a,o,n-i,r-s])}function Dh(t,e,{x:n,y:r,...o}={}){return[n,r]=ce(n,r),new t(e,{...o,x:n,y:r})}function L9(t,e){return Dh(H6,t,e)}function O9(t,e){return Dh(Q6,t,e)}function $9(t,e){return Dh(Z6,t,e)}function D9(t,{x:e,y:n,initializer:r,...o}={}){return Dh(K6,t,{...Me({...o,x:e,y:n},t1),initializer:r})}function F9(t,e){return Dh(J6,t,e)}var Uz={ariaLabel:"density",fill:"none",stroke:"currentColor",strokeMiterlimit:1},Fh=class extends ft{constructor(e,{x:n,y:r,z:o,weight:i,fill:s,stroke:a,...c}={}){let f=P9(s)&&(s="currentColor",!0),u=P9(a)&&(a="currentColor",!0);super(e,{x:{value:n,scale:"x",optional:!0},y:{value:r,scale:"y",optional:!0},z:{value:pn({z:o,fill:s,stroke:a}),optional:!0},weight:{value:i,optional:!0}},Xz({...c,fill:s,stroke:a},f,u),Uz),f&&(this.fill=void 0),u&&(this.stroke=void 0),this.z=o}filter(e){return e}render(e,n,r,o,i){let{contours:s}=r,a=Oe();return rt("svg:g",i).call(gt,this,o,i).call(ht,this,{}).call(c=>c.selectAll().data(e).enter().append("path").call(lt,this).call(_t,this,r).attr("d",f=>a(s[f]))).node()}};function q9(t,{x:e,y:n,...r}={}){return[e,n]=ce(e,n),new Fh(t,{...r,x:e,y:n})}var jz=new Set(["x","y","z","weight"]);function Xz(t,e,n){let{bandwidth:o,thresholds:i}=t;return o=o===void 0?20:+o,i=i===void 0?20:typeof i?.[Symbol.iterator]=="function"?_e(i):+i,Gt(t,function(s,a,c,f,u,p){let l=c.weight?_e(c.weight.value):null,h=c.z?.value,{z:d}=this,[m,g]=ze(this,u),{width:y,height:x}=u,{x:b,y:w}=Eo(c,f,p),_=Object.fromEntries(Object.entries(c).filter(([L])=>!jz.has(L)).map(([L,M])=>[L,{...M,value:[]}])),v=e&&[],A=n&&[],E=ew().x(b?L=>b[L]:m).y(w?L=>w[L]:g).weight(l?L=>l[L]:1).size([y,x]).bandwidth(o),T=[];for(let L of a){let M=[];T.push(M);for(let I of h?sh(L,h,d):[L]){let N=E.contours(I);M.push([I,N])}}let C=i;if(!(C instanceof Gp)){let L=0;for(let M of T)for(let[,I]of M){let N=I.max;N>L&&(L=N)}C=Float64Array.from({length:i-1},(M,I)=>L*100*(I+1)/i)}let S=[],k=[];for(let L of T){let M=[];S.push(M);for(let[I,N]of L)for(let R of C){M.push(k.length),k.push(N(R/100)),v&&v.push(R),A&&A.push(R);for(let $ in _)_[$].value.push(c[$].value[I[0]])}}return v&&v.push(0),A&&A.push(0),{data:s,facets:S,channels:{..._,...v&&{fill:{value:v,scale:"color"}},...A&&{stroke:{value:A,scale:"color"}},contours:{value:k}}}})}function P9(t){return/^density$/i.test(t)}function Y9(t,e){return j9("x",t,e)}function U9(t,e){return j9("y",t,e)}function j9(t,e,{x1:n,x2:r,y1:o,y2:i,x:s=n===void 0&&r===void 0?t==="y"?Xt:X:void 0,y:a=o===void 0&&i===void 0?t==="x"?Xt:X:void 0,fill:c,positiveFill:f="#3ca951",negativeFill:u="#4269d0",fillOpacity:p=1,positiveFillOpacity:l=p,negativeFillOpacity:h=p,stroke:d,strokeOpacity:m,z:g=ne(d)[0],clip:y,tip:x,render:b,...w}={}){return[n,r]=B9(s,n,r),[o,i]=B9(a,o,i),n===r&&o===i&&(t==="y"?o=Ri(0):n=Ri(0)),{tip:x}=Fr({tip:x},t==="y"?"x":"y"),Se(Ft(f)?null:Object.assign(wh(e,{x1:n,x2:r,y1:o,y2:i,z:g,fill:f,fillOpacity:l,render:Ei(b,z9(t,!0)),clip:y,...w}),{ariaLabel:"positive difference"}),Ft(u)?null:Object.assign(wh(e,{x1:n,x2:r,y1:o,y2:i,z:g,fill:u,fillOpacity:h,render:Ei(b,z9(t,!1)),clip:y,...w}),{ariaLabel:"negative difference"}),Ja(e,{x:r,y:i,z:g,stroke:d,strokeOpacity:m,tip:x,clip:!0,...w}))}function B9(t,e,n){return e===void 0&&n===void 0?e=n=Ri(t):e===void 0?(n=Ri(n),e=t===void 0?n:Ri(t)):n===void 0?(e=Ri(e),n=t===void 0?e:Ri(t)):(e=Ri(e),n=Ri(n)),[e,n]}function Ri(t){let e,{value:n,label:r=Ke(n)}=wr(t);return{transform:o=>e||(e=ct(o,n)),label:r}}function z9(t,e){let n=t==="x"?"y":"x",r=`${n}1`,o=`${n}2`,i=`${t}1`,s=`${t}2`;return(a,c,f,u,p,l)=>{let{[r]:h,[o]:d}=f,m=new Float32Array(h.length),g=new Float32Array(d.length),y=u[t==="y"?"height":"width"];(e===Ax(c[t])<0?m:g).fill(y);let x=l(a,c,{...f,[o]:h,[s]:g},u,p),b=l(a,c,{...f,[r]:d,[i]:m},u,p),w=x.querySelector("g")??x,_=b.querySelector("g")??b;for(let v=0;w.firstChild;v+=2){let A=d6(),E=rt("svg:clipPath",p).attr("id",A).node();E.appendChild(w.firstChild),_.childNodes[v].setAttribute("clip-path",`url(#${A})`),_.insertBefore(E,_.childNodes[v])}return b}}function v1({geometry:t=X,...e}={}){let n=ws(r=>ct(r,t));return Gt({...e,x:null,y:null,geometry:{transform:n}},(r,o,i,s,a,{projection:c})=>{let f=n(r),u=f.length,p=new Float64Array(u),l=new Float64Array(u),h=Oe(c);for(let d=0;d<u;++d)[p[d],l[d]]=h.centroid(f[d]);return{data:r,facets:o,channels:{x:{value:p,scale:c==null?"x":null,source:null},y:{value:l,scale:c==null?"y":null,source:null}}}})}function X9({geometry:t=X,...e}={}){let n=ws(o=>ct(o,t)),r=ws(o=>ct(n(o),yw));return{...e,x:{transform:o=>Float64Array.from(r(o),([i])=>i)},y:{transform:o=>Float64Array.from(r(o),([,i])=>i)},geometry:{transform:n}}}var Wz={ariaLabel:"geo",fill:"none",stroke:"currentColor",strokeWidth:1,strokeLinecap:"round",strokeLinejoin:"round",strokeMiterlimit:1},Ph=class extends ft{constructor(e,n={}){let[r,o]=Pt(n.r,3);super(e,{x:{value:n.tip?n.x:null,scale:"x",optional:!0},y:{value:n.tip?n.y:null,scale:"y",optional:!0},r:{value:r,scale:"r",filter:Nn,optional:!0},geometry:{value:n.geometry,scale:"projection"}},Sh(n),Wz),this.r=o}render(e,n,r,o,i){let{geometry:s,r:a}=r,c=Oe(i.projection??Gz(n)),{r:f}=this;return is(f)?e=[]:f!==void 0&&c.pointRadius(f),rt("svg:g",i).call(gt,this,o,i).call(ht,this,n).call(u=>{u.selectAll().data(e).enter().append("path").call(lt,this).attr("d",a?p=>c.pointRadius(a[p])(s[p]):p=>c(s[p])).call(_t,this,r)}).node()}};function Gz({x:t,y:e}){if(t||e)return t??=n=>n,e??=n=>n,ba({point(n,r){this.stream.point(t(n),e(r))}})}function _1(t,e={}){return e.tip&&e.x===void 0&&e.y===void 0?e=v1(e):e.geometry===void 0&&(e={...e,geometry:X}),new Ph(t,e)}function W9({strokeWidth:t=1.5,...e}={}){return _1({type:"Sphere"},{strokeWidth:t,...e})}function G9({strokeOpacity:t=.1,...e}={}){return _1(Mw(),{strokeOpacity:t,...e})}var nu=.5,ru=0;function V9(t={fill:"count"},{binWidth:e,...n}={}){let{z:r}=n;return e=e===void 0?20:Rt(e),t=z_(t,n),So(t,"fill")&&(n.channels={...n.channels,fill:{value:[]}}),n.symbol===void 0&&(n.symbol="hexagon"),n.r===void 0&&!So(t,"r")&&(n.r=e/2),Gt(n,(o,i,s,a,c,f)=>{let{x:u,y:p,z:l,fill:h,stroke:d,symbol:m}=s;if(u===void 0)throw new Error("missing channel: x");if(p===void 0)throw new Error("missing channel: y");({x:u,y:p}=Eo(s,a,f)),l=l?l.value:ct(o,r),h=h?.value,d=d?.value,m=m?.value;let g=th(t,{z:l,fill:h,stroke:d,symbol:m}),y=l&&[],x=h&&[],b=d&&[],w=m&&[],_=[],v=[],A=[],E=-1;for(let k of t)k.initialize(o);for(let k of i){let L=[];for(let M of t)M.scope("facet",k);for(let[M,I]of Mo(k,g))for(let{index:N,extent:R}of Vz(o,I,u,p,e)){L.push(++E),v.push(R.x),A.push(R.y),l&&y.push(g===l?M:l[N[0]]),h&&x.push(g===h?M:h[N[0]]),d&&b.push(g===d?M:d[N[0]]),m&&w.push(g===m?M:m[N[0]]);for(let $ of t)$.reduce(N,R)}_.push(L)}let T=s.x.scale,C=s.y.scale,S={x:{value:v,source:a[T]?{value:Mt(v,a[T].invert),scale:T}:null},y:{value:A,source:a[C]?{value:Mt(A,a[C].invert),scale:C}:null},...l&&{z:{value:y}},...h&&{fill:{value:x,scale:"auto"}},...d&&{stroke:{value:b,scale:"auto"}},...m&&{symbol:{value:w,scale:"auto"}},...Object.fromEntries(t.map(({name:k,output:L})=>[k,{scale:"auto",label:L.label,radius:k==="r"?e/2:void 0,value:L.transform()}]))};return{data:o,facets:_,channels:S}})}function Vz(t,e,n,r,o){let i=o*(1.5/k_),s=new Map;for(let a of e){let c=n[a],f=r[a];if(isNaN(c)||isNaN(f))continue;let u=Math.round(f=(f-ru)/i),p=Math.round(c=(c-nu)/o-(u&1)/2),l=f-u;if(Math.abs(l)*3>1){let m=c-p,g=p+(c<p?-1:1)/2,y=u+(f<u?-1:1),x=c-g,b=f-y;m*m+l*l>x*x+b*b&&(p=g+(u&1?1:-1)/2,u=y)}let h=`${p},${u}`,d=s.get(h);d===void 0&&(d={index:[],extent:{data:t,x:(p+(u&1)/2)*o+nu,y:u*i+ru}},s.set(h,d)),d.index.push(a)}return s.values()}var Hz={ariaLabel:"hexgrid",fill:"none",stroke:"currentColor",strokeOpacity:.1};function H9(t){return new qh(t)}var qh=class extends ft{constructor({binWidth:e=20,clip:n=!0,...r}={}){super(fs,void 0,{clip:n,...r},Hz),this.binWidth=Rt(e)}render(e,n,r,o,i){let{binWidth:s}=this,{marginTop:a,marginRight:c,marginBottom:f,marginLeft:u,width:p,height:l}=o,h=u-nu,d=p-c-nu,m=a-ru,g=l-f-ru,y=s/2,x=y*R_,b=x/2,w=y*2,_=x*1.5,v=Math.floor(h/w),A=Math.ceil(d/w),E=Math.floor((m+b)/_),T=Math.ceil((g-b)/_)+1,C=`m0,${$s(-x)}l${$s(y)},${$s(b)}v${$s(x)}l${$s(-y)},${$s(b)}`,S=C;for(let k=E;k<T;++k)for(let L=v;L<A;++L)S+=`M${$s(L*w+(k&1)*y)},${$s(k*_)}${C}`;return rt("svg:g",i).datum(0).call(gt,this,o,i).call(ht,this,{},ie+nu,ie+ru).call(k=>k.append("path").call(lt,this).call(_t,this,r).attr("d",S)).node()}};function $s(t){return Math.round(t*1e3)/1e3}var Qz={ariaLabel:"image",fill:null,stroke:null};function Zz(t){return/^\.*\//.test(t)}function Kz(t){return/^(blob|data|file|http|https):/i.test(t)}function Jz(t){return typeof t=="string"&&(Zz(t)||Kz(t))?[void 0,t]:[t,void 0]}var Bh=class extends ft{constructor(e,n={}){let{x:r,y:o,r:i,width:s,height:a,rotate:c,src:f,preserveAspectRatio:u,crossOrigin:p,frameAnchor:l,imageRendering:h}=n;i==null&&(i=void 0),i===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[d,m]=Jz(f),[g,y]=Pt(i),[x,b]=Pt(s,y!==void 0?y*2:void 0),[w,_]=Pt(a,y!==void 0?y*2:void 0),[v,A]=Pt(c,0);super(e,{x:{value:r,scale:"x",optional:!0},y:{value:o,scale:"y",optional:!0},r:{value:g,scale:"r",filter:Nn,optional:!0},width:{value:x,filter:Nn,optional:!0},height:{value:w,filter:Nn,optional:!0},rotate:{value:v,optional:!0},src:{value:d,optional:!0}},Sh(n),Qz),this.src=m,this.width=b,this.rotate=A,this.height=_,this.r=y,this.preserveAspectRatio=Vt(u,"xMidYMid"),this.crossOrigin=pe(p),this.frameAnchor=_o(l),this.imageRendering=Vt(h,"auto")}render(e,n,r,o,i){let{x:s,y:a}=n,{x:c,y:f,width:u,height:p,r:l,rotate:h,src:d}=r,{r:m,width:g,height:y,rotate:x}=this,[b,w]=ze(this,o);return rt("svg:g",i).call(gt,this,o,i).call(ht,this,{x:c&&s,y:f&&a}).call(_=>_.selectAll().data(e).enter().append("image").call(lt,this).attr("x",Q9(c,u,l,b,g,m)).attr("y",Q9(f,p,l,w,y,m)).attr("width",u?v=>u[v]:g!==void 0?g:l?v=>l[v]*2:m*2).attr("height",p?v=>p[v]:y!==void 0?y:l?v=>l[v]*2:m*2).attr("transform",h?v=>`rotate(${h[v]})`:x?`rotate(${x})`:null).attr("transform-origin",h||x?qr`${c?v=>c[v]:b}px ${f?v=>f[v]:w}px`:null).call(ot,"href",d?v=>d[v]:this.src).call(ot,"preserveAspectRatio",this.preserveAspectRatio).call(ot,"crossorigin",this.crossOrigin).call(ot,"image-rendering",this.imageRendering).call(ot,"clip-path",l?v=>`circle(${l[v]}px)`:m!==void 0?`circle(${m}px)`:null).call(_t,this,r)).node()}};function Q9(t,e,n,r,o,i){return e&&t?s=>t[s]-e[s]/2:e?s=>r-e[s]/2:t&&o!==void 0?s=>t[s]-o/2:o!==void 0?r-o/2:n&&t?s=>t[s]-n[s]:n?s=>r-n[s]:t?s=>t[s]-i:r-i}function Z9(t,{x:e,y:n,...r}={}){return r.frameAnchor===void 0&&([e,n]=ce(e,n)),new Bh(t,{...r,x:e,y:n})}function tY(t,e,n){var r=1e-8,o=e-1,i=n-1,s=0,a,c,f,u,p,l,h,d,m,g,y;if(t<=0)return 0;if(t>=1)return 1;for(e>=1&&n>=1?(f=t<.5?t:1-t,u=Math.sqrt(-2*Math.log(f)),h=(2.30753+u*.27061)/(1+u*(.99229+u*.04481))-u,t<.5&&(h=-h),d=(h*h-3)/6,m=2/(1/(2*e-1)+1/(2*n-1)),g=h*Math.sqrt(d+m)/m-(1/(2*n-1)-1/(2*e-1))*(d+5/6-2/(3*m)),h=e/(e+n*Math.exp(2*g))):(a=Math.log(e/(e+n)),c=Math.log(n/(e+n)),u=Math.exp(e*a)/e,p=Math.exp(n*c)/n,g=u+p,t<u/g?h=Math.pow(e*g*t,1/e):h=1-Math.pow(n*g*(1-t),1/n)),y=-ou(e)-ou(n)+ou(e+n);s<10;s++){if(h===0||h===1)return h;if(l=eY(h,e,n)-t,u=Math.exp(o*Math.log(h)+i*Math.log(1-h)+y),p=l/u,h-=u=p/(1-.5*Math.min(1,p*(o/h-i/(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 eY(t,e,n){var r=t===0||t===1?0:Math.exp(ou(e+n)-ou(e)-ou(n)+e*Math.log(t)+n*Math.log(1-t));return t<0||t>1?!1:t<(e+1)/(e+n+2)?r*K9(t,e,n)/e:1-r*K9(1-t,n,e)/n}function K9(t,e,n){var r=1e-30,o=1,i=e+n,s=e+1,a=e-1,c=1,f=1-i*t/s,u,p,l,h;for(Math.abs(f)<r&&(f=r),f=1/f,h=f;o<=100&&(u=2*o,p=o*(n-o)*t/((a+u)*(e+u)),f=1+p*f,Math.abs(f)<r&&(f=r),c=1+p/c,Math.abs(c)<r&&(c=r),f=1/f,h*=f*c,p=-(e+o)*(i+o)*t/((e+u)*(s+u)),f=1+p*f,Math.abs(f)<r&&(f=r),c=1+p/c,Math.abs(c)<r&&(c=r),f=1/f,l=f*c,h*=l,!(Math.abs(l-1)<3e-7));o++);return h}function ou(t){var e=0,n=[76.18009172947146,-86.5053203294167,24.01409824083091,-1.231739572450155,.001208650973866179,-5395239384953e-18],r=1.000000000190015,o,i,s;for(s=(i=o=t)+5.5,s-=(o+.5)*Math.log(s);e<6;e++)r+=n[e]/++i;return Math.log(2.506628274631*r/o)-s}function J9(t,e){var n=tY(2*Math.min(t,1-t),.5*e,.5);return n=Math.sqrt(e*(1-n)/n),t>.5?n:-n}var nY={ariaLabel:"linear-regression",fill:"currentColor",fillOpacity:.1,stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round",strokeMiterlimit:1},M1=class extends ft{constructor(e,n={}){let{x:r,y:o,z:i,ci:s=.95,precision:a=4}=n;if(super(e,{x:{value:r,scale:"x"},y:{value:o,scale:"y"},z:{value:pn(n),optional:!0}},n,nY),this.z=i,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(e,n,r,o,i){let{x:s,y:a,z:c}=r,{ci:f}=this;return rt("svg:g",i).call(gt,this,o,i).call(ht,this,n).call(u=>u.selectAll().data(c?sh(e,c,this.z):[e]).enter().call(p=>p.append("path").attr("fill","none").call(lt,this).call(qa,this,{...r,fill:null,fillOpacity:null}).attr("d",l=>this._renderLine(l,s,a)).call(f&&!vi(this.fill)?l=>l.select(rY).attr("stroke","none").call(lt,this).call(qa,this,{...r,stroke:null,strokeOpacity:null,strokeWidth:null}).attr("d",h=>this._renderBand(h,s,a)):()=>{}))).node()}};function rY(){return this.parentNode.insertBefore(this.ownerDocument.createElementNS(_n.svg,"path"),this)}var t3=class extends M1{constructor(e,n){super(e,n)}_renderBand(e,n,r){let{ci:o,precision:i}=this,[s,a]=Ot(e,u=>r[u]),c=S1(e,r,n),f=nI(e,r,n,(1-o)/2,c);return hf().y(u=>u).x0(u=>f(u,-1)).x1(u=>f(u,1))(le(s,a-i/2,i).concat(a))}_renderLine(e,n,r){let[o,i]=Ot(e,a=>r[a]),s=S1(e,r,n);return`M${s(o)},${o}L${s(i)},${i}`}},e3=class extends M1{constructor(e,n){super(e,n)}_renderBand(e,n,r){let{ci:o,precision:i}=this,[s,a]=Ot(e,u=>n[u]),c=S1(e,n,r),f=nI(e,n,r,(1-o)/2,c);return hf().x(u=>u).y0(u=>f(u,-1)).y1(u=>f(u,1))(le(s,a-i/2,i).concat(a))}_renderLine(e,n,r){let[o,i]=Ot(e,a=>n[a]),s=S1(e,n,r);return`M${o},${s(o)}L${i},${s(i)}`}};function tI(t,{y:e=Xt,x:n=X,stroke:r,fill:o=Ft(r)?"currentColor":r,...i}={}){return new t3(t,Hf({...i,x:n,y:e,fill:o,stroke:r}))}function eI(t,{x:e=Xt,y:n=X,stroke:r,fill:o=Ft(r)?"currentColor":r,...i}={}){return new e3(t,Vf({...i,x:e,y:n,fill:o,stroke:r}))}function S1(t,e,n){let r=0,o=0,i=0,s=0;for(let u of t){let p=e[u],l=n[u];r+=p,o+=l,i+=p*l,s+=p*p}let a=t.length,c=(a*i-r*o)/(a*s-r*r),f=(o-c*r)/a;return u=>c*u+f}function nI(t,e,n,r,o){let i=Ve(t,u=>e[u])/t.length,s=0,a=0;for(let u of t)s+=(e[u]-i)**2,a+=(n[u]-o(e[u]))**2;let c=Math.sqrt(a/(t.length-2)),f=J9(r,t.length-2);return(u,p)=>{let l=o(u),h=c*Math.sqrt(1/t.length+(u-i)**2/s);return l+p*f*h}}function zh({path:t=X,delimiter:e,frameAnchor:n,treeLayout:r=wa,treeSort:o,treeSeparation:i,treeAnchor:s,treeFilter:a,...c}={}){s=I1(s),o=iI(o),a!=null&&(a=r3(a)),n===void 0&&(n=s.frameAnchor);let f=sI(e),u=hI(c,r3),[p,l]=qe(),[h,d]=qe();return{x:p,y:h,frameAnchor:n,...Me(c,(m,g)=>{let y=f(ct(m,t)),x=l([]),b=d([]),w=-1,_=[],v=[],A=wg().path(C=>y[C]),E=Pn(m)?C=>C.data=m[C.data]:C=>C.data=m.get(C.data),T=r();T.nodeSize&&T.nodeSize([1,1]),T.separation&&i!==void 0&&T.separation(i??Vp);for(let C of u)C[E1]=C[lI]([]);for(let C of g){let S=[],k=A(C.filter(L=>y[L]!=null)).each(E);o!=null&&k.sort(o),T(k);for(let L of k.descendants())if(!(a!=null&&!a(L))){S.push(++w),_[w]=L.data,s.position(L,w,x,b);for(let M of u)M[E1][w]=M[pI](L)}v.push(S)}return{data:_,facets:v}}),...Object.fromEntries(u)}}function T1({path:t=X,delimiter:e,curve:n="bump-x",stroke:r="#555",strokeWidth:o=1.5,strokeOpacity:i=.5,treeLayout:s=wa,treeSort:a,treeSeparation:c,treeAnchor:f,treeFilter:u,...p}={}){f=I1(f),a=iI(a),u!=null&&(u=oI(u)),p={curve:n,stroke:r,strokeWidth:o,strokeOpacity:i,...p};let l=sI(e),h=hI(p,oI),[d,m]=qe(),[g,y]=qe(),[x,b]=qe(),[w,_]=qe();return{x1:d,x2:g,y1:x,y2:w,...Me(p,(v,A)=>{let E=l(ct(v,t)),T=m([]),C=y([]),S=b([]),k=_([]),L=-1,M=[],I=[],N=wg().path($=>E[$]),R=s();R.nodeSize&&R.nodeSize([1,1]),R.separation&&c!==void 0&&R.separation(c??Vp);for(let $ of h)$[E1]=$[lI]([]);for(let $ of A){let O=[],D=N($.filter(F=>E[F]!=null)).each(F=>F.data=v[F.data]);a!=null&&D.sort(a),R(D);for(let{source:F,target:P}of D.links())if(!(u!=null&&!u(P,F))){O.push(++L),M[L]=P.data,f.position(F,L,T,S),f.position(P,L,C,k);for(let W of h)W[E1][L]=W[pI](P,F)}I.push(O)}return{data:M,facets:I}}),...Object.fromEntries(h)}}function I1(t="left"){switch(`${t}`.trim().toLowerCase()){case"left":return oY;case"right":return iY}throw new Error(`invalid tree anchor: ${t}`)}var oY={frameAnchor:"left",dx:6,position({x:t,y:e},n,r,o){r[n]=e,o[n]=-t}},iY={frameAnchor:"right",dx:-6,position({x:t,y:e},n,r,o){r[n]=-e,o[n]=-t}};function iI(t){return t==null||typeof t=="function"?t:`${t}`.trim().toLowerCase().startsWith("node:")?rI(r3(t)):rI(sY(t))}function rI(t){return(e,n)=>Fe(t(e),t(n))}function sY(t){return e=>e.data?.[t]}function sI(t="/"){if(t=`${t}`,t==="/")return n=>n;if(t.length!==1)throw new Error("delimiter must be exactly one character");let e=t.charCodeAt(0);return n=>n.map(r=>aY(r,e))}var n3=92,aI=47;function aY(t,e){if(e===n3)throw new Error("delimiter cannot be backslash");let n=!1;for(let r=0,o=t.length;r<o;++r){switch(t.charCodeAt(r)){case n3:if(!n){n=!0;continue}break;case e:n?(t=t.slice(0,r-1)+t.slice(r),--r,--o):t=t.slice(0,r)+"/"+t.slice(r+1);break;case aI:n?(t=t.slice(0,r)+"\\\\"+t.slice(r),r+=2,o+=2):(t=t.slice(0,r)+"\\"+t.slice(r),++r,++o);break}n=!1}return t}function cY(t){let e=!1;for(let n=0,r=t.length;n<r;++n){switch(t.charCodeAt(n)){case n3:if(!e){e=!0;continue}case aI:e&&(t=t.slice(0,n-1)+t.slice(n),--n,--r);break}e=!1}return t}function cI(t){return Pe(t)&&typeof t.node=="function"}function fY(t){return Pe(t)&&typeof t.link=="function"}function r3(t){if(cI(t))return t.node;if(t=`${t}`.trim().toLowerCase(),!!t.startsWith("node:")){switch(t){case"node:name":return i3;case"node:path":return o3;case"node:internal":return fI;case"node:external":return uI;case"node:depth":return s3;case"node:height":return a3}throw new Error(`invalid node value: ${t}`)}}function oI(t){if(cI(t))return t.node;if(fY(t))return t.link;if(t=`${t}`.trim().toLowerCase(),!(!t.startsWith("node:")&&!t.startsWith("parent:"))){switch(t){case"parent:name":return A1(i3);case"parent:path":return A1(o3);case"parent:depth":return A1(s3);case"parent:height":return A1(a3);case"node:name":return i3;case"node:path":return o3;case"node:internal":return fI;case"node:external":return uI;case"node:depth":return s3;case"node:height":return a3}throw new Error(`invalid link value: ${t}`)}}function o3(t){return t.id}function i3(t){return uY(t.id)}function s3(t){return t.depth}function a3(t){return t.height}function fI(t){return!!t.children}function uI(t){return!t.children}function A1(t){return(e,n)=>n==null?void 0:t(n)}function uY(t){let e=t.length;for(;--e>0&&!lY(t,e););return cY(t.slice(e+1))}function lY(t,e){if(t[e]==="/"){let n=0;for(;e>0&&t[--e]==="\\";)++n;if(!(n&1))return!0}return!1}var lI=2,pI=3,E1=4;function hI(t,e){let n=[];for(let r in t){let o=t[r],i=e(o);i!==void 0&&n.push([r,...qe(o),i])}return n}function c3(t,{fill:e,stroke:n,strokeWidth:r,strokeOpacity:o,strokeLinejoin:i,strokeLinecap:s,strokeMiterlimit:a,strokeDasharray:c,strokeDashoffset:f,marker:u,markerStart:p=u,markerEnd:l=u,dot:h=Ft(p)&&Ft(l),text:d="node:name",textStroke:m="var(--plot-background)",title:g="node:path",dx:y,dy:x,textAnchor:b,treeLayout:w=wa,textLayout:_=w===wa||w===xg?"mirrored":"normal",tip:v,...A}={}){if(y===void 0&&(y=I1(A.treeAnchor).dx),b!==void 0)throw new Error("textAnchor is not a configurable tree option");_=Ie(_,"textLayout",["mirrored","normal"]);function E(T){return Io(t,zh({treeLayout:w,text:d,fill:e===void 0?"currentColor":e,stroke:m,dx:y,dy:x,title:g,...T,...A}))}return Se(l1(t,T1({treeLayout:w,markerStart:p,markerEnd:l,stroke:n!==void 0?n:e===void 0?"node:internal":e,strokeWidth:r,strokeOpacity:o,strokeLinejoin:i,strokeLinecap:s,strokeMiterlimit:a,strokeDasharray:c,strokeDashoffset:f,...A})),h?_r(t,zh({treeLayout:w,fill:e===void 0?"node:internal":e,title:g,tip:v,...A})):null,d!=null?_==="mirrored"?[E({textAnchor:"start",treeFilter:"node:external"}),E({textAnchor:"end",treeFilter:"node:internal",dx:-y})]:E():null)}function dI(t,e){return c3(t,{...e,treeLayout:xg})}var gI={ariaLabel:"waffle"},Yh=class extends Va{constructor(e,{unit:n=1,gap:r=1,round:o,render:i,multiple:s,...a}={}){super(e,{...a,render:Ei(i,yI("x"))},gI),this.unit=Math.max(0,n),this.gap=+r,this.round=xI(o),this.multiple=bI(s)}},Uh=class extends Ha{constructor(e,{unit:n=1,gap:r=1,round:o,render:i,multiple:s,...a}={}){super(e,{...a,render:Ei(i,yI("y"))},gI),this.unit=Math.max(0,n),this.gap=+r,this.round=xI(o),this.multiple=bI(s)}};function yI(t){return function(e,n,r,o,i){let{unit:s,gap:a,rx:c,ry:f,round:u}=this,{document:p}=i,l=r.channels[`${t}1`].value,h=r.channels[`${t}2`].value,d=this[t==="y"?"_width":"_height"](n,r,o),m=this[t==="y"?"_x":"_y"](n,r,o),g=s*pY(n.scales[t]),{multiple:y=Math.max(1,Math.floor(Math.sqrt(d/g)))}=this,x=Math.min(d/y,g*y),b=g*y,w=t==="y"?([S,k])=>[S*x,-k*b]:([S,k])=>[k*b,S*x],_=(d-y*x)/2,v=typeof m=="function"?S=>m(S)+_:m+_,A=n[t](0),E=SE(),T=p.createElementNS(_n.svg,"pattern");T.setAttribute("width",t==="y"?x:b),T.setAttribute("height",t==="y"?b:x),T.setAttribute("patternUnits","userSpaceOnUse");let C=T.appendChild(p.createElementNS(_n.svg,"rect"));return C.setAttribute("x",a/2),C.setAttribute("y",a/2),C.setAttribute("width",(t==="y"?x:b)-a),C.setAttribute("height",(t==="y"?b:x)-a),c!=null&&C.setAttribute("rx",c),f!=null&&C.setAttribute("ry",f),rt("svg:g",i).call(gt,this,o,i).call(this._transform,this,n).call(S=>S.selectAll().data(e).enter().append(()=>T.cloneNode(!0)).attr("id",k=>`${E}-${k}`).select("rect").call(lt,this).call(_t,this,r)).call(S=>S.selectAll().data(e).enter().append("path").attr("transform",t==="y"?qr`translate(${v},${A})`:qr`translate(${A},${v})`).attr("d",k=>`M${f3(u(l[k]/s),u(h[k]/s),y).map(w).join("L")}Z`).attr("fill",k=>`url(#${E}-${k})`).attr("stroke",this.stroke==null?null:k=>`url(#${E}-${k})`)).node()}}function f3(t,e,n){if(t<0||e<0){let r=Math.ceil(-Math.min(t,e)/n);return f3(t+r*n,e+r*n,n).map(([o,i])=>[o,i-r])}return e<t?f3(e,t,n):[[0,Math.ceil(t/n)],[Math.floor(t%n),Math.ceil(t/n)],[Math.floor(t%n),Math.floor(t/n)+t%1],[Math.ceil(t%n),Math.floor(t/n)+t%1],...t%n>n-1?[]:[[Math.ceil(t%n),Math.floor(t/n)],[n,Math.floor(t/n)]],[n,Math.floor(e/n)],[Math.ceil(e%n),Math.floor(e/n)],[Math.ceil(e%n),Math.floor(e/n)+e%1],[Math.floor(e%n),Math.floor(e/n)+e%1],...e%n<1?[]:[[Math.floor(e%n),Math.ceil(e/n)],[0,Math.ceil(e/n)]]]}function xI(t){if(t===void 0||t===!1)return Number;if(t===!0)return Math.round;if(typeof t!="function")throw new Error(`invalid round: ${t}`);return t}function bI(t){return t===void 0?void 0:Math.max(1,Math.floor(t))}function pY({domain:t,range:e}){return mI(e)/mI(t)}function mI(t){let[e,n]=Ot(t);return n-e}function wI(t,e={}){return xi(e)||(e={...e,y:Xt,x2:X}),new Yh(t,Ts(Pf(As(e))))}function vI(t,e={}){return xi(e)||(e={...e,x:Xt,y2:X}),new Uh(t,Is(qf(Es(e))))}var RI=KC(kI(),1);var wY=({marginLeft:t})=>[1,t],vY=({width:t,marginRight:e})=>[-1,t-e],_Y=({width:t,marginLeft:e,marginRight:n})=>[0,(e+t-n)/2],MY=({marginTop:t})=>[1,t],SY=({height:t,marginBottom:e})=>[-1,t-e],AY=({height:t,marginTop:e,marginBottom:n})=>[0,(e+t-n)/2];function LI(t){return typeof t=="string"?{anchor:t}:t}function OI(t={},e={}){arguments.length===1&&([t,e]=DI(t));let{anchor:n="left",padding:r=1,r:o=e.r}=LI(t);switch(`${n}`.toLowerCase()){case"left":n=wY;break;case"right":n=vY;break;case"middle":n=_Y;break;default:throw new Error(`unknown dodge anchor: ${n}`)}return FI("x","y",n,Rt(r),o,e)}function $I(t={},e={}){arguments.length===1&&([t,e]=DI(t));let{anchor:n="bottom",padding:r=1,r:o=e.r}=LI(t);switch(`${n}`.toLowerCase()){case"top":n=MY;break;case"bottom":n=SY;break;case"middle":n=AY;break;default:throw new Error(`unknown dodge anchor: ${n}`)}return FI("y","x",n,Rt(r),o,e)}function DI(t){let{anchor:e,padding:n,...r}=t,{r:o}=r;return[{anchor:e,padding:n,r:o},r]}function FI(t,e,n,r,o,i){if(o!=null&&typeof o!="number"){let{channels:s,sort:a,reverse:c}=i;s=Qp(s),s?.r===void 0&&(i={...i,channels:{...s,r:{value:o,scale:"r"}}}),a===void 0&&c===void 0&&(i.sort={channel:"-r"})}return Gt(i,function(s,a,c,f,u,p){let{[e]:l,r:h}=c;if(!c[e])throw new Error(`missing channel: ${e}`);({[e]:l}=Eo(c,f,p));let d=h?void 0:o!==void 0?Rt(o):this.r!==void 0?this.r:3;h&&(h=ct(h.value,f[h.scale]||X,Float64Array));let[m,g]=n(u),y=m?TY:EY,x=new Float64Array(l.length),b=h?w=>h[w]:()=>d;for(let w of a){let _=(0,RI.default)();w=w.filter(h?A=>xf(l[A])&&Nn(h[A]):A=>xf(l[A]));let v=new Float64Array(2*w.length+2);for(let A of w){let E=b(A),T=m?E+r:0,C=l[A]-E,S=l[A]+E,k=2;_.queryInterval(C-r,S+r,([,,M])=>{let I=x[M]-T,N=l[A]-l[M],R=r+(h?h[A]+h[M]:2*d),$=Math.sqrt(R*R-N*N);v[k++]=I-$,v[k++]=I+$});let L=v.slice(0,k);m&&(L=L.filter(M=>M>=0));t:for(let M of L.sort(y)){for(let I=0;I<k;I+=2)if(v[I]+1e-6<M&&M<v[I+1]-1e-6)continue t;x[A]=M+T;break}_.insert([C,S,A])}}m||(m=1);for(let w of a)for(let _ of w)x[_]=x[_]*m+g;return{data:s,facets:a,channels:{[t]:{value:x,source:null},[e]:{value:l,source:c[e]},...h&&{r:{value:h,source:c.r}}}}})}function EY(t,e){return Math.abs(t)-Math.abs(e)}function TY(t,e){return t-e}function qI(t,e){return arguments.length===1&&({basis:t,...e}=t),Kf(k1(t),e)}function BI(t,e){return arguments.length===1&&({basis:t,...e}=t),Jf(k1(t),e)}function k1(t){if(t===void 0)return PI;if(typeof t=="function")return R1(Mf(t));if(/^p\d{2}$/i.test(t))return cu(_f(t));switch(`${t}`.toLowerCase()){case"deviation":return NY;case"first":return PI;case"last":return CY;case"max":return kY;case"mean":return RY;case"median":return LY;case"min":return OY;case"sum":return $Y;case"extent":return IY}throw new Error(`invalid basis: ${t}`)}function R1(t){return{mapIndex(e,n,r){let o=+t(e,n);for(let i of e)r[i]=n[i]===null?NaN:n[i]/o}}}function cu(t){return R1((e,n)=>t(e,r=>n[r]))}var IY={mapIndex(t,e,n){let[r,o]=Ot(t,s=>e[s]),i=o-r;for(let s of t)n[s]=e[s]===null?NaN:(e[s]-r)/i}},PI=R1((t,e)=>{for(let n=0;n<t.length;++n){let r=e[t[n]];if(Jt(r))return r}}),CY=R1((t,e)=>{for(let n=t.length-1;n>=0;--n){let r=e[t[n]];if(Jt(r))return r}}),NY={mapIndex(t,e,n){let r=Qo(t,i=>e[i]),o=fr(t,i=>e[i]);for(let i of t)n[i]=e[i]===null?NaN:o?(e[i]-r)/o:0}},kY=cu(It),RY=cu(Qo),LY=cu(Rr),OY=cu(St),$Y=cu(Ve);function zI(t,e){return UI("x",t,e)}function YI(t,e){return UI("y",t,e)}function UI(t,e,n={}){let r,o=1;if(typeof e=="number")o=e,r=(f,u)=>+f+u;else{if(typeof e=="string"){let f=e.startsWith("-")?-1:1;[e,o]=cx(e.replace(/^[+-]/,"")),o*=f}e=Af(e),r=(f,u)=>e.offset(f,u)}let i=`${t}1`,s=`${t}2`,a=qn({[i]:f=>f.map(u=>r(u,o)),[s]:f=>f},n),c=a[s].transform;return a[s].transform=()=>{let f=c(),[u,p]=Ot(f);return f.domain=o<0?[u,r(p,o)]:[r(u,o),p],f},a}function jI(t,e={}){if(typeof t=="string")switch(t.toLowerCase()){case"first":return Wh(e);case"last":return Gh(e)}if(typeof t=="function")return Ds(null,t,e);let n,r;for(n in t){if(r!==void 0)throw new Error("ambiguous selector; multiple inputs");r=DY(t[n])}if(r===void 0)throw new Error(`invalid selector: ${t}`);return Ds(n,r,e)}function DY(t){if(typeof t=="function")return t;switch(`${t}`.toLowerCase()){case"min":return m3;case"max":return g3}throw new Error(`unknown selector: ${t}`)}function Wh(t){return Ds(null,FY,t)}function Gh(t){return Ds(null,PY,t)}function L1(t){return Ds("x",m3,t)}function O1(t){return Ds("y",m3,t)}function $1(t){return Ds("x",g3,t)}function D1(t){return Ds("y",g3,t)}function*FY(t){yield t[0]}function*PY(t){yield t[t.length-1]}function*m3(t,e){yield n0(t,n=>e[n])}function*g3(t,e){yield ra(t,n=>e[n])}function Ds(t,e,n){if(t!=null){if(n[t]==null)throw new Error(`missing channel: ${t}`);t=n[t]}let r=pn(n);return Me(n,(o,i)=>{let s=ct(o,r),a=ct(o,t),c=[];for(let f of i){let u=[];for(let p of s?We(f,l=>s[l]).values():[f])for(let l of e(p,a))u.push(l);c.push(u)}return{data:o,facets:c}})}ft.prototype.plot=function({marks:t=[],...e}={}){return Gf({...e,marks:[...t,this]})};var qY=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"],["rLabel","r.label"],["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 BY(t,e,n){for(let r=0;r<e.length;++r){let o=e[r];r===e.length-1?t[o]=n:t=t[o]||(t[o]={})}}function XI(t,e,n){for(let r in t){let o=qY.get(r);if(o==null)throw new Error(`Unrecognized plot attribute: ${r}`);let i=t[r];typeof i=="symbol"?n.push(r):i!==void 0&&BY(e,o.split("."),i)}}var zY=new Set(["frame","hexgrid","sphere","graticule"]),YY=new Map([["first",Wh],["last",Gh],["maxX",$1],["maxY",D1],["minX",L1],["minY",O1],["nearest",_s],["nearestX",Ms],["nearestXY",Ti]]);async function WI(t){let e={marks:[]},n=[],{attributes:r,marks:o}=t;XI(r,e,n);let i=[];for(let a of o)for(let{type:c,data:f,options:u}of a.plotSpecs()){let{select:p,...l}=u,h=YY.get(p)?.(l)??l,d=zY.has(c)?[h]:[f,h];e.marks.push(y3[c](...d)),i.push(a.index)}jY(e,t);let s=Gf(e);WY(s,i),UY(t,s,r,n);for(let a of t.interactors)await a.init(s);return s}function UY(t,e,n,r){r.forEach(o=>{let i=n[o];if(i===Li){if(!o.endsWith("Domain"))throw new Error(`Unsupported fixed attribute: ${o}`);let s=o.slice(0,-6),a=e.scale(s);a?.domain&&t.setAttribute(o,n[`${s}Reverse`]?a.domain.slice().reverse():a.domain)}else throw new Error(`Unrecognized symbol: ${i}`)})}function jY(t,e){let{marks:n}=e;F1("x",t,n),F1("y",t,n),F1("fx",t,n),F1("fy",t,n)}function F1(t,e,n){let r=e[t]||{};if(r.axis===null||r.label!==void 0)return;let o=n.map(s=>s.channelField(t)?.field);if(o.every(s=>s==null))return;let i;for(let s=0;s<o.length;++s){let a=GI(o[s]);a!==void 0&&(i===void 0?i=a:i!==a&&(i=void 0))}i!==void 0&&(e[t]={...r,label:i})}function GI(t){if(t){switch(t.type){case"COLUMN_REF":return t.column;case"CAST":return GI(t.expr);case"FUNCTION":if(t.name==="make_date")return"date";break}return XY(t)}}function XY(t){let e=`${t}`.replaceAll('"',"").replaceAll("(*)","()");return e.endsWith("()")?e.slice(0,-2):e}function WY(t,e){let n=-1;for(let r of t.children){let o=r.getAttribute("aria-label")||"";r.nodeName==="style"||o.includes("-axis")||o.includes("-grid")||r.setAttribute("data-index",e[++n])}}var GY={width:640,marginLeft:40,marginRight:20,marginTop:20,marginBottom:30},x3=class{constructor(e){this.attributes={...GY},this.listeners=null,this.interactors=[],this.legends=[],this.marks=[],this.markset=null,this.element=e||document.createElement("div"),this.element.setAttribute("class","plot"),this.element.style.display="flex",this.element.value=this,this.params=new Map,this.synch=p2()}margins(){return{left:this.getAttribute("marginLeft"),top:this.getAttribute("marginTop"),bottom:this.getAttribute("marginBottom"),right:this.getAttribute("marginRight")}}innerWidth(){let{left:e,right:n}=this.margins();return this.getAttribute("width")-e-n}innerHeight(e=400){let{top:n,bottom:r}=this.margins(),o=this.getAttribute("height");return o==null&&(o=VY(this,n,r)||e,this.setAttribute("height",o,{silent:!0})),o-n-r}pending(e){this.synch.pending(e)}update(e){return this.synch.ready(e)&&!this.pendingRender&&(this.pendingRender=!0,requestAnimationFrame(()=>this.render())),this.synch.promise}async render(){this.pendingRender=!1;let e=await WI(this),n=this.legends.flatMap(({legend:r,include:o})=>{let i=r.init(e);return o?i:[]});this.element.replaceChildren(e,...n),this.synch.resolve()}getAttribute(e){return this.attributes[e]}setAttribute(e,n,r){return sl(this.attributes[e],n)?(n===void 0?delete this.attributes[e]:this.attributes[e]=n,r?.silent||this.listeners?.get(e)?.forEach(o=>o(e,n)),!0):!1}addAttributeListener(e,n){let r=this.listeners||(this.listeners=new Map);return r.has(e)||r.set(e,new Set),r.get(e).add(n),this}removeAttributeListener(e,n){return this.listeners?.get(e)?.delete(n)}addParams(e,n){let{params:r}=this;for(let o of n)r.has(o)?r.get(o).push(e):(r.set(o,[e]),o.addEventListener("value",()=>Promise.allSettled(r.get(o).map(i=>i.initialize()))))}addMark(e){return e.setPlot(this,this.marks.length),this.marks.push(e),this.markset=null,this}get markSet(){return this.markset||(this.markset=new Set(this.marks))}addInteractor(e){return this.interactors.push(e),this}addLegend(e,n=!0){e.setPlot(this),this.legends.push({legend:e,include:n})}};function VY(t,e,n){let r=t.getAttribute("aspectRatio");if(r==null)return;let o=t.getAttribute("xDomain"),i=t.getAttribute("yDomain");if(!o||!i)return;let s=Math.abs(o[1]-o[0]);return Math.abs(i[1]-i[0])*t.innerWidth()/(r*s)+e+n}function P1(t){return typeof t!="string"?!1:(t=t.toLowerCase().trim(),t==="none"||t==="currentcolor"||t.startsWith("url(")&&t.endsWith(")")||t.startsWith("var(")&&t.endsWith(")")||Xn(t)!==null)}var HY=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 VI(t){return HY.has(t)}var QY=new Set(["asterisk","circle","cross","diamond","diamond2","hexagon","plus","square","square2","star","times","triangle","triangle2","wye"]);function HI(t){return QY.has(`${t}`.toLowerCase())}var QI=t=>t==="stroke"||t==="fill",ZY=t=>/opacity$/i.test(t),KY=t=>t==="symbol",JY=(t,e)=>t!=="sort"&&t!=="tip"&&e!=null&&!Array.isArray(e),b3=(t,e)=>({channel:t,field:e,as:qi(e)?e.column:t}),w3=(t,e)=>({channel:t,value:e}),q1=t=>Array.isArray(t),Je=class extends du{constructor(e,n,r,o={}){super(n?.options?.filterBy),this.type=e,this.reqs=o,this.source=n;let i=this.channels=[],s=this.detail=new Set,a=this.params=new Set;q1(n)?this.data=cr(n):Wo(n?.table)&&a.add(n.table);let c=(f,u)=>{let p=typeof u;if(f==="channels")for(let l in u)s.add(l),c(l,u[l]);else if(p==="function"&&u[pu]){let l=u(this,f);for(let h in l)c(h,l[h])}else if(p==="string")VI(f)||QI(f)&&P1(u)||KY(f)&&HI(u)?i.push(w3(f,u)):i.push(b3(f,Du(u)));else if(Er(u)){let l=w3(f,u.value);i.push(l),u.addEventListener("value",h=>(l.value=h,this.update()))}else en(u)?(Hb(u).forEach(l=>a.add(l)),i.push(b3(f,u))):p==="object"&&JY(f,u)?i.push(b3(f,u)):u!==void 0&&i.push(w3(f,u))};for(let f in r)c(f,r[f])}setPlot(e,n){this.plot=e,this.index=n,e.addParams(this,this.params),this.source?.table&&this.queryPending()}sourceTable(){let e=this.source?.table;return e?Wo(e)?e.value:e:null}hasOwnData(){return this.source==null||q1(this.source)}hasFieldInfo(){return!!this._fieldInfo}channel(e){return this.channels.find(n=>n.channel===e)}channelField(e,{exact:n=!1}={}){let r=n?this.channel(e):this.channels.find(o=>o.channel.startsWith(e));return r?.field?r:null}fields(){if(this.hasOwnData())return null;let{channels:e,reqs:n}=this,r=new Map;for(let{channel:i,field:s}of e){if(!s)continue;let a=s.stats?.stats||[],c=s.stats?.column??s,f=r.get(c)??r.set(c,new Set).get(c);a.forEach(u=>f.add(u)),n[i]?.forEach(u=>f.add(u))}let o=this.sourceTable();return Array.from(r,([i,s])=>({table:o,column:i,stats:s}))}fieldInfo(e){let n=Object.fromEntries(e.map(r=>[r.column,r]));for(let r of this.channels){let{field:o}=r;o&&Object.assign(r,n[o.stats?.column??o])}return this._fieldInfo=!0,this}query(e=[]){return this.hasOwnData()?null:Vh(this.channels,this.sourceTable()).where(e)}queryPending(){return this.plot.pending(this),this}queryResult(e){return this.data=cr(e),this}update(){return this.plot.update(this)}plotSpecs(){let{type:e,data:n,detail:r,channels:o}=this;return v3(e,r,o,n)}};function dn(t,e){let n=e?.[t.as]??t.as;return Object.hasOwn(t,"value")?t.value:QI(t.channel)?{value:n,scale:"color"}:ZY(t.channel)?{value:n,scale:"opacity"}:n}function Vh(t,e,n=[]){let r=yt.from({source:e}),o=new Set,i=!1;for(let s of t){let{channel:a,field:c,as:f}=s;if(!n.includes(a)){if(a==="orderby")r.orderby(s.value);else if(c){if(jn(c))i=!0;else{if(o.has(f))continue;o.add(f)}r.select({[f]:c})}}}return i&&r.groupby(Array.from(o)),r}function v3(t,e,n,r,o={}){let{numRows:i,values:s,columns:a}=r??{},c={};for(let p of n){let l=e.has(p.channel)?c:o;l[p.channel]=dn(p,a)}return e.size&&(o.channels=c),[{type:t,data:s??(r?{length:i}:null),options:o}]}function ec(t,e){let{plot:n}=t,r=n.getAttribute(`${e}Scale`);if(!r){let{type:i}=t.channelField(e);r=i==="date"?"time":"linear"}let o={type:r};switch(r){case"log":o.base=n.getAttribute(`${e}Base`)??10;break;case"pow":o.exponent=n.getAttribute(`${e}Exponent`)??1;break;case"symlog":o.constant=n.getAttribute(`${e}Constant`)??1;break}return ol(o)}function rr(t,e,n,r,o=1,i){let{field:s}=t.channelField(e);i=i??s;let{type:a,apply:c,sqlApply:f}=ec(t,e),u=!!t.plot.getAttribute(`${e}Reverse`),[p,l]=r.map(m=>c(m)),h=f(i),d=a==="time"||a==="utc"?h:i;return[Qb(h,p,l,n-o,u),d]}var _3={x:["min","max"]},M3={y:["min","max"]},B1={..._3,...M3};function ZI(t,e,n,r,o){let{plot:i}=t,s=i.getAttribute(r),a=i.getAttribute(o);if(Array.isArray(s)&&!s[Ye])return s;{let{column:c,min:f,max:u}=t.channelField(n),p=S3(e,c)||(a?si().domain([f,u]).nice().domain():[f,u]);return s!==Li&&(p[Ye]=!0),i.setAttribute(r,p,{silent:!0}),p}}function Lo(t,e){return ZI(t,e,"x","xDomain","xNice")}function Oo(t,e){return ZI(t,e,"y","yDomain","yNice")}function S3(t,e){if(!t)return;let n,r;return[t].flat().forEach(o=>Qr(o,i=>{if(i instanceof Zs&&`${i.expr}`===e){let s=(i.extent??[]).map(a=>a?.value??a);(n==null||s[0]<n)&&(n=s[0]),(r==null||s[1]>r)&&(r=s[1])}})),n!=null&&r!=null&&n!==r?[n,r]:void 0}var A3=class extends Je{constructor(e,n,r){let o=e.endsWith("X")?"y":e.endsWith("Y")?"x":null,i=o?{[o]:["count","min","max"]}:void 0;super(e,n,r,i),this.dim=o}query(e=[]){let{plot:n,dim:r,source:o}=this,i=o.options?.optimize,s=super.query(e);if(!r)return s;let a=r==="x"?"y":"x",c=this.channelField(a,{exact:!0})?.as,{field:f,as:u,type:p,count:l,min:h,max:d}=this.channelField(r),m=p==="date"||p==="number",g=r==="x"?n.innerWidth():n.innerHeight();if(i??=l/g>10,i&&m&&c){let[y,x]=S3(e,f)||[h,d],[b]=rr(this,r,g,[y,x],1,u),w=s._select.map(_=>_.alias).filter(_=>_!==u&&_!==c);return e2(s,b,u,c,w)}else return s.orderby(f)}};function KI(t,e=[]){return new e.constructor(t)}function JI(t,e,n){let r=KI(t,n),o=n.length;for(let i=0;i<o;++i)r[e[i]]=n[i];return r}function tC(t,e,n,r,o,i,s){let a=n.length,c=t*e,f=o.map(h=>r[h]),u={},p=[],l=new Int32Array(a);if(i?.length){let h=i.map(m=>r[m]),d={};for(let m=0;m<a;++m){let g=h.map(y=>y[m]);l[m]=d[g]??=p.push(g)-1}for(let m=0;m<i.length;++m)u[i[m]]=p.map(g=>g[m])}else p.push([]);if(s){let h=n.map(g=>g%t),d=n.map(g=>Math.floor(g/t)),m=p.map(()=>[]);for(let g=0;g<a;++g)m[l[g]].push(g);o.forEach((g,y)=>{let x=f[y];u[g]=p.map((b,w)=>s(m[w],t,e,h,d,x))})}else o.forEach((h,d)=>{let m=f[d],g=u[h]=p.map(()=>KI(c,m));for(let y=0;y<a;++y)g[l[y]][n[y]]=m[y]});return{numRows:p.length,columns:u}}function Hh(t){let e=1/0,n=-1/0;return t.forEach(r=>{let o=r.length;for(let i=0;i<o;++i){let s=r[i];s<e&&(e=s),s>n&&(n=s)}}),Number.isFinite(e)&&Number.isFinite(n)?[e,n]:[0,1]}function eC(t){let e=new wn;return t.forEach(n=>{let r=n.length;for(let o=0;o<r;++o)e.add(n[o])}),Array.from(e).sort(dt)}function he(t,e){return Wo(t)?(t.addEventListener("value",e),t.value):t}function Qh(t,e=!1){let n=new Float64Array(5),r=new Float64Array(4);tU(n,r,t);let o=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]),i=1+n[1]+n[2]+n[3]+n[4],s=(r[0]+r[1]+r[2]+r[3])/i,a=(o[1]+o[2]+o[3]+o[4])/i;return{sigma:t,negative:e,a:n,b_causal:r,b_anticausal:o,sum_causal:s,sum_anticausal:a}}function tU(t,e,n){let o=Float64Array.of(.84,1.8675,.84,-1.8675,-.34015,-.1299,-.34015,.1299),i=Math.exp(-1.783/n),s=Math.exp(-1.723/n),a=.6318/n,c=1.997/n,f=Float64Array.of(-i*Math.cos(a),i*Math.sin(a),-i*Math.cos(-a),i*Math.sin(-a),-s*Math.cos(c),s*Math.sin(c),-s*Math.cos(-c),s*Math.sin(-c)),u=n*2.5066282746310007,p=Float64Array.of(o[0],o[1],0,0,0,0,0,0),l=Float64Array.of(1,0,f[0],f[1],0,0,0,0,0,0),h,d;for(d=2;d<8;d+=2){for(p[d]=f[d]*p[d-2]-f[d+1]*p[d-1],p[d+1]=f[d]*p[d-1]+f[d+1]*p[d-2],h=d-2;h>0;h-=2)p[h]+=f[d]*p[h-2]-f[d+1]*p[h-1],p[h+1]+=f[d]*p[h-1]+f[d+1]*p[h-2];for(h=0;h<=d;h+=2)p[h]+=o[d]*l[h]-o[d+1]*l[h+1],p[h+1]+=o[d]*l[h+1]+o[d+1]*l[h];for(l[d+2]=f[d]*l[d]-f[d+1]*l[d+1],l[d+3]=f[d]*l[d+1]+f[d+1]*l[d],h=d;h>0;h-=2)l[h]+=f[d]*l[h-2]-f[d+1]*l[h-1],l[h+1]+=f[d]*l[h-1]+f[d+1]*l[h-2]}for(d=0;d<4;++d)h=d<<1,e[d]=p[h]/u,t[d+1]=l[h+2]}function nC(t,e,n,[r,o]){let i=new Float64Array(Math.max(r,o)),s=new Float64Array(Math.max(r,o)),a=new Float64Array(5),c=new Float64Array(n.length);for(let f=0,u=0;f<o;++f,u+=r){let p=c.subarray(u);z1(t,n.subarray(u),r,1,i,s,a,p)}for(let f=0;f<r;++f){let u=c.subarray(f);z1(e,u,o,r,i,s,a,u)}return c}function z1(t,e,n,r=1,o=new Float64Array(n),i=new Float64Array(n),s=new Float64Array(5),a=o,c=eU){let f=r*2,u=r*3,p=r*4,l=r*n,h,d;for(c(o,e,n,r,t.b_causal,3,t.a,4,t.sum_causal,s,t.sigma),d=4,h=p;d<n;++d,h+=r)o[d]=t.b_causal[0]*e[h]+t.b_causal[1]*e[h-r]+t.b_causal[2]*e[h-f]+t.b_causal[3]*e[h-u]-t.a[1]*o[d-1]-t.a[2]*o[d-2]-t.a[3]*o[d-3]-t.a[4]*o[d-4];for(c(i,e,n,-r,t.b_anticausal,4,t.a,4,t.sum_anticausal,s,t.sigma),d=4,h=l-r*5;d<n;++d,h-=r)i[d]=t.b_anticausal[1]*e[h+r]+t.b_anticausal[2]*e[h+f]+t.b_anticausal[3]*e[h+u]+t.b_anticausal[4]*e[h+p]-t.a[1]*i[d-1]-t.a[2]*i[d-2]-t.a[3]*i[d-3]-t.a[4]*i[d-4];if(t.negative)for(d=0,h=0;d<n;++d,h+=r)a[h]=o[d]+i[n-d-1];else for(d=0,h=0;d<n;++d,h+=r)a[h]=Math.max(0,o[d]+i[n-d-1]);return a}function eU(t,e,n,r,o,i,s,a,c,f,u,p=.5){let l=Math.abs(r)*n,h=r<0?l+r:0,d,m,g;for(m=0;m<=a;++m)for(f[m]=m<=i?o[m]:0,g=1;g<=a&&g<=m;++g)f[m]-=s[g]*f[m-g];for(g=0;g<a;++g)for(t[g]=0,m=1;m<=g;++m)d=h+r*m,d>=0&&d<l&&(t[g]+=f[g-m]*e[d]);let y=e[h],x=Math.ceil(u*10);for(m=0;m<x;++m){for(g=0;g<a;++g)t[g]+=f[g]*y;if(c-=Math.abs(f[0]),c<=p)break;for(f[a]=m+a<=i?o[m+a]:0,g=1;g<=a;++g)f[a]-=s[g]*f[a-g];for(g=0;g<a;++g)f[g]=f[g+1]}}var Br="density",zr=class extends Je{constructor(e,n,r){let{bandwidth:o=0,interpolate:i="none",pixelSize:s=1,pad:a=1,width:c,height:f,...u}=r,p=nU(u);super(e,n,u,B1),this.densityMap=p,this.bandwidth=he(o,l=>(this.bandwidth=l,this.grids?this.convolve().update():null)),this.interpolate=he(i,l=>(this.interpolate=l,this.requestUpdate())),this.pixelSize=he(s,l=>(this.pixelSize=l,this.requestUpdate())),this.pad=he(a,l=>(this.pad=l,this.requestUpdate())),this.width=he(c,l=>(this.width=l,this.requestUpdate())),this.height=he(f,l=>(this.height=l,this.requestUpdate()))}setPlot(e,n){let r=()=>{this.hasFieldInfo()&&this.requestUpdate()};e.addAttributeListener("xDomain",r),e.addAttributeListener("yDomain",r),super.setPlot(e,n)}get filterStable(){let e=this.plot.getAttribute("xDomain"),n=this.plot.getAttribute("yDomain");return e&&n&&!e[Ye]&&!n[Ye]}query(e=[]){let{interpolate:n,pad:r,channels:o,densityMap:i}=this,[s,a]=this.extentX=Lo(this,e),[c,f]=this.extentY=Oo(this,e),[u,p]=this.bins=this.binDimensions(),[l,h]=rr(this,"x",u,[s,a],r),[d,m]=rr(this,"y",p,[c,f],r),g=r?[gn(h,[+s,+a]),gn(m,[+c,+f])]:[Cr(+s,h),ue(h,+a),Cr(+c,m),ue(m,+f)],y=yt.from(this.sourceTable()).where(e.concat(g)),x=this.groupby=[],b={};for(let _ of o)if(Object.hasOwn(_,"field")){let{as:v,channel:A,field:E}=_;jn(E)?(b[A]=E,i[A]=!0):A==="weight"?b[Br]=zt(E):A!=="x"&&A!=="y"&&(y.select({[v]:E}),x.push(v))}let w=this.aggr=Object.keys(b);if(b.density&&w.length>1)throw new Error("Weight option can not be used with custom aggregates.");if(w.length||(w.push(Br),b[Br]=rn()),n==="linear"){if(w.length>1)throw new Error("Linear binning not applicable to multiple aggregates.");if(!b[Br])throw new Error("Linear binning not applicable to custom aggregates.");let _=_c(b[Br])[0];return Jb(y,l,d,_,u,x)}else return Zb(y,l,d,b,u,x)}binDimensions(){let{plot:e,pixelSize:n,width:r,height:o}=this;return[r??Math.round(e.innerWidth()/n),o??Math.round(e.innerHeight()/n)]}queryResult(e){let[n,r]=this.bins,o=rU(this.interpolate),{columns:i}=cr(e);return this.grids0=tC(n,r,i.index,i,this.aggr,this.groupby,o),this.convolve()}convolve(){let{aggr:e,bandwidth:n,bins:r,grids0:o,plot:i}=this;if(this.grids=o,n>0){let s=e.length===1?e[0]:e.includes(Br)?Br:null;if(!s)return console.warn("No compatible grid found for smoothing."),this;let a=o.columns[s],c=i.innerWidth(),f=i.innerHeight(),[u,p]=r,l=a.some(m=>m.some(g=>g<0)),h=Qh(n*(u-1)/c,l),d=Qh(n*(p-1)/f,l);this.grids={numRows:o.numRows,columns:{...o.columns,[s]:a.map(m=>nC(h,d,m,r))}}}return this}};function nU(t){let e={};for(let n in t)t[n]==="density"&&(delete t[n],e[n]=!0);return e}function rU(t="none"){if(typeof t=="function")return t;switch(t.toLowerCase()){case"none":case"linear":return;case"nearest":return Rh;case"barycentric":return kh();case"random-walk":return Lh()}throw new Error(`invalid interpolate: ${t}`)}var E3=class extends zr{constructor(e,n){let{thresholds:r=10,...o}=n;super("geo",e,{bandwidth:20,interpolate:"linear",pixelSize:2,...o}),this.thresholds=he(r,i=>(this.thresholds=i,this.grids?this.contours().update():null))}convolve(){return super.convolve().contours()}contours(){let{bins:e,densityMap:n,grids:r,thresholds:o,plot:i}=this,{numRows:s,columns:a}=r,c=o,f;if(Array.isArray(c))f=c;else{let[,S]=Hh(a.density);f=Array.from({length:c-1},(k,L)=>S*(L+1)/c)}(n.fill||n.stroke)&&this.plot.getAttribute("colorScale")!=="log"&&this.plot.setAttribute("colorZero",!0);let[u,p]=e,[l,h]=i.getAttribute("xDomain"),[d,m]=i.getAttribute("yDomain"),g=(h-l)/u,y=(m-d)/p,x=+l,b=+d,w=S=>x+S*g,_=S=>b+S*y,v=Zi().size(e),A=this.contourData=Array(s*f.length),{density:E,...T}=a,C=Object.entries(T);for(let S=0,k=0;S<s;++S){let L=E[S],M=C.reduce((I,[N,R])=>(I[N]=R[S],I),{});for(let I=0;I<f.length;++I,++k)A[k]=Object.assign(oU(v.contour(L,f[I]),w,_),M)}return this}plotSpecs(){let{type:e,channels:n,densityMap:r,contourData:o}=this,i={};for(let s of n){let{channel:a}=s;a!=="x"&&a!=="y"&&(i[a]=dn(s))}for(let s in r)r[s]&&(i[s]=dn({channel:s,as:"value"}));return[{type:e,data:o,options:i}]}};function oU(t,e,n){function r(s){s.forEach(o)}function o(s){s.forEach(i)}function i(s){s[0]=e(s[0]),s[1]=n(s[1])}return t.coordinates.forEach(r),t}function Zh(t){return Array.from({length:t},(e,n)=>n)}function Y1(t,e){let n=e.reduce((o,i,s)=>(o[i]=s,o),{}),r=Zh(t.length);return r.sort((o,i)=>n[t[o]]-n[t[i]]),r}function U1(t,e){if(typeof document<"u"){let n=document.createElement("canvas");return n.setAttribute("width",t),n.setAttribute("height",e),n}throw new Error("Can not create a canvas instance.")}function rC(t=1){let e=255*t|0;return(n,r,o)=>{for(let i=0,s=0;i<o;++i)for(let a=0;a<r;++a,s+=4)n[s+3]=e}}function oC(t){let{apply:e}=t;return(n,r,o,i)=>{for(let s=0,a=0;s<o;++s)for(let c=0,f=(o-s-1)*r;c<r;++c,a+=4)n[a+3]=255*e(i[c+f])|0}}function iC(t={}){let{r:e=0,g:n=0,b:r=0,opacity:o=1}=typeof t=="string"?Ee(t):t,i=new Uint8ClampedArray([e,n,r,255*o|0]);return(s,a,c)=>{for(let f=0,u=0;f<c;++f)for(let p=0;p<a;++p,u+=4)s[u+0]=i[0],s[u+1]=i[1],s[u+2]=i[2],s[u+3]=i[3]}}function sC(t){let{domain:e,range:n}=t,r=Object.create(null),o=new Uint8ClampedArray(4*e.length),i=e.length-1,s=n.length;for(let a=0;a<=i;++a){let c=n[a%s],{r:f,g:u,b:p,opacity:l=1}=typeof c=="string"?Ee(c):c,h=a<<2;o[h+0]=f,o[h+1]=u,o[h+2]=p,o[h+3]=255*l|0,r[e[a]]=h}return(a,c,f,u)=>{if(u.map)for(let p=0,l=0;p<f;++p)for(let h=0,d=(f-p-1)*c;h<c;++h,l+=4){let m=r[u[h+d]];a[l+0]=o[m+0],a[l+1]=o[m+1],a[l+2]=o[m+2],a[l+3]=o[m+3]}else{let p=r[u];for(let l=0,h=0;l<f;++l)for(let d=0;d<c;++d,h+=4)a[h+0]=o[p+0],a[h+1]=o[p+1],a[h+2]=o[p+2],a[h+3]=o[p+3]}}}function aC(t,e,n){let{interpolate:r}=e,o=new Uint8ClampedArray(4*t),i=t-1;for(let s=0;s<=i;++s){let a=r(s/i),{r:c,g:f,b:u,opacity:p=1}=typeof a=="string"?Ee(a):a,l=s<<2;o[l+0]=c,o[l+1]=f,o[l+2]=u,o[l+3]=255*p|0}return(s,a,c,f)=>{for(let u=0,p=0;u<c;++u)for(let l=0,h=(c-u-1)*a;l<a;++l,p+=4){let d=i*n(f[l+h])<<2;s[p+0]=o[d+0],s[p+1]=o[d+1],s[p+2]=o[d+2],s[p+3]=o[d+3]}}}var fu=class extends zr{constructor(e,n){super("image",e,n),this.image=null}setPlot(e,n){let r=()=>{this.hasFieldInfo()&&this.rasterize()};e.addAttributeListener("schemeColor",r),super.setPlot(e,n)}convolve(){return super.convolve().rasterize()}rasterize(){let{bins:e,grids:n}=this,[r,o]=e,{numRows:i,columns:s}=n,{canvas:a,ctx:c,img:f}=cU(this,r,o),{alpha:u,alphaProp:p,color:l,colorProp:h}=I3(this),d=s[p]??[],m=s[h]??[],g=i>1&&h&&this.groupby?.includes(h)?Y1(m,this.plot.getAttribute("colorDomain")):Zh(i);return this.data={numRows:i,columns:{src:Array.from({length:i},(y,x)=>(l?.(f.data,r,o,m[g[x]]),u?.(f.data,r,o,d[g[x]]),c.putImageData(f,0,0),a.toDataURL()))}},this}plotSpecs(){let{type:e,plot:n,data:{numRows:r,columns:o}}=this,i={src:o.src,width:n.innerWidth(),height:n.innerHeight(),preserveAspectRatio:"none",imageRendering:this.channel("imageRendering")?.value,frameAnchor:"middle"};return[{type:e,data:{length:r},options:i}]}},T3=class extends fu{constructor(e,n){super(e,{bandwidth:20,interpolate:"linear",pixelSize:2,...n})}};function I3(t){let{aggr:e,densityMap:n,groupby:r,plot:o}=t,i=e.includes(Br),s=e.includes("fillOpacity"),a=t.channel("fill"),c=t.channel("fillOpacity");if(e.length>2||i&&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 f=n.fill||e.includes("fill")?"grid":r.includes(a?.as)?"group":P1(a?.value)?a.value:i&&o.getAttribute("colorScheme")?"grid":void 0,u=n.fillOpacity||e.includes("fillOpacity")?"grid":typeof c?.value=="number"?c.value:i&&f!=="grid"?"grid":void 0;if(f!=="grid"&&u!=="grid")throw new Error("Raster mark missing density values.");let p=a?.as??(f==="grid"?Br:null),l=c?.as??(u==="grid"?Br:null),h=f!=="grid"&&f!=="group"?iC(f):sU(t,p),d=u!=="grid"?rC(u):iU(t,l);return{alphaProp:l,colorProp:p,alpha:d,color:h}}function iU(t,e){let{plot:n,grids:r}=t,o=n.getAttribute("opacityDomain"),i=o===Li,s=o?.[Ye],a=!i&&!s&&o||Hh(r.columns[e]);(i||s||!o)&&(i||(a[Ye]=!0),n.setAttribute("opacityDomain",a));let c=ys({opacity:{type:n.getAttribute("opacityScale"),domain:a,range:n.getAttribute("opacityRange"),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 oC(c)}function sU(t,e){let{plot:n,grids:r}=t,o=r.columns[e],i=!o[0]?.map,s=i||Array.isArray(o[0]),a=n.getAttribute("colorDomain"),c=a===Li,f=a?.[Ye],u=!c&&!f&&a||(i?o.slice().sort(dt):s?eC(o):Hh(o));(c||f||!a)&&(c||(u[Ye]=!0),n.setAttribute("colorDomain",u));let p=ys({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 sC(p);{let l=ys({x:{type:aU(p.type),domain:p.domain,reverse:p.reverse,range:[0,1],clamp:p.clamp,base:p.base,exponent:p.exponent,constant:p.constant}});return aC(1024,p,l.apply)}}function aU(t){return t.endsWith("symlog")?"symlog":t.endsWith("log")?"log":t.endsWith("pow")?"pow":t.endsWith("sqrt")?"sqrt":t==="diverging"?"linear":t}function cU(t,e,n){if(!t.image||t.image.w!==e||t.image.h!==n){let r=U1(e,n),o=r.getContext("2d",{willReadFrequently:!0}),i=o.getImageData(0,0,e,n);t.image={canvas:r,ctx:o,img:i,w:e,h:n}}return t.image}var C3=class extends fu{constructor(e,n){let{normalize:r=!0,...o}=n;super(e,o),this.normalize=he(r,i=>(this.normalize=i,this.requestUpdate()))}query(e=[]){let{channels:n,normalize:r,pad:o}=this,[i,s]=this.bins=this.binDimensions(),[a]=rr(this,"x",i,Lo(this,e),o),[c]=rr(this,"y",s,Oo(this,e),o),f=yt.from(this.sourceTable()).where(fU(this,e));this.aggr=["density"];let u=this.groupby=[],p=[];for(let l of n)if(Object.hasOwn(l,"field")){let{channel:h,field:d}=l;h==="z"?(f.select({[h]:d}),p.push("z")):h!=="x"&&h!=="y"&&(f.select({[h]:d}),u.push(h))}return t2(f,a,c,p,i,s,u,r)}};function fU(t,e){if(Array.isArray(e)&&!e.length)return e;let n=t.channelField("x").column,r=t.channelField("y").column,o=s=>{let a=`${s.expr}`;return s.type!=="BETWEEN"||a!==n&&a!==r},i=s=>s.op==="AND"?Dn(s.clauses.filter(a=>o(a))):s;return Array.isArray(e)?e.filter(s=>o(s)).map(s=>i(s)):i(e)}var N3=class extends Je{constructor(e,n,r){let{bins:o=1024,bandwidth:i=20,...s}=r,a=e.endsWith("X")?"y":"x";super(e,n,s,a==="x"?_3:M3),this.dim=a,this.bins=he(o,c=>(this.bins=c,this.requestUpdate())),this.bandwidth=he(i,c=>(this.bandwidth=c,this.grid?this.convolve().update():null))}get filterStable(){let e=this.dim==="x"?"xDomain":"yDomain",n=this.plot.getAttribute(e);return n&&!n[Ye]}query(e=[]){if(this.hasOwnData())throw new Error("Density1DMark requires a data source");let{bins:n,channels:r,dim:o}=this,i=this.extent=(o==="x"?Lo:Oo)(this,e),[s,a]=rr(this,o,n,i),c=Vh(r,this.sourceTable(),[o]).where(e.concat(gn(a,i))),f=this.channelField("weight")?"weight":null;return Kb(c,s,f)}queryResult(e){let{columns:{index:n,density:r}}=cr(e);return this.grid=JI(this.bins,n,r),this.convolve()}convolve(){let{bins:e,bandwidth:n,dim:r,grid:o,plot:i,extent:[s,a]}=this,c=o.some(b=>b<0),f=r==="x"?i.innerWidth():i.innerHeight(),u=Qh(n*(e-1)/f,c),p=z1(u,o,e),l=r==="x"?"y":"x",h=this.channelField(r).as,d=+s,m=(a-d)/(e-1),g=1/m,y=new Float64Array(e),x=new Float64Array(e);for(let b=0;b<e;++b)y[b]=d+b*m,x[b]=p[b]*g;return this.data={numRows:e,columns:{[h]:y,[l]:x}},this}plotSpecs(){let{type:e,data:{numRows:n,columns:r},channels:o,dim:i}=this,s=i==="x"?{y:r.y}:{x:r.x};for(let a of o)s[a.channel]=dn(a,r);return[{type:e,data:{length:n},options:s}]}};var k3=class extends zr{constructor(e,n){let{type:r="dot",...o}=n;super(r,e,{bandwidth:20,interpolate:"linear",pad:0,pixelSize:2,...o})}convolve(){super.convolve();let{bins:e,pad:n,extentX:r,extentY:o}=this,[i,s]=e,a=ec(this,"x"),c=ec(this,"y"),[f,u]=r.map(g=>a.apply(g)),[p,l]=o.map(g=>c.apply(g)),h=(u-f)/(i-n),d=(l-p)/(s-n),m=n?0:.5;return this.data=uU(this.grids,e,f,p,h,d,a.invert,c.invert,m),this}plotSpecs(){let{type:e,channels:n,densityMap:r,data:{numRows:o,columns:i}}=this,s={};for(let a of n){let{channel:c}=a;s[c]=c==="x"||c==="y"?i[c]:dn(a,i)}for(let a in r)r[a]&&(s[a]=i.density);return[{type:e,data:{length:o},options:s}]}};function uU(t,e,n,r,o,i,s,a,c){let f=1/(o*i),[u,p]=e,l=u*p,h=l*t.numRows,d=new Float64Array(h),m=new Float64Array(h),g=new Float64Array(h),y={x:d,y:m,density:g},{density:x,...b}=t.columns;for(let _ in b)y[_]=new b[_].constructor(h);let w=0;for(let _=0;_<t.numRows;++_){for(let A in b)y[A].fill(b[A][_],w,w+l);let v=x[_];for(let A=0,E=0;E<p;++E)for(let T=0;T<u;++T,++w,++A)d[w]=s(n+(T+c)*o),m[w]=a(r+(E+c)*i),g[w]=v[A]*f}return{numRows:h,columns:y}}function lU(t,e,n){var r=1e-8,o=e-1,i=n-1,s=0,a,c,f,u,p,l,h,d,m,g,y;if(t<=0)return 0;if(t>=1)return 1;for(e>=1&&n>=1?(f=t<.5?t:1-t,u=Math.sqrt(-2*Math.log(f)),h=(2.30753+u*.27061)/(1+u*(.99229+u*.04481))-u,t<.5&&(h=-h),d=(h*h-3)/6,m=2/(1/(2*e-1)+1/(2*n-1)),g=h*Math.sqrt(d+m)/m-(1/(2*n-1)-1/(2*e-1))*(d+5/6-2/(3*m)),h=e/(e+n*Math.exp(2*g))):(a=Math.log(e/(e+n)),c=Math.log(n/(e+n)),u=Math.exp(e*a)/e,p=Math.exp(n*c)/n,g=u+p,t<u/g?h=Math.pow(e*g*t,1/e):h=1-Math.pow(n*g*(1-t),1/n)),y=-uu(e)-uu(n)+uu(e+n);s<10;s++){if(h===0||h===1)return h;if(l=pU(h,e,n)-t,u=Math.exp(o*Math.log(h)+i*Math.log(1-h)+y),p=l/u,h-=u=p/(1-.5*Math.min(1,p*(o/h-i/(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 pU(t,e,n){var r=t===0||t===1?0:Math.exp(uu(e+n)-uu(e)-uu(n)+e*Math.log(t)+n*Math.log(1-t));return t<0||t>1?0:t<(e+1)/(e+n+2)?r*cC(t,e,n)/e:1-r*cC(1-t,n,e)/n}function cC(t,e,n){var r=1e-30,o=1,i=e+n,s=e+1,a=e-1,c=1,f=1-i*t/s,u,p,l,h;for(Math.abs(f)<r&&(f=r),f=1/f,h=f;o<=100&&(u=2*o,p=o*(n-o)*t/((a+u)*(e+u)),f=1+p*f,Math.abs(f)<r&&(f=r),c=1+p/c,Math.abs(c)<r&&(c=r),f=1/f,h*=f*c,p=-(e+o)*(i+o)*t/((e+u)*(s+u)),f=1+p*f,Math.abs(f)<r&&(f=r),c=1+p/c,Math.abs(c)<r&&(c=r),f=1/f,l=f*c,h*=l,!(Math.abs(l-1)<3e-7));o++);return h}function uu(t){var e=0,n=[76.18009172947146,-86.5053203294167,24.01409824083091,-1.231739572450155,.001208650973866179,-5395239384953e-18],r=1.000000000190015,o,i,s;for(s=(i=o=t)+5.5,s-=(o+.5)*Math.log(s);e<6;e++)r+=n[e]/++i;return Math.log(2.506628274631*r/o)-s}function fC(t,e){var n=lU(2*Math.min(t,1-t),.5*e,.5);return n=Math.sqrt(e*(1-n)/n),t>.5?n:-n}function uC(t){let e=-Math.log((1-t)*(1+t)),n;return e<6.25?(e-=3.125,n=-364441206401782e-35,n=-16850591381820166e-35+n*e,n=128584807152564e-32+n*e,n=11157877678025181e-33+n*e,n=-1333171662854621e-31+n*e,n=20972767875968562e-33+n*e,n=6637638134358324e-30+n*e,n=-4054566272975207e-29+n*e,n=-8151934197605472e-29+n*e,n=26335093153082323e-28+n*e,n=-12975133253453532e-27+n*e,n=-5415412054294628e-26+n*e,n=10512122733215323e-25+n*e,n=-4112633980346984e-24+n*e,n=-29070369957882005e-24+n*e,n=42347877827932404e-23+n*e,n=-13654692000834679e-22+n*e,n=-13882523362786469e-21+n*e,n=.00018673420803405714+n*e,n=-.000740702534166267+n*e,n=-.006033670871430149+n*e,n=.24015818242558962+n*e,n=1.6536545626831027+n*e):e<16?(e=Math.sqrt(e)-3.25,n=22137376921775787e-25,n=9075656193888539e-23+n*e,n=-27517406297064545e-23+n*e,n=18239629214389228e-24+n*e,n=15027403968909828e-22+n*e,n=-4013867526981546e-21+n*e,n=29234449089955446e-22+n*e,n=12475304481671779e-21+n*e,n=-47318229009055734e-21+n*e,n=6828485145957318e-20+n*e,n=24031110387097894e-21+n*e,n=-.0003550375203628475+n*e,n=.0009532893797373805+n*e,n=-.0016882755560235047+n*e,n=.002491442096107851+n*e,n=-.003751208507569241+n*e,n=.005370914553590064+n*e,n=1.0052589676941592+n*e,n=3.0838856104922208+n*e):Number.isFinite(e)?(e=Math.sqrt(e)-5,n=-27109920616438573e-27,n=-2555641816996525e-25+n*e,n=15076572693500548e-25+n*e,n=-3789465440126737e-24+n*e,n=761570120807834e-23+n*e,n=-1496002662714924e-23+n*e,n=2914795345090108e-23+n*e,n=-6771199775845234e-23+n*e,n=22900482228026655e-23+n*e,n=-99298272942317e-20+n*e,n=4526062597223154e-21+n*e,n=-1968177810553167e-20+n*e,n=7599527703001776e-20+n*e,n=-.00021503011930044477+n*e,n=-.00013871931833623122+n*e,n=1.0103004648645344+n*e,n=4.849906401408584+n*e):n=1/0,n*t}var R3=class extends Je{constructor(e,n,r){let o=e.endsWith("X")?"y":"x",{ci:i=.95,...s}=r;super(e,n,s),this.dim=o,this.field=this.channelField(o).field,this.channels=this.channels.filter(a=>a.channel!==o),this.ci=he(i,a=>(this.ci=a,this.update()))}query(e=[]){let{channels:n,field:r}=this,o=n.concat([{field:Rb(r),as:"__avg__"},{field:Lt(Pb(r),Uo(rn(r))),as:"__se__"}]);return Vh(o,this.sourceTable()).where(e)}queryResult(e){return this.data=cr(e),this}plotSpecs(){let{type:e,dim:n,detail:r,data:o,ci:i,channels:s}=this,a=Math.SQRT2*uC(i),{columns:{__avg__:c,__se__:f}}=o,u={[`${n}1`]:c.map((p,l)=>p-a*f[l]),[`${n}2`]:c.map((p,l)=>p+a*f[l])};return v3(e,r,s,o,u)}};var hU="geom",L3=class extends Je{constructor(e,n={},r){!q1(e)&&!n?.geometry&&(n.geometry=Gb(hU)),super("geo",e,n,r)}queryResult(e){super.queryResult(e);let n=this.channelField("geometry")?.as;if(n){let{columns:r}=this.data;typeof r[n][0]=="string"&&(r[n]=r[n].map(o=>JSON.parse(o)))}return this}};var O3=class extends Je{constructor(e,n){let{type:r="hexagon",binWidth:o=20,...i}=n;super(r,e,{r:o/2,clip:!0,...i},B1),this.binWidth=he(o,s=>(this.binWidth=s,this.requestUpdate()))}get filterStable(){let e=this.plot.getAttribute("xDomain"),n=this.plot.getAttribute("yDomain");return e&&n&&!e[Ye]&&!n[Ye]}query(e=[]){if(this.hasOwnData())return null;let{plot:n,binWidth:r,channels:o}=this,i,s,a=new Set,c={};for(let C of o)if(C.channel!=="orderby"){if(C.channel==="x")i=C;else if(C.channel==="y")s=C;else if(Object.hasOwn(C,"field")){let{as:S,field:k}=C;c[S]=k,jn(k)||a.add(S)}}let[f,u]=Lo(this,e),[p,l]=Oo(this,e),h=.5-n.getAttribute("marginLeft"),d=0-n.getAttribute("marginTop"),m=de(r),g=de(r*(1.5/Math.sqrt(3))),y=de(n.innerWidth()/(u-f)),x=de(n.innerHeight()/(l-p)),b="_x",w="_y",_="_px",v="_py",A="_pi",E="_pj",T="_tt";return yt.select({[i.as]:Nt(de(f),Lt(Nt(pt(Nt(b,pt(.5,nl(w,1))),m),h),y)),[s.as]:ut(de(l),Lt(Nt(pt(w,g),d),x)),...c}).groupby(b,w,...a).from(yt.select({[v]:Lt(ut(pt(x,ut(l,s.field)),d),g),[E]:Ht(jo(v)),[_]:ut(Lt(ut(pt(y,ut(i.field,f)),h),m),pt(.5,nl(E,1))),[A]:Ht(jo(_)),[T]:Dn(Hr(pt(ke(ut(v,E)),3),1),Hr(Nt(me(ut(_,A),2),me(ut(v,E),2)),Nt(me(ut(ut(_,A),pt(.5,Yo(ue(_,A),-1,1))),2),me(ut(ut(v,E),Yo(ue(v,E),-1,1)),2)))),[b]:Yo(T,Ht(Nt(Nt(A,Yo(ue(_,A),-.5,.5)),Yo(Xo(nl(E,1),0),.5,-.5))),A),[w]:Yo(T,Ht(Nt(E,Yo(ue(v,E),-1,1))),E)},"*").from(this.sourceTable()).where(Vr(i.field),Vr(s.field),e))}};var $3=class extends zr{constructor(e,n){let{origin:r=[0,0],dim:o="xy",...i}=n;super("image",e,i),this.image=null,this.origin=r,this.tileX=o.toLowerCase().includes("x"),this.tileY=o.toLowerCase().includes("y")}setPlot(e,n){let r=()=>{this.hasFieldInfo()&&this.rasterize()};e.addAttributeListener("schemeColor",r),super.setPlot(e,n)}requestQuery(){return this.requestTiles()}query(e=[]){return this._filter=e,null}tileQuery(e){let{interpolate:n,pad:r,channels:o,densityMap:i}=this,[[s,a],[c,f]]=e,[u,p]=this.bins,[l,h]=rr(this,"x",u,[s,a],r),[d,m]=rr(this,"y",p,[c,f],r),g=r?[gn(h,[+s,+a]),gn(m,[+c,+f])]:[Cr(+s,h),ue(h,+a),Cr(+c,m),ue(m,+f)],y=yt.from(this.sourceTable()).where(g),x=this.groupby=[],b={};for(let _ of o)if(Object.hasOwn(_,"field")){let{as:v,channel:A,field:E}=_;E.aggregate?(b[A]=E,i[A]=!0):A==="weight"?b.density=zt(E):A!=="x"&&A!=="y"&&(y.select({[v]:E}),x.push(v))}let w=this.aggr=Object.keys(b);if(b.density&&w.length>1)throw new Error("Weight option can not be used with custom aggregates.");if(w.length||(w.push("density"),b.density=rn()),n==="linear"){if(w.length>1)throw new Error("Linear binning not applicable to multiple aggregates.");if(!b.density)throw new Error("Linear binning not applicable to custom aggregates.");return xU(y,l,d,b.density,u,x)}else return yU(y,l,d,b,u,x)}async requestTiles(){let e=s2();this.prefetch&&e.cancel(this.prefetch);let{pad:n,tileX:r,tileY:o,origin:[i,s]}=this,[a,c]=this.bins=this.binDimensions(),[f,u]=Lo(this,this._filter),[p,l]=Oo(this,this._filter),h=u-f,d=l-p,m=Math.floor((f-i)*(a-n)/h),g=Math.floor((p-s)*(c-n)/d),y=(S,k)=>[[i+S*h,i+(S+1)*h],[s+k*d,s+(k+1)*d]],x=Math.floor((f-i)/h),b=r?lC((u-i)/h):x,w=Math.floor((p-s)/d),_=o?lC((l-s)/d):w,v=[];for(let S=x;S<=b;++S)for(let k=w;k<=_;++k)v.push([S,k]);let A=v.map(([S,k])=>e.query(this.tileQuery(y(S,k)))),E=[];if(r)for(let S=w;S<=_;++S)E.push([b+1,S]),E.push([x-1,S]);if(o){let S=r?x-1:x,k=r?b+1:b;for(let L=S;L<=k;++L)E.push([L,_+1]),E.push([L,w-1])}this.prefetch=E.map(([S,k])=>e.prefetch(this.tileQuery(y(S,k))));let T=await Promise.all(A),C=dU(a,c,m,g,v,T);this.grids0={numRows:C.length,columns:{density:[C]}},this.convolve().update()}convolve(){return super.convolve().rasterize()}rasterize(){let{bins:e,grids:n}=this,[r,o]=e,{numRows:i,columns:s}=n,{canvas:a,ctx:c,img:f}=gU(this,r,o),{alpha:u,alphaProp:p,color:l,colorProp:h}=I3(this),d=s[p]??[],m=s[h]??[],g=i>1&&h&&this.groupby?.includes(h)?Y1(m,this.plot.getAttribute("colorDomain")):Zh(i);return this.data={numRows:i,columns:{src:Array.from({length:i},(y,x)=>(l?.(f.data,r,o,m[g[x]]),u?.(f.data,r,o,d[g[x]]),c.putImageData(f,0,0),a.toDataURL()))}},this}plotSpecs(){let{type:e,plot:n,data:{numRows:r,columns:o}}=this,i={src:o.src,width:n.innerWidth(),height:n.innerHeight(),preserveAspectRatio:"none",imageRendering:this.channel("imageRendering")?.value,frameAnchor:"middle"};return[{type:e,data:{length:r},options:i}]}};function dU(t,e,n,r,o,i){let s=new Float64Array(t*e);return i.forEach((a,c)=>{let[f,u]=o[c],p=f*t-n,l=u*e-r;mU(t,e,s,a,p,l)}),s}function mU(t,e,n,r,o,i){let s=r.numRows;if(s===0)return;let a=r.getChild("index").toArray(),c=r.getChild("density").toArray();for(let f=0;f<s;++f){let u=a[f],p=o+u%t,l=i+Math.floor(u/t);0<=p&&p<t&&0<=l&&l<e&&(n[p+l*t]=c[f])}}function gU(t,e,n){if(!t.image||t.image.w!==e||t.image.h!==n){let r=U1(e,n),o=r.getContext("2d",{willReadFrequently:!0}),i=o.getImageData(0,0,e,n);t.image={canvas:r,ctx:o,img:i,w:e,h:n}}return t.image}function yU(t,e,n,r,o,i){return t.select({index:Ae`FLOOR(${e})::INTEGER + FLOOR(${n})::INTEGER * ${o}`,...r}).groupby("index",i)}function xU(t,e,n,r,o,i){let s=r.column?`* ${r.column}`:"",a=(l,h)=>t.clone().select({xp:e,yp:n,i:l,w:h}),c=a(Ae`FLOOR(xp)::INTEGER + FLOOR(yp)::INTEGER * ${o}`,Ae`(FLOOR(xp)::INTEGER + 1 - xp) * (FLOOR(yp)::INTEGER + 1 - yp)${s}`),f=a(Ae`FLOOR(xp)::INTEGER + (FLOOR(yp)::INTEGER + 1) * ${o}`,Ae`(FLOOR(xp)::INTEGER + 1 - xp) * (yp - FLOOR(yp)::INTEGER)${s}`),u=a(Ae`FLOOR(xp)::INTEGER + 1 + FLOOR(yp)::INTEGER * ${o}`,Ae`(xp - FLOOR(xp)::INTEGER) * (FLOOR(yp)::INTEGER + 1 - yp)${s}`),p=a(Ae`FLOOR(xp)::INTEGER + 1 + (FLOOR(yp)::INTEGER + 1) * ${o}`,Ae`(xp - FLOOR(xp)::INTEGER) * (yp - FLOOR(yp)::INTEGER)${s}`);return yt.from(yt.unionAll(c,f,u,p)).select({index:"i",density:zt("w")},i).groupby("index",i).having(Xo("density",0))}function lC(t){let e=Math.floor(t);return e===t?e-1:e}var F3=class extends Je{constructor(e,n){let{ci:r=.95,precision:o=4,...i}=n;super("line",e,i);let s=()=>this.modelFit?this.confidenceBand().update():null;this.ci=he(r,a=>(this.ci=a,s())),this.precision=he(o,a=>(this.precision=a,s()))}query(e=[]){let n=this.channelField("x").as,r=this.channelField("y").as,o=Array.from(new Set(["stroke","z","fx","fy"].flatMap(i=>this.channelField(i)?.as||[])));return yt.from(super.query(e)).select({intercept:Ob(r,n),slope:Fb(r,n),n:tl(r,n),ssy:Db(r,n),ssx:$b(r,n),xm:Ju(r,n),x0:de(Wr(n).where(Vr(r))),x1:de(Un(n).where(Vr(r)))}).select(o).groupby(o)}queryResult(e){return this.modelFit=cr(e),this.lineData=bU(this.modelFit),this.confidenceBand()}confidenceBand(){let{ci:e,modelFit:n,precision:r,plot:o}=this,i=o.innerWidth();return this.areaData=e?wU(n,e,r,i):null,this}plotSpecs(){let{lineData:e,areaData:n,channels:r,ci:o}=this,i=e.columns,s=o?n.columns:{},a={x:i.x,y:i.y},c={x:s.x,y1:s.y1,y2:s.y2,fillOpacity:.1};for(let f of r)switch(f.channel){case"x":case"y":case"fill":break;case"tip":c.tip=dn(f,s);break;case"stroke":a.stroke=dn(f,i),c.fill=dn(f,s);break;case"strokeOpacity":a.strokeOpacity=dn(f,i);break;case"fillOpacity":c.fillOpacity=dn(f,s);break;default:a[f.channel]=dn(f,i),c[f.channel]=dn(f,s);break}return[...o?[{type:"areaY",data:{length:n.numRows},options:c}]:[],{type:"line",data:{length:e.numRows},options:a}]}};function D3(t,e){if(t.concat)return t.concat(e);let n=new t.constructor(t.length+e.length);return n.set(t,0),n.set(e,t.length),n}function bU(t){let{x0:e=[],x1:n=[],xm:r,intercept:o,slope:i,n:s,ssx:a,ssy:c,...f}=t.columns,u=(h,d)=>o[d]+h*i[d],p=D3(e,n),l=D3(e.map(u),n.map(u));for(let h in f)f[h]=D3(f[h],f[h]);return{numRows:p.length,columns:{x:p,y:l,...f}}}function wU(t,e,n,r){let o=t.numRows,{x0:i,x1:s,xm:a,intercept:c,slope:f,n:u,ssx:p,ssy:l,...h}=t.columns,d=Object.keys(h),m={x:[],y1:[],y2:[]};d.forEach(g=>m[g]=[]);for(let g=0;g<o;++g){let y=n*(s[g]-i[g])/r,x=fC((1-e)/2,u[g]-2)*Math.sqrt(l[g]/(u[g]-2));le(i[g],s[g]-y/2,y).concat(s[g]).forEach(b=>{let w=c[g]+b*f[g],_=x*Math.sqrt(1/u[g]+(b-a[g])**2/p[g]);m.x.push(b),m.y1.push(w-_),m.y2.push(w+_),d.forEach(v=>m[v].push(h[v][g]))})}return{numRows:m.x.length,columns:m}}function lu(t){t.tagName==="a"&&(t=t.children[0]);let e=t.__data__;return Array.isArray(e)?e[0]:e}function pC(t){let e=t.toLowerCase(),n=t.length,r="";for(let o=0;o<n;++o)r+=(t[o]!==e[o]?"-":"")+e[o];return r}function Fs(t){let e={};for(let n in t)e[pC(n)]=t[n];return e}function vU(t){let{channels:e}=t,n=new Set,r=!1,o=!1;for(let i of e){let{channel:s,field:a,as:c}=i;if(s==="orderby")r=!0;else if(a)if(jn(a))o=!0;else{if(n.has(c))continue;n.add(c)}}return!r&&o&&n.size&&t.channels.push({channel:"orderby",value:Array.from(n)}),t}var P3=class{constructor(e,{selection:n,channels:r={}}){this.mark=vU(e),this.selection=n;let o=Object.entries(Fs(r));this.channels=o.length?o:[["opacity",.2]],this.selection.addEventListener("value",hu(()=>this.update()))}init(e){this.svg=e;let n=this.values=[],o=`g[data-index="${this.mark.index}"]`,i=`${o} > *:not(g), ${o} > g > *`,s=this.nodes=e.querySelectorAll(i),{channels:a}=this;for(let c=0;c<s.length;++c){let f=s[c];n.push(a.map(u=>f.getAttribute(u[0])))}return this.update()}async update(){let{svg:e,nodes:n,channels:r,values:o,mark:i,selection:s}=this;if(!e)return;let a=await _U(i,s);for(let c=0;c<n.length;++c){let f=n[c],u=o[c],p=a(lu(f));for(let l=0;l<r.length;++l){let[h,d]=r[l];f.setAttribute(h,p?u[l]:d)}}}};async function _U(t,e){let n=e?.predicate(t);if(!n||n.length===0)return()=>!0;let r=t.filterBy?.predicate(t,!0),o={__:Dn(n)},i=t.query(r);(i.queries||[i]).forEach(c=>{c._groupby.length?c.select(o):c.setSelect(o)});let s=await t.coordinator.query(i),a=s.getChild?.("__");return s.numRows||s.length?a?c=>a.at(c):c=>s[c].__:()=>!1}function j1(){let t=this,e=t.getScreenCTM,n;t.getScreenCTM=()=>t.isConnected?n=e.call(t):n}function q3(t){let e=t.on,n=!0;function r(o){n=!1,o(),n=!0}return t.reset=(...o)=>{r(()=>t.clear(...o))},t.moveSilent=(...o)=>{r(()=>t.move(...o))},t.on=(...o)=>{if(o.length>1&&o[1]){let i=o[1];o[1]=(...s)=>n&&i(...s)}return e(...o)},t}function X1(){return q3(Q2())}function hC(){return q3(V2())}function dC(){return q3(H2())}function W1(t,e,n,r,o){let i=At(e??t).append("g").attr("class",o),s=t.scale("fx"),a=t.scale("fy");if(s||a){let c=s?.domain.map(u=>s.apply(u)-n),f=a?.domain.map(u=>a.apply(u)-r);if(c&&f)for(let u=0;u<c.length;++u)for(let p=0;p<f.length;++p)i.append("g").attr("transform",`translate(${c[u]}, ${f[p]})`);else if(c)for(let u=0;u<c.length;++u)i.append("g").attr("transform",`translate(${c[u]}, 0})`);else if(f)for(let u=0;u<f.length;++u)i.append("g").attr("transform",`translate(0, ${f[u]})`);i=i.selectAll("g")}return i.each(j1)}function Kh(t,e){return t===e||t&&e&&Math.abs(t[0]-e[0])<1e-12&&Math.abs(t[1]-e[1])<1e-12||!1}function mC(t){if(en(t)){if(t.type==="COLUMN_REF")return t.column;if(t.type==="AGGREGATE")return t.args[0]??t}return t}function $o(t,e){return mC(t.channelField(e)?.field)}function gC(t,e){let n=[],r=[];return e.forEach(o=>{let i=o==="color"?["color","fill","stroke"]:o==="x"?["x","x1","x2"]:o==="y"?["y","y1","y2"]:[o];for(let s=0;s<i.length;++s){let a=t.channelField(i[s],{exact:!0});if(a){n.push(mC(a.field)),r.push(a.as);return}}throw new Error(`Missing channel: ${o}`)}),{fields:n,as:r}}function Jh(t,e,n=1){return e.invert(n*Math.floor(t/n))}var td=class{constructor(e,{channel:n,selection:r,field:o=void 0,pixelSize:i=1,peers:s=!0,brush:a}){this.mark=e,this.channel=n,this.pixelSize=i||1,this.selection=r,this.peers=s,this.field=o||$o(e,n),this.style=a&&Fs(a),this.brush=n==="y"?dC():hC(),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(e){let n;e&&(n=e.map(r=>Jh(r,this.scale,this.pixelSize)).sort((r,o)=>r-o)),Kh(n,this.value)||(this.value=n,this.g.call(this.brush.moveSilent,e),this.selection.update(this.clause(n)))}clause(e){let{mark:n,pixelSize:r,field:o,scale:i}=this;return al(o,e,{source:this,clients:this.peers?n.plot.markSet:new Set().add(n),scale:i,pixelSize:r})}init(e,n){let{brush:r,channel:o,style:i}=this;this.scale=e.scale(o);let s=this.value?.map(this.scale.apply).sort(dt),a=e.scale("x").range,c=e.scale("y").range;if(r.extent([[St(a),St(c)],[It(a),It(c)]]),this.g=W1(e,n,St(a),St(c),`interval-${o}`).call(r).call(r.moveSilent,s),i){let f=this.g.selectAll("rect.selection");for(let u in i)f.attr(u,i[u])}e.addEventListener("pointerenter",f=>{f.buttons||this.activate()})}};var B3=class{constructor(e,{selection:n,xfield:r,yfield:o,pixelSize:i=1,peers:s=!0,brush:a}){this.mark=e,this.pixelSize=i||1,this.selection=n,this.peers=s,this.xfield=r||$o(e,"x"),this.yfield=o||$o(e,"y"),this.style=a&&Fs(a),this.brush=X1(),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(e){let{value:n,pixelSize:r,xscale:o,yscale:i}=this,s,a;if(e){let[c,f]=e;s=[c[0],f[0]].map(u=>Jh(u,o,r)).sort(dt),a=[c[1],f[1]].map(u=>Jh(u,i,r)).sort(dt)}(!Kh(s,n?.[0])||!Kh(a,n?.[1]))&&(this.value=e?[s,a]:void 0,this.g.call(this.brush.moveSilent,e),this.selection.update(this.clause(this.value)))}clause(e){let{mark:n,pixelSize:r,xfield:o,yfield:i,xscale:s,yscale:a}=this;return u2([o,i],e,{source:this,clients:this.peers?n.plot.markSet:new Set().add(n),scales:[s,a],pixelSize:r})}init(e){let{brush:n,style:r,value:o}=this,i=this.xscale=e.scale("x"),s=this.yscale=e.scale("y"),a=i.range,c=s.range;if(n.extent([[St(a),St(c)],[It(a),It(c)]]),this.g=W1(e,null,St(a),St(c),"interval-xy").call(n),r){let f=this.g.selectAll("rect.selection");for(let u in r)f.attr(u,r[u])}if(o){let[f,u]=o[0].map(i.apply).sort(dt),[p,l]=o[1].map(s.apply).sort(dt);this.g.call(n.moveSilent,[[f,p],[u,l]])}e.addEventListener("pointerenter",f=>{f.buttons||this.activate()})}};var z3=class{constructor(e,{selection:n,pointer:r,channels:o,fields:i,maxRadius:s=40}){this.mark=e,this.selection=n,this.clients=new Set().add(e),this.pointer=r,this.channels=o||(r==="x"?["x"]:r==="y"?["y"]:["x","y"]),this.fields=i||this.channels.map(a=>$o(e,[a])),this.maxRadius=s,this.valueIndex=-1}clause(e){let{clients:n,fields:r}=this,o={source:this,clients:n};return r.length>1?ea(r,e&&[e],o):f2(r[0],e?.[0],o)}init(e){let n=this,{mark:r,channels:o,selection:i,maxRadius:s}=this,{data:{columns:a}}=r,c=o.map(m=>r.channelField(m).as),f=!c2(i),[u,p]=MU(e,r),l=this.pointer==="y"?.01:1,h=this.pointer==="x"?.01:1,d=At(e);d.on("pointerenter pointerdown pointermove",function(m){let[g,y]=on(m,this),x=SU(u,p,g,y,l,h,s);if(x!==this.valueIndex){this.valueIndex=x;let b=x<0?void 0:c.map(w=>a[w][x]);i.update(f?!b||b.length>1?b:b[0]:n.clause(b))}}),!f&&(d.on("pointerleave",()=>{i.update(n.clause(void 0))}),e.addEventListener("pointerenter",m=>{if(!m.buttons){let g=this.channels.map(()=>0);i.activate(this.clause(g))}}))}};function MU(t,e){let{data:{columns:n}}=e,r=p=>n[e.channelField(p)?.as],o=p=>t.scale(p),i=t.scale("x"),s=t.scale("y"),a=o("fx")?.apply,c=o("fy")?.apply,f=Array.from(r("x"),i.apply),u=Array.from(r("y"),s.apply);if(a){let p=St(i.range),l=r("fx");for(let h=0;h<l.length;++h)f[h]+=a(l[h])-p}if(c){let p=St(s.range),l=r("fy");for(let h=0;h<l.length;++h)u[h]+=c(l[h])-p}return[f,u]}function SU(t,e,n,r,o,i,s){let a=s*s,c=-1;for(let f=0;f<t.length;++f){let u=o*(t[f]-n),p=i*(e[f]-r),l=u*u+p*p;l<=a&&(a=l,c=f)}return c}var yC=(t,e)=>t-e,U3=class{constructor(e,{x:n=new Yi,y:r=new Yi,xfield:o,yfield:i,zoom:s=!0,panx:a=!0,pany:c=!0}){this.mark=e,this.xsel=n,this.ysel=r,this.xfield=o||$o(e,"x"),this.yfield=i||$o(e,"y"),this.zoom=Y3(s,[0,1/0],[1,1]),this.panx=this.xsel&&a,this.pany=this.ysel&&c;let{plot:f}=e;a&&this.xsel.addEventListener("value",u=>{f.setAttribute("xDomain",u)&&f.update()}),c&&this.ysel.addEventListener("value",u=>{f.setAttribute("yDomain",u)&&f.update()})}publish(e){if(this.panx){let n=AU(e,this.xscale);this.xsel.update(this.clause(n,this.xfield,this.xscale))}if(this.pany){let n=EU(e,this.yscale);this.ysel.update(this.clause(n,this.yfield,this.yscale))}}clause(e,n,r){return al(n,e,{source:this,clients:this.mark.plot.markSet,scale:r})}init(e){if(this.svg=e,this.initialized)return;this.initialized=!0;let{panx:n,pany:r,mark:{plot:{element:o}},xsel:i,ysel:s}=this;this.xscale=e.scale("x"),this.yscale=e.scale("y");let a=this.xscale.range.slice().sort(yC),c=this.yscale.range.slice().sort(yC),f=Y3(n,[-1/0,1/0],a),u=Y3(r,[-1/0,1/0],c),p=h_().extent([[a[0],c[0]],[a[1],c[1]]]).scaleExtent(this.zoom).translateExtent([[f[0],u[0]],[f[1],u[1]]]).on("start",()=>{this.xscale=this.svg.scale("x"),this.yscale=this.svg.scale("y")}).on("end",()=>o.__zoom=new Qn(1,0,0)).on("zoom",({transform:l})=>this.publish(l));if(At(o).call(p),n||r){let l=!1;o.addEventListener("pointerenter",h=>{if(!l&&(l=!0,!h.buttons)){if(n){let{xscale:d,xfield:m}=this;i.activate(this.clause(d.domain,m,d))}if(r){let{yscale:d,yfield:m}=this;s.activate(this.clause(d.domain,m,d))}}}),o.addEventListener("pointerleave",()=>l=!1)}}};function Y3(t,e,n){return t?Array.isArray(t)?t:e:n}function AU(t,e){return e.range.map(t.invertX,t).map(e.invert,e)}function EU(t,e){return e.range.map(t.invertY,t).map(e.invert,e)}var TU={m:2,l:2,h:1,v:1,z:0,c:6,s:4,q:4,t:2,a:7},IU=/[mlhvzcsqta]([^mlhvzcsqta]+|$)/gi,CU=/^[+-]?(([0-9]*\.[0-9]+)|([0-9]+\.)|([0-9]+))([eE][+-]?[0-9]+)?/,NU=/^((\s+,?\s*)|(,\s*))/,kU=/^[01]/,xC=t=>`Invalid SVG path, incorrect parameter ${t}`;function bC(t){let e=[];return(t.match(IU)||[]).forEach(r=>{let o=r[0],i=o.toLowerCase(),s=TU[i],a=RU(i,s,r.slice(1).trim()),c=a.length;if(c<s||c&&c%s!==0)throw new Error(xC("count"));if(e.push([o,...a.slice(0,s)]),c!==s){i==="m"&&(o=o==="M"?"L":"l");for(let f=s;f<c;f+=s)e.push([o,...a.slice(f,f+s)])}}),e}function RU(t,e,n){let r=[];for(let o=0;e&&o<n.length;)for(let i=0;i<e;++i){let s=t==="a"&&(i===3||i===4)?kU:CU,a=n.slice(o).match(s);if(a===null)throw new Error(xC("type"));o+=a[0].length,r.push(+a[0]);let c=n.slice(o).match(NU);c!==null&&(o+=c[0].length)}return r}function SC(t,e,n){let{x:r,y:o}=t.getBoundingClientRect(),i=t.createSVGMatrix(),s=[];for(let a of e.children)if(a.tagName==="g"){let c=AC(a)??i;for(let f of a.children)wC(n,r,o,f,c)&&s.push(f)}else wC(n,r,o,a,i)&&s.push(a);return s}function wC(t,e,n,r,o){let[[i,s],[a,c]]=t,{e:f,f:u}=o,p=r.getBoundingClientRect(),l=p.left-e,h=p.right-e,d=p.top-n,m=p.bottom-n;if(l>=i&&h<=a&&d>=s&&m<=c)return!0;if(l<=a&&h>=i&&d<=c&&m>=s){let g=r.tagName;if(g==="a"&&(r=r.children[0],g=r.tagName),g==="rect"||g==="text"||g==="image")return!0;switch(i-=f,s-=u,a-=f,c-=u,g){case"circle":return EC(i,s,a,c,nc(r.cx),nc(r.cy),nc(r.r));case"line":return TC(i,s,a,c,nc(r.x1),nc(r.y1),nc(r.x2),nc(r.y2));case"path":return LU(i,s,a,c,r)}}return!1}function nc(t){return t.baseVal.value}function AC(t){let e=t.transform.baseVal,n=e.length,r=e[0]?.matrix;for(let o=1;o<n;++o)r=r.multiply(e[o].matrix);return r}function EC(t,e,n,r,o,i,s){let a=t<=o&&o<=n,c=e<=i&&i<=r;if(a&&c)return!0;let f=Math.min(Math.abs(t-o),Math.abs(n-o));if(c&&f<=s)return!0;let u=Math.min(Math.abs(e-i),Math.abs(r-i));return a&&u<=s||f*f+u*u<=s*s}function TC(t,e,n,r,o,i,s,a){let c=Math.max(Math.min(o,s),t),f=Math.min(Math.max(o,s),n);if(c>f)return!1;let u=i,p=a,l=s-o;if(Math.abs(l)>1e-8){let m=(a-i)/l,g=i-m*o;u=m*c+g,p=m*f+g}let h=Math.max(Math.min(u,p),e),d=Math.min(Math.max(u,p),r);return h<=d}function LU(t,e,n,r,o){let i=o.__path__||(o.__path__=bC(o.getAttribute("d"))),s=0,a=0,c=0,f=0,u=!1,p=[0,0],l=2,h=AC(o),d=(x,b)=>{p.length=l=2,p[0]=c=s=x,p[1]=f=a=b},m=h?(x,b)=>d(vC(h,x,b),_C(h,x,b)):(x,b)=>d(x,b),g=(x,b)=>(p[l]=x,p[l+1]=b,l+=2,TC(t,e,n,r,p[l-4],p[l-3],x,b)),y=h?(x,b)=>{u=g(vC(h,c=x,f=b),_C(h,x,b))}:(x,b)=>{u=g(c=x,f=b)};for(let x=0;x<i.length;++x){let b=i[x];switch(b[0]){case"M":m(b[1],b[2]);break;case"m":m(c+b[1],f+b[2]);break;case"L":case"T":y(b[1],b[2]);break;case"H":y(b[1],f);break;case"V":y(c,b[1]);break;case"l":case"t":y(c+b[1],f+b[2]);break;case"h":y(c+b[1],f);break;case"v":y(c,f+b[1]);break;case"C":y(b[5],b[6]);break;case"c":y(c+b[5],f+b[6]);break;case"S":case"Q":y(b[3],b[4]);break;case"s":case"q":y(c+b[3],f+b[4]);break;case"A":y(b[6],b[7]);break;case"a":if(OU(i,x))return EC(t,e,n,r,c,f-b[2],b[2]);y(c+b[6],c+b[7]);break;case"z":case"Z":if(y(s,a),$U(t,e,p)>0)return!0;m(s,a);break;default:return console.warn("SVG path command not supported: ",b[0]),!1}if(u)return!0}return!1}function vC(t,e,n){return t.a*e+t.c*n+t.e}function _C(t,e,n){return t.b*e+t.d*n+t.f}function OU(t,e){let n=t[e],r=t[e+1];return r&&r[0]==="a"&&t[e+2]?.[0]==="z"&&n[1]===n[2]&&r[1]===r[2]&&n[1]===r[1]&&n[7]===-r[7]}function $U(t,e,n){let r=0,o=n.length-2;for(let i=0;i<o;i+=2)n[i+1]<=e?n[i+3]>e&&MC(t,e,n,i)>0&&++r:n[i+3]<=e&&MC(t,e,n[i])<0&&--r;return r}function MC(t,e,n,r){return(n[r+2]-n[r])*(e-n[r+1])-(t-n[r])*(n[r+3]-n[r+1])}function G1(t,e){return t==null||e==null?t!=null||e!=null:t.length!==e.length||t.some((n,r)=>V1(n,e[r]))}function V1(t,e){let n=t.length;if(e.length!==n)return!0;for(let r=0;r<n;++r)if(t[r]!==e[r])return!0;return!1}var j3=class{constructor(e,{channels:n,selection:r,peers:o=!0,brush:i={fill:"none",stroke:"currentColor",strokeDasharray:"1,1"}}){this.mark=e,this.selection=r,this.peers=o,this.style=i&&Fs(i),this.brush=X1(),this.brush.on("brush end",c=>this.publish(c.selection)),this.extent=null,this.groups=null;let{fields:s,as:a}=gC(e,n);this.fields=s,this.as=a}reset(){this.value=void 0,this.extent=null,this.g&&this.brush.reset(this.g)}activate(){this.selection.activate(this.clause([this.fields.map(()=>0)]))}clause(e){let{fields:n,mark:r}=this;return ea(n,e,{source:this,clients:this.peers?r.plot.markSet:new Set().add(r)})}publish(e){let{as:n,group:r,mark:o,svg:i}=this,s;if(e){let{data:{columns:a={}}={}}=o,c=new Map;SC(i,r,e).forEach(f=>{let u=lu(f),p=n.map(l=>a[l][u]);c.set(p.join("|"),p)}),s=Array.from(c.values())}this.extent=e,G1(s,this.value)&&(this.value=s,this.selection.update(this.clause(s)))}init(e){let{brush:n,extent:r,mark:o,style:i}=this;this.svg=e;let s=e.width.baseVal.value,a=e.height.baseVal.value;if(n.extent([[0,0],[s,a]]),this.group=e.querySelector(`[data-index="${o.index}"]`),this.g=At(e).append("g").attr("class","region-xy").each(j1).call(n).call(n.moveSilent,r),i){let c=this.g.selectAll("rect.selection");for(let f in i)c.attr(f,i[f])}e.addEventListener("pointerenter",c=>{c.buttons||this.activate()})}};var ed=class{constructor(e,{selection:n,channels:r,peers:o=!0}){this.value=null,this.mark=e,this.selection=n,this.peers=o;let i=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 f=0;f<c.length;++f){let u=e.channelField(c[f],{exact:!0});if(u){i.push(u.field?.basis||u.field),s.push(u.as);return}}throw new Error(`Missing channel: ${a}`)})}clause(e){let{fields:n,mark:r}=this;return ea(n,e,{source:this,clients:this.peers?r.plot.markSet:new Set().add(r)})}init(e,n,r){let{mark:o,as:i,selection:s}=this,{data:{columns:a={}}={}}=o;r??=f=>i.map(u=>a[u][lu(f)]),n??=`[data-index="${o.index}"]`;let c=Array.from(e.querySelectorAll(n));e.addEventListener("pointerdown",f=>{let u=s.single?s.value:this.value,p=f.target,l=null;if(DU(c,p)){let h=r(p);(f.shiftKey||f.metaKey)&&u?.length?(l=u.filter(d=>V1(d,h)),l.length===u.length&&l.push(h)):u?.length===1&&!V1(u[0],h)?l=null:l=[h]}this.value=l,G1(u,l)&&s.update(this.clause(l))}),e.addEventListener("pointerenter",f=>{f.buttons||this.selection.activate(this.clause([this.fields.map(()=>0)]))})}};function DU(t,e){return t.some(n=>n.contains(e))}var CC=":scope > div, :scope > span",H1="swatch",IC="ramp",X3=class{constructor(e,n){let{as:r,field:o,...i}=n;this.channel=e,this.options=i,this.type=null,this.handler=null,this.selection=r,this.field=o,this.legend=null,this.element=document.createElement("div"),this.element.setAttribute("class","legend"),Object.defineProperty(this.element,"value",{value:this})}setPlot(e){this.plot=e}init(e){let n=FU(this,e);return this.element.replaceChildren(n),this.element}update(){if(!this.legend)return;let{selection:e,handler:n}=this,{single:r,value:o}=e,i=r?o:e.valueFor(n),s=i&&i.length?new Set(i.map(c=>c[0])):null,a=this.legend.querySelectorAll(CC);for(let c of a){let f=s?s.has(c.__data__):!0;c.style.opacity=f?1:.2}}};function FU(t,e){let{channel:n,plot:r,selection:o}=t,i=e.scale(n),s=i.type==="ordinal"?H1:IC,a={label:r.getAttribute(`${n}Label`)??null,...t.options},c=s===H1?a:a.label?{tickSize:2,...a}:{tickSize:2,marginTop:1,height:29,...a},f=e.legend(n,c);t.legend=f;let u=!!o;if(u&&s===IC){let p=c.width??240,l=zU(i,p);l?f.scale=function(h){return h==="x"?{range:[0,p]}:h==="y"?{range:[-10,0]}:h===n?l:void 0}:u=!1}if(u){let p=PU(t,s);s===H1?(p.init(f,CC,l=>[l.__data__]),t.update()):p.init(f,f.querySelector("g:last-of-type"))}return f}function PU(t,e){let{channel:n,handler:r,selection:o}=t;if(r)return r;let i=qU(t);return e===H1?(t.handler=new ed(i,{selection:o,channels:[n],peers:!1}),o.addEventListener("value",()=>t.update())):t.handler=new td(i,{selection:o,channel:n,brush:{fill:"none",stroke:"currentColor"},peers:!1}),t.handler}function qU(t){let{channel:e,plot:n}=t,r=t.field??BU(n.marks,e)??"value";if(r){let o={field:r};return{plot:n,channelField:i=>e===i?o:void 0}}}function BU(t,e){let n=e==="color"?["fill","stroke"]:e==="opacity"?["opacity","fillOpacity","strokeOpacity"]:null;if(n==null)return null;for(let r=t.length-1;r>-1;--r)for(let o of n){let i=t[r].channelField(o,{exact:!0});if(i)return i.field}return null}function zU(t,e){let{apply:n,invert:r,interpolate:o,...i}=t,s=t.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 ys({x:{...i,type:a,range:[0,e]}})}function Q1(t,e,n=0,r=Math.LN10){let o,i=Math.ceil(Math.log(e)/r),s=Math.max(n,Math.pow(10,Math.round(Math.log(t)/r)-i));for(;Math.ceil(t/s)>e;)s*=10;let a=[5,2];for(let c=0,f=a.length;c<f;++c)o=s/a[c],o>=n&&t/o<=e&&(s=o);return s}function NC(t,e,n){let{step:r,steps:o,minstep:i=0,nice:s=!0}=n;if(s!==!1){let a=e-t,c=Math.LN10;r=r||Q1(a,o||25,i,c);let f=Math.log(r),u=f>=0?0:~~(-f/c)+1,p=Math.pow(10,-u-1);f=Math.floor(t/r+p)*r,t=t<f?f-r:f,e=Math.ceil(e/r)*r,o=Math.round((e-t)/r)}return{min:t,max:e,steps:o}}var OC="year",kC="month",RC="day",Z1="hour",K1="minute",J1="second",YU="millisecond",rd=1e3,od=rd*60,id=od*60,tb=id*24,UU=tb*7,LC=tb*30,$C=tb*365,nd=[[J1,1,rd],[J1,5,5*rd],[J1,15,15*rd],[J1,30,30*rd],[K1,1,od],[K1,5,5*od],[K1,15,15*od],[K1,30,30*od],[Z1,1,id],[Z1,3,3*id],[Z1,6,6*id],[Z1,12,12*id],[RC,1,tb],[RC,7,UU],[kC,1,LC],[kC,3,3*LC],[OC,1,$C]];function DC(t,e,n){let r=e-t,o=r/n,i=Nr(s=>s[2]).right(nd,o);return i===nd.length?{interval:OC,step:Q1(r/$C,n)}:i?(i=nd[o/nd[i-1][2]<nd[i][2]/o?i-1:i],{interval:i[0],step:i[1]}):{interval:YU,step:Q1(r,n,1)}}var jU=new Set(["rectY-x","rectX-y","rect-x","rect-y","ruleY-x","ruleX-y"]);function XU(t,e){return jU.has(`${t.type}-${e}`)}function WU(t,e={}){let n=(r,o)=>XU(r,o)?{[`${o}1`]:W3(r,o,t,e),[`${o}2`]:W3(r,o,t,{...e,offset:1})}:{[o]:W3(r,o,t,e)};return n[pu]=!0,n}function W3(t,e,n,r){return new G3(n,t,e,r)}function GU(t,e){let n=t.plot.getAttribute(`${e}Scale`);return n==="utc"||n==="time"}var G3=class extends xt{constructor(e,n,r,o){super("COLUMN_REF"),this.column=e,this.mark=n,this.channel=r,this.options=o}get stats(){return{column:this.column,stats:["min","max"]}}toString(){let{mark:e,channel:n,column:r,options:o}=this,{type:i,min:s,max:a}=e.channelField(n),{interval:c,steps:f,offset:u=0}=o,p=c??(i==="date"||GU(e,n)?"date":"number"),l;if(p==="number"){let{apply:h,sqlApply:d,sqlInvert:m}=ec(e,n),g=NC(h(s),h(a),o),y=d(r),x=de((g.max-g.min)/g.steps),b=Re(Lt(g.min===0?y:ut(y,g.min),x)),w=Nt(g.min,pt(x,u?Nt(u,b):b));l=m(w)}else{let{interval:h,step:d=1}=p==="date"?DC(s,a,f||40):o,m=zb(r,h,d);l=u?Nt(m,Im(h,u*d)):m}return`${l}`}};export{A3 as ConnectedMark,E3 as ContourMark,C3 as DenseLineMark,N3 as Density1DMark,k3 as Density2DMark,R3 as ErrorBarMark,Li as Fixed,L3 as GeoMark,zr as Grid2DMark,T3 as HeatmapMark,O3 as HexbinMark,P3 as Highlight,td as Interval1D,B3 as Interval2D,X3 as Legend,Je as Mark,z3 as Nearest,U3 as PanZoom,x3 as Plot,fu as RasterMark,$3 as RasterTileMark,j3 as Region,F3 as RegressionMark,ed as Toggle,pu as Transform,Ye as Transient,WU as bin};