orbcharts 3.0.12 → 4.0.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,194 +1,11 @@
1
- (function(I,nr){typeof exports=="object"&&typeof module<"u"?nr(exports):typeof define=="function"&&define.amd?define(["exports"],nr):(I=typeof globalThis<"u"?globalThis:I||self,nr(I.orbcharts={}))})(this,function(I){"use strict";const nr={width:"auto",height:"auto"},_f={top:60,right:60,bottom:60,left:60},Af={padding:_f,highlightTarget:"datum",highlightDefault:null,colorScheme:"light",colors:{light:{label:["#0088FF","#FF3232","#38BEA8","#6F3BD5","#314285","#42C724","#D52580","#F4721B","#D117EA","#7E7D7D"],primary:"#000000",secondary:"#e0e0e0",labelContrast:["#ffffff","#000000"],background:"#ffffff"},dark:{label:["#4BABFF","#FF6C6C","#7DD3C4","#8E6BC9","#5366AC","#86DC72","#FF72BB","#F9B052","#EF76FF","#C4C4C4"],primary:"#ffffff",secondary:"#e0e0e0",labelContrast:["#ffffff","#000000"],background:"#000000"}},styles:{textSize:"0.875rem",unhighlightedOpacity:.3},transitionDuration:800,transitionEase:"easeCubic"},h0=800,p0=500,qP=[],ZP=[],JP=[],KP=[],QP=[],tF={nodes:[],edges:[]},$e={position:"left",scaleDomain:["auto","auto"],scaleRange:[0,.9],label:""},m0={position:"bottom",scaleDomain:[0,"max"],scalePadding:.5,label:""},Cf={scaleDomain:["auto","auto"],scaleRange:[0,.9],label:"",valueIndex:0},Wi={columnAmount:1,rowAmount:1,columnGap:"auto",rowGap:"auto"},Pf={type:"series",visibleFilter:(t,e)=>!0,sort:null,seriesLabels:[],container:{...Wi},separateSeries:!1,separateLabel:!1,sumSeries:!1};Pf.visibleFilter.toString=()=>"(datum, context) => true";const Ff={seriesDirection:"row",rowLabels:[],columnLabels:[],valueAxis:{...$e},groupAxis:{...m0},separateSeries:!1},Tf={type:"grid",visibleFilter:(t,e)=>!0,...Ff,container:{...Wi}};Tf.visibleFilter.toString=()=>"(datum, context) => true";const Xi={...Ff},wf={type:"multiGrid",visibleFilter:(t,e)=>!0,gridList:[{...Xi}],separateGrid:!1,container:{...Wi}};wf.visibleFilter.toString=()=>"(datum, context) => true";const Bf={type:"multiValue",visibleFilter:(t,e)=>!0,categoryLabels:[],valueLabels:[],xAxis:{...Cf,valueIndex:0},yAxis:{...Cf,valueIndex:1},container:{...Wi},separateCategory:!1};Bf.visibleFilter.toString=()=>"(datum, context) => true";const Ef={type:"tree",visibleFilter:(t,e)=>!0,categoryLabels:[]};Ef.visibleFilter.toString=()=>"(datum, context) => true";const Lf={type:"relationship",visibleFilter:(t,e)=>!0,categoryLabels:[]};Lf.visibleFilter.toString=()=>"(datum, context) => true";function ie(t){return Object.prototype.toString.call(t)==="[object Object]"}function g0(t){return Object.prototype.toString.call(t)==="[object Function]"}function y0(t){return!!(t&&t.nodeType)}function rr(t,e){if(ie(t)===!1||ie(e)===!1)return Object.assign({},e);const n=(r,a)=>{const i=Object.assign({},a);for(let o of Object.keys(r)){if(!(o in a))continue;let l;ie(r[o])&&ie(a[o])?(l=n(r[o],a[o]),i[o]=l):i[o]=r[o]}return i};return n(t,e)}function eF(t=0){try{let e=t.toString().split(".");return e[0]=e[0].replace(/\B(?=(\d{3})+(?!\d))/g,","),e.join(".")}catch(e){console.error(e)}}function nF(t,e){const n={string:a=>typeof a=="string",number:a=>typeof a=="number",boolean:a=>typeof a=="boolean",object:a=>ie(a),"object[]":a=>Array.isArray(a)&&a.every(i=>ie(i)),"string[]":a=>Array.isArray(a)&&a.every(i=>typeof i=="string"),"number[]":a=>Array.isArray(a)&&a.every(i=>typeof i=="number"),Function:a=>g0(a),null:a=>a===null,undefined:a=>a===void 0},r={ColorType:a=>a==="none"||a==="label"||a==="primary"||a==="secondary"||a==="labelContrast"||a==="background"};return Object.keys(t).find(a=>{if(e[a]){const i=e[a],o=t[a];if(i.toBeTypes){if(i.toBeTypes.some(l=>n[l](o))===!1)return!0}else if(i.toBe){const{toBe:l,test:u}=i;if(u(o)===!1)return!0}else if(i.toBeOption){const l=i.toBeOption;if(r[l](o)===!1)return!0}}return!1})}function $t(t,e){const n=nF(t,e);if(n){const r=e[n],a=r.toBeTypes?r.toBeTypes.join(" | "):r.toBe?r.toBe:r.toBeOption?r.toBeOption:"";return{status:"error",columnName:n,expectToBe:a}}else return{status:"success",columnName:"",expectToBe:""}}const rF=t=>{const e=$t(t,{visibleFilter:{toBeTypes:["Function"]},sort:{toBeTypes:["Function","null"]},seriesLabels:{toBeTypes:["string[]"]},container:{toBeTypes:["object"]},separateSeries:{toBeTypes:["boolean"]},sumSeries:{toBeTypes:["boolean"]}});if(t.container){const n=$t(t.container,{columnAmount:{toBeTypes:["number"]},rowAmount:{toBeTypes:["number"]},columnGap:{toBe:'"auto" | number',test:r=>r==="auto"||typeof r=="number"},rowGap:{toBe:'"auto" | number',test:r=>r==="auto"||typeof r=="number"}});if(n.status==="error")return n}return e};function Ol(t,e){return t==null||e==null?NaN:t<e?-1:t>e?1:t>=e?0:NaN}function aF(t,e){return t==null||e==null?NaN:e<t?-1:e>t?1:e>=t?0:NaN}function b0(t){let e,n,r;t.length!==2?(e=Ol,n=(l,u)=>Ol(t(l),u),r=(l,u)=>t(l)-u):(e=t===Ol||t===aF?t:iF,n=t,r=t);function a(l,u,s=0,c=l.length){if(s<c){if(e(u,u)!==0)return c;do{const d=s+c>>>1;n(l[d],u)<0?s=d+1:c=d}while(s<c)}return s}function i(l,u,s=0,c=l.length){if(s<c){if(e(u,u)!==0)return c;do{const d=s+c>>>1;n(l[d],u)<=0?s=d+1:c=d}while(s<c)}return s}function o(l,u,s=0,c=l.length){const d=a(l,u,s,c-1);return d>s&&r(l[d-1],u)>-r(l[d],u)?d-1:d}return{left:a,center:o,right:i}}function iF(){return 0}function oF(t){return t===null?NaN:+t}const lF=b0(Ol),x0=lF.right;b0(oF).center;let v0=class extends Map{constructor(e,n=cF){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:n}}),e!=null)for(const[r,a]of e)this.set(r,a)}get(e){return super.get($0(this,e))}has(e){return super.has($0(this,e))}set(e,n){return super.set(sF(this,e),n)}delete(e){return super.delete(uF(this,e))}};function $0({_intern:t,_key:e},n){const r=e(n);return t.has(r)?t.get(r):n}function sF({_intern:t,_key:e},n){const r=e(n);return t.has(r)?t.get(r):(t.set(r,n),n)}function uF({_intern:t,_key:e},n){const r=e(n);return t.has(r)&&(n=t.get(r),t.delete(r)),n}function cF(t){return t!==null&&typeof t=="object"?t.valueOf():t}const fF=Math.sqrt(50),dF=Math.sqrt(10),hF=Math.sqrt(2);function Gl(t,e,n){const r=(e-t)/Math.max(0,n),a=Math.floor(Math.log10(r)),i=r/Math.pow(10,a),o=i>=fF?10:i>=dF?5:i>=hF?2:1;let l,u,s;return a<0?(s=Math.pow(10,-a)/o,l=Math.round(t*s),u=Math.round(e*s),l/s<t&&++l,u/s>e&&--u,s=-s):(s=Math.pow(10,a)*o,l=Math.round(t/s),u=Math.round(e/s),l*s<t&&++l,u*s>e&&--u),u<l&&.5<=n&&n<2?Gl(t,e,n*2):[l,u,s]}function pF(t,e,n){if(e=+e,t=+t,n=+n,!(n>0))return[];if(t===e)return[t];const r=e<t,[a,i,o]=r?Gl(e,t,n):Gl(t,e,n);if(!(i>=a))return[];const l=i-a+1,u=new Array(l);if(r)if(o<0)for(let s=0;s<l;++s)u[s]=(i-s)/-o;else for(let s=0;s<l;++s)u[s]=(i-s)*o;else if(o<0)for(let s=0;s<l;++s)u[s]=(a+s)/-o;else for(let s=0;s<l;++s)u[s]=(a+s)*o;return u}function Mf(t,e,n){return e=+e,t=+t,n=+n,Gl(t,e,n)[2]}function mF(t,e,n){e=+e,t=+t,n=+n;const r=e<t,a=r?Mf(e,t,n):Mf(t,e,n);return(r?-1:1)*(a<0?1/-a:a)}function gF(t,e,n){t=+t,e=+e,n=(a=arguments.length)<2?(e=t,t=0,1):a<3?1:+n;for(var r=-1,a=Math.max(0,Math.ceil((e-t)/n))|0,i=new Array(a);++r<a;)i[r]=t+r*n;return i}var yF={value:()=>{}};function S0(){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 jl(n)}function jl(t){this._=t}function bF(t,e){return t.trim().split(/^|\s+/).map(function(n){var r="",a=n.indexOf(".");if(a>=0&&(r=n.slice(a+1),n=n.slice(0,a)),n&&!e.hasOwnProperty(n))throw new Error("unknown type: "+n);return{type:n,name:r}})}jl.prototype=S0.prototype={constructor:jl,on:function(t,e){var n=this._,r=bF(t+"",n),a,i=-1,o=r.length;if(arguments.length<2){for(;++i<o;)if((a=(t=r[i]).type)&&(a=xF(n[a],t.name)))return a;return}if(e!=null&&typeof e!="function")throw new Error("invalid callback: "+e);for(;++i<o;)if(a=(t=r[i]).type)n[a]=D0(n[a],t.name,e);else if(e==null)for(a in n)n[a]=D0(n[a],t.name,null);return this},copy:function(){var t={},e=this._;for(var n in e)t[n]=e[n].slice();return new jl(t)},call:function(t,e){if((a=arguments.length-2)>0)for(var n=new Array(a),r=0,a,i;r<a;++r)n[r]=arguments[r+2];if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(i=this._[t],r=0,a=i.length;r<a;++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],a=0,i=r.length;a<i;++a)r[a].value.apply(e,n)}};function xF(t,e){for(var n=0,r=t.length,a;n<r;++n)if((a=t[n]).name===e)return a.value}function D0(t,e,n){for(var r=0,a=t.length;r<a;++r)if(t[r].name===e){t[r]=yF,t=t.slice(0,r).concat(t.slice(r+1));break}return n!=null&&t.push({name:e,value:n}),t}var Rf="http://www.w3.org/1999/xhtml";const _0={svg:"http://www.w3.org/2000/svg",xhtml:Rf,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function Vl(t){var e=t+="",n=e.indexOf(":");return n>=0&&(e=t.slice(0,n))!=="xmlns"&&(t=t.slice(n+1)),_0.hasOwnProperty(e)?{space:_0[e],local:t}:t}function vF(t){return function(){var e=this.ownerDocument,n=this.namespaceURI;return n===Rf&&e.documentElement.namespaceURI===Rf?e.createElement(t):e.createElementNS(n,t)}}function $F(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function A0(t){var e=Vl(t);return(e.local?$F:vF)(e)}function SF(){}function If(t){return t==null?SF:function(){return this.querySelector(t)}}function DF(t){typeof t!="function"&&(t=If(t));for(var e=this._groups,n=e.length,r=new Array(n),a=0;a<n;++a)for(var i=e[a],o=i.length,l=r[a]=new Array(o),u,s,c=0;c<o;++c)(u=i[c])&&(s=t.call(u,u.__data__,c,i))&&("__data__"in u&&(s.__data__=u.__data__),l[c]=s);return new we(r,this._parents)}function _F(t){return t==null?[]:Array.isArray(t)?t:Array.from(t)}function AF(){return[]}function C0(t){return t==null?AF:function(){return this.querySelectorAll(t)}}function CF(t){return function(){return _F(t.apply(this,arguments))}}function PF(t){typeof t=="function"?t=CF(t):t=C0(t);for(var e=this._groups,n=e.length,r=[],a=[],i=0;i<n;++i)for(var o=e[i],l=o.length,u,s=0;s<l;++s)(u=o[s])&&(r.push(t.call(u,u.__data__,s,o)),a.push(u));return new we(r,a)}function P0(t){return function(){return this.matches(t)}}function F0(t){return function(e){return e.matches(t)}}var FF=Array.prototype.find;function TF(t){return function(){return FF.call(this.children,t)}}function wF(){return this.firstElementChild}function BF(t){return this.select(t==null?wF:TF(typeof t=="function"?t:F0(t)))}var EF=Array.prototype.filter;function LF(){return Array.from(this.children)}function MF(t){return function(){return EF.call(this.children,t)}}function RF(t){return this.selectAll(t==null?LF:MF(typeof t=="function"?t:F0(t)))}function IF(t){typeof t!="function"&&(t=P0(t));for(var e=this._groups,n=e.length,r=new Array(n),a=0;a<n;++a)for(var i=e[a],o=i.length,l=r[a]=[],u,s=0;s<o;++s)(u=i[s])&&t.call(u,u.__data__,s,i)&&l.push(u);return new we(r,this._parents)}function T0(t){return new Array(t.length)}function kF(){return new we(this._enter||this._groups.map(T0),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 NF(t){return function(){return t}}function zF(t,e,n,r,a,i){for(var o=0,l,u=e.length,s=i.length;o<s;++o)(l=e[o])?(l.__data__=i[o],r[o]=l):n[o]=new Yl(t,i[o]);for(;o<u;++o)(l=e[o])&&(a[o]=l)}function OF(t,e,n,r,a,i,o){var l,u,s=new Map,c=e.length,d=i.length,f=new Array(c),h;for(l=0;l<c;++l)(u=e[l])&&(f[l]=h=o.call(u,u.__data__,l,e)+"",s.has(h)?a[l]=u:s.set(h,u));for(l=0;l<d;++l)h=o.call(t,i[l],l,i)+"",(u=s.get(h))?(r[l]=u,u.__data__=i[l],s.delete(h)):n[l]=new Yl(t,i[l]);for(l=0;l<c;++l)(u=e[l])&&s.get(f[l])===u&&(a[l]=u)}function GF(t){return t.__data__}function jF(t,e){if(!arguments.length)return Array.from(this,GF);var n=e?OF:zF,r=this._parents,a=this._groups;typeof t!="function"&&(t=NF(t));for(var i=a.length,o=new Array(i),l=new Array(i),u=new Array(i),s=0;s<i;++s){var c=r[s],d=a[s],f=d.length,h=VF(t.call(c,c&&c.__data__,s,r)),p=h.length,g=l[s]=new Array(p),m=o[s]=new Array(p),b=u[s]=new Array(f);n(c,d,g,m,b,h,e);for(var y=0,x=0,v,_;y<p;++y)if(v=g[y]){for(y>=x&&(x=y+1);!(_=m[x])&&++x<p;);v._next=_||null}}return o=new we(o,r),o._enter=l,o._exit=u,o}function VF(t){return typeof t=="object"&&"length"in t?t:Array.from(t)}function YF(){return new we(this._exit||this._groups.map(T0),this._parents)}function HF(t,e,n){var r=this.enter(),a=this,i=this.exit();return typeof t=="function"?(r=t(r),r&&(r=r.selection())):r=r.append(t+""),e!=null&&(a=e(a),a&&(a=a.selection())),n==null?i.remove():n(i),r&&a?r.merge(a).order():a}function WF(t){for(var e=t.selection?t.selection():t,n=this._groups,r=e._groups,a=n.length,i=r.length,o=Math.min(a,i),l=new Array(a),u=0;u<o;++u)for(var s=n[u],c=r[u],d=s.length,f=l[u]=new Array(d),h,p=0;p<d;++p)(h=s[p]||c[p])&&(f[p]=h);for(;u<a;++u)l[u]=n[u];return new we(l,this._parents)}function XF(){for(var t=this._groups,e=-1,n=t.length;++e<n;)for(var r=t[e],a=r.length-1,i=r[a],o;--a>=0;)(o=r[a])&&(i&&o.compareDocumentPosition(i)^4&&i.parentNode.insertBefore(o,i),i=o);return this}function UF(t){t||(t=qF);function e(d,f){return d&&f?t(d.__data__,f.__data__):!d-!f}for(var n=this._groups,r=n.length,a=new Array(r),i=0;i<r;++i){for(var o=n[i],l=o.length,u=a[i]=new Array(l),s,c=0;c<l;++c)(s=o[c])&&(u[c]=s);u.sort(e)}return new we(a,this._parents).order()}function qF(t,e){return t<e?-1:t>e?1:t>=e?0:NaN}function ZF(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this}function JF(){return Array.from(this)}function KF(){for(var t=this._groups,e=0,n=t.length;e<n;++e)for(var r=t[e],a=0,i=r.length;a<i;++a){var o=r[a];if(o)return o}return null}function QF(){let t=0;for(const e of this)++t;return t}function tT(){return!this.node()}function eT(t){for(var e=this._groups,n=0,r=e.length;n<r;++n)for(var a=e[n],i=0,o=a.length,l;i<o;++i)(l=a[i])&&t.call(l,l.__data__,i,a);return this}function nT(t){return function(){this.removeAttribute(t)}}function rT(t){return function(){this.removeAttributeNS(t.space,t.local)}}function aT(t,e){return function(){this.setAttribute(t,e)}}function iT(t,e){return function(){this.setAttributeNS(t.space,t.local,e)}}function oT(t,e){return function(){var n=e.apply(this,arguments);n==null?this.removeAttribute(t):this.setAttribute(t,n)}}function lT(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 sT(t,e){var n=Vl(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?rT:nT:typeof e=="function"?n.local?lT:oT:n.local?iT:aT)(n,e))}function w0(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}function uT(t){return function(){this.style.removeProperty(t)}}function cT(t,e,n){return function(){this.style.setProperty(t,e,n)}}function fT(t,e,n){return function(){var r=e.apply(this,arguments);r==null?this.style.removeProperty(t):this.style.setProperty(t,r,n)}}function dT(t,e,n){return arguments.length>1?this.each((e==null?uT:typeof e=="function"?fT:cT)(t,e,n??"")):Sa(this.node(),t)}function Sa(t,e){return t.style.getPropertyValue(e)||w0(t).getComputedStyle(t,null).getPropertyValue(e)}function hT(t){return function(){delete this[t]}}function pT(t,e){return function(){this[t]=e}}function mT(t,e){return function(){var n=e.apply(this,arguments);n==null?delete this[t]:this[t]=n}}function gT(t,e){return arguments.length>1?this.each((e==null?hT:typeof e=="function"?mT:pT)(t,e)):this.node()[t]}function B0(t){return t.trim().split(/^|\s+/)}function kf(t){return t.classList||new E0(t)}function E0(t){this._node=t,this._names=B0(t.getAttribute("class")||"")}E0.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 L0(t,e){for(var n=kf(t),r=-1,a=e.length;++r<a;)n.add(e[r])}function M0(t,e){for(var n=kf(t),r=-1,a=e.length;++r<a;)n.remove(e[r])}function yT(t){return function(){L0(this,t)}}function bT(t){return function(){M0(this,t)}}function xT(t,e){return function(){(e.apply(this,arguments)?L0:M0)(this,t)}}function vT(t,e){var n=B0(t+"");if(arguments.length<2){for(var r=kf(this.node()),a=-1,i=n.length;++a<i;)if(!r.contains(n[a]))return!1;return!0}return this.each((typeof e=="function"?xT:e?yT:bT)(n,e))}function $T(){this.textContent=""}function ST(t){return function(){this.textContent=t}}function DT(t){return function(){var e=t.apply(this,arguments);this.textContent=e??""}}function _T(t){return arguments.length?this.each(t==null?$T:(typeof t=="function"?DT:ST)(t)):this.node().textContent}function AT(){this.innerHTML=""}function CT(t){return function(){this.innerHTML=t}}function PT(t){return function(){var e=t.apply(this,arguments);this.innerHTML=e??""}}function FT(t){return arguments.length?this.each(t==null?AT:(typeof t=="function"?PT:CT)(t)):this.node().innerHTML}function TT(){this.nextSibling&&this.parentNode.appendChild(this)}function wT(){return this.each(TT)}function BT(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function ET(){return this.each(BT)}function LT(t){var e=typeof t=="function"?t:A0(t);return this.select(function(){return this.appendChild(e.apply(this,arguments))})}function MT(){return null}function RT(t,e){var n=typeof t=="function"?t:A0(t),r=e==null?MT:typeof e=="function"?e:If(e);return this.select(function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)})}function IT(){var t=this.parentNode;t&&t.removeChild(this)}function kT(){return this.each(IT)}function NT(){var t=this.cloneNode(!1),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function zT(){var t=this.cloneNode(!0),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function OT(t){return this.select(t?zT:NT)}function GT(t){return arguments.length?this.property("__data__",t):this.node().__data__}function jT(t){return function(e){t.call(this,e,this.__data__)}}function VT(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 YT(t){return function(){var e=this.__on;if(e){for(var n=0,r=-1,a=e.length,i;n<a;++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 HT(t,e,n){return function(){var r=this.__on,a,i=jT(e);if(r){for(var o=0,l=r.length;o<l;++o)if((a=r[o]).type===t.type&&a.name===t.name){this.removeEventListener(a.type,a.listener,a.options),this.addEventListener(a.type,a.listener=i,a.options=n),a.value=e;return}}this.addEventListener(t.type,i,n),a={type:t.type,name:t.name,value:e,listener:i,options:n},r?r.push(a):this.__on=[a]}}function WT(t,e,n){var r=VT(t+""),a,i=r.length,o;if(arguments.length<2){var l=this.node().__on;if(l){for(var u=0,s=l.length,c;u<s;++u)for(a=0,c=l[u];a<i;++a)if((o=r[a]).type===c.type&&o.name===c.name)return c.value}return}for(l=e?HT:YT,a=0;a<i;++a)this.each(l(r[a],e,n));return this}function R0(t,e,n){var r=w0(t),a=r.CustomEvent;typeof a=="function"?a=new a(e,n):(a=r.document.createEvent("Event"),n?(a.initEvent(e,n.bubbles,n.cancelable),a.detail=n.detail):a.initEvent(e,!1,!1)),t.dispatchEvent(a)}function XT(t,e){return function(){return R0(this,t,e)}}function UT(t,e){return function(){return R0(this,t,e.apply(this,arguments))}}function qT(t,e){return this.each((typeof e=="function"?UT:XT)(t,e))}function*ZT(){for(var t=this._groups,e=0,n=t.length;e<n;++e)for(var r=t[e],a=0,i=r.length,o;a<i;++a)(o=r[a])&&(yield o)}var I0=[null];function we(t,e){this._groups=t,this._parents=e}function Ui(){return new we([[document.documentElement]],I0)}function JT(){return this}we.prototype=Ui.prototype={constructor:we,select:DF,selectAll:PF,selectChild:BF,selectChildren:RF,filter:IF,data:jF,enter:kF,exit:YF,join:HF,merge:WF,selection:JT,order:XF,sort:UF,call:ZF,nodes:JF,node:KF,size:QF,empty:tT,each:eT,attr:sT,style:dT,property:gT,classed:vT,text:_T,html:FT,raise:wT,lower:ET,append:LT,insert:RT,remove:kT,clone:OT,datum:GT,on:WT,dispatch:qT,[Symbol.iterator]:ZT};function Hl(t){return typeof t=="string"?new we([[document.querySelector(t)]],[document.documentElement]):new we([[t]],I0)}function Nf(t,e,n){t.prototype=e.prototype=n,n.constructor=t}function k0(t,e){var n=Object.create(t.prototype);for(var r in e)n[r]=e[r];return n}function qi(){}var Zi=.7,Wl=1/Zi,Da="\\s*([+-]?\\d+)\\s*",Ji="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",cn="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",KT=/^#([0-9a-f]{3,8})$/,QT=new RegExp(`^rgb\\(${Da},${Da},${Da}\\)$`),t4=new RegExp(`^rgb\\(${cn},${cn},${cn}\\)$`),e4=new RegExp(`^rgba\\(${Da},${Da},${Da},${Ji}\\)$`),n4=new RegExp(`^rgba\\(${cn},${cn},${cn},${Ji}\\)$`),r4=new RegExp(`^hsl\\(${Ji},${cn},${cn}\\)$`),a4=new RegExp(`^hsla\\(${Ji},${cn},${cn},${Ji}\\)$`),N0={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};Nf(qi,Cr,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:z0,formatHex:z0,formatHex8:i4,formatHsl:o4,formatRgb:O0,toString:O0});function z0(){return this.rgb().formatHex()}function i4(){return this.rgb().formatHex8()}function o4(){return H0(this).formatHsl()}function O0(){return this.rgb().formatRgb()}function Cr(t){var e,n;return t=(t+"").trim().toLowerCase(),(e=KT.exec(t))?(n=e[1].length,e=parseInt(e[1],16),n===6?G0(e):n===3?new Se(e>>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):n===8?Xl(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):n===4?Xl(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=QT.exec(t))?new Se(e[1],e[2],e[3],1):(e=t4.exec(t))?new Se(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=e4.exec(t))?Xl(e[1],e[2],e[3],e[4]):(e=n4.exec(t))?Xl(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=r4.exec(t))?Y0(e[1],e[2]/100,e[3]/100,1):(e=a4.exec(t))?Y0(e[1],e[2]/100,e[3]/100,e[4]):N0.hasOwnProperty(t)?G0(N0[t]):t==="transparent"?new Se(NaN,NaN,NaN,0):null}function G0(t){return new Se(t>>16&255,t>>8&255,t&255,1)}function Xl(t,e,n,r){return r<=0&&(t=e=n=NaN),new Se(t,e,n,r)}function l4(t){return t instanceof qi||(t=Cr(t)),t?(t=t.rgb(),new Se(t.r,t.g,t.b,t.opacity)):new Se}function zf(t,e,n,r){return arguments.length===1?l4(t):new Se(t,e,n,r??1)}function Se(t,e,n,r){this.r=+t,this.g=+e,this.b=+n,this.opacity=+r}Nf(Se,zf,k0(qi,{brighter(t){return t=t==null?Wl:Math.pow(Wl,t),new Se(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?Zi:Math.pow(Zi,t),new Se(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new Se(Pr(this.r),Pr(this.g),Pr(this.b),Ul(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:j0,formatHex:j0,formatHex8:s4,formatRgb:V0,toString:V0}));function j0(){return`#${Fr(this.r)}${Fr(this.g)}${Fr(this.b)}`}function s4(){return`#${Fr(this.r)}${Fr(this.g)}${Fr(this.b)}${Fr((isNaN(this.opacity)?1:this.opacity)*255)}`}function V0(){const t=Ul(this.opacity);return`${t===1?"rgb(":"rgba("}${Pr(this.r)}, ${Pr(this.g)}, ${Pr(this.b)}${t===1?")":`, ${t})`}`}function Ul(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function Pr(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function Fr(t){return t=Pr(t),(t<16?"0":"")+t.toString(16)}function Y0(t,e,n,r){return r<=0?t=e=n=NaN:n<=0||n>=1?t=e=NaN:e<=0&&(t=NaN),new Ue(t,e,n,r)}function H0(t){if(t instanceof Ue)return new Ue(t.h,t.s,t.l,t.opacity);if(t instanceof qi||(t=Cr(t)),!t)return new Ue;if(t instanceof Ue)return t;t=t.rgb();var e=t.r/255,n=t.g/255,r=t.b/255,a=Math.min(e,n,r),i=Math.max(e,n,r),o=NaN,l=i-a,u=(i+a)/2;return l?(e===i?o=(n-r)/l+(n<r)*6:n===i?o=(r-e)/l+2:o=(e-n)/l+4,l/=u<.5?i+a:2-i-a,o*=60):l=u>0&&u<1?0:o,new Ue(o,l,u,t.opacity)}function u4(t,e,n,r){return arguments.length===1?H0(t):new Ue(t,e,n,r??1)}function Ue(t,e,n,r){this.h=+t,this.s=+e,this.l=+n,this.opacity=+r}Nf(Ue,u4,k0(qi,{brighter(t){return t=t==null?Wl:Math.pow(Wl,t),new Ue(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?Zi:Math.pow(Zi,t),new Ue(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,a=2*n-r;return new Se(Of(t>=240?t-240:t+120,a,r),Of(t,a,r),Of(t<120?t+240:t-120,a,r),this.opacity)},clamp(){return new Ue(W0(this.h),ql(this.s),ql(this.l),Ul(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(){const t=Ul(this.opacity);return`${t===1?"hsl(":"hsla("}${W0(this.h)}, ${ql(this.s)*100}%, ${ql(this.l)*100}%${t===1?")":`, ${t})`}`}}));function W0(t){return t=(t||0)%360,t<0?t+360:t}function ql(t){return Math.max(0,Math.min(1,t||0))}function Of(t,e,n){return(t<60?e+(n-e)*t/60:t<180?n:t<240?e+(n-e)*(240-t)/60:e)*255}const Gf=t=>()=>t;function c4(t,e){return function(n){return t+n*e}}function f4(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 d4(t){return(t=+t)==1?X0:function(e,n){return n-e?f4(e,n,t):Gf(isNaN(e)?n:e)}}function X0(t,e){var n=e-t;return n?c4(t,n):Gf(isNaN(t)?e:t)}const Zl=function t(e){var n=d4(e);function r(a,i){var o=n((a=zf(a)).r,(i=zf(i)).r),l=n(a.g,i.g),u=n(a.b,i.b),s=X0(a.opacity,i.opacity);return function(c){return a.r=o(c),a.g=l(c),a.b=u(c),a.opacity=s(c),a+""}}return r.gamma=t,r}(1);function h4(t,e){e||(e=[]);var n=t?Math.min(e.length,t.length):0,r=e.slice(),a;return function(i){for(a=0;a<n;++a)r[a]=t[a]*(1-i)+e[a]*i;return r}}function p4(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)}function m4(t,e){var n=e?e.length:0,r=t?Math.min(n,t.length):0,a=new Array(r),i=new Array(n),o;for(o=0;o<r;++o)a[o]=Yf(t[o],e[o]);for(;o<n;++o)i[o]=e[o];return function(l){for(o=0;o<r;++o)i[o]=a[o](l);return i}}function g4(t,e){var n=new Date;return t=+t,e=+e,function(r){return n.setTime(t*(1-r)+e*r),n}}function qe(t,e){return t=+t,e=+e,function(n){return t*(1-n)+e*n}}function y4(t,e){var n={},r={},a;(t===null||typeof t!="object")&&(t={}),(e===null||typeof e!="object")&&(e={});for(a in e)a in t?n[a]=Yf(t[a],e[a]):r[a]=e[a];return function(i){for(a in n)r[a]=n[a](i);return r}}var jf=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Vf=new RegExp(jf.source,"g");function b4(t){return function(){return t}}function x4(t){return function(e){return t(e)+""}}function U0(t,e){var n=jf.lastIndex=Vf.lastIndex=0,r,a,i,o=-1,l=[],u=[];for(t=t+"",e=e+"";(r=jf.exec(t))&&(a=Vf.exec(e));)(i=a.index)>n&&(i=e.slice(n,i),l[o]?l[o]+=i:l[++o]=i),(r=r[0])===(a=a[0])?l[o]?l[o]+=a:l[++o]=a:(l[++o]=null,u.push({i:o,x:qe(r,a)})),n=Vf.lastIndex;return n<e.length&&(i=e.slice(n),l[o]?l[o]+=i:l[++o]=i),l.length<2?u[0]?x4(u[0].x):b4(e):(e=u.length,function(s){for(var c=0,d;c<e;++c)l[(d=u[c]).i]=d.x(s);return l.join("")})}function Yf(t,e){var n=typeof e,r;return e==null||n==="boolean"?Gf(e):(n==="number"?qe:n==="string"?(r=Cr(e))?(e=r,Zl):U0:e instanceof Cr?Zl:e instanceof Date?g4:p4(e)?h4:Array.isArray(e)?m4:typeof e.valueOf!="function"&&typeof e.toString!="function"||isNaN(e)?y4:qe)(t,e)}function v4(t,e){return t=+t,e=+e,function(n){return Math.round(t*(1-n)+e*n)}}var q0=180/Math.PI,Z0={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function J0(t,e,n,r,a,i){var o,l,u;return(o=Math.sqrt(t*t+e*e))&&(t/=o,e/=o),(u=t*n+e*r)&&(n-=t*u,r-=e*u),(l=Math.sqrt(n*n+r*r))&&(n/=l,r/=l,u/=l),t*r<e*n&&(t=-t,e=-e,u=-u,o=-o),{translateX:a,translateY:i,rotate:Math.atan2(e,t)*q0,skewX:Math.atan(u)*q0,scaleX:o,scaleY:l}}var Jl;function $4(t){const e=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(t+"");return e.isIdentity?Z0:J0(e.a,e.b,e.c,e.d,e.e,e.f)}function S4(t){return t==null||(Jl||(Jl=document.createElementNS("http://www.w3.org/2000/svg","g")),Jl.setAttribute("transform",t),!(t=Jl.transform.baseVal.consolidate()))?Z0:(t=t.matrix,J0(t.a,t.b,t.c,t.d,t.e,t.f))}function K0(t,e,n,r){function a(s){return s.length?s.pop()+" ":""}function i(s,c,d,f,h,p){if(s!==d||c!==f){var g=h.push("translate(",null,e,null,n);p.push({i:g-4,x:qe(s,d)},{i:g-2,x:qe(c,f)})}else(d||f)&&h.push("translate("+d+e+f+n)}function o(s,c,d,f){s!==c?(s-c>180?c+=360:c-s>180&&(s+=360),f.push({i:d.push(a(d)+"rotate(",null,r)-2,x:qe(s,c)})):c&&d.push(a(d)+"rotate("+c+r)}function l(s,c,d,f){s!==c?f.push({i:d.push(a(d)+"skewX(",null,r)-2,x:qe(s,c)}):c&&d.push(a(d)+"skewX("+c+r)}function u(s,c,d,f,h,p){if(s!==d||c!==f){var g=h.push(a(h)+"scale(",null,",",null,")");p.push({i:g-4,x:qe(s,d)},{i:g-2,x:qe(c,f)})}else(d!==1||f!==1)&&h.push(a(h)+"scale("+d+","+f+")")}return function(s,c){var d=[],f=[];return s=t(s),c=t(c),i(s.translateX,s.translateY,c.translateX,c.translateY,d,f),o(s.rotate,c.rotate,d,f),l(s.skewX,c.skewX,d,f),u(s.scaleX,s.scaleY,c.scaleX,c.scaleY,d,f),s=c=null,function(h){for(var p=-1,g=f.length,m;++p<g;)d[(m=f[p]).i]=m.x(h);return d.join("")}}}var D4=K0($4,"px, ","px)","deg)"),_4=K0(S4,", ",")",")"),_a=0,Ki=0,Qi=0,Q0=1e3,Kl,to,Ql=0,Tr=0,ts=0,eo=typeof performance=="object"&&performance.now?performance:Date,ty=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function Hf(){return Tr||(ty(A4),Tr=eo.now()+ts)}function A4(){Tr=0}function es(){this._call=this._time=this._next=null}es.prototype=ey.prototype={constructor:es,restart:function(t,e,n){if(typeof t!="function")throw new TypeError("callback is not a function");n=(n==null?Hf():+n)+(e==null?0:+e),!this._next&&to!==this&&(to?to._next=this:Kl=this,to=this),this._call=t,this._time=n,Wf()},stop:function(){this._call&&(this._call=null,this._time=1/0,Wf())}};function ey(t,e,n){var r=new es;return r.restart(t,e,n),r}function C4(){Hf(),++_a;for(var t=Kl,e;t;)(e=Tr-t._time)>=0&&t._call.call(void 0,e),t=t._next;--_a}function ny(){Tr=(Ql=eo.now())+ts,_a=Ki=0;try{C4()}finally{_a=0,F4(),Tr=0}}function P4(){var t=eo.now(),e=t-Ql;e>Q0&&(ts-=e,Ql=t)}function F4(){for(var t,e=Kl,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:Kl=n);to=t,Wf(r)}function Wf(t){if(!_a){Ki&&(Ki=clearTimeout(Ki));var e=t-Tr;e>24?(t<1/0&&(Ki=setTimeout(ny,t-eo.now()-ts)),Qi&&(Qi=clearInterval(Qi))):(Qi||(Ql=eo.now(),Qi=setInterval(P4,Q0)),_a=1,ty(ny))}}function ry(t,e,n){var r=new es;return e=e==null?0:+e,r.restart(a=>{r.stop(),t(a+e)},e,n),r}var T4=S0("start","end","cancel","interrupt"),w4=[],ay=0,iy=1,Xf=2,ns=3,oy=4,Uf=5,rs=6;function as(t,e,n,r,a,i){var o=t.__transition;if(!o)t.__transition={};else if(n in o)return;B4(t,n,{name:e,index:r,group:a,on:T4,tween:w4,time:i.time,delay:i.delay,duration:i.duration,ease:i.ease,timer:null,state:ay})}function qf(t,e){var n=Ze(t,e);if(n.state>ay)throw new Error("too late; already scheduled");return n}function fn(t,e){var n=Ze(t,e);if(n.state>ns)throw new Error("too late; already running");return n}function Ze(t,e){var n=t.__transition;if(!n||!(n=n[e]))throw new Error("transition not found");return n}function B4(t,e,n){var r=t.__transition,a;r[e]=n,n.timer=ey(i,0,n.time);function i(s){n.state=iy,n.timer.restart(o,n.delay,n.time),n.delay<=s&&o(s-n.delay)}function o(s){var c,d,f,h;if(n.state!==iy)return u();for(c in r)if(h=r[c],h.name===n.name){if(h.state===ns)return ry(o);h.state===oy?(h.state=rs,h.timer.stop(),h.on.call("interrupt",t,t.__data__,h.index,h.group),delete r[c]):+c<e&&(h.state=rs,h.timer.stop(),h.on.call("cancel",t,t.__data__,h.index,h.group),delete r[c])}if(ry(function(){n.state===ns&&(n.state=oy,n.timer.restart(l,n.delay,n.time),l(s))}),n.state=Xf,n.on.call("start",t,t.__data__,n.index,n.group),n.state===Xf){for(n.state=ns,a=new Array(f=n.tween.length),c=0,d=-1;c<f;++c)(h=n.tween[c].value.call(t,t.__data__,n.index,n.group))&&(a[++d]=h);a.length=d+1}}function l(s){for(var c=s<n.duration?n.ease.call(null,s/n.duration):(n.timer.restart(u),n.state=Uf,1),d=-1,f=a.length;++d<f;)a[d].call(t,c);n.state===Uf&&(n.on.call("end",t,t.__data__,n.index,n.group),u())}function u(){n.state=rs,n.timer.stop(),delete r[e];for(var s in r)return;delete t.__transition}}function E4(t,e){var n=t.__transition,r,a,i=!0,o;if(n){e=e==null?null:e+"";for(o in n){if((r=n[o]).name!==e){i=!1;continue}a=r.state>Xf&&r.state<Uf,r.state=rs,r.timer.stop(),r.on.call(a?"interrupt":"cancel",t,t.__data__,r.index,r.group),delete n[o]}i&&delete t.__transition}}function L4(t){return this.each(function(){E4(this,t)})}function M4(t,e){var n,r;return function(){var a=fn(this,t),i=a.tween;if(i!==n){r=n=i;for(var o=0,l=r.length;o<l;++o)if(r[o].name===e){r=r.slice(),r.splice(o,1);break}}a.tween=r}}function R4(t,e,n){var r,a;if(typeof n!="function")throw new Error;return function(){var i=fn(this,t),o=i.tween;if(o!==r){a=(r=o).slice();for(var l={name:e,value:n},u=0,s=a.length;u<s;++u)if(a[u].name===e){a[u]=l;break}u===s&&a.push(l)}i.tween=a}}function I4(t,e){var n=this._id;if(t+="",arguments.length<2){for(var r=Ze(this.node(),n).tween,a=0,i=r.length,o;a<i;++a)if((o=r[a]).name===t)return o.value;return null}return this.each((e==null?M4:R4)(n,t,e))}function Zf(t,e,n){var r=t._id;return t.each(function(){var a=fn(this,r);(a.value||(a.value={}))[e]=n.apply(this,arguments)}),function(a){return Ze(a,r).value[e]}}function ly(t,e){var n;return(typeof e=="number"?qe:e instanceof Cr?Zl:(n=Cr(e))?(e=n,Zl):U0)(t,e)}function k4(t){return function(){this.removeAttribute(t)}}function N4(t){return function(){this.removeAttributeNS(t.space,t.local)}}function z4(t,e,n){var r,a=n+"",i;return function(){var o=this.getAttribute(t);return o===a?null:o===r?i:i=e(r=o,n)}}function O4(t,e,n){var r,a=n+"",i;return function(){var o=this.getAttributeNS(t.space,t.local);return o===a?null:o===r?i:i=e(r=o,n)}}function G4(t,e,n){var r,a,i;return function(){var o,l=n(this),u;return l==null?void this.removeAttribute(t):(o=this.getAttribute(t),u=l+"",o===u?null:o===r&&u===a?i:(a=u,i=e(r=o,l)))}}function j4(t,e,n){var r,a,i;return function(){var o,l=n(this),u;return l==null?void this.removeAttributeNS(t.space,t.local):(o=this.getAttributeNS(t.space,t.local),u=l+"",o===u?null:o===r&&u===a?i:(a=u,i=e(r=o,l)))}}function V4(t,e){var n=Vl(t),r=n==="transform"?_4:ly;return this.attrTween(t,typeof e=="function"?(n.local?j4:G4)(n,r,Zf(this,"attr."+t,e)):e==null?(n.local?N4:k4)(n):(n.local?O4:z4)(n,r,e))}function Y4(t,e){return function(n){this.setAttribute(t,e.call(this,n))}}function H4(t,e){return function(n){this.setAttributeNS(t.space,t.local,e.call(this,n))}}function W4(t,e){var n,r;function a(){var i=e.apply(this,arguments);return i!==r&&(n=(r=i)&&H4(t,i)),n}return a._value=e,a}function X4(t,e){var n,r;function a(){var i=e.apply(this,arguments);return i!==r&&(n=(r=i)&&Y4(t,i)),n}return a._value=e,a}function U4(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=Vl(t);return this.tween(n,(r.local?W4:X4)(r,e))}function q4(t,e){return function(){qf(this,t).delay=+e.apply(this,arguments)}}function Z4(t,e){return e=+e,function(){qf(this,t).delay=e}}function J4(t){var e=this._id;return arguments.length?this.each((typeof t=="function"?q4:Z4)(e,t)):Ze(this.node(),e).delay}function K4(t,e){return function(){fn(this,t).duration=+e.apply(this,arguments)}}function Q4(t,e){return e=+e,function(){fn(this,t).duration=e}}function tw(t){var e=this._id;return arguments.length?this.each((typeof t=="function"?K4:Q4)(e,t)):Ze(this.node(),e).duration}function ew(t,e){if(typeof e!="function")throw new Error;return function(){fn(this,t).ease=e}}function nw(t){var e=this._id;return arguments.length?this.each(ew(e,t)):Ze(this.node(),e).ease}function rw(t,e){return function(){var n=e.apply(this,arguments);if(typeof n!="function")throw new Error;fn(this,t).ease=n}}function aw(t){if(typeof t!="function")throw new Error;return this.each(rw(this._id,t))}function iw(t){typeof t!="function"&&(t=P0(t));for(var e=this._groups,n=e.length,r=new Array(n),a=0;a<n;++a)for(var i=e[a],o=i.length,l=r[a]=[],u,s=0;s<o;++s)(u=i[s])&&t.call(u,u.__data__,s,i)&&l.push(u);return new wn(r,this._parents,this._name,this._id)}function ow(t){if(t._id!==this._id)throw new Error;for(var e=this._groups,n=t._groups,r=e.length,a=n.length,i=Math.min(r,a),o=new Array(r),l=0;l<i;++l)for(var u=e[l],s=n[l],c=u.length,d=o[l]=new Array(c),f,h=0;h<c;++h)(f=u[h]||s[h])&&(d[h]=f);for(;l<r;++l)o[l]=e[l];return new wn(o,this._parents,this._name,this._id)}function lw(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 sw(t,e,n){var r,a,i=lw(e)?qf:fn;return function(){var o=i(this,t),l=o.on;l!==r&&(a=(r=l).copy()).on(e,n),o.on=a}}function uw(t,e){var n=this._id;return arguments.length<2?Ze(this.node(),n).on.on(t):this.each(sw(n,t,e))}function cw(t){return function(){var e=this.parentNode;for(var n in this.__transition)if(+n!==t)return;e&&e.removeChild(this)}}function fw(){return this.on("end.remove",cw(this._id))}function dw(t){var e=this._name,n=this._id;typeof t!="function"&&(t=If(t));for(var r=this._groups,a=r.length,i=new Array(a),o=0;o<a;++o)for(var l=r[o],u=l.length,s=i[o]=new Array(u),c,d,f=0;f<u;++f)(c=l[f])&&(d=t.call(c,c.__data__,f,l))&&("__data__"in c&&(d.__data__=c.__data__),s[f]=d,as(s[f],e,n,f,s,Ze(c,n)));return new wn(i,this._parents,e,n)}function hw(t){var e=this._name,n=this._id;typeof t!="function"&&(t=C0(t));for(var r=this._groups,a=r.length,i=[],o=[],l=0;l<a;++l)for(var u=r[l],s=u.length,c,d=0;d<s;++d)if(c=u[d]){for(var f=t.call(c,c.__data__,d,u),h,p=Ze(c,n),g=0,m=f.length;g<m;++g)(h=f[g])&&as(h,e,n,g,f,p);i.push(f),o.push(c)}return new wn(i,o,e,n)}var pw=Ui.prototype.constructor;function mw(){return new pw(this._groups,this._parents)}function gw(t,e){var n,r,a;return function(){var i=Sa(this,t),o=(this.style.removeProperty(t),Sa(this,t));return i===o?null:i===n&&o===r?a:a=e(n=i,r=o)}}function sy(t){return function(){this.style.removeProperty(t)}}function yw(t,e,n){var r,a=n+"",i;return function(){var o=Sa(this,t);return o===a?null:o===r?i:i=e(r=o,n)}}function bw(t,e,n){var r,a,i;return function(){var o=Sa(this,t),l=n(this),u=l+"";return l==null&&(u=l=(this.style.removeProperty(t),Sa(this,t))),o===u?null:o===r&&u===a?i:(a=u,i=e(r=o,l))}}function xw(t,e){var n,r,a,i="style."+e,o="end."+i,l;return function(){var u=fn(this,t),s=u.on,c=u.value[i]==null?l||(l=sy(e)):void 0;(s!==n||a!==c)&&(r=(n=s).copy()).on(o,a=c),u.on=r}}function vw(t,e,n){var r=(t+="")=="transform"?D4:ly;return e==null?this.styleTween(t,gw(t,r)).on("end.style."+t,sy(t)):typeof e=="function"?this.styleTween(t,bw(t,r,Zf(this,"style."+t,e))).each(xw(this._id,t)):this.styleTween(t,yw(t,r,e),n).on("end.style."+t,null)}function $w(t,e,n){return function(r){this.style.setProperty(t,e.call(this,r),n)}}function Sw(t,e,n){var r,a;function i(){var o=e.apply(this,arguments);return o!==a&&(r=(a=o)&&$w(t,o,n)),r}return i._value=e,i}function Dw(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,Sw(t,e,n??""))}function _w(t){return function(){this.textContent=t}}function Aw(t){return function(){var e=t(this);this.textContent=e??""}}function Cw(t){return this.tween("text",typeof t=="function"?Aw(Zf(this,"text",t)):_w(t==null?"":t+""))}function Pw(t){return function(e){this.textContent=t.call(this,e)}}function Fw(t){var e,n;function r(){var a=t.apply(this,arguments);return a!==n&&(e=(n=a)&&Pw(a)),e}return r._value=t,r}function Tw(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,Fw(t))}function ww(){for(var t=this._name,e=this._id,n=uy(),r=this._groups,a=r.length,i=0;i<a;++i)for(var o=r[i],l=o.length,u,s=0;s<l;++s)if(u=o[s]){var c=Ze(u,e);as(u,t,n,s,o,{time:c.time+c.delay+c.duration,delay:0,duration:c.duration,ease:c.ease})}return new wn(r,this._parents,t,n)}function Bw(){var t,e,n=this,r=n._id,a=n.size();return new Promise(function(i,o){var l={value:o},u={value:function(){--a===0&&i()}};n.each(function(){var s=fn(this,r),c=s.on;c!==t&&(e=(t=c).copy(),e._.cancel.push(l),e._.interrupt.push(l),e._.end.push(u)),s.on=e}),a===0&&i()})}var Ew=0;function wn(t,e,n,r){this._groups=t,this._parents=e,this._name=n,this._id=r}function uy(){return++Ew}var Bn=Ui.prototype;wn.prototype={constructor:wn,select:dw,selectAll:hw,selectChild:Bn.selectChild,selectChildren:Bn.selectChildren,filter:iw,merge:ow,selection:mw,transition:ww,call:Bn.call,nodes:Bn.nodes,node:Bn.node,size:Bn.size,empty:Bn.empty,each:Bn.each,on:uw,attr:V4,attrTween:U4,style:vw,styleTween:Dw,text:Cw,textTween:Tw,remove:fw,tween:I4,delay:J4,duration:tw,ease:nw,easeVarying:aw,end:Bw,[Symbol.iterator]:Bn[Symbol.iterator]};function Lw(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}var Mw={time:null,delay:0,duration:250,ease:Lw};function Rw(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 Iw(t){var e,n;t instanceof wn?(e=t._id,t=t._name):(e=uy(),(n=Mw).time=Hf(),t=t==null?null:t+"");for(var r=this._groups,a=r.length,i=0;i<a;++i)for(var o=r[i],l=o.length,u,s=0;s<l;++s)(u=o[s])&&as(u,t,e,s,o,n||Rw(u,e));return new wn(r,this._parents,t,e)}Ui.prototype.interrupt=L4,Ui.prototype.transition=Iw;function kw(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)}function is(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 Aa(t){return t=is(Math.abs(t)),t?t[1]:NaN}function Nw(t,e){return function(n,r){for(var a=n.length,i=[],o=0,l=t[0],u=0;a>0&&l>0&&(u+l+1>r&&(l=Math.max(1,r-u)),i.push(n.substring(a-=l,a+l)),!((u+=l+1)>r));)l=t[o=(o+1)%t.length];return i.reverse().join(e)}}function zw(t){return function(e){return e.replace(/[0-9]/g,function(n){return t[+n]})}}var Ow=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function os(t){if(!(e=Ow.exec(t)))throw new Error("invalid format: "+t);var e;return new Jf({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]})}os.prototype=Jf.prototype;function Jf(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+""}Jf.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 Gw(t){t:for(var e=t.length,n=1,r=-1,a;n<e;++n)switch(t[n]){case".":r=a=n;break;case"0":r===0&&(r=n),a=n;break;default:if(!+t[n])break t;r>0&&(r=0);break}return r>0?t.slice(0,r)+t.slice(a+1):t}var cy;function jw(t,e){var n=is(t,e);if(!n)return t+"";var r=n[0],a=n[1],i=a-(cy=Math.max(-8,Math.min(8,Math.floor(a/3)))*3)+1,o=r.length;return i===o?r:i>o?r+new Array(i-o+1).join("0"):i>0?r.slice(0,i)+"."+r.slice(i):"0."+new Array(1-i).join("0")+is(t,Math.max(0,e+i-1))[0]}function fy(t,e){var n=is(t,e);if(!n)return t+"";var r=n[0],a=n[1];return a<0?"0."+new Array(-a).join("0")+r:r.length>a+1?r.slice(0,a+1)+"."+r.slice(a+1):r+new Array(a-r.length+2).join("0")}const dy={"%":(t,e)=>(t*100).toFixed(e),b:t=>Math.round(t).toString(2),c:t=>t+"",d:kw,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)=>fy(t*100,e),r:fy,s:jw,X:t=>Math.round(t).toString(16).toUpperCase(),x:t=>Math.round(t).toString(16)};function hy(t){return t}var py=Array.prototype.map,my=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function Vw(t){var e=t.grouping===void 0||t.thousands===void 0?hy:Nw(py.call(t.grouping,Number),t.thousands+""),n=t.currency===void 0?"":t.currency[0]+"",r=t.currency===void 0?"":t.currency[1]+"",a=t.decimal===void 0?".":t.decimal+"",i=t.numerals===void 0?hy:zw(py.call(t.numerals,String)),o=t.percent===void 0?"%":t.percent+"",l=t.minus===void 0?"−":t.minus+"",u=t.nan===void 0?"NaN":t.nan+"";function s(d){d=os(d);var f=d.fill,h=d.align,p=d.sign,g=d.symbol,m=d.zero,b=d.width,y=d.comma,x=d.precision,v=d.trim,_=d.type;_==="n"?(y=!0,_="g"):dy[_]||(x===void 0&&(x=12),v=!0,_="g"),(m||f==="0"&&h==="=")&&(m=!0,f="0",h="=");var D=g==="$"?n:g==="#"&&/[boxX]/.test(_)?"0"+_.toLowerCase():"",C=g==="$"?r:/[%p]/.test(_)?o:"",A=dy[_],$=/[defgprs%]/.test(_);x=x===void 0?6:/[gprs]/.test(_)?Math.max(1,Math.min(21,x)):Math.max(0,Math.min(20,x));function T(S){var k=D,N=C,E,P,B;if(_==="c")N=A(S)+N,S="";else{S=+S;var R=S<0||1/S<0;if(S=isNaN(S)?u:A(Math.abs(S),x),v&&(S=Gw(S)),R&&+S==0&&p!=="+"&&(R=!1),k=(R?p==="("?p:l:p==="-"||p==="("?"":p)+k,N=(_==="s"?my[8+cy/3]:"")+N+(R&&p==="("?")":""),$){for(E=-1,P=S.length;++E<P;)if(B=S.charCodeAt(E),48>B||B>57){N=(B===46?a+S.slice(E+1):S.slice(E))+N,S=S.slice(0,E);break}}}y&&!m&&(S=e(S,1/0));var F=k.length+S.length+N.length,M=F<b?new Array(b-F+1).join(f):"";switch(y&&m&&(S=e(M+S,M.length?b-N.length:1/0),M=""),h){case"<":S=k+S+N+M;break;case"=":S=k+M+S+N;break;case"^":S=M.slice(0,F=M.length>>1)+k+S+N+M.slice(F);break;default:S=M+k+S+N;break}return i(S)}return T.toString=function(){return d+""},T}function c(d,f){var h=s((d=os(d),d.type="f",d)),p=Math.max(-8,Math.min(8,Math.floor(Aa(f)/3)))*3,g=Math.pow(10,-p),m=my[8+p/3];return function(b){return h(g*b)+m}}return{format:s,formatPrefix:c}}var ls,Kf,gy;Yw({thousands:",",grouping:[3],currency:["$",""]});function Yw(t){return ls=Vw(t),Kf=ls.format,gy=ls.formatPrefix,ls}function Hw(t){return Math.max(0,-Aa(Math.abs(t)))}function Ww(t,e){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(Aa(e)/3)))*3-Aa(Math.abs(t)))}function Xw(t,e){return t=Math.abs(t),e=Math.abs(e)-t,Math.max(0,Aa(e)-Aa(t))+1}function ss(t,e){switch(arguments.length){case 0:break;case 1:this.range(t);break;default:this.range(e).domain(t);break}return this}const yy=Symbol("implicit");function by(){var t=new v0,e=[],n=[],r=yy;function a(i){let o=t.get(i);if(o===void 0){if(r!==yy)return r;t.set(i,o=e.push(i)-1)}return n[o%n.length]}return a.domain=function(i){if(!arguments.length)return e.slice();e=[],t=new v0;for(const o of i)t.has(o)||t.set(o,e.push(o)-1);return a},a.range=function(i){return arguments.length?(n=Array.from(i),a):n.slice()},a.unknown=function(i){return arguments.length?(r=i,a):r},a.copy=function(){return by(e,n).unknown(r)},ss.apply(a,arguments),a}function xy(){var t=by().unknown(void 0),e=t.domain,n=t.range,r=0,a=1,i,o,l=!1,u=0,s=0,c=.5;delete t.unknown;function d(){var f=e().length,h=a<r,p=h?a:r,g=h?r:a;i=(g-p)/Math.max(1,f-u+s*2),l&&(i=Math.floor(i)),p+=(g-p-i*(f-u))*c,o=i*(1-u),l&&(p=Math.round(p),o=Math.round(o));var m=gF(f).map(function(b){return p+i*b});return n(h?m.reverse():m)}return t.domain=function(f){return arguments.length?(e(f),d()):e()},t.range=function(f){return arguments.length?([r,a]=f,r=+r,a=+a,d()):[r,a]},t.rangeRound=function(f){return[r,a]=f,r=+r,a=+a,l=!0,d()},t.bandwidth=function(){return o},t.step=function(){return i},t.round=function(f){return arguments.length?(l=!!f,d()):l},t.padding=function(f){return arguments.length?(u=Math.min(1,s=+f),d()):u},t.paddingInner=function(f){return arguments.length?(u=Math.min(1,f),d()):u},t.paddingOuter=function(f){return arguments.length?(s=+f,d()):s},t.align=function(f){return arguments.length?(c=Math.max(0,Math.min(1,f)),d()):c},t.copy=function(){return xy(e(),[r,a]).round(l).paddingInner(u).paddingOuter(s).align(c)},ss.apply(d(),arguments)}function vy(t){var e=t.copy;return t.padding=t.paddingOuter,delete t.paddingInner,delete t.paddingOuter,t.copy=function(){return vy(e())},t}function Uw(){return vy(xy.apply(null,arguments).paddingInner(1))}function qw(t){return function(){return t}}function Zw(t){return+t}var $y=[0,1];function Ca(t){return t}function Qf(t,e){return(e-=t=+t)?function(n){return(n-t)/e}:qw(isNaN(e)?NaN:.5)}function Jw(t,e){var n;return t>e&&(n=t,t=e,e=n),function(r){return Math.max(t,Math.min(e,r))}}function Kw(t,e,n){var r=t[0],a=t[1],i=e[0],o=e[1];return a<r?(r=Qf(a,r),i=n(o,i)):(r=Qf(r,a),i=n(i,o)),function(l){return i(r(l))}}function Qw(t,e,n){var r=Math.min(t.length,e.length)-1,a=new Array(r),i=new Array(r),o=-1;for(t[r]<t[0]&&(t=t.slice().reverse(),e=e.slice().reverse());++o<r;)a[o]=Qf(t[o],t[o+1]),i[o]=n(e[o],e[o+1]);return function(l){var u=x0(t,l,1,r)-1;return i[u](a[u](l))}}function t5(t,e){return e.domain(t.domain()).range(t.range()).interpolate(t.interpolate()).clamp(t.clamp()).unknown(t.unknown())}function e5(){var t=$y,e=$y,n=Yf,r,a,i,o=Ca,l,u,s;function c(){var f=Math.min(t.length,e.length);return o!==Ca&&(o=Jw(t[0],t[f-1])),l=f>2?Qw:Kw,u=s=null,d}function d(f){return f==null||isNaN(f=+f)?i:(u||(u=l(t.map(r),e,n)))(r(o(f)))}return d.invert=function(f){return o(a((s||(s=l(e,t.map(r),qe)))(f)))},d.domain=function(f){return arguments.length?(t=Array.from(f,Zw),c()):t.slice()},d.range=function(f){return arguments.length?(e=Array.from(f),c()):e.slice()},d.rangeRound=function(f){return e=Array.from(f),n=v4,c()},d.clamp=function(f){return arguments.length?(o=f?!0:Ca,c()):o!==Ca},d.interpolate=function(f){return arguments.length?(n=f,c()):n},d.unknown=function(f){return arguments.length?(i=f,d):i},function(f,h){return r=f,a=h,c()}}function n5(){return e5()(Ca,Ca)}function r5(t,e,n,r){var a=mF(t,e,n),i;switch(r=os(r??",f"),r.type){case"s":{var o=Math.max(Math.abs(t),Math.abs(e));return r.precision==null&&!isNaN(i=Ww(a,o))&&(r.precision=i),gy(r,o)}case"":case"e":case"g":case"p":case"r":{r.precision==null&&!isNaN(i=Xw(a,Math.max(Math.abs(t),Math.abs(e))))&&(r.precision=i-(r.type==="e"));break}case"f":case"%":{r.precision==null&&!isNaN(i=Hw(a))&&(r.precision=i-(r.type==="%")*2);break}}return Kf(r)}function Sy(t){var e=t.domain;return t.ticks=function(n){var r=e();return pF(r[0],r[r.length-1],n??10)},t.tickFormat=function(n,r){var a=e();return r5(a[0],a[a.length-1],n??10,r)},t.nice=function(n){n==null&&(n=10);var r=e(),a=0,i=r.length-1,o=r[a],l=r[i],u,s,c=10;for(l<o&&(s=o,o=l,l=s,s=a,a=i,i=s);c-- >0;){if(s=Mf(o,l,n),s===u)return r[a]=o,r[i]=l,e(r);if(s>0)o=Math.floor(o/s)*s,l=Math.ceil(l/s)*s;else if(s<0)o=Math.ceil(o*s)/s,l=Math.floor(l*s)/s;else break;u=s}return t},t}function no(){var t=n5();return t.copy=function(){return t5(t,no())},ss.apply(t,arguments),Sy(t)}function Dy(){var t=0,e=1,n=1,r=[.5],a=[0,1],i;function o(u){return u!=null&&u<=u?a[x0(r,u,0,n)]:i}function l(){var u=-1;for(r=new Array(n);++u<n;)r[u]=((u+1)*e-(u-n)*t)/(n+1);return o}return o.domain=function(u){return arguments.length?([t,e]=u,t=+t,e=+e,l()):[t,e]},o.range=function(u){return arguments.length?(n=(a=Array.from(u)).length-1,l()):a.slice()},o.invertExtent=function(u){var s=a.indexOf(u);return s<0?[NaN,NaN]:s<1?[t,r[0]]:s>=n?[r[n-1],e]:[r[s-1],r[s]]},o.unknown=function(u){return arguments.length&&(i=u),o},o.thresholds=function(){return r.slice()},o.copy=function(){return Dy().domain([t,e]).range(a).unknown(i)},ss.apply(Sy(o),arguments)}function ro(t,e,n){this.k=t,this.x=e,this.y=n}ro.prototype={constructor:ro,scale:function(t){return t===1?this:new ro(this.k*t,this.x,this.y)},translate:function(t,e){return t===0&e===0?this:new ro(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+")"}},ro.prototype;function a5(t,e){return e instanceof Function?e(t):Kf(e)(t)}function ao(t,e,n,r){let a=`${t}_${e}`;return n!=null&&(a+=`_${n}`),r!=null&&(a+=`_${r}`),a}function us(t,e){return`series${e}`}function td(t,e){return`group${e}`}function cs(){return""}function _y(t,e){return`value${e}`}function ed({transposedDataGrid:t,dataFormatterGrid:e,chartType:n="grid"}){const r=e.seriesDirection==="row"?e.rowLabels:e.columnLabels;return t.map((a,i)=>r[i]!=null?r[i]:us(n,i))}function Ay({transposedDataGrid:t,dataFormatterGrid:e,chartType:n="multiGrid",gridIndex:r=0}){const a=e.seriesDirection==="row"?e.rowLabels:e.columnLabels;return t.map((i,o)=>a[o]!=null?a[o]:us(`${n}_grid${r}`,o))}function Cy({transposedDataGrid:t,dataFormatterGrid:e,chartType:n="grid"}){if(t[0]==null)return[];const r=e.seriesDirection==="row"?e.columnLabels:e.rowLabels;return t[0].map((a,i)=>r[i]!=null?r[i]:td(n,i))}function Py({transposedDataGrid:t,dataFormatterGrid:e,chartType:n="multiGrid",gridIndex:r=0}){if(t[0]==null)return[];const a=e.seriesDirection==="row"?e.columnLabels:e.rowLabels;return t[0].map((i,o)=>a[o]!=null?a[o]:td(`${n}_grid${r}`,o))}function ar(t){const e=[0,0];return t.length?t.reduce((n,r)=>[r<n[0]?r:n[0],r>n[1]?r:n[1]],[t[0],t[0]]):e}function Fy(t){const e=t.filter(n=>n!=null&&n.value!=null).map(n=>n.value);return ar(e)}function i5(t){const e=(t[0]&&Array.isArray(t[0])?t.flat():t).filter(n=>(n==null||ie(n)&&n.value==null)===!1).map(n=>typeof n=="number"?n:n.value);return ar(e)}function nd(t){const e=t.flat().filter(n=>(n==null||ie(n)&&n.value==null)===!1).map(n=>typeof n=="number"?n:n.value);return ar(e)}function o5(t){const e=t.flat().flat().filter(n=>(n==null||ie(n)&&n.value==null)===!1).map(n=>typeof n=="number"?n:n.value);return ar(e)}function l5(t,e){const n=t.map(r=>Array.isArray(r)?r[e]??null:ie(r)?r.value[e]??null:null).filter(r=>r!=null);return ar(n)}function s5({data:t,minX:e,maxX:n,minY:r,maxY:a}){let i=[],o=null,l=null,u=null,s=null;for(let c of t)for(let d of c)d.axisX>=e&&d.axisX<=n&&d.axisY>=r&&d.axisY<=a&&(i.push(c),(o==null||d.axisX<o.axisX)&&(o=d),(l==null||d.axisX>l.axisX)&&(l=d),(u==null||d.axisY<u.axisY)&&(u=d),(s==null||d.axisY>s.axisY)&&(s=d));return{minXDatum:o,maxXDatum:l,minYDatum:u,maxYDatum:s,filteredData:i}}function Ty(t,e){if(t==="row")return Object.assign([],e);const n=e.length,r=e.reduce((i,o)=>Math.max(i,o.length),0),a=new Array(r).fill(null).map(()=>new Array(n).fill(null));for(let i=0;i<n;i++)for(let o=0;o<r;o++)a[o][i]=e[i][o];return a}function ir(t,e){return t<e.colors[e.colorScheme].label.length?e.colors[e.colorScheme].label[t]:e.colors[e.colorScheme].label[t%e.colors[e.colorScheme].label.length]}function wy(t){let e=Math.floor(Math.sqrt(t)),n=Math.ceil(t/e);for(;e*n<t;)n++;return{rowAmount:e,columnAmount:n}}function By(t,e,n){const r=e.columnGap==="auto"?t.left+t.right:e.columnGap,a=e.rowGap==="auto"?t.top+t.bottom:e.rowGap,{rowAmount:i,columnAmount:o}=e.rowAmount*e.columnAmount>=n?e:wy(n);return new Array(n).fill(null).map((l,u)=>{const s=u%o,c=Math.floor(u/o),d=(t.width-r*(o-1))/o,f=(t.height-a*(i-1))/i,h=s*d+s*r,p=c*f+c*a;return{slotIndex:u,rowIndex:c,columnIndex:s,startX:h,startY:p,centerX:h+d/2,centerY:p+f/2,width:d,height:f}})}function Pa(t,e,n){const r=e.columnGap==="auto"?t.left+t.right:e.columnGap,a=e.rowGap==="auto"?t.top+t.bottom:e.rowGap,{rowAmount:i,columnAmount:o}=e.rowAmount*e.columnAmount>=n?e:wy(n);return new Array(n).fill(null).map((l,u)=>{const s=u%o,c=Math.floor(u/o),d=(t.width-r*(o-1))/o,f=(t.height-a*(i-1))/i,h=s*d+s*r,p=c*f+c*a,g=[h,p],m=[d/t.width,f/t.height];return{slotIndex:u,rowIndex:c,columnIndex:s,translate:g,scale:m}})}const u5=t=>{const{data:e=[],dataFormatter:n,chartParams:r}=t;if(!e.length)return[];let a=[];try{const i=(o,l,u,s)=>{const c=ao(n.type,l,u),d=n.seriesLabels[l]||us("series",l),f=ir(l,r);return typeof o=="number"?{id:c,index:s,seq:0,label:c,description:"",data:{},value:o,seriesIndex:l,seriesLabel:d,color:f,visible:!0}:{id:o.id?o.id:c,index:s,seq:0,label:o.label?o.label:c,description:o.description,data:o.data??{},value:o.value,seriesIndex:l,seriesLabel:d,color:f,visible:!0}};a=e.map((o,l)=>Array.isArray(o)?o.map((u,s)=>i(u,l,s,a.length+s)):i(o,l,0,a.length)).flat().sort(n.sort??void 0).map((o,l)=>(o.seq=l,o)).map(o=>(o.visible=n.visibleFilter(o,t),o)).sort((o,l)=>o.index-l.index).reduce((o,l)=>(o[l.seriesIndex]||(o[l.seriesIndex]=[]),o[l.seriesIndex].push(l),o),[])}catch(i){throw Error(i)}return a},c5=t=>$t({data:t},{data:{toBe:"(DataSeriesDatum | DataSeriesValue)[][] | (DataSeriesDatum | DataSeriesValue)[]",test:e=>Array.isArray(e)}});var rd=function(t,e){return rd=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,r){n.__proto__=r}||function(n,r){for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(n[a]=r[a])},rd(t,e)};function dn(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");rd(t,e);function n(){this.constructor=t}t.prototype=e===null?Object.create(e):(n.prototype=e.prototype,new n)}function f5(t,e,n,r){function a(i){return i instanceof n?i:new n(function(o){o(i)})}return new(n||(n=Promise))(function(i,o){function l(c){try{s(r.next(c))}catch(d){o(d)}}function u(c){try{s(r.throw(c))}catch(d){o(d)}}function s(c){c.done?i(c.value):a(c.value).then(l,u)}s((r=r.apply(t,[])).next())})}function Ey(t,e){var n={label:0,sent:function(){if(i[0]&1)throw i[1];return i[1]},trys:[],ops:[]},r,a,i,o=Object.create((typeof Iterator=="function"?Iterator:Object).prototype);return o.next=l(0),o.throw=l(1),o.return=l(2),typeof Symbol=="function"&&(o[Symbol.iterator]=function(){return this}),o;function l(s){return function(c){return u([s,c])}}function u(s){if(r)throw new TypeError("Generator is already executing.");for(;o&&(o=0,s[0]&&(n=0)),n;)try{if(r=1,a&&(i=s[0]&2?a.return:s[0]?a.throw||((i=a.return)&&i.call(a),0):a.next)&&!(i=i.call(a,s[1])).done)return i;switch(a=0,i&&(s=[s[0]&2,i.value]),s[0]){case 0:case 1:i=s;break;case 4:return n.label++,{value:s[1],done:!1};case 5:n.label++,a=s[1],s=[0];continue;case 7:s=n.ops.pop(),n.trys.pop();continue;default:if(i=n.trys,!(i=i.length>0&&i[i.length-1])&&(s[0]===6||s[0]===2)){n=0;continue}if(s[0]===3&&(!i||s[1]>i[0]&&s[1]<i[3])){n.label=s[1];break}if(s[0]===6&&n.label<i[1]){n.label=i[1],i=s;break}if(i&&n.label<i[2]){n.label=i[2],n.ops.push(s);break}i[2]&&n.ops.pop(),n.trys.pop();continue}s=e.call(t,n)}catch(c){s=[6,c],a=0}finally{r=i=0}if(s[0]&5)throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}}function Fa(t){var e=typeof Symbol=="function"&&Symbol.iterator,n=e&&t[e],r=0;if(n)return n.call(t);if(t&&typeof t.length=="number")return{next:function(){return t&&r>=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function or(t,e){var n=typeof Symbol=="function"&&t[Symbol.iterator];if(!n)return t;var r=n.call(t),a,i=[],o;try{for(;(e===void 0||e-- >0)&&!(a=r.next()).done;)i.push(a.value)}catch(l){o={error:l}}finally{try{a&&!a.done&&(n=r.return)&&n.call(r)}finally{if(o)throw o.error}}return i}function lr(t,e,n){if(arguments.length===2)for(var r=0,a=e.length,i;r<a;r++)(i||!(r in e))&&(i||(i=Array.prototype.slice.call(e,0,r)),i[r]=e[r]);return t.concat(i||Array.prototype.slice.call(e))}function Ta(t){return this instanceof Ta?(this.v=t,this):new Ta(t)}function d5(t,e,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r=n.apply(t,e||[]),a,i=[];return a=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),l("next"),l("throw"),l("return",o),a[Symbol.asyncIterator]=function(){return this},a;function o(h){return function(p){return Promise.resolve(p).then(h,d)}}function l(h,p){r[h]&&(a[h]=function(g){return new Promise(function(m,b){i.push([h,g,m,b])>1||u(h,g)})},p&&(a[h]=p(a[h])))}function u(h,p){try{s(r[h](p))}catch(g){f(i[0][3],g)}}function s(h){h.value instanceof Ta?Promise.resolve(h.value.v).then(c,d):f(i[0][2],h)}function c(h){u("next",h)}function d(h){u("throw",h)}function f(h,p){h(p),i.shift(),i.length&&u(i[0][0],i[0][1])}}function h5(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=t[Symbol.asyncIterator],n;return e?e.call(t):(t=typeof Fa=="function"?Fa(t):t[Symbol.iterator](),n={},r("next"),r("throw"),r("return"),n[Symbol.asyncIterator]=function(){return this},n);function r(i){n[i]=t[i]&&function(o){return new Promise(function(l,u){o=t[i](o),a(l,u,o.done,o.value)})}}function a(i,o,l,u){Promise.resolve(u).then(function(s){i({value:s,done:l})},o)}}function zt(t){return typeof t=="function"}function ad(t){var e=function(r){Error.call(r),r.stack=new Error().stack},n=t(e);return n.prototype=Object.create(Error.prototype),n.prototype.constructor=n,n}var id=ad(function(t){return function(e){t(this),this.message=e?e.length+` errors occurred during unsubscription:
2
- `+e.map(function(n,r){return r+1+") "+n.toString()}).join(`
3
- `):"",this.name="UnsubscriptionError",this.errors=e}});function fs(t,e){if(t){var n=t.indexOf(e);0<=n&&t.splice(n,1)}}var io=function(){function t(e){this.initialTeardown=e,this.closed=!1,this._parentage=null,this._finalizers=null}return t.prototype.unsubscribe=function(){var e,n,r,a,i;if(!this.closed){this.closed=!0;var o=this._parentage;if(o)if(this._parentage=null,Array.isArray(o))try{for(var l=Fa(o),u=l.next();!u.done;u=l.next()){var s=u.value;s.remove(this)}}catch(g){e={error:g}}finally{try{u&&!u.done&&(n=l.return)&&n.call(l)}finally{if(e)throw e.error}}else o.remove(this);var c=this.initialTeardown;if(zt(c))try{c()}catch(g){i=g instanceof id?g.errors:[g]}var d=this._finalizers;if(d){this._finalizers=null;try{for(var f=Fa(d),h=f.next();!h.done;h=f.next()){var p=h.value;try{Ry(p)}catch(g){i=i??[],g instanceof id?i=lr(lr([],or(i)),or(g.errors)):i.push(g)}}}catch(g){r={error:g}}finally{try{h&&!h.done&&(a=f.return)&&a.call(f)}finally{if(r)throw r.error}}}if(i)throw new id(i)}},t.prototype.add=function(e){var n;if(e&&e!==this)if(this.closed)Ry(e);else{if(e instanceof t){if(e.closed||e._hasParent(this))return;e._addParent(this)}(this._finalizers=(n=this._finalizers)!==null&&n!==void 0?n:[]).push(e)}},t.prototype._hasParent=function(e){var n=this._parentage;return n===e||Array.isArray(n)&&n.includes(e)},t.prototype._addParent=function(e){var n=this._parentage;this._parentage=Array.isArray(n)?(n.push(e),n):n?[n,e]:e},t.prototype._removeParent=function(e){var n=this._parentage;n===e?this._parentage=null:Array.isArray(n)&&fs(n,e)},t.prototype.remove=function(e){var n=this._finalizers;n&&fs(n,e),e instanceof t&&e._removeParent(this)},t.EMPTY=function(){var e=new t;return e.closed=!0,e}(),t}(),Ly=io.EMPTY;function My(t){return t instanceof io||t&&"closed"in t&&zt(t.remove)&&zt(t.add)&&zt(t.unsubscribe)}function Ry(t){zt(t)?t():t.unsubscribe()}var p5={Promise:void 0},m5={setTimeout:function(t,e){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];return setTimeout.apply(void 0,lr([t,e],or(n)))},clearTimeout:function(t){return clearTimeout(t)},delegate:void 0};function Iy(t){m5.setTimeout(function(){throw t})}function od(){}function ds(t){t()}var ld=function(t){dn(e,t);function e(n){var r=t.call(this)||this;return r.isStopped=!1,n?(r.destination=n,My(n)&&n.add(r)):r.destination=b5,r}return e.create=function(n,r,a){return new oo(n,r,a)},e.prototype.next=function(n){this.isStopped||this._next(n)},e.prototype.error=function(n){this.isStopped||(this.isStopped=!0,this._error(n))},e.prototype.complete=function(){this.isStopped||(this.isStopped=!0,this._complete())},e.prototype.unsubscribe=function(){this.closed||(this.isStopped=!0,t.prototype.unsubscribe.call(this),this.destination=null)},e.prototype._next=function(n){this.destination.next(n)},e.prototype._error=function(n){try{this.destination.error(n)}finally{this.unsubscribe()}},e.prototype._complete=function(){try{this.destination.complete()}finally{this.unsubscribe()}},e}(io),g5=function(){function t(e){this.partialObserver=e}return t.prototype.next=function(e){var n=this.partialObserver;if(n.next)try{n.next(e)}catch(r){hs(r)}},t.prototype.error=function(e){var n=this.partialObserver;if(n.error)try{n.error(e)}catch(r){hs(r)}else hs(e)},t.prototype.complete=function(){var e=this.partialObserver;if(e.complete)try{e.complete()}catch(n){hs(n)}},t}(),oo=function(t){dn(e,t);function e(n,r,a){var i=t.call(this)||this,o;return zt(n)||!n?o={next:n??void 0,error:r??void 0,complete:a??void 0}:o=n,i.destination=new g5(o),i}return e}(ld);function hs(t){Iy(t)}function y5(t){throw t}var b5={closed:!0,next:od,error:y5,complete:od},sd=function(){return typeof Symbol=="function"&&Symbol.observable||"@@observable"}();function wa(t){return t}function x5(t){return t.length===0?wa:t.length===1?t[0]:function(e){return t.reduce(function(n,r){return r(n)},e)}}var wt=function(){function t(e){e&&(this._subscribe=e)}return t.prototype.lift=function(e){var n=new t;return n.source=this,n.operator=e,n},t.prototype.subscribe=function(e,n,r){var a=this,i=$5(e)?e:new oo(e,n,r);return ds(function(){var o=a,l=o.operator,u=o.source;i.add(l?l.call(i,u):u?a._subscribe(i):a._trySubscribe(i))}),i},t.prototype._trySubscribe=function(e){try{return this._subscribe(e)}catch(n){e.error(n)}},t.prototype.forEach=function(e,n){var r=this;return n=ky(n),new n(function(a,i){var o=new oo({next:function(l){try{e(l)}catch(u){i(u),o.unsubscribe()}},error:i,complete:a});r.subscribe(o)})},t.prototype._subscribe=function(e){var n;return(n=this.source)===null||n===void 0?void 0:n.subscribe(e)},t.prototype[sd]=function(){return this},t.prototype.pipe=function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];return x5(e)(this)},t.prototype.toPromise=function(e){var n=this;return e=ky(e),new e(function(r,a){var i;n.subscribe(function(o){return i=o},function(o){return a(o)},function(){return r(i)})})},t.create=function(e){return new t(e)},t}();function ky(t){var e;return(e=t??p5.Promise)!==null&&e!==void 0?e:Promise}function v5(t){return t&&zt(t.next)&&zt(t.error)&&zt(t.complete)}function $5(t){return t&&t instanceof ld||v5(t)&&My(t)}function S5(t){return zt(t==null?void 0:t.lift)}function qt(t){return function(e){if(S5(e))return e.lift(function(n){try{return t(n,this)}catch(r){this.error(r)}});throw new TypeError("Unable to lift unknown Observable type")}}function Vt(t,e,n,r,a){return new D5(t,e,n,r,a)}var D5=function(t){dn(e,t);function e(n,r,a,i,o,l){var u=t.call(this,n)||this;return u.onFinalize=o,u.shouldUnsubscribe=l,u._next=r?function(s){try{r(s)}catch(c){n.error(c)}}:t.prototype._next,u._error=i?function(s){try{i(s)}catch(c){n.error(c)}finally{this.unsubscribe()}}:t.prototype._error,u._complete=a?function(){try{a()}catch(s){n.error(s)}finally{this.unsubscribe()}}:t.prototype._complete,u}return e.prototype.unsubscribe=function(){var n;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){var r=this.closed;t.prototype.unsubscribe.call(this),!r&&((n=this.onFinalize)===null||n===void 0||n.call(this))}},e}(ld),_5=ad(function(t){return function(){t(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"}}),Mt=function(t){dn(e,t);function e(){var n=t.call(this)||this;return n.closed=!1,n.currentObservers=null,n.observers=[],n.isStopped=!1,n.hasError=!1,n.thrownError=null,n}return e.prototype.lift=function(n){var r=new Ny(this,this);return r.operator=n,r},e.prototype._throwIfClosed=function(){if(this.closed)throw new _5},e.prototype.next=function(n){var r=this;ds(function(){var a,i;if(r._throwIfClosed(),!r.isStopped){r.currentObservers||(r.currentObservers=Array.from(r.observers));try{for(var o=Fa(r.currentObservers),l=o.next();!l.done;l=o.next()){var u=l.value;u.next(n)}}catch(s){a={error:s}}finally{try{l&&!l.done&&(i=o.return)&&i.call(o)}finally{if(a)throw a.error}}}})},e.prototype.error=function(n){var r=this;ds(function(){if(r._throwIfClosed(),!r.isStopped){r.hasError=r.isStopped=!0,r.thrownError=n;for(var a=r.observers;a.length;)a.shift().error(n)}})},e.prototype.complete=function(){var n=this;ds(function(){if(n._throwIfClosed(),!n.isStopped){n.isStopped=!0;for(var r=n.observers;r.length;)r.shift().complete()}})},e.prototype.unsubscribe=function(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null},Object.defineProperty(e.prototype,"observed",{get:function(){var n;return((n=this.observers)===null||n===void 0?void 0:n.length)>0},enumerable:!1,configurable:!0}),e.prototype._trySubscribe=function(n){return this._throwIfClosed(),t.prototype._trySubscribe.call(this,n)},e.prototype._subscribe=function(n){return this._throwIfClosed(),this._checkFinalizedStatuses(n),this._innerSubscribe(n)},e.prototype._innerSubscribe=function(n){var r=this,a=this,i=a.hasError,o=a.isStopped,l=a.observers;return i||o?Ly:(this.currentObservers=null,l.push(n),new io(function(){r.currentObservers=null,fs(l,n)}))},e.prototype._checkFinalizedStatuses=function(n){var r=this,a=r.hasError,i=r.thrownError,o=r.isStopped;a?n.error(i):o&&n.complete()},e.prototype.asObservable=function(){var n=new wt;return n.source=this,n},e.create=function(n,r){return new Ny(n,r)},e}(wt),Ny=function(t){dn(e,t);function e(n,r){var a=t.call(this)||this;return a.destination=n,a.source=r,a}return e.prototype.next=function(n){var r,a;(a=(r=this.destination)===null||r===void 0?void 0:r.next)===null||a===void 0||a.call(r,n)},e.prototype.error=function(n){var r,a;(a=(r=this.destination)===null||r===void 0?void 0:r.error)===null||a===void 0||a.call(r,n)},e.prototype.complete=function(){var n,r;(r=(n=this.destination)===null||n===void 0?void 0:n.complete)===null||r===void 0||r.call(n)},e.prototype._subscribe=function(n){var r,a;return(a=(r=this.source)===null||r===void 0?void 0:r.subscribe(n))!==null&&a!==void 0?a:Ly},e}(Mt),zy=function(t){dn(e,t);function e(n){var r=t.call(this)||this;return r._value=n,r}return Object.defineProperty(e.prototype,"value",{get:function(){return this.getValue()},enumerable:!1,configurable:!0}),e.prototype._subscribe=function(n){var r=t.prototype._subscribe.call(this,n);return!r.closed&&n.next(this._value),r},e.prototype.getValue=function(){var n=this,r=n.hasError,a=n.thrownError,i=n._value;if(r)throw a;return this._throwIfClosed(),i},e.prototype.next=function(n){t.prototype.next.call(this,this._value=n)},e}(Mt),ud={now:function(){return(ud.delegate||Date).now()},delegate:void 0},A5=function(t){dn(e,t);function e(n,r,a){n===void 0&&(n=1/0),r===void 0&&(r=1/0),a===void 0&&(a=ud);var i=t.call(this)||this;return i._bufferSize=n,i._windowTime=r,i._timestampProvider=a,i._buffer=[],i._infiniteTimeWindow=!0,i._infiniteTimeWindow=r===1/0,i._bufferSize=Math.max(1,n),i._windowTime=Math.max(1,r),i}return e.prototype.next=function(n){var r=this,a=r.isStopped,i=r._buffer,o=r._infiniteTimeWindow,l=r._timestampProvider,u=r._windowTime;a||(i.push(n),!o&&i.push(l.now()+u)),this._trimBuffer(),t.prototype.next.call(this,n)},e.prototype._subscribe=function(n){this._throwIfClosed(),this._trimBuffer();for(var r=this._innerSubscribe(n),a=this,i=a._infiniteTimeWindow,o=a._buffer,l=o.slice(),u=0;u<l.length&&!n.closed;u+=i?1:2)n.next(l[u]);return this._checkFinalizedStatuses(n),r},e.prototype._trimBuffer=function(){var n=this,r=n._bufferSize,a=n._timestampProvider,i=n._buffer,o=n._infiniteTimeWindow,l=(o?1:2)*r;if(r<1/0&&l<i.length&&i.splice(0,i.length-l),!o){for(var u=a.now(),s=0,c=1;c<i.length&&i[c]<=u;c+=2)s=c;s&&i.splice(0,s+1)}},e}(Mt),C5=function(t){dn(e,t);function e(n,r){return t.call(this)||this}return e.prototype.schedule=function(n,r){return this},e}(io),Oy={setInterval:function(t,e){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];return setInterval.apply(void 0,lr([t,e],or(n)))},clearInterval:function(t){return clearInterval(t)},delegate:void 0},P5=function(t){dn(e,t);function e(n,r){var a=t.call(this,n,r)||this;return a.scheduler=n,a.work=r,a.pending=!1,a}return e.prototype.schedule=function(n,r){var a;if(r===void 0&&(r=0),this.closed)return this;this.state=n;var i=this.id,o=this.scheduler;return i!=null&&(this.id=this.recycleAsyncId(o,i,r)),this.pending=!0,this.delay=r,this.id=(a=this.id)!==null&&a!==void 0?a:this.requestAsyncId(o,this.id,r),this},e.prototype.requestAsyncId=function(n,r,a){return a===void 0&&(a=0),Oy.setInterval(n.flush.bind(n,this),a)},e.prototype.recycleAsyncId=function(n,r,a){if(a===void 0&&(a=0),a!=null&&this.delay===a&&this.pending===!1)return r;r!=null&&Oy.clearInterval(r)},e.prototype.execute=function(n,r){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;var a=this._execute(n,r);if(a)return a;this.pending===!1&&this.id!=null&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))},e.prototype._execute=function(n,r){var a=!1,i;try{this.work(n)}catch(o){a=!0,i=o||new Error("Scheduled action threw falsy error")}if(a)return this.unsubscribe(),i},e.prototype.unsubscribe=function(){if(!this.closed){var n=this,r=n.id,a=n.scheduler,i=a.actions;this.work=this.state=this.scheduler=null,this.pending=!1,fs(i,this),r!=null&&(this.id=this.recycleAsyncId(a,r,null)),this.delay=null,t.prototype.unsubscribe.call(this)}},e}(C5),Gy=function(){function t(e,n){n===void 0&&(n=t.now),this.schedulerActionCtor=e,this.now=n}return t.prototype.schedule=function(e,n,r){return n===void 0&&(n=0),new this.schedulerActionCtor(this,e).schedule(r,n)},t.now=ud.now,t}(),F5=function(t){dn(e,t);function e(n,r){r===void 0&&(r=Gy.now);var a=t.call(this,n,r)||this;return a.actions=[],a._active=!1,a}return e.prototype.flush=function(n){var r=this.actions;if(this._active){r.push(n);return}var a;this._active=!0;do if(a=n.execute(n.state,n.delay))break;while(n=r.shift());if(this._active=!1,a){for(;n=r.shift();)n.unsubscribe();throw a}},e}(Gy),cd=new F5(P5),T5=cd,lo=new wt(function(t){return t.complete()});function jy(t){return t&&zt(t.schedule)}function fd(t){return t[t.length-1]}function Vy(t){return zt(fd(t))?t.pop():void 0}function Ba(t){return jy(fd(t))?t.pop():void 0}function Yy(t,e){return typeof fd(t)=="number"?t.pop():e}var Hy=function(t){return t&&typeof t.length=="number"&&typeof t!="function"};function Wy(t){return zt(t==null?void 0:t.then)}function Xy(t){return zt(t[sd])}function Uy(t){return Symbol.asyncIterator&&zt(t==null?void 0:t[Symbol.asyncIterator])}function qy(t){return new TypeError("You provided "+(t!==null&&typeof t=="object"?"an invalid object":"'"+t+"'")+" where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.")}function w5(){return typeof Symbol!="function"||!Symbol.iterator?"@@iterator":Symbol.iterator}var Zy=w5();function Jy(t){return zt(t==null?void 0:t[Zy])}function Ky(t){return d5(this,arguments,function(){var e,n,r,a;return Ey(this,function(i){switch(i.label){case 0:e=t.getReader(),i.label=1;case 1:i.trys.push([1,,9,10]),i.label=2;case 2:return[4,Ta(e.read())];case 3:return n=i.sent(),r=n.value,a=n.done,a?[4,Ta(void 0)]:[3,5];case 4:return[2,i.sent()];case 5:return[4,Ta(r)];case 6:return[4,i.sent()];case 7:return i.sent(),[3,2];case 8:return[3,10];case 9:return e.releaseLock(),[7];case 10:return[2]}})})}function Qy(t){return zt(t==null?void 0:t.getReader)}function De(t){if(t instanceof wt)return t;if(t!=null){if(Xy(t))return B5(t);if(Hy(t))return E5(t);if(Wy(t))return L5(t);if(Uy(t))return tb(t);if(Jy(t))return M5(t);if(Qy(t))return R5(t)}throw qy(t)}function B5(t){return new wt(function(e){var n=t[sd]();if(zt(n.subscribe))return n.subscribe(e);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}function E5(t){return new wt(function(e){for(var n=0;n<t.length&&!e.closed;n++)e.next(t[n]);e.complete()})}function L5(t){return new wt(function(e){t.then(function(n){e.closed||(e.next(n),e.complete())},function(n){return e.error(n)}).then(null,Iy)})}function M5(t){return new wt(function(e){var n,r;try{for(var a=Fa(t),i=a.next();!i.done;i=a.next()){var o=i.value;if(e.next(o),e.closed)return}}catch(l){n={error:l}}finally{try{i&&!i.done&&(r=a.return)&&r.call(a)}finally{if(n)throw n.error}}e.complete()})}function tb(t){return new wt(function(e){I5(t,e).catch(function(n){return e.error(n)})})}function R5(t){return tb(Ky(t))}function I5(t,e){var n,r,a,i;return f5(this,void 0,void 0,function(){var o,l;return Ey(this,function(u){switch(u.label){case 0:u.trys.push([0,5,6,11]),n=h5(t),u.label=1;case 1:return[4,n.next()];case 2:if(r=u.sent(),!!r.done)return[3,4];if(o=r.value,e.next(o),e.closed)return[2];u.label=3;case 3:return[3,1];case 4:return[3,11];case 5:return l=u.sent(),a={error:l},[3,11];case 6:return u.trys.push([6,,9,10]),r&&!r.done&&(i=n.return)?[4,i.call(n)]:[3,8];case 7:u.sent(),u.label=8;case 8:return[3,10];case 9:if(a)throw a.error;return[7];case 10:return[7];case 11:return e.complete(),[2]}})})}function sr(t,e,n,r,a){r===void 0&&(r=0),a===void 0&&(a=!1);var i=e.schedule(function(){n(),a?t.add(this.schedule(null,r)):this.unsubscribe()},r);if(t.add(i),!a)return i}function eb(t,e){return e===void 0&&(e=0),qt(function(n,r){n.subscribe(Vt(r,function(a){return sr(r,t,function(){return r.next(a)},e)},function(){return sr(r,t,function(){return r.complete()},e)},function(a){return sr(r,t,function(){return r.error(a)},e)}))})}function nb(t,e){return e===void 0&&(e=0),qt(function(n,r){r.add(t.schedule(function(){return n.subscribe(r)},e))})}function k5(t,e){return De(t).pipe(nb(e),eb(e))}function N5(t,e){return De(t).pipe(nb(e),eb(e))}function z5(t,e){return new wt(function(n){var r=0;return e.schedule(function(){r===t.length?n.complete():(n.next(t[r++]),n.closed||this.schedule())})})}function O5(t,e){return new wt(function(n){var r;return sr(n,e,function(){r=t[Zy](),sr(n,e,function(){var a,i,o;try{a=r.next(),i=a.value,o=a.done}catch(l){n.error(l);return}o?n.complete():n.next(i)},0,!0)}),function(){return zt(r==null?void 0:r.return)&&r.return()}})}function rb(t,e){if(!t)throw new Error("Iterable cannot be null");return new wt(function(n){sr(n,e,function(){var r=t[Symbol.asyncIterator]();sr(n,e,function(){r.next().then(function(a){a.done?n.complete():n.next(a.value)})},0,!0)})})}function G5(t,e){return rb(Ky(t),e)}function j5(t,e){if(t!=null){if(Xy(t))return k5(t,e);if(Hy(t))return z5(t,e);if(Wy(t))return N5(t,e);if(Uy(t))return rb(t,e);if(Jy(t))return O5(t,e);if(Qy(t))return G5(t,e)}throw qy(t)}function Ea(t,e){return e?j5(t,e):De(t)}function wr(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var n=Ba(t);return Ea(t,n)}var ab=ad(function(t){return function(){t(this),this.name="EmptyError",this.message="no elements in sequence"}});function V5(t){return t instanceof Date&&!isNaN(t)}function tt(t,e){return qt(function(n,r){var a=0;n.subscribe(Vt(r,function(i){r.next(t.call(e,i,a++))}))})}var Y5=Array.isArray;function H5(t,e){return Y5(e)?t.apply(void 0,lr([],or(e))):t(e)}function ib(t){return tt(function(e){return H5(t,e)})}var W5=Array.isArray,X5=Object.getPrototypeOf,U5=Object.prototype,q5=Object.keys;function ob(t){if(t.length===1){var e=t[0];if(W5(e))return{args:e,keys:null};if(Z5(e)){var n=q5(e);return{args:n.map(function(r){return e[r]}),keys:n}}}return{args:t,keys:null}}function Z5(t){return t&&typeof t=="object"&&X5(t)===U5}function lb(t,e){return t.reduce(function(n,r,a){return n[r]=e[a],n},{})}function xt(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var n=Ba(t),r=Vy(t),a=ob(t),i=a.args,o=a.keys;if(i.length===0)return Ea([],n);var l=new wt(J5(i,n,o?function(u){return lb(o,u)}:wa));return r?l.pipe(ib(r)):l}function J5(t,e,n){return n===void 0&&(n=wa),function(r){sb(e,function(){for(var a=t.length,i=new Array(a),o=a,l=a,u=function(c){sb(e,function(){var d=Ea(t[c],e),f=!1;d.subscribe(Vt(r,function(h){i[c]=h,f||(f=!0,l--),l||r.next(n(i.slice()))},function(){--o||r.complete()}))},r)},s=0;s<a;s++)u(s)},r)}}function sb(t,e,n){t?sr(n,t,e):e()}function K5(t,e,n,r,a,i,o,l){var u=[],s=0,c=0,d=!1,f=function(){d&&!u.length&&!s&&e.complete()},h=function(g){return s<r?p(g):u.push(g)},p=function(g){s++;var m=!1;De(n(g,c++)).subscribe(Vt(e,function(b){e.next(b)},function(){m=!0},void 0,function(){if(m)try{s--;for(var b=function(){var y=u.shift();o||p(y)};u.length&&s<r;)b();f()}catch(y){e.error(y)}}))};return t.subscribe(Vt(e,h,function(){d=!0,f()})),function(){}}function ub(t,e,n){return n===void 0&&(n=1/0),zt(e)?ub(function(r,a){return tt(function(i,o){return e(r,i,a,o)})(De(t(r,a)))},n):(typeof e=="number"&&(n=e),qt(function(r,a){return K5(r,a,t,n)}))}function dd(t){return t===void 0&&(t=1/0),ub(wa,t)}function Q5(){return dd(1)}function cb(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return Q5()(Ea(t,Ba(t)))}function t6(t){return new wt(function(e){De(t()).subscribe(e)})}function fb(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var n=Vy(t),r=ob(t),a=r.args,i=r.keys,o=new wt(function(l){var u=a.length;if(!u){l.complete();return}for(var s=new Array(u),c=u,d=u,f=function(p){var g=!1;De(a[p]).subscribe(Vt(l,function(m){g||(g=!0,d--),s[p]=m},function(){return c--},void 0,function(){(!c||!g)&&(d||l.next(i?lb(i,s):s),l.complete())}))},h=0;h<u;h++)f(h)});return n?o.pipe(ib(n)):o}function db(t,e,n){return t6(function(){return t()?e:n})}function e6(t,e,n){n===void 0&&(n=T5);var r=-1;return e!=null&&(jy(e)?n=e:r=e),new wt(function(a){var i=V5(t)?250-n.now():t;i<0&&(i=0);var o=0;return n.schedule(function(){a.closed||(a.next(o++),0<=r?this.schedule(void 0,r):a.complete())},i)})}function n6(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var n=Ba(t),r=Yy(t,1/0),a=t;return a.length?a.length===1?De(a[0]):dd(r)(Ea(a,n)):lo}var r6=Array.isArray;function a6(t){return t.length===1&&r6(t[0])?t[0]:t}function hb(t,e){return qt(function(n,r){var a=0;n.subscribe(Vt(r,function(i){return t.call(e,i,a++)&&r.next(i)}))})}function ps(t){return qt(function(e,n){var r=null,a=!1,i;r=e.subscribe(Vt(n,void 0,void 0,function(o){i=De(t(o,ps(t)(e))),r?(r.unsubscribe(),r=null,i.subscribe(n)):a=!0})),a&&(r.unsubscribe(),r=null,i.subscribe(n))})}function i6(t,e){return e===void 0&&(e=cd),qt(function(n,r){var a=null,i=null,o=null,l=function(){if(a){a.unsubscribe(),a=null;var s=i;i=null,r.next(s)}};function u(){var s=o+t,c=e.now();if(c<s){a=this.schedule(void 0,s-c),r.add(a);return}l()}n.subscribe(Vt(r,function(s){i=s,o=e.now(),a||(a=e.schedule(u,t),r.add(a))},function(){l(),r.complete()},void 0,function(){i=a=null}))})}function o6(t){return qt(function(e,n){var r=!1;e.subscribe(Vt(n,function(a){r=!0,n.next(a)},function(){r||n.next(t),n.complete()}))})}function l6(t){return t<=0?function(){return lo}:qt(function(e,n){var r=0;e.subscribe(Vt(n,function(a){++r<=t&&(n.next(a),t<=r&&n.complete())}))})}function Rt(t,e){return e===void 0&&(e=wa),t=t??s6,qt(function(n,r){var a,i=!0;n.subscribe(Vt(r,function(o){var l=e(o);(i||!t(a,l))&&(i=!1,a=l,r.next(o))}))})}function s6(t,e){return t===e}function u6(t){return t===void 0&&(t=c6),qt(function(e,n){var r=!1;e.subscribe(Vt(n,function(a){r=!0,n.next(a)},function(){return r?n.complete():n.error(t())}))})}function c6(){return new ab}function f6(t,e){var n=arguments.length>=2;return function(r){return r.pipe(wa,l6(1),n?o6(e):u6(function(){return new ab}))}}function d6(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var n=Ba(t),r=Yy(t,1/0);return t=a6(t),qt(function(a,i){dd(r)(Ea(lr([a],or(t)),n)).subscribe(i)})}function h6(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return d6.apply(void 0,lr([],or(t)))}function hd(t){t===void 0&&(t={});var e=t.connector,n=e===void 0?function(){return new Mt}:e,r=t.resetOnError,a=r===void 0?!0:r,i=t.resetOnComplete,o=i===void 0?!0:i,l=t.resetOnRefCountZero,u=l===void 0?!0:l;return function(s){var c,d,f,h=0,p=!1,g=!1,m=function(){d==null||d.unsubscribe(),d=void 0},b=function(){m(),c=f=void 0,p=g=!1},y=function(){var x=c;b(),x==null||x.unsubscribe()};return qt(function(x,v){h++,!g&&!p&&m();var _=f=f??n();v.add(function(){h--,h===0&&!g&&!p&&(d=pd(y,u))}),_.subscribe(v),!c&&h>0&&(c=new oo({next:function(D){return _.next(D)},error:function(D){g=!0,m(),d=pd(b,a,D),_.error(D)},complete:function(){p=!0,m(),d=pd(b,o),_.complete()}}),De(x).subscribe(c))})(s)}}function pd(t,e){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];if(e===!0){t();return}if(e!==!1){var a=new oo({next:function(){a.unsubscribe(),t()}});return De(e.apply(void 0,lr([],or(n)))).subscribe(a)}}function X(t,e,n){var r,a=!1;return r=t,hd({connector:function(){return new A5(r,e,n)},resetOnError:!0,resetOnComplete:!1,resetOnRefCountZero:a})}function md(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var n=Ba(t);return qt(function(r,a){(n?cb(t,r,n):cb(t,r)).subscribe(a)})}function gt(t,e){return qt(function(n,r){var a=null,i=0,o=!1,l=function(){return o&&!a&&r.complete()};n.subscribe(Vt(r,function(u){a==null||a.unsubscribe();var s=0,c=i++;De(t(u,c)).subscribe(a=Vt(r,function(d){return r.next(e?e(u,d,c,s++):d)},function(){a=null,l()}))},function(){o=!0,l()}))})}function vt(t){return qt(function(e,n){De(t).subscribe(Vt(n,function(){return n.complete()},od)),!n.closed&&e.subscribe(n)})}function p6(t,e){return qt(function(n,r){var a=e??{},i=a.leading,o=i===void 0?!0:i,l=a.trailing,u=l===void 0?!1:l,s=!1,c=null,d=null,f=!1,h=function(){d==null||d.unsubscribe(),d=null,u&&(m(),f&&r.complete())},p=function(){d=null,f&&r.complete()},g=function(b){return d=De(t(b)).subscribe(Vt(r,h,p))},m=function(){if(s){s=!1;var b=c;c=null,r.next(b),!f&&g(b)}};n.subscribe(Vt(r,function(b){s=!0,c=b,!(d&&!d.closed)&&(o?m():g(b))},function(){f=!0,!(u&&s&&d&&!d.closed)&&r.complete()}))})}function m6(t,e,n){e===void 0&&(e=cd);var r=e6(t,e);return p6(function(){return r},n)}function pb(t){return new wt(e=>{const n=new ResizeObserver(r=>{const a=r[0];a&&a.contentRect&&e.next(a.contentRect)});return n.observe(t),function(){n.unobserve(t)}})}const ur=({datumList$:t,fullChartParams$:e,event$:n})=>{const r=new Mt,a=e.pipe(vt(r),tt(d=>d.highlightDefault||null),Rt(),tt(d=>({id:d,label:d,seriesLabel:d,groupLabel:d,categoryLabel:d})),X(1)),i=e.pipe(vt(r),tt(d=>d.highlightTarget),Rt(),X(1)).pipe(gt(d=>n.pipe(vt(r),hb(f=>f.eventName==="mouseover"),tt(f=>{const h=f;return h.datum?{id:h.datum.id,label:null,seriesLabel:d==="series"?h.datum.seriesLabel:null,groupLabel:d==="group"?h.datum.groupLabel:null,categoryLabel:d==="category"?h.datum.categoryLabel:null}:{id:null,label:null,seriesLabel:null,groupLabel:null,categoryLabel:null}})))),o=n.pipe(vt(r),hb(d=>d.eventName==="mouseout"),gt(d=>a));function l(d,f,h){return f==null&&h==null?[]:d.filter(p=>p.id===f||p.label===h)}function u(d,f){return f==null?[]:d.filter(h=>h.seriesLabel===f)}function s(d,f){return f==null?[]:d.filter(h=>h.groupLabel===f)}function c(d,f){return f==null?[]:d.filter(h=>h.categoryLabel===f)}return new wt(d=>(xt({target:n6(i,o,a),datumList:t,fullChartParams:e}).pipe(vt(r),gt(async f=>f)).subscribe(f=>{let h=[];f.fullChartParams.highlightTarget==="datum"?h=l(f.datumList,f.target.id,f.target.label):f.fullChartParams.highlightTarget==="series"?h=u(f.datumList,f.target.seriesLabel):f.fullChartParams.highlightTarget==="group"?h=s(f.datumList,f.target.groupLabel):f.fullChartParams.highlightTarget==="category"&&(h=c(f.datumList,f.target.categoryLabel)),d.next(h)}),function(){r.next(void 0)}))},ms=({datumList$:t})=>t.pipe(tt(e=>{const n=new Map;return e.forEach(r=>{const a=n.get(r.seriesLabel)??[];a.push(r),n.set(r.seriesLabel,a)}),n})),gd=({datumList$:t})=>t.pipe(tt(e=>{const n=new Map;return e.forEach(r=>{const a=n.get(r.groupLabel)??[];a.push(r),n.set(r.groupLabel,a)}),n})),so=({datumList$:t})=>t.pipe(tt(e=>{const n=new Map;return e.filter(r=>r.categoryLabel!=null).forEach(r=>{const a=n.get(r.categoryLabel)??[];a.push(r),n.set(r.categoryLabel,a)}),n})),Br=t=>t.pipe(tt(e=>e.styles.textSize),Rt(),tt(e=>{let n=NaN;if(typeof e=="string")if(e.includes("rem")){const r=parseFloat(getComputedStyle(document.documentElement).fontSize);n=parseFloat(e)*r}else e.includes("px")&&(n=parseFloat(e));else if(typeof e=="number")return e;return n||14})),gs=({layout$:t,containerPosition$:e,container$:n})=>{const r=e.pipe(tt(i=>i.reduce((o,l)=>l.rowIndex>o?l.rowIndex:o,0)+1),Rt()),a=e.pipe(tt(i=>i.reduce((o,l)=>l.columnIndex>o?l.columnIndex:o,0)+1),Rt());return xt({layout:t,rowAmount:r,columnAmount:a,container:n}).pipe(gt(async i=>i),tt(i=>{const o=i.container.columnGap==="auto"?i.layout.left+i.layout.right:i.container.columnGap,l=i.container.rowGap==="auto"?i.layout.top+i.layout.bottom:i.container.rowGap,u=(i.layout.rootWidth-i.layout.left-i.layout.right-o*(i.columnAmount-1))/i.columnAmount,s=(i.layout.rootHeight-i.layout.top-i.layout.bottom-l*(i.rowAmount-1))/i.rowAmount;return{width:u,height:s}}),Rt((i,o)=>i.width===o.width&&i.height===o.height))},g6=({computedData$:t})=>{const e=new Set;return t.pipe(tt(n=>(n.forEach(r=>{r.forEach(a=>{e.add(a.label)})}),Array.from(e))))},y6=({fullDataFormatter$:t})=>t.pipe(tt(e=>e.separateSeries),Rt()),b6=({fullDataFormatter$:t})=>t.pipe(tt(e=>e.separateLabel),Rt()),x6=({fullDataFormatter$:t})=>t.pipe(tt(e=>e.sumSeries),Rt()),v6=({computedData$:t})=>t.pipe(tt(e=>e.filter(n=>n.length).map(n=>n[0].seriesLabel)),Rt((e,n)=>JSON.stringify(e)===JSON.stringify(n))),$6=({computedData$:t})=>t.pipe(tt(e=>e.map(n=>n.filter(r=>r.visible!=!1)))),S6=({computedData$:t,separateSeries$:e,separateLabel$:n,sumSeries$:r,datumLabels$:a})=>xt({computedData:t,separateSeries:e,separateLabel:n,sumSeries:r,datumLabels:a}).pipe(gt(async i=>i),tt(i=>{const o=i.sumSeries==!0?i.computedData.map(s=>[s.reduce((c,d)=>c==null?d:(c.value=c.value+d.value,c),null)]):i.computedData,l=i.separateSeries==!0?o:[o.flat()],u=i.separateLabel==!0?(()=>{const s=i.datumLabels.reduce((c,d,f)=>(c[d]=f,c),{});return l.map(c=>c.reduce((d,f)=>{const h=s[f.label];return d[h]==null&&(d[h]=[]),d[h].push(f),d},[])).flat()})():l;return i.separateSeries==!0&&i.separateLabel==!0?u.sort((s,c)=>s[0].seq-c[0].seq):u.map(s=>s.sort((c,d)=>c.seq-d.seq))})),D6=({computedSortedData$:t,fullDataFormatter$:e,layout$:n})=>xt({computedSortedData:t,fullDataFormatter:e,layout:n}).pipe(gt(async r=>r),tt(r=>{const a=r.computedSortedData.length;return By(r.layout,r.fullDataFormatter.container,a)})),_6=({seriesContainerPosition$:t,computedSortedData$:e})=>xt({seriesContainerPosition:t,computedSortedData:e}).pipe(gt(async n=>n),tt(n=>new Map(n.computedSortedData.map((r,a)=>r.map(i=>[i.id,n.seriesContainerPosition[a]])).flat()))),A6=({subject:t,observer:e})=>{const n=Br(e.fullChartParams$).pipe(X(1)),r=g6({computedData$:e.computedData$}).pipe(X(1)),a=y6({fullDataFormatter$:e.fullDataFormatter$}).pipe(X(1)),i=b6({fullDataFormatter$:e.fullDataFormatter$}).pipe(X(1)),o=x6({fullDataFormatter$:e.fullDataFormatter$}).pipe(X(1)),l=S6({computedData$:e.computedData$,separateSeries$:a,separateLabel$:i,sumSeries$:o,datumLabels$:r}).pipe(X(1)),u=$6({computedData$:l}).pipe(X(1)),s=e.computedData$.pipe(tt(g=>g.flat())).pipe(X(1)),c=ur({datumList$:s,fullChartParams$:e.fullChartParams$,event$:t.event$}).pipe(X(1)),d=v6({computedData$:e.computedData$}).pipe(X(1)),f=ms({datumList$:s}).pipe(X(1)),h=D6({computedSortedData$:l,fullDataFormatter$:e.fullDataFormatter$,layout$:e.layout$}).pipe(X(1)),p=_6({seriesContainerPosition$:h,computedSortedData$:l}).pipe(X(1));return{fullParams$:e.fullParams$,fullChartParams$:e.fullChartParams$,fullDataFormatter$:e.fullDataFormatter$,computedData$:e.computedData$,layout$:e.layout$,textSizePx$:n,visibleComputedSortedData$:u,separateSeries$:a,separateLabel$:i,sumSeries$:o,computedSortedData$:l,seriesHighlight$:c,seriesLabels$:d,SeriesDataMap$:f,seriesContainerPosition$:h,DatumContainerPositionMap$:p}},Ne=({maxValue:t=1,minValue:e=0,axisWidth:n,scaleDomain:r=$e.scaleDomain,scaleRange:a=$e.scaleRange,reverse:i=!1})=>{const o=r[0]??$e.scaleDomain[0],l=r[1]??$e.scaleDomain[1],u=a[0]??$e.scaleRange[0],s=a[1]??$e.scaleRange[1];let c=o==="auto"?e<0?e:0:o==="min"?e:o,d=l==="auto"?t>=0?t:0:l==="max"?t:l;const f=t-(t-c)/(1-u),h=d/s;return i?no().domain([f,h]).range([n,0]):no().domain([f,h]).range([0,n])},C6=({maxValue:t=1,minValue:e=0,axisWidth:n,scaleDomain:r=$e.scaleDomain,scaleRange:a=$e.scaleRange,reverse:i=!1})=>{e===t&&(t+=1,e-=1);const o=r[0]??$e.scaleDomain[0],l=r[1]??$e.scaleDomain[1],u=a[0]??$e.scaleRange[0],s=a[1]??$e.scaleRange[1];let c=o==="auto"?e<0?e:0:o==="min"?e:o,d=l==="auto"?t>=0?t:0:l==="max"?t:l;const f=t-(t-c)/(1-u),h=d/s;return i?no().domain([n,0]).range([f,h]):no().domain([0,n]).range([f,h])},P6=({axisLabels:t,axisWidth:e,padding:n=.5})=>{let r=[0,e];return Uw().domain(t).range(r).padding(n)},F6=({axisLabels:t,axisWidth:e,padding:n=0,reverse:r=!1})=>{let a=t.map((u,s)=>s);r&&a.reverse(),a.length||(a=[0]);const i=a.length-1+n*2,o=e/i,l=o*n-o*.5;return Dy().domain([l,e-l]).range(a)};function mb(t){return`[OrbCharts ${t}]:`}function En(t){return`${mb("error")} ${t.message}`}function yd({from:t,systemMessage:e}){return`unexpected error from '${t}':
4
- ${e}`}function Er({columnName:t,expectToBe:e,from:n}){return`Invalid value: '${t}' must be '${e}'
1
+ (function(q,tr){typeof exports=="object"&&typeof module<"u"?tr(exports):typeof define=="function"&&define.amd?define(["exports"],tr):(q=typeof globalThis<"u"?globalThis:q||self,tr(q.orbcharts={}))})(this,function(q){"use strict";var tr=function(e,t){return tr=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,r){n.__proto__=r}||function(n,r){for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(n[i]=r[i])},tr(e,t)};function jt(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");tr(e,t);function n(){this.constructor=e}e.prototype=t===null?Object.create(t):(n.prototype=t.prototype,new n)}function Av(e,t,n,r){function i(o){return o instanceof n?o:new n(function(a){a(o)})}return new(n||(n=Promise))(function(o,a){function s(u){try{l(r.next(u))}catch(h){a(h)}}function c(u){try{l(r.throw(u))}catch(h){a(h)}}function l(u){u.done?o(u.value):i(u.value).then(s,c)}l((r=r.apply(e,t||[])).next())})}function Uh(e,t){var n={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},r,i,o,a=Object.create((typeof Iterator=="function"?Iterator:Object).prototype);return a.next=s(0),a.throw=s(1),a.return=s(2),typeof Symbol=="function"&&(a[Symbol.iterator]=function(){return this}),a;function s(l){return function(u){return c([l,u])}}function c(l){if(r)throw new TypeError("Generator is already executing.");for(;a&&(a=0,l[0]&&(n=0)),n;)try{if(r=1,i&&(o=l[0]&2?i.return:l[0]?i.throw||((o=i.return)&&o.call(i),0):i.next)&&!(o=o.call(i,l[1])).done)return o;switch(i=0,o&&(l=[l[0]&2,o.value]),l[0]){case 0:case 1:o=l;break;case 4:return n.label++,{value:l[1],done:!1};case 5:n.label++,i=l[1],l=[0];continue;case 7:l=n.ops.pop(),n.trys.pop();continue;default:if(o=n.trys,!(o=o.length>0&&o[o.length-1])&&(l[0]===6||l[0]===2)){n=0;continue}if(l[0]===3&&(!o||l[1]>o[0]&&l[1]<o[3])){n.label=l[1];break}if(l[0]===6&&n.label<o[1]){n.label=o[1],o=l;break}if(o&&n.label<o[2]){n.label=o[2],n.ops.push(l);break}o[2]&&n.ops.pop(),n.trys.pop();continue}l=t.call(e,n)}catch(u){l=[6,u],i=0}finally{r=o=0}if(l[0]&5)throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}}function Br(e){var t=typeof Symbol=="function"&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&typeof e.length=="number")return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function nr(e,t){var n=typeof Symbol=="function"&&e[Symbol.iterator];if(!n)return e;var r=n.call(e),i,o=[],a;try{for(;(t===void 0||t-- >0)&&!(i=r.next()).done;)o.push(i.value)}catch(s){a={error:s}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(a)throw a.error}}return o}function Ir(e,t,n){if(n||arguments.length===2)for(var r=0,i=t.length,o;r<i;r++)(o||!(r in t))&&(o||(o=Array.prototype.slice.call(t,0,r)),o[r]=t[r]);return e.concat(o||Array.prototype.slice.call(t))}function Nr(e){return this instanceof Nr?(this.v=e,this):new Nr(e)}function Tv(e,t,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r=n.apply(e,t||[]),i,o=[];return i=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),s("next"),s("throw"),s("return",a),i[Symbol.asyncIterator]=function(){return this},i;function a(p){return function(g){return Promise.resolve(g).then(p,h)}}function s(p,g){r[p]&&(i[p]=function(m){return new Promise(function(d,y){o.push([p,m,d,y])>1||c(p,m)})},g&&(i[p]=g(i[p])))}function c(p,g){try{l(r[p](g))}catch(m){f(o[0][3],m)}}function l(p){p.value instanceof Nr?Promise.resolve(p.value.v).then(u,h):f(o[0][2],p)}function u(p){c("next",p)}function h(p){c("throw",p)}function f(p,g){p(g),o.shift(),o.length&&c(o[0][0],o[0][1])}}function wv(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t=e[Symbol.asyncIterator],n;return t?t.call(e):(e=typeof Br=="function"?Br(e):e[Symbol.iterator](),n={},r("next"),r("throw"),r("return"),n[Symbol.asyncIterator]=function(){return this},n);function r(o){n[o]=e[o]&&function(a){return new Promise(function(s,c){a=e[o](a),i(s,c,a.done,a.value)})}}function i(o,a,s,c){Promise.resolve(c).then(function(l){o({value:l,done:s})},a)}}typeof SuppressedError=="function"&&SuppressedError;function Se(e){return typeof e=="function"}function Il(e){var t=function(r){Error.call(r),r.stack=new Error().stack},n=e(t);return n.prototype=Object.create(Error.prototype),n.prototype.constructor=n,n}var Nl=Il(function(e){return function(n){e(this),this.message=n?n.length+` errors occurred during unsubscription:
2
+ `+n.map(function(r,i){return i+1+") "+r.toString()}).join(`
3
+ `):"",this.name="UnsubscriptionError",this.errors=n}});function ea(e,t){if(e){var n=e.indexOf(t);0<=n&&e.splice(n,1)}}var Bi=function(){function e(t){this.initialTeardown=t,this.closed=!1,this._parentage=null,this._finalizers=null}return e.prototype.unsubscribe=function(){var t,n,r,i,o;if(!this.closed){this.closed=!0;var a=this._parentage;if(a)if(this._parentage=null,Array.isArray(a))try{for(var s=Br(a),c=s.next();!c.done;c=s.next()){var l=c.value;l.remove(this)}}catch(m){t={error:m}}finally{try{c&&!c.done&&(n=s.return)&&n.call(s)}finally{if(t)throw t.error}}else a.remove(this);var u=this.initialTeardown;if(Se(u))try{u()}catch(m){o=m instanceof Nl?m.errors:[m]}var h=this._finalizers;if(h){this._finalizers=null;try{for(var f=Br(h),p=f.next();!p.done;p=f.next()){var g=p.value;try{Zh(g)}catch(m){o=o??[],m instanceof Nl?o=Ir(Ir([],nr(o)),nr(m.errors)):o.push(m)}}}catch(m){r={error:m}}finally{try{p&&!p.done&&(i=f.return)&&i.call(f)}finally{if(r)throw r.error}}}if(o)throw new Nl(o)}},e.prototype.add=function(t){var n;if(t&&t!==this)if(this.closed)Zh(t);else{if(t instanceof e){if(t.closed||t._hasParent(this))return;t._addParent(this)}(this._finalizers=(n=this._finalizers)!==null&&n!==void 0?n:[]).push(t)}},e.prototype._hasParent=function(t){var n=this._parentage;return n===t||Array.isArray(n)&&n.includes(t)},e.prototype._addParent=function(t){var n=this._parentage;this._parentage=Array.isArray(n)?(n.push(t),n):n?[n,t]:t},e.prototype._removeParent=function(t){var n=this._parentage;n===t?this._parentage=null:Array.isArray(n)&&ea(n,t)},e.prototype.remove=function(t){var n=this._finalizers;n&&ea(n,t),t instanceof e&&t._removeParent(this)},e.EMPTY=function(){var t=new e;return t.closed=!0,t}(),e}(),qh=Bi.EMPTY;function Kh(e){return e instanceof Bi||e&&"closed"in e&&Se(e.remove)&&Se(e.add)&&Se(e.unsubscribe)}function Zh(e){Se(e)?e():e.unsubscribe()}var _v={Promise:void 0},Dv={setTimeout:function(e,t){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];return setTimeout.apply(void 0,Ir([e,t],nr(n)))},clearTimeout:function(e){return clearTimeout(e)},delegate:void 0};function Jh(e){Dv.setTimeout(function(){throw e})}function Ol(){}function ta(e){e()}var zl=function(e){jt(t,e);function t(n){var r=e.call(this)||this;return r.isStopped=!1,n?(r.destination=n,Kh(n)&&n.add(r)):r.destination=Cv,r}return t.create=function(n,r,i){return new Ii(n,r,i)},t.prototype.next=function(n){this.isStopped||this._next(n)},t.prototype.error=function(n){this.isStopped||(this.isStopped=!0,this._error(n))},t.prototype.complete=function(){this.isStopped||(this.isStopped=!0,this._complete())},t.prototype.unsubscribe=function(){this.closed||(this.isStopped=!0,e.prototype.unsubscribe.call(this),this.destination=null)},t.prototype._next=function(n){this.destination.next(n)},t.prototype._error=function(n){try{this.destination.error(n)}finally{this.unsubscribe()}},t.prototype._complete=function(){try{this.destination.complete()}finally{this.unsubscribe()}},t}(Bi),Pv=function(){function e(t){this.partialObserver=t}return e.prototype.next=function(t){var n=this.partialObserver;if(n.next)try{n.next(t)}catch(r){na(r)}},e.prototype.error=function(t){var n=this.partialObserver;if(n.error)try{n.error(t)}catch(r){na(r)}else na(t)},e.prototype.complete=function(){var t=this.partialObserver;if(t.complete)try{t.complete()}catch(n){na(n)}},e}(),Ii=function(e){jt(t,e);function t(n,r,i){var o=e.call(this)||this,a;return Se(n)||!n?a={next:n??void 0,error:r??void 0,complete:i??void 0}:a=n,o.destination=new Pv(a),o}return t}(zl);function na(e){Jh(e)}function Mv(e){throw e}var Cv={closed:!0,next:Ol,error:Mv,complete:Ol},Fl=function(){return typeof Symbol=="function"&&Symbol.observable||"@@observable"}();function Or(e){return e}function Lv(e){return e.length===0?Or:e.length===1?e[0]:function(n){return e.reduce(function(r,i){return i(r)},n)}}var me=function(){function e(t){t&&(this._subscribe=t)}return e.prototype.lift=function(t){var n=new e;return n.source=this,n.operator=t,n},e.prototype.subscribe=function(t,n,r){var i=this,o=Ev(t)?t:new Ii(t,n,r);return ta(function(){var a=i,s=a.operator,c=a.source;o.add(s?s.call(o,c):c?i._subscribe(o):i._trySubscribe(o))}),o},e.prototype._trySubscribe=function(t){try{return this._subscribe(t)}catch(n){t.error(n)}},e.prototype.forEach=function(t,n){var r=this;return n=Qh(n),new n(function(i,o){var a=new Ii({next:function(s){try{t(s)}catch(c){o(c),a.unsubscribe()}},error:o,complete:i});r.subscribe(a)})},e.prototype._subscribe=function(t){var n;return(n=this.source)===null||n===void 0?void 0:n.subscribe(t)},e.prototype[Fl]=function(){return this},e.prototype.pipe=function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return Lv(t)(this)},e.prototype.toPromise=function(t){var n=this;return t=Qh(t),new t(function(r,i){var o;n.subscribe(function(a){return o=a},function(a){return i(a)},function(){return r(o)})})},e.create=function(t){return new e(t)},e}();function Qh(e){var t;return(t=e??_v.Promise)!==null&&t!==void 0?t:Promise}function kv(e){return e&&Se(e.next)&&Se(e.error)&&Se(e.complete)}function Ev(e){return e&&e instanceof zl||kv(e)&&Kh(e)}function Rv(e){return Se(e==null?void 0:e.lift)}function gt(e){return function(t){if(Rv(t))return t.lift(function(n){try{return e(n,this)}catch(r){this.error(r)}});throw new TypeError("Unable to lift unknown Observable type")}}function nt(e,t,n,r,i){return new Bv(e,t,n,r,i)}var Bv=function(e){jt(t,e);function t(n,r,i,o,a,s){var c=e.call(this,n)||this;return c.onFinalize=a,c.shouldUnsubscribe=s,c._next=r?function(l){try{r(l)}catch(u){n.error(u)}}:e.prototype._next,c._error=o?function(l){try{o(l)}catch(u){n.error(u)}finally{this.unsubscribe()}}:e.prototype._error,c._complete=i?function(){try{i()}catch(l){n.error(l)}finally{this.unsubscribe()}}:e.prototype._complete,c}return t.prototype.unsubscribe=function(){var n;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){var r=this.closed;e.prototype.unsubscribe.call(this),!r&&((n=this.onFinalize)===null||n===void 0||n.call(this))}},t}(zl),Iv=Il(function(e){return function(){e(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"}}),J=function(e){jt(t,e);function t(){var n=e.call(this)||this;return n.closed=!1,n.currentObservers=null,n.observers=[],n.isStopped=!1,n.hasError=!1,n.thrownError=null,n}return t.prototype.lift=function(n){var r=new ep(this,this);return r.operator=n,r},t.prototype._throwIfClosed=function(){if(this.closed)throw new Iv},t.prototype.next=function(n){var r=this;ta(function(){var i,o;if(r._throwIfClosed(),!r.isStopped){r.currentObservers||(r.currentObservers=Array.from(r.observers));try{for(var a=Br(r.currentObservers),s=a.next();!s.done;s=a.next()){var c=s.value;c.next(n)}}catch(l){i={error:l}}finally{try{s&&!s.done&&(o=a.return)&&o.call(a)}finally{if(i)throw i.error}}}})},t.prototype.error=function(n){var r=this;ta(function(){if(r._throwIfClosed(),!r.isStopped){r.hasError=r.isStopped=!0,r.thrownError=n;for(var i=r.observers;i.length;)i.shift().error(n)}})},t.prototype.complete=function(){var n=this;ta(function(){if(n._throwIfClosed(),!n.isStopped){n.isStopped=!0;for(var r=n.observers;r.length;)r.shift().complete()}})},t.prototype.unsubscribe=function(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null},Object.defineProperty(t.prototype,"observed",{get:function(){var n;return((n=this.observers)===null||n===void 0?void 0:n.length)>0},enumerable:!1,configurable:!0}),t.prototype._trySubscribe=function(n){return this._throwIfClosed(),e.prototype._trySubscribe.call(this,n)},t.prototype._subscribe=function(n){return this._throwIfClosed(),this._checkFinalizedStatuses(n),this._innerSubscribe(n)},t.prototype._innerSubscribe=function(n){var r=this,i=this,o=i.hasError,a=i.isStopped,s=i.observers;return o||a?qh:(this.currentObservers=null,s.push(n),new Bi(function(){r.currentObservers=null,ea(s,n)}))},t.prototype._checkFinalizedStatuses=function(n){var r=this,i=r.hasError,o=r.thrownError,a=r.isStopped;i?n.error(o):a&&n.complete()},t.prototype.asObservable=function(){var n=new me;return n.source=this,n},t.create=function(n,r){return new ep(n,r)},t}(me),ep=function(e){jt(t,e);function t(n,r){var i=e.call(this)||this;return i.destination=n,i.source=r,i}return t.prototype.next=function(n){var r,i;(i=(r=this.destination)===null||r===void 0?void 0:r.next)===null||i===void 0||i.call(r,n)},t.prototype.error=function(n){var r,i;(i=(r=this.destination)===null||r===void 0?void 0:r.error)===null||i===void 0||i.call(r,n)},t.prototype.complete=function(){var n,r;(r=(n=this.destination)===null||n===void 0?void 0:n.complete)===null||r===void 0||r.call(n)},t.prototype._subscribe=function(n){var r,i;return(i=(r=this.source)===null||r===void 0?void 0:r.subscribe(n))!==null&&i!==void 0?i:qh},t}(J),Ee=function(e){jt(t,e);function t(n){var r=e.call(this)||this;return r._value=n,r}return Object.defineProperty(t.prototype,"value",{get:function(){return this.getValue()},enumerable:!1,configurable:!0}),t.prototype._subscribe=function(n){var r=e.prototype._subscribe.call(this,n);return!r.closed&&n.next(this._value),r},t.prototype.getValue=function(){var n=this,r=n.hasError,i=n.thrownError,o=n._value;if(r)throw i;return this._throwIfClosed(),o},t.prototype.next=function(n){e.prototype.next.call(this,this._value=n)},t}(J),Yl={now:function(){return(Yl.delegate||Date).now()},delegate:void 0},Nv=function(e){jt(t,e);function t(n,r,i){n===void 0&&(n=1/0),r===void 0&&(r=1/0),i===void 0&&(i=Yl);var o=e.call(this)||this;return o._bufferSize=n,o._windowTime=r,o._timestampProvider=i,o._buffer=[],o._infiniteTimeWindow=!0,o._infiniteTimeWindow=r===1/0,o._bufferSize=Math.max(1,n),o._windowTime=Math.max(1,r),o}return t.prototype.next=function(n){var r=this,i=r.isStopped,o=r._buffer,a=r._infiniteTimeWindow,s=r._timestampProvider,c=r._windowTime;i||(o.push(n),!a&&o.push(s.now()+c)),this._trimBuffer(),e.prototype.next.call(this,n)},t.prototype._subscribe=function(n){this._throwIfClosed(),this._trimBuffer();for(var r=this._innerSubscribe(n),i=this,o=i._infiniteTimeWindow,a=i._buffer,s=a.slice(),c=0;c<s.length&&!n.closed;c+=o?1:2)n.next(s[c]);return this._checkFinalizedStatuses(n),r},t.prototype._trimBuffer=function(){var n=this,r=n._bufferSize,i=n._timestampProvider,o=n._buffer,a=n._infiniteTimeWindow,s=(a?1:2)*r;if(r<1/0&&s<o.length&&o.splice(0,o.length-s),!a){for(var c=i.now(),l=0,u=1;u<o.length&&o[u]<=c;u+=2)l=u;l&&o.splice(0,l+1)}},t}(J),Ov=function(e){jt(t,e);function t(n,r){return e.call(this)||this}return t.prototype.schedule=function(n,r){return this},t}(Bi),tp={setInterval:function(e,t){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];return setInterval.apply(void 0,Ir([e,t],nr(n)))},clearInterval:function(e){return clearInterval(e)},delegate:void 0},zv=function(e){jt(t,e);function t(n,r){var i=e.call(this,n,r)||this;return i.scheduler=n,i.work=r,i.pending=!1,i}return t.prototype.schedule=function(n,r){var i;if(r===void 0&&(r=0),this.closed)return this;this.state=n;var o=this.id,a=this.scheduler;return o!=null&&(this.id=this.recycleAsyncId(a,o,r)),this.pending=!0,this.delay=r,this.id=(i=this.id)!==null&&i!==void 0?i:this.requestAsyncId(a,this.id,r),this},t.prototype.requestAsyncId=function(n,r,i){return i===void 0&&(i=0),tp.setInterval(n.flush.bind(n,this),i)},t.prototype.recycleAsyncId=function(n,r,i){if(i===void 0&&(i=0),i!=null&&this.delay===i&&this.pending===!1)return r;r!=null&&tp.clearInterval(r)},t.prototype.execute=function(n,r){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;var i=this._execute(n,r);if(i)return i;this.pending===!1&&this.id!=null&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))},t.prototype._execute=function(n,r){var i=!1,o;try{this.work(n)}catch(a){i=!0,o=a||new Error("Scheduled action threw falsy error")}if(i)return this.unsubscribe(),o},t.prototype.unsubscribe=function(){if(!this.closed){var n=this,r=n.id,i=n.scheduler,o=i.actions;this.work=this.state=this.scheduler=null,this.pending=!1,ea(o,this),r!=null&&(this.id=this.recycleAsyncId(i,r,null)),this.delay=null,e.prototype.unsubscribe.call(this)}},t}(Ov),np=function(){function e(t,n){n===void 0&&(n=e.now),this.schedulerActionCtor=t,this.now=n}return e.prototype.schedule=function(t,n,r){return n===void 0&&(n=0),new this.schedulerActionCtor(this,t).schedule(r,n)},e.now=Yl.now,e}(),Fv=function(e){jt(t,e);function t(n,r){r===void 0&&(r=np.now);var i=e.call(this,n,r)||this;return i.actions=[],i._active=!1,i}return t.prototype.flush=function(n){var r=this.actions;if(this._active){r.push(n);return}var i;this._active=!0;do if(i=n.execute(n.state,n.delay))break;while(n=r.shift());if(this._active=!1,i){for(;n=r.shift();)n.unsubscribe();throw i}},t}(np),Yv=new Fv(zv),pn=new me(function(e){return e.complete()});function Wv(e){return e&&Se(e.schedule)}function Wl(e){return e[e.length-1]}function Gv(e){return Se(Wl(e))?e.pop():void 0}function Gl(e){return Wv(Wl(e))?e.pop():void 0}function Vv(e,t){return typeof Wl(e)=="number"?e.pop():t}var Vl=function(e){return e&&typeof e.length=="number"&&typeof e!="function"};function rp(e){return Se(e==null?void 0:e.then)}function ip(e){return Se(e[Fl])}function op(e){return Symbol.asyncIterator&&Se(e==null?void 0:e[Symbol.asyncIterator])}function ap(e){return new TypeError("You provided "+(e!==null&&typeof e=="object"?"an invalid object":"'"+e+"'")+" where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.")}function Xv(){return typeof Symbol!="function"||!Symbol.iterator?"@@iterator":Symbol.iterator}var sp=Xv();function lp(e){return Se(e==null?void 0:e[sp])}function cp(e){return Tv(this,arguments,function(){var n,r,i,o;return Uh(this,function(a){switch(a.label){case 0:n=e.getReader(),a.label=1;case 1:a.trys.push([1,,9,10]),a.label=2;case 2:return[4,Nr(n.read())];case 3:return r=a.sent(),i=r.value,o=r.done,o?[4,Nr(void 0)]:[3,5];case 4:return[2,a.sent()];case 5:return[4,Nr(i)];case 6:return[4,a.sent()];case 7:return a.sent(),[3,2];case 8:return[3,10];case 9:return n.releaseLock(),[7];case 10:return[2]}})})}function up(e){return Se(e==null?void 0:e.getReader)}function St(e){if(e instanceof me)return e;if(e!=null){if(ip(e))return jv(e);if(Vl(e))return Hv(e);if(rp(e))return Uv(e);if(op(e))return fp(e);if(lp(e))return qv(e);if(up(e))return Kv(e)}throw ap(e)}function jv(e){return new me(function(t){var n=e[Fl]();if(Se(n.subscribe))return n.subscribe(t);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}function Hv(e){return new me(function(t){for(var n=0;n<e.length&&!t.closed;n++)t.next(e[n]);t.complete()})}function Uv(e){return new me(function(t){e.then(function(n){t.closed||(t.next(n),t.complete())},function(n){return t.error(n)}).then(null,Jh)})}function qv(e){return new me(function(t){var n,r;try{for(var i=Br(e),o=i.next();!o.done;o=i.next()){var a=o.value;if(t.next(a),t.closed)return}}catch(s){n={error:s}}finally{try{o&&!o.done&&(r=i.return)&&r.call(i)}finally{if(n)throw n.error}}t.complete()})}function fp(e){return new me(function(t){Zv(e,t).catch(function(n){return t.error(n)})})}function Kv(e){return fp(cp(e))}function Zv(e,t){var n,r,i,o;return Av(this,void 0,void 0,function(){var a,s;return Uh(this,function(c){switch(c.label){case 0:c.trys.push([0,5,6,11]),n=wv(e),c.label=1;case 1:return[4,n.next()];case 2:if(r=c.sent(),!!r.done)return[3,4];if(a=r.value,t.next(a),t.closed)return[2];c.label=3;case 3:return[3,1];case 4:return[3,11];case 5:return s=c.sent(),i={error:s},[3,11];case 6:return c.trys.push([6,,9,10]),r&&!r.done&&(o=n.return)?[4,o.call(n)]:[3,8];case 7:c.sent(),c.label=8;case 8:return[3,10];case 9:if(i)throw i.error;return[7];case 10:return[7];case 11:return t.complete(),[2]}})})}function En(e,t,n,r,i){r===void 0&&(r=0),i===void 0&&(i=!1);var o=t.schedule(function(){n(),i?e.add(this.schedule(null,r)):this.unsubscribe()},r);if(e.add(o),!i)return o}function hp(e,t){return t===void 0&&(t=0),gt(function(n,r){n.subscribe(nt(r,function(i){return En(r,e,function(){return r.next(i)},t)},function(){return En(r,e,function(){return r.complete()},t)},function(i){return En(r,e,function(){return r.error(i)},t)}))})}function pp(e,t){return t===void 0&&(t=0),gt(function(n,r){r.add(e.schedule(function(){return n.subscribe(r)},t))})}function Jv(e,t){return St(e).pipe(pp(t),hp(t))}function Qv(e,t){return St(e).pipe(pp(t),hp(t))}function e$(e,t){return new me(function(n){var r=0;return t.schedule(function(){r===e.length?n.complete():(n.next(e[r++]),n.closed||this.schedule())})})}function t$(e,t){return new me(function(n){var r;return En(n,t,function(){r=e[sp](),En(n,t,function(){var i,o,a;try{i=r.next(),o=i.value,a=i.done}catch(s){n.error(s);return}a?n.complete():n.next(o)},0,!0)}),function(){return Se(r==null?void 0:r.return)&&r.return()}})}function dp(e,t){if(!e)throw new Error("Iterable cannot be null");return new me(function(n){En(n,t,function(){var r=e[Symbol.asyncIterator]();En(n,t,function(){r.next().then(function(i){i.done?n.complete():n.next(i.value)})},0,!0)})})}function n$(e,t){return dp(cp(e),t)}function r$(e,t){if(e!=null){if(ip(e))return Jv(e,t);if(Vl(e))return e$(e,t);if(rp(e))return Qv(e,t);if(op(e))return dp(e,t);if(lp(e))return t$(e,t);if(up(e))return n$(e,t)}throw ap(e)}function ra(e,t){return t?r$(e,t):St(e)}function Mt(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=Gl(e);return ra(e,n)}var gp=Il(function(e){return function(){e(this),this.name="EmptyError",this.message="no elements in sequence"}});function A(e,t){return gt(function(n,r){var i=0;n.subscribe(nt(r,function(o){r.next(e.call(t,o,i++))}))})}var i$=Array.isArray;function o$(e,t){return i$(t)?e.apply(void 0,Ir([],nr(t))):e(t)}function mp(e){return A(function(t){return o$(e,t)})}var a$=Array.isArray,s$=Object.getPrototypeOf,l$=Object.prototype,c$=Object.keys;function u$(e){if(e.length===1){var t=e[0];if(a$(t))return{args:t,keys:null};if(f$(t)){var n=c$(t);return{args:n.map(function(r){return t[r]}),keys:n}}}return{args:e,keys:null}}function f$(e){return e&&typeof e=="object"&&s$(e)===l$}function h$(e,t){return e.reduce(function(n,r,i){return n[r]=t[i],n},{})}function N(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=Gl(e),r=Gv(e),i=u$(e),o=i.args,a=i.keys;if(o.length===0)return ra([],n);var s=new me(p$(o,n,a?function(c){return h$(a,c)}:Or));return r?s.pipe(mp(r)):s}function p$(e,t,n){return n===void 0&&(n=Or),function(r){yp(t,function(){for(var i=e.length,o=new Array(i),a=i,s=i,c=function(u){yp(t,function(){var h=ra(e[u],t),f=!1;h.subscribe(nt(r,function(p){o[u]=p,f||(f=!0,s--),s||r.next(n(o.slice()))},function(){--a||r.complete()}))},r)},l=0;l<i;l++)c(l)},r)}}function yp(e,t,n){e?En(n,e,t):t()}function d$(e,t,n,r,i,o,a,s){var c=[],l=0,u=0,h=!1,f=function(){h&&!c.length&&!l&&t.complete()},p=function(m){return l<r?g(m):c.push(m)},g=function(m){l++;var d=!1;St(n(m,u++)).subscribe(nt(t,function(y){t.next(y)},function(){d=!0},void 0,function(){if(d)try{l--;for(var y=function(){var b=c.shift();a||g(b)};c.length&&l<r;)y();f()}catch(b){t.error(b)}}))};return e.subscribe(nt(t,p,function(){h=!0,f()})),function(){}}function Xl(e,t,n){return n===void 0&&(n=1/0),Se(t)?Xl(function(r,i){return A(function(o,a){return t(r,o,i,a)})(St(e(r,i)))},n):(typeof t=="number"&&(n=t),gt(function(r,i){return d$(r,i,e,n)}))}function g$(e){return e===void 0&&(e=1/0),Xl(Or,e)}function m$(e){return new me(function(t){St(e()).subscribe(t)})}var y$=["addListener","removeListener"],b$=["addEventListener","removeEventListener"],x$=["on","off"];function jl(e,t,n,r){if(Se(n)&&(r=n,n=void 0),r)return jl(e,t,n).pipe(mp(r));var i=nr(S$(e)?b$.map(function(s){return function(c){return e[s](t,c,n)}}):v$(e)?y$.map(bp(e,t)):$$(e)?x$.map(bp(e,t)):[],2),o=i[0],a=i[1];if(!o&&Vl(e))return Xl(function(s){return jl(s,t,n)})(St(e));if(!o)throw new TypeError("Invalid event target");return new me(function(s){var c=function(){for(var l=[],u=0;u<arguments.length;u++)l[u]=arguments[u];return s.next(1<l.length?l:l[0])};return o(c),function(){return a(c)}})}function bp(e,t){return function(n){return function(r){return e[n](t,r)}}}function v$(e){return Se(e.addListener)&&Se(e.removeListener)}function $$(e){return Se(e.on)&&Se(e.off)}function S$(e){return Se(e.addEventListener)&&Se(e.removeEventListener)}function Ht(e,t,n){return m$(function(){return e()?t:n})}function ia(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=Gl(e),r=Vv(e,1/0),i=e;return i.length?i.length===1?St(i[0]):g$(r)(ra(i,n)):pn}function mt(e,t){return gt(function(n,r){var i=0;n.subscribe(nt(r,function(o){return e.call(t,o,i++)&&r.next(o)}))})}function zr(e){return gt(function(t,n){var r=null,i=!1,o;r=t.subscribe(nt(n,void 0,void 0,function(a){o=St(e(a,zr(e)(t))),r?(r.unsubscribe(),r=null,o.subscribe(n)):i=!0})),i&&(r.unsubscribe(),r=null,o.subscribe(n))})}function W(e,t){return t===void 0&&(t=Yv),gt(function(n,r){var i=null,o=null,a=null,s=function(){if(i){i.unsubscribe(),i=null;var l=o;o=null,r.next(l)}};function c(){var l=a+e,u=t.now();if(u<l){i=this.schedule(void 0,l-u),r.add(i);return}s()}n.subscribe(nt(r,function(l){o=l,a=t.now(),i||(i=t.schedule(c,e),r.add(i))},function(){s(),r.complete()},void 0,function(){o=i=null}))})}function A$(e){return gt(function(t,n){var r=!1;t.subscribe(nt(n,function(i){r=!0,n.next(i)},function(){r||n.next(e),n.complete()}))})}function T$(e){return e<=0?function(){return pn}:gt(function(t,n){var r=0;t.subscribe(nt(n,function(i){++r<=e&&(n.next(i),e<=r&&n.complete())}))})}function X(e,t){return t===void 0&&(t=Or),e=e??w$,gt(function(n,r){var i,o=!0;n.subscribe(nt(r,function(a){var s=t(a);(o||!e(i,s))&&(o=!1,i=s,r.next(a))}))})}function w$(e,t){return e===t}function _$(e){return e===void 0&&(e=D$),gt(function(t,n){var r=!1;t.subscribe(nt(n,function(i){r=!0,n.next(i)},function(){return r?n.complete():n.error(e())}))})}function D$(){return new gp}function oa(e,t){var n=arguments.length>=2;return function(r){return r.pipe(Or,T$(1),n?A$(t):_$(function(){return new gp}))}}function xp(e){e===void 0&&(e={});var t=e.connector,n=t===void 0?function(){return new J}:t,r=e.resetOnError,i=r===void 0?!0:r,o=e.resetOnComplete,a=o===void 0?!0:o,s=e.resetOnRefCountZero,c=s===void 0?!0:s;return function(l){var u,h,f,p=0,g=!1,m=!1,d=function(){h==null||h.unsubscribe(),h=void 0},y=function(){d(),u=f=void 0,g=m=!1},b=function(){var x=u;y(),x==null||x.unsubscribe()};return gt(function(x,v){p++,!m&&!g&&d();var S=f=f??n();v.add(function(){p--,p===0&&!m&&!g&&(h=Hl(b,c))}),S.subscribe(v),!u&&p>0&&(u=new Ii({next:function($){return S.next($)},error:function($){m=!0,d(),h=Hl(y,i,$),S.error($)},complete:function(){g=!0,d(),h=Hl(y,a),S.complete()}}),St(x).subscribe(u))})(l)}}function Hl(e,t){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];if(t===!0){e();return}if(t!==!1){var i=new Ii({next:function(){i.unsubscribe(),e()}});return St(t.apply(void 0,Ir([],nr(n)))).subscribe(i)}}function z(e,t,n){var r,i=!1;return r=e,xp({connector:function(){return new Nv(r,t,n)},resetOnError:!0,resetOnComplete:!1,resetOnRefCountZero:i})}function V(e,t){return gt(function(n,r){var i=null,o=0,a=!1,s=function(){return a&&!i&&r.complete()};n.subscribe(nt(r,function(c){i==null||i.unsubscribe();var l=0,u=o++;St(e(c,u)).subscribe(i=nt(r,function(h){return r.next(t?t(c,h,u,l++):h)},function(){i=null,s()}))},function(){a=!0,s()}))})}function R(e){return gt(function(t,n){St(e).subscribe(nt(n,function(){return n.complete()},Ol)),!n.closed&&t.subscribe(n)})}function vp(e){const t=e.filter(n=>n!==null&&!isNaN(n));return t.length===0?null:t.reduce((n,r)=>n+r,0)}function $p(e){const t=e.filter(r=>r!==null&&!isNaN(r));return t.length===0?null:t.reduce((r,i)=>r+i,0)/t.length}function Sp(e){const t=e.filter(i=>i!==null&&!isNaN(i));if(t.length===0)return null;const n=[...t].sort((i,o)=>i-o),r=Math.floor(n.length/2);return n.length%2===0?(n[r-1]+n[r])/2:n[r]}function Ap(e){const t=e.filter(n=>n!==null&&!isNaN(n));return t.length===0?null:Math.min(...t)}function Tp(e){const t=e.filter(n=>n!==null&&!isNaN(n));return t.length===0?null:Math.max(...t)}function wp(e){return e.filter(t=>t!==null&&!isNaN(t)).length}function _p(e){const t=e.filter(n=>n!==null&&!isNaN(n));return t.length>0?t[0]:null}function Fr(e,t){switch(t){case"sum":return vp(e);case"mean":return $p(e);case"median":return Sp(e);case"min":return Ap(e);case"max":return Tp(e);case"count":return wp(e);case"none":return _p(e);default:throw new Error(`Unknown aggregate type: ${t}`)}}function Dp(e,t){let n;t.colorScheme==="auto"?n="light":n=t.colorScheme;const r=t.colors[n].data,i=e%r.length;return r[i]}function Ue(e,t,n){let r;switch(e){case"index":r=t.index??0;break;case"series":r=t.seriesIndex??0;break;case"category":r=t.categoryIndex??0;break;case"dataset":r=t.datasetIndex??0;break;default:r=0}return Dp(r,n)}function Ut(e){return Object.prototype.toString.call(e)==="[object Object]"}function Pp(e){return Object.prototype.toString.call(e)==="[object Function]"}function Ul(e){return!!(e&&e.nodeType)}function qt(e,t){if(Ut(t)===!1||Ut(e)===!1)return Object.assign({},e);const n=(r,i)=>{const o=Object.assign({},r);for(let a of Object.keys(i)){if(!(a in r))continue;let s;Ut(i[a])&&Ut(r[a])?(s=n(r[a],i[a]),o[a]=s):o[a]=i[a]}return o};return n(e,t)}function P$(e=0){try{let t=e.toString().split(".");return t[0]=t[0].replace(/\B(?=(\d{3})+(?!\d))/g,","),t.join(".")}catch(t){console.error(t)}}function Mp(e){const t=document.createElementNS("http://www.w3.org/2000/svg","svg");return t.setAttribute("xmlns:xlink","http://www.w3.org/1999/xlink"),t.setAttribute("xmls","http://www.w3.org/2000/svg"),t.setAttribute("version","1.1"),t.style.position="absolute",e&&t.classList.add(e),t}function M$(e){const t=document.createElement("canvas");return t.style.position="absolute",e&&t.classList.add(e),t}function Cp(e){const t=document.createElementNS("http://www.w3.org/2000/svg","g");return e&&t.classList.add(e),t}function ql(e){const t=document.createElement("canvas");return e&&t.classList.add(e),t}function C$(e){const t=document.createElement("div");return e&&t.classList.add(e),t}function Lp(e){if(Ul(e))for(;e.firstChild;)e.removeChild(e.firstChild)}function Kl(e){return`[OrbCharts ${e}]:`}function At(e){return`${Kl("error")} ${e.message}`}function Yr({from:e,systemMessage:t}){return`unexpected error from '${e}':
4
+ ${t}`}function Kt({columnName:e,expectToBe:t,from:n}){return`Invalid value: '${e}' must be '${t}'
5
5
 
6
- ----> find in '${n}'`}function Lr({columnName:t,expectToBe:e,from:n}){return`${mb("warning")} Value is not correct: '${t}' suppose to be '${e}', it may cause unexpected errors.'
6
+ ----> find in '${n}'`}function Zt({columnName:e,expectToBe:t,from:n}){return`${Kl("warning")} Value is not correct: '${e}' suppose to be '${t}', it may cause unexpected errors.'
7
7
 
8
- ----> find in '${n}'`}function T6(t){return t?$t(t,{width:{toBe:'"auto" | number',test:e=>e==="auto"||typeof e=="number"},height:{toBe:'"auto" | number',test:e=>e==="auto"||typeof e=="number"},preset:{toBeTypes:["object"]}}):{status:"success",columnName:"",expectToBe:""}}function w6(t){return $t({element:t},{element:{toBe:"Dom",test:e=>y0(e)}})}function B6(t,e){const n={series:["series","datum","none"],grid:["series","group","datum","none"],multiGrid:["series","group","datum","none"],multiValue:["category","datum","none"],relationship:["category","datum","none"],tree:["category","datum","none"],noneData:["none"]},r=$t(e,{padding:{toBeTypes:["object"]},highlightTarget:{toBe:n[t].map(a=>`"${a}"`).join(" | "),test:a=>n[t].includes(a)},highlightDefault:{toBeTypes:["string","null"]},colorScheme:{toBe:'"dark" | "light"',test:a=>a==="dark"||a==="light"},colors:{toBeTypes:["object"],test:a=>a.light&&a.dark},styles:{toBeTypes:["object"]},transitionDuration:{toBeTypes:["number"]},transitionEase:{toBeTypes:["string"]}});if(e&&e.padding){const a=$t(e.padding,{top:{toBeTypes:["number"]},right:{toBeTypes:["number"]},bottom:{toBeTypes:["number"]},left:{toBeTypes:["number"]}});if(a.status==="error")return a}if(e&&e.colors){const a=$t(e.colors,{light:{toBeTypes:["object"]},dark:{toBeTypes:["object"]}});if(a.status==="error")return a;if(e.colors.light){const i=$t(e.colors.light,{label:{toBeTypes:["string[]"]},primary:{toBeTypes:["string"]},secondary:{toBeTypes:["string"]},labelContrast:{toBeTypes:["string[]"]},background:{toBeTypes:["string"]}});if(i.status==="error")return i}if(e.colors.dark){const i=$t(e.colors.dark,{label:{toBeTypes:["string[]"]},primary:{toBeTypes:["string"]},secondary:{toBeTypes:["string"]},labelContrast:{toBeTypes:["string[]"]},background:{toBeTypes:["string"]}});if(i.status==="error")return i}}return r}function E6(t,e){return $t({pluginEntities:e},{pluginEntities:{toBe:`PluginEntity<'${t}'>[]`,test:n=>Array.isArray(n)&&n.every(r=>r.chartType===t||r.chartType==="noneData")}})}function gb(t,e,n){const r=rr(t,e);return n==="multiGrid"&&t.gridList!=null&&(r.gridList=t.gridList.map((a,i)=>{const o=e.gridList[i]||e.gridList[0];return rr(a,o)})),r}const L6=({defaultDataFormatter:t,dataFormatterValidator:e,computedDataFn:n,dataValidator:r,contextObserverCallback:a})=>{const i=new Mt,o=t.type;return function(l,u){try{const{status:A,columnName:$,expectToBe:T}=T6(u);if(A==="error")throw new Error(Er({columnName:$,expectToBe:T,from:"Chart.constructor"}));if(A==="warning")console.warn(Lr({columnName:$,expectToBe:T,from:"Chart.constructor"}));else{const{status:S,columnName:k,expectToBe:N}=w6(l);if(S==="error")throw new Error(Er({columnName:k,expectToBe:N,from:"Chart.constructor"}));S==="warning"&&console.warn(Lr({columnName:k,expectToBe:N,from:"Chart.constructor"}))}}catch(A){throw new Error(A)}Hl(l).selectAll("svg").remove();const s=Hl(l).append("svg");s.attr("xmlns:xlink","http://www.w3.org/1999/xlink").attr("xmls","http://www.w3.org/2000/svg").attr("version","1.1").style("position","absolute").classed("orbcharts__root",!0);const c=s.append("g");c.classed("orbcharts__layout",!0);const d=c.append("g");d.classed("orbcharts__plugins",!0);const f={data$:new Mt,dataFormatter$:new Mt,plugins$:new Mt,chartParams$:new Mt,event$:new Mt},h=(A=>{const $=A||nr,T=$.preset?$.preset:{};return{name:T.name??"",description:T.description??"",descriptionZh:T.descriptionZh??"",chartParams:T.chartParams?rr(T.chartParams,Af):Af,dataFormatter:T.dataFormatter?gb(T.dataFormatter,t,o):t,pluginParams:T.pluginParams?T.pluginParams:{}}})(u),p=f.data$.pipe(X(1)),g=f.dataFormatter$.pipe(vt(i),md({}),tt(A=>{try{const{status:$,columnName:T,expectToBe:S}=e(A);if($==="error")throw new Error(Er({columnName:T,expectToBe:S,from:"Chart.dataFormatter$"}));$==="warning"&&console.warn(Lr({columnName:T,expectToBe:S,from:"Chart.dataFormatter$"}))}catch($){console.error(En($))}try{return gb(A,h.dataFormatter,o)}catch($){throw new Error(yd({from:"Chart.dataFormatter$",systemMessage:$}))}}),ps(A=>(console.error(En(A)),lo)),X(1)),m=f.chartParams$.pipe(vt(i),md({}),tt(A=>{try{const{status:$,columnName:T,expectToBe:S}=B6(o,A);if($==="error")throw new Error(Er({columnName:T,expectToBe:S,from:"Chart.chartParams$"}));$==="warning"&&console.warn(Lr({columnName:T,expectToBe:S,from:"Chart.chartParams$"}))}catch($){console.error(En($))}try{return rr(A,h.chartParams)}catch($){throw new Error(yd({from:"Chart.chartParams$",systemMessage:$}))}}),ps(A=>(console.error(En(A)),lo)),X(1)),b=m.pipe(vt(i),md({}),tt(A=>rr(A.padding??{},_f)));b.pipe(vt(i),f6()).subscribe(A=>{c.attr("transform",`translate(${A.left}, ${A.top})`)}),b.subscribe(A=>{c.transition().attr("transform",`translate(${A.left}, ${A.top})`)});const y=wr({width:(u==null?void 0:u.width)??nr.width,height:(u==null?void 0:u.height)??nr.height}).pipe(gt(A=>db(()=>A.width==="auto"||A.height==="auto",pb(l).pipe(tt($=>({width:A.width==="auto"?$.width:A.width,height:A.height==="auto"?$.height:A.height}))),wr(A))),vt(i),hd()),x=wr().pipe(h6(y.pipe(i6(250)),y.pipe(m6(250))),Rt((A,$)=>JSON.stringify(A)===JSON.stringify($)),hd()),v=x.subscribe(),_=xt({rootSize:x,mergedPadding:b}).pipe(vt(i),gt(async A=>{const $=A.rootSize.width>0?A.rootSize.width:h0,T=A.rootSize.height>0?A.rootSize.height:p0;return{width:$-A.mergedPadding.left-A.mergedPadding.right,height:T-A.mergedPadding.top-A.mergedPadding.bottom,top:A.mergedPadding.top,right:A.mergedPadding.right,bottom:A.mergedPadding.bottom,left:A.mergedPadding.left,rootWidth:$,rootHeight:T}}),X(1));_.subscribe(A=>{s.attr("width",A.rootWidth).attr("height",A.rootHeight)});const D=xt({data:p,dataFormatter:g,chartParams:m}).pipe(vt(i),gt(async A=>A),gt(A=>wr(A).pipe(tt($=>{try{const{status:T,columnName:S,expectToBe:k}=r($.data);if(T==="error")throw new Error(Er({columnName:S,expectToBe:k,from:"Chart.data$"}));T==="warning"&&console.warn(Lr({columnName:S,expectToBe:k,from:"Chart.data$"}))}catch(T){console.error(En(T))}try{return n({data:$.data,dataFormatter:$.dataFormatter,chartParams:$.chartParams})}catch(T){throw new Error(yd({from:"Chart.data$",systemMessage:T}))}}),ps($=>(console.error(En($)),lo)))),X(1));D.subscribe();const C={};return f.plugins$.subscribe(A=>{try{const{status:$,columnName:T,expectToBe:S}=E6(o,A);if($==="error")throw new Error(Er({columnName:T,expectToBe:S,from:"Chart.plugins$"}));$==="warning"&&console.warn(Lr({columnName:T,expectToBe:S,from:"Chart.plugins$"}))}catch($){console.error(En($));return}d.selectAll("g.orbcharts__plugin").data(A,$=>$.name).join($=>$.append("g").attr("class",T=>`orbcharts__plugin orbcharts__${T.name}`).each((T,S,k)=>{const N={fullParams$:new wt,fullChartParams$:m,fullDataFormatter$:g,computedData$:D,layout$:_},E=a({observer:N,subject:f}),P={selection:Hl(k[S]),rootSelection:s,name:T.name,chartType:o,subject:f,observer:E};T.setPresetParams(h.pluginParams[T.name]??{}),T.setContext(P),C[P.name]=T,T.init()}),$=>$,$=>$.each((T,S,k)=>{C[T.name]&&(C[T.name].destroy(),C[T.name]=void 0)}).remove()).sort(($,T)=>$.layerIndex-T.layerIndex)}),{...f,selection:s,destroy(){Hl(l).selectAll("svg").remove(),i.next(void 0),v.unsubscribe()}}}};let La=class{constructor({defaultDataFormatter:e,dataFormatterValidator:n,computedDataFn:r,dataValidator:a,contextObserverCallback:i},o,l){this.data$=new Mt,this.dataFormatter$=new Mt,this.plugins$=new Mt,this.chartParams$=new Mt,this.event$=new Mt;try{const u=L6({defaultDataFormatter:e,dataFormatterValidator:n,computedDataFn:r,dataValidator:a,contextObserverCallback:i})(o,l);this.selection=u.selection,this.destroy=u.destroy,this.data$=u.data$,this.dataFormatter$=u.dataFormatter$,this.plugins$=u.plugins$,this.chartParams$=u.chartParams$,this.event$=u.event$}catch(u){console.error(En(u))}}},M6=class extends La{constructor(e,n){super({defaultDataFormatter:Pf,dataFormatterValidator:rF,computedDataFn:u5,dataValidator:c5,contextObserverCallback:A6},e,n)}};const R6=t=>{const e=$t(t,{visibleFilter:{toBeTypes:["Function"]},container:{toBeTypes:["object"]},seriesDirection:{toBe:'"row" | "column"',test:n=>n==="row"||n==="column"},rowLabels:{toBeTypes:["string[]"]},columnLabels:{toBeTypes:["string[]"]},valueAxis:{toBeTypes:["object"]},groupAxis:{toBeTypes:["object"]},separateSeries:{toBeTypes:["boolean"]}});if(e.status==="error")return e;if(t.valueAxis){const n=$t(t.valueAxis,{position:{toBe:'"bottom" | "left" | "top" | "right"',test:r=>r==="bottom"||r==="left"||r==="top"||r==="right"},scaleDomain:{toBe:'[number | "min" | "auto", number | "max" | "auto"]',test:r=>Array.isArray(r)&&r.length===2&&(typeof r[0]=="number"||r[0]==="min"||r[0]==="auto")&&(typeof r[1]=="number"||r[1]==="max"||r[1]==="auto")},scaleRange:{toBe:"[number, number]",test:r=>Array.isArray(r)&&r.length===2&&typeof r[0]=="number"&&typeof r[1]=="number"},label:{toBeTypes:["string"]}});if(n.status==="error")return n}if(t.groupAxis){const n=$t(t.groupAxis,{position:{toBe:'"bottom" | "left" | "top" | "right"',test:r=>r==="bottom"||r==="left"||r==="top"||r==="right"},scaleDomain:{toBe:'[number, number | "max"]',test:r=>Array.isArray(r)&&r.length===2&&typeof r[0]=="number"&&(typeof r[1]=="number"||r[1]==="max")},scalePadding:{toBeTypes:["number"]},label:{toBeTypes:["string"]}});if(n.status==="error")return n}if(t.container){const n=$t(t.container,{columnAmount:{toBeTypes:["number"]},rowAmount:{toBeTypes:["number"]},columnGap:{toBe:'"auto" | number',test:r=>r==="auto"||typeof r=="number"},rowGap:{toBe:'"auto" | number',test:r=>r==="auto"||typeof r=="number"}});if(n.status==="error")return n}return e};function yb(t,e){if(!t.length)return[];try{const n=t.reduce((a,i)=>i.length>a?i.length:a,0),r=t.map((a,i)=>{if(a.length===n)return a;const o=Object.assign([],a);for(let l=o.length;l<n;l++)o[l]=null;return o}).map((a,i)=>a.map((o,l)=>o==null?{id:"",label:"",data:{},value:null}:typeof o=="number"?{id:"",label:"",data:{},value:o}:{id:o.id??"",label:o.label??"",data:o.data??{},value:o.value}));return Ty(e.seriesDirection,r)}catch{return[]}}const I6=t=>{const{data:e=[],dataFormatter:n,chartParams:r}=t;if(!e.length)return[];let a;try{const i=yb(e,n),o=ed({transposedDataGrid:i,dataFormatterGrid:n,chartType:"grid"}),l=Cy({transposedDataGrid:i,dataFormatterGrid:n,chartType:"grid"});let u=0;a=i.map((s,c)=>s.map((d,f)=>{const h=ao("grid",0,c,f),p=l[f],g={id:d.id?d.id:h,index:u,label:d.label?d.label:h,description:d.description??"",data:d.data,value:d.value,gridIndex:0,seriesIndex:c,seriesLabel:o[c],groupIndex:f,groupLabel:p,color:ir(c,r),visible:!0};return g.visible=n.visibleFilter(g,t),u++,g}))}catch(i){throw Error(i)}return a},k6=t=>$t({data:t},{data:{toBe:"(DataGridDatum | DataGridValue)[][]",test:e=>Array.isArray(e)}}),bb=({computedData$:t,fullDataFormatter$:e,layout$:n})=>{function r(i,o,l){const u=o.groupAxis.position==="top"||o.groupAxis.position==="bottom"?l.width:l.height,s=i[0]?i[0].length-1:0;return Ne({maxValue:s,minValue:0,axisWidth:u,scaleDomain:[0,s],scaleRange:[0,1]})}function a(i,o,l){const u=o.valueAxis.position==="left"||o.valueAxis.position==="right"?l.height:l.width,s=i.flat();let[c,d]=Fy(s);return c===d&&d===0&&(d=1),Ne({maxValue:d,minValue:c,axisWidth:u,scaleDomain:["auto","auto"],scaleRange:[0,1]})}return xt({computedData:t,fullDataFormatter:e,layout:n}).pipe(gt(async i=>i),tt(i=>{const o=r(i.computedData,i.fullDataFormatter,i.layout),l=a(i.computedData,i.fullDataFormatter,i.layout),u=l(0);return i.computedData.map((s,c)=>s.map((d,f)=>{const h=o(f),p=l(d.value??0);return{...d,axisX:h,axisY:p,axisYFromZero:p-u}}))}))},bd=({fullDataFormatter$:t,layout$:e})=>{const n=new Mt;function r({xAxisPosition:o,yAxisPosition:l,width:u,height:s}){return(o==="bottom"||o==="top")&&(l==="left"||l==="right")?{width:u,height:s}:(o==="left"||o==="right")&&(l==="bottom"||l==="top")?{width:s,height:u}:{width:u,height:s}}const a=t.pipe(tt(o=>o.groupAxis.position),Rt()),i=t.pipe(tt(o=>o.valueAxis.position),Rt());return new wt(o=>{xt({groupAxisPosition:a,valueAxisPosition:i,layout:e}).pipe(vt(n),gt(async l=>l)).subscribe(l=>{const u=r({xAxisPosition:l.groupAxisPosition,yAxisPosition:l.valueAxisPosition,width:l.layout.width,height:l.layout.height});return o.next(u),function(){n.next(void 0)}})})},xb=({fullDataFormatter$:t,containerSize$:e})=>bd({fullDataFormatter$:t,layout$:e}),vb=({computedData$:t})=>t.pipe(tt(e=>e.filter(n=>n.length).map(n=>n[0].seriesLabel)),Rt((e,n)=>JSON.stringify(e)===JSON.stringify(n))),$b=({computedData$:t})=>t.pipe(tt(e=>e.map(n=>n.filter(r=>r.visible==!0)).filter(n=>n.length))),Sb=({computedAxesData$:t})=>t.pipe(tt(e=>e.map(n=>n.filter(r=>r.visible==!0)).filter(n=>n.length))),N6=({computedData$:t,fullDataFormatter$:e,layout$:n})=>xt({computedData:t,fullDataFormatter:e,layout:n}).pipe(gt(async r=>r),tt(r=>{if(r.computedData.length===0)return[{slotIndex:0,rowIndex:0,columnIndex:0,translate:[0,0],scale:[1,1]}];if(r.fullDataFormatter.separateSeries)return Pa(r.layout,r.fullDataFormatter.container,r.computedData.length);{const a=Pa(r.layout,r.fullDataFormatter.container,1);return r.computedData.map((i,o)=>a[0])}})),Db=({isSeriesSeprate$:t,computedData$:e})=>{const n=e.pipe(tt(r=>{const a=new Array(r[0]?r[0].length:0).fill(null).map((i,o)=>r.reduce((l,u)=>{if(u&&u[o]){const s=u[o].value==null||u[o].visible==!1?0:u[o].value;return l+s}return l},0));return r.map((i,o)=>i.map((l,u)=>({...l,value:a[u]})))}));return t.pipe(gt(r=>db(()=>r,e,n)))},_b=({computedData$:t,fullDataFormatter$:e})=>xt({computedData:t,fullDataFormatter:e}).pipe(gt(async n=>n),tt(n=>{const r=n.fullDataFormatter.groupAxis,a=n.computedData[0]?n.computedData[0].length-1:0,i=r.scaleDomain[0]-r.scalePadding,o=r.scaleDomain[1]==="max"?a+r.scalePadding:r.scaleDomain[1]+r.scalePadding;return[i,o]})),ys=({computedData$:t,groupScaleDomainValue$:e})=>xt({computedData:t,groupScaleDomainValue:e}).pipe(tt(n=>{const r=n.computedData.map((a,i)=>a.filter((o,l)=>l>=n.groupScaleDomainValue[0]&&l<=n.groupScaleDomainValue[1]&&o.visible==!0));return nd(r)})),Ab=({fullDataFormatter$:t,layout$:e})=>{const n=new Mt;function r({xAxis:a,yAxis:i,width:o,height:l}){if(!a||!i)return{translate:[0,0],scale:[1,1],rotate:0,rotateX:0,rotateY:0,value:""};let u=0,s=0,c=0,d=0,f=0;return a.position==="bottom"?i.position==="left"?(d=180,s=l):i.position==="right"?(d=180,f=180,u=o,s=l):(d=180,s=l):a.position==="top"?i.position==="left"||(i.position==="right"?(f=180,u=o):(d=180,s=l)):a.position==="left"?i.position==="bottom"?(c=-90,s=l):i.position==="top"?(c=-90,f=180):(d=180,s=l):a.position==="right"?i.position==="bottom"?(c=-90,d=180,s=l,u=o):i.position==="top"?(c=-90,d=180,f=180,u=o):(d=180,s=l):(d=180,s=l),{translate:[u,s],scale:[1,1],rotate:c,rotateX:d,rotateY:f,value:`translate(${u}px, ${s}px) rotate(${c}deg) rotateX(${d}deg) rotateY(${f}deg)`}}return new wt(a=>(xt({fullDataFormatter:t,layout:e}).pipe(vt(n),gt(async i=>i)).subscribe(i=>{const o=r({xAxis:i.fullDataFormatter.groupAxis,yAxis:i.fullDataFormatter.valueAxis,width:i.layout.width,height:i.layout.height});a.next(o)}),function(){n.next(void 0)}))},Cb=({gridAxesTransform$:t})=>t.pipe(tt(e=>{const n=[0,0],r=[1/e.scale[0],1/e.scale[1]],a=e.rotate*-1,i=e.rotateX*-1,o=e.rotateY*-1;return{translate:n,scale:r,rotate:a,rotateX:i,rotateY:o,value:`translate(${n[0]}px, ${n[1]}px) rotateX(${i}deg) rotateY(${o}deg) rotate(${a}deg)`}})),Pb=({computedData$:t,groupScaleDomainValue$:e,filteredMinMaxValue$:n,fullDataFormatter$:r,layout$:a})=>{const i=new Mt;function o({data:l,groupAxis:u,valueAxis:s,groupScaleDomainValue:c,filteredMinMaxValue:d,width:f,height:h}){let p=0,g=0,m=0,b=0;const y=u.position==="top"||u.position==="bottom"?f:h,x=0,v=l[0]?l[0].length-1:0,_=Ne({maxValue:v,minValue:x,axisWidth:y,scaleDomain:c,scaleRange:[0,1]}),D=_(x),C=_(v);x==v?(p=0,m=1):(p=D,m=(C-D)/y);const A=d[0];let $=d[1];A===$&&$===0&&($=1);const T=s.position==="left"||s.position==="right"?h:f,S=Ne({maxValue:$,minValue:A,axisWidth:T,scaleDomain:s.scaleDomain,scaleRange:s.scaleRange}),k=nd(l);k[0],k[1];const N=S(k[0]>0?0:k[0]),E=S(k[1]<0?0:k[1]);return g=N,b=(E-N)/T,{translate:[p,g],scale:[m,b],rotate:0,rotateX:0,rotateY:0,value:`translate(${p}px, ${g}px) scale(${m}, ${b})`}}return new wt(l=>(xt({computedData:t,groupScaleDomainValue:e,filteredMinMaxValue:n,fullDataFormatter:r,layout:a}).pipe(vt(i),gt(async u=>u)).subscribe(u=>{const s=o({data:u.computedData,groupAxis:u.fullDataFormatter.groupAxis,valueAxis:u.fullDataFormatter.valueAxis,groupScaleDomainValue:u.groupScaleDomainValue,filteredMinMaxValue:u.filteredMinMaxValue,width:u.layout.width,height:u.layout.height});l.next(s)}),function(){i.next(void 0)}))},Fb=({gridContainerPosition$:t,gridAxesTransform$:e,gridGraphicTransform$:n})=>xt({gridContainerPosition:t,gridAxesTransform:e,gridGraphicTransform:n}).pipe(gt(async r=>r),tt(r=>r.gridAxesTransform.rotate==0||r.gridAxesTransform.rotate==180?r.gridContainerPosition.map((a,i)=>[1/r.gridGraphicTransform.scale[0]/r.gridContainerPosition[i].scale[0],1/r.gridGraphicTransform.scale[1]/r.gridContainerPosition[i].scale[1]]):r.gridContainerPosition.map((a,i)=>[1/r.gridGraphicTransform.scale[0]/r.gridContainerPosition[i].scale[1],1/r.gridGraphicTransform.scale[1]/r.gridContainerPosition[i].scale[0]]))),z6=({subject:t,observer:e})=>{const n=Br(e.fullChartParams$).pipe(X(1)),r=e.fullDataFormatter$.pipe(tt(A=>A.separateSeries),Rt(),X(1)),a=N6({computedData$:e.computedData$,fullDataFormatter$:e.fullDataFormatter$,layout$:e.layout$}).pipe(X(1)),i=gs({layout$:e.layout$,containerPosition$:a,container$:e.fullDataFormatter$.pipe(tt(A=>A.container))}).pipe(X(1)),o=bd({fullDataFormatter$:e.fullDataFormatter$,layout$:e.layout$}).pipe(X(1)),l=xb({fullDataFormatter$:e.fullDataFormatter$,containerSize$:i}).pipe(X(1)),u=e.computedData$.pipe(tt(A=>A.flat())).pipe(X(1)),s=ur({datumList$:u,fullChartParams$:e.fullChartParams$,event$:t.event$}).pipe(X(1)),c=vb({computedData$:e.computedData$}),d=ms({datumList$:u}).pipe(X(1)),f=gd({datumList$:u}).pipe(X(1)),h=bb({computedData$:e.computedData$,fullDataFormatter$:e.fullDataFormatter$,layout$:e.layout$}).pipe(X(1)),p=$b({computedData$:e.computedData$}).pipe(X(1)),g=Sb({computedAxesData$:h}).pipe(X(1)),m=Db({computedData$:e.computedData$,isSeriesSeprate$:r}).pipe(X(1)),b=_b({computedData$:e.computedData$,fullDataFormatter$:e.fullDataFormatter$}).pipe(X(1)),y=ys({computedData$:e.computedData$,groupScaleDomainValue$:b}).pipe(X(1)),x=ys({computedData$:m,groupScaleDomainValue$:b}).pipe(X(1)),v=Ab({fullDataFormatter$:e.fullDataFormatter$,layout$:e.layout$}).pipe(X(1)),_=Cb({gridAxesTransform$:v}).pipe(X(1)),D=Pb({computedData$:e.computedData$,groupScaleDomainValue$:b,filteredMinMaxValue$:y,fullDataFormatter$:e.fullDataFormatter$,layout$:e.layout$}).pipe(X(1)),C=Fb({gridContainerPosition$:a,gridAxesTransform$:v,gridGraphicTransform$:D}).pipe(X(1));return{fullParams$:e.fullParams$,fullChartParams$:e.fullChartParams$,fullDataFormatter$:e.fullDataFormatter$,computedData$:e.computedData$,layout$:e.layout$,textSizePx$:n,isSeriesSeprate$:r,gridContainerPosition$:a,containerSize$:i,gridAxesSize$:o,gridAxesContainerSize$:l,gridHighlight$:s,seriesLabels$:c,SeriesDataMap$:d,GroupDataMap$:f,computedAxesData$:h,visibleComputedData$:p,visibleComputedAxesData$:g,computedStackedData$:m,groupScaleDomainValue$:b,filteredMinMaxValue$:y,filteredStackedMinMaxValue$:x,gridAxesTransform$:v,gridAxesReverseTransform$:_,gridGraphicTransform$:D,gridGraphicReverseScale$:C}};let O6=class extends La{constructor(e,n){super({defaultDataFormatter:Tf,dataFormatterValidator:R6,computedDataFn:I6,dataValidator:k6,contextObserverCallback:z6},e,n)}};const G6=t=>{const e=$t(t,{visibleFilter:{toBeTypes:["Function"]},gridList:{toBeTypes:["object[]"]},container:{toBeTypes:["object"]},separateGrid:{toBeTypes:["boolean"]}});if(t.gridList){const n=t.gridList.map((r,a)=>{const i=$t(r,{seriesDirection:{toBe:'"row" | "column"',test:o=>o==="row"||o==="column"},rowLabels:{toBeTypes:["string[]"]},columnLabels:{toBeTypes:["string[]"]},valueAxis:{toBeTypes:["object"]},groupAxis:{toBeTypes:["object"]},separateSeries:{toBeTypes:["boolean"]}});if(i.status==="error")return i;if(r.valueAxis){const o=$t(r.valueAxis,{position:{toBe:'"top" | "bottom" | "left" | "right"',test:l=>l==="top"||l==="bottom"||l==="left"||l==="right"},scaleDomain:{toBe:'[number | "min" | "auto", number | "max" | "auto"]',test:l=>Array.isArray(l)&&l.length===2&&(typeof l[0]=="number"||l[0]==="min"||l[0]==="auto")&&(typeof l[1]=="number"||l[1]==="max"||l[1]==="auto")},scaleRange:{toBe:"[number, number]",test:l=>Array.isArray(l)&&l.length===2&&typeof l[0]=="number"&&typeof l[1]=="number"},label:{toBeTypes:["string"]}});if(o.status==="error")return o}else if(r.groupAxis){const o=$t(r.groupAxis,{position:{toBe:'"top" | "bottom" | "left" | "right"',test:l=>l==="top"||l==="bottom"||l==="left"||l==="right"},scaleDomain:{toBe:'[number, number | "max"]',test:l=>Array.isArray(l)&&l.length===2&&typeof l[0]=="number"&&(typeof l[1]=="number"||l[1]==="max")},scalePadding:{toBeTypes:["number"]},label:{toBeTypes:["string"]}});if(o.status==="error")return o}return{status:"success",columnName:"",expectToBe:""}}).find(r=>r.status==="error");if(n)return n}if(t.container){const n=$t(t.container,{columnAmount:{toBeTypes:["number"]},rowAmount:{toBeTypes:["number"]},columnGap:{toBe:'"auto" | number',test:r=>r==="auto"||typeof r=="number"},rowGap:{toBe:'"auto" | number',test:r=>r==="auto"||typeof r=="number"}});if(n.status==="error")return n}return e},j6=t=>{const{data:e=[],dataFormatter:n,chartParams:r}=t;if(!e.length)return[];let a=[];try{const i=n.gridList[0]||Xi,o=e.map((d,f)=>n.gridList[f]||i),l=e.map((d,f)=>yb(d,o[f])),u=n.separateGrid?l.map((d,f)=>ed({transposedDataGrid:d,dataFormatterGrid:o[f],chartType:"multiGrid"})):l.map((d,f)=>Ay({transposedDataGrid:d,dataFormatterGrid:o[f],chartType:"multiGrid",gridIndex:f})),s=new Map;let c=0;u.flat().forEach((d,f)=>{if(!s.has(d)){const h=ir(c,r);s.set(d,h),c++}}),a=l.map((d,f)=>{const h=u[f],p=Py({transposedDataGrid:d,dataFormatterGrid:o[f],chartType:"multiGrid",gridIndex:f});let g=0;return d.map((m,b)=>m.map((y,x)=>{const v=ao("multiGrid",f,b,x),_=p[x],D=h[b],C={id:y.id?y.id:v,index:g,label:y.label?y.label:v,description:y.description??"",data:y.data,value:y.value,gridIndex:f,seriesIndex:b,seriesLabel:D,groupIndex:x,groupLabel:_,color:s.get(D),visible:!0};return C.visible=n.visibleFilter(C,t),g++,C}))})}catch(i){throw Error(i)}return a},V6=t=>$t({data:t},{data:{toBe:"DataGrid[]",test:e=>Array.isArray(e)}}),Y6=({fullDataFormatter$:t,computedData$:e,layout$:n,fullChartParams$:r,event$:a,containerSize$:i})=>{const o=new Mt,l=Tb({computedData$:e,fullDataFormatter$:t,layout$:n}).pipe(X(1));return xt({fullDataFormatter:t,computedData:e,multiGridContainer:l}).pipe(gt(async u=>u),tt(u=>{o.next(void 0);const s=u.fullDataFormatter.gridList[0]??Xi;return u.computedData.map((c,d)=>{const f=u.fullDataFormatter.gridList[d]??s,h={type:"grid",visibleFilter:u.fullDataFormatter.visibleFilter,...f,container:{...u.fullDataFormatter.container}},p=wr(h).pipe(vt(o),X(1)),g=wr(c).pipe(vt(o),X(1)),m=p.pipe(tt(M=>M.separateSeries),Rt(),X(1)),b=wr(u.multiGridContainer[d]).pipe(vt(o),X(1)),y=bd({fullDataFormatter$:p,layout$:n}).pipe(vt(o),X(1)),x=xb({fullDataFormatter$:p,containerSize$:i}).pipe(X(1)),v=g.pipe(tt(M=>M.flat())).pipe(vt(o),X(1)),_=vb({computedData$:g}).pipe(vt(o),X(1)),D=ms({datumList$:v}).pipe(vt(o),X(1)),C=gd({datumList$:v}).pipe(vt(o),X(1)),A=$b({computedData$:g}).pipe(vt(o),X(1)),$=bb({computedData$:g,fullDataFormatter$:p,layout$:n}).pipe(vt(o),X(1)),T=Sb({computedAxesData$:$}).pipe(vt(o),X(1)),S=Db({computedData$:g,isSeriesSeprate$:m}).pipe(X(1)),k=_b({computedData$:g,fullDataFormatter$:p}).pipe(vt(o),X(1)),N=ys({computedData$:g,groupScaleDomainValue$:k}).pipe(vt(o),X(1)),E=ys({computedData$:S,groupScaleDomainValue$:k}).pipe(vt(o),X(1)),P=Ab({fullDataFormatter$:p,layout$:n}).pipe(vt(o),X(1)),B=Cb({gridAxesTransform$:P}).pipe(vt(o),X(1)),R=Pb({computedData$:g,groupScaleDomainValue$:k,filteredMinMaxValue$:N,fullDataFormatter$:p,layout$:n}).pipe(vt(o),X(1)),F=Fb({gridContainerPosition$:b,gridAxesTransform$:P,gridGraphicTransform$:R});return{isSeriesSeprate$:m,gridContainerPosition$:b,gridAxesSize$:y,gridAxesContainerSize$:x,seriesLabels$:_,SeriesDataMap$:D,GroupDataMap$:C,dataFormatter$:p,computedData$:g,computedAxesData$:$,visibleComputedData$:A,visibleComputedAxesData$:T,computedStackedData$:S,groupScaleDomainValue$:k,filteredMinMaxValue$:N,filteredStackedMinMaxValue$:E,gridAxesTransform$:P,gridAxesReverseTransform$:B,gridGraphicTransform$:R,gridGraphicReverseScale$:F}})}))},Tb=({computedData$:t,fullDataFormatter$:e,layout$:n})=>xt({computedData:t,fullDataFormatter:e,layout:n}).pipe(gt(async r=>r),tt(r=>{const a=r.fullDataFormatter.gridList[0]??Xi,i=r.computedData.reduce((u,s,c)=>{const d=(r.fullDataFormatter.gridList[c]??a).separateSeries?s.length:r.fullDataFormatter.separateGrid?1:0;return u+d},0)||1,o=Pa(r.layout,r.fullDataFormatter.container,i);let l=0;return r.computedData.map((u,s)=>{const c=r.fullDataFormatter.gridList[s]??a,d=u.map((f,h)=>{const p=o[l];return c.separateSeries&&(l+=1),p});return!c.separateSeries&&r.fullDataFormatter.separateGrid&&(l+=1),d})})),H6=({subject:t,observer:e})=>{const n=Br(e.fullChartParams$).pipe(X(1)),r=Tb({computedData$:e.computedData$,fullDataFormatter$:e.fullDataFormatter$,layout$:e.layout$}).pipe(X(1)),a=gs({layout$:e.layout$,containerPosition$:r.pipe(tt(s=>s.flat())),container$:e.fullDataFormatter$.pipe(tt(s=>s.container))}).pipe(X(1)),i=ur({datumList$:e.computedData$.pipe(tt(s=>s.flat().flat()),X(1)),fullChartParams$:e.fullChartParams$,event$:t.event$}).pipe(X(1)),o=Y6({fullDataFormatter$:e.fullDataFormatter$,computedData$:e.computedData$,layout$:e.layout$,fullChartParams$:e.fullChartParams$,event$:t.event$,containerSize$:a}).pipe(X(1)),l=o.pipe(gt(s=>fb(s.map((c,d)=>c.filteredMinMaxValue$))),tt(s=>[Math.min(...s.map(c=>c[0])),Math.max(...s.map(c=>c[1]))])),u=o.pipe(gt(s=>fb(s.map((c,d)=>c.filteredStackedMinMaxValue$))),tt(s=>[Math.min(...s.map(c=>c[0])),Math.max(...s.map(c=>c[1]))]));return{fullParams$:e.fullParams$,fullChartParams$:e.fullChartParams$,fullDataFormatter$:e.fullDataFormatter$,computedData$:e.computedData$,layout$:e.layout$,textSizePx$:n,containerSize$:a,multiGridHighlight$:i,multiGridContainerPosition$:r,filteredMinMaxValue$:l,filteredStackedMinMaxValue$:u,multiGridEachDetail$:o}};let W6=class extends La{constructor(e,n){super({defaultDataFormatter:wf,dataFormatterValidator:G6,computedDataFn:j6,dataValidator:V6,contextObserverCallback:H6},e,n)}};const X6=t=>{const e=$t(t,{visibleFilter:{toBeTypes:["Function"]},container:{toBeTypes:["object"]},categoryLabels:{toBeTypes:["string[]"]},valueLabels:{toBeTypes:["string[]"]},xAxis:{toBeTypes:["object"]},yAxis:{toBeTypes:["object"]},separateCategory:{toBeTypes:["boolean"]}});if(e.status==="error")return e;if(t.yAxis){const n=$t(t.yAxis,{scaleDomain:{toBe:'[number | "min" | "auto", number | "max" | "auto"]',test:r=>Array.isArray(r)&&r.length===2&&(typeof r[0]=="number"||r[0]==="min"||r[0]==="auto")&&(typeof r[1]=="number"||r[1]==="max"||r[1]==="auto")},scaleRange:{toBe:"[number, number]",test:r=>Array.isArray(r)&&r.length===2&&typeof r[0]=="number"&&typeof r[1]=="number"},label:{toBeTypes:["string"]},valueIndex:{toBeTypes:["number"]}});if(n.status==="error")return n}if(t.xAxis){const n=$t(t.xAxis,{scaleDomain:{toBe:'[number | "min" | "auto", number | "max" | "auto"]',test:r=>Array.isArray(r)&&r.length===2&&(typeof r[0]=="number"||r[0]==="min"||r[0]==="auto")&&(typeof r[1]=="number"||r[1]==="max"||r[1]==="auto")},scaleRange:{toBe:"[number, number]",test:r=>Array.isArray(r)&&r.length===2&&typeof r[0]=="number"&&typeof r[1]=="number"},label:{toBeTypes:["string"]},valueIndex:{toBeTypes:["number"]}});if(n.status==="error")return n}if(t.container){const n=$t(t.container,{columnAmount:{toBeTypes:["number"]},rowAmount:{toBeTypes:["number"]},columnGap:{toBe:'"auto" | number',test:r=>r==="auto"||typeof r=="number"},rowGap:{toBe:'"auto" | number',test:r=>r==="auto"||typeof r=="number"}});if(n.status==="error")return n}return e},U6=t=>{const{data:e,dataFormatter:n,chartParams:r}=t;if(!e.length)return[];const a=cs();let i=[];try{const o=e.map((s,c)=>Array.isArray(s)?{id:"",label:"",description:"",data:{},categoryLabel:a,value:s}:ie(s)?{id:s.id??"",label:s.label??"",description:s.description??"",data:s.data??{},categoryLabel:s.categoryLabel??a,value:s.value}:{id:"",label:"",description:"",data:{},categoryLabel:a,value:[]}),l=(()=>{const s=new Set(n.categoryLabels);for(let c of o){const d=c.categoryLabel??a;s.add(d)}return Array.from(s)})(),u=new Map(l.map((s,c)=>[s,c]));o.forEach((s,c)=>{const d=ao(n.type,c),f=u.get(s.categoryLabel)??0,h=ir(f,r),p={id:s.id?s.id:d,index:c,label:s.label?s.label:d,description:s.description??"",data:s.data,value:s.value,categoryIndex:f,categoryLabel:s.categoryLabel,xValueIndex:n.xAxis.valueIndex,yValueIndex:n.yAxis.valueIndex,visible:!0,color:h};p.visible=n.visibleFilter(p,t),i[f]||(i[f]=[]),i[f].push(p)})}catch(o){throw Error(o)}return i},q6=t=>$t({data:t},{data:{toBe:"(DataMultiValueDatum | DataMultiValueValue[])[]",test:e=>Array.isArray(e)}}),Z6=({computedData$:t,fullDataFormatter$:e})=>xt({computedData:t,fullDataFormatter:e}).pipe(tt(n=>n.computedData[0]&&n.computedData[0][0]&&n.computedData[0][0].value.length?n.computedData[0][0].value.map((r,a)=>n.fullDataFormatter.valueLabels[a]??_y("multiValue",a)):[])),J6=({computedData$:t,xyValueIndex$:e})=>xt({computedData:t,xyValueIndex:e}).pipe(tt(n=>{const r=n.computedData.flat(),[a,i]=ar(r.map(u=>u.value[n.xyValueIndex[0]])),[o,l]=ar(r.map(u=>u.value[n.xyValueIndex[1]]));return{minX:a,maxX:i,minY:o,maxY:l}})),K6=({computedData$:t,xyMinMax$:e,xyValueIndex$:n,fullDataFormatter$:r,layout$:a})=>{function i(l,u){let s=l.maxX,c=l.minX;return c===s&&s===0&&(s=1),Ne({maxValue:s,minValue:c,axisWidth:u.width,scaleDomain:["auto","auto"],scaleRange:[0,1]})}function o(l,u){let s=l.maxY,c=l.minY;return c===s&&s===0&&(s=1),Ne({maxValue:s,minValue:c,axisWidth:u.height,scaleDomain:["auto","auto"],scaleRange:[0,1],reverse:!0})}return xt({computedData:t,xyMinMax:e,xyValueIndex:n,fullDataFormatter:r,layout:a}).pipe(gt(async l=>l),tt(l=>{const u=i(l.xyMinMax,l.layout),s=o(l.xyMinMax,l.layout);return l.computedData.map((c,d)=>c.map((f,h)=>({...f,axisX:u(f.value[l.xyValueIndex[0]]??0),axisY:s(f.value[l.xyValueIndex[1]]??0)})))}))},Q6=({computedData$:t,fullDataFormatter$:e})=>t.pipe(tt(n=>n.map(r=>r[0]?r[0].categoryLabel:"")),Rt((n,r)=>JSON.stringify(n)===JSON.stringify(r))),t3=({computedData$:t})=>t.pipe(tt(e=>e.map(n=>n.filter(r=>r.visible==!0)).filter(n=>n.length>0))),e3=({visibleComputedData$:t,fullDataFormatter$:e})=>xt({visibleComputedData:t,fullDataFormatter:e}).pipe(tt(n=>{let r=n.visibleComputedData[0]&&n.visibleComputedData[0][0]&&n.visibleComputedData[0][0].value.length?n.visibleComputedData[0][0].value.length-1:0;return[n.fullDataFormatter.xAxis.scaleDomain[0]==="auto"||n.fullDataFormatter.xAxis.scaleDomain[0]==="min"?0:n.fullDataFormatter.xAxis.scaleDomain[0],n.fullDataFormatter.xAxis.scaleDomain[1]==="auto"||n.fullDataFormatter.xAxis.scaleDomain[1]==="max"?r:n.fullDataFormatter.xAxis.scaleDomain[1]]}),Rt((n,r)=>n[0]===r[0]&&n[1]===r[1])),n3=({visibleComputedData$:t,ordinalScaleDomain$:e})=>xt({visibleComputedData:t,ordinalScaleDomain:e}).pipe(tt(n=>n.visibleComputedData.map(r=>r.map((a,i)=>{let o=a;return o.sum=o.value.filter((l,u)=>u>=n.ordinalScaleDomain[0]&&u<=n.ordinalScaleDomain[1]).reduce((l,u)=>l+u,0),o})))),r3=({xyValueIndex$:t,isCategorySeprate$:e,visibleComputedData$:n})=>xt({isCategorySeprate:e,xyValueIndex:t,visibleComputedData:n}).pipe(gt(async r=>r),tt(r=>{const a=r.xyValueIndex[0];return r.isCategorySeprate?r.visibleComputedData.map(i=>i.sort((o,l)=>{const u=l.value[a]??-1/0,s=o.value[a]??-1/0;return u-s})):[r.visibleComputedData.flat().sort((i,o)=>{const l=o.value[a]??-1/0,u=i.value[a]??-1/0;return l-u})]})),a3=({isCategorySeprate$:t,visibleComputedSumData$:e})=>xt({isCategorySeprate:t,visibleComputedSumData:e}).pipe(gt(async n=>n),tt(n=>n.isCategorySeprate?n.visibleComputedSumData.map(r=>r.sort((a,i)=>i.sum-a.sum)):[n.visibleComputedSumData.flat().sort((r,a)=>a.sum-r.sum)])),i3=({computedXYData$:t})=>t.pipe(tt(e=>e.map(n=>n.filter(r=>r.visible==!0)).filter(n=>n.length>0))),o3=({computedData$:t,fullDataFormatter$:e,layout$:n})=>xt({computedData:t,fullDataFormatter:e,layout:n}).pipe(gt(async r=>r),tt(r=>{if(r.computedData.length===0)return[{slotIndex:0,rowIndex:0,columnIndex:0,translate:[0,0],scale:[1,1]}];if(r.fullDataFormatter.separateCategory)return Pa(r.layout,r.fullDataFormatter.container,r.computedData.length);{const a=Pa(r.layout,r.fullDataFormatter.container,1);return r.computedData.map((i,o)=>a[0])}})),l3=({visibleComputedXYData$:t,xyMinMax$:e,xyValueIndex$:n,fullDataFormatter$:r})=>xt({visibleComputedXYData:t,xyMinMax:e,xyValueIndex:n,fullDataFormatter:r}).pipe(tt(a=>{const{minX:i,maxX:o,minY:l,maxY:u}=(()=>{let{minX:p,maxX:g,minY:m,maxY:b}=a.xyMinMax;return a.fullDataFormatter.xAxis.scaleDomain[0]==="auto"&&p>0?p=0:typeof a.fullDataFormatter.xAxis.scaleDomain[0]=="number"&&(p=a.fullDataFormatter.xAxis.scaleDomain[0]),a.fullDataFormatter.xAxis.scaleDomain[1]==="auto"&&g<0?g=0:typeof a.fullDataFormatter.xAxis.scaleDomain[1]=="number"&&(g=a.fullDataFormatter.xAxis.scaleDomain[1]),a.fullDataFormatter.yAxis.scaleDomain[0]==="auto"&&m>0?m=0:typeof a.fullDataFormatter.yAxis.scaleDomain[0]=="number"&&(m=a.fullDataFormatter.yAxis.scaleDomain[0]),a.fullDataFormatter.yAxis.scaleDomain[1]==="auto"&&b<0?b=0:typeof a.fullDataFormatter.yAxis.scaleDomain[1]=="number"&&(b=a.fullDataFormatter.yAxis.scaleDomain[1]),{minX:p,maxX:g,minY:m,maxY:b}})();let s=[],c=null,d=null,f=null,h=null;for(let p of a.visibleComputedXYData)for(let g of p){const m=g.value[a.xyValueIndex[0]],b=g.value[a.xyValueIndex[1]];m>=i&&m<=o&&b>=l&&b<=u&&(s.push(g),(c==null||m<c.value[a.xyValueIndex[0]])&&(c=g),(d==null||m>d.value[a.xyValueIndex[0]])&&(d=g),(f==null||b<f.value[a.xyValueIndex[1]])&&(f=g),(h==null||b>h.value[a.xyValueIndex[1]])&&(h=g))}return{datumList:s,minXDatum:c,maxXDatum:d,minYDatum:f,maxYDatum:h}})),s3=({xyMinMax$:t,xyValueIndex$:e,filteredXYMinMaxData$:n,fullDataFormatter$:r,layout$:a})=>{const i=new Mt;function o({xyMinMax:l,xyValueIndex:u,filteredXYMinMaxData:s,xAxis:c,yAxis:d,width:f,height:h}){let p=0,g=0,m=0,b=0,{minX:y,maxX:x,minY:v,maxY:_}=l,D=s.minXDatum.value[u[0]]??0,C=s.maxXDatum.value[u[0]]??0,A=s.minYDatum.value[u[1]]??0,$=s.maxYDatum.value[u[1]]??0;D===C&&C===0&&(C=1),A===$&&$===0&&($=1),y===x&&x===0&&(x=1),v===_&&_===0&&(_=1);const T=Ne({maxValue:C,minValue:D,axisWidth:f,scaleDomain:c.scaleDomain,scaleRange:c.scaleRange}),S=T(y>0?0:y),k=T(x<0?0:x);p=S,m=(k-S)/f;const N=Ne({maxValue:$,minValue:A,axisWidth:h,scaleDomain:d.scaleDomain,scaleRange:d.scaleRange,reverse:!0}),E=N(v>0?0:v),P=N(_<0?0:_);return g=P,b=(E-P)/h,{translate:[p,g],scale:[m,b],rotate:0,rotateX:0,rotateY:0,value:`translate(${p}px, ${g}px) scale(${m}, ${b})`}}return new wt(l=>(xt({xyMinMax:t,xyValueIndex:e,filteredXYMinMaxData:n,fullDataFormatter:r,layout:a}).pipe(vt(i),gt(async u=>u)).subscribe(u=>{if(!u.filteredXYMinMaxData.minXDatum||!u.filteredXYMinMaxData.maxXDatum||u.filteredXYMinMaxData.minXDatum.value[u.xyValueIndex[0]]==null||u.filteredXYMinMaxData.maxXDatum.value[u.xyValueIndex[0]]==null||!u.filteredXYMinMaxData.minYDatum||!u.filteredXYMinMaxData.maxYDatum||u.filteredXYMinMaxData.minYDatum.value[u.xyValueIndex[1]]==null||u.filteredXYMinMaxData.maxYDatum.value[u.xyValueIndex[1]]==null)return;const s=o({xyMinMax:u.xyMinMax,xyValueIndex:u.xyValueIndex,filteredXYMinMaxData:u.filteredXYMinMaxData,xAxis:u.fullDataFormatter.xAxis,yAxis:u.fullDataFormatter.yAxis,width:u.layout.width,height:u.layout.height});l.next(s)}),function(){i.next(void 0)}))},u3=({containerPosition$:t,graphicTransform$:e})=>xt({containerPosition:t,graphicTransform:e}).pipe(gt(async n=>n),tt(n=>n.containerPosition.map((r,a)=>[1/n.graphicTransform.scale[0]/n.containerPosition[a].scale[0],1/n.graphicTransform.scale[1]/n.containerPosition[a].scale[1]]))),c3=({visibleComputedSumData$:t,fullDataFormatter$:e,filteredXYMinMaxData$:n,containerSize$:r})=>xt({visibleComputedSumData:t,fullDataFormatter:e,containerSize:r,filteredXYMinMaxData:n}).pipe(gt(async a=>a),tt(a=>{const i=a.fullDataFormatter.xAxis.valueIndex;if(!a.filteredXYMinMaxData.minXDatum||!a.filteredXYMinMaxData.maxXDatum)return;let o=a.filteredXYMinMaxData.maxXDatum.value[i],l=a.filteredXYMinMaxData.minXDatum.value[i];return o===l&&o===0&&(o=1),Ne({maxValue:o,minValue:l,axisWidth:a.containerSize.width,scaleDomain:a.fullDataFormatter.xAxis.scaleDomain,scaleRange:a.fullDataFormatter.xAxis.scaleRange})})),f3=({fullDataFormatter$:t,filteredXYMinMaxData$:e,containerSize$:n})=>xt({fullDataFormatter:t,containerSize:n,filteredXYMinMaxData:e}).pipe(gt(async r=>r),tt(r=>{const a=r.fullDataFormatter.yAxis.valueIndex;if(!r.filteredXYMinMaxData.minYDatum||!r.filteredXYMinMaxData.maxYDatum||r.filteredXYMinMaxData.minYDatum.value[a]==null||r.filteredXYMinMaxData.maxYDatum.value[a]==null)return;let i=r.filteredXYMinMaxData.maxYDatum.value[a],o=r.filteredXYMinMaxData.minYDatum.value[a];return i===o&&i===0&&(i=1),Ne({maxValue:i,minValue:o,axisWidth:r.containerSize.height,scaleDomain:r.fullDataFormatter.yAxis.scaleDomain,scaleRange:r.fullDataFormatter.yAxis.scaleRange,reverse:!0})})),d3=({ordinalScaleDomain$:t,computedData$:e,containerSize$:n})=>xt({ordinalScaleDomain:t,containerSize:n,computedData:e}).pipe(gt(async r=>r),tt(r=>{r.computedData[0]&&r.computedData[0][0]&&r.computedData[0][0].value.length&&r.computedData[0][0].value.length-1;let a=r.containerSize.width;const i=r.ordinalScaleDomain[1]-r.ordinalScaleDomain[0];return i>=1?a/(i+1)/2:0})),h3=({ordinalScaleDomain$:t,computedData$:e,containerSize$:n,ordinalPadding$:r})=>xt({ordinalScaleDomain:t,computedData:e,containerSize:n,ordinalPadding:r}).pipe(gt(async a=>a),tt(a=>{let i=a.computedData[0]&&a.computedData[0][0]&&a.computedData[0][0].value.length?a.computedData[0][0].value.length-1:0,o=0,l=a.containerSize.width-a.ordinalPadding*2;return Ne({maxValue:i,minValue:o,axisWidth:l,scaleDomain:a.ordinalScaleDomain,scaleRange:[0,1]})})),p3=({subject:t,observer:e})=>{const n=Br(e.fullChartParams$).pipe(X(1)),r=e.fullDataFormatter$.pipe(tt(S=>S.separateCategory),Rt(),X(1)),a=o3({computedData$:e.computedData$,fullDataFormatter$:e.fullDataFormatter$,layout$:e.layout$}).pipe(X(1)),i=gs({layout$:e.layout$,containerPosition$:a,container$:e.fullDataFormatter$.pipe(tt(S=>S.container))}).pipe(X(1)),o=e.fullDataFormatter$.pipe(tt(S=>[S.xAxis.valueIndex,S.yAxis.valueIndex]),Rt((S,k)=>S[0]===k[0]&&S[1]===k[1]),X(1)),l=e.computedData$.pipe(tt(S=>S.flat().flat())).pipe(X(1)),u=ur({datumList$:l,fullChartParams$:e.fullChartParams$,event$:t.event$}).pipe(X(1)),s=Q6({computedData$:e.computedData$,fullDataFormatter$:e.fullDataFormatter$}).pipe(X(1)),c=so({datumList$:l}).pipe(X(1)),d=Z6({fullDataFormatter$:e.fullDataFormatter$,computedData$:e.computedData$}).pipe(X(1)),f=J6({computedData$:e.computedData$,xyValueIndex$:o}).pipe(X(1)),h=t3({computedData$:e.computedData$}).pipe(X(1)),p=e3({fullDataFormatter$:e.fullDataFormatter$,visibleComputedData$:h}).pipe(X(1)),g=n3({visibleComputedData$:h,ordinalScaleDomain$:p}).pipe(X(1)),m=r3({xyValueIndex$:o,isCategorySeprate$:r,visibleComputedData$:h}).pipe(X(1)),b=a3({isCategorySeprate$:r,visibleComputedSumData$:g}).pipe(X(1)),y=K6({computedData$:e.computedData$,xyMinMax$:f,xyValueIndex$:o,fullDataFormatter$:e.fullDataFormatter$,layout$:e.layout$}).pipe(X(1)),x=i3({computedXYData$:y}).pipe(X(1)),v=l3({visibleComputedXYData$:x,xyMinMax$:f,xyValueIndex$:o,fullDataFormatter$:e.fullDataFormatter$}).pipe(X(1)),_=s3({xyMinMax$:f,xyValueIndex$:o,filteredXYMinMaxData$:v,fullDataFormatter$:e.fullDataFormatter$,layout$:e.layout$}).pipe(X(1)),D=u3({containerPosition$:a,graphicTransform$:_}).pipe(X(1)),C=c3({visibleComputedSumData$:g,fullDataFormatter$:e.fullDataFormatter$,filteredXYMinMaxData$:v,containerSize$:i}).pipe(X(1)),A=f3({fullDataFormatter$:e.fullDataFormatter$,filteredXYMinMaxData$:v,containerSize$:i}).pipe(X(1)),$=d3({ordinalScaleDomain$:p,computedData$:e.computedData$,containerSize$:i}).pipe(X(1)),T=h3({ordinalScaleDomain$:p,computedData$:e.computedData$,containerSize$:i,ordinalPadding$:$}).pipe(X(1));return{fullParams$:e.fullParams$,fullChartParams$:e.fullChartParams$,fullDataFormatter$:e.fullDataFormatter$,computedData$:e.computedData$,layout$:e.layout$,textSizePx$:n,isCategorySeprate$:r,containerPosition$:a,containerSize$:i,highlight$:u,categoryLabels$:s,CategoryDataMap$:c,valueLabels$:d,xyMinMax$:f,xyValueIndex$:o,visibleComputedData$:h,visibleComputedSumData$:g,visibleComputedRankingByIndexData$:m,visibleComputedRankingBySumData$:b,visibleComputedXYData$:x,filteredXYMinMaxData$:v,graphicTransform$:_,graphicReverseScale$:D,xScale$:C,yScale$:A,ordinalScaleDomain$:p,ordinalPadding$:$,ordinalScale$:T}};let m3=class extends La{constructor(e,n){super({defaultDataFormatter:Bf,dataFormatterValidator:X6,computedDataFn:U6,dataValidator:q6,contextObserverCallback:p3},e,n)}};const g3=t=>$t(t,{visibleFilter:{toBeTypes:["Function"]},categoryLabels:{toBeTypes:["string[]"]}}),y3=t=>{const{data:e,dataFormatter:n,chartParams:r}=t,a=cs();let i=[],o=[];try{let l=[],u=[];if(e.nodes)l=e.nodes,u=e.edges;else if(e[0])l=e[0],u=e[1];else return{nodes:[],edges:[]};const s=(()=>{const f=new Set(n.categoryLabels);for(let h of l){const p=h.categoryLabel??a;f.add(p)}for(let h of u){const p=h.categoryLabel??a;f.add(p)}return Array.from(f)})(),c=new Map(s.map((f,h)=>[f,h]));i=l.map((f,h)=>{const p=f.categoryLabel??a,g=c.get(p)??0,m={id:f.id,index:h,label:f.label??"",description:f.description??"",data:f.data??{},value:f.value??0,categoryIndex:g,categoryLabel:p,color:ir(g,r),visible:!0};return m.visible=n.visibleFilter(m,t),m});const d=new Map(i.map(f=>[f.id,f]));o=u.map((f,h)=>{const p=d.get(f.start),g=d.get(f.end);return{edge:f,startNode:p,endNode:g}}).filter(({edge:f})=>{const h=d.get(f.start),p=d.get(f.end);return h!=null&&p!=null}).map(({edge:f,startNode:h,endNode:p},g)=>{const m=f.categoryLabel??a;return{id:f.id,index:g,label:f.label??"",description:f.description??"",data:f.data??{},value:f.value??0,categoryIndex:c.get(m),categoryLabel:m,color:ir(g,r),startNode:h,endNode:p,visible:h.visible&&p.visible}})}catch(l){throw Error(l)}return{nodes:i,edges:o}},b3=t=>$t({data:t},{data:{toBe:"DataRelationshipObj | DataRelationshipList",test:e=>ie(e)||Array.isArray(e)}}),x3=(t,e)=>xt({CategoryNodeMap:t,CategoryEdgeMap:e}).pipe(gt(async n=>n),tt(n=>[...Array.from(n.CategoryNodeMap.keys()),...Array.from(n.CategoryEdgeMap.keys())]),Rt((n,r)=>JSON.stringify(n)===JSON.stringify(r))),v3=t=>t.pipe(tt(e=>{const n=new Map;return e.nodes.forEach(r=>{n.set(r.id,r)}),n})),$3=t=>t.pipe(tt(e=>{const n=new Map;return e.edges.forEach(r=>{n.set(r.id,r)}),n})),S3=({computedData$:t,NodeMap$:e})=>xt({computedData:t,NodeMap:e}).pipe(gt(async n=>n),tt(n=>({nodes:n.computedData.nodes.filter(r=>r.visible),edges:n.computedData.edges.filter(r=>r.visible).filter(r=>n.NodeMap.has(r.startNode.id)&&n.NodeMap.has(r.endNode.id))}))),D3=({subject:t,observer:e})=>{const n=Br(e.fullChartParams$).pipe(X(1)),r=ur({datumList$:e.computedData$.pipe(tt(d=>d.nodes)),fullChartParams$:e.fullChartParams$,event$:t.event$}).pipe(X(1)),a=ur({datumList$:e.computedData$.pipe(tt(d=>d.edges)),fullChartParams$:e.fullChartParams$,event$:t.event$}).pipe(X(1)),i=so({datumList$:e.computedData$.pipe(tt(d=>d.nodes))}).pipe(X(1)),o=so({datumList$:e.computedData$.pipe(tt(d=>d.edges))}).pipe(X(1)),l=v3(e.computedData$).pipe(X(1)),u=$3(e.computedData$).pipe(X(1)),s=x3(i,o).pipe(X(1)),c=S3({computedData$:e.computedData$,NodeMap$:l}).pipe(X(1));return{fullParams$:e.fullParams$,fullChartParams$:e.fullChartParams$,fullDataFormatter$:e.fullDataFormatter$,computedData$:e.computedData$,layout$:e.layout$,textSizePx$:n,relationshipHighlightNodes$:r,relationshipHighlightEdges$:a,categoryLabels$:s,CategoryNodeMap$:i,CategoryEdgeMap$:o,NodeMap$:l,EdgeMap$:u,visibleComputedData$:c}};let _3=class extends La{constructor(e,n){super({defaultDataFormatter:Lf,dataFormatterValidator:g3,computedDataFn:y3,dataValidator:b3,contextObserverCallback:D3},e,n)}};const A3=t=>$t(t,{visibleFilter:{toBeTypes:["Function"]},categoryLabels:{toBeTypes:["string[]"]}}),C3=t=>{const{data:e=[],dataFormatter:n,chartParams:r}=t,a=cs(),i=new Map(n.categoryLabels.map((l,u)=>[l,u]));let o={id:"",index:0,label:"",description:"",categoryIndex:-1,categoryLabel:"",color:"",visible:!0,data:{},value:0,level:0,seq:0,children:[]};try{const l=function(){if(ie(e)===!0)return JSON.parse(JSON.stringify(e));if(Array.isArray(e)===!1)return{id:""};let c;const d=new Map;e.forEach(h=>{if(!h.parent)c=h;else{const p=d.get(h.parent)??[];p.push(h),d.set(h.parent,p)}});const f=h=>({id:h.id,label:h.label,data:h.data,value:h.value,categoryLabel:h.categoryLabel??a,children:(d.get(h.id)??[]).map(p=>f(p))});return c?f(c):{id:""}}();let u=0;const s=(c,d,f)=>{const h=d+1,p=c.categoryLabel??a;i.has(p)||i.set(p,i.size);const g=i.get(p)??0,m=u;u++;const b={id:c.id,index:m,level:d,seq:f,label:c.label??"",description:c.description??"",categoryIndex:g,categoryLabel:p,color:ir(g,r),data:c.data??{},value:c.value,visible:!0,children:(c.children??[]).map((y,x)=>s(y,h,x))};return b.visible=n.visibleFilter(b,t),b};o=s(l,0,0)}catch(l){throw Error(l)}return o},P3=t=>$t({data:t},{data:{toBe:"DataTreeObj | DataTreeDatum[]",test:e=>ie(e)&&e.id!==void 0||Array.isArray(e)}}),F3=({computedData$:t})=>t.pipe(tt(e=>{function n(r,a){return r.push(a),a.children&&a.children.forEach(i=>{r=n(r,i)}),r}return n([],e)})),T3=t=>t.pipe(tt(e=>Array.from(e.keys())),Rt((e,n)=>JSON.stringify(e)===JSON.stringify(n))),w3=({computedData$:t})=>t.pipe(tt(e=>{function n(r){return r.children&&(r.children=r.children.filter(a=>a.visible).map(a=>n(a))),r}return n(e)})),B3=({subject:t,observer:e})=>{const n=Br(e.fullChartParams$).pipe(X(1)),r=F3({computedData$:e.computedData$}).pipe(X(1)),a=ur({datumList$:r,fullChartParams$:e.fullChartParams$,event$:t.event$}).pipe(X(1)),i=so({datumList$:r}).pipe(X(1)),o=T3(i).pipe(X(1)),l=w3({computedData$:e.computedData$}).pipe(X(1));return{fullParams$:e.fullParams$,fullChartParams$:e.fullChartParams$,fullDataFormatter$:e.fullDataFormatter$,computedData$:e.computedData$,layout$:e.layout$,textSizePx$:n,treeHighlight$:a,categoryLabels$:o,CategoryDataMap$:i,visibleComputedData$:l}};let E3=class extends La{constructor(e,n){super({defaultDataFormatter:Ef,dataFormatterValidator:A3,computedDataFn:C3,dataValidator:P3,contextObserverCallback:B3},e,n)}};function L3({chartType:t,config:e,initFn:n}){const r=new Mt,a=new WeakMap;let i=()=>{},o;const l=new zy(e.defaultParams),u=new zy({}),s=l.pipe(gt(c=>u.pipe(vt(r),tt(d=>{try{const{status:f,columnName:h,expectToBe:p}=e.validator(d,{validateColumns:$t});if(f==="error")throw new Error(Er({columnName:h,expectToBe:p,from:`${e.name}.params$`}));f==="warning"&&console.warn(Lr({columnName:h,expectToBe:p,from:`${e.name}.params$`}))}catch(f){console.error(En(f))}return rr(d,c)}))),X(1));return{params$:u,name:e.name,chartType:t,defaultParams:e.defaultParams,layerIndex:e.layerIndex,init(){o&&(i=n(o)??(()=>{}),a.set(o.selection,o))},destroy(){i(),o&&(o.selection.remove(),o=void 0),r.next(void 0)},setPresetParams:c=>{l.next(rr(c,e.defaultParams))},setContext:c=>{o=c,o.observer.fullParams$=s}}}const Mr=t=>function(e){return function(n){return class{constructor(){const r=L3({chartType:t,config:e,initFn:n});this.params$=r.params$,this.name=r.name,this.chartType=r.chartType,this.defaultParams=r.defaultParams,this.layerIndex=r.layerIndex,this.init=r.init,this.destroy=r.destroy,this.setPresetParams=r.setPresetParams,this.setContext=r.setContext}}}},M3=Mr("series"),R3=Mr("grid"),I3=Mr("multiGrid"),k3=Mr("multiValue"),N3=Mr("noneData"),z3=Mr("relationship"),O3=Mr("tree"),wb={lineCurve:"curveLinear",lineWidth:2},Bb={lineCurve:"curveLinear",linearGradientOpacity:[1,0]},Eb={radius:4,fillColorType:"background",strokeColorType:"label",strokeWidth:2,onlyShowHighlighted:!1},xd={showLine:!0,showLabel:!0,lineDashArray:"3, 3",lineColorType:"primary",labelColorType:"primary",labelTextColorType:"background",labelTextFormat:t=>t,labelPadding:20,labelRotate:0};xd.labelTextFormat.toString=()=>"text => text";const bs={barWidth:0,barPadding:1,barGroupPadding:40,barRadius:!1},G3={...bs},Lb={barWidth:0,barGroupPadding:10,barRadius:!1},Mb={barWidth:0,barPadding:1,barGroupPadding:20,linearGradientOpacity:[1,0]},vd={labelOffset:[0,0],labelColorType:"primary",axisLineVisible:!0,axisLineColorType:"primary",ticks:"all",tickFormat:t=>t,tickLineVisible:!0,tickPadding:20,tickFullLine:!1,tickFullLineDasharray:"none",tickColorType:"secondary",tickTextRotate:0,tickTextColorType:"primary"};vd.tickFormat.toString=()=>"text => text";const xs={labelOffset:[0,0],labelColorType:"primary",axisLineVisible:!1,axisLineColorType:"primary",ticks:null,tickFormat:t=>{if(t===null||Number.isNaN(t)==!0)return t||0;const e=t.toString().split(".");return e[0]=e[0].replace(/\B(?=(\d{3})+(?!\d))/g,","),e.join(".")},tickLineVisible:!0,tickPadding:20,tickFullLine:!0,tickFullLineDasharray:"none",tickColorType:"secondary",tickTextRotate:0,tickTextColorType:"primary"};xs.tickFormat.toString=()=>`num => {
9
- if (num === null || Number.isNaN(num) == true) {
10
- return num || 0
11
- }
12
- const parts = num.toString().split('.')
13
- parts[0] = parts[0].replace(/B(?=(d{3})+(?!d))/g, ',')
14
- return parts.join('.')
15
- }`;const Rb={...xs},Ib={},kb={placement:"bottom",padding:28,backgroundFill:"none",backgroundStroke:"none",gap:10,listRectWidth:14,listRectHeight:14,listRectRadius:0,textColorType:"primary"},$d={backgroundColorType:"background",strokeColorType:"primary",backgroundOpacity:.8,textColorType:"primary",offset:[20,5],padding:10,renderFn:(t,{styles:e,utils:n})=>{const r=e.textSizePx*.7,a=e.textSizePx/2-r/2,i=`<g><text dominant-baseline="hanging" font-size="${e.textSizePx}" fill="${e.textColor}">${t.groupLabel}</text></g>`,o=n.measureTextWidth(t.groupLabel,e.textSizePx),l=t.group.reduce((c,d)=>{const f=`${d.seriesLabel}${n.toCurrency(d.value)}`,h=n.measureTextWidth(f,e.textSizePx);return h>c?h:c},0),u=Math.max(o,l)+e.textSizePx*3,s=t.group.map((c,d)=>{const f=d*e.textSizePx*1.5,h=c.id===(t.datum&&t.datum.id);return`<g transform="translate(0, ${e.textSizePx*2})">
16
- <rect width="${r}" height="${r}" x="${a}" y="${f+a}" rx="${r/2}" fill="${c.color}"></rect>
17
- <text x="${e.textSizePx*1.5}" y="${f}" font-size="${e.textSizePx}" dominant-baseline="hanging" fill="${e.textColor}">
18
- <tspan font-weight="${h?"bold":""}">${c.seriesLabel}</tspan>
19
- <tspan font-weight="bold" text-anchor="end" x="${u}">${n.toCurrency(c.value)}</tspan>
20
- </text>
21
- </g>`}).join("");return`${i}
22
- ${s}`}};$d.renderFn.toString=()=>`(eventData, { styles, utils }) => {
23
- const bulletWidth = styles.textSizePx * 0.7
24
- const offset = (styles.textSizePx / 2) - (bulletWidth / 2)
25
-
26
- const titleSvg = \`<g><text dominant-baseline="hanging" font-size="\${styles.textSizePx}" fill="\${styles.textColor}">\${eventData.groupLabel}</text></g>\`
27
- const groupLabelTextWidth = utils.measureTextWidth(eventData.groupLabel, styles.textSizePx)
28
- const listTextWidth = eventData.group.reduce((acc, group) => {
29
- const text = \`\${group.seriesLabel}\${utils.toCurrency(group.value)}\`
30
- const _maxTextWidth = utils.measureTextWidth(text, styles.textSizePx)
31
- return _maxTextWidth > acc ? _maxTextWidth : acc
32
- }, 0)
33
- const maxTextWidth = Math.max(groupLabelTextWidth, listTextWidth)
34
- const lineEndX = maxTextWidth + styles.textSizePx * 3
35
- const contentSvg = eventData.group
36
- .map((group, i) => {
37
- const y = i * styles.textSizePx * 1.5
38
- const isHighlight = group.id === (eventData.datum && eventData.datum.id)
39
- return \`<g transform="translate(0, \${styles.textSizePx * 2})">
40
- <rect width="\${bulletWidth}" height="\${bulletWidth}" x="\${offset}" y="\${y + offset}" rx="\${bulletWidth / 2}" fill="\${group.color}"></rect>
41
- <text x="\${styles.textSizePx * 1.5}" y="\${y}" font-size="\${styles.textSizePx}" dominant-baseline="hanging" fill="\${styles.textColor}">
42
- <tspan font-weight="\${isHighlight ? 'bold' : ''}">\${group.seriesLabel}</tspan>
43
- <tspan font-weight="bold" text-anchor="end" x="\${lineEndX}">\${utils.toCurrency(group.value)}</tspan>
44
- </text>
45
- </g>\`
46
- })
47
- .join('')
48
- return \`\${titleSvg}
49
- \${contentSvg}\`
50
- }`;var Sd=function(t,e){return Sd=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,r){n.__proto__=r}||function(n,r){for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(n[a]=r[a])},Sd(t,e)};function hn(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");Sd(t,e);function n(){this.constructor=t}t.prototype=e===null?Object.create(e):(n.prototype=e.prototype,new n)}function j3(t,e,n,r){function a(i){return i instanceof n?i:new n(function(o){o(i)})}return new(n||(n=Promise))(function(i,o){function l(c){try{s(r.next(c))}catch(d){o(d)}}function u(c){try{s(r.throw(c))}catch(d){o(d)}}function s(c){c.done?i(c.value):a(c.value).then(l,u)}s((r=r.apply(t,[])).next())})}function Nb(t,e){var n={label:0,sent:function(){if(i[0]&1)throw i[1];return i[1]},trys:[],ops:[]},r,a,i,o=Object.create((typeof Iterator=="function"?Iterator:Object).prototype);return o.next=l(0),o.throw=l(1),o.return=l(2),typeof Symbol=="function"&&(o[Symbol.iterator]=function(){return this}),o;function l(s){return function(c){return u([s,c])}}function u(s){if(r)throw new TypeError("Generator is already executing.");for(;o&&(o=0,s[0]&&(n=0)),n;)try{if(r=1,a&&(i=s[0]&2?a.return:s[0]?a.throw||((i=a.return)&&i.call(a),0):a.next)&&!(i=i.call(a,s[1])).done)return i;switch(a=0,i&&(s=[s[0]&2,i.value]),s[0]){case 0:case 1:i=s;break;case 4:return n.label++,{value:s[1],done:!1};case 5:n.label++,a=s[1],s=[0];continue;case 7:s=n.ops.pop(),n.trys.pop();continue;default:if(i=n.trys,!(i=i.length>0&&i[i.length-1])&&(s[0]===6||s[0]===2)){n=0;continue}if(s[0]===3&&(!i||s[1]>i[0]&&s[1]<i[3])){n.label=s[1];break}if(s[0]===6&&n.label<i[1]){n.label=i[1],i=s;break}if(i&&n.label<i[2]){n.label=i[2],n.ops.push(s);break}i[2]&&n.ops.pop(),n.trys.pop();continue}s=e.call(t,n)}catch(c){s=[6,c],a=0}finally{r=i=0}if(s[0]&5)throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}}function Ma(t){var e=typeof Symbol=="function"&&Symbol.iterator,n=e&&t[e],r=0;if(n)return n.call(t);if(t&&typeof t.length=="number")return{next:function(){return t&&r>=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function Rr(t,e){var n=typeof Symbol=="function"&&t[Symbol.iterator];if(!n)return t;var r=n.call(t),a,i=[],o;try{for(;(e===void 0||e-- >0)&&!(a=r.next()).done;)i.push(a.value)}catch(l){o={error:l}}finally{try{a&&!a.done&&(n=r.return)&&n.call(r)}finally{if(o)throw o.error}}return i}function Ra(t,e,n){if(arguments.length===2)for(var r=0,a=e.length,i;r<a;r++)(i||!(r in e))&&(i||(i=Array.prototype.slice.call(e,0,r)),i[r]=e[r]);return t.concat(i||Array.prototype.slice.call(e))}function Ia(t){return this instanceof Ia?(this.v=t,this):new Ia(t)}function V3(t,e,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r=n.apply(t,e||[]),a,i=[];return a=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),l("next"),l("throw"),l("return",o),a[Symbol.asyncIterator]=function(){return this},a;function o(h){return function(p){return Promise.resolve(p).then(h,d)}}function l(h,p){r[h]&&(a[h]=function(g){return new Promise(function(m,b){i.push([h,g,m,b])>1||u(h,g)})},p&&(a[h]=p(a[h])))}function u(h,p){try{s(r[h](p))}catch(g){f(i[0][3],g)}}function s(h){h.value instanceof Ia?Promise.resolve(h.value.v).then(c,d):f(i[0][2],h)}function c(h){u("next",h)}function d(h){u("throw",h)}function f(h,p){h(p),i.shift(),i.length&&u(i[0][0],i[0][1])}}function Y3(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=t[Symbol.asyncIterator],n;return e?e.call(t):(t=typeof Ma=="function"?Ma(t):t[Symbol.iterator](),n={},r("next"),r("throw"),r("return"),n[Symbol.asyncIterator]=function(){return this},n);function r(i){n[i]=t[i]&&function(o){return new Promise(function(l,u){o=t[i](o),a(l,u,o.done,o.value)})}}function a(i,o,l,u){Promise.resolve(u).then(function(s){i({value:s,done:l})},o)}}function _t(t){return typeof t=="function"}function Dd(t){var e=function(r){Error.call(r),r.stack=new Error().stack},n=t(e);return n.prototype=Object.create(Error.prototype),n.prototype.constructor=n,n}var _d=Dd(function(t){return function(e){t(this),this.message=e?e.length+` errors occurred during unsubscription:
51
- `+e.map(function(n,r){return r+1+") "+n.toString()}).join(`
52
- `):"",this.name="UnsubscriptionError",this.errors=e}});function vs(t,e){if(t){var n=t.indexOf(e);0<=n&&t.splice(n,1)}}var uo=function(){function t(e){this.initialTeardown=e,this.closed=!1,this._parentage=null,this._finalizers=null}return t.prototype.unsubscribe=function(){var e,n,r,a,i;if(!this.closed){this.closed=!0;var o=this._parentage;if(o)if(this._parentage=null,Array.isArray(o))try{for(var l=Ma(o),u=l.next();!u.done;u=l.next()){var s=u.value;s.remove(this)}}catch(g){e={error:g}}finally{try{u&&!u.done&&(n=l.return)&&n.call(l)}finally{if(e)throw e.error}}else o.remove(this);var c=this.initialTeardown;if(_t(c))try{c()}catch(g){i=g instanceof _d?g.errors:[g]}var d=this._finalizers;if(d){this._finalizers=null;try{for(var f=Ma(d),h=f.next();!h.done;h=f.next()){var p=h.value;try{Gb(p)}catch(g){i=i??[],g instanceof _d?i=Ra(Ra([],Rr(i)),Rr(g.errors)):i.push(g)}}}catch(g){r={error:g}}finally{try{h&&!h.done&&(a=f.return)&&a.call(f)}finally{if(r)throw r.error}}}if(i)throw new _d(i)}},t.prototype.add=function(e){var n;if(e&&e!==this)if(this.closed)Gb(e);else{if(e instanceof t){if(e.closed||e._hasParent(this))return;e._addParent(this)}(this._finalizers=(n=this._finalizers)!==null&&n!==void 0?n:[]).push(e)}},t.prototype._hasParent=function(e){var n=this._parentage;return n===e||Array.isArray(n)&&n.includes(e)},t.prototype._addParent=function(e){var n=this._parentage;this._parentage=Array.isArray(n)?(n.push(e),n):n?[n,e]:e},t.prototype._removeParent=function(e){var n=this._parentage;n===e?this._parentage=null:Array.isArray(n)&&vs(n,e)},t.prototype.remove=function(e){var n=this._finalizers;n&&vs(n,e),e instanceof t&&e._removeParent(this)},t.EMPTY=function(){var e=new t;return e.closed=!0,e}(),t}(),zb=uo.EMPTY;function Ob(t){return t instanceof uo||t&&"closed"in t&&_t(t.remove)&&_t(t.add)&&_t(t.unsubscribe)}function Gb(t){_t(t)?t():t.unsubscribe()}var H3={Promise:void 0},W3={setTimeout:function(t,e){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];return setTimeout.apply(void 0,Ra([t,e],Rr(n)))},clearTimeout:function(t){return clearTimeout(t)},delegate:void 0};function jb(t){W3.setTimeout(function(){throw t})}function Ad(){}function $s(t){t()}var Cd=function(t){hn(e,t);function e(n){var r=t.call(this)||this;return r.isStopped=!1,n?(r.destination=n,Ob(n)&&n.add(r)):r.destination=q3,r}return e.create=function(n,r,a){return new co(n,r,a)},e.prototype.next=function(n){this.isStopped||this._next(n)},e.prototype.error=function(n){this.isStopped||(this.isStopped=!0,this._error(n))},e.prototype.complete=function(){this.isStopped||(this.isStopped=!0,this._complete())},e.prototype.unsubscribe=function(){this.closed||(this.isStopped=!0,t.prototype.unsubscribe.call(this),this.destination=null)},e.prototype._next=function(n){this.destination.next(n)},e.prototype._error=function(n){try{this.destination.error(n)}finally{this.unsubscribe()}},e.prototype._complete=function(){try{this.destination.complete()}finally{this.unsubscribe()}},e}(uo),X3=function(){function t(e){this.partialObserver=e}return t.prototype.next=function(e){var n=this.partialObserver;if(n.next)try{n.next(e)}catch(r){Ss(r)}},t.prototype.error=function(e){var n=this.partialObserver;if(n.error)try{n.error(e)}catch(r){Ss(r)}else Ss(e)},t.prototype.complete=function(){var e=this.partialObserver;if(e.complete)try{e.complete()}catch(n){Ss(n)}},t}(),co=function(t){hn(e,t);function e(n,r,a){var i=t.call(this)||this,o;return _t(n)||!n?o={next:n??void 0,error:r??void 0,complete:a??void 0}:o=n,i.destination=new X3(o),i}return e}(Cd);function Ss(t){jb(t)}function U3(t){throw t}var q3={closed:!0,next:Ad,error:U3,complete:Ad},Pd=function(){return typeof Symbol=="function"&&Symbol.observable||"@@observable"}();function ka(t){return t}function Z3(t){return t.length===0?ka:t.length===1?t[0]:function(e){return t.reduce(function(n,r){return r(n)},e)}}var bt=function(){function t(e){e&&(this._subscribe=e)}return t.prototype.lift=function(e){var n=new t;return n.source=this,n.operator=e,n},t.prototype.subscribe=function(e,n,r){var a=this,i=K3(e)?e:new co(e,n,r);return $s(function(){var o=a,l=o.operator,u=o.source;i.add(l?l.call(i,u):u?a._subscribe(i):a._trySubscribe(i))}),i},t.prototype._trySubscribe=function(e){try{return this._subscribe(e)}catch(n){e.error(n)}},t.prototype.forEach=function(e,n){var r=this;return n=Vb(n),new n(function(a,i){var o=new co({next:function(l){try{e(l)}catch(u){i(u),o.unsubscribe()}},error:i,complete:a});r.subscribe(o)})},t.prototype._subscribe=function(e){var n;return(n=this.source)===null||n===void 0?void 0:n.subscribe(e)},t.prototype[Pd]=function(){return this},t.prototype.pipe=function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];return Z3(e)(this)},t.prototype.toPromise=function(e){var n=this;return e=Vb(e),new e(function(r,a){var i;n.subscribe(function(o){return i=o},function(o){return a(o)},function(){return r(i)})})},t.create=function(e){return new t(e)},t}();function Vb(t){var e;return(e=t??H3.Promise)!==null&&e!==void 0?e:Promise}function J3(t){return t&&_t(t.next)&&_t(t.error)&&_t(t.complete)}function K3(t){return t&&t instanceof Cd||J3(t)&&Ob(t)}function Q3(t){return _t(t==null?void 0:t.lift)}function Be(t){return function(e){if(Q3(e))return e.lift(function(n){try{return t(n,this)}catch(r){this.error(r)}});throw new TypeError("Unable to lift unknown Observable type")}}function _e(t,e,n,r,a){return new t7(t,e,n,r,a)}var t7=function(t){hn(e,t);function e(n,r,a,i,o,l){var u=t.call(this,n)||this;return u.onFinalize=o,u.shouldUnsubscribe=l,u._next=r?function(s){try{r(s)}catch(c){n.error(c)}}:t.prototype._next,u._error=i?function(s){try{i(s)}catch(c){n.error(c)}finally{this.unsubscribe()}}:t.prototype._error,u._complete=a?function(){try{a()}catch(s){n.error(s)}finally{this.unsubscribe()}}:t.prototype._complete,u}return e.prototype.unsubscribe=function(){var n;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){var r=this.closed;t.prototype.unsubscribe.call(this),!r&&((n=this.onFinalize)===null||n===void 0||n.call(this))}},e}(Cd),e7=Dd(function(t){return function(){t(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"}}),J=function(t){hn(e,t);function e(){var n=t.call(this)||this;return n.closed=!1,n.currentObservers=null,n.observers=[],n.isStopped=!1,n.hasError=!1,n.thrownError=null,n}return e.prototype.lift=function(n){var r=new Yb(this,this);return r.operator=n,r},e.prototype._throwIfClosed=function(){if(this.closed)throw new e7},e.prototype.next=function(n){var r=this;$s(function(){var a,i;if(r._throwIfClosed(),!r.isStopped){r.currentObservers||(r.currentObservers=Array.from(r.observers));try{for(var o=Ma(r.currentObservers),l=o.next();!l.done;l=o.next()){var u=l.value;u.next(n)}}catch(s){a={error:s}}finally{try{l&&!l.done&&(i=o.return)&&i.call(o)}finally{if(a)throw a.error}}}})},e.prototype.error=function(n){var r=this;$s(function(){if(r._throwIfClosed(),!r.isStopped){r.hasError=r.isStopped=!0,r.thrownError=n;for(var a=r.observers;a.length;)a.shift().error(n)}})},e.prototype.complete=function(){var n=this;$s(function(){if(n._throwIfClosed(),!n.isStopped){n.isStopped=!0;for(var r=n.observers;r.length;)r.shift().complete()}})},e.prototype.unsubscribe=function(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null},Object.defineProperty(e.prototype,"observed",{get:function(){var n;return((n=this.observers)===null||n===void 0?void 0:n.length)>0},enumerable:!1,configurable:!0}),e.prototype._trySubscribe=function(n){return this._throwIfClosed(),t.prototype._trySubscribe.call(this,n)},e.prototype._subscribe=function(n){return this._throwIfClosed(),this._checkFinalizedStatuses(n),this._innerSubscribe(n)},e.prototype._innerSubscribe=function(n){var r=this,a=this,i=a.hasError,o=a.isStopped,l=a.observers;return i||o?zb:(this.currentObservers=null,l.push(n),new uo(function(){r.currentObservers=null,vs(l,n)}))},e.prototype._checkFinalizedStatuses=function(n){var r=this,a=r.hasError,i=r.thrownError,o=r.isStopped;a?n.error(i):o&&n.complete()},e.prototype.asObservable=function(){var n=new bt;return n.source=this,n},e.create=function(n,r){return new Yb(n,r)},e}(bt),Yb=function(t){hn(e,t);function e(n,r){var a=t.call(this)||this;return a.destination=n,a.source=r,a}return e.prototype.next=function(n){var r,a;(a=(r=this.destination)===null||r===void 0?void 0:r.next)===null||a===void 0||a.call(r,n)},e.prototype.error=function(n){var r,a;(a=(r=this.destination)===null||r===void 0?void 0:r.error)===null||a===void 0||a.call(r,n)},e.prototype.complete=function(){var n,r;(r=(n=this.destination)===null||n===void 0?void 0:n.complete)===null||r===void 0||r.call(n)},e.prototype._subscribe=function(n){var r,a;return(a=(r=this.source)===null||r===void 0?void 0:r.subscribe(n))!==null&&a!==void 0?a:zb},e}(J),Fd=function(t){hn(e,t);function e(n){var r=t.call(this)||this;return r._value=n,r}return Object.defineProperty(e.prototype,"value",{get:function(){return this.getValue()},enumerable:!1,configurable:!0}),e.prototype._subscribe=function(n){var r=t.prototype._subscribe.call(this,n);return!r.closed&&n.next(this._value),r},e.prototype.getValue=function(){var n=this,r=n.hasError,a=n.thrownError,i=n._value;if(r)throw a;return this._throwIfClosed(),i},e.prototype.next=function(n){t.prototype.next.call(this,this._value=n)},e}(J),Td={now:function(){return(Td.delegate||Date).now()},delegate:void 0},n7=function(t){hn(e,t);function e(n,r,a){n===void 0&&(n=1/0),r===void 0&&(r=1/0),a===void 0&&(a=Td);var i=t.call(this)||this;return i._bufferSize=n,i._windowTime=r,i._timestampProvider=a,i._buffer=[],i._infiniteTimeWindow=!0,i._infiniteTimeWindow=r===1/0,i._bufferSize=Math.max(1,n),i._windowTime=Math.max(1,r),i}return e.prototype.next=function(n){var r=this,a=r.isStopped,i=r._buffer,o=r._infiniteTimeWindow,l=r._timestampProvider,u=r._windowTime;a||(i.push(n),!o&&i.push(l.now()+u)),this._trimBuffer(),t.prototype.next.call(this,n)},e.prototype._subscribe=function(n){this._throwIfClosed(),this._trimBuffer();for(var r=this._innerSubscribe(n),a=this,i=a._infiniteTimeWindow,o=a._buffer,l=o.slice(),u=0;u<l.length&&!n.closed;u+=i?1:2)n.next(l[u]);return this._checkFinalizedStatuses(n),r},e.prototype._trimBuffer=function(){var n=this,r=n._bufferSize,a=n._timestampProvider,i=n._buffer,o=n._infiniteTimeWindow,l=(o?1:2)*r;if(r<1/0&&l<i.length&&i.splice(0,i.length-l),!o){for(var u=a.now(),s=0,c=1;c<i.length&&i[c]<=u;c+=2)s=c;s&&i.splice(0,s+1)}},e}(J),r7=function(t){hn(e,t);function e(n,r){return t.call(this)||this}return e.prototype.schedule=function(n,r){return this},e}(uo),Hb={setInterval:function(t,e){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];return setInterval.apply(void 0,Ra([t,e],Rr(n)))},clearInterval:function(t){return clearInterval(t)},delegate:void 0},a7=function(t){hn(e,t);function e(n,r){var a=t.call(this,n,r)||this;return a.scheduler=n,a.work=r,a.pending=!1,a}return e.prototype.schedule=function(n,r){var a;if(r===void 0&&(r=0),this.closed)return this;this.state=n;var i=this.id,o=this.scheduler;return i!=null&&(this.id=this.recycleAsyncId(o,i,r)),this.pending=!0,this.delay=r,this.id=(a=this.id)!==null&&a!==void 0?a:this.requestAsyncId(o,this.id,r),this},e.prototype.requestAsyncId=function(n,r,a){return a===void 0&&(a=0),Hb.setInterval(n.flush.bind(n,this),a)},e.prototype.recycleAsyncId=function(n,r,a){if(a===void 0&&(a=0),a!=null&&this.delay===a&&this.pending===!1)return r;r!=null&&Hb.clearInterval(r)},e.prototype.execute=function(n,r){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;var a=this._execute(n,r);if(a)return a;this.pending===!1&&this.id!=null&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))},e.prototype._execute=function(n,r){var a=!1,i;try{this.work(n)}catch(o){a=!0,i=o||new Error("Scheduled action threw falsy error")}if(a)return this.unsubscribe(),i},e.prototype.unsubscribe=function(){if(!this.closed){var n=this,r=n.id,a=n.scheduler,i=a.actions;this.work=this.state=this.scheduler=null,this.pending=!1,vs(i,this),r!=null&&(this.id=this.recycleAsyncId(a,r,null)),this.delay=null,t.prototype.unsubscribe.call(this)}},e}(r7),Wb=function(){function t(e,n){n===void 0&&(n=t.now),this.schedulerActionCtor=e,this.now=n}return t.prototype.schedule=function(e,n,r){return n===void 0&&(n=0),new this.schedulerActionCtor(this,e).schedule(r,n)},t.now=Td.now,t}(),i7=function(t){hn(e,t);function e(n,r){r===void 0&&(r=Wb.now);var a=t.call(this,n,r)||this;return a.actions=[],a._active=!1,a}return e.prototype.flush=function(n){var r=this.actions;if(this._active){r.push(n);return}var a;this._active=!0;do if(a=n.execute(n.state,n.delay))break;while(n=r.shift());if(this._active=!1,a){for(;n=r.shift();)n.unsubscribe();throw a}},e}(Wb),o7=new i7(a7),Ds=new bt(function(t){return t.complete()});function l7(t){return t&&_t(t.schedule)}function wd(t){return t[t.length-1]}function s7(t){return _t(wd(t))?t.pop():void 0}function Bd(t){return l7(wd(t))?t.pop():void 0}function u7(t,e){return typeof wd(t)=="number"?t.pop():e}var Ed=function(t){return t&&typeof t.length=="number"&&typeof t!="function"};function Xb(t){return _t(t==null?void 0:t.then)}function Ub(t){return _t(t[Pd])}function qb(t){return Symbol.asyncIterator&&_t(t==null?void 0:t[Symbol.asyncIterator])}function Zb(t){return new TypeError("You provided "+(t!==null&&typeof t=="object"?"an invalid object":"'"+t+"'")+" where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.")}function c7(){return typeof Symbol!="function"||!Symbol.iterator?"@@iterator":Symbol.iterator}var Jb=c7();function Kb(t){return _t(t==null?void 0:t[Jb])}function Qb(t){return V3(this,arguments,function(){var e,n,r,a;return Nb(this,function(i){switch(i.label){case 0:e=t.getReader(),i.label=1;case 1:i.trys.push([1,,9,10]),i.label=2;case 2:return[4,Ia(e.read())];case 3:return n=i.sent(),r=n.value,a=n.done,a?[4,Ia(void 0)]:[3,5];case 4:return[2,i.sent()];case 5:return[4,Ia(r)];case 6:return[4,i.sent()];case 7:return i.sent(),[3,2];case 8:return[3,10];case 9:return e.releaseLock(),[7];case 10:return[2]}})})}function t1(t){return _t(t==null?void 0:t.getReader)}function ze(t){if(t instanceof bt)return t;if(t!=null){if(Ub(t))return f7(t);if(Ed(t))return d7(t);if(Xb(t))return h7(t);if(qb(t))return e1(t);if(Kb(t))return p7(t);if(t1(t))return m7(t)}throw Zb(t)}function f7(t){return new bt(function(e){var n=t[Pd]();if(_t(n.subscribe))return n.subscribe(e);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}function d7(t){return new bt(function(e){for(var n=0;n<t.length&&!e.closed;n++)e.next(t[n]);e.complete()})}function h7(t){return new bt(function(e){t.then(function(n){e.closed||(e.next(n),e.complete())},function(n){return e.error(n)}).then(null,jb)})}function p7(t){return new bt(function(e){var n,r;try{for(var a=Ma(t),i=a.next();!i.done;i=a.next()){var o=i.value;if(e.next(o),e.closed)return}}catch(l){n={error:l}}finally{try{i&&!i.done&&(r=a.return)&&r.call(a)}finally{if(n)throw n.error}}e.complete()})}function e1(t){return new bt(function(e){g7(t,e).catch(function(n){return e.error(n)})})}function m7(t){return e1(Qb(t))}function g7(t,e){var n,r,a,i;return j3(this,void 0,void 0,function(){var o,l;return Nb(this,function(u){switch(u.label){case 0:u.trys.push([0,5,6,11]),n=Y3(t),u.label=1;case 1:return[4,n.next()];case 2:if(r=u.sent(),!!r.done)return[3,4];if(o=r.value,e.next(o),e.closed)return[2];u.label=3;case 3:return[3,1];case 4:return[3,11];case 5:return l=u.sent(),a={error:l},[3,11];case 6:return u.trys.push([6,,9,10]),r&&!r.done&&(i=n.return)?[4,i.call(n)]:[3,8];case 7:u.sent(),u.label=8;case 8:return[3,10];case 9:if(a)throw a.error;return[7];case 10:return[7];case 11:return e.complete(),[2]}})})}function cr(t,e,n,r,a){r===void 0&&(r=0),a===void 0&&(a=!1);var i=e.schedule(function(){n(),a?t.add(this.schedule(null,r)):this.unsubscribe()},r);if(t.add(i),!a)return i}function n1(t,e){return e===void 0&&(e=0),Be(function(n,r){n.subscribe(_e(r,function(a){return cr(r,t,function(){return r.next(a)},e)},function(){return cr(r,t,function(){return r.complete()},e)},function(a){return cr(r,t,function(){return r.error(a)},e)}))})}function r1(t,e){return e===void 0&&(e=0),Be(function(n,r){r.add(t.schedule(function(){return n.subscribe(r)},e))})}function y7(t,e){return ze(t).pipe(r1(e),n1(e))}function b7(t,e){return ze(t).pipe(r1(e),n1(e))}function x7(t,e){return new bt(function(n){var r=0;return e.schedule(function(){r===t.length?n.complete():(n.next(t[r++]),n.closed||this.schedule())})})}function v7(t,e){return new bt(function(n){var r;return cr(n,e,function(){r=t[Jb](),cr(n,e,function(){var a,i,o;try{a=r.next(),i=a.value,o=a.done}catch(l){n.error(l);return}o?n.complete():n.next(i)},0,!0)}),function(){return _t(r==null?void 0:r.return)&&r.return()}})}function a1(t,e){if(!t)throw new Error("Iterable cannot be null");return new bt(function(n){cr(n,e,function(){var r=t[Symbol.asyncIterator]();cr(n,e,function(){r.next().then(function(a){a.done?n.complete():n.next(a.value)})},0,!0)})})}function $7(t,e){return a1(Qb(t),e)}function S7(t,e){if(t!=null){if(Ub(t))return y7(t,e);if(Ed(t))return x7(t,e);if(Xb(t))return b7(t,e);if(qb(t))return a1(t,e);if(Kb(t))return v7(t,e);if(t1(t))return $7(t,e)}throw Zb(t)}function _s(t,e){return e?S7(t,e):ze(t)}function Oe(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var n=Bd(t);return _s(t,n)}var i1=Dd(function(t){return function(){t(this),this.name="EmptyError",this.message="no elements in sequence"}});function L(t,e){return Be(function(n,r){var a=0;n.subscribe(_e(r,function(i){r.next(t.call(e,i,a++))}))})}var D7=Array.isArray;function _7(t,e){return D7(e)?t.apply(void 0,Ra([],Rr(e))):t(e)}function o1(t){return L(function(e){return _7(t,e)})}var A7=Array.isArray,C7=Object.getPrototypeOf,P7=Object.prototype,F7=Object.keys;function T7(t){if(t.length===1){var e=t[0];if(A7(e))return{args:e,keys:null};if(w7(e)){var n=F7(e);return{args:n.map(function(r){return e[r]}),keys:n}}}return{args:t,keys:null}}function w7(t){return t&&typeof t=="object"&&C7(t)===P7}function B7(t,e){return t.reduce(function(n,r,a){return n[r]=e[a],n},{})}function G(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var n=Bd(t),r=s7(t),a=T7(t),i=a.args,o=a.keys;if(i.length===0)return _s([],n);var l=new bt(E7(i,n,o?function(u){return B7(o,u)}:ka));return r?l.pipe(o1(r)):l}function E7(t,e,n){return n===void 0&&(n=ka),function(r){l1(e,function(){for(var a=t.length,i=new Array(a),o=a,l=a,u=function(c){l1(e,function(){var d=_s(t[c],e),f=!1;d.subscribe(_e(r,function(h){i[c]=h,f||(f=!0,l--),l||r.next(n(i.slice()))},function(){--o||r.complete()}))},r)},s=0;s<a;s++)u(s)},r)}}function l1(t,e,n){t?cr(n,t,e):e()}function L7(t,e,n,r,a,i,o,l){var u=[],s=0,c=0,d=!1,f=function(){d&&!u.length&&!s&&e.complete()},h=function(g){return s<r?p(g):u.push(g)},p=function(g){s++;var m=!1;ze(n(g,c++)).subscribe(_e(e,function(b){e.next(b)},function(){m=!0},void 0,function(){if(m)try{s--;for(var b=function(){var y=u.shift();o||p(y)};u.length&&s<r;)b();f()}catch(y){e.error(y)}}))};return t.subscribe(_e(e,h,function(){d=!0,f()})),function(){}}function Ld(t,e,n){return n===void 0&&(n=1/0),_t(e)?Ld(function(r,a){return L(function(i,o){return e(r,i,a,o)})(ze(t(r,a)))},n):(typeof e=="number"&&(n=e),Be(function(r,a){return L7(r,a,t,n)}))}function M7(t){return t===void 0&&(t=1/0),Ld(ka,t)}function R7(t){return new bt(function(e){ze(t()).subscribe(e)})}var I7=["addListener","removeListener"],k7=["addEventListener","removeEventListener"],N7=["on","off"];function Md(t,e,n,r){if(_t(n)&&(r=n,n=void 0),r)return Md(t,e,n).pipe(o1(r));var a=Rr(G7(t)?k7.map(function(l){return function(u){return t[l](e,u,n)}}):z7(t)?I7.map(s1(t,e)):O7(t)?N7.map(s1(t,e)):[],2),i=a[0],o=a[1];if(!i&&Ed(t))return Ld(function(l){return Md(l,e,n)})(ze(t));if(!i)throw new TypeError("Invalid event target");return new bt(function(l){var u=function(){for(var s=[],c=0;c<arguments.length;c++)s[c]=arguments[c];return l.next(1<s.length?s:s[0])};return i(u),function(){return o(u)}})}function s1(t,e){return function(n){return function(r){return t[n](e,r)}}}function z7(t){return _t(t.addListener)&&_t(t.removeListener)}function O7(t){return _t(t.on)&&_t(t.off)}function G7(t){return _t(t.addEventListener)&&_t(t.removeEventListener)}function Ln(t,e,n){return R7(function(){return t()?e:n})}function Rd(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var n=Bd(t),r=u7(t,1/0),a=t;return a.length?a.length===1?ze(a[0]):M7(r)(_s(a,n)):Ds}function Ir(t,e){return Be(function(n,r){var a=0;n.subscribe(_e(r,function(i){return t.call(e,i,a++)&&r.next(i)}))})}function u1(t,e){return e===void 0&&(e=o7),Be(function(n,r){var a=null,i=null,o=null,l=function(){if(a){a.unsubscribe(),a=null;var s=i;i=null,r.next(s)}};function u(){var s=o+t,c=e.now();if(c<s){a=this.schedule(void 0,s-c),r.add(a);return}l()}n.subscribe(_e(r,function(s){i=s,o=e.now(),a||(a=e.schedule(u,t),r.add(a))},function(){l(),r.complete()},void 0,function(){i=a=null}))})}function j7(t){return Be(function(e,n){var r=!1;e.subscribe(_e(n,function(a){r=!0,n.next(a)},function(){r||n.next(t),n.complete()}))})}function V7(t){return t<=0?function(){return Ds}:Be(function(e,n){var r=0;e.subscribe(_e(n,function(a){++r<=t&&(n.next(a),t<=r&&n.complete())}))})}function H(t,e){return e===void 0&&(e=ka),t=t??Y7,Be(function(n,r){var a,i=!0;n.subscribe(_e(r,function(o){var l=e(o);(i||!t(a,l))&&(i=!1,a=l,r.next(o))}))})}function Y7(t,e){return t===e}function H7(t){return t===void 0&&(t=W7),Be(function(e,n){var r=!1;e.subscribe(_e(n,function(a){r=!0,n.next(a)},function(){return r?n.complete():n.error(t())}))})}function W7(){return new i1}function Na(t,e){var n=arguments.length>=2;return function(r){return r.pipe(ka,V7(1),n?j7(e):H7(function(){return new i1}))}}function X7(t){t===void 0&&(t={});var e=t.connector,n=e===void 0?function(){return new J}:e,r=t.resetOnError,a=r===void 0?!0:r,i=t.resetOnComplete,o=i===void 0?!0:i,l=t.resetOnRefCountZero,u=l===void 0?!0:l;return function(s){var c,d,f,h=0,p=!1,g=!1,m=function(){d==null||d.unsubscribe(),d=void 0},b=function(){m(),c=f=void 0,p=g=!1},y=function(){var x=c;b(),x==null||x.unsubscribe()};return Be(function(x,v){h++,!g&&!p&&m();var _=f=f??n();v.add(function(){h--,h===0&&!g&&!p&&(d=Id(y,u))}),_.subscribe(v),!c&&h>0&&(c=new co({next:function(D){return _.next(D)},error:function(D){g=!0,m(),d=Id(b,a,D),_.error(D)},complete:function(){p=!0,m(),d=Id(b,o),_.complete()}}),ze(x).subscribe(c))})(s)}}function Id(t,e){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];if(e===!0){t();return}if(e!==!1){var a=new co({next:function(){a.unsubscribe(),t()}});return ze(e.apply(void 0,Ra([],Rr(n)))).subscribe(a)}}function nt(t,e,n){var r,a=!1;return r=t,X7({connector:function(){return new n7(r,e,n)},resetOnError:!0,resetOnComplete:!1,resetOnRefCountZero:a})}function O(t,e){return Be(function(n,r){var a=null,i=0,o=!1,l=function(){return o&&!a&&r.complete()};n.subscribe(_e(r,function(u){a==null||a.unsubscribe();var s=0,c=i++;ze(t(u,c)).subscribe(a=_e(r,function(d){return r.next(e?e(u,d,c,s++):d)},function(){a=null,l()}))},function(){o=!0,l()}))})}function w(t){return Be(function(e,n){ze(t).subscribe(_e(n,function(){return n.complete()},Ad)),!n.closed&&e.subscribe(n)})}const Ee={position:"left",scaleDomain:["auto","auto"],scaleRange:[0,.9],label:""},U7={position:"bottom",scaleDomain:[0,"max"],scalePadding:.5,label:""},q7={seriesDirection:"row",rowLabels:[],columnLabels:[],valueAxis:{...Ee},groupAxis:{...U7},separateSeries:!1},Z7={visibleFilter:(t,e)=>!0,...q7};Z7.visibleFilter.toString=()=>"(datum, context) => true";function za(t){return Object.prototype.toString.call(t)==="[object Object]"}function J7(t){return Object.prototype.toString.call(t)==="[object Function]"}function kd(t,e){if(za(t)===!1||za(e)===!1)return Object.assign({},e);const n=(r,a)=>{const i=Object.assign({},a);for(let o of Object.keys(r)){if(!(o in a))continue;let l;za(r[o])&&za(a[o])?(l=n(r[o],a[o]),i[o]=l):i[o]=r[o]}return i};return n(t,e)}function K7(t,e){const n={string:a=>typeof a=="string",number:a=>typeof a=="number",boolean:a=>typeof a=="boolean",object:a=>za(a),"object[]":a=>Array.isArray(a)&&a.every(i=>za(i)),"string[]":a=>Array.isArray(a)&&a.every(i=>typeof i=="string"),"number[]":a=>Array.isArray(a)&&a.every(i=>typeof i=="number"),Function:a=>J7(a),null:a=>a===null,undefined:a=>a===void 0},r={ColorType:a=>a==="none"||a==="label"||a==="primary"||a==="secondary"||a==="labelContrast"||a==="background"};return Object.keys(t).find(a=>{if(e[a]){const i=e[a],o=t[a];if(i.toBeTypes){if(i.toBeTypes.some(l=>n[l](o))===!1)return!0}else if(i.toBe){const{toBe:l,test:u}=i;if(u(o)===!1)return!0}else if(i.toBeOption){const l=i.toBeOption;if(r[l](o)===!1)return!0}}return!1})}function Q7(t,e){const n=K7(t,e);if(n){const r=e[n],a=r.toBeTypes?r.toBeTypes.join(" | "):r.toBe?r.toBe:r.toBeOption?r.toBeOption:"";return{status:"error",columnName:n,expectToBe:a}}else return{status:"success",columnName:"",expectToBe:""}}function As(t,e){return t==null||e==null?NaN:t<e?-1:t>e?1:t>=e?0:NaN}function t8(t,e){return t==null||e==null?NaN:e<t?-1:e>t?1:e>=t?0:NaN}function c1(t){let e,n,r;t.length!==2?(e=As,n=(l,u)=>As(t(l),u),r=(l,u)=>t(l)-u):(e=t===As||t===t8?t:e8,n=t,r=t);function a(l,u,s=0,c=l.length){if(s<c){if(e(u,u)!==0)return c;do{const d=s+c>>>1;n(l[d],u)<0?s=d+1:c=d}while(s<c)}return s}function i(l,u,s=0,c=l.length){if(s<c){if(e(u,u)!==0)return c;do{const d=s+c>>>1;n(l[d],u)<=0?s=d+1:c=d}while(s<c)}return s}function o(l,u,s=0,c=l.length){const d=a(l,u,s,c-1);return d>s&&r(l[d-1],u)>-r(l[d],u)?d-1:d}return{left:a,center:o,right:i}}function e8(){return 0}function n8(t){return t===null?NaN:+t}const r8=c1(As),f1=r8.right;c1(n8).center;class d1 extends Map{constructor(e,n=o8){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:n}}),e!=null)for(const[r,a]of e)this.set(r,a)}get(e){return super.get(h1(this,e))}has(e){return super.has(h1(this,e))}set(e,n){return super.set(a8(this,e),n)}delete(e){return super.delete(i8(this,e))}}function h1({_intern:t,_key:e},n){const r=e(n);return t.has(r)?t.get(r):n}function a8({_intern:t,_key:e},n){const r=e(n);return t.has(r)?t.get(r):(t.set(r,n),n)}function i8({_intern:t,_key:e},n){const r=e(n);return t.has(r)&&(n=t.get(r),t.delete(r)),n}function o8(t){return t!==null&&typeof t=="object"?t.valueOf():t}const l8=Math.sqrt(50),s8=Math.sqrt(10),u8=Math.sqrt(2);function Cs(t,e,n){const r=(e-t)/Math.max(0,n),a=Math.floor(Math.log10(r)),i=r/Math.pow(10,a),o=i>=l8?10:i>=s8?5:i>=u8?2:1;let l,u,s;return a<0?(s=Math.pow(10,-a)/o,l=Math.round(t*s),u=Math.round(e*s),l/s<t&&++l,u/s>e&&--u,s=-s):(s=Math.pow(10,a)*o,l=Math.round(t/s),u=Math.round(e/s),l*s<t&&++l,u*s>e&&--u),u<l&&.5<=n&&n<2?Cs(t,e,n*2):[l,u,s]}function c8(t,e,n){if(e=+e,t=+t,n=+n,!(n>0))return[];if(t===e)return[t];const r=e<t,[a,i,o]=r?Cs(e,t,n):Cs(t,e,n);if(!(i>=a))return[];const l=i-a+1,u=new Array(l);if(r)if(o<0)for(let s=0;s<l;++s)u[s]=(i-s)/-o;else for(let s=0;s<l;++s)u[s]=(i-s)*o;else if(o<0)for(let s=0;s<l;++s)u[s]=(a+s)/-o;else for(let s=0;s<l;++s)u[s]=(a+s)*o;return u}function Nd(t,e,n){return e=+e,t=+t,n=+n,Cs(t,e,n)[2]}function f8(t,e,n){e=+e,t=+t,n=+n;const r=e<t,a=r?Nd(e,t,n):Nd(t,e,n);return(r?-1:1)*(a<0?1/-a:a)}function d8(t,e,n){t=+t,e=+e,n=(a=arguments.length)<2?(e=t,t=0,1):a<3?1:+n;for(var r=-1,a=Math.max(0,Math.ceil((e-t)/n))|0,i=new Array(a);++r<a;)i[r]=t+r*n;return i}var h8={value:()=>{}};function p1(){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 Ps(n)}function Ps(t){this._=t}function p8(t,e){return t.trim().split(/^|\s+/).map(function(n){var r="",a=n.indexOf(".");if(a>=0&&(r=n.slice(a+1),n=n.slice(0,a)),n&&!e.hasOwnProperty(n))throw new Error("unknown type: "+n);return{type:n,name:r}})}Ps.prototype=p1.prototype={constructor:Ps,on:function(t,e){var n=this._,r=p8(t+"",n),a,i=-1,o=r.length;if(arguments.length<2){for(;++i<o;)if((a=(t=r[i]).type)&&(a=m8(n[a],t.name)))return a;return}if(e!=null&&typeof e!="function")throw new Error("invalid callback: "+e);for(;++i<o;)if(a=(t=r[i]).type)n[a]=m1(n[a],t.name,e);else if(e==null)for(a in n)n[a]=m1(n[a],t.name,null);return this},copy:function(){var t={},e=this._;for(var n in e)t[n]=e[n].slice();return new Ps(t)},call:function(t,e){if((a=arguments.length-2)>0)for(var n=new Array(a),r=0,a,i;r<a;++r)n[r]=arguments[r+2];if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(i=this._[t],r=0,a=i.length;r<a;++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],a=0,i=r.length;a<i;++a)r[a].value.apply(e,n)}};function m8(t,e){for(var n=0,r=t.length,a;n<r;++n)if((a=t[n]).name===e)return a.value}function m1(t,e,n){for(var r=0,a=t.length;r<a;++r)if(t[r].name===e){t[r]=h8,t=t.slice(0,r).concat(t.slice(r+1));break}return n!=null&&t.push({name:e,value:n}),t}var zd="http://www.w3.org/1999/xhtml";const g1={svg:"http://www.w3.org/2000/svg",xhtml:zd,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function Fs(t){var e=t+="",n=e.indexOf(":");return n>=0&&(e=t.slice(0,n))!=="xmlns"&&(t=t.slice(n+1)),g1.hasOwnProperty(e)?{space:g1[e],local:t}:t}function g8(t){return function(){var e=this.ownerDocument,n=this.namespaceURI;return n===zd&&e.documentElement.namespaceURI===zd?e.createElement(t):e.createElementNS(n,t)}}function y8(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function y1(t){var e=Fs(t);return(e.local?y8:g8)(e)}function b8(){}function Od(t){return t==null?b8:function(){return this.querySelector(t)}}function x8(t){typeof t!="function"&&(t=Od(t));for(var e=this._groups,n=e.length,r=new Array(n),a=0;a<n;++a)for(var i=e[a],o=i.length,l=r[a]=new Array(o),u,s,c=0;c<o;++c)(u=i[c])&&(s=t.call(u,u.__data__,c,i))&&("__data__"in u&&(s.__data__=u.__data__),l[c]=s);return new Je(r,this._parents)}function v8(t){return t==null?[]:Array.isArray(t)?t:Array.from(t)}function $8(){return[]}function b1(t){return t==null?$8:function(){return this.querySelectorAll(t)}}function S8(t){return function(){return v8(t.apply(this,arguments))}}function D8(t){typeof t=="function"?t=S8(t):t=b1(t);for(var e=this._groups,n=e.length,r=[],a=[],i=0;i<n;++i)for(var o=e[i],l=o.length,u,s=0;s<l;++s)(u=o[s])&&(r.push(t.call(u,u.__data__,s,o)),a.push(u));return new Je(r,a)}function x1(t){return function(){return this.matches(t)}}function v1(t){return function(e){return e.matches(t)}}var _8=Array.prototype.find;function A8(t){return function(){return _8.call(this.children,t)}}function C8(){return this.firstElementChild}function P8(t){return this.select(t==null?C8:A8(typeof t=="function"?t:v1(t)))}var F8=Array.prototype.filter;function T8(){return Array.from(this.children)}function w8(t){return function(){return F8.call(this.children,t)}}function B8(t){return this.selectAll(t==null?T8:w8(typeof t=="function"?t:v1(t)))}function E8(t){typeof t!="function"&&(t=x1(t));for(var e=this._groups,n=e.length,r=new Array(n),a=0;a<n;++a)for(var i=e[a],o=i.length,l=r[a]=[],u,s=0;s<o;++s)(u=i[s])&&t.call(u,u.__data__,s,i)&&l.push(u);return new Je(r,this._parents)}function $1(t){return new Array(t.length)}function L8(){return new Je(this._enter||this._groups.map($1),this._parents)}function Ts(t,e){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=e}Ts.prototype={constructor:Ts,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 M8(t){return function(){return t}}function R8(t,e,n,r,a,i){for(var o=0,l,u=e.length,s=i.length;o<s;++o)(l=e[o])?(l.__data__=i[o],r[o]=l):n[o]=new Ts(t,i[o]);for(;o<u;++o)(l=e[o])&&(a[o]=l)}function I8(t,e,n,r,a,i,o){var l,u,s=new Map,c=e.length,d=i.length,f=new Array(c),h;for(l=0;l<c;++l)(u=e[l])&&(f[l]=h=o.call(u,u.__data__,l,e)+"",s.has(h)?a[l]=u:s.set(h,u));for(l=0;l<d;++l)h=o.call(t,i[l],l,i)+"",(u=s.get(h))?(r[l]=u,u.__data__=i[l],s.delete(h)):n[l]=new Ts(t,i[l]);for(l=0;l<c;++l)(u=e[l])&&s.get(f[l])===u&&(a[l]=u)}function k8(t){return t.__data__}function N8(t,e){if(!arguments.length)return Array.from(this,k8);var n=e?I8:R8,r=this._parents,a=this._groups;typeof t!="function"&&(t=M8(t));for(var i=a.length,o=new Array(i),l=new Array(i),u=new Array(i),s=0;s<i;++s){var c=r[s],d=a[s],f=d.length,h=z8(t.call(c,c&&c.__data__,s,r)),p=h.length,g=l[s]=new Array(p),m=o[s]=new Array(p),b=u[s]=new Array(f);n(c,d,g,m,b,h,e);for(var y=0,x=0,v,_;y<p;++y)if(v=g[y]){for(y>=x&&(x=y+1);!(_=m[x])&&++x<p;);v._next=_||null}}return o=new Je(o,r),o._enter=l,o._exit=u,o}function z8(t){return typeof t=="object"&&"length"in t?t:Array.from(t)}function O8(){return new Je(this._exit||this._groups.map($1),this._parents)}function G8(t,e,n){var r=this.enter(),a=this,i=this.exit();return typeof t=="function"?(r=t(r),r&&(r=r.selection())):r=r.append(t+""),e!=null&&(a=e(a),a&&(a=a.selection())),n==null?i.remove():n(i),r&&a?r.merge(a).order():a}function j8(t){for(var e=t.selection?t.selection():t,n=this._groups,r=e._groups,a=n.length,i=r.length,o=Math.min(a,i),l=new Array(a),u=0;u<o;++u)for(var s=n[u],c=r[u],d=s.length,f=l[u]=new Array(d),h,p=0;p<d;++p)(h=s[p]||c[p])&&(f[p]=h);for(;u<a;++u)l[u]=n[u];return new Je(l,this._parents)}function V8(){for(var t=this._groups,e=-1,n=t.length;++e<n;)for(var r=t[e],a=r.length-1,i=r[a],o;--a>=0;)(o=r[a])&&(i&&o.compareDocumentPosition(i)^4&&i.parentNode.insertBefore(o,i),i=o);return this}function Y8(t){t||(t=H8);function e(d,f){return d&&f?t(d.__data__,f.__data__):!d-!f}for(var n=this._groups,r=n.length,a=new Array(r),i=0;i<r;++i){for(var o=n[i],l=o.length,u=a[i]=new Array(l),s,c=0;c<l;++c)(s=o[c])&&(u[c]=s);u.sort(e)}return new Je(a,this._parents).order()}function H8(t,e){return t<e?-1:t>e?1:t>=e?0:NaN}function W8(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this}function X8(){return Array.from(this)}function U8(){for(var t=this._groups,e=0,n=t.length;e<n;++e)for(var r=t[e],a=0,i=r.length;a<i;++a){var o=r[a];if(o)return o}return null}function q8(){let t=0;for(const e of this)++t;return t}function Z8(){return!this.node()}function J8(t){for(var e=this._groups,n=0,r=e.length;n<r;++n)for(var a=e[n],i=0,o=a.length,l;i<o;++i)(l=a[i])&&t.call(l,l.__data__,i,a);return this}function K8(t){return function(){this.removeAttribute(t)}}function Q8(t){return function(){this.removeAttributeNS(t.space,t.local)}}function tB(t,e){return function(){this.setAttribute(t,e)}}function eB(t,e){return function(){this.setAttributeNS(t.space,t.local,e)}}function nB(t,e){return function(){var n=e.apply(this,arguments);n==null?this.removeAttribute(t):this.setAttribute(t,n)}}function rB(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 aB(t,e){var n=Fs(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?Q8:K8:typeof e=="function"?n.local?rB:nB:n.local?eB:tB)(n,e))}function S1(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}function iB(t){return function(){this.style.removeProperty(t)}}function oB(t,e,n){return function(){this.style.setProperty(t,e,n)}}function lB(t,e,n){return function(){var r=e.apply(this,arguments);r==null?this.style.removeProperty(t):this.style.setProperty(t,r,n)}}function sB(t,e,n){return arguments.length>1?this.each((e==null?iB:typeof e=="function"?lB:oB)(t,e,n??"")):Oa(this.node(),t)}function Oa(t,e){return t.style.getPropertyValue(e)||S1(t).getComputedStyle(t,null).getPropertyValue(e)}function uB(t){return function(){delete this[t]}}function cB(t,e){return function(){this[t]=e}}function fB(t,e){return function(){var n=e.apply(this,arguments);n==null?delete this[t]:this[t]=n}}function dB(t,e){return arguments.length>1?this.each((e==null?uB:typeof e=="function"?fB:cB)(t,e)):this.node()[t]}function D1(t){return t.trim().split(/^|\s+/)}function Gd(t){return t.classList||new _1(t)}function _1(t){this._node=t,this._names=D1(t.getAttribute("class")||"")}_1.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 A1(t,e){for(var n=Gd(t),r=-1,a=e.length;++r<a;)n.add(e[r])}function C1(t,e){for(var n=Gd(t),r=-1,a=e.length;++r<a;)n.remove(e[r])}function hB(t){return function(){A1(this,t)}}function pB(t){return function(){C1(this,t)}}function mB(t,e){return function(){(e.apply(this,arguments)?A1:C1)(this,t)}}function gB(t,e){var n=D1(t+"");if(arguments.length<2){for(var r=Gd(this.node()),a=-1,i=n.length;++a<i;)if(!r.contains(n[a]))return!1;return!0}return this.each((typeof e=="function"?mB:e?hB:pB)(n,e))}function yB(){this.textContent=""}function bB(t){return function(){this.textContent=t}}function xB(t){return function(){var e=t.apply(this,arguments);this.textContent=e??""}}function vB(t){return arguments.length?this.each(t==null?yB:(typeof t=="function"?xB:bB)(t)):this.node().textContent}function $B(){this.innerHTML=""}function SB(t){return function(){this.innerHTML=t}}function DB(t){return function(){var e=t.apply(this,arguments);this.innerHTML=e??""}}function _B(t){return arguments.length?this.each(t==null?$B:(typeof t=="function"?DB:SB)(t)):this.node().innerHTML}function AB(){this.nextSibling&&this.parentNode.appendChild(this)}function CB(){return this.each(AB)}function PB(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function FB(){return this.each(PB)}function TB(t){var e=typeof t=="function"?t:y1(t);return this.select(function(){return this.appendChild(e.apply(this,arguments))})}function wB(){return null}function BB(t,e){var n=typeof t=="function"?t:y1(t),r=e==null?wB:typeof e=="function"?e:Od(e);return this.select(function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)})}function EB(){var t=this.parentNode;t&&t.removeChild(this)}function LB(){return this.each(EB)}function MB(){var t=this.cloneNode(!1),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function RB(){var t=this.cloneNode(!0),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function IB(t){return this.select(t?RB:MB)}function kB(t){return arguments.length?this.property("__data__",t):this.node().__data__}function NB(t){return function(e){t.call(this,e,this.__data__)}}function zB(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 OB(t){return function(){var e=this.__on;if(e){for(var n=0,r=-1,a=e.length,i;n<a;++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 GB(t,e,n){return function(){var r=this.__on,a,i=NB(e);if(r){for(var o=0,l=r.length;o<l;++o)if((a=r[o]).type===t.type&&a.name===t.name){this.removeEventListener(a.type,a.listener,a.options),this.addEventListener(a.type,a.listener=i,a.options=n),a.value=e;return}}this.addEventListener(t.type,i,n),a={type:t.type,name:t.name,value:e,listener:i,options:n},r?r.push(a):this.__on=[a]}}function jB(t,e,n){var r=zB(t+""),a,i=r.length,o;if(arguments.length<2){var l=this.node().__on;if(l){for(var u=0,s=l.length,c;u<s;++u)for(a=0,c=l[u];a<i;++a)if((o=r[a]).type===c.type&&o.name===c.name)return c.value}return}for(l=e?GB:OB,a=0;a<i;++a)this.each(l(r[a],e,n));return this}function P1(t,e,n){var r=S1(t),a=r.CustomEvent;typeof a=="function"?a=new a(e,n):(a=r.document.createEvent("Event"),n?(a.initEvent(e,n.bubbles,n.cancelable),a.detail=n.detail):a.initEvent(e,!1,!1)),t.dispatchEvent(a)}function VB(t,e){return function(){return P1(this,t,e)}}function YB(t,e){return function(){return P1(this,t,e.apply(this,arguments))}}function HB(t,e){return this.each((typeof e=="function"?YB:VB)(t,e))}function*WB(){for(var t=this._groups,e=0,n=t.length;e<n;++e)for(var r=t[e],a=0,i=r.length,o;a<i;++a)(o=r[a])&&(yield o)}var XB=[null];function Je(t,e){this._groups=t,this._parents=e}function fo(){return new Je([[document.documentElement]],XB)}function UB(){return this}Je.prototype=fo.prototype={constructor:Je,select:x8,selectAll:D8,selectChild:P8,selectChildren:B8,filter:E8,data:N8,enter:L8,exit:O8,join:G8,merge:j8,selection:UB,order:V8,sort:Y8,call:W8,nodes:X8,node:U8,size:q8,empty:Z8,each:J8,attr:aB,style:sB,property:dB,classed:gB,text:vB,html:_B,raise:CB,lower:FB,append:TB,insert:BB,remove:LB,clone:IB,datum:kB,on:jB,dispatch:HB,[Symbol.iterator]:WB};function jd(t,e,n){t.prototype=e.prototype=n,n.constructor=t}function F1(t,e){var n=Object.create(t.prototype);for(var r in e)n[r]=e[r];return n}function ho(){}var po=.7,ws=1/po,Ga="\\s*([+-]?\\d+)\\s*",mo="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",pn="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",qB=/^#([0-9a-f]{3,8})$/,ZB=new RegExp(`^rgb\\(${Ga},${Ga},${Ga}\\)$`),JB=new RegExp(`^rgb\\(${pn},${pn},${pn}\\)$`),KB=new RegExp(`^rgba\\(${Ga},${Ga},${Ga},${mo}\\)$`),QB=new RegExp(`^rgba\\(${pn},${pn},${pn},${mo}\\)$`),tE=new RegExp(`^hsl\\(${mo},${pn},${pn}\\)$`),eE=new RegExp(`^hsla\\(${mo},${pn},${pn},${mo}\\)$`),T1={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};jd(ho,kr,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:w1,formatHex:w1,formatHex8:nE,formatHsl:rE,formatRgb:B1,toString:B1});function w1(){return this.rgb().formatHex()}function nE(){return this.rgb().formatHex8()}function rE(){return I1(this).formatHsl()}function B1(){return this.rgb().formatRgb()}function kr(t){var e,n;return t=(t+"").trim().toLowerCase(),(e=qB.exec(t))?(n=e[1].length,e=parseInt(e[1],16),n===6?E1(e):n===3?new Ae(e>>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):n===8?Bs(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):n===4?Bs(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=ZB.exec(t))?new Ae(e[1],e[2],e[3],1):(e=JB.exec(t))?new Ae(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=KB.exec(t))?Bs(e[1],e[2],e[3],e[4]):(e=QB.exec(t))?Bs(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=tE.exec(t))?R1(e[1],e[2]/100,e[3]/100,1):(e=eE.exec(t))?R1(e[1],e[2]/100,e[3]/100,e[4]):T1.hasOwnProperty(t)?E1(T1[t]):t==="transparent"?new Ae(NaN,NaN,NaN,0):null}function E1(t){return new Ae(t>>16&255,t>>8&255,t&255,1)}function Bs(t,e,n,r){return r<=0&&(t=e=n=NaN),new Ae(t,e,n,r)}function aE(t){return t instanceof ho||(t=kr(t)),t?(t=t.rgb(),new Ae(t.r,t.g,t.b,t.opacity)):new Ae}function Vd(t,e,n,r){return arguments.length===1?aE(t):new Ae(t,e,n,r??1)}function Ae(t,e,n,r){this.r=+t,this.g=+e,this.b=+n,this.opacity=+r}jd(Ae,Vd,F1(ho,{brighter(t){return t=t==null?ws:Math.pow(ws,t),new Ae(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?po:Math.pow(po,t),new Ae(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new Ae(Nr(this.r),Nr(this.g),Nr(this.b),Es(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:L1,formatHex:L1,formatHex8:iE,formatRgb:M1,toString:M1}));function L1(){return`#${zr(this.r)}${zr(this.g)}${zr(this.b)}`}function iE(){return`#${zr(this.r)}${zr(this.g)}${zr(this.b)}${zr((isNaN(this.opacity)?1:this.opacity)*255)}`}function M1(){const t=Es(this.opacity);return`${t===1?"rgb(":"rgba("}${Nr(this.r)}, ${Nr(this.g)}, ${Nr(this.b)}${t===1?")":`, ${t})`}`}function Es(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function Nr(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function zr(t){return t=Nr(t),(t<16?"0":"")+t.toString(16)}function R1(t,e,n,r){return r<=0?t=e=n=NaN:n<=0||n>=1?t=e=NaN:e<=0&&(t=NaN),new Ke(t,e,n,r)}function I1(t){if(t instanceof Ke)return new Ke(t.h,t.s,t.l,t.opacity);if(t instanceof ho||(t=kr(t)),!t)return new Ke;if(t instanceof Ke)return t;t=t.rgb();var e=t.r/255,n=t.g/255,r=t.b/255,a=Math.min(e,n,r),i=Math.max(e,n,r),o=NaN,l=i-a,u=(i+a)/2;return l?(e===i?o=(n-r)/l+(n<r)*6:n===i?o=(r-e)/l+2:o=(e-n)/l+4,l/=u<.5?i+a:2-i-a,o*=60):l=u>0&&u<1?0:o,new Ke(o,l,u,t.opacity)}function oE(t,e,n,r){return arguments.length===1?I1(t):new Ke(t,e,n,r??1)}function Ke(t,e,n,r){this.h=+t,this.s=+e,this.l=+n,this.opacity=+r}jd(Ke,oE,F1(ho,{brighter(t){return t=t==null?ws:Math.pow(ws,t),new Ke(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?po:Math.pow(po,t),new Ke(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,a=2*n-r;return new Ae(Yd(t>=240?t-240:t+120,a,r),Yd(t,a,r),Yd(t<120?t+240:t-120,a,r),this.opacity)},clamp(){return new Ke(k1(this.h),Ls(this.s),Ls(this.l),Es(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(){const t=Es(this.opacity);return`${t===1?"hsl(":"hsla("}${k1(this.h)}, ${Ls(this.s)*100}%, ${Ls(this.l)*100}%${t===1?")":`, ${t})`}`}}));function k1(t){return t=(t||0)%360,t<0?t+360:t}function Ls(t){return Math.max(0,Math.min(1,t||0))}function Yd(t,e,n){return(t<60?e+(n-e)*t/60:t<180?n:t<240?e+(n-e)*(240-t)/60:e)*255}const Hd=t=>()=>t;function lE(t,e){return function(n){return t+n*e}}function sE(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 uE(t){return(t=+t)==1?N1:function(e,n){return n-e?sE(e,n,t):Hd(isNaN(e)?n:e)}}function N1(t,e){var n=e-t;return n?lE(t,n):Hd(isNaN(t)?e:t)}const Ms=function t(e){var n=uE(e);function r(a,i){var o=n((a=Vd(a)).r,(i=Vd(i)).r),l=n(a.g,i.g),u=n(a.b,i.b),s=N1(a.opacity,i.opacity);return function(c){return a.r=o(c),a.g=l(c),a.b=u(c),a.opacity=s(c),a+""}}return r.gamma=t,r}(1);function cE(t,e){e||(e=[]);var n=t?Math.min(e.length,t.length):0,r=e.slice(),a;return function(i){for(a=0;a<n;++a)r[a]=t[a]*(1-i)+e[a]*i;return r}}function fE(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)}function dE(t,e){var n=e?e.length:0,r=t?Math.min(n,t.length):0,a=new Array(r),i=new Array(n),o;for(o=0;o<r;++o)a[o]=Ud(t[o],e[o]);for(;o<n;++o)i[o]=e[o];return function(l){for(o=0;o<r;++o)i[o]=a[o](l);return i}}function hE(t,e){var n=new Date;return t=+t,e=+e,function(r){return n.setTime(t*(1-r)+e*r),n}}function Qe(t,e){return t=+t,e=+e,function(n){return t*(1-n)+e*n}}function pE(t,e){var n={},r={},a;(t===null||typeof t!="object")&&(t={}),(e===null||typeof e!="object")&&(e={});for(a in e)a in t?n[a]=Ud(t[a],e[a]):r[a]=e[a];return function(i){for(a in n)r[a]=n[a](i);return r}}var Wd=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Xd=new RegExp(Wd.source,"g");function mE(t){return function(){return t}}function gE(t){return function(e){return t(e)+""}}function z1(t,e){var n=Wd.lastIndex=Xd.lastIndex=0,r,a,i,o=-1,l=[],u=[];for(t=t+"",e=e+"";(r=Wd.exec(t))&&(a=Xd.exec(e));)(i=a.index)>n&&(i=e.slice(n,i),l[o]?l[o]+=i:l[++o]=i),(r=r[0])===(a=a[0])?l[o]?l[o]+=a:l[++o]=a:(l[++o]=null,u.push({i:o,x:Qe(r,a)})),n=Xd.lastIndex;return n<e.length&&(i=e.slice(n),l[o]?l[o]+=i:l[++o]=i),l.length<2?u[0]?gE(u[0].x):mE(e):(e=u.length,function(s){for(var c=0,d;c<e;++c)l[(d=u[c]).i]=d.x(s);return l.join("")})}function Ud(t,e){var n=typeof e,r;return e==null||n==="boolean"?Hd(e):(n==="number"?Qe:n==="string"?(r=kr(e))?(e=r,Ms):z1:e instanceof kr?Ms:e instanceof Date?hE:fE(e)?cE:Array.isArray(e)?dE:typeof e.valueOf!="function"&&typeof e.toString!="function"||isNaN(e)?pE:Qe)(t,e)}function yE(t,e){return t=+t,e=+e,function(n){return Math.round(t*(1-n)+e*n)}}var O1=180/Math.PI,G1={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function j1(t,e,n,r,a,i){var o,l,u;return(o=Math.sqrt(t*t+e*e))&&(t/=o,e/=o),(u=t*n+e*r)&&(n-=t*u,r-=e*u),(l=Math.sqrt(n*n+r*r))&&(n/=l,r/=l,u/=l),t*r<e*n&&(t=-t,e=-e,u=-u,o=-o),{translateX:a,translateY:i,rotate:Math.atan2(e,t)*O1,skewX:Math.atan(u)*O1,scaleX:o,scaleY:l}}var Rs;function bE(t){const e=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(t+"");return e.isIdentity?G1:j1(e.a,e.b,e.c,e.d,e.e,e.f)}function xE(t){return t==null||(Rs||(Rs=document.createElementNS("http://www.w3.org/2000/svg","g")),Rs.setAttribute("transform",t),!(t=Rs.transform.baseVal.consolidate()))?G1:(t=t.matrix,j1(t.a,t.b,t.c,t.d,t.e,t.f))}function V1(t,e,n,r){function a(s){return s.length?s.pop()+" ":""}function i(s,c,d,f,h,p){if(s!==d||c!==f){var g=h.push("translate(",null,e,null,n);p.push({i:g-4,x:Qe(s,d)},{i:g-2,x:Qe(c,f)})}else(d||f)&&h.push("translate("+d+e+f+n)}function o(s,c,d,f){s!==c?(s-c>180?c+=360:c-s>180&&(s+=360),f.push({i:d.push(a(d)+"rotate(",null,r)-2,x:Qe(s,c)})):c&&d.push(a(d)+"rotate("+c+r)}function l(s,c,d,f){s!==c?f.push({i:d.push(a(d)+"skewX(",null,r)-2,x:Qe(s,c)}):c&&d.push(a(d)+"skewX("+c+r)}function u(s,c,d,f,h,p){if(s!==d||c!==f){var g=h.push(a(h)+"scale(",null,",",null,")");p.push({i:g-4,x:Qe(s,d)},{i:g-2,x:Qe(c,f)})}else(d!==1||f!==1)&&h.push(a(h)+"scale("+d+","+f+")")}return function(s,c){var d=[],f=[];return s=t(s),c=t(c),i(s.translateX,s.translateY,c.translateX,c.translateY,d,f),o(s.rotate,c.rotate,d,f),l(s.skewX,c.skewX,d,f),u(s.scaleX,s.scaleY,c.scaleX,c.scaleY,d,f),s=c=null,function(h){for(var p=-1,g=f.length,m;++p<g;)d[(m=f[p]).i]=m.x(h);return d.join("")}}}var vE=V1(bE,"px, ","px)","deg)"),$E=V1(xE,", ",")",")"),ja=0,go=0,yo=0,Y1=1e3,Is,bo,ks=0,Or=0,Ns=0,xo=typeof performance=="object"&&performance.now?performance:Date,H1=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function qd(){return Or||(H1(SE),Or=xo.now()+Ns)}function SE(){Or=0}function zs(){this._call=this._time=this._next=null}zs.prototype=W1.prototype={constructor:zs,restart:function(t,e,n){if(typeof t!="function")throw new TypeError("callback is not a function");n=(n==null?qd():+n)+(e==null?0:+e),!this._next&&bo!==this&&(bo?bo._next=this:Is=this,bo=this),this._call=t,this._time=n,Zd()},stop:function(){this._call&&(this._call=null,this._time=1/0,Zd())}};function W1(t,e,n){var r=new zs;return r.restart(t,e,n),r}function DE(){qd(),++ja;for(var t=Is,e;t;)(e=Or-t._time)>=0&&t._call.call(void 0,e),t=t._next;--ja}function X1(){Or=(ks=xo.now())+Ns,ja=go=0;try{DE()}finally{ja=0,AE(),Or=0}}function _E(){var t=xo.now(),e=t-ks;e>Y1&&(Ns-=e,ks=t)}function AE(){for(var t,e=Is,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:Is=n);bo=t,Zd(r)}function Zd(t){if(!ja){go&&(go=clearTimeout(go));var e=t-Or;e>24?(t<1/0&&(go=setTimeout(X1,t-xo.now()-Ns)),yo&&(yo=clearInterval(yo))):(yo||(ks=xo.now(),yo=setInterval(_E,Y1)),ja=1,H1(X1))}}function U1(t,e,n){var r=new zs;return e=e==null?0:+e,r.restart(a=>{r.stop(),t(a+e)},e,n),r}var CE=p1("start","end","cancel","interrupt"),PE=[],q1=0,Z1=1,Jd=2,Os=3,J1=4,Kd=5,Gs=6;function js(t,e,n,r,a,i){var o=t.__transition;if(!o)t.__transition={};else if(n in o)return;FE(t,n,{name:e,index:r,group:a,on:CE,tween:PE,time:i.time,delay:i.delay,duration:i.duration,ease:i.ease,timer:null,state:q1})}function Qd(t,e){var n=tn(t,e);if(n.state>q1)throw new Error("too late; already scheduled");return n}function mn(t,e){var n=tn(t,e);if(n.state>Os)throw new Error("too late; already running");return n}function tn(t,e){var n=t.__transition;if(!n||!(n=n[e]))throw new Error("transition not found");return n}function FE(t,e,n){var r=t.__transition,a;r[e]=n,n.timer=W1(i,0,n.time);function i(s){n.state=Z1,n.timer.restart(o,n.delay,n.time),n.delay<=s&&o(s-n.delay)}function o(s){var c,d,f,h;if(n.state!==Z1)return u();for(c in r)if(h=r[c],h.name===n.name){if(h.state===Os)return U1(o);h.state===J1?(h.state=Gs,h.timer.stop(),h.on.call("interrupt",t,t.__data__,h.index,h.group),delete r[c]):+c<e&&(h.state=Gs,h.timer.stop(),h.on.call("cancel",t,t.__data__,h.index,h.group),delete r[c])}if(U1(function(){n.state===Os&&(n.state=J1,n.timer.restart(l,n.delay,n.time),l(s))}),n.state=Jd,n.on.call("start",t,t.__data__,n.index,n.group),n.state===Jd){for(n.state=Os,a=new Array(f=n.tween.length),c=0,d=-1;c<f;++c)(h=n.tween[c].value.call(t,t.__data__,n.index,n.group))&&(a[++d]=h);a.length=d+1}}function l(s){for(var c=s<n.duration?n.ease.call(null,s/n.duration):(n.timer.restart(u),n.state=Kd,1),d=-1,f=a.length;++d<f;)a[d].call(t,c);n.state===Kd&&(n.on.call("end",t,t.__data__,n.index,n.group),u())}function u(){n.state=Gs,n.timer.stop(),delete r[e];for(var s in r)return;delete t.__transition}}function TE(t,e){var n=t.__transition,r,a,i=!0,o;if(n){e=e==null?null:e+"";for(o in n){if((r=n[o]).name!==e){i=!1;continue}a=r.state>Jd&&r.state<Kd,r.state=Gs,r.timer.stop(),r.on.call(a?"interrupt":"cancel",t,t.__data__,r.index,r.group),delete n[o]}i&&delete t.__transition}}function wE(t){return this.each(function(){TE(this,t)})}function BE(t,e){var n,r;return function(){var a=mn(this,t),i=a.tween;if(i!==n){r=n=i;for(var o=0,l=r.length;o<l;++o)if(r[o].name===e){r=r.slice(),r.splice(o,1);break}}a.tween=r}}function EE(t,e,n){var r,a;if(typeof n!="function")throw new Error;return function(){var i=mn(this,t),o=i.tween;if(o!==r){a=(r=o).slice();for(var l={name:e,value:n},u=0,s=a.length;u<s;++u)if(a[u].name===e){a[u]=l;break}u===s&&a.push(l)}i.tween=a}}function LE(t,e){var n=this._id;if(t+="",arguments.length<2){for(var r=tn(this.node(),n).tween,a=0,i=r.length,o;a<i;++a)if((o=r[a]).name===t)return o.value;return null}return this.each((e==null?BE:EE)(n,t,e))}function th(t,e,n){var r=t._id;return t.each(function(){var a=mn(this,r);(a.value||(a.value={}))[e]=n.apply(this,arguments)}),function(a){return tn(a,r).value[e]}}function K1(t,e){var n;return(typeof e=="number"?Qe:e instanceof kr?Ms:(n=kr(e))?(e=n,Ms):z1)(t,e)}function ME(t){return function(){this.removeAttribute(t)}}function RE(t){return function(){this.removeAttributeNS(t.space,t.local)}}function IE(t,e,n){var r,a=n+"",i;return function(){var o=this.getAttribute(t);return o===a?null:o===r?i:i=e(r=o,n)}}function kE(t,e,n){var r,a=n+"",i;return function(){var o=this.getAttributeNS(t.space,t.local);return o===a?null:o===r?i:i=e(r=o,n)}}function NE(t,e,n){var r,a,i;return function(){var o,l=n(this),u;return l==null?void this.removeAttribute(t):(o=this.getAttribute(t),u=l+"",o===u?null:o===r&&u===a?i:(a=u,i=e(r=o,l)))}}function zE(t,e,n){var r,a,i;return function(){var o,l=n(this),u;return l==null?void this.removeAttributeNS(t.space,t.local):(o=this.getAttributeNS(t.space,t.local),u=l+"",o===u?null:o===r&&u===a?i:(a=u,i=e(r=o,l)))}}function OE(t,e){var n=Fs(t),r=n==="transform"?$E:K1;return this.attrTween(t,typeof e=="function"?(n.local?zE:NE)(n,r,th(this,"attr."+t,e)):e==null?(n.local?RE:ME)(n):(n.local?kE:IE)(n,r,e))}function GE(t,e){return function(n){this.setAttribute(t,e.call(this,n))}}function jE(t,e){return function(n){this.setAttributeNS(t.space,t.local,e.call(this,n))}}function VE(t,e){var n,r;function a(){var i=e.apply(this,arguments);return i!==r&&(n=(r=i)&&jE(t,i)),n}return a._value=e,a}function YE(t,e){var n,r;function a(){var i=e.apply(this,arguments);return i!==r&&(n=(r=i)&&GE(t,i)),n}return a._value=e,a}function HE(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=Fs(t);return this.tween(n,(r.local?VE:YE)(r,e))}function WE(t,e){return function(){Qd(this,t).delay=+e.apply(this,arguments)}}function XE(t,e){return e=+e,function(){Qd(this,t).delay=e}}function UE(t){var e=this._id;return arguments.length?this.each((typeof t=="function"?WE:XE)(e,t)):tn(this.node(),e).delay}function qE(t,e){return function(){mn(this,t).duration=+e.apply(this,arguments)}}function ZE(t,e){return e=+e,function(){mn(this,t).duration=e}}function JE(t){var e=this._id;return arguments.length?this.each((typeof t=="function"?qE:ZE)(e,t)):tn(this.node(),e).duration}function KE(t,e){if(typeof e!="function")throw new Error;return function(){mn(this,t).ease=e}}function QE(t){var e=this._id;return arguments.length?this.each(KE(e,t)):tn(this.node(),e).ease}function tL(t,e){return function(){var n=e.apply(this,arguments);if(typeof n!="function")throw new Error;mn(this,t).ease=n}}function eL(t){if(typeof t!="function")throw new Error;return this.each(tL(this._id,t))}function nL(t){typeof t!="function"&&(t=x1(t));for(var e=this._groups,n=e.length,r=new Array(n),a=0;a<n;++a)for(var i=e[a],o=i.length,l=r[a]=[],u,s=0;s<o;++s)(u=i[s])&&t.call(u,u.__data__,s,i)&&l.push(u);return new Mn(r,this._parents,this._name,this._id)}function rL(t){if(t._id!==this._id)throw new Error;for(var e=this._groups,n=t._groups,r=e.length,a=n.length,i=Math.min(r,a),o=new Array(r),l=0;l<i;++l)for(var u=e[l],s=n[l],c=u.length,d=o[l]=new Array(c),f,h=0;h<c;++h)(f=u[h]||s[h])&&(d[h]=f);for(;l<r;++l)o[l]=e[l];return new Mn(o,this._parents,this._name,this._id)}function aL(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 iL(t,e,n){var r,a,i=aL(e)?Qd:mn;return function(){var o=i(this,t),l=o.on;l!==r&&(a=(r=l).copy()).on(e,n),o.on=a}}function oL(t,e){var n=this._id;return arguments.length<2?tn(this.node(),n).on.on(t):this.each(iL(n,t,e))}function lL(t){return function(){var e=this.parentNode;for(var n in this.__transition)if(+n!==t)return;e&&e.removeChild(this)}}function sL(){return this.on("end.remove",lL(this._id))}function uL(t){var e=this._name,n=this._id;typeof t!="function"&&(t=Od(t));for(var r=this._groups,a=r.length,i=new Array(a),o=0;o<a;++o)for(var l=r[o],u=l.length,s=i[o]=new Array(u),c,d,f=0;f<u;++f)(c=l[f])&&(d=t.call(c,c.__data__,f,l))&&("__data__"in c&&(d.__data__=c.__data__),s[f]=d,js(s[f],e,n,f,s,tn(c,n)));return new Mn(i,this._parents,e,n)}function cL(t){var e=this._name,n=this._id;typeof t!="function"&&(t=b1(t));for(var r=this._groups,a=r.length,i=[],o=[],l=0;l<a;++l)for(var u=r[l],s=u.length,c,d=0;d<s;++d)if(c=u[d]){for(var f=t.call(c,c.__data__,d,u),h,p=tn(c,n),g=0,m=f.length;g<m;++g)(h=f[g])&&js(h,e,n,g,f,p);i.push(f),o.push(c)}return new Mn(i,o,e,n)}var fL=fo.prototype.constructor;function dL(){return new fL(this._groups,this._parents)}function hL(t,e){var n,r,a;return function(){var i=Oa(this,t),o=(this.style.removeProperty(t),Oa(this,t));return i===o?null:i===n&&o===r?a:a=e(n=i,r=o)}}function Q1(t){return function(){this.style.removeProperty(t)}}function pL(t,e,n){var r,a=n+"",i;return function(){var o=Oa(this,t);return o===a?null:o===r?i:i=e(r=o,n)}}function mL(t,e,n){var r,a,i;return function(){var o=Oa(this,t),l=n(this),u=l+"";return l==null&&(u=l=(this.style.removeProperty(t),Oa(this,t))),o===u?null:o===r&&u===a?i:(a=u,i=e(r=o,l))}}function gL(t,e){var n,r,a,i="style."+e,o="end."+i,l;return function(){var u=mn(this,t),s=u.on,c=u.value[i]==null?l||(l=Q1(e)):void 0;(s!==n||a!==c)&&(r=(n=s).copy()).on(o,a=c),u.on=r}}function yL(t,e,n){var r=(t+="")=="transform"?vE:K1;return e==null?this.styleTween(t,hL(t,r)).on("end.style."+t,Q1(t)):typeof e=="function"?this.styleTween(t,mL(t,r,th(this,"style."+t,e))).each(gL(this._id,t)):this.styleTween(t,pL(t,r,e),n).on("end.style."+t,null)}function bL(t,e,n){return function(r){this.style.setProperty(t,e.call(this,r),n)}}function xL(t,e,n){var r,a;function i(){var o=e.apply(this,arguments);return o!==a&&(r=(a=o)&&bL(t,o,n)),r}return i._value=e,i}function vL(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,xL(t,e,n??""))}function $L(t){return function(){this.textContent=t}}function SL(t){return function(){var e=t(this);this.textContent=e??""}}function DL(t){return this.tween("text",typeof t=="function"?SL(th(this,"text",t)):$L(t==null?"":t+""))}function _L(t){return function(e){this.textContent=t.call(this,e)}}function AL(t){var e,n;function r(){var a=t.apply(this,arguments);return a!==n&&(e=(n=a)&&_L(a)),e}return r._value=t,r}function CL(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,AL(t))}function PL(){for(var t=this._name,e=this._id,n=tx(),r=this._groups,a=r.length,i=0;i<a;++i)for(var o=r[i],l=o.length,u,s=0;s<l;++s)if(u=o[s]){var c=tn(u,e);js(u,t,n,s,o,{time:c.time+c.delay+c.duration,delay:0,duration:c.duration,ease:c.ease})}return new Mn(r,this._parents,t,n)}function FL(){var t,e,n=this,r=n._id,a=n.size();return new Promise(function(i,o){var l={value:o},u={value:function(){--a===0&&i()}};n.each(function(){var s=mn(this,r),c=s.on;c!==t&&(e=(t=c).copy(),e._.cancel.push(l),e._.interrupt.push(l),e._.end.push(u)),s.on=e}),a===0&&i()})}var TL=0;function Mn(t,e,n,r){this._groups=t,this._parents=e,this._name=n,this._id=r}function tx(){return++TL}var Rn=fo.prototype;Mn.prototype={constructor:Mn,select:uL,selectAll:cL,selectChild:Rn.selectChild,selectChildren:Rn.selectChildren,filter:nL,merge:rL,selection:dL,transition:PL,call:Rn.call,nodes:Rn.nodes,node:Rn.node,size:Rn.size,empty:Rn.empty,each:Rn.each,on:oL,attr:OE,attrTween:HE,style:yL,styleTween:vL,text:DL,textTween:CL,remove:sL,tween:LE,delay:UE,duration:JE,ease:QE,easeVarying:eL,end:FL,[Symbol.iterator]:Rn[Symbol.iterator]};function wL(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}var BL={time:null,delay:0,duration:250,ease:wL};function EL(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 LL(t){var e,n;t instanceof Mn?(e=t._id,t=t._name):(e=tx(),(n=BL).time=qd(),t=t==null?null:t+"");for(var r=this._groups,a=r.length,i=0;i<a;++i)for(var o=r[i],l=o.length,u,s=0;s<l;++s)(u=o[s])&&js(u,t,e,s,o,n||EL(u,e));return new Mn(r,this._parents,t,e)}fo.prototype.interrupt=wE,fo.prototype.transition=LL;function ML(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)}function Vs(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 Va(t){return t=Vs(Math.abs(t)),t?t[1]:NaN}function RL(t,e){return function(n,r){for(var a=n.length,i=[],o=0,l=t[0],u=0;a>0&&l>0&&(u+l+1>r&&(l=Math.max(1,r-u)),i.push(n.substring(a-=l,a+l)),!((u+=l+1)>r));)l=t[o=(o+1)%t.length];return i.reverse().join(e)}}function IL(t){return function(e){return e.replace(/[0-9]/g,function(n){return t[+n]})}}var kL=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function Ys(t){if(!(e=kL.exec(t)))throw new Error("invalid format: "+t);var e;return new eh({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]})}Ys.prototype=eh.prototype;function eh(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+""}eh.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 NL(t){t:for(var e=t.length,n=1,r=-1,a;n<e;++n)switch(t[n]){case".":r=a=n;break;case"0":r===0&&(r=n),a=n;break;default:if(!+t[n])break t;r>0&&(r=0);break}return r>0?t.slice(0,r)+t.slice(a+1):t}var ex;function zL(t,e){var n=Vs(t,e);if(!n)return t+"";var r=n[0],a=n[1],i=a-(ex=Math.max(-8,Math.min(8,Math.floor(a/3)))*3)+1,o=r.length;return i===o?r:i>o?r+new Array(i-o+1).join("0"):i>0?r.slice(0,i)+"."+r.slice(i):"0."+new Array(1-i).join("0")+Vs(t,Math.max(0,e+i-1))[0]}function nx(t,e){var n=Vs(t,e);if(!n)return t+"";var r=n[0],a=n[1];return a<0?"0."+new Array(-a).join("0")+r:r.length>a+1?r.slice(0,a+1)+"."+r.slice(a+1):r+new Array(a-r.length+2).join("0")}const rx={"%":(t,e)=>(t*100).toFixed(e),b:t=>Math.round(t).toString(2),c:t=>t+"",d:ML,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)=>nx(t*100,e),r:nx,s:zL,X:t=>Math.round(t).toString(16).toUpperCase(),x:t=>Math.round(t).toString(16)};function ax(t){return t}var ix=Array.prototype.map,ox=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function OL(t){var e=t.grouping===void 0||t.thousands===void 0?ax:RL(ix.call(t.grouping,Number),t.thousands+""),n=t.currency===void 0?"":t.currency[0]+"",r=t.currency===void 0?"":t.currency[1]+"",a=t.decimal===void 0?".":t.decimal+"",i=t.numerals===void 0?ax:IL(ix.call(t.numerals,String)),o=t.percent===void 0?"%":t.percent+"",l=t.minus===void 0?"−":t.minus+"",u=t.nan===void 0?"NaN":t.nan+"";function s(d){d=Ys(d);var f=d.fill,h=d.align,p=d.sign,g=d.symbol,m=d.zero,b=d.width,y=d.comma,x=d.precision,v=d.trim,_=d.type;_==="n"?(y=!0,_="g"):rx[_]||(x===void 0&&(x=12),v=!0,_="g"),(m||f==="0"&&h==="=")&&(m=!0,f="0",h="=");var D=g==="$"?n:g==="#"&&/[boxX]/.test(_)?"0"+_.toLowerCase():"",C=g==="$"?r:/[%p]/.test(_)?o:"",A=rx[_],$=/[defgprs%]/.test(_);x=x===void 0?6:/[gprs]/.test(_)?Math.max(1,Math.min(21,x)):Math.max(0,Math.min(20,x));function T(S){var k=D,N=C,E,P,B;if(_==="c")N=A(S)+N,S="";else{S=+S;var R=S<0||1/S<0;if(S=isNaN(S)?u:A(Math.abs(S),x),v&&(S=NL(S)),R&&+S==0&&p!=="+"&&(R=!1),k=(R?p==="("?p:l:p==="-"||p==="("?"":p)+k,N=(_==="s"?ox[8+ex/3]:"")+N+(R&&p==="("?")":""),$){for(E=-1,P=S.length;++E<P;)if(B=S.charCodeAt(E),48>B||B>57){N=(B===46?a+S.slice(E+1):S.slice(E))+N,S=S.slice(0,E);break}}}y&&!m&&(S=e(S,1/0));var F=k.length+S.length+N.length,M=F<b?new Array(b-F+1).join(f):"";switch(y&&m&&(S=e(M+S,M.length?b-N.length:1/0),M=""),h){case"<":S=k+S+N+M;break;case"=":S=k+M+S+N;break;case"^":S=M.slice(0,F=M.length>>1)+k+S+N+M.slice(F);break;default:S=M+k+S+N;break}return i(S)}return T.toString=function(){return d+""},T}function c(d,f){var h=s((d=Ys(d),d.type="f",d)),p=Math.max(-8,Math.min(8,Math.floor(Va(f)/3)))*3,g=Math.pow(10,-p),m=ox[8+p/3];return function(b){return h(g*b)+m}}return{format:s,formatPrefix:c}}var Hs,lx,sx;GL({thousands:",",grouping:[3],currency:["$",""]});function GL(t){return Hs=OL(t),lx=Hs.format,sx=Hs.formatPrefix,Hs}function jL(t){return Math.max(0,-Va(Math.abs(t)))}function VL(t,e){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(Va(e)/3)))*3-Va(Math.abs(t)))}function YL(t,e){return t=Math.abs(t),e=Math.abs(e)-t,Math.max(0,Va(e)-Va(t))+1}function Ws(t,e){switch(arguments.length){case 0:break;case 1:this.range(t);break;default:this.range(e).domain(t);break}return this}const ux=Symbol("implicit");function cx(){var t=new d1,e=[],n=[],r=ux;function a(i){let o=t.get(i);if(o===void 0){if(r!==ux)return r;t.set(i,o=e.push(i)-1)}return n[o%n.length]}return a.domain=function(i){if(!arguments.length)return e.slice();e=[],t=new d1;for(const o of i)t.has(o)||t.set(o,e.push(o)-1);return a},a.range=function(i){return arguments.length?(n=Array.from(i),a):n.slice()},a.unknown=function(i){return arguments.length?(r=i,a):r},a.copy=function(){return cx(e,n).unknown(r)},Ws.apply(a,arguments),a}function fx(){var t=cx().unknown(void 0),e=t.domain,n=t.range,r=0,a=1,i,o,l=!1,u=0,s=0,c=.5;delete t.unknown;function d(){var f=e().length,h=a<r,p=h?a:r,g=h?r:a;i=(g-p)/Math.max(1,f-u+s*2),l&&(i=Math.floor(i)),p+=(g-p-i*(f-u))*c,o=i*(1-u),l&&(p=Math.round(p),o=Math.round(o));var m=d8(f).map(function(b){return p+i*b});return n(h?m.reverse():m)}return t.domain=function(f){return arguments.length?(e(f),d()):e()},t.range=function(f){return arguments.length?([r,a]=f,r=+r,a=+a,d()):[r,a]},t.rangeRound=function(f){return[r,a]=f,r=+r,a=+a,l=!0,d()},t.bandwidth=function(){return o},t.step=function(){return i},t.round=function(f){return arguments.length?(l=!!f,d()):l},t.padding=function(f){return arguments.length?(u=Math.min(1,s=+f),d()):u},t.paddingInner=function(f){return arguments.length?(u=Math.min(1,f),d()):u},t.paddingOuter=function(f){return arguments.length?(s=+f,d()):s},t.align=function(f){return arguments.length?(c=Math.max(0,Math.min(1,f)),d()):c},t.copy=function(){return fx(e(),[r,a]).round(l).paddingInner(u).paddingOuter(s).align(c)},Ws.apply(d(),arguments)}function dx(t){var e=t.copy;return t.padding=t.paddingOuter,delete t.paddingInner,delete t.paddingOuter,t.copy=function(){return dx(e())},t}function HL(){return dx(fx.apply(null,arguments).paddingInner(1))}function WL(t){return function(){return t}}function XL(t){return+t}var hx=[0,1];function Ya(t){return t}function nh(t,e){return(e-=t=+t)?function(n){return(n-t)/e}:WL(isNaN(e)?NaN:.5)}function UL(t,e){var n;return t>e&&(n=t,t=e,e=n),function(r){return Math.max(t,Math.min(e,r))}}function qL(t,e,n){var r=t[0],a=t[1],i=e[0],o=e[1];return a<r?(r=nh(a,r),i=n(o,i)):(r=nh(r,a),i=n(i,o)),function(l){return i(r(l))}}function ZL(t,e,n){var r=Math.min(t.length,e.length)-1,a=new Array(r),i=new Array(r),o=-1;for(t[r]<t[0]&&(t=t.slice().reverse(),e=e.slice().reverse());++o<r;)a[o]=nh(t[o],t[o+1]),i[o]=n(e[o],e[o+1]);return function(l){var u=f1(t,l,1,r)-1;return i[u](a[u](l))}}function JL(t,e){return e.domain(t.domain()).range(t.range()).interpolate(t.interpolate()).clamp(t.clamp()).unknown(t.unknown())}function KL(){var t=hx,e=hx,n=Ud,r,a,i,o=Ya,l,u,s;function c(){var f=Math.min(t.length,e.length);return o!==Ya&&(o=UL(t[0],t[f-1])),l=f>2?ZL:qL,u=s=null,d}function d(f){return f==null||isNaN(f=+f)?i:(u||(u=l(t.map(r),e,n)))(r(o(f)))}return d.invert=function(f){return o(a((s||(s=l(e,t.map(r),Qe)))(f)))},d.domain=function(f){return arguments.length?(t=Array.from(f,XL),c()):t.slice()},d.range=function(f){return arguments.length?(e=Array.from(f),c()):e.slice()},d.rangeRound=function(f){return e=Array.from(f),n=yE,c()},d.clamp=function(f){return arguments.length?(o=f?!0:Ya,c()):o!==Ya},d.interpolate=function(f){return arguments.length?(n=f,c()):n},d.unknown=function(f){return arguments.length?(i=f,d):i},function(f,h){return r=f,a=h,c()}}function QL(){return KL()(Ya,Ya)}function tM(t,e,n,r){var a=f8(t,e,n),i;switch(r=Ys(r??",f"),r.type){case"s":{var o=Math.max(Math.abs(t),Math.abs(e));return r.precision==null&&!isNaN(i=VL(a,o))&&(r.precision=i),sx(r,o)}case"":case"e":case"g":case"p":case"r":{r.precision==null&&!isNaN(i=YL(a,Math.max(Math.abs(t),Math.abs(e))))&&(r.precision=i-(r.type==="e"));break}case"f":case"%":{r.precision==null&&!isNaN(i=jL(a))&&(r.precision=i-(r.type==="%")*2);break}}return lx(r)}function px(t){var e=t.domain;return t.ticks=function(n){var r=e();return c8(r[0],r[r.length-1],n??10)},t.tickFormat=function(n,r){var a=e();return tM(a[0],a[a.length-1],n??10,r)},t.nice=function(n){n==null&&(n=10);var r=e(),a=0,i=r.length-1,o=r[a],l=r[i],u,s,c=10;for(l<o&&(s=o,o=l,l=s,s=a,a=i,i=s);c-- >0;){if(s=Nd(o,l,n),s===u)return r[a]=o,r[i]=l,e(r);if(s>0)o=Math.floor(o/s)*s,l=Math.ceil(l/s)*s;else if(s<0)o=Math.ceil(o*s)/s,l=Math.floor(l*s)/s;else break;u=s}return t},t}function vo(){var t=QL();return t.copy=function(){return JL(t,vo())},Ws.apply(t,arguments),px(t)}function mx(){var t=0,e=1,n=1,r=[.5],a=[0,1],i;function o(u){return u!=null&&u<=u?a[f1(r,u,0,n)]:i}function l(){var u=-1;for(r=new Array(n);++u<n;)r[u]=((u+1)*e-(u-n)*t)/(n+1);return o}return o.domain=function(u){return arguments.length?([t,e]=u,t=+t,e=+e,l()):[t,e]},o.range=function(u){return arguments.length?(n=(a=Array.from(u)).length-1,l()):a.slice()},o.invertExtent=function(u){var s=a.indexOf(u);return s<0?[NaN,NaN]:s<1?[t,r[0]]:s>=n?[r[n-1],e]:[r[s-1],r[s]]},o.unknown=function(u){return arguments.length&&(i=u),o},o.thresholds=function(){return r.slice()},o.copy=function(){return mx().domain([t,e]).range(a).unknown(i)},Ws.apply(px(o),arguments)}function $o(t,e,n){this.k=t,this.x=e,this.y=n}$o.prototype={constructor:$o,scale:function(t){return t===1?this:new $o(this.k*t,this.x,this.y)},translate:function(t,e){return t===0&e===0?this:new $o(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+")"}},$o.prototype;function rh(t){const e=[0,0];return t.length?t.reduce((n,r)=>[r<n[0]?r:n[0],r>n[1]?r:n[1]],[t[0],t[0]]):e}var ah=function(t,e){return ah=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,r){n.__proto__=r}||function(n,r){for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(n[a]=r[a])},ah(t,e)};function gn(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");ah(t,e);function n(){this.constructor=t}t.prototype=e===null?Object.create(e):(n.prototype=e.prototype,new n)}function eM(t,e,n,r){function a(i){return i instanceof n?i:new n(function(o){o(i)})}return new(n||(n=Promise))(function(i,o){function l(c){try{s(r.next(c))}catch(d){o(d)}}function u(c){try{s(r.throw(c))}catch(d){o(d)}}function s(c){c.done?i(c.value):a(c.value).then(l,u)}s((r=r.apply(t,[])).next())})}function gx(t,e){var n={label:0,sent:function(){if(i[0]&1)throw i[1];return i[1]},trys:[],ops:[]},r,a,i,o=Object.create((typeof Iterator=="function"?Iterator:Object).prototype);return o.next=l(0),o.throw=l(1),o.return=l(2),typeof Symbol=="function"&&(o[Symbol.iterator]=function(){return this}),o;function l(s){return function(c){return u([s,c])}}function u(s){if(r)throw new TypeError("Generator is already executing.");for(;o&&(o=0,s[0]&&(n=0)),n;)try{if(r=1,a&&(i=s[0]&2?a.return:s[0]?a.throw||((i=a.return)&&i.call(a),0):a.next)&&!(i=i.call(a,s[1])).done)return i;switch(a=0,i&&(s=[s[0]&2,i.value]),s[0]){case 0:case 1:i=s;break;case 4:return n.label++,{value:s[1],done:!1};case 5:n.label++,a=s[1],s=[0];continue;case 7:s=n.ops.pop(),n.trys.pop();continue;default:if(i=n.trys,!(i=i.length>0&&i[i.length-1])&&(s[0]===6||s[0]===2)){n=0;continue}if(s[0]===3&&(!i||s[1]>i[0]&&s[1]<i[3])){n.label=s[1];break}if(s[0]===6&&n.label<i[1]){n.label=i[1],i=s;break}if(i&&n.label<i[2]){n.label=i[2],n.ops.push(s);break}i[2]&&n.ops.pop(),n.trys.pop();continue}s=e.call(t,n)}catch(c){s=[6,c],a=0}finally{r=i=0}if(s[0]&5)throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}}function Ha(t){var e=typeof Symbol=="function"&&Symbol.iterator,n=e&&t[e],r=0;if(n)return n.call(t);if(t&&typeof t.length=="number")return{next:function(){return t&&r>=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function So(t,e){var n=typeof Symbol=="function"&&t[Symbol.iterator];if(!n)return t;var r=n.call(t),a,i=[],o;try{for(;(e===void 0||e-- >0)&&!(a=r.next()).done;)i.push(a.value)}catch(l){o={error:l}}finally{try{a&&!a.done&&(n=r.return)&&n.call(r)}finally{if(o)throw o.error}}return i}function Do(t,e,n){if(arguments.length===2)for(var r=0,a=e.length,i;r<a;r++)(i||!(r in e))&&(i||(i=Array.prototype.slice.call(e,0,r)),i[r]=e[r]);return t.concat(i||Array.prototype.slice.call(e))}function Wa(t){return this instanceof Wa?(this.v=t,this):new Wa(t)}function nM(t,e,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r=n.apply(t,e||[]),a,i=[];return a=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),l("next"),l("throw"),l("return",o),a[Symbol.asyncIterator]=function(){return this},a;function o(h){return function(p){return Promise.resolve(p).then(h,d)}}function l(h,p){r[h]&&(a[h]=function(g){return new Promise(function(m,b){i.push([h,g,m,b])>1||u(h,g)})},p&&(a[h]=p(a[h])))}function u(h,p){try{s(r[h](p))}catch(g){f(i[0][3],g)}}function s(h){h.value instanceof Wa?Promise.resolve(h.value.v).then(c,d):f(i[0][2],h)}function c(h){u("next",h)}function d(h){u("throw",h)}function f(h,p){h(p),i.shift(),i.length&&u(i[0][0],i[0][1])}}function rM(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=t[Symbol.asyncIterator],n;return e?e.call(t):(t=typeof Ha=="function"?Ha(t):t[Symbol.iterator](),n={},r("next"),r("throw"),r("return"),n[Symbol.asyncIterator]=function(){return this},n);function r(i){n[i]=t[i]&&function(o){return new Promise(function(l,u){o=t[i](o),a(l,u,o.done,o.value)})}}function a(i,o,l,u){Promise.resolve(u).then(function(s){i({value:s,done:l})},o)}}function Kt(t){return typeof t=="function"}function ih(t){var e=function(r){Error.call(r),r.stack=new Error().stack},n=t(e);return n.prototype=Object.create(Error.prototype),n.prototype.constructor=n,n}var oh=ih(function(t){return function(e){t(this),this.message=e?e.length+` errors occurred during unsubscription:
53
- `+e.map(function(n,r){return r+1+") "+n.toString()}).join(`
54
- `):"",this.name="UnsubscriptionError",this.errors=e}});function Xs(t,e){if(t){var n=t.indexOf(e);0<=n&&t.splice(n,1)}}var _o=function(){function t(e){this.initialTeardown=e,this.closed=!1,this._parentage=null,this._finalizers=null}return t.prototype.unsubscribe=function(){var e,n,r,a,i;if(!this.closed){this.closed=!0;var o=this._parentage;if(o)if(this._parentage=null,Array.isArray(o))try{for(var l=Ha(o),u=l.next();!u.done;u=l.next()){var s=u.value;s.remove(this)}}catch(g){e={error:g}}finally{try{u&&!u.done&&(n=l.return)&&n.call(l)}finally{if(e)throw e.error}}else o.remove(this);var c=this.initialTeardown;if(Kt(c))try{c()}catch(g){i=g instanceof oh?g.errors:[g]}var d=this._finalizers;if(d){this._finalizers=null;try{for(var f=Ha(d),h=f.next();!h.done;h=f.next()){var p=h.value;try{xx(p)}catch(g){i=i??[],g instanceof oh?i=Do(Do([],So(i)),So(g.errors)):i.push(g)}}}catch(g){r={error:g}}finally{try{h&&!h.done&&(a=f.return)&&a.call(f)}finally{if(r)throw r.error}}}if(i)throw new oh(i)}},t.prototype.add=function(e){var n;if(e&&e!==this)if(this.closed)xx(e);else{if(e instanceof t){if(e.closed||e._hasParent(this))return;e._addParent(this)}(this._finalizers=(n=this._finalizers)!==null&&n!==void 0?n:[]).push(e)}},t.prototype._hasParent=function(e){var n=this._parentage;return n===e||Array.isArray(n)&&n.includes(e)},t.prototype._addParent=function(e){var n=this._parentage;this._parentage=Array.isArray(n)?(n.push(e),n):n?[n,e]:e},t.prototype._removeParent=function(e){var n=this._parentage;n===e?this._parentage=null:Array.isArray(n)&&Xs(n,e)},t.prototype.remove=function(e){var n=this._finalizers;n&&Xs(n,e),e instanceof t&&e._removeParent(this)},t.EMPTY=function(){var e=new t;return e.closed=!0,e}(),t}(),yx=_o.EMPTY;function bx(t){return t instanceof _o||t&&"closed"in t&&Kt(t.remove)&&Kt(t.add)&&Kt(t.unsubscribe)}function xx(t){Kt(t)?t():t.unsubscribe()}var aM={Promise:void 0},iM={setTimeout:function(t,e){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];return setTimeout.apply(void 0,Do([t,e],So(n)))},clearTimeout:function(t){return clearTimeout(t)},delegate:void 0};function vx(t){iM.setTimeout(function(){throw t})}function lh(){}function Us(t){t()}var sh=function(t){gn(e,t);function e(n){var r=t.call(this)||this;return r.isStopped=!1,n?(r.destination=n,bx(n)&&n.add(r)):r.destination=sM,r}return e.create=function(n,r,a){return new Ao(n,r,a)},e.prototype.next=function(n){this.isStopped||this._next(n)},e.prototype.error=function(n){this.isStopped||(this.isStopped=!0,this._error(n))},e.prototype.complete=function(){this.isStopped||(this.isStopped=!0,this._complete())},e.prototype.unsubscribe=function(){this.closed||(this.isStopped=!0,t.prototype.unsubscribe.call(this),this.destination=null)},e.prototype._next=function(n){this.destination.next(n)},e.prototype._error=function(n){try{this.destination.error(n)}finally{this.unsubscribe()}},e.prototype._complete=function(){try{this.destination.complete()}finally{this.unsubscribe()}},e}(_o),oM=function(){function t(e){this.partialObserver=e}return t.prototype.next=function(e){var n=this.partialObserver;if(n.next)try{n.next(e)}catch(r){qs(r)}},t.prototype.error=function(e){var n=this.partialObserver;if(n.error)try{n.error(e)}catch(r){qs(r)}else qs(e)},t.prototype.complete=function(){var e=this.partialObserver;if(e.complete)try{e.complete()}catch(n){qs(n)}},t}(),Ao=function(t){gn(e,t);function e(n,r,a){var i=t.call(this)||this,o;return Kt(n)||!n?o={next:n??void 0,error:r??void 0,complete:a??void 0}:o=n,i.destination=new oM(o),i}return e}(sh);function qs(t){vx(t)}function lM(t){throw t}var sM={closed:!0,next:lh,error:lM,complete:lh},uh=function(){return typeof Symbol=="function"&&Symbol.observable||"@@observable"}();function $x(t){return t}function uM(t){return t.length===0?$x:t.length===1?t[0]:function(e){return t.reduce(function(n,r){return r(n)},e)}}var fr=function(){function t(e){e&&(this._subscribe=e)}return t.prototype.lift=function(e){var n=new t;return n.source=this,n.operator=e,n},t.prototype.subscribe=function(e,n,r){var a=this,i=fM(e)?e:new Ao(e,n,r);return Us(function(){var o=a,l=o.operator,u=o.source;i.add(l?l.call(i,u):u?a._subscribe(i):a._trySubscribe(i))}),i},t.prototype._trySubscribe=function(e){try{return this._subscribe(e)}catch(n){e.error(n)}},t.prototype.forEach=function(e,n){var r=this;return n=Sx(n),new n(function(a,i){var o=new Ao({next:function(l){try{e(l)}catch(u){i(u),o.unsubscribe()}},error:i,complete:a});r.subscribe(o)})},t.prototype._subscribe=function(e){var n;return(n=this.source)===null||n===void 0?void 0:n.subscribe(e)},t.prototype[uh]=function(){return this},t.prototype.pipe=function(){for(var e=[],n=0;n<arguments.length;n++)e[n]=arguments[n];return uM(e)(this)},t.prototype.toPromise=function(e){var n=this;return e=Sx(e),new e(function(r,a){var i;n.subscribe(function(o){return i=o},function(o){return a(o)},function(){return r(i)})})},t.create=function(e){return new t(e)},t}();function Sx(t){var e;return(e=t??aM.Promise)!==null&&e!==void 0?e:Promise}function cM(t){return t&&Kt(t.next)&&Kt(t.error)&&Kt(t.complete)}function fM(t){return t&&t instanceof sh||cM(t)&&bx(t)}function dM(t){return Kt(t==null?void 0:t.lift)}function Co(t){return function(e){if(dM(e))return e.lift(function(n){try{return t(n,this)}catch(r){this.error(r)}});throw new TypeError("Unable to lift unknown Observable type")}}function Po(t,e,n,r,a){return new hM(t,e,n,r,a)}var hM=function(t){gn(e,t);function e(n,r,a,i,o,l){var u=t.call(this,n)||this;return u.onFinalize=o,u.shouldUnsubscribe=l,u._next=r?function(s){try{r(s)}catch(c){n.error(c)}}:t.prototype._next,u._error=i?function(s){try{i(s)}catch(c){n.error(c)}finally{this.unsubscribe()}}:t.prototype._error,u._complete=a?function(){try{a()}catch(s){n.error(s)}finally{this.unsubscribe()}}:t.prototype._complete,u}return e.prototype.unsubscribe=function(){var n;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){var r=this.closed;t.prototype.unsubscribe.call(this),!r&&((n=this.onFinalize)===null||n===void 0||n.call(this))}},e}(sh),pM=ih(function(t){return function(){t(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"}}),Fo=function(t){gn(e,t);function e(){var n=t.call(this)||this;return n.closed=!1,n.currentObservers=null,n.observers=[],n.isStopped=!1,n.hasError=!1,n.thrownError=null,n}return e.prototype.lift=function(n){var r=new Dx(this,this);return r.operator=n,r},e.prototype._throwIfClosed=function(){if(this.closed)throw new pM},e.prototype.next=function(n){var r=this;Us(function(){var a,i;if(r._throwIfClosed(),!r.isStopped){r.currentObservers||(r.currentObservers=Array.from(r.observers));try{for(var o=Ha(r.currentObservers),l=o.next();!l.done;l=o.next()){var u=l.value;u.next(n)}}catch(s){a={error:s}}finally{try{l&&!l.done&&(i=o.return)&&i.call(o)}finally{if(a)throw a.error}}}})},e.prototype.error=function(n){var r=this;Us(function(){if(r._throwIfClosed(),!r.isStopped){r.hasError=r.isStopped=!0,r.thrownError=n;for(var a=r.observers;a.length;)a.shift().error(n)}})},e.prototype.complete=function(){var n=this;Us(function(){if(n._throwIfClosed(),!n.isStopped){n.isStopped=!0;for(var r=n.observers;r.length;)r.shift().complete()}})},e.prototype.unsubscribe=function(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null},Object.defineProperty(e.prototype,"observed",{get:function(){var n;return((n=this.observers)===null||n===void 0?void 0:n.length)>0},enumerable:!1,configurable:!0}),e.prototype._trySubscribe=function(n){return this._throwIfClosed(),t.prototype._trySubscribe.call(this,n)},e.prototype._subscribe=function(n){return this._throwIfClosed(),this._checkFinalizedStatuses(n),this._innerSubscribe(n)},e.prototype._innerSubscribe=function(n){var r=this,a=this,i=a.hasError,o=a.isStopped,l=a.observers;return i||o?yx:(this.currentObservers=null,l.push(n),new _o(function(){r.currentObservers=null,Xs(l,n)}))},e.prototype._checkFinalizedStatuses=function(n){var r=this,a=r.hasError,i=r.thrownError,o=r.isStopped;a?n.error(i):o&&n.complete()},e.prototype.asObservable=function(){var n=new fr;return n.source=this,n},e.create=function(n,r){return new Dx(n,r)},e}(fr),Dx=function(t){gn(e,t);function e(n,r){var a=t.call(this)||this;return a.destination=n,a.source=r,a}return e.prototype.next=function(n){var r,a;(a=(r=this.destination)===null||r===void 0?void 0:r.next)===null||a===void 0||a.call(r,n)},e.prototype.error=function(n){var r,a;(a=(r=this.destination)===null||r===void 0?void 0:r.error)===null||a===void 0||a.call(r,n)},e.prototype.complete=function(){var n,r;(r=(n=this.destination)===null||n===void 0?void 0:n.complete)===null||r===void 0||r.call(n)},e.prototype._subscribe=function(n){var r,a;return(a=(r=this.source)===null||r===void 0?void 0:r.subscribe(n))!==null&&a!==void 0?a:yx},e}(Fo),_x=function(t){gn(e,t);function e(n){var r=t.call(this)||this;return r._value=n,r}return Object.defineProperty(e.prototype,"value",{get:function(){return this.getValue()},enumerable:!1,configurable:!0}),e.prototype._subscribe=function(n){var r=t.prototype._subscribe.call(this,n);return!r.closed&&n.next(this._value),r},e.prototype.getValue=function(){var n=this,r=n.hasError,a=n.thrownError,i=n._value;if(r)throw a;return this._throwIfClosed(),i},e.prototype.next=function(n){t.prototype.next.call(this,this._value=n)},e}(Fo),ch={now:function(){return(ch.delegate||Date).now()},delegate:void 0},mM=function(t){gn(e,t);function e(n,r,a){n===void 0&&(n=1/0),r===void 0&&(r=1/0),a===void 0&&(a=ch);var i=t.call(this)||this;return i._bufferSize=n,i._windowTime=r,i._timestampProvider=a,i._buffer=[],i._infiniteTimeWindow=!0,i._infiniteTimeWindow=r===1/0,i._bufferSize=Math.max(1,n),i._windowTime=Math.max(1,r),i}return e.prototype.next=function(n){var r=this,a=r.isStopped,i=r._buffer,o=r._infiniteTimeWindow,l=r._timestampProvider,u=r._windowTime;a||(i.push(n),!o&&i.push(l.now()+u)),this._trimBuffer(),t.prototype.next.call(this,n)},e.prototype._subscribe=function(n){this._throwIfClosed(),this._trimBuffer();for(var r=this._innerSubscribe(n),a=this,i=a._infiniteTimeWindow,o=a._buffer,l=o.slice(),u=0;u<l.length&&!n.closed;u+=i?1:2)n.next(l[u]);return this._checkFinalizedStatuses(n),r},e.prototype._trimBuffer=function(){var n=this,r=n._bufferSize,a=n._timestampProvider,i=n._buffer,o=n._infiniteTimeWindow,l=(o?1:2)*r;if(r<1/0&&l<i.length&&i.splice(0,i.length-l),!o){for(var u=a.now(),s=0,c=1;c<i.length&&i[c]<=u;c+=2)s=c;s&&i.splice(0,s+1)}},e}(Fo),gM=function(t){gn(e,t);function e(n,r){return t.call(this)||this}return e.prototype.schedule=function(n,r){return this},e}(_o),Ax={setInterval:function(t,e){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];return setInterval.apply(void 0,Do([t,e],So(n)))},clearInterval:function(t){return clearInterval(t)},delegate:void 0},yM=function(t){gn(e,t);function e(n,r){var a=t.call(this,n,r)||this;return a.scheduler=n,a.work=r,a.pending=!1,a}return e.prototype.schedule=function(n,r){var a;if(r===void 0&&(r=0),this.closed)return this;this.state=n;var i=this.id,o=this.scheduler;return i!=null&&(this.id=this.recycleAsyncId(o,i,r)),this.pending=!0,this.delay=r,this.id=(a=this.id)!==null&&a!==void 0?a:this.requestAsyncId(o,this.id,r),this},e.prototype.requestAsyncId=function(n,r,a){return a===void 0&&(a=0),Ax.setInterval(n.flush.bind(n,this),a)},e.prototype.recycleAsyncId=function(n,r,a){if(a===void 0&&(a=0),a!=null&&this.delay===a&&this.pending===!1)return r;r!=null&&Ax.clearInterval(r)},e.prototype.execute=function(n,r){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;var a=this._execute(n,r);if(a)return a;this.pending===!1&&this.id!=null&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))},e.prototype._execute=function(n,r){var a=!1,i;try{this.work(n)}catch(o){a=!0,i=o||new Error("Scheduled action threw falsy error")}if(a)return this.unsubscribe(),i},e.prototype.unsubscribe=function(){if(!this.closed){var n=this,r=n.id,a=n.scheduler,i=a.actions;this.work=this.state=this.scheduler=null,this.pending=!1,Xs(i,this),r!=null&&(this.id=this.recycleAsyncId(a,r,null)),this.delay=null,t.prototype.unsubscribe.call(this)}},e}(gM),Cx=function(){function t(e,n){n===void 0&&(n=t.now),this.schedulerActionCtor=e,this.now=n}return t.prototype.schedule=function(e,n,r){return n===void 0&&(n=0),new this.schedulerActionCtor(this,e).schedule(r,n)},t.now=ch.now,t}(),bM=function(t){gn(e,t);function e(n,r){r===void 0&&(r=Cx.now);var a=t.call(this,n,r)||this;return a.actions=[],a._active=!1,a}return e.prototype.flush=function(n){var r=this.actions;if(this._active){r.push(n);return}var a;this._active=!0;do if(a=n.execute(n.state,n.delay))break;while(n=r.shift());if(this._active=!1,a){for(;n=r.shift();)n.unsubscribe();throw a}},e}(Cx);new bM(yM);var xM=function(t){return t&&typeof t.length=="number"&&typeof t!="function"};function vM(t){return Kt(t==null?void 0:t.then)}function $M(t){return Kt(t[uh])}function SM(t){return Symbol.asyncIterator&&Kt(t==null?void 0:t[Symbol.asyncIterator])}function DM(t){return new TypeError("You provided "+(t!==null&&typeof t=="object"?"an invalid object":"'"+t+"'")+" where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.")}function _M(){return typeof Symbol!="function"||!Symbol.iterator?"@@iterator":Symbol.iterator}var AM=_M();function CM(t){return Kt(t==null?void 0:t[AM])}function PM(t){return nM(this,arguments,function(){var e,n,r,a;return gx(this,function(i){switch(i.label){case 0:e=t.getReader(),i.label=1;case 1:i.trys.push([1,,9,10]),i.label=2;case 2:return[4,Wa(e.read())];case 3:return n=i.sent(),r=n.value,a=n.done,a?[4,Wa(void 0)]:[3,5];case 4:return[2,i.sent()];case 5:return[4,Wa(r)];case 6:return[4,i.sent()];case 7:return i.sent(),[3,2];case 8:return[3,10];case 9:return e.releaseLock(),[7];case 10:return[2]}})})}function FM(t){return Kt(t==null?void 0:t.getReader)}function Zs(t){if(t instanceof fr)return t;if(t!=null){if($M(t))return TM(t);if(xM(t))return wM(t);if(vM(t))return BM(t);if(SM(t))return Px(t);if(CM(t))return EM(t);if(FM(t))return LM(t)}throw DM(t)}function TM(t){return new fr(function(e){var n=t[uh]();if(Kt(n.subscribe))return n.subscribe(e);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}function wM(t){return new fr(function(e){for(var n=0;n<t.length&&!e.closed;n++)e.next(t[n]);e.complete()})}function BM(t){return new fr(function(e){t.then(function(n){e.closed||(e.next(n),e.complete())},function(n){return e.error(n)}).then(null,vx)})}function EM(t){return new fr(function(e){var n,r;try{for(var a=Ha(t),i=a.next();!i.done;i=a.next()){var o=i.value;if(e.next(o),e.closed)return}}catch(l){n={error:l}}finally{try{i&&!i.done&&(r=a.return)&&r.call(a)}finally{if(n)throw n.error}}e.complete()})}function Px(t){return new fr(function(e){MM(t,e).catch(function(n){return e.error(n)})})}function LM(t){return Px(PM(t))}function MM(t,e){var n,r,a,i;return eM(this,void 0,void 0,function(){var o,l;return gx(this,function(u){switch(u.label){case 0:u.trys.push([0,5,6,11]),n=rM(t),u.label=1;case 1:return[4,n.next()];case 2:if(r=u.sent(),!!r.done)return[3,4];if(o=r.value,e.next(o),e.closed)return[2];u.label=3;case 3:return[3,1];case 4:return[3,11];case 5:return l=u.sent(),a={error:l},[3,11];case 6:return u.trys.push([6,,9,10]),r&&!r.done&&(i=n.return)?[4,i.call(n)]:[3,8];case 7:u.sent(),u.label=8;case 8:return[3,10];case 9:if(a)throw a.error;return[7];case 10:return[7];case 11:return e.complete(),[2]}})})}ih(function(t){return function(){t(this),this.name="EmptyError",this.message="no elements in sequence"}});function fh(t,e){return Co(function(n,r){var a=0;n.subscribe(Po(r,function(i){r.next(t.call(e,i,a++))}))})}function RM(t,e){return e===void 0&&(e=$x),t=t??IM,Co(function(n,r){var a,i=!0;n.subscribe(Po(r,function(o){var l=e(o);(i||!t(a,l))&&(i=!1,a=l,r.next(o))}))})}function IM(t,e){return t===e}function kM(t){t===void 0&&(t={});var e=t.connector,n=e===void 0?function(){return new Fo}:e,r=t.resetOnError,a=r===void 0?!0:r,i=t.resetOnComplete,o=i===void 0?!0:i,l=t.resetOnRefCountZero,u=l===void 0?!0:l;return function(s){var c,d,f,h=0,p=!1,g=!1,m=function(){d==null||d.unsubscribe(),d=void 0},b=function(){m(),c=f=void 0,p=g=!1},y=function(){var x=c;b(),x==null||x.unsubscribe()};return Co(function(x,v){h++,!g&&!p&&m();var _=f=f??n();v.add(function(){h--,h===0&&!g&&!p&&(d=dh(y,u))}),_.subscribe(v),!c&&h>0&&(c=new Ao({next:function(D){return _.next(D)},error:function(D){g=!0,m(),d=dh(b,a,D),_.error(D)},complete:function(){p=!0,m(),d=dh(b,o),_.complete()}}),Zs(x).subscribe(c))})(s)}}function dh(t,e){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];if(e===!0){t();return}if(e!==!1){var a=new Ao({next:function(){a.unsubscribe(),t()}});return Zs(e.apply(void 0,Do([],So(n)))).subscribe(a)}}function NM(t,e,n){var r,a=!1;return r=t,kM({connector:function(){return new mM(r,e,n)},resetOnError:!0,resetOnComplete:!1,resetOnRefCountZero:a})}function zM(t,e){return Co(function(n,r){var a=null,i=0,o=!1,l=function(){return o&&!a&&r.complete()};n.subscribe(Po(r,function(u){a==null||a.unsubscribe();var s=0,c=i++;Zs(t(u,c)).subscribe(a=Po(r,function(d){return r.next(e?e(u,d,c,s++):d)},function(){a=null,l()}))},function(){o=!0,l()}))})}function OM(t){return Co(function(e,n){Zs(t).subscribe(Po(n,function(){return n.complete()},lh)),!n.closed&&e.subscribe(n)})}const GM=t=>t.pipe(fh(e=>e.styles.textSize),RM(),fh(e=>{let n=NaN;if(typeof e=="string")if(e.includes("rem")){const r=parseFloat(getComputedStyle(document.documentElement).fontSize);n=parseFloat(e)*r}else e.includes("px")&&(n=parseFloat(e));else if(typeof e=="number")return e;return n||14})),hh=({maxValue:t=1,minValue:e=0,axisWidth:n,scaleDomain:r=Ee.scaleDomain,scaleRange:a=Ee.scaleRange,reverse:i=!1})=>{const o=r[0]??Ee.scaleDomain[0],l=r[1]??Ee.scaleDomain[1],u=a[0]??Ee.scaleRange[0],s=a[1]??Ee.scaleRange[1];let c=o==="auto"?e<0?e:0:o==="min"?e:o,d=l==="auto"?t>=0?t:0:l==="max"?t:l;const f=t-(t-c)/(1-u),h=d/s;return i?vo().domain([f,h]).range([n,0]):vo().domain([f,h]).range([0,n])},Fx=({maxValue:t=1,minValue:e=0,axisWidth:n,scaleDomain:r=Ee.scaleDomain,scaleRange:a=Ee.scaleRange,reverse:i=!1})=>{e===t&&(t+=1,e-=1);const o=r[0]??Ee.scaleDomain[0],l=r[1]??Ee.scaleDomain[1],u=a[0]??Ee.scaleRange[0],s=a[1]??Ee.scaleRange[1];let c=o==="auto"?e<0?e:0:o==="min"?e:o,d=l==="auto"?t>=0?t:0:l==="max"?t:l;const f=t-(t-c)/(1-u),h=d/s;return i?vo().domain([n,0]).range([f,h]):vo().domain([0,n]).range([f,h])},jM=({axisLabels:t,axisWidth:e,padding:n=.5})=>{let r=[0,e];return HL().domain(t).range(r).padding(n)},ph=({axisLabels:t,axisWidth:e,padding:n=0,reverse:r=!1})=>{let a=t.map((u,s)=>s);r&&a.reverse(),a.length||(a=[0]);const i=a.length-1+n*2,o=e/i,l=o*n-o*.5;return mx().domain([l,e-l]).range(a)};function Tx(t){return`[OrbCharts ${t}]:`}function VM(t){return`${Tx("error")} ${t.message}`}function YM({columnName:t,expectToBe:e,from:n}){return`Invalid value: '${t}' must be '${e}'
55
-
56
- ----> find in '${n}'`}function HM({columnName:t,expectToBe:e,from:n}){return`${Tx("warning")} Value is not correct: '${t}' suppose to be '${e}', it may cause unexpected errors.'
57
-
58
- ----> find in '${n}'`}function WM({chartType:t,config:e,initFn:n}){const r=new Fo,a=new WeakMap;let i=()=>{},o;const l=new _x(e.defaultParams),u=new _x({}),s=l.pipe(zM(c=>u.pipe(OM(r),fh(d=>{try{const{status:f,columnName:h,expectToBe:p}=e.validator(d,{validateColumns:Q7});if(f==="error")throw new Error(YM({columnName:h,expectToBe:p,from:`${e.name}.params$`}));f==="warning"&&console.warn(HM({columnName:h,expectToBe:p,from:`${e.name}.params$`}))}catch(f){console.error(VM(f))}return kd(d,c)}))),NM(1));return{params$:u,name:e.name,chartType:t,defaultParams:e.defaultParams,layerIndex:e.layerIndex,init(){o&&(i=n(o)??(()=>{}),a.set(o.selection,o))},destroy(){i(),o&&(o.selection.remove(),o=void 0),r.next(void 0)},setPresetParams:c=>{l.next(kd(c,e.defaultParams))},setContext:c=>{o=c,o.observer.fullParams$=s}}}const Xa=t=>function(e){return function(n){return class{constructor(){const r=WM({chartType:t,config:e,initFn:n});this.params$=r.params$,this.name=r.name,this.chartType=r.chartType,this.defaultParams=r.defaultParams,this.layerIndex=r.layerIndex,this.init=r.init,this.destroy=r.destroy,this.setPresetParams=r.setPresetParams,this.setContext=r.setContext}}}},In=Xa("series"),Ce=Xa("grid"),Le=Xa("multiGrid"),oe=Xa("multiValue"),Js=Xa("relationship"),mh=Xa("tree");function Bt(t,e){return t==null||e==null?NaN:t<e?-1:t>e?1:t>=e?0:NaN}function wx(t,e){return t==null||e==null?NaN:e<t?-1:e>t?1:e>=t?0:NaN}function Ks(t){let e,n,r;t.length!==2?(e=Bt,n=(l,u)=>Bt(t(l),u),r=(l,u)=>t(l)-u):(e=t===Bt||t===wx?t:XM,n=t,r=t);function a(l,u,s=0,c=l.length){if(s<c){if(e(u,u)!==0)return c;do{const d=s+c>>>1;n(l[d],u)<0?s=d+1:c=d}while(s<c)}return s}function i(l,u,s=0,c=l.length){if(s<c){if(e(u,u)!==0)return c;do{const d=s+c>>>1;n(l[d],u)<=0?s=d+1:c=d}while(s<c)}return s}function o(l,u,s=0,c=l.length){const d=a(l,u,s,c-1);return d>s&&r(l[d-1],u)>-r(l[d],u)?d-1:d}return{left:a,center:o,right:i}}function XM(){return 0}function Qs(t){return t===null?NaN:+t}function*UM(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)}}const Bx=Ks(Bt),Ex=Bx.right,qM=Bx.left,ZM=Ks(Qs).center,Gr=Ex;function JM(t,e){if(!((e=+e)>=0))throw new RangeError("invalid r");let n=t.length;if(!((n=Math.floor(n))>=0))throw new RangeError("invalid length");if(!n||!e)return t;const r=gh(e),a=t.slice();return r(t,a,0,n,1),r(a,t,0,n,1),r(t,a,0,n,1),t}const Lx=Mx(gh),KM=Mx(QM);function Mx(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:a,width:i,height:o}=e;if(!((i=Math.floor(i))>=0))throw new RangeError("invalid width");if(!((o=Math.floor(o!==void 0?o:a.length/i))>=0))throw new RangeError("invalid height");if(!i||!o||!n&&!r)return e;const l=n&&t(n),u=r&&t(r),s=a.slice();return l&&u?(Ua(l,s,a,i,o),Ua(l,a,s,i,o),Ua(l,s,a,i,o),qa(u,a,s,i,o),qa(u,s,a,i,o),qa(u,a,s,i,o)):l?(Ua(l,a,s,i,o),Ua(l,s,a,i,o),Ua(l,a,s,i,o)):u&&(qa(u,a,s,i,o),qa(u,s,a,i,o),qa(u,a,s,i,o)),e}}function Ua(t,e,n,r,a){for(let i=0,o=r*a;i<o;)t(e,n,i,i+=r,1)}function qa(t,e,n,r,a){for(let i=0,o=r*a;i<r;++i)t(e,n,i,i+o,r)}function QM(t){const e=gh(t);return(n,r,a,i,o)=>{a<<=2,i<<=2,o<<=2,e(n,r,a+0,i+0,o),e(n,r,a+1,i+1,o),e(n,r,a+2,i+2,o),e(n,r,a+3,i+3,o)}}function gh(t){const e=Math.floor(t);if(e===t)return tR(t);const n=t-e,r=2*t+1;return(a,i,o,l,u)=>{if(!((l-=u)>=o))return;let s=e*i[o];const c=u*e,d=c+u;for(let f=o,h=o+c;f<h;f+=u)s+=i[Math.min(l,f)];for(let f=o,h=l;f<=h;f+=u)s+=i[Math.min(l,f+c)],a[f]=(s+n*(i[Math.max(o,f-d)]+i[Math.min(l,f+d)]))/r,s-=i[Math.max(o,f-c)]}}function tR(t){const e=2*t+1;return(n,r,a,i,o)=>{if(!((i-=o)>=a))return;let l=t*r[a];const u=o*t;for(let s=a,c=a+u;s<c;s+=o)l+=r[Math.min(i,s)];for(let s=a,c=i;s<=c;s+=o)l+=r[Math.min(i,s+u)],n[s]=l/e,l-=r[Math.max(a,s-u)]}}function tu(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 a of t)(a=e(a,++r,t))!=null&&(a=+a)>=a&&++n}return n}function eR(t){return t.length|0}function nR(t){return!(t>0)}function rR(t){return typeof t!="object"||"length"in t?t:Array.from(t)}function aR(t){return e=>t(...e)}function iR(...t){const e=typeof t[t.length-1]=="function"&&aR(t.pop());t=t.map(rR);const n=t.map(eR),r=t.length-1,a=new Array(r+1).fill(0),i=[];if(r<0||n.some(nR))return i;for(;;){i.push(a.map((l,u)=>t[u][l]));let o=r;for(;++a[o]===n[o];){if(o===0)return e?i.map(e):i;a[o--]=0}}}function oR(t,e){var n=0,r=0;return Float64Array.from(t,e===void 0?a=>n+=+a||0:a=>n+=+e(a,r++,t)||0)}function Rx(t,e){let n=0,r,a=0,i=0;if(e===void 0)for(let o of t)o!=null&&(o=+o)>=o&&(r=o-a,a+=r/++n,i+=r*(o-a));else{let o=-1;for(let l of t)(l=e(l,++o,t))!=null&&(l=+l)>=l&&(r=l-a,a+=r/++n,i+=r*(l-a))}if(n>1)return i/(n-1)}function Ix(t,e){const n=Rx(t,e);return n&&Math.sqrt(n)}function To(t,e){let n,r;if(e===void 0)for(const a of t)a!=null&&(n===void 0?a>=a&&(n=r=a):(n>a&&(n=a),r<a&&(r=a)));else{let a=-1;for(let i of t)(i=e(i,++a,t))!=null&&(n===void 0?i>=i&&(n=r=i):(n>i&&(n=i),r<i&&(r=i)))}return[n,r]}class Gt{constructor(){this._partials=new Float64Array(32),this._n=0}add(e){const n=this._partials;let r=0;for(let a=0;a<this._n&&a<32;a++){const i=n[a],o=e+i,l=Math.abs(e)<Math.abs(i)?e-(o-i):i-(o-e);l&&(n[r++]=l),e=o}return n[r]=e,this._n=r+1,this}valueOf(){const e=this._partials;let n=this._n,r,a,i,o=0;if(n>0){for(o=e[--n];n>0&&(r=o,a=e[--n],o=r+a,i=a-(o-r),!i););n>0&&(i<0&&e[n-1]<0||i>0&&e[n-1]>0)&&(a=i*2,r=o+a,a==r-o&&(o=r))}return o}}function lR(t,e){const n=new Gt;if(e===void 0)for(let r of t)(r=+r)&&n.add(r);else{let r=-1;for(let a of t)(a=+e(a,++r,t))&&n.add(a)}return+n}function sR(t,e){const n=new Gt;let r=-1;return Float64Array.from(t,e===void 0?a=>n.add(+a||0):a=>n.add(+e(a,++r,t)||0))}class wo extends Map{constructor(e,n=zx){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:n}}),e!=null)for(const[r,a]of e)this.set(r,a)}get(e){return super.get(yh(this,e))}has(e){return super.has(yh(this,e))}set(e,n){return super.set(kx(this,e),n)}delete(e){return super.delete(Nx(this,e))}}class jr extends Set{constructor(e,n=zx){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:n}}),e!=null)for(const r of e)this.add(r)}has(e){return super.has(yh(this,e))}add(e){return super.add(kx(this,e))}delete(e){return super.delete(Nx(this,e))}}function yh({_intern:t,_key:e},n){const r=e(n);return t.has(r)?t.get(r):n}function kx({_intern:t,_key:e},n){const r=e(n);return t.has(r)?t.get(r):(t.set(r,n),n)}function Nx({_intern:t,_key:e},n){const r=e(n);return t.has(r)&&(n=t.get(r),t.delete(r)),n}function zx(t){return t!==null&&typeof t=="object"?t.valueOf():t}function Za(t){return t}function Ox(t,...e){return Ja(t,Za,Za,e)}function Gx(t,...e){return Ja(t,Array.from,Za,e)}function jx(t,e){for(let n=1,r=e.length;n<r;++n)t=t.flatMap(a=>a.pop().map(([i,o])=>[...a,i,o]));return t}function uR(t,...e){return jx(Gx(t,...e),e)}function cR(t,e,...n){return jx(Yx(t,e,...n),n)}function Vx(t,e,...n){return Ja(t,Za,e,n)}function Yx(t,e,...n){return Ja(t,Array.from,e,n)}function fR(t,...e){return Ja(t,Za,Hx,e)}function dR(t,...e){return Ja(t,Array.from,Hx,e)}function Hx(t){if(t.length!==1)throw new Error("duplicate key");return t[0]}function Ja(t,e,n,r){return function a(i,o){if(o>=r.length)return n(i);const l=new wo,u=r[o++];let s=-1;for(const c of i){const d=u(c,++s,i),f=l.get(d);f?f.push(c):l.set(d,[c])}for(const[c,d]of l)l.set(c,a(d,o));return e(l)}(t,0)}function Wx(t,e){return Array.from(e,n=>t[n])}function bh(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){const r=Uint32Array.from(t,(a,i)=>i);return e.length>1?(e=e.map(a=>t.map(a)),r.sort((a,i)=>{for(const o of e){const l=Ka(o[a],o[i]);if(l)return l}})):(n=t.map(n),r.sort((a,i)=>Ka(n[a],n[i]))),Wx(t,r)}return t.sort(xh(n))}function xh(t=Bt){if(t===Bt)return Ka;if(typeof t!="function")throw new TypeError("compare is not a function");return(e,n)=>{const r=t(e,n);return r||r===0?r:(t(n,n)===0)-(t(e,e)===0)}}function Ka(t,e){return(t==null||!(t>=t))-(e==null||!(e>=e))||(t<e?-1:t>e?1:0)}function hR(t,e,n){return(e.length!==2?bh(Vx(t,e,n),([r,a],[i,o])=>Bt(a,o)||Bt(r,i)):bh(Ox(t,n),([r,a],[i,o])=>e(a,o)||Bt(r,i))).map(([r])=>r)}var pR=Array.prototype,mR=pR.slice;function vh(t){return()=>t}const gR=Math.sqrt(50),yR=Math.sqrt(10),bR=Math.sqrt(2);function eu(t,e,n){const r=(e-t)/Math.max(0,n),a=Math.floor(Math.log10(r)),i=r/Math.pow(10,a),o=i>=gR?10:i>=yR?5:i>=bR?2:1;let l,u,s;return a<0?(s=Math.pow(10,-a)/o,l=Math.round(t*s),u=Math.round(e*s),l/s<t&&++l,u/s>e&&--u,s=-s):(s=Math.pow(10,a)*o,l=Math.round(t/s),u=Math.round(e/s),l*s<t&&++l,u*s>e&&--u),u<l&&.5<=n&&n<2?eu(t,e,n*2):[l,u,s]}function Vr(t,e,n){if(e=+e,t=+t,n=+n,!(n>0))return[];if(t===e)return[t];const r=e<t,[a,i,o]=r?eu(e,t,n):eu(t,e,n);if(!(i>=a))return[];const l=i-a+1,u=new Array(l);if(r)if(o<0)for(let s=0;s<l;++s)u[s]=(i-s)/-o;else for(let s=0;s<l;++s)u[s]=(i-s)*o;else if(o<0)for(let s=0;s<l;++s)u[s]=(a+s)/-o;else for(let s=0;s<l;++s)u[s]=(a+s)*o;return u}function Yr(t,e,n){return e=+e,t=+t,n=+n,eu(t,e,n)[2]}function nu(t,e,n){e=+e,t=+t,n=+n;const r=e<t,a=r?Yr(e,t,n):Yr(t,e,n);return(r?-1:1)*(a<0?1/-a:a)}function $h(t,e,n){let r;for(;;){const a=Yr(t,e,n);if(a===r||a===0||!isFinite(a))return[t,e];a>0?(t=Math.floor(t/a)*a,e=Math.ceil(e/a)*a):a<0&&(t=Math.ceil(t*a)/a,e=Math.floor(e*a)/a),r=a}}function Sh(t){return Math.max(1,Math.ceil(Math.log(tu(t))/Math.LN2)+1)}function Xx(){var t=Za,e=To,n=Sh;function r(a){Array.isArray(a)||(a=Array.from(a));var i,o=a.length,l,u,s=new Array(o);for(i=0;i<o;++i)s[i]=t(a[i],i,a);var c=e(s),d=c[0],f=c[1],h=n(s,d,f);if(!Array.isArray(h)){const x=f,v=+h;if(e===To&&([d,f]=$h(d,f,v)),h=Vr(d,f,v),h[0]<=d&&(u=Yr(d,f,v)),h[h.length-1]>=f)if(x>=f&&e===To){const _=Yr(d,f,v);isFinite(_)&&(_>0?f=(Math.floor(f/_)+1)*_:_<0&&(f=(Math.ceil(f*-_)+1)/-_))}else h.pop()}for(var p=h.length,g=0,m=p;h[g]<=d;)++g;for(;h[m-1]>f;)--m;(g||m<p)&&(h=h.slice(g,m),p=m-g);var b=new Array(p+1),y;for(i=0;i<=p;++i)y=b[i]=[],y.x0=i>0?h[i-1]:d,y.x1=i<p?h[i]:f;if(isFinite(u)){if(u>0)for(i=0;i<o;++i)(l=s[i])!=null&&d<=l&&l<=f&&b[Math.min(p,Math.floor((l-d)/u))].push(a[i]);else if(u<0){for(i=0;i<o;++i)if((l=s[i])!=null&&d<=l&&l<=f){const x=Math.floor((d-l)*u);b[Math.min(p,x+(h[x]<=l))].push(a[i])}}}else for(i=0;i<o;++i)(l=s[i])!=null&&d<=l&&l<=f&&b[Gr(h,l,0,p)].push(a[i]);return b}return r.value=function(a){return arguments.length?(t=typeof a=="function"?a:vh(a),r):t},r.domain=function(a){return arguments.length?(e=typeof a=="function"?a:vh([a[0],a[1]]),r):e},r.thresholds=function(a){return arguments.length?(n=typeof a=="function"?a:vh(Array.isArray(a)?mR.call(a):a),r):n},r}function Bo(t,e){let n;if(e===void 0)for(const r of t)r!=null&&(n<r||n===void 0&&r>=r)&&(n=r);else{let r=-1;for(let a of t)(a=e(a,++r,t))!=null&&(n<a||n===void 0&&a>=a)&&(n=a)}return n}function Dh(t,e){let n,r=-1,a=-1;if(e===void 0)for(const i of t)++a,i!=null&&(n<i||n===void 0&&i>=i)&&(n=i,r=a);else for(let i of t)(i=e(i,++a,t))!=null&&(n<i||n===void 0&&i>=i)&&(n=i,r=a);return r}function ru(t,e){let n;if(e===void 0)for(const r of t)r!=null&&(n>r||n===void 0&&r>=r)&&(n=r);else{let r=-1;for(let a of t)(a=e(a,++r,t))!=null&&(n>a||n===void 0&&a>=a)&&(n=a)}return n}function _h(t,e){let n,r=-1,a=-1;if(e===void 0)for(const i of t)++a,i!=null&&(n>i||n===void 0&&i>=i)&&(n=i,r=a);else for(let i of t)(i=e(i,++a,t))!=null&&(n>i||n===void 0&&i>=i)&&(n=i,r=a);return r}function au(t,e,n=0,r=1/0,a){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(a=a===void 0?Ka:xh(a);r>n;){if(r-n>600){const u=r-n+1,s=e-n+1,c=Math.log(u),d=.5*Math.exp(2*c/3),f=.5*Math.sqrt(c*d*(u-d)/u)*(s-u/2<0?-1:1),h=Math.max(n,Math.floor(e-s*d/u+f)),p=Math.min(r,Math.floor(e+(u-s)*d/u+f));au(t,e,h,p,a)}const i=t[e];let o=n,l=r;for(Eo(t,n,e),a(t[r],i)>0&&Eo(t,n,r);o<l;){for(Eo(t,o,l),++o,--l;a(t[o],i)<0;)++o;for(;a(t[l],i)>0;)--l}a(t[n],i)===0?Eo(t,n,l):(++l,Eo(t,l,r)),l<=e&&(n=l+1),e<=l&&(r=l-1)}return t}function Eo(t,e,n){const r=t[e];t[e]=t[n],t[n]=r}function Ux(t,e=Bt){let n,r=!1;if(e.length===1){let a;for(const i of t){const o=e(i);(r?Bt(o,a)>0:Bt(o,o)===0)&&(n=i,a=o,r=!0)}}else for(const a of t)(r?e(a,n)>0:e(a,a)===0)&&(n=a,r=!0);return n}function Lo(t,e,n){if(t=Float64Array.from(UM(t,n)),!(!(r=t.length)||isNaN(e=+e))){if(e<=0||r<2)return ru(t);if(e>=1)return Bo(t);var r,a=(r-1)*e,i=Math.floor(a),o=Bo(au(t,i).subarray(0,i+1)),l=ru(t.subarray(i+1));return o+(l-o)*(a-i)}}function qx(t,e,n=Qs){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,a=(r-1)*e,i=Math.floor(a),o=+n(t[i],i,t),l=+n(t[i+1],i+1,t);return o+(l-o)*(a-i)}}function Zx(t,e,n=Qs){if(!isNaN(e=+e)){if(r=Float64Array.from(t,(l,u)=>Qs(n(t[u],u,t))),e<=0)return _h(r);if(e>=1)return Dh(r);var r,a=Uint32Array.from(t,(l,u)=>u),i=r.length-1,o=Math.floor(i*e);return au(a,o,0,i,(l,u)=>Ka(r[l],r[u])),o=Ux(a.subarray(0,o+1),l=>r[l]),o>=0?o:-1}}function xR(t,e,n){const r=tu(t),a=Lo(t,.75)-Lo(t,.25);return r&&a?Math.ceil((n-e)/(2*a*Math.pow(r,-1/3))):1}function vR(t,e,n){const r=tu(t),a=Ix(t);return r&&a?Math.ceil((n-e)*Math.cbrt(r)/(3.49*a)):1}function $R(t,e){let n=0,r=0;if(e===void 0)for(let a of t)a!=null&&(a=+a)>=a&&(++n,r+=a);else{let a=-1;for(let i of t)(i=e(i,++a,t))!=null&&(i=+i)>=i&&(++n,r+=i)}if(n)return r/n}function SR(t,e){return Lo(t,.5,e)}function DR(t,e){return Zx(t,.5,e)}function*_R(t){for(const e of t)yield*e}function Ah(t){return Array.from(_R(t))}function AR(t,e){const n=new wo;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 o of t)(o=e(o,++i,t))!=null&&o>=o&&n.set(o,(n.get(o)||0)+1)}let r,a=0;for(const[i,o]of n)o>a&&(a=o,r=i);return r}function CR(t,e=PR){const n=[];let r,a=!1;for(const i of t)a&&n.push(e(r,i)),r=i,a=!0;return n}function PR(t,e){return[t,e]}function dr(t,e,n){t=+t,e=+e,n=(a=arguments.length)<2?(e=t,t=0,1):a<3?1:+n;for(var r=-1,a=Math.max(0,Math.ceil((e-t)/n))|0,i=new Array(a);++r<a;)i[r]=t+r*n;return i}function FR(t,e=Bt){if(typeof t[Symbol.iterator]!="function")throw new TypeError("values is not iterable");let n=Array.from(t);const r=new Float64Array(n.length);e.length!==2&&(n=n.map(e),e=Bt);const a=(l,u)=>e(n[l],n[u]);let i,o;return t=Uint32Array.from(n,(l,u)=>u),t.sort(e===Bt?(l,u)=>Ka(n[l],n[u]):xh(a)),t.forEach((l,u)=>{const s=a(l,i===void 0?l:i);s>=0?((i===void 0||s>0)&&(i=l,o=u),r[l]=o):r[l]=NaN}),r}function TR(t,e=Bt){let n,r=!1;if(e.length===1){let a;for(const i of t){const o=e(i);(r?Bt(o,a)<0:Bt(o,o)===0)&&(n=i,a=o,r=!0)}}else for(const a of t)(r?e(a,n)<0:e(a,a)===0)&&(n=a,r=!0);return n}function Jx(t,e=Bt){if(e.length===1)return _h(t,e);let n,r=-1,a=-1;for(const i of t)++a,(r<0?e(i,i)===0:e(i,n)<0)&&(n=i,r=a);return r}function wR(t,e=Bt){if(e.length===1)return Dh(t,e);let n,r=-1,a=-1;for(const i of t)++a,(r<0?e(i,i)===0:e(i,n)>0)&&(n=i,r=a);return r}function BR(t,e){const n=Jx(t,e);return n<0?void 0:n}const ER=Kx(Math.random);function Kx(t){return function(e,n=0,r=e.length){let a=r-(n=+n);for(;a;){const i=t()*a--|0,o=e[a+n];e[a+n]=e[i+n],e[i+n]=o}return e}}function Ch(t,e){let n=0;if(e===void 0)for(let r of t)(r=+r)&&(n+=r);else{let r=-1;for(let a of t)(a=+e(a,++r,t))&&(n+=a)}return n}function Qx(t){if(!(i=t.length))return[];for(var e=-1,n=ru(t,LR),r=new Array(n);++e<n;)for(var a=-1,i,o=r[e]=new Array(i);++a<i;)o[a]=t[a][e];return r}function LR(t){return t.length}function MR(){return Qx(arguments)}function RR(t,e){if(typeof e!="function")throw new TypeError("test is not a function");let n=-1;for(const r of t)if(!e(r,++n,t))return!1;return!0}function IR(t,e){if(typeof e!="function")throw new TypeError("test is not a function");let n=-1;for(const r of t)if(e(r,++n,t))return!0;return!1}function kR(t,e){if(typeof e!="function")throw new TypeError("test is not a function");const n=[];let r=-1;for(const a of t)e(a,++r,t)&&n.push(a);return n}function NR(t,e){if(typeof t[Symbol.iterator]!="function")throw new TypeError("values is not iterable");if(typeof e!="function")throw new TypeError("mapper is not a function");return Array.from(t,(n,r)=>e(n,r,t))}function zR(t,e,n){if(typeof e!="function")throw new TypeError("reducer is not a function");const r=t[Symbol.iterator]();let a,i,o=-1;if(arguments.length<3){if({done:a,value:n}=r.next(),a)return;++o}for(;{done:a,value:i}=r.next(),!a;)n=e(n,i,++o,t);return n}function OR(t){if(typeof t[Symbol.iterator]!="function")throw new TypeError("values is not iterable");return Array.from(t).reverse()}function GR(t,...e){t=new jr(t);for(const n of e)for(const r of n)t.delete(r);return t}function jR(t,e){const n=e[Symbol.iterator](),r=new jr;for(const a of t){if(r.has(a))return!1;let i,o;for(;({value:i,done:o}=n.next())&&!o;){if(Object.is(a,i))return!1;r.add(i)}}return!0}function VR(t,...e){t=new jr(t),e=e.map(YR);t:for(const n of t)for(const r of e)if(!r.has(n)){t.delete(n);continue t}return t}function YR(t){return t instanceof jr?t:new jr(t)}function tv(t,e){const n=t[Symbol.iterator](),r=new Set;for(const a of e){const i=ev(a);if(r.has(i))continue;let o,l;for(;{value:o,done:l}=n.next();){if(l)return!1;const u=ev(o);if(r.add(u),Object.is(i,u))break}}return!0}function ev(t){return t!==null&&typeof t=="object"?t.valueOf():t}function HR(t,e){return tv(e,t)}function WR(...t){const e=new jr;for(const n of t)for(const r of n)e.add(r);return e}function XR(t){return t}var iu=1,ou=2,Ph=3,Mo=4,nv=1e-6;function UR(t){return"translate("+t+",0)"}function qR(t){return"translate(0,"+t+")"}function ZR(t){return e=>+t(e)}function JR(t,e){return e=Math.max(0,t.bandwidth()-e*2)/2,t.round()&&(e=Math.round(e)),n=>+t(n)+e}function KR(){return!this.__axis}function lu(t,e){var n=[],r=null,a=null,i=6,o=6,l=3,u=typeof window<"u"&&window.devicePixelRatio>1?0:.5,s=t===iu||t===Mo?-1:1,c=t===Mo||t===ou?"x":"y",d=t===iu||t===Ph?UR:qR;function f(h){var p=r??(e.ticks?e.ticks.apply(e,n):e.domain()),g=a??(e.tickFormat?e.tickFormat.apply(e,n):XR),m=Math.max(i,0)+l,b=e.range(),y=+b[0]+u,x=+b[b.length-1]+u,v=(e.bandwidth?JR:ZR)(e.copy(),u),_=h.selection?h.selection():h,D=_.selectAll(".domain").data([null]),C=_.selectAll(".tick").data(p,e).order(),A=C.exit(),$=C.enter().append("g").attr("class","tick"),T=C.select("line"),S=C.select("text");D=D.merge(D.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),C=C.merge($),T=T.merge($.append("line").attr("stroke","currentColor").attr(c+"2",s*i)),S=S.merge($.append("text").attr("fill","currentColor").attr(c,s*m).attr("dy",t===iu?"0em":t===Ph?"0.71em":"0.32em")),h!==_&&(D=D.transition(h),C=C.transition(h),T=T.transition(h),S=S.transition(h),A=A.transition(h).attr("opacity",nv).attr("transform",function(k){return isFinite(k=v(k))?d(k+u):this.getAttribute("transform")}),$.attr("opacity",nv).attr("transform",function(k){var N=this.parentNode.__axis;return d((N&&isFinite(N=N(k))?N:v(k))+u)})),A.remove(),D.attr("d",t===Mo||t===ou?o?"M"+s*o+","+y+"H"+u+"V"+x+"H"+s*o:"M"+u+","+y+"V"+x:o?"M"+y+","+s*o+"V"+u+"H"+x+"V"+s*o:"M"+y+","+u+"H"+x),C.attr("opacity",1).attr("transform",function(k){return d(v(k)+u)}),T.attr(c+"2",s*i),S.attr(c,s*m).text(g),_.filter(KR).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",t===ou?"start":t===Mo?"end":"middle"),_.each(function(){this.__axis=v})}return f.scale=function(h){return arguments.length?(e=h,f):e},f.ticks=function(){return n=Array.from(arguments),f},f.tickArguments=function(h){return arguments.length?(n=h==null?[]:Array.from(h),f):n.slice()},f.tickValues=function(h){return arguments.length?(r=h==null?null:Array.from(h),f):r&&r.slice()},f.tickFormat=function(h){return arguments.length?(a=h,f):a},f.tickSize=function(h){return arguments.length?(i=o=+h,f):i},f.tickSizeInner=function(h){return arguments.length?(i=+h,f):i},f.tickSizeOuter=function(h){return arguments.length?(o=+h,f):o},f.tickPadding=function(h){return arguments.length?(l=+h,f):l},f.offset=function(h){return arguments.length?(u=+h,f):u},f}function su(t){return lu(iu,t)}function QR(t){return lu(ou,t)}function rv(t){return lu(Ph,t)}function Fh(t){return lu(Mo,t)}var t9={value:()=>{}};function Hr(){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 uu(n)}function uu(t){this._=t}function e9(t,e){return t.trim().split(/^|\s+/).map(function(n){var r="",a=n.indexOf(".");if(a>=0&&(r=n.slice(a+1),n=n.slice(0,a)),n&&!e.hasOwnProperty(n))throw new Error("unknown type: "+n);return{type:n,name:r}})}uu.prototype=Hr.prototype={constructor:uu,on:function(t,e){var n=this._,r=e9(t+"",n),a,i=-1,o=r.length;if(arguments.length<2){for(;++i<o;)if((a=(t=r[i]).type)&&(a=n9(n[a],t.name)))return a;return}if(e!=null&&typeof e!="function")throw new Error("invalid callback: "+e);for(;++i<o;)if(a=(t=r[i]).type)n[a]=av(n[a],t.name,e);else if(e==null)for(a in n)n[a]=av(n[a],t.name,null);return this},copy:function(){var t={},e=this._;for(var n in e)t[n]=e[n].slice();return new uu(t)},call:function(t,e){if((a=arguments.length-2)>0)for(var n=new Array(a),r=0,a,i;r<a;++r)n[r]=arguments[r+2];if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(i=this._[t],r=0,a=i.length;r<a;++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],a=0,i=r.length;a<i;++a)r[a].value.apply(e,n)}};function n9(t,e){for(var n=0,r=t.length,a;n<r;++n)if((a=t[n]).name===e)return a.value}function av(t,e,n){for(var r=0,a=t.length;r<a;++r)if(t[r].name===e){t[r]=t9,t=t.slice(0,r).concat(t.slice(r+1));break}return n!=null&&t.push({name:e,value:n}),t}var Th="http://www.w3.org/1999/xhtml";const wh={svg:"http://www.w3.org/2000/svg",xhtml:Th,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function Ro(t){var e=t+="",n=e.indexOf(":");return n>=0&&(e=t.slice(0,n))!=="xmlns"&&(t=t.slice(n+1)),wh.hasOwnProperty(e)?{space:wh[e],local:t}:t}function r9(t){return function(){var e=this.ownerDocument,n=this.namespaceURI;return n===Th&&e.documentElement.namespaceURI===Th?e.createElement(t):e.createElementNS(n,t)}}function a9(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function cu(t){var e=Ro(t);return(e.local?a9:r9)(e)}function i9(){}function fu(t){return t==null?i9:function(){return this.querySelector(t)}}function o9(t){typeof t!="function"&&(t=fu(t));for(var e=this._groups,n=e.length,r=new Array(n),a=0;a<n;++a)for(var i=e[a],o=i.length,l=r[a]=new Array(o),u,s,c=0;c<o;++c)(u=i[c])&&(s=t.call(u,u.__data__,c,i))&&("__data__"in u&&(s.__data__=u.__data__),l[c]=s);return new le(r,this._parents)}function iv(t){return t==null?[]:Array.isArray(t)?t:Array.from(t)}function l9(){return[]}function Bh(t){return t==null?l9:function(){return this.querySelectorAll(t)}}function s9(t){return function(){return iv(t.apply(this,arguments))}}function u9(t){typeof t=="function"?t=s9(t):t=Bh(t);for(var e=this._groups,n=e.length,r=[],a=[],i=0;i<n;++i)for(var o=e[i],l=o.length,u,s=0;s<l;++s)(u=o[s])&&(r.push(t.call(u,u.__data__,s,o)),a.push(u));return new le(r,a)}function Eh(t){return function(){return this.matches(t)}}function ov(t){return function(e){return e.matches(t)}}var c9=Array.prototype.find;function f9(t){return function(){return c9.call(this.children,t)}}function d9(){return this.firstElementChild}function h9(t){return this.select(t==null?d9:f9(typeof t=="function"?t:ov(t)))}var p9=Array.prototype.filter;function m9(){return Array.from(this.children)}function g9(t){return function(){return p9.call(this.children,t)}}function y9(t){return this.selectAll(t==null?m9:g9(typeof t=="function"?t:ov(t)))}function b9(t){typeof t!="function"&&(t=Eh(t));for(var e=this._groups,n=e.length,r=new Array(n),a=0;a<n;++a)for(var i=e[a],o=i.length,l=r[a]=[],u,s=0;s<o;++s)(u=i[s])&&t.call(u,u.__data__,s,i)&&l.push(u);return new le(r,this._parents)}function lv(t){return new Array(t.length)}function x9(){return new le(this._enter||this._groups.map(lv),this._parents)}function du(t,e){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=e}du.prototype={constructor:du,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 v9(t){return function(){return t}}function $9(t,e,n,r,a,i){for(var o=0,l,u=e.length,s=i.length;o<s;++o)(l=e[o])?(l.__data__=i[o],r[o]=l):n[o]=new du(t,i[o]);for(;o<u;++o)(l=e[o])&&(a[o]=l)}function S9(t,e,n,r,a,i,o){var l,u,s=new Map,c=e.length,d=i.length,f=new Array(c),h;for(l=0;l<c;++l)(u=e[l])&&(f[l]=h=o.call(u,u.__data__,l,e)+"",s.has(h)?a[l]=u:s.set(h,u));for(l=0;l<d;++l)h=o.call(t,i[l],l,i)+"",(u=s.get(h))?(r[l]=u,u.__data__=i[l],s.delete(h)):n[l]=new du(t,i[l]);for(l=0;l<c;++l)(u=e[l])&&s.get(f[l])===u&&(a[l]=u)}function D9(t){return t.__data__}function _9(t,e){if(!arguments.length)return Array.from(this,D9);var n=e?S9:$9,r=this._parents,a=this._groups;typeof t!="function"&&(t=v9(t));for(var i=a.length,o=new Array(i),l=new Array(i),u=new Array(i),s=0;s<i;++s){var c=r[s],d=a[s],f=d.length,h=A9(t.call(c,c&&c.__data__,s,r)),p=h.length,g=l[s]=new Array(p),m=o[s]=new Array(p),b=u[s]=new Array(f);n(c,d,g,m,b,h,e);for(var y=0,x=0,v,_;y<p;++y)if(v=g[y]){for(y>=x&&(x=y+1);!(_=m[x])&&++x<p;);v._next=_||null}}return o=new le(o,r),o._enter=l,o._exit=u,o}function A9(t){return typeof t=="object"&&"length"in t?t:Array.from(t)}function C9(){return new le(this._exit||this._groups.map(lv),this._parents)}function P9(t,e,n){var r=this.enter(),a=this,i=this.exit();return typeof t=="function"?(r=t(r),r&&(r=r.selection())):r=r.append(t+""),e!=null&&(a=e(a),a&&(a=a.selection())),n==null?i.remove():n(i),r&&a?r.merge(a).order():a}function F9(t){for(var e=t.selection?t.selection():t,n=this._groups,r=e._groups,a=n.length,i=r.length,o=Math.min(a,i),l=new Array(a),u=0;u<o;++u)for(var s=n[u],c=r[u],d=s.length,f=l[u]=new Array(d),h,p=0;p<d;++p)(h=s[p]||c[p])&&(f[p]=h);for(;u<a;++u)l[u]=n[u];return new le(l,this._parents)}function T9(){for(var t=this._groups,e=-1,n=t.length;++e<n;)for(var r=t[e],a=r.length-1,i=r[a],o;--a>=0;)(o=r[a])&&(i&&o.compareDocumentPosition(i)^4&&i.parentNode.insertBefore(o,i),i=o);return this}function w9(t){t||(t=B9);function e(d,f){return d&&f?t(d.__data__,f.__data__):!d-!f}for(var n=this._groups,r=n.length,a=new Array(r),i=0;i<r;++i){for(var o=n[i],l=o.length,u=a[i]=new Array(l),s,c=0;c<l;++c)(s=o[c])&&(u[c]=s);u.sort(e)}return new le(a,this._parents).order()}function B9(t,e){return t<e?-1:t>e?1:t>=e?0:NaN}function E9(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this}function L9(){return Array.from(this)}function M9(){for(var t=this._groups,e=0,n=t.length;e<n;++e)for(var r=t[e],a=0,i=r.length;a<i;++a){var o=r[a];if(o)return o}return null}function R9(){let t=0;for(const e of this)++t;return t}function I9(){return!this.node()}function k9(t){for(var e=this._groups,n=0,r=e.length;n<r;++n)for(var a=e[n],i=0,o=a.length,l;i<o;++i)(l=a[i])&&t.call(l,l.__data__,i,a);return this}function N9(t){return function(){this.removeAttribute(t)}}function z9(t){return function(){this.removeAttributeNS(t.space,t.local)}}function O9(t,e){return function(){this.setAttribute(t,e)}}function G9(t,e){return function(){this.setAttributeNS(t.space,t.local,e)}}function j9(t,e){return function(){var n=e.apply(this,arguments);n==null?this.removeAttribute(t):this.setAttribute(t,n)}}function V9(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 Y9(t,e){var n=Ro(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?z9:N9:typeof e=="function"?n.local?V9:j9:n.local?G9:O9)(n,e))}function Lh(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}function H9(t){return function(){this.style.removeProperty(t)}}function W9(t,e,n){return function(){this.style.setProperty(t,e,n)}}function X9(t,e,n){return function(){var r=e.apply(this,arguments);r==null?this.style.removeProperty(t):this.style.setProperty(t,r,n)}}function U9(t,e,n){return arguments.length>1?this.each((e==null?H9:typeof e=="function"?X9:W9)(t,e,n??"")):Wr(this.node(),t)}function Wr(t,e){return t.style.getPropertyValue(e)||Lh(t).getComputedStyle(t,null).getPropertyValue(e)}function q9(t){return function(){delete this[t]}}function Z9(t,e){return function(){this[t]=e}}function J9(t,e){return function(){var n=e.apply(this,arguments);n==null?delete this[t]:this[t]=n}}function K9(t,e){return arguments.length>1?this.each((e==null?q9:typeof e=="function"?J9:Z9)(t,e)):this.node()[t]}function sv(t){return t.trim().split(/^|\s+/)}function Mh(t){return t.classList||new uv(t)}function uv(t){this._node=t,this._names=sv(t.getAttribute("class")||"")}uv.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 cv(t,e){for(var n=Mh(t),r=-1,a=e.length;++r<a;)n.add(e[r])}function fv(t,e){for(var n=Mh(t),r=-1,a=e.length;++r<a;)n.remove(e[r])}function Q9(t){return function(){cv(this,t)}}function tI(t){return function(){fv(this,t)}}function eI(t,e){return function(){(e.apply(this,arguments)?cv:fv)(this,t)}}function nI(t,e){var n=sv(t+"");if(arguments.length<2){for(var r=Mh(this.node()),a=-1,i=n.length;++a<i;)if(!r.contains(n[a]))return!1;return!0}return this.each((typeof e=="function"?eI:e?Q9:tI)(n,e))}function rI(){this.textContent=""}function aI(t){return function(){this.textContent=t}}function iI(t){return function(){var e=t.apply(this,arguments);this.textContent=e??""}}function oI(t){return arguments.length?this.each(t==null?rI:(typeof t=="function"?iI:aI)(t)):this.node().textContent}function lI(){this.innerHTML=""}function sI(t){return function(){this.innerHTML=t}}function uI(t){return function(){var e=t.apply(this,arguments);this.innerHTML=e??""}}function cI(t){return arguments.length?this.each(t==null?lI:(typeof t=="function"?uI:sI)(t)):this.node().innerHTML}function fI(){this.nextSibling&&this.parentNode.appendChild(this)}function dI(){return this.each(fI)}function hI(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function pI(){return this.each(hI)}function mI(t){var e=typeof t=="function"?t:cu(t);return this.select(function(){return this.appendChild(e.apply(this,arguments))})}function gI(){return null}function yI(t,e){var n=typeof t=="function"?t:cu(t),r=e==null?gI:typeof e=="function"?e:fu(e);return this.select(function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)})}function bI(){var t=this.parentNode;t&&t.removeChild(this)}function xI(){return this.each(bI)}function vI(){var t=this.cloneNode(!1),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function $I(){var t=this.cloneNode(!0),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function SI(t){return this.select(t?$I:vI)}function DI(t){return arguments.length?this.property("__data__",t):this.node().__data__}function _I(t){return function(e){t.call(this,e,this.__data__)}}function AI(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 CI(t){return function(){var e=this.__on;if(e){for(var n=0,r=-1,a=e.length,i;n<a;++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 PI(t,e,n){return function(){var r=this.__on,a,i=_I(e);if(r){for(var o=0,l=r.length;o<l;++o)if((a=r[o]).type===t.type&&a.name===t.name){this.removeEventListener(a.type,a.listener,a.options),this.addEventListener(a.type,a.listener=i,a.options=n),a.value=e;return}}this.addEventListener(t.type,i,n),a={type:t.type,name:t.name,value:e,listener:i,options:n},r?r.push(a):this.__on=[a]}}function FI(t,e,n){var r=AI(t+""),a,i=r.length,o;if(arguments.length<2){var l=this.node().__on;if(l){for(var u=0,s=l.length,c;u<s;++u)for(a=0,c=l[u];a<i;++a)if((o=r[a]).type===c.type&&o.name===c.name)return c.value}return}for(l=e?PI:CI,a=0;a<i;++a)this.each(l(r[a],e,n));return this}function dv(t,e,n){var r=Lh(t),a=r.CustomEvent;typeof a=="function"?a=new a(e,n):(a=r.document.createEvent("Event"),n?(a.initEvent(e,n.bubbles,n.cancelable),a.detail=n.detail):a.initEvent(e,!1,!1)),t.dispatchEvent(a)}function TI(t,e){return function(){return dv(this,t,e)}}function wI(t,e){return function(){return dv(this,t,e.apply(this,arguments))}}function BI(t,e){return this.each((typeof e=="function"?wI:TI)(t,e))}function*EI(){for(var t=this._groups,e=0,n=t.length;e<n;++e)for(var r=t[e],a=0,i=r.length,o;a<i;++a)(o=r[a])&&(yield o)}var Rh=[null];function le(t,e){this._groups=t,this._parents=e}function Xr(){return new le([[document.documentElement]],Rh)}function LI(){return this}le.prototype=Xr.prototype={constructor:le,select:o9,selectAll:u9,selectChild:h9,selectChildren:y9,filter:b9,data:_9,enter:x9,exit:C9,join:P9,merge:F9,selection:LI,order:T9,sort:w9,call:E9,nodes:L9,node:M9,size:R9,empty:I9,each:k9,attr:Y9,style:U9,property:K9,classed:nI,text:oI,html:cI,raise:dI,lower:pI,append:mI,insert:yI,remove:xI,clone:SI,datum:DI,on:FI,dispatch:BI,[Symbol.iterator]:EI};function Y(t){return typeof t=="string"?new le([[document.querySelector(t)]],[document.documentElement]):new le([[t]],Rh)}function MI(t){return Y(cu(t).call(document.documentElement))}var RI=0;function hv(){return new Ih}function Ih(){this._="@"+(++RI).toString(36)}Ih.prototype=hv.prototype={constructor:Ih,get:function(t){for(var e=this._;!(e in t);)if(!(t=t.parentNode))return;return t[e]},set:function(t,e){return t[this._]=e},remove:function(t){return this._ in t&&delete t[this._]},toString:function(){return this._}};function pv(t){let e;for(;e=t.sourceEvent;)t=e;return t}function Me(t,e){if(t=pv(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 a=e.getBoundingClientRect();return[t.clientX-a.left-e.clientLeft,t.clientY-a.top-e.clientTop]}}return[t.pageX,t.pageY]}function II(t,e){return t.target&&(t=pv(t),e===void 0&&(e=t.currentTarget),t=t.touches||[t]),Array.from(t,n=>Me(n,e))}function mv(t){return typeof t=="string"?new le([document.querySelectorAll(t)],[document.documentElement]):new le([iv(t)],Rh)}const kI={passive:!1},Io={capture:!0,passive:!1};function kh(t){t.stopImmediatePropagation()}function Qa(t){t.preventDefault(),t.stopImmediatePropagation()}function hu(t){var e=t.document.documentElement,n=Y(t).on("dragstart.drag",Qa,Io);"onselectstart"in e?n.on("selectstart.drag",Qa,Io):(e.__noselect=e.style.MozUserSelect,e.style.MozUserSelect="none")}function pu(t,e){var n=t.document.documentElement,r=Y(t).on("dragstart.drag",null);e&&(r.on("click.drag",Qa,Io),setTimeout(function(){r.on("click.drag",null)},0)),"onselectstart"in n?r.on("selectstart.drag",null):(n.style.MozUserSelect=n.__noselect,delete n.__noselect)}const mu=t=>()=>t;function Nh(t,{sourceEvent:e,subject:n,target:r,identifier:a,active:i,x:o,y:l,dx:u,dy:s,dispatch:c}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:e,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},identifier:{value:a,enumerable:!0,configurable:!0},active:{value:i,enumerable:!0,configurable:!0},x:{value:o,enumerable:!0,configurable:!0},y:{value:l,enumerable:!0,configurable:!0},dx:{value:u,enumerable:!0,configurable:!0},dy:{value:s,enumerable:!0,configurable:!0},_:{value:c}})}Nh.prototype.on=function(){var t=this._.on.apply(this._,arguments);return t===this._?this:t};function NI(t){return!t.ctrlKey&&!t.button}function zI(){return this.parentNode}function OI(t,e){return e??{x:t.x,y:t.y}}function GI(){return navigator.maxTouchPoints||"ontouchstart"in this}function gu(){var t=NI,e=zI,n=OI,r=GI,a={},i=Hr("start","drag","end"),o=0,l,u,s,c,d=0;function f(v){v.on("mousedown.drag",h).filter(r).on("touchstart.drag",m).on("touchmove.drag",b,kI).on("touchend.drag touchcancel.drag",y).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function h(v,_){if(!(c||!t.call(this,v,_))){var D=x(this,e.call(this,v,_),v,_,"mouse");D&&(Y(v.view).on("mousemove.drag",p,Io).on("mouseup.drag",g,Io),hu(v.view),kh(v),s=!1,l=v.clientX,u=v.clientY,D("start",v))}}function p(v){if(Qa(v),!s){var _=v.clientX-l,D=v.clientY-u;s=_*_+D*D>d}a.mouse("drag",v)}function g(v){Y(v.view).on("mousemove.drag mouseup.drag",null),pu(v.view,s),Qa(v),a.mouse("end",v)}function m(v,_){if(t.call(this,v,_)){var D=v.changedTouches,C=e.call(this,v,_),A=D.length,$,T;for($=0;$<A;++$)(T=x(this,C,v,_,D[$].identifier,D[$]))&&(kh(v),T("start",v,D[$]))}}function b(v){var _=v.changedTouches,D=_.length,C,A;for(C=0;C<D;++C)(A=a[_[C].identifier])&&(Qa(v),A("drag",v,_[C]))}function y(v){var _=v.changedTouches,D=_.length,C,A;for(c&&clearTimeout(c),c=setTimeout(function(){c=null},500),C=0;C<D;++C)(A=a[_[C].identifier])&&(kh(v),A("end",v,_[C]))}function x(v,_,D,C,A,$){var T=i.copy(),S=Me($||D,_),k,N,E;if((E=n.call(v,new Nh("beforestart",{sourceEvent:D,target:f,identifier:A,active:o,x:S[0],y:S[1],dx:0,dy:0,dispatch:T}),C))!=null)return k=E.x-S[0]||0,N=E.y-S[1]||0,function P(B,R,F){var M=S,z;switch(B){case"start":a[A]=P,z=o++;break;case"end":delete a[A],--o;case"drag":S=Me(F||R,_),z=o;break}T.call(B,v,new Nh(B,{sourceEvent:R,subject:E,target:f,identifier:A,active:z,x:S[0]+k,y:S[1]+N,dx:S[0]-M[0],dy:S[1]-M[1],dispatch:T}),C)}}return f.filter=function(v){return arguments.length?(t=typeof v=="function"?v:mu(!!v),f):t},f.container=function(v){return arguments.length?(e=typeof v=="function"?v:mu(v),f):e},f.subject=function(v){return arguments.length?(n=typeof v=="function"?v:mu(v),f):n},f.touchable=function(v){return arguments.length?(r=typeof v=="function"?v:mu(!!v),f):r},f.on=function(){var v=i.on.apply(i,arguments);return v===i?f:v},f.clickDistance=function(v){return arguments.length?(d=(v=+v)*v,f):Math.sqrt(d)},f}function ti(t,e,n){t.prototype=e.prototype=n,n.constructor=t}function ko(t,e){var n=Object.create(t.prototype);for(var r in e)n[r]=e[r];return n}function hr(){}var Ur=.7,ei=1/Ur,ni="\\s*([+-]?\\d+)\\s*",No="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",yn="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",jI=/^#([0-9a-f]{3,8})$/,VI=new RegExp(`^rgb\\(${ni},${ni},${ni}\\)$`),YI=new RegExp(`^rgb\\(${yn},${yn},${yn}\\)$`),HI=new RegExp(`^rgba\\(${ni},${ni},${ni},${No}\\)$`),WI=new RegExp(`^rgba\\(${yn},${yn},${yn},${No}\\)$`),XI=new RegExp(`^hsl\\(${No},${yn},${yn}\\)$`),UI=new RegExp(`^hsla\\(${No},${yn},${yn},${No}\\)$`),gv={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(hr,pr,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:yv,formatHex:yv,formatHex8:qI,formatHsl:ZI,formatRgb:bv,toString:bv});function yv(){return this.rgb().formatHex()}function qI(){return this.rgb().formatHex8()}function ZI(){return Dv(this).formatHsl()}function bv(){return this.rgb().formatRgb()}function pr(t){var e,n;return t=(t+"").trim().toLowerCase(),(e=jI.exec(t))?(n=e[1].length,e=parseInt(e[1],16),n===6?xv(e):n===3?new Yt(e>>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):n===8?yu(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):n===4?yu(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=VI.exec(t))?new Yt(e[1],e[2],e[3],1):(e=YI.exec(t))?new Yt(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=HI.exec(t))?yu(e[1],e[2],e[3],e[4]):(e=WI.exec(t))?yu(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=XI.exec(t))?Sv(e[1],e[2]/100,e[3]/100,1):(e=UI.exec(t))?Sv(e[1],e[2]/100,e[3]/100,e[4]):gv.hasOwnProperty(t)?xv(gv[t]):t==="transparent"?new Yt(NaN,NaN,NaN,0):null}function xv(t){return new Yt(t>>16&255,t>>8&255,t&255,1)}function yu(t,e,n,r){return r<=0&&(t=e=n=NaN),new Yt(t,e,n,r)}function zh(t){return t instanceof hr||(t=pr(t)),t?(t=t.rgb(),new Yt(t.r,t.g,t.b,t.opacity)):new Yt}function ri(t,e,n,r){return arguments.length===1?zh(t):new Yt(t,e,n,r??1)}function Yt(t,e,n,r){this.r=+t,this.g=+e,this.b=+n,this.opacity=+r}ti(Yt,ri,ko(hr,{brighter(t){return t=t==null?ei:Math.pow(ei,t),new Yt(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?Ur:Math.pow(Ur,t),new Yt(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new Yt(qr(this.r),qr(this.g),qr(this.b),bu(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:vv,formatHex:vv,formatHex8:JI,formatRgb:$v,toString:$v}));function vv(){return`#${Zr(this.r)}${Zr(this.g)}${Zr(this.b)}`}function JI(){return`#${Zr(this.r)}${Zr(this.g)}${Zr(this.b)}${Zr((isNaN(this.opacity)?1:this.opacity)*255)}`}function $v(){const t=bu(this.opacity);return`${t===1?"rgb(":"rgba("}${qr(this.r)}, ${qr(this.g)}, ${qr(this.b)}${t===1?")":`, ${t})`}`}function bu(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function qr(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function Zr(t){return t=qr(t),(t<16?"0":"")+t.toString(16)}function Sv(t,e,n,r){return r<=0?t=e=n=NaN:n<=0||n>=1?t=e=NaN:e<=0&&(t=NaN),new en(t,e,n,r)}function Dv(t){if(t instanceof en)return new en(t.h,t.s,t.l,t.opacity);if(t instanceof hr||(t=pr(t)),!t)return new en;if(t instanceof en)return t;t=t.rgb();var e=t.r/255,n=t.g/255,r=t.b/255,a=Math.min(e,n,r),i=Math.max(e,n,r),o=NaN,l=i-a,u=(i+a)/2;return l?(e===i?o=(n-r)/l+(n<r)*6:n===i?o=(r-e)/l+2:o=(e-n)/l+4,l/=u<.5?i+a:2-i-a,o*=60):l=u>0&&u<1?0:o,new en(o,l,u,t.opacity)}function xu(t,e,n,r){return arguments.length===1?Dv(t):new en(t,e,n,r??1)}function en(t,e,n,r){this.h=+t,this.s=+e,this.l=+n,this.opacity=+r}ti(en,xu,ko(hr,{brighter(t){return t=t==null?ei:Math.pow(ei,t),new en(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?Ur:Math.pow(Ur,t),new en(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,a=2*n-r;return new Yt(Oh(t>=240?t-240:t+120,a,r),Oh(t,a,r),Oh(t<120?t+240:t-120,a,r),this.opacity)},clamp(){return new en(_v(this.h),vu(this.s),vu(this.l),bu(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(){const t=bu(this.opacity);return`${t===1?"hsl(":"hsla("}${_v(this.h)}, ${vu(this.s)*100}%, ${vu(this.l)*100}%${t===1?")":`, ${t})`}`}}));function _v(t){return t=(t||0)%360,t<0?t+360:t}function vu(t){return Math.max(0,Math.min(1,t||0))}function Oh(t,e,n){return(t<60?e+(n-e)*t/60:t<180?n:t<240?e+(n-e)*(240-t)/60:e)*255}const Av=Math.PI/180,Cv=180/Math.PI,$u=18,Pv=.96422,Fv=1,Tv=.82521,wv=4/29,ai=6/29,Bv=3*ai*ai,KI=ai*ai*ai;function Ev(t){if(t instanceof nn)return new nn(t.l,t.a,t.b,t.opacity);if(t instanceof bn)return Mv(t);t instanceof Yt||(t=zh(t));var e=Yh(t.r),n=Yh(t.g),r=Yh(t.b),a=Gh((.2225045*e+.7168786*n+.0606169*r)/Fv),i,o;return e===n&&n===r?i=o=a:(i=Gh((.4360747*e+.3850649*n+.1430804*r)/Pv),o=Gh((.0139322*e+.0971045*n+.7141733*r)/Tv)),new nn(116*a-16,500*(i-a),200*(a-o),t.opacity)}function QI(t,e){return new nn(t,0,0,e??1)}function zo(t,e,n,r){return arguments.length===1?Ev(t):new nn(t,e,n,r??1)}function nn(t,e,n,r){this.l=+t,this.a=+e,this.b=+n,this.opacity=+r}ti(nn,zo,ko(hr,{brighter(t){return new nn(this.l+$u*(t??1),this.a,this.b,this.opacity)},darker(t){return new nn(this.l-$u*(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=Pv*jh(e),t=Fv*jh(t),n=Tv*jh(n),new Yt(Vh(3.1338561*e-1.6168667*t-.4906146*n),Vh(-.9787684*e+1.9161415*t+.033454*n),Vh(.0719453*e-.2289914*t+1.4052427*n),this.opacity)}}));function Gh(t){return t>KI?Math.pow(t,1/3):t/Bv+wv}function jh(t){return t>ai?t*t*t:Bv*(t-wv)}function Vh(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function Yh(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function Lv(t){if(t instanceof bn)return new bn(t.h,t.c,t.l,t.opacity);if(t instanceof nn||(t=Ev(t)),t.a===0&&t.b===0)return new bn(NaN,0<t.l&&t.l<100?0:NaN,t.l,t.opacity);var e=Math.atan2(t.b,t.a)*Cv;return new bn(e<0?e+360:e,Math.sqrt(t.a*t.a+t.b*t.b),t.l,t.opacity)}function tk(t,e,n,r){return arguments.length===1?Lv(t):new bn(n,e,t,r??1)}function Su(t,e,n,r){return arguments.length===1?Lv(t):new bn(t,e,n,r??1)}function bn(t,e,n,r){this.h=+t,this.c=+e,this.l=+n,this.opacity=+r}function Mv(t){if(isNaN(t.h))return new nn(t.l,0,0,t.opacity);var e=t.h*Av;return new nn(t.l,Math.cos(e)*t.c,Math.sin(e)*t.c,t.opacity)}ti(bn,Su,ko(hr,{brighter(t){return new bn(this.h,this.c,this.l+$u*(t??1),this.opacity)},darker(t){return new bn(this.h,this.c,this.l-$u*(t??1),this.opacity)},rgb(){return Mv(this).rgb()}}));var Rv=-.14861,Hh=1.78277,Wh=-.29227,Du=-.90649,Oo=1.97294,Iv=Oo*Du,kv=Oo*Hh,Nv=Hh*Wh-Du*Rv;function ek(t){if(t instanceof Jr)return new Jr(t.h,t.s,t.l,t.opacity);t instanceof Yt||(t=zh(t));var e=t.r/255,n=t.g/255,r=t.b/255,a=(Nv*r+Iv*e-kv*n)/(Nv+Iv-kv),i=r-a,o=(Oo*(n-a)-Wh*i)/Du,l=Math.sqrt(o*o+i*i)/(Oo*a*(1-a)),u=l?Math.atan2(o,i)*Cv-120:NaN;return new Jr(u<0?u+360:u,l,a,t.opacity)}function rn(t,e,n,r){return arguments.length===1?ek(t):new Jr(t,e,n,r??1)}function Jr(t,e,n,r){this.h=+t,this.s=+e,this.l=+n,this.opacity=+r}ti(Jr,rn,ko(hr,{brighter(t){return t=t==null?ei:Math.pow(ei,t),new Jr(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?Ur:Math.pow(Ur,t),new Jr(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=isNaN(this.h)?0:(this.h+120)*Av,e=+this.l,n=isNaN(this.s)?0:this.s*e*(1-e),r=Math.cos(t),a=Math.sin(t);return new Yt(255*(e+n*(Rv*r+Hh*a)),255*(e+n*(Wh*r+Du*a)),255*(e+n*(Oo*r)),this.opacity)}}));function zv(t,e,n,r,a){var i=t*t,o=i*t;return((1-3*t+3*i-o)*e+(4-6*i+3*o)*n+(1+3*t+3*i-3*o)*r+o*a)/6}function Ov(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),a=t[r],i=t[r+1],o=r>0?t[r-1]:2*a-i,l=r<e-1?t[r+2]:2*i-a;return zv((n-r/e)*e,o,a,i,l)}}function Gv(t){var e=t.length;return function(n){var r=Math.floor(((n%=1)<0?++n:n)*e),a=t[(r+e-1)%e],i=t[r%e],o=t[(r+1)%e],l=t[(r+2)%e];return zv((n-r/e)*e,a,i,o,l)}}const _u=t=>()=>t;function jv(t,e){return function(n){return t+n*e}}function nk(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 Au(t,e){var n=e-t;return n?jv(t,n>180||n<-180?n-360*Math.round(n/360):n):_u(isNaN(t)?e:t)}function rk(t){return(t=+t)==1?Ht:function(e,n){return n-e?nk(e,n,t):_u(isNaN(e)?n:e)}}function Ht(t,e){var n=e-t;return n?jv(t,n):_u(isNaN(t)?e:t)}const Go=function t(e){var n=rk(e);function r(a,i){var o=n((a=ri(a)).r,(i=ri(i)).r),l=n(a.g,i.g),u=n(a.b,i.b),s=Ht(a.opacity,i.opacity);return function(c){return a.r=o(c),a.g=l(c),a.b=u(c),a.opacity=s(c),a+""}}return r.gamma=t,r}(1);function Vv(t){return function(e){var n=e.length,r=new Array(n),a=new Array(n),i=new Array(n),o,l;for(o=0;o<n;++o)l=ri(e[o]),r[o]=l.r||0,a[o]=l.g||0,i[o]=l.b||0;return r=t(r),a=t(a),i=t(i),l.opacity=1,function(u){return l.r=r(u),l.g=a(u),l.b=i(u),l+""}}}var Yv=Vv(Ov),ak=Vv(Gv);function Xh(t,e){e||(e=[]);var n=t?Math.min(e.length,t.length):0,r=e.slice(),a;return function(i){for(a=0;a<n;++a)r[a]=t[a]*(1-i)+e[a]*i;return r}}function Hv(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)}function ik(t,e){return(Hv(e)?Xh:Wv)(t,e)}function Wv(t,e){var n=e?e.length:0,r=t?Math.min(n,t.length):0,a=new Array(r),i=new Array(n),o;for(o=0;o<r;++o)a[o]=kn(t[o],e[o]);for(;o<n;++o)i[o]=e[o];return function(l){for(o=0;o<r;++o)i[o]=a[o](l);return i}}function Xv(t,e){var n=new Date;return t=+t,e=+e,function(r){return n.setTime(t*(1-r)+e*r),n}}function Re(t,e){return t=+t,e=+e,function(n){return t*(1-n)+e*n}}function Uv(t,e){var n={},r={},a;(t===null||typeof t!="object")&&(t={}),(e===null||typeof e!="object")&&(e={});for(a in e)a in t?n[a]=kn(t[a],e[a]):r[a]=e[a];return function(i){for(a in n)r[a]=n[a](i);return r}}var Uh=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,qh=new RegExp(Uh.source,"g");function ok(t){return function(){return t}}function lk(t){return function(e){return t(e)+""}}function Zh(t,e){var n=Uh.lastIndex=qh.lastIndex=0,r,a,i,o=-1,l=[],u=[];for(t=t+"",e=e+"";(r=Uh.exec(t))&&(a=qh.exec(e));)(i=a.index)>n&&(i=e.slice(n,i),l[o]?l[o]+=i:l[++o]=i),(r=r[0])===(a=a[0])?l[o]?l[o]+=a:l[++o]=a:(l[++o]=null,u.push({i:o,x:Re(r,a)})),n=qh.lastIndex;return n<e.length&&(i=e.slice(n),l[o]?l[o]+=i:l[++o]=i),l.length<2?u[0]?lk(u[0].x):ok(e):(e=u.length,function(s){for(var c=0,d;c<e;++c)l[(d=u[c]).i]=d.x(s);return l.join("")})}function kn(t,e){var n=typeof e,r;return e==null||n==="boolean"?_u(e):(n==="number"?Re:n==="string"?(r=pr(e))?(e=r,Go):Zh:e instanceof pr?Go:e instanceof Date?Xv:Hv(e)?Xh:Array.isArray(e)?Wv:typeof e.valueOf!="function"&&typeof e.toString!="function"||isNaN(e)?Uv:Re)(t,e)}function sk(t){var e=t.length;return function(n){return t[Math.max(0,Math.min(e-1,Math.floor(n*e)))]}}function uk(t,e){var n=Au(+t,+e);return function(r){var a=n(r);return a-360*Math.floor(a/360)}}function jo(t,e){return t=+t,e=+e,function(n){return Math.round(t*(1-n)+e*n)}}var qv=180/Math.PI,Zv={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function Jv(t,e,n,r,a,i){var o,l,u;return(o=Math.sqrt(t*t+e*e))&&(t/=o,e/=o),(u=t*n+e*r)&&(n-=t*u,r-=e*u),(l=Math.sqrt(n*n+r*r))&&(n/=l,r/=l,u/=l),t*r<e*n&&(t=-t,e=-e,u=-u,o=-o),{translateX:a,translateY:i,rotate:Math.atan2(e,t)*qv,skewX:Math.atan(u)*qv,scaleX:o,scaleY:l}}var Cu;function ck(t){const e=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(t+"");return e.isIdentity?Zv:Jv(e.a,e.b,e.c,e.d,e.e,e.f)}function fk(t){return t==null||(Cu||(Cu=document.createElementNS("http://www.w3.org/2000/svg","g")),Cu.setAttribute("transform",t),!(t=Cu.transform.baseVal.consolidate()))?Zv:(t=t.matrix,Jv(t.a,t.b,t.c,t.d,t.e,t.f))}function Kv(t,e,n,r){function a(s){return s.length?s.pop()+" ":""}function i(s,c,d,f,h,p){if(s!==d||c!==f){var g=h.push("translate(",null,e,null,n);p.push({i:g-4,x:Re(s,d)},{i:g-2,x:Re(c,f)})}else(d||f)&&h.push("translate("+d+e+f+n)}function o(s,c,d,f){s!==c?(s-c>180?c+=360:c-s>180&&(s+=360),f.push({i:d.push(a(d)+"rotate(",null,r)-2,x:Re(s,c)})):c&&d.push(a(d)+"rotate("+c+r)}function l(s,c,d,f){s!==c?f.push({i:d.push(a(d)+"skewX(",null,r)-2,x:Re(s,c)}):c&&d.push(a(d)+"skewX("+c+r)}function u(s,c,d,f,h,p){if(s!==d||c!==f){var g=h.push(a(h)+"scale(",null,",",null,")");p.push({i:g-4,x:Re(s,d)},{i:g-2,x:Re(c,f)})}else(d!==1||f!==1)&&h.push(a(h)+"scale("+d+","+f+")")}return function(s,c){var d=[],f=[];return s=t(s),c=t(c),i(s.translateX,s.translateY,c.translateX,c.translateY,d,f),o(s.rotate,c.rotate,d,f),l(s.skewX,c.skewX,d,f),u(s.scaleX,s.scaleY,c.scaleX,c.scaleY,d,f),s=c=null,function(h){for(var p=-1,g=f.length,m;++p<g;)d[(m=f[p]).i]=m.x(h);return d.join("")}}}var Qv=Kv(ck,"px, ","px)","deg)"),t$=Kv(fk,", ",")",")"),dk=1e-12;function e$(t){return((t=Math.exp(t))+1/t)/2}function hk(t){return((t=Math.exp(t))-1/t)/2}function pk(t){return((t=Math.exp(2*t))-1)/(t+1)}const n$=function t(e,n,r){function a(i,o){var l=i[0],u=i[1],s=i[2],c=o[0],d=o[1],f=o[2],h=c-l,p=d-u,g=h*h+p*p,m,b;if(g<dk)b=Math.log(f/s)/e,m=function(C){return[l+C*h,u+C*p,s*Math.exp(e*C*b)]};else{var y=Math.sqrt(g),x=(f*f-s*s+r*g)/(2*s*n*y),v=(f*f-s*s-r*g)/(2*f*n*y),_=Math.log(Math.sqrt(x*x+1)-x),D=Math.log(Math.sqrt(v*v+1)-v);b=(D-_)/e,m=function(C){var A=C*b,$=e$(_),T=s/(n*y)*($*pk(e*A+_)-hk(_));return[l+T*h,u+T*p,s*$/e$(e*A+_)]}}return m.duration=b*1e3*e/Math.SQRT2,m}return a.rho=function(i){var o=Math.max(.001,+i),l=o*o,u=l*l;return t(o,l,u)},a}(Math.SQRT2,2,4);function r$(t){return function(e,n){var r=t((e=xu(e)).h,(n=xu(n)).h),a=Ht(e.s,n.s),i=Ht(e.l,n.l),o=Ht(e.opacity,n.opacity);return function(l){return e.h=r(l),e.s=a(l),e.l=i(l),e.opacity=o(l),e+""}}}const mk=r$(Au);var gk=r$(Ht);function yk(t,e){var n=Ht((t=zo(t)).l,(e=zo(e)).l),r=Ht(t.a,e.a),a=Ht(t.b,e.b),i=Ht(t.opacity,e.opacity);return function(o){return t.l=n(o),t.a=r(o),t.b=a(o),t.opacity=i(o),t+""}}function a$(t){return function(e,n){var r=t((e=Su(e)).h,(n=Su(n)).h),a=Ht(e.c,n.c),i=Ht(e.l,n.l),o=Ht(e.opacity,n.opacity);return function(l){return e.h=r(l),e.c=a(l),e.l=i(l),e.opacity=o(l),e+""}}}const bk=a$(Au);var xk=a$(Ht);function i$(t){return function e(n){n=+n;function r(a,i){var o=t((a=rn(a)).h,(i=rn(i)).h),l=Ht(a.s,i.s),u=Ht(a.l,i.l),s=Ht(a.opacity,i.opacity);return function(c){return a.h=o(c),a.s=l(c),a.l=u(Math.pow(c,n)),a.opacity=s(c),a+""}}return r.gamma=e,r}(1)}const vk=i$(Au);var Pu=i$(Ht);function o$(t,e){e===void 0&&(e=t,t=kn);for(var n=0,r=e.length-1,a=e[0],i=new Array(r<0?0:r);n<r;)i[n]=t(a,a=e[++n]);return function(o){var l=Math.max(0,Math.min(r-1,Math.floor(o*=r)));return i[l](o-l)}}function $k(t,e){for(var n=new Array(e),r=0;r<e;++r)n[r]=t(r/(e-1));return n}var ii=0,Vo=0,Yo=0,l$=1e3,Fu,Ho,Tu=0,Kr=0,wu=0,Wo=typeof performance=="object"&&performance.now?performance:Date,s$=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function Xo(){return Kr||(s$(Sk),Kr=Wo.now()+wu)}function Sk(){Kr=0}function Uo(){this._call=this._time=this._next=null}Uo.prototype=Bu.prototype={constructor:Uo,restart:function(t,e,n){if(typeof t!="function")throw new TypeError("callback is not a function");n=(n==null?Xo():+n)+(e==null?0:+e),!this._next&&Ho!==this&&(Ho?Ho._next=this:Fu=this,Ho=this),this._call=t,this._time=n,Jh()},stop:function(){this._call&&(this._call=null,this._time=1/0,Jh())}};function Bu(t,e,n){var r=new Uo;return r.restart(t,e,n),r}function u$(){Xo(),++ii;for(var t=Fu,e;t;)(e=Kr-t._time)>=0&&t._call.call(void 0,e),t=t._next;--ii}function c$(){Kr=(Tu=Wo.now())+wu,ii=Vo=0;try{u$()}finally{ii=0,_k(),Kr=0}}function Dk(){var t=Wo.now(),e=t-Tu;e>l$&&(wu-=e,Tu=t)}function _k(){for(var t,e=Fu,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:Fu=n);Ho=t,Jh(r)}function Jh(t){if(!ii){Vo&&(Vo=clearTimeout(Vo));var e=t-Kr;e>24?(t<1/0&&(Vo=setTimeout(c$,t-Wo.now()-wu)),Yo&&(Yo=clearInterval(Yo))):(Yo||(Tu=Wo.now(),Yo=setInterval(Dk,l$)),ii=1,s$(c$))}}function Kh(t,e,n){var r=new Uo;return e=e==null?0:+e,r.restart(a=>{r.stop(),t(a+e)},e,n),r}function Ak(t,e,n){var r=new Uo,a=e;return e==null?(r.restart(t,e,n),r):(r._restart=r.restart,r.restart=function(i,o,l){o=+o,l=l==null?Xo():+l,r._restart(function u(s){s+=a,r._restart(u,a+=o,l),i(s)},o,l)},r.restart(t,e,n),r)}var Ck=Hr("start","end","cancel","interrupt"),Pk=[],f$=0,Qh=1,tp=2,Eu=3,d$=4,ep=5,Lu=6;function Mu(t,e,n,r,a,i){var o=t.__transition;if(!o)t.__transition={};else if(n in o)return;Fk(t,n,{name:e,index:r,group:a,on:Ck,tween:Pk,time:i.time,delay:i.delay,duration:i.duration,ease:i.ease,timer:null,state:f$})}function np(t,e){var n=an(t,e);if(n.state>f$)throw new Error("too late; already scheduled");return n}function xn(t,e){var n=an(t,e);if(n.state>Eu)throw new Error("too late; already running");return n}function an(t,e){var n=t.__transition;if(!n||!(n=n[e]))throw new Error("transition not found");return n}function Fk(t,e,n){var r=t.__transition,a;r[e]=n,n.timer=Bu(i,0,n.time);function i(s){n.state=Qh,n.timer.restart(o,n.delay,n.time),n.delay<=s&&o(s-n.delay)}function o(s){var c,d,f,h;if(n.state!==Qh)return u();for(c in r)if(h=r[c],h.name===n.name){if(h.state===Eu)return Kh(o);h.state===d$?(h.state=Lu,h.timer.stop(),h.on.call("interrupt",t,t.__data__,h.index,h.group),delete r[c]):+c<e&&(h.state=Lu,h.timer.stop(),h.on.call("cancel",t,t.__data__,h.index,h.group),delete r[c])}if(Kh(function(){n.state===Eu&&(n.state=d$,n.timer.restart(l,n.delay,n.time),l(s))}),n.state=tp,n.on.call("start",t,t.__data__,n.index,n.group),n.state===tp){for(n.state=Eu,a=new Array(f=n.tween.length),c=0,d=-1;c<f;++c)(h=n.tween[c].value.call(t,t.__data__,n.index,n.group))&&(a[++d]=h);a.length=d+1}}function l(s){for(var c=s<n.duration?n.ease.call(null,s/n.duration):(n.timer.restart(u),n.state=ep,1),d=-1,f=a.length;++d<f;)a[d].call(t,c);n.state===ep&&(n.on.call("end",t,t.__data__,n.index,n.group),u())}function u(){n.state=Lu,n.timer.stop(),delete r[e];for(var s in r)return;delete t.__transition}}function Qr(t,e){var n=t.__transition,r,a,i=!0,o;if(n){e=e==null?null:e+"";for(o in n){if((r=n[o]).name!==e){i=!1;continue}a=r.state>tp&&r.state<ep,r.state=Lu,r.timer.stop(),r.on.call(a?"interrupt":"cancel",t,t.__data__,r.index,r.group),delete n[o]}i&&delete t.__transition}}function Tk(t){return this.each(function(){Qr(this,t)})}function wk(t,e){var n,r;return function(){var a=xn(this,t),i=a.tween;if(i!==n){r=n=i;for(var o=0,l=r.length;o<l;++o)if(r[o].name===e){r=r.slice(),r.splice(o,1);break}}a.tween=r}}function Bk(t,e,n){var r,a;if(typeof n!="function")throw new Error;return function(){var i=xn(this,t),o=i.tween;if(o!==r){a=(r=o).slice();for(var l={name:e,value:n},u=0,s=a.length;u<s;++u)if(a[u].name===e){a[u]=l;break}u===s&&a.push(l)}i.tween=a}}function Ek(t,e){var n=this._id;if(t+="",arguments.length<2){for(var r=an(this.node(),n).tween,a=0,i=r.length,o;a<i;++a)if((o=r[a]).name===t)return o.value;return null}return this.each((e==null?wk:Bk)(n,t,e))}function rp(t,e,n){var r=t._id;return t.each(function(){var a=xn(this,r);(a.value||(a.value={}))[e]=n.apply(this,arguments)}),function(a){return an(a,r).value[e]}}function h$(t,e){var n;return(typeof e=="number"?Re:e instanceof pr?Go:(n=pr(e))?(e=n,Go):Zh)(t,e)}function Lk(t){return function(){this.removeAttribute(t)}}function Mk(t){return function(){this.removeAttributeNS(t.space,t.local)}}function Rk(t,e,n){var r,a=n+"",i;return function(){var o=this.getAttribute(t);return o===a?null:o===r?i:i=e(r=o,n)}}function Ik(t,e,n){var r,a=n+"",i;return function(){var o=this.getAttributeNS(t.space,t.local);return o===a?null:o===r?i:i=e(r=o,n)}}function kk(t,e,n){var r,a,i;return function(){var o,l=n(this),u;return l==null?void this.removeAttribute(t):(o=this.getAttribute(t),u=l+"",o===u?null:o===r&&u===a?i:(a=u,i=e(r=o,l)))}}function Nk(t,e,n){var r,a,i;return function(){var o,l=n(this),u;return l==null?void this.removeAttributeNS(t.space,t.local):(o=this.getAttributeNS(t.space,t.local),u=l+"",o===u?null:o===r&&u===a?i:(a=u,i=e(r=o,l)))}}function zk(t,e){var n=Ro(t),r=n==="transform"?t$:h$;return this.attrTween(t,typeof e=="function"?(n.local?Nk:kk)(n,r,rp(this,"attr."+t,e)):e==null?(n.local?Mk:Lk)(n):(n.local?Ik:Rk)(n,r,e))}function Ok(t,e){return function(n){this.setAttribute(t,e.call(this,n))}}function Gk(t,e){return function(n){this.setAttributeNS(t.space,t.local,e.call(this,n))}}function jk(t,e){var n,r;function a(){var i=e.apply(this,arguments);return i!==r&&(n=(r=i)&&Gk(t,i)),n}return a._value=e,a}function Vk(t,e){var n,r;function a(){var i=e.apply(this,arguments);return i!==r&&(n=(r=i)&&Ok(t,i)),n}return a._value=e,a}function Yk(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=Ro(t);return this.tween(n,(r.local?jk:Vk)(r,e))}function Hk(t,e){return function(){np(this,t).delay=+e.apply(this,arguments)}}function Wk(t,e){return e=+e,function(){np(this,t).delay=e}}function Xk(t){var e=this._id;return arguments.length?this.each((typeof t=="function"?Hk:Wk)(e,t)):an(this.node(),e).delay}function Uk(t,e){return function(){xn(this,t).duration=+e.apply(this,arguments)}}function qk(t,e){return e=+e,function(){xn(this,t).duration=e}}function Zk(t){var e=this._id;return arguments.length?this.each((typeof t=="function"?Uk:qk)(e,t)):an(this.node(),e).duration}function Jk(t,e){if(typeof e!="function")throw new Error;return function(){xn(this,t).ease=e}}function Kk(t){var e=this._id;return arguments.length?this.each(Jk(e,t)):an(this.node(),e).ease}function Qk(t,e){return function(){var n=e.apply(this,arguments);if(typeof n!="function")throw new Error;xn(this,t).ease=n}}function tN(t){if(typeof t!="function")throw new Error;return this.each(Qk(this._id,t))}function eN(t){typeof t!="function"&&(t=Eh(t));for(var e=this._groups,n=e.length,r=new Array(n),a=0;a<n;++a)for(var i=e[a],o=i.length,l=r[a]=[],u,s=0;s<o;++s)(u=i[s])&&t.call(u,u.__data__,s,i)&&l.push(u);return new vn(r,this._parents,this._name,this._id)}function nN(t){if(t._id!==this._id)throw new Error;for(var e=this._groups,n=t._groups,r=e.length,a=n.length,i=Math.min(r,a),o=new Array(r),l=0;l<i;++l)for(var u=e[l],s=n[l],c=u.length,d=o[l]=new Array(c),f,h=0;h<c;++h)(f=u[h]||s[h])&&(d[h]=f);for(;l<r;++l)o[l]=e[l];return new vn(o,this._parents,this._name,this._id)}function rN(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 aN(t,e,n){var r,a,i=rN(e)?np:xn;return function(){var o=i(this,t),l=o.on;l!==r&&(a=(r=l).copy()).on(e,n),o.on=a}}function iN(t,e){var n=this._id;return arguments.length<2?an(this.node(),n).on.on(t):this.each(aN(n,t,e))}function oN(t){return function(){var e=this.parentNode;for(var n in this.__transition)if(+n!==t)return;e&&e.removeChild(this)}}function lN(){return this.on("end.remove",oN(this._id))}function sN(t){var e=this._name,n=this._id;typeof t!="function"&&(t=fu(t));for(var r=this._groups,a=r.length,i=new Array(a),o=0;o<a;++o)for(var l=r[o],u=l.length,s=i[o]=new Array(u),c,d,f=0;f<u;++f)(c=l[f])&&(d=t.call(c,c.__data__,f,l))&&("__data__"in c&&(d.__data__=c.__data__),s[f]=d,Mu(s[f],e,n,f,s,an(c,n)));return new vn(i,this._parents,e,n)}function uN(t){var e=this._name,n=this._id;typeof t!="function"&&(t=Bh(t));for(var r=this._groups,a=r.length,i=[],o=[],l=0;l<a;++l)for(var u=r[l],s=u.length,c,d=0;d<s;++d)if(c=u[d]){for(var f=t.call(c,c.__data__,d,u),h,p=an(c,n),g=0,m=f.length;g<m;++g)(h=f[g])&&Mu(h,e,n,g,f,p);i.push(f),o.push(c)}return new vn(i,o,e,n)}var cN=Xr.prototype.constructor;function fN(){return new cN(this._groups,this._parents)}function dN(t,e){var n,r,a;return function(){var i=Wr(this,t),o=(this.style.removeProperty(t),Wr(this,t));return i===o?null:i===n&&o===r?a:a=e(n=i,r=o)}}function p$(t){return function(){this.style.removeProperty(t)}}function hN(t,e,n){var r,a=n+"",i;return function(){var o=Wr(this,t);return o===a?null:o===r?i:i=e(r=o,n)}}function pN(t,e,n){var r,a,i;return function(){var o=Wr(this,t),l=n(this),u=l+"";return l==null&&(u=l=(this.style.removeProperty(t),Wr(this,t))),o===u?null:o===r&&u===a?i:(a=u,i=e(r=o,l))}}function mN(t,e){var n,r,a,i="style."+e,o="end."+i,l;return function(){var u=xn(this,t),s=u.on,c=u.value[i]==null?l||(l=p$(e)):void 0;(s!==n||a!==c)&&(r=(n=s).copy()).on(o,a=c),u.on=r}}function gN(t,e,n){var r=(t+="")=="transform"?Qv:h$;return e==null?this.styleTween(t,dN(t,r)).on("end.style."+t,p$(t)):typeof e=="function"?this.styleTween(t,pN(t,r,rp(this,"style."+t,e))).each(mN(this._id,t)):this.styleTween(t,hN(t,r,e),n).on("end.style."+t,null)}function yN(t,e,n){return function(r){this.style.setProperty(t,e.call(this,r),n)}}function bN(t,e,n){var r,a;function i(){var o=e.apply(this,arguments);return o!==a&&(r=(a=o)&&yN(t,o,n)),r}return i._value=e,i}function xN(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,bN(t,e,n??""))}function vN(t){return function(){this.textContent=t}}function $N(t){return function(){var e=t(this);this.textContent=e??""}}function SN(t){return this.tween("text",typeof t=="function"?$N(rp(this,"text",t)):vN(t==null?"":t+""))}function DN(t){return function(e){this.textContent=t.call(this,e)}}function _N(t){var e,n;function r(){var a=t.apply(this,arguments);return a!==n&&(e=(n=a)&&DN(a)),e}return r._value=t,r}function AN(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,_N(t))}function CN(){for(var t=this._name,e=this._id,n=g$(),r=this._groups,a=r.length,i=0;i<a;++i)for(var o=r[i],l=o.length,u,s=0;s<l;++s)if(u=o[s]){var c=an(u,e);Mu(u,t,n,s,o,{time:c.time+c.delay+c.duration,delay:0,duration:c.duration,ease:c.ease})}return new vn(r,this._parents,t,n)}function PN(){var t,e,n=this,r=n._id,a=n.size();return new Promise(function(i,o){var l={value:o},u={value:function(){--a===0&&i()}};n.each(function(){var s=xn(this,r),c=s.on;c!==t&&(e=(t=c).copy(),e._.cancel.push(l),e._.interrupt.push(l),e._.end.push(u)),s.on=e}),a===0&&i()})}var FN=0;function vn(t,e,n,r){this._groups=t,this._parents=e,this._name=n,this._id=r}function m$(t){return Xr().transition(t)}function g$(){return++FN}var Nn=Xr.prototype;vn.prototype=m$.prototype={constructor:vn,select:sN,selectAll:uN,selectChild:Nn.selectChild,selectChildren:Nn.selectChildren,filter:eN,merge:nN,selection:fN,transition:CN,call:Nn.call,nodes:Nn.nodes,node:Nn.node,size:Nn.size,empty:Nn.empty,each:Nn.each,on:iN,attr:zk,attrTween:Yk,style:gN,styleTween:xN,text:SN,textTween:AN,remove:lN,tween:Ek,delay:Xk,duration:Zk,ease:Kk,easeVarying:tN,end:PN,[Symbol.iterator]:Nn[Symbol.iterator]};const on=t=>+t;function TN(t){return t*t}function wN(t){return t*(2-t)}function y$(t){return((t*=2)<=1?t*t:--t*(2-t)+1)/2}function BN(t){return t*t*t}function EN(t){return--t*t*t+1}function qo(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}var ap=3,LN=function t(e){e=+e;function n(r){return Math.pow(r,e)}return n.exponent=t,n}(ap),MN=function t(e){e=+e;function n(r){return 1-Math.pow(1-r,e)}return n.exponent=t,n}(ap),b$=function t(e){e=+e;function n(r){return((r*=2)<=1?Math.pow(r,e):2-Math.pow(2-r,e))/2}return n.exponent=t,n}(ap),x$=Math.PI,v$=x$/2;function RN(t){return+t==1?1:1-Math.cos(t*v$)}function IN(t){return Math.sin(t*v$)}function $$(t){return(1-Math.cos(x$*t))/2}function mr(t){return(Math.pow(2,-10*t)-.0009765625)*1.0009775171065494}function kN(t){return mr(1-+t)}function NN(t){return 1-mr(t)}function S$(t){return((t*=2)<=1?mr(1-t):2-mr(t-1))/2}function zN(t){return 1-Math.sqrt(1-t*t)}function ON(t){return Math.sqrt(1- --t*t)}function D$(t){return((t*=2)<=1?1-Math.sqrt(1-t*t):Math.sqrt(1-(t-=2)*t)+1)/2}var ip=4/11,GN=6/11,jN=8/11,VN=3/4,YN=9/11,HN=10/11,WN=15/16,XN=21/22,UN=63/64,Ru=1/ip/ip;function qN(t){return 1-Zo(1-t)}function Zo(t){return(t=+t)<ip?Ru*t*t:t<jN?Ru*(t-=GN)*t+VN:t<HN?Ru*(t-=YN)*t+WN:Ru*(t-=XN)*t+UN}function ZN(t){return((t*=2)<=1?1-Zo(1-t):Zo(t-1)+1)/2}var op=1.70158,JN=function t(e){e=+e;function n(r){return(r=+r)*r*(e*(r-1)+r)}return n.overshoot=t,n}(op),KN=function t(e){e=+e;function n(r){return--r*r*((r+1)*e+r)+1}return n.overshoot=t,n}(op),_$=function t(e){e=+e;function n(r){return((r*=2)<1?r*r*((e+1)*r-e):(r-=2)*r*((e+1)*r+e)+2)/2}return n.overshoot=t,n}(op),oi=2*Math.PI,lp=1,sp=.3,QN=function t(e,n){var r=Math.asin(1/(e=Math.max(1,e)))*(n/=oi);function a(i){return e*mr(- --i)*Math.sin((r-i)/n)}return a.amplitude=function(i){return t(i,n*oi)},a.period=function(i){return t(e,i)},a}(lp,sp),ta=function t(e,n){var r=Math.asin(1/(e=Math.max(1,e)))*(n/=oi);function a(i){return 1-e*mr(i=+i)*Math.sin((i+r)/n)}return a.amplitude=function(i){return t(i,n*oi)},a.period=function(i){return t(e,i)},a}(lp,sp),tz=function t(e,n){var r=Math.asin(1/(e=Math.max(1,e)))*(n/=oi);function a(i){return((i=i*2-1)<0?e*mr(-i)*Math.sin((r-i)/n):2-e*mr(i)*Math.sin((r+i)/n))/2}return a.amplitude=function(i){return t(i,n*oi)},a.period=function(i){return t(e,i)},a}(lp,sp),ez={time:null,delay:0,duration:250,ease:qo};function nz(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 rz(t){var e,n;t instanceof vn?(e=t._id,t=t._name):(e=g$(),(n=ez).time=Xo(),t=t==null?null:t+"");for(var r=this._groups,a=r.length,i=0;i<a;++i)for(var o=r[i],l=o.length,u,s=0;s<l;++s)(u=o[s])&&Mu(u,t,e,s,o,n||nz(u,e));return new vn(r,this._parents,t,e)}Xr.prototype.interrupt=Tk,Xr.prototype.transition=rz;var az=[null];function iz(t,e){var n=t.__transition,r,a;if(n){e=e==null?null:e+"";for(a in n)if((r=n[a]).state>Qh&&r.name===e)return new vn([[t]],az,e,+a)}return null}const up=t=>()=>t;function oz(t,{sourceEvent:e,target:n,selection:r,mode:a,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:a,enumerable:!0,configurable:!0},_:{value:i}})}function lz(t){t.stopImmediatePropagation()}function cp(t){t.preventDefault(),t.stopImmediatePropagation()}var A$={name:"drag"},fp={name:"space"},li={name:"handle"},si={name:"center"};const{abs:C$,max:Qt,min:te}=Math;function P$(t){return[+t[0],+t[1]]}function dp(t){return[P$(t[0]),P$(t[1])]}var Iu={name:"x",handles:["w","e"].map(Jo),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]]}},ku={name:"y",handles:["n","s"].map(Jo),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]]}},sz={name:"xy",handles:["n","w","e","s","nw","ne","sw","se"].map(Jo),input:function(t){return t==null?null:dp(t)},output:function(t){return t}},zn={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"},F$={e:"w",w:"e",nw:"ne",ne:"nw",se:"sw",sw:"se"},T$={n:"s",s:"n",nw:"sw",ne:"se",se:"ne",sw:"nw"},uz={overlay:1,selection:1,n:null,e:1,s:null,w:-1,nw:-1,ne:1,se:1,sw:-1},cz={overlay:1,selection:1,n:-1,e:null,s:1,w:null,nw:-1,ne:-1,se:1,sw:1};function Jo(t){return{type:t}}function fz(t){return!t.ctrlKey&&!t.button}function dz(){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 hz(){return navigator.maxTouchPoints||"ontouchstart"in this}function hp(t){for(;!t.__brush;)if(!(t=t.parentNode))return;return t.__brush}function pz(t){return t[0][0]===t[1][0]||t[0][1]===t[1][1]}function mz(t){var e=t.__brush;return e?e.dim.output(e.selection):null}function gz(){return pp(Iu)}function yz(){return pp(ku)}function bz(){return pp(sz)}function pp(t){var e=dz,n=fz,r=hz,a=!0,i=Hr("start","brush","end"),o=6,l;function u(m){var b=m.property("__brush",g).selectAll(".overlay").data([Jo("overlay")]);b.enter().append("rect").attr("class","overlay").attr("pointer-events","all").attr("cursor",zn.overlay).merge(b).each(function(){var x=hp(this).extent;Y(this).attr("x",x[0][0]).attr("y",x[0][1]).attr("width",x[1][0]-x[0][0]).attr("height",x[1][1]-x[0][1])}),m.selectAll(".selection").data([Jo("selection")]).enter().append("rect").attr("class","selection").attr("cursor",zn.selection).attr("fill","#777").attr("fill-opacity",.3).attr("stroke","#fff").attr("shape-rendering","crispEdges");var y=m.selectAll(".handle").data(t.handles,function(x){return x.type});y.exit().remove(),y.enter().append("rect").attr("class",function(x){return"handle handle--"+x.type}).attr("cursor",function(x){return zn[x.type]}),m.each(s).attr("fill","none").attr("pointer-events","all").on("mousedown.brush",f).filter(r).on("touchstart.brush",f).on("touchmove.brush",h).on("touchend.brush touchcancel.brush",p).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}u.move=function(m,b,y){m.tween?m.on("start.brush",function(x){c(this,arguments).beforestart().start(x)}).on("interrupt.brush end.brush",function(x){c(this,arguments).end(x)}).tween("brush",function(){var x=this,v=x.__brush,_=c(x,arguments),D=v.selection,C=t.input(typeof b=="function"?b.apply(this,arguments):b,v.extent),A=kn(D,C);function $(T){v.selection=T===1&&C===null?null:A(T),s.call(x),_.brush()}return D!==null&&C!==null?$:$(1)}):m.each(function(){var x=this,v=arguments,_=x.__brush,D=t.input(typeof b=="function"?b.apply(x,v):b,_.extent),C=c(x,v).beforestart();Qr(x),_.selection=D===null?null:D,s.call(x),C.start(y).brush(y).end(y)})},u.clear=function(m,b){u.move(m,null,b)};function s(){var m=Y(this),b=hp(this).selection;b?(m.selectAll(".selection").style("display",null).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]),m.selectAll(".handle").style("display",null).attr("x",function(y){return y.type[y.type.length-1]==="e"?b[1][0]-o/2:b[0][0]-o/2}).attr("y",function(y){return y.type[0]==="s"?b[1][1]-o/2:b[0][1]-o/2}).attr("width",function(y){return y.type==="n"||y.type==="s"?b[1][0]-b[0][0]+o:o}).attr("height",function(y){return y.type==="e"||y.type==="w"?b[1][1]-b[0][1]+o:o})):m.selectAll(".selection,.handle").style("display","none").attr("x",null).attr("y",null).attr("width",null).attr("height",null)}function c(m,b,y){var x=m.__brush.emitter;return x&&(!y||!x.clean)?x:new d(m,b,y)}function d(m,b,y){this.that=m,this.args=b,this.state=m.__brush,this.active=0,this.clean=y}d.prototype={beforestart:function(){return++this.active===1&&(this.state.emitter=this,this.starting=!0),this},start:function(m,b){return this.starting?(this.starting=!1,this.emit("start",m,b)):this.emit("brush",m),this},brush:function(m,b){return this.emit("brush",m,b),this},end:function(m,b){return--this.active===0&&(delete this.state.emitter,this.emit("end",m,b)),this},emit:function(m,b,y){var x=Y(this.that).datum();i.call(m,this.that,new oz(m,{sourceEvent:b,target:u,selection:t.output(this.state.selection),mode:y,dispatch:i}),x)}};function f(m){if(l&&!m.touches||!n.apply(this,arguments))return;var b=this,y=m.target.__data__.type,x=(a&&m.metaKey?y="overlay":y)==="selection"?A$:a&&m.altKey?si:li,v=t===ku?null:uz[y],_=t===Iu?null:cz[y],D=hp(b),C=D.extent,A=D.selection,$=C[0][0],T,S,k=C[0][1],N,E,P=C[1][0],B,R,F=C[1][1],M,z,V=0,K=0,q,j=v&&_&&a&&m.shiftKey,U,et,st=Array.from(m.touches||[m],ut=>{const Nt=ut.identifier;return ut=Me(ut,b),ut.point0=ut.slice(),ut.identifier=Nt,ut});Qr(b);var pt=c(b,arguments,!0).beforestart();if(y==="overlay"){A&&(q=!0);const ut=[st[0],st[1]||st[0]];D.selection=A=[[T=t===ku?$:te(ut[0][0],ut[1][0]),N=t===Iu?k:te(ut[0][1],ut[1][1])],[B=t===ku?P:Qt(ut[0][0],ut[1][0]),M=t===Iu?F:Qt(ut[0][1],ut[1][1])]],st.length>1&&Tt(m)}else T=A[0][0],N=A[0][1],B=A[1][0],M=A[1][1];S=T,E=N,R=B,z=M;var Q=Y(b).attr("pointer-events","none"),it=Q.selectAll(".overlay").attr("cursor",zn[y]);if(m.touches)pt.moved=Z,pt.ended=Dt;else{var ct=Y(m.view).on("mousemove.brush",Z,!0).on("mouseup.brush",Dt,!0);a&&ct.on("keydown.brush",xe,!0).on("keyup.brush",ve,!0),hu(m.view)}s.call(b),pt.start(m,x.name);function Z(ut){for(const Nt of ut.changedTouches||[ut])for(const zl of st)zl.identifier===Nt.identifier&&(zl.cur=Me(Nt,b));if(j&&!U&&!et&&st.length===1){const Nt=st[0];C$(Nt.cur[0]-Nt[0])>C$(Nt.cur[1]-Nt[1])?et=!0:U=!0}for(const Nt of st)Nt.cur&&(Nt[0]=Nt.cur[0],Nt[1]=Nt.cur[1]);q=!0,cp(ut),Tt(ut)}function Tt(ut){const Nt=st[0],zl=Nt.point0;var Ar;switch(V=Nt[0]-zl[0],K=Nt[1]-zl[1],x){case fp:case A$:{v&&(V=Qt($-T,te(P-B,V)),S=T+V,R=B+V),_&&(K=Qt(k-N,te(F-M,K)),E=N+K,z=M+K);break}case li:{st[1]?(v&&(S=Qt($,te(P,st[0][0])),R=Qt($,te(P,st[1][0])),v=1),_&&(E=Qt(k,te(F,st[0][1])),z=Qt(k,te(F,st[1][1])),_=1)):(v<0?(V=Qt($-T,te(P-T,V)),S=T+V,R=B):v>0&&(V=Qt($-B,te(P-B,V)),S=T,R=B+V),_<0?(K=Qt(k-N,te(F-N,K)),E=N+K,z=M):_>0&&(K=Qt(k-M,te(F-M,K)),E=N,z=M+K));break}case si:{v&&(S=Qt($,te(P,T-V*v)),R=Qt($,te(P,B+V*v))),_&&(E=Qt(k,te(F,N-K*_)),z=Qt(k,te(F,M+K*_)));break}}R<S&&(v*=-1,Ar=T,T=B,B=Ar,Ar=S,S=R,R=Ar,y in F$&&it.attr("cursor",zn[y=F$[y]])),z<E&&(_*=-1,Ar=N,N=M,M=Ar,Ar=E,E=z,z=Ar,y in T$&&it.attr("cursor",zn[y=T$[y]])),D.selection&&(A=D.selection),U&&(S=A[0][0],R=A[1][0]),et&&(E=A[0][1],z=A[1][1]),(A[0][0]!==S||A[0][1]!==E||A[1][0]!==R||A[1][1]!==z)&&(D.selection=[[S,E],[R,z]],s.call(b),pt.brush(ut,x.name))}function Dt(ut){if(lz(ut),ut.touches){if(ut.touches.length)return;l&&clearTimeout(l),l=setTimeout(function(){l=null},500)}else pu(ut.view,q),ct.on("keydown.brush keyup.brush mousemove.brush mouseup.brush",null);Q.attr("pointer-events","all"),it.attr("cursor",zn.overlay),D.selection&&(A=D.selection),pz(A)&&(D.selection=null,s.call(b)),pt.end(ut,x.name)}function xe(ut){switch(ut.keyCode){case 16:{j=v&&_;break}case 18:{x===li&&(v&&(B=R-V*v,T=S+V*v),_&&(M=z-K*_,N=E+K*_),x=si,Tt(ut));break}case 32:{(x===li||x===si)&&(v<0?B=R-V:v>0&&(T=S-V),_<0?M=z-K:_>0&&(N=E-K),x=fp,it.attr("cursor",zn.selection),Tt(ut));break}default:return}cp(ut)}function ve(ut){switch(ut.keyCode){case 16:{j&&(U=et=j=!1,Tt(ut));break}case 18:{x===si&&(v<0?B=R:v>0&&(T=S),_<0?M=z:_>0&&(N=E),x=li,Tt(ut));break}case 32:{x===fp&&(ut.altKey?(v&&(B=R-V*v,T=S+V*v),_&&(M=z-K*_,N=E+K*_),x=si):(v<0?B=R:v>0&&(T=S),_<0?M=z:_>0&&(N=E),x=li),it.attr("cursor",zn[y]),Tt(ut));break}default:return}cp(ut)}}function h(m){c(this,arguments).moved(m)}function p(m){c(this,arguments).ended(m)}function g(){var m=this.__brush||{selection:null};return m.extent=dp(e.apply(this,arguments)),m.dim=t,m}return u.extent=function(m){return arguments.length?(e=typeof m=="function"?m:up(dp(m)),u):e},u.filter=function(m){return arguments.length?(n=typeof m=="function"?m:up(!!m),u):n},u.touchable=function(m){return arguments.length?(r=typeof m=="function"?m:up(!!m),u):r},u.handleSize=function(m){return arguments.length?(o=+m,u):o},u.keyModifiers=function(m){return arguments.length?(a=!!m,u):a},u.on=function(){var m=i.on.apply(i,arguments);return m===i?u:m},u}var w$=Math.abs,ui=Math.cos,ci=Math.sin,B$=Math.PI,Nu=B$/2,E$=B$*2,L$=Math.max,mp=1e-12;function gp(t,e){return Array.from({length:e-t},(n,r)=>t+r)}function xz(t){return function(e,n){return t(e.source.value+e.target.value,n.source.value+n.target.value)}}function vz(){return yp(!1,!1)}function $z(){return yp(!1,!0)}function Sz(){return yp(!0,!1)}function yp(t,e){var n=0,r=null,a=null,i=null;function o(l){var u=l.length,s=new Array(u),c=gp(0,u),d=new Array(u*u),f=new Array(u),h=0,p;l=Float64Array.from({length:u*u},e?(g,m)=>l[m%u][m/u|0]:(g,m)=>l[m/u|0][m%u]);for(let g=0;g<u;++g){let m=0;for(let b=0;b<u;++b)m+=l[g*u+b]+t*l[b*u+g];h+=s[g]=m}h=L$(0,E$-n*u)/h,p=h?n:E$/u;{let g=0;r&&c.sort((m,b)=>r(s[m],s[b]));for(const m of c){const b=g;if(t){const y=gp(~u+1,u).filter(x=>x<0?l[~x*u+m]:l[m*u+x]);a&&y.sort((x,v)=>a(x<0?-l[~x*u+m]:l[m*u+x],v<0?-l[~v*u+m]:l[m*u+v]));for(const x of y)if(x<0){const v=d[~x*u+m]||(d[~x*u+m]={source:null,target:null});v.target={index:m,startAngle:g,endAngle:g+=l[~x*u+m]*h,value:l[~x*u+m]}}else{const v=d[m*u+x]||(d[m*u+x]={source:null,target:null});v.source={index:m,startAngle:g,endAngle:g+=l[m*u+x]*h,value:l[m*u+x]}}f[m]={index:m,startAngle:b,endAngle:g,value:s[m]}}else{const y=gp(0,u).filter(x=>l[m*u+x]||l[x*u+m]);a&&y.sort((x,v)=>a(l[m*u+x],l[m*u+v]));for(const x of y){let v;if(m<x?(v=d[m*u+x]||(d[m*u+x]={source:null,target:null}),v.source={index:m,startAngle:g,endAngle:g+=l[m*u+x]*h,value:l[m*u+x]}):(v=d[x*u+m]||(d[x*u+m]={source:null,target:null}),v.target={index:m,startAngle:g,endAngle:g+=l[m*u+x]*h,value:l[m*u+x]},m===x&&(v.source=v.target)),v.source&&v.target&&v.source.value<v.target.value){const _=v.source;v.source=v.target,v.target=_}}f[m]={index:m,startAngle:b,endAngle:g,value:s[m]}}g+=p}}return d=Object.values(d),d.groups=f,i?d.sort(i):d}return o.padAngle=function(l){return arguments.length?(n=L$(0,l),o):n},o.sortGroups=function(l){return arguments.length?(r=l,o):r},o.sortSubgroups=function(l){return arguments.length?(a=l,o):a},o.sortChords=function(l){return arguments.length?(l==null?i=null:(i=xz(l))._=l,o):i&&i._},o}const bp=Math.PI,xp=2*bp,ea=1e-6,Dz=xp-ea;function M$(t){this._+=t[0];for(let e=1,n=t.length;e<n;++e)this._+=arguments[e]+t[e]}function _z(t){let e=Math.floor(t);if(!(e>=0))throw new Error(`invalid digits: ${t}`);if(e>15)return M$;const n=10**e;return function(r){this._+=r[0];for(let a=1,i=r.length;a<i;++a)this._+=Math.round(arguments[a]*n)/n+r[a]}}let Ko=class{constructor(t){this._x0=this._y0=this._x1=this._y1=null,this._="",this._append=t==null?M$:_z(t)}moveTo(t,e){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+e}`}closePath(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._append`Z`)}lineTo(t,e){this._append`L${this._x1=+t},${this._y1=+e}`}quadraticCurveTo(t,e,n,r){this._append`Q${+t},${+e},${this._x1=+n},${this._y1=+r}`}bezierCurveTo(t,e,n,r,a,i){this._append`C${+t},${+e},${+n},${+r},${this._x1=+a},${this._y1=+i}`}arcTo(t,e,n,r,a){if(t=+t,e=+e,n=+n,r=+r,a=+a,a<0)throw new Error(`negative radius: ${a}`);let i=this._x1,o=this._y1,l=n-t,u=r-e,s=i-t,c=o-e,d=s*s+c*c;if(this._x1===null)this._append`M${this._x1=t},${this._y1=e}`;else if(d>ea)if(!(Math.abs(c*l-u*s)>ea)||!a)this._append`L${this._x1=t},${this._y1=e}`;else{let f=n-i,h=r-o,p=l*l+u*u,g=f*f+h*h,m=Math.sqrt(p),b=Math.sqrt(d),y=a*Math.tan((bp-Math.acos((p+d-g)/(2*m*b)))/2),x=y/b,v=y/m;Math.abs(x-1)>ea&&this._append`L${t+x*s},${e+x*c}`,this._append`A${a},${a},0,0,${+(c*f>s*h)},${this._x1=t+v*l},${this._y1=e+v*u}`}}arc(t,e,n,r,a,i){if(t=+t,e=+e,n=+n,i=!!i,n<0)throw new Error(`negative radius: ${n}`);let o=n*Math.cos(r),l=n*Math.sin(r),u=t+o,s=e+l,c=1^i,d=i?r-a:a-r;this._x1===null?this._append`M${u},${s}`:(Math.abs(this._x1-u)>ea||Math.abs(this._y1-s)>ea)&&this._append`L${u},${s}`,n&&(d<0&&(d=d%xp+xp),d>Dz?this._append`A${n},${n},0,1,${c},${t-o},${e-l}A${n},${n},0,1,${c},${this._x1=u},${this._y1=s}`:d>ea&&this._append`A${n},${n},0,${+(d>=bp)},${c},${this._x1=t+n*Math.cos(a)},${this._y1=e+n*Math.sin(a)}`)}rect(t,e,n,r){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+e}h${n=+n}v${+r}h${-n}Z`}toString(){return this._}};function vp(){return new Ko}vp.prototype=Ko.prototype;function Az(t=3){return new Ko(+t)}var Cz=Array.prototype.slice;function na(t){return function(){return t}}function Pz(t){return t.source}function Fz(t){return t.target}function R$(t){return t.radius}function Tz(t){return t.startAngle}function wz(t){return t.endAngle}function Bz(){return 0}function Ez(){return 10}function I$(t){var e=Pz,n=Fz,r=R$,a=R$,i=Tz,o=wz,l=Bz,u=null;function s(){var c,d=e.apply(this,arguments),f=n.apply(this,arguments),h=l.apply(this,arguments)/2,p=Cz.call(arguments),g=+r.apply(this,(p[0]=d,p)),m=i.apply(this,p)-Nu,b=o.apply(this,p)-Nu,y=+a.apply(this,(p[0]=f,p)),x=i.apply(this,p)-Nu,v=o.apply(this,p)-Nu;if(u||(u=c=vp()),h>mp&&(w$(b-m)>h*2+mp?b>m?(m+=h,b-=h):(m-=h,b+=h):m=b=(m+b)/2,w$(v-x)>h*2+mp?v>x?(x+=h,v-=h):(x-=h,v+=h):x=v=(x+v)/2),u.moveTo(g*ui(m),g*ci(m)),u.arc(0,0,g,m,b),m!==x||b!==v)if(t){var _=+t.apply(this,arguments),D=y-_,C=(x+v)/2;u.quadraticCurveTo(0,0,D*ui(x),D*ci(x)),u.lineTo(y*ui(C),y*ci(C)),u.lineTo(D*ui(v),D*ci(v))}else u.quadraticCurveTo(0,0,y*ui(x),y*ci(x)),u.arc(0,0,y,x,v);if(u.quadraticCurveTo(0,0,g*ui(m),g*ci(m)),u.closePath(),c)return u=null,c+""||null}return t&&(s.headRadius=function(c){return arguments.length?(t=typeof c=="function"?c:na(+c),s):t}),s.radius=function(c){return arguments.length?(r=a=typeof c=="function"?c:na(+c),s):r},s.sourceRadius=function(c){return arguments.length?(r=typeof c=="function"?c:na(+c),s):r},s.targetRadius=function(c){return arguments.length?(a=typeof c=="function"?c:na(+c),s):a},s.startAngle=function(c){return arguments.length?(i=typeof c=="function"?c:na(+c),s):i},s.endAngle=function(c){return arguments.length?(o=typeof c=="function"?c:na(+c),s):o},s.padAngle=function(c){return arguments.length?(l=typeof c=="function"?c:na(+c),s):l},s.source=function(c){return arguments.length?(e=c,s):e},s.target=function(c){return arguments.length?(n=c,s):n},s.context=function(c){return arguments.length?(u=c??null,s):u},s}function Lz(){return I$()}function Mz(){return I$(Ez)}var Rz=Array.prototype,k$=Rz.slice;function Iz(t,e){return t-e}function kz(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}const gr=t=>()=>t;function Nz(t,e){for(var n=-1,r=e.length,a;++n<r;)if(a=zz(t,e[n]))return a;return 0}function zz(t,e){for(var n=e[0],r=e[1],a=-1,i=0,o=t.length,l=o-1;i<o;l=i++){var u=t[i],s=u[0],c=u[1],d=t[l],f=d[0],h=d[1];if(Oz(u,d,e))return 0;c>r!=h>r&&n<(f-s)*(r-c)/(h-c)+s&&(a=-a)}return a}function Oz(t,e,n){var r;return Gz(t,e,n)&&jz(t[r=+(t[0]===e[0])],n[r],e[r])}function Gz(t,e,n){return(e[0]-t[0])*(n[1]-t[1])===(n[0]-t[0])*(e[1]-t[1])}function jz(t,e,n){return t<=e&&e<=n||n<=e&&e<=t}function Vz(){}var On=[[],[[[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 $p(){var t=1,e=1,n=Sh,r=u;function a(s){var c=n(s);if(Array.isArray(c))c=c.slice().sort(Iz);else{const d=To(s,Yz);for(c=Vr(...$h(d[0],d[1],c),c);c[c.length-1]>=d[1];)c.pop();for(;c[1]<d[0];)c.shift()}return c.map(d=>i(s,d))}function i(s,c){const d=c==null?NaN:+c;if(isNaN(d))throw new Error(`invalid value: ${c}`);var f=[],h=[];return o(s,d,function(p){r(p,s,d),kz(p)>0?f.push([p]):h.push(p)}),h.forEach(function(p){for(var g=0,m=f.length,b;g<m;++g)if(Nz((b=f[g])[0],p)!==-1){b.push(p);return}}),{type:"MultiPolygon",value:c,coordinates:f}}function o(s,c,d){var f=new Array,h=new Array,p,g,m,b,y,x;for(p=g=-1,b=ra(s[0],c),On[b<<1].forEach(v);++p<t-1;)m=b,b=ra(s[p+1],c),On[m|b<<1].forEach(v);for(On[b<<0].forEach(v);++g<e-1;){for(p=-1,b=ra(s[g*t+t],c),y=ra(s[g*t],c),On[b<<1|y<<2].forEach(v);++p<t-1;)m=b,b=ra(s[g*t+t+p+1],c),x=y,y=ra(s[g*t+p+1],c),On[m|b<<1|y<<2|x<<3].forEach(v);On[b|y<<3].forEach(v)}for(p=-1,y=s[g*t]>=c,On[y<<2].forEach(v);++p<t-1;)x=y,y=ra(s[g*t+p+1],c),On[y<<2|x<<3].forEach(v);On[y<<3].forEach(v);function v(_){var D=[_[0][0]+p,_[0][1]+g],C=[_[1][0]+p,_[1][1]+g],A=l(D),$=l(C),T,S;(T=h[A])?(S=f[$])?(delete h[T.end],delete f[S.start],T===S?(T.ring.push(C),d(T.ring)):f[T.start]=h[S.end]={start:T.start,end:S.end,ring:T.ring.concat(S.ring)}):(delete h[T.end],T.ring.push(C),h[T.end=$]=T):(T=f[$])?(S=h[A])?(delete f[T.start],delete h[S.end],T===S?(T.ring.push(C),d(T.ring)):f[S.start]=h[T.end]={start:S.start,end:T.end,ring:S.ring.concat(T.ring)}):(delete f[T.start],T.ring.unshift(D),f[T.start=A]=T):f[A]=h[$]={start:A,end:$,ring:[D,C]}}}function l(s){return s[0]*2+s[1]*(t+1)*4}function u(s,c,d){s.forEach(function(f){var h=f[0],p=f[1],g=h|0,m=p|0,b=Sp(c[m*t+g]);h>0&&h<t&&g===h&&(f[0]=N$(h,Sp(c[m*t+g-1]),b,d)),p>0&&p<e&&m===p&&(f[1]=N$(p,Sp(c[(m-1)*t+g]),b,d))})}return a.contour=i,a.size=function(s){if(!arguments.length)return[t,e];var c=Math.floor(s[0]),d=Math.floor(s[1]);if(!(c>=0&&d>=0))throw new Error("invalid size");return t=c,e=d,a},a.thresholds=function(s){return arguments.length?(n=typeof s=="function"?s:Array.isArray(s)?gr(k$.call(s)):gr(s),a):n},a.smooth=function(s){return arguments.length?(r=s?u:Vz,a):r===u},a}function Yz(t){return isFinite(t)?t:NaN}function ra(t,e){return t==null?!1:+t>=e}function Sp(t){return t==null||isNaN(t=+t)?-1/0:t}function N$(t,e,n,r){const a=r-e,i=n-e,o=isFinite(a)||isFinite(i)?a/i:Math.sign(a)/Math.sign(i);return isNaN(o)?t:t+o-.5}function Hz(t){return t[0]}function Wz(t){return t[1]}function Xz(){return 1}function Uz(){var t=Hz,e=Wz,n=Xz,r=960,a=500,i=20,o=2,l=i*3,u=r+l*2>>o,s=a+l*2>>o,c=gr(20);function d(y){var x=new Float32Array(u*s),v=Math.pow(2,-o),_=-1;for(const N of y){var D=(t(N,++_,y)+l)*v,C=(e(N,_,y)+l)*v,A=+n(N,_,y);if(A&&D>=0&&D<u&&C>=0&&C<s){var $=Math.floor(D),T=Math.floor(C),S=D-$-.5,k=C-T-.5;x[$+T*u]+=(1-S)*(1-k)*A,x[$+1+T*u]+=S*(1-k)*A,x[$+1+(T+1)*u]+=S*k*A,x[$+(T+1)*u]+=(1-S)*k*A}}return Lx({data:x,width:u,height:s},i*v),x}function f(y){var x=d(y),v=c(x),_=Math.pow(2,2*o);return Array.isArray(v)||(v=Vr(Number.MIN_VALUE,Bo(x)/_,v)),$p().size([u,s]).thresholds(v.map(D=>D*_))(x).map((D,C)=>(D.value=+v[C],h(D)))}f.contours=function(y){var x=d(y),v=$p().size([u,s]),_=Math.pow(2,2*o),D=C=>{C=+C;var A=h(v.contour(x,C*_));return A.value=C,A};return Object.defineProperty(D,"max",{get:()=>Bo(x)/_}),D};function h(y){return y.coordinates.forEach(p),y}function p(y){y.forEach(g)}function g(y){y.forEach(m)}function m(y){y[0]=y[0]*Math.pow(2,o)-l,y[1]=y[1]*Math.pow(2,o)-l}function b(){return l=i*3,u=r+l*2>>o,s=a+l*2>>o,f}return f.x=function(y){return arguments.length?(t=typeof y=="function"?y:gr(+y),f):t},f.y=function(y){return arguments.length?(e=typeof y=="function"?y:gr(+y),f):e},f.weight=function(y){return arguments.length?(n=typeof y=="function"?y:gr(+y),f):n},f.size=function(y){if(!arguments.length)return[r,a];var x=+y[0],v=+y[1];if(!(x>=0&&v>=0))throw new Error("invalid size");return r=x,a=v,b()},f.cellSize=function(y){if(!arguments.length)return 1<<o;if(!((y=+y)>=1))throw new Error("invalid cell size");return o=Math.floor(Math.log(y)/Math.LN2),b()},f.thresholds=function(y){return arguments.length?(c=typeof y=="function"?y:Array.isArray(y)?gr(k$.call(y)):gr(y),f):c},f.bandwidth=function(y){if(!arguments.length)return Math.sqrt(i*(i+1));if(!((y=+y)>=0))throw new Error("invalid bandwidth");return i=(Math.sqrt(4*y*y+1)-1)/2,b()},f}const Gn=11102230246251565e-32,ee=134217729,qz=(3+8*Gn)*Gn;function Dp(t,e,n,r,a){let i,o,l,u,s=e[0],c=r[0],d=0,f=0;c>s==c>-s?(i=s,s=e[++d]):(i=c,c=r[++f]);let h=0;if(d<t&&f<n)for(c>s==c>-s?(o=s+i,l=i-(o-s),s=e[++d]):(o=c+i,l=i-(o-c),c=r[++f]),i=o,l!==0&&(a[h++]=l);d<t&&f<n;)c>s==c>-s?(o=i+s,u=o-i,l=i-(o-u)+(s-u),s=e[++d]):(o=i+c,u=o-i,l=i-(o-u)+(c-u),c=r[++f]),i=o,l!==0&&(a[h++]=l);for(;d<t;)o=i+s,u=o-i,l=i-(o-u)+(s-u),s=e[++d],i=o,l!==0&&(a[h++]=l);for(;f<n;)o=i+c,u=o-i,l=i-(o-u)+(c-u),c=r[++f],i=o,l!==0&&(a[h++]=l);return(i!==0||h===0)&&(a[h++]=i),h}function Zz(t,e){let n=e[0];for(let r=1;r<t;r++)n+=e[r];return n}function Qo(t){return new Float64Array(t)}const Jz=(3+16*Gn)*Gn,Kz=(2+12*Gn)*Gn,Qz=(9+64*Gn)*Gn*Gn,fi=Qo(4),z$=Qo(8),O$=Qo(12),G$=Qo(16),se=Qo(4);function tO(t,e,n,r,a,i,o){let l,u,s,c,d,f,h,p,g,m,b,y,x,v,_,D,C,A;const $=t-a,T=n-a,S=e-i,k=r-i;v=$*k,f=ee*$,h=f-(f-$),p=$-h,f=ee*k,g=f-(f-k),m=k-g,_=p*m-(v-h*g-p*g-h*m),D=S*T,f=ee*S,h=f-(f-S),p=S-h,f=ee*T,g=f-(f-T),m=T-g,C=p*m-(D-h*g-p*g-h*m),b=_-C,d=_-b,fi[0]=_-(b+d)+(d-C),y=v+b,d=y-v,x=v-(y-d)+(b-d),b=x-D,d=x-b,fi[1]=x-(b+d)+(d-D),A=y+b,d=A-y,fi[2]=y-(A-d)+(b-d),fi[3]=A;let N=Zz(4,fi),E=Kz*o;if(N>=E||-N>=E||(d=t-$,l=t-($+d)+(d-a),d=n-T,s=n-(T+d)+(d-a),d=e-S,u=e-(S+d)+(d-i),d=r-k,c=r-(k+d)+(d-i),l===0&&u===0&&s===0&&c===0)||(E=Qz*o+qz*Math.abs(N),N+=$*c+k*l-(S*s+T*u),N>=E||-N>=E))return N;v=l*k,f=ee*l,h=f-(f-l),p=l-h,f=ee*k,g=f-(f-k),m=k-g,_=p*m-(v-h*g-p*g-h*m),D=u*T,f=ee*u,h=f-(f-u),p=u-h,f=ee*T,g=f-(f-T),m=T-g,C=p*m-(D-h*g-p*g-h*m),b=_-C,d=_-b,se[0]=_-(b+d)+(d-C),y=v+b,d=y-v,x=v-(y-d)+(b-d),b=x-D,d=x-b,se[1]=x-(b+d)+(d-D),A=y+b,d=A-y,se[2]=y-(A-d)+(b-d),se[3]=A;const P=Dp(4,fi,4,se,z$);v=$*c,f=ee*$,h=f-(f-$),p=$-h,f=ee*c,g=f-(f-c),m=c-g,_=p*m-(v-h*g-p*g-h*m),D=S*s,f=ee*S,h=f-(f-S),p=S-h,f=ee*s,g=f-(f-s),m=s-g,C=p*m-(D-h*g-p*g-h*m),b=_-C,d=_-b,se[0]=_-(b+d)+(d-C),y=v+b,d=y-v,x=v-(y-d)+(b-d),b=x-D,d=x-b,se[1]=x-(b+d)+(d-D),A=y+b,d=A-y,se[2]=y-(A-d)+(b-d),se[3]=A;const B=Dp(P,z$,4,se,O$);v=l*c,f=ee*l,h=f-(f-l),p=l-h,f=ee*c,g=f-(f-c),m=c-g,_=p*m-(v-h*g-p*g-h*m),D=u*s,f=ee*u,h=f-(f-u),p=u-h,f=ee*s,g=f-(f-s),m=s-g,C=p*m-(D-h*g-p*g-h*m),b=_-C,d=_-b,se[0]=_-(b+d)+(d-C),y=v+b,d=y-v,x=v-(y-d)+(b-d),b=x-D,d=x-b,se[1]=x-(b+d)+(d-D),A=y+b,d=A-y,se[2]=y-(A-d)+(b-d),se[3]=A;const R=Dp(B,O$,4,se,G$);return G$[R-1]}function zu(t,e,n,r,a,i){const o=(e-i)*(n-a),l=(t-a)*(r-i),u=o-l,s=Math.abs(o+l);return Math.abs(u)>=Jz*s?u:-tO(t,e,n,r,a,i,s)}const j$=Math.pow(2,-52),Ou=new Uint32Array(512);class Gu{static from(e,n=iO,r=oO){const a=e.length,i=new Float64Array(a*2);for(let o=0;o<a;o++){const l=e[o];i[2*o]=n(l),i[2*o+1]=r(l)}return new Gu(i)}constructor(e){const n=e.length>>1;if(n>0&&typeof e[0]!="number")throw new Error("Expected coords to contain numbers.");this.coords=e;const 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(){const{coords:e,_hullPrev:n,_hullNext:r,_hullTri:a,_hullHash:i}=this,o=e.length>>1;let l=1/0,u=1/0,s=-1/0,c=-1/0;for(let $=0;$<o;$++){const T=e[2*$],S=e[2*$+1];T<l&&(l=T),S<u&&(u=S),T>s&&(s=T),S>c&&(c=S),this._ids[$]=$}const d=(l+s)/2,f=(u+c)/2;let h,p,g;for(let $=0,T=1/0;$<o;$++){const S=_p(d,f,e[2*$],e[2*$+1]);S<T&&(h=$,T=S)}const m=e[2*h],b=e[2*h+1];for(let $=0,T=1/0;$<o;$++){if($===h)continue;const S=_p(m,b,e[2*$],e[2*$+1]);S<T&&S>0&&(p=$,T=S)}let y=e[2*p],x=e[2*p+1],v=1/0;for(let $=0;$<o;$++){if($===h||$===p)continue;const T=rO(m,b,y,x,e[2*$],e[2*$+1]);T<v&&(g=$,v=T)}let _=e[2*g],D=e[2*g+1];if(v===1/0){for(let S=0;S<o;S++)this._dists[S]=e[2*S]-e[0]||e[2*S+1]-e[1];di(this._ids,this._dists,0,o-1);const $=new Uint32Array(o);let T=0;for(let S=0,k=-1/0;S<o;S++){const N=this._ids[S],E=this._dists[N];E>k&&($[T++]=N,k=E)}this.hull=$.subarray(0,T),this.triangles=new Uint32Array(0),this.halfedges=new Uint32Array(0);return}if(zu(m,b,y,x,_,D)<0){const $=p,T=y,S=x;p=g,y=_,x=D,g=$,_=T,D=S}const C=aO(m,b,y,x,_,D);this._cx=C.x,this._cy=C.y;for(let $=0;$<o;$++)this._dists[$]=_p(e[2*$],e[2*$+1],C.x,C.y);di(this._ids,this._dists,0,o-1),this._hullStart=h;let A=3;r[h]=n[g]=p,r[p]=n[h]=g,r[g]=n[p]=h,a[h]=0,a[p]=1,a[g]=2,i.fill(-1),i[this._hashKey(m,b)]=h,i[this._hashKey(y,x)]=p,i[this._hashKey(_,D)]=g,this.trianglesLen=0,this._addTriangle(h,p,g,-1,-1,-1);for(let $=0,T,S;$<this._ids.length;$++){const k=this._ids[$],N=e[2*k],E=e[2*k+1];if($>0&&Math.abs(N-T)<=j$&&Math.abs(E-S)<=j$||(T=N,S=E,k===h||k===p||k===g))continue;let P=0;for(let z=0,V=this._hashKey(N,E);z<this._hashSize&&(P=i[(V+z)%this._hashSize],!(P!==-1&&P!==r[P]));z++);P=n[P];let B=P,R;for(;R=r[B],zu(N,E,e[2*B],e[2*B+1],e[2*R],e[2*R+1])>=0;)if(B=R,B===P){B=-1;break}if(B===-1)continue;let F=this._addTriangle(B,k,r[B],-1,-1,a[B]);a[k]=this._legalize(F+2),a[B]=F,A++;let M=r[B];for(;R=r[M],zu(N,E,e[2*M],e[2*M+1],e[2*R],e[2*R+1])<0;)F=this._addTriangle(M,k,R,a[k],-1,a[M]),a[k]=this._legalize(F+2),r[M]=M,A--,M=R;if(B===P)for(;R=n[B],zu(N,E,e[2*R],e[2*R+1],e[2*B],e[2*B+1])<0;)F=this._addTriangle(R,k,B,-1,a[B],a[R]),this._legalize(F+2),a[R]=F,r[B]=B,A--,B=R;this._hullStart=n[k]=B,r[B]=n[M]=k,r[k]=M,i[this._hashKey(N,E)]=k,i[this._hashKey(e[2*B],e[2*B+1])]=B}this.hull=new Uint32Array(A);for(let $=0,T=this._hullStart;$<A;$++)this.hull[$]=T,T=r[T];this.triangles=this._triangles.subarray(0,this.trianglesLen),this.halfedges=this._halfedges.subarray(0,this.trianglesLen)}_hashKey(e,n){return Math.floor(eO(e-this._cx,n-this._cy)*this._hashSize)%this._hashSize}_legalize(e){const{_triangles:n,_halfedges:r,coords:a}=this;let i=0,o=0;for(;;){const l=r[e],u=e-e%3;if(o=u+(e+2)%3,l===-1){if(i===0)break;e=Ou[--i];continue}const s=l-l%3,c=u+(e+1)%3,d=s+(l+2)%3,f=n[o],h=n[e],p=n[c],g=n[d];if(nO(a[2*f],a[2*f+1],a[2*h],a[2*h+1],a[2*p],a[2*p+1],a[2*g],a[2*g+1])){n[e]=g,n[l]=f;const m=r[d];if(m===-1){let y=this._hullStart;do{if(this._hullTri[y]===d){this._hullTri[y]=e;break}y=this._hullPrev[y]}while(y!==this._hullStart)}this._link(e,m),this._link(l,r[o]),this._link(o,d);const b=s+(l+1)%3;i<Ou.length&&(Ou[i++]=b)}else{if(i===0)break;e=Ou[--i]}}return o}_link(e,n){this._halfedges[e]=n,n!==-1&&(this._halfedges[n]=e)}_addTriangle(e,n,r,a,i,o){const l=this.trianglesLen;return this._triangles[l]=e,this._triangles[l+1]=n,this._triangles[l+2]=r,this._link(l,a),this._link(l+1,i),this._link(l+2,o),this.trianglesLen+=3,l}}function eO(t,e){const n=t/(Math.abs(t)+Math.abs(e));return(e>0?3-n:1+n)/4}function _p(t,e,n,r){const a=t-n,i=e-r;return a*a+i*i}function nO(t,e,n,r,a,i,o,l){const u=t-o,s=e-l,c=n-o,d=r-l,f=a-o,h=i-l,p=u*u+s*s,g=c*c+d*d,m=f*f+h*h;return u*(d*m-g*h)-s*(c*m-g*f)+p*(c*h-d*f)<0}function rO(t,e,n,r,a,i){const o=n-t,l=r-e,u=a-t,s=i-e,c=o*o+l*l,d=u*u+s*s,f=.5/(o*s-l*u),h=(s*c-l*d)*f,p=(o*d-u*c)*f;return h*h+p*p}function aO(t,e,n,r,a,i){const o=n-t,l=r-e,u=a-t,s=i-e,c=o*o+l*l,d=u*u+s*s,f=.5/(o*s-l*u),h=t+(s*c-l*d)*f,p=e+(o*d-u*c)*f;return{x:h,y:p}}function di(t,e,n,r){if(r-n<=20)for(let a=n+1;a<=r;a++){const i=t[a],o=e[i];let l=a-1;for(;l>=n&&e[t[l]]>o;)t[l+1]=t[l--];t[l+1]=i}else{const a=n+r>>1;let i=n+1,o=r;tl(t,a,i),e[t[n]]>e[t[r]]&&tl(t,n,r),e[t[i]]>e[t[r]]&&tl(t,i,r),e[t[n]]>e[t[i]]&&tl(t,n,i);const l=t[i],u=e[l];for(;;){do i++;while(e[t[i]]<u);do o--;while(e[t[o]]>u);if(o<i)break;tl(t,i,o)}t[n+1]=t[o],t[o]=l,r-i+1>=o-n?(di(t,e,i,r),di(t,e,n,o-1)):(di(t,e,n,o-1),di(t,e,i,r))}}function tl(t,e,n){const r=t[e];t[e]=t[n],t[n]=r}function iO(t){return t[0]}function oO(t){return t[1]}const V$=1e-6;class aa{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;const a=e+r,i=n;if(r<0)throw new Error("negative radius");this._x1===null?this._+=`M${a},${i}`:(Math.abs(this._x1-a)>V$||Math.abs(this._y1-i)>V$)&&(this._+="L"+a+","+i),r&&(this._+=`A${r},${r},0,1,1,${e-r},${n}A${r},${r},0,1,1,${this._x1=a},${this._y1=i}`)}rect(e,n,r,a){this._+=`M${this._x0=this._x1=+e},${this._y0=this._y1=+n}h${+r}v${+a}h${-r}Z`}value(){return this._||null}}class Ap{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}}class Y${constructor(e,[n,r,a,i]=[0,0,960,500]){if(!((a=+a)>=(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=a,this.xmin=n,this.ymax=i,this.ymin=r,this._init()}update(){return this.delaunay.update(),this._init(),this}_init(){const{delaunay:{points:e,hull:n,triangles:r},vectors:a}=this;let i,o;const l=this.circumcenters=this._circumcenters.subarray(0,r.length/3*2);for(let g=0,m=0,b=r.length,y,x;g<b;g+=3,m+=2){const v=r[g]*2,_=r[g+1]*2,D=r[g+2]*2,C=e[v],A=e[v+1],$=e[_],T=e[_+1],S=e[D],k=e[D+1],N=$-C,E=T-A,P=S-C,B=k-A,R=(N*B-E*P)*2;if(Math.abs(R)<1e-9){if(i===void 0){i=o=0;for(const M of n)i+=e[M*2],o+=e[M*2+1];i/=n.length,o/=n.length}const F=1e9*Math.sign((i-C)*B-(o-A)*P);y=(C+S)/2-F*B,x=(A+k)/2+F*P}else{const F=1/R,M=N*N+E*E,z=P*P+B*B;y=C+(B*M-E*z)*F,x=A+(N*z-P*M)*F}l[m]=y,l[m+1]=x}let u=n[n.length-1],s,c=u*4,d,f=e[2*u],h,p=e[2*u+1];a.fill(0);for(let g=0;g<n.length;++g)u=n[g],s=c,d=f,h=p,c=u*4,f=e[2*u],p=e[2*u+1],a[s+2]=a[c]=h-p,a[s+3]=a[c+1]=f-d}render(e){const n=e==null?e=new aa:void 0,{delaunay:{halfedges:r,inedges:a,hull:i},circumcenters:o,vectors:l}=this;if(i.length<=1)return null;for(let c=0,d=r.length;c<d;++c){const f=r[c];if(f<c)continue;const h=Math.floor(c/3)*2,p=Math.floor(f/3)*2,g=o[h],m=o[h+1],b=o[p],y=o[p+1];this._renderSegment(g,m,b,y,e)}let u,s=i[i.length-1];for(let c=0;c<i.length;++c){u=s,s=i[c];const d=Math.floor(a[s]/3)*2,f=o[d],h=o[d+1],p=u*4,g=this._project(f,h,l[p+2],l[p+3]);g&&this._renderSegment(f,h,g[0],g[1],e)}return n&&n.value()}renderBounds(e){const n=e==null?e=new aa:void 0;return e.rect(this.xmin,this.ymin,this.xmax-this.xmin,this.ymax-this.ymin),n&&n.value()}renderCell(e,n){const r=n==null?n=new aa:void 0,a=this._clip(e);if(a===null||!a.length)return;n.moveTo(a[0],a[1]);let i=a.length;for(;a[0]===a[i-2]&&a[1]===a[i-1]&&i>1;)i-=2;for(let o=2;o<i;o+=2)(a[o]!==a[o-2]||a[o+1]!==a[o-1])&&n.lineTo(a[o],a[o+1]);return n.closePath(),r&&r.value()}*cellPolygons(){const{delaunay:{points:e}}=this;for(let n=0,r=e.length/2;n<r;++n){const a=this.cellPolygon(n);a&&(a.index=n,yield a)}}cellPolygon(e){const n=new Ap;return this.renderCell(e,n),n.value()}_renderSegment(e,n,r,a,i){let o;const l=this._regioncode(e,n),u=this._regioncode(r,a);l===0&&u===0?(i.moveTo(e,n),i.lineTo(r,a)):(o=this._clipSegment(e,n,r,a,l,u))&&(i.moveTo(o[0],o[1]),i.lineTo(o[2],o[3]))}contains(e,n,r){return n=+n,n!==n||(r=+r,r!==r)?!1:this.delaunay._step(e,n,r)===e}*neighbors(e){const n=this._clip(e);if(n)for(const r of this.delaunay.neighbors(e)){const a=this._clip(r);if(a){t:for(let i=0,o=n.length;i<o;i+=2)for(let l=0,u=a.length;l<u;l+=2)if(n[i]===a[l]&&n[i+1]===a[l+1]&&n[(i+2)%o]===a[(l+u-2)%u]&&n[(i+3)%o]===a[(l+u-1)%u]){yield r;break t}}}}_cell(e){const{circumcenters:n,delaunay:{inedges:r,halfedges:a,triangles:i}}=this,o=r[e];if(o===-1)return null;const l=[];let u=o;do{const s=Math.floor(u/3);if(l.push(n[s*2],n[s*2+1]),u=u%3===2?u-2:u+1,i[u]!==e)break;u=a[u]}while(u!==o&&u!==-1);return l}_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];const n=this._cell(e);if(n===null)return null;const{vectors:r}=this,a=e*4;return this._simplify(r[a]||r[a+1]?this._clipInfinite(e,n,r[a],r[a+1],r[a+2],r[a+3]):this._clipFinite(e,n))}_clipFinite(e,n){const r=n.length;let a=null,i,o,l=n[r-2],u=n[r-1],s,c=this._regioncode(l,u),d,f=0;for(let h=0;h<r;h+=2)if(i=l,o=u,l=n[h],u=n[h+1],s=c,c=this._regioncode(l,u),s===0&&c===0)d=f,f=0,a?a.push(l,u):a=[l,u];else{let p,g,m,b,y;if(s===0){if((p=this._clipSegment(i,o,l,u,s,c))===null)continue;[g,m,b,y]=p}else{if((p=this._clipSegment(l,u,i,o,c,s))===null)continue;[b,y,g,m]=p,d=f,f=this._edgecode(g,m),d&&f&&this._edge(e,d,f,a,a.length),a?a.push(g,m):a=[g,m]}d=f,f=this._edgecode(b,y),d&&f&&this._edge(e,d,f,a,a.length),a?a.push(b,y):a=[b,y]}if(a)d=f,f=this._edgecode(a[0],a[1]),d&&f&&this._edge(e,d,f,a,a.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 a}_clipSegment(e,n,r,a,i,o){const l=i<o;for(l&&([e,n,r,a,i,o]=[r,a,e,n,o,i]);;){if(i===0&&o===0)return l?[r,a,e,n]:[e,n,r,a];if(i&o)return null;let u,s,c=i||o;c&8?(u=e+(r-e)*(this.ymax-n)/(a-n),s=this.ymax):c&4?(u=e+(r-e)*(this.ymin-n)/(a-n),s=this.ymin):c&2?(s=n+(a-n)*(this.xmax-e)/(r-e),u=this.xmax):(s=n+(a-n)*(this.xmin-e)/(r-e),u=this.xmin),i?(e=u,n=s,i=this._regioncode(e,n)):(r=u,a=s,o=this._regioncode(r,a))}}_clipInfinite(e,n,r,a,i,o){let l=Array.from(n),u;if((u=this._project(l[0],l[1],r,a))&&l.unshift(u[0],u[1]),(u=this._project(l[l.length-2],l[l.length-1],i,o))&&l.push(u[0],u[1]),l=this._clipFinite(e,l))for(let s=0,c=l.length,d,f=this._edgecode(l[c-2],l[c-1]);s<c;s+=2)d=f,f=this._edgecode(l[s],l[s+1]),d&&f&&(s=this._edge(e,d,f,l,s),c=l.length);else this.contains(e,(this.xmin+this.xmax)/2,(this.ymin+this.ymax)/2)&&(l=[this.xmin,this.ymin,this.xmax,this.ymin,this.xmax,this.ymax,this.xmin,this.ymax]);return l}_edge(e,n,r,a,i){for(;n!==r;){let o,l;switch(n){case 5:n=4;continue;case 4:n=6,o=this.xmax,l=this.ymin;break;case 6:n=2;continue;case 2:n=10,o=this.xmax,l=this.ymax;break;case 10:n=8;continue;case 8:n=9,o=this.xmin,l=this.ymax;break;case 9:n=1;continue;case 1:n=5,o=this.xmin,l=this.ymin;break}(a[i]!==o||a[i+1]!==l)&&this.contains(e,o,l)&&(a.splice(i,0,o,l),i+=2)}return i}_project(e,n,r,a){let i=1/0,o,l,u;if(a<0){if(n<=this.ymin)return null;(o=(this.ymin-n)/a)<i&&(u=this.ymin,l=e+(i=o)*r)}else if(a>0){if(n>=this.ymax)return null;(o=(this.ymax-n)/a)<i&&(u=this.ymax,l=e+(i=o)*r)}if(r>0){if(e>=this.xmax)return null;(o=(this.xmax-e)/r)<i&&(l=this.xmax,u=n+(i=o)*a)}else if(r<0){if(e<=this.xmin)return null;(o=(this.xmin-e)/r)<i&&(l=this.xmin,u=n+(i=o)*a)}return[l,u]}_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){const r=(n+2)%e.length,a=(n+4)%e.length;(e[n]===e[r]&&e[r]===e[a]||e[n+1]===e[r+1]&&e[r+1]===e[a+1])&&(e.splice(r,2),n-=2)}e.length||(e=null)}return e}}const lO=2*Math.PI,hi=Math.pow;function sO(t){return t[0]}function uO(t){return t[1]}function cO(t){const{triangles:e,coords:n}=t;for(let r=0;r<e.length;r+=3){const a=2*e[r],i=2*e[r+1],o=2*e[r+2];if((n[o]-n[a])*(n[i+1]-n[a+1])-(n[i]-n[a])*(n[o+1]-n[a+1])>1e-10)return!1}return!0}function fO(t,e,n){return[t+Math.sin(t+e)*n,e+Math.cos(t-e)*n]}class Cp{static from(e,n=sO,r=uO,a){return new Cp("length"in e?dO(e,n,r,a):Float64Array.from(hO(e,n,r,a)))}constructor(e){this._delaunator=new Gu(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(){const e=this._delaunator,n=this.points;if(e.hull&&e.hull.length>2&&cO(e)){this.collinear=Int32Array.from({length:n.length/2},(f,h)=>h).sort((f,h)=>n[2*f]-n[2*h]||n[2*f+1]-n[2*h+1]);const u=this.collinear[0],s=this.collinear[this.collinear.length-1],c=[n[2*u],n[2*u+1],n[2*s],n[2*s+1]],d=1e-8*Math.hypot(c[3]-c[1],c[2]-c[0]);for(let f=0,h=n.length/2;f<h;++f){const p=fO(n[2*f],n[2*f+1],d);n[2*f]=p[0],n[2*f+1]=p[1]}this._delaunator=new Gu(n)}else delete this.collinear;const r=this.halfedges=this._delaunator.halfedges,a=this.hull=this._delaunator.hull,i=this.triangles=this._delaunator.triangles,o=this.inedges.fill(-1),l=this._hullIndex.fill(-1);for(let u=0,s=r.length;u<s;++u){const c=i[u%3===2?u-2:u+1];(r[u]===-1||o[c]===-1)&&(o[c]=u)}for(let u=0,s=a.length;u<s;++u)l[a[u]]=u;a.length<=2&&a.length>0&&(this.triangles=new Int32Array(3).fill(-1),this.halfedges=new Int32Array(3).fill(-1),this.triangles[0]=a[0],o[a[0]]=1,a.length===2&&(o[a[1]]=0,this.triangles[1]=a[1],this.triangles[2]=a[1]))}voronoi(e){return new Y$(this,e)}*neighbors(e){const{inedges:n,hull:r,_hullIndex:a,halfedges:i,triangles:o,collinear:l}=this;if(l){const d=l.indexOf(e);d>0&&(yield l[d-1]),d<l.length-1&&(yield l[d+1]);return}const u=n[e];if(u===-1)return;let s=u,c=-1;do{if(yield c=o[s],s=s%3===2?s-2:s+1,o[s]!==e)return;if(s=i[s],s===-1){const d=r[(a[e]+1)%r.length];d!==c&&(yield d);return}}while(s!==u)}find(e,n,r=0){if(e=+e,e!==e||(n=+n,n!==n))return-1;const a=r;let i;for(;(i=this._step(r,e,n))>=0&&i!==r&&i!==a;)r=i;return i}_step(e,n,r){const{inedges:a,hull:i,_hullIndex:o,halfedges:l,triangles:u,points:s}=this;if(a[e]===-1||!s.length)return(e+1)%(s.length>>1);let c=e,d=hi(n-s[e*2],2)+hi(r-s[e*2+1],2);const f=a[e];let h=f;do{let p=u[h];const g=hi(n-s[p*2],2)+hi(r-s[p*2+1],2);if(g<d&&(d=g,c=p),h=h%3===2?h-2:h+1,u[h]!==e)break;if(h=l[h],h===-1){if(h=i[(o[e]+1)%i.length],h!==p&&hi(n-s[h*2],2)+hi(r-s[h*2+1],2)<d)return h;break}}while(h!==f);return c}render(e){const n=e==null?e=new aa:void 0,{points:r,halfedges:a,triangles:i}=this;for(let o=0,l=a.length;o<l;++o){const u=a[o];if(u<o)continue;const s=i[o]*2,c=i[u]*2;e.moveTo(r[s],r[s+1]),e.lineTo(r[c],r[c+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;const r=e==null?e=new aa:void 0,{points:a}=this;for(let i=0,o=a.length;i<o;i+=2){const l=a[i],u=a[i+1];e.moveTo(l+n,u),e.arc(l,u,n,0,lO)}return r&&r.value()}renderHull(e){const n=e==null?e=new aa:void 0,{hull:r,points:a}=this,i=r[0]*2,o=r.length;e.moveTo(a[i],a[i+1]);for(let l=1;l<o;++l){const u=2*r[l];e.lineTo(a[u],a[u+1])}return e.closePath(),n&&n.value()}hullPolygon(){const e=new Ap;return this.renderHull(e),e.value()}renderTriangle(e,n){const r=n==null?n=new aa:void 0,{points:a,triangles:i}=this,o=i[e*=3]*2,l=i[e+1]*2,u=i[e+2]*2;return n.moveTo(a[o],a[o+1]),n.lineTo(a[l],a[l+1]),n.lineTo(a[u],a[u+1]),n.closePath(),r&&r.value()}*trianglePolygons(){const{triangles:e}=this;for(let n=0,r=e.length/3;n<r;++n)yield this.trianglePolygon(n)}trianglePolygon(e){const n=new Ap;return this.renderTriangle(e,n),n.value()}}function dO(t,e,n,r){const a=t.length,i=new Float64Array(a*2);for(let o=0;o<a;++o){const l=t[o];i[o*2]=e.call(r,l,o,t),i[o*2+1]=n.call(r,l,o,t)}return i}function*hO(t,e,n,r){let a=0;for(const i of t)yield e.call(r,i,a,t),yield n.call(r,i,a,t),++a}var H$={},Pp={},Fp=34,el=10,Tp=13;function W$(t){return new Function("d","return {"+t.map(function(e,n){return JSON.stringify(e)+": d["+n+'] || ""'}).join(",")+"}")}function pO(t,e){var n=W$(t);return function(r,a){return e(n(r),a,t)}}function X$(t){var e=Object.create(null),n=[];return t.forEach(function(r){for(var a in r)a in e||n.push(e[a]=a)}),n}function Pe(t,e){var n=t+"",r=n.length;return r<e?new Array(e-r+1).join(0)+n:n}function mO(t){return t<0?"-"+Pe(-t,6):t>9999?"+"+Pe(t,6):Pe(t,4)}function gO(t){var e=t.getUTCHours(),n=t.getUTCMinutes(),r=t.getUTCSeconds(),a=t.getUTCMilliseconds();return isNaN(t)?"Invalid Date":mO(t.getUTCFullYear())+"-"+Pe(t.getUTCMonth()+1,2)+"-"+Pe(t.getUTCDate(),2)+(a?"T"+Pe(e,2)+":"+Pe(n,2)+":"+Pe(r,2)+"."+Pe(a,3)+"Z":r?"T"+Pe(e,2)+":"+Pe(n,2)+":"+Pe(r,2)+"Z":n||e?"T"+Pe(e,2)+":"+Pe(n,2)+"Z":"")}function ju(t){var e=new RegExp('["'+t+`
59
- \r]`),n=t.charCodeAt(0);function r(d,f){var h,p,g=a(d,function(m,b){if(h)return h(m,b-1);p=m,h=f?pO(m,f):W$(m)});return g.columns=p||[],g}function a(d,f){var h=[],p=d.length,g=0,m=0,b,y=p<=0,x=!1;d.charCodeAt(p-1)===el&&--p,d.charCodeAt(p-1)===Tp&&--p;function v(){if(y)return Pp;if(x)return x=!1,H$;var D,C=g,A;if(d.charCodeAt(C)===Fp){for(;g++<p&&d.charCodeAt(g)!==Fp||d.charCodeAt(++g)===Fp;);return(D=g)>=p?y=!0:(A=d.charCodeAt(g++))===el?x=!0:A===Tp&&(x=!0,d.charCodeAt(g)===el&&++g),d.slice(C+1,D-1).replace(/""/g,'"')}for(;g<p;){if((A=d.charCodeAt(D=g++))===el)x=!0;else if(A===Tp)x=!0,d.charCodeAt(g)===el&&++g;else if(A!==n)continue;return d.slice(C,D)}return y=!0,d.slice(C,p)}for(;(b=v())!==Pp;){for(var _=[];b!==H$&&b!==Pp;)_.push(b),b=v();f&&(_=f(_,m++))==null||h.push(_)}return h}function i(d,f){return d.map(function(h){return f.map(function(p){return c(h[p])}).join(t)})}function o(d,f){return f==null&&(f=X$(d)),[f.map(c).join(t)].concat(i(d,f)).join(`
60
- `)}function l(d,f){return f==null&&(f=X$(d)),i(d,f).join(`
61
- `)}function u(d){return d.map(s).join(`
62
- `)}function s(d){return d.map(c).join(t)}function c(d){return d==null?"":d instanceof Date?gO(d):e.test(d+="")?'"'+d.replace(/"/g,'""')+'"':d}return{parse:r,parseRows:a,format:o,formatBody:l,formatRows:u,formatRow:s,formatValue:c}}var ia=ju(","),U$=ia.parse,yO=ia.parseRows,bO=ia.format,xO=ia.formatBody,vO=ia.formatRows,$O=ia.formatRow,SO=ia.formatValue,oa=ju(" "),q$=oa.parse,DO=oa.parseRows,_O=oa.format,AO=oa.formatBody,CO=oa.formatRows,PO=oa.formatRow,FO=oa.formatValue;function TO(t){for(var e in t){var n=t[e].trim(),r,a;if(!n)n=null;else if(n==="true")n=!0;else if(n==="false")n=!1;else if(n==="NaN")n=NaN;else if(!isNaN(r=+n))n=r;else if(a=n.match(/^([-+]\d{2})?\d{4}(-\d{2}(-\d{2})?)?(T\d{2}:\d{2}(:\d{2}(\.\d{3})?)?(Z|[-+]\d{2}:\d{2})?)?$/))wO&&a[4]&&!a[7]&&(n=n.replace(/-/g,"/").replace(/T/," ")),n=new Date(n);else continue;t[e]=n}return t}const wO=new Date("2019-01-01T00:00").getHours()||new Date("2019-07-01T00:00").getHours();function BO(t){if(!t.ok)throw new Error(t.status+" "+t.statusText);return t.blob()}function EO(t,e){return fetch(t,e).then(BO)}function LO(t){if(!t.ok)throw new Error(t.status+" "+t.statusText);return t.arrayBuffer()}function MO(t,e){return fetch(t,e).then(LO)}function RO(t){if(!t.ok)throw new Error(t.status+" "+t.statusText);return t.text()}function Vu(t,e){return fetch(t,e).then(RO)}function Z$(t){return function(e,n,r){return arguments.length===2&&typeof n=="function"&&(r=n,n=void 0),Vu(e,n).then(function(a){return t(a,r)})}}function IO(t,e,n,r){arguments.length===3&&typeof n=="function"&&(r=n,n=void 0);var a=ju(t);return Vu(e,n).then(function(i){return a.parse(i,r)})}var kO=Z$(U$),NO=Z$(q$);function zO(t,e){return new Promise(function(n,r){var a=new Image;for(var i in e)a[i]=e[i];a.onerror=r,a.onload=function(){n(a)},a.src=t})}function OO(t){if(!t.ok)throw new Error(t.status+" "+t.statusText);if(!(t.status===204||t.status===205))return t.json()}function GO(t,e){return fetch(t,e).then(OO)}function wp(t){return(e,n)=>Vu(e,n).then(r=>new DOMParser().parseFromString(r,t))}const jO=wp("application/xml");var VO=wp("text/html"),YO=wp("image/svg+xml");function Bp(t,e){var n,r=1;t==null&&(t=0),e==null&&(e=0);function a(){var i,o=n.length,l,u=0,s=0;for(i=0;i<o;++i)l=n[i],u+=l.x,s+=l.y;for(u=(u/o-t)*r,s=(s/o-e)*r,i=0;i<o;++i)l=n[i],l.x-=u,l.y-=s}return a.initialize=function(i){n=i},a.x=function(i){return arguments.length?(t=+i,a):t},a.y=function(i){return arguments.length?(e=+i,a):e},a.strength=function(i){return arguments.length?(r=+i,a):r},a}function HO(t){const e=+this._x.call(null,t),n=+this._y.call(null,t);return J$(this.cover(e,n),e,n,t)}function J$(t,e,n,r){if(isNaN(e)||isNaN(n))return t;var a,i=t._root,o={data:r},l=t._x0,u=t._y0,s=t._x1,c=t._y1,d,f,h,p,g,m,b,y;if(!i)return t._root=o,t;for(;i.length;)if((g=e>=(d=(l+s)/2))?l=d:s=d,(m=n>=(f=(u+c)/2))?u=f:c=f,a=i,!(i=i[b=m<<1|g]))return a[b]=o,t;if(h=+t._x.call(null,i.data),p=+t._y.call(null,i.data),e===h&&n===p)return o.next=i,a?a[b]=o:t._root=o,t;do a=a?a[b]=new Array(4):t._root=new Array(4),(g=e>=(d=(l+s)/2))?l=d:s=d,(m=n>=(f=(u+c)/2))?u=f:c=f;while((b=m<<1|g)===(y=(p>=f)<<1|h>=d));return a[y]=i,a[b]=o,t}function WO(t){var e,n,r=t.length,a,i,o=new Array(r),l=new Array(r),u=1/0,s=1/0,c=-1/0,d=-1/0;for(n=0;n<r;++n)isNaN(a=+this._x.call(null,e=t[n]))||isNaN(i=+this._y.call(null,e))||(o[n]=a,l[n]=i,a<u&&(u=a),a>c&&(c=a),i<s&&(s=i),i>d&&(d=i));if(u>c||s>d)return this;for(this.cover(u,s).cover(c,d),n=0;n<r;++n)J$(this,o[n],l[n],t[n]);return this}function XO(t,e){if(isNaN(t=+t)||isNaN(e=+e))return this;var n=this._x0,r=this._y0,a=this._x1,i=this._y1;if(isNaN(n))a=(n=Math.floor(t))+1,i=(r=Math.floor(e))+1;else{for(var o=a-n||1,l=this._root,u,s;n>t||t>=a||r>e||e>=i;)switch(s=(e<r)<<1|t<n,u=new Array(4),u[s]=l,l=u,o*=2,s){case 0:a=n+o,i=r+o;break;case 1:n=a-o,i=r+o;break;case 2:a=n+o,r=i-o;break;case 3:n=a-o,r=i-o;break}this._root&&this._root.length&&(this._root=l)}return this._x0=n,this._y0=r,this._x1=a,this._y1=i,this}function UO(){var t=[];return this.visit(function(e){if(!e.length)do t.push(e.data);while(e=e.next)}),t}function qO(t){return arguments.length?this.cover(+t[0][0],+t[0][1]).cover(+t[1][0],+t[1][1]):isNaN(this._x0)?void 0:[[this._x0,this._y0],[this._x1,this._y1]]}function ue(t,e,n,r,a){this.node=t,this.x0=e,this.y0=n,this.x1=r,this.y1=a}function ZO(t,e,n){var r,a=this._x0,i=this._y0,o,l,u,s,c=this._x1,d=this._y1,f=[],h=this._root,p,g;for(h&&f.push(new ue(h,a,i,c,d)),n==null?n=1/0:(a=t-n,i=e-n,c=t+n,d=e+n,n*=n);p=f.pop();)if(!(!(h=p.node)||(o=p.x0)>c||(l=p.y0)>d||(u=p.x1)<a||(s=p.y1)<i))if(h.length){var m=(o+u)/2,b=(l+s)/2;f.push(new ue(h[3],m,b,u,s),new ue(h[2],o,b,m,s),new ue(h[1],m,l,u,b),new ue(h[0],o,l,m,b)),(g=(e>=b)<<1|t>=m)&&(p=f[f.length-1],f[f.length-1]=f[f.length-1-g],f[f.length-1-g]=p)}else{var y=t-+this._x.call(null,h.data),x=e-+this._y.call(null,h.data),v=y*y+x*x;if(v<n){var _=Math.sqrt(n=v);a=t-_,i=e-_,c=t+_,d=e+_,r=h.data}}return r}function JO(t){if(isNaN(c=+this._x.call(null,t))||isNaN(d=+this._y.call(null,t)))return this;var e,n=this._root,r,a,i,o=this._x0,l=this._y0,u=this._x1,s=this._y1,c,d,f,h,p,g,m,b;if(!n)return this;if(n.length)for(;;){if((p=c>=(f=(o+u)/2))?o=f:u=f,(g=d>=(h=(l+s)/2))?l=h:s=h,e=n,!(n=n[m=g<<1|p]))return this;if(!n.length)break;(e[m+1&3]||e[m+2&3]||e[m+3&3])&&(r=e,b=m)}for(;n.data!==t;)if(a=n,!(n=n.next))return this;return(i=n.next)&&delete n.next,a?(i?a.next=i:delete a.next,this):e?(i?e[m]=i:delete e[m],(n=e[0]||e[1]||e[2]||e[3])&&n===(e[3]||e[2]||e[1]||e[0])&&!n.length&&(r?r[b]=n:this._root=n),this):(this._root=i,this)}function KO(t){for(var e=0,n=t.length;e<n;++e)this.remove(t[e]);return this}function QO(){return this._root}function tG(){var t=0;return this.visit(function(e){if(!e.length)do++t;while(e=e.next)}),t}function eG(t){var e=[],n,r=this._root,a,i,o,l,u;for(r&&e.push(new ue(r,this._x0,this._y0,this._x1,this._y1));n=e.pop();)if(!t(r=n.node,i=n.x0,o=n.y0,l=n.x1,u=n.y1)&&r.length){var s=(i+l)/2,c=(o+u)/2;(a=r[3])&&e.push(new ue(a,s,c,l,u)),(a=r[2])&&e.push(new ue(a,i,c,s,u)),(a=r[1])&&e.push(new ue(a,s,o,l,c)),(a=r[0])&&e.push(new ue(a,i,o,s,c))}return this}function nG(t){var e=[],n=[],r;for(this._root&&e.push(new ue(this._root,this._x0,this._y0,this._x1,this._y1));r=e.pop();){var a=r.node;if(a.length){var i,o=r.x0,l=r.y0,u=r.x1,s=r.y1,c=(o+u)/2,d=(l+s)/2;(i=a[0])&&e.push(new ue(i,o,l,c,d)),(i=a[1])&&e.push(new ue(i,c,l,u,d)),(i=a[2])&&e.push(new ue(i,o,d,c,s)),(i=a[3])&&e.push(new ue(i,c,d,u,s))}n.push(r)}for(;r=n.pop();)t(r.node,r.x0,r.y0,r.x1,r.y1);return this}function rG(t){return t[0]}function aG(t){return arguments.length?(this._x=t,this):this._x}function iG(t){return t[1]}function oG(t){return arguments.length?(this._y=t,this):this._y}function Yu(t,e,n){var r=new Ep(e??rG,n??iG,NaN,NaN,NaN,NaN);return t==null?r:r.addAll(t)}function Ep(t,e,n,r,a,i){this._x=t,this._y=e,this._x0=n,this._y0=r,this._x1=a,this._y1=i,this._root=void 0}function K$(t){for(var e={data:t.data},n=e;t=t.next;)n=n.next={data:t.data};return e}var ce=Yu.prototype=Ep.prototype;ce.copy=function(){var t=new Ep(this._x,this._y,this._x0,this._y0,this._x1,this._y1),e=this._root,n,r;if(!e)return t;if(!e.length)return t._root=K$(e),t;for(n=[{source:e,target:t._root=new Array(4)}];e=n.pop();)for(var a=0;a<4;++a)(r=e.source[a])&&(r.length?n.push({source:r,target:e.target[a]=new Array(4)}):e.target[a]=K$(r));return t},ce.add=HO,ce.addAll=WO,ce.cover=XO,ce.data=UO,ce.extent=qO,ce.find=ZO,ce.remove=JO,ce.removeAll=KO,ce.root=QO,ce.size=tG,ce.visit=eG,ce.visitAfter=nG,ce.x=aG,ce.y=oG;function jt(t){return function(){return t}}function yr(t){return(t()-.5)*1e-6}function lG(t){return t.x+t.vx}function sG(t){return t.y+t.vy}function Hu(t){var e,n,r,a=1,i=1;typeof t!="function"&&(t=jt(t==null?1:+t));function o(){for(var s,c=e.length,d,f,h,p,g,m,b=0;b<i;++b)for(d=Yu(e,lG,sG).visitAfter(l),s=0;s<c;++s)f=e[s],g=n[f.index],m=g*g,h=f.x+f.vx,p=f.y+f.vy,d.visit(y);function y(x,v,_,D,C){var A=x.data,$=x.r,T=g+$;if(A){if(A.index>f.index){var S=h-A.x-A.vx,k=p-A.y-A.vy,N=S*S+k*k;N<T*T&&(S===0&&(S=yr(r),N+=S*S),k===0&&(k=yr(r),N+=k*k),N=(T-(N=Math.sqrt(N)))/N*a,f.vx+=(S*=N)*(T=($*=$)/(m+$)),f.vy+=(k*=N)*T,A.vx-=S*(T=1-T),A.vy-=k*T)}return}return v>h+T||D<h-T||_>p+T||C<p-T}}function l(s){if(s.data)return s.r=n[s.data.index];for(var c=s.r=0;c<4;++c)s[c]&&s[c].r>s.r&&(s.r=s[c].r)}function u(){if(e){var s,c=e.length,d;for(n=new Array(c),s=0;s<c;++s)d=e[s],n[d.index]=+t(d,s,e)}}return o.initialize=function(s,c){e=s,r=c,u()},o.iterations=function(s){return arguments.length?(i=+s,o):i},o.strength=function(s){return arguments.length?(a=+s,o):a},o.radius=function(s){return arguments.length?(t=typeof s=="function"?s:jt(+s),u(),o):t},o}function uG(t){return t.index}function Q$(t,e){var n=t.get(e);if(!n)throw new Error("node not found: "+e);return n}function Lp(t){var e=uG,n=d,r,a=jt(30),i,o,l,u,s,c=1;t==null&&(t=[]);function d(m){return 1/Math.min(l[m.source.index],l[m.target.index])}function f(m){for(var b=0,y=t.length;b<c;++b)for(var x=0,v,_,D,C,A,$,T;x<y;++x)v=t[x],_=v.source,D=v.target,C=D.x+D.vx-_.x-_.vx||yr(s),A=D.y+D.vy-_.y-_.vy||yr(s),$=Math.sqrt(C*C+A*A),$=($-i[x])/$*m*r[x],C*=$,A*=$,D.vx-=C*(T=u[x]),D.vy-=A*T,_.vx+=C*(T=1-T),_.vy+=A*T}function h(){if(o){var m,b=o.length,y=t.length,x=new Map(o.map((_,D)=>[e(_,D,o),_])),v;for(m=0,l=new Array(b);m<y;++m)v=t[m],v.index=m,typeof v.source!="object"&&(v.source=Q$(x,v.source)),typeof v.target!="object"&&(v.target=Q$(x,v.target)),l[v.source.index]=(l[v.source.index]||0)+1,l[v.target.index]=(l[v.target.index]||0)+1;for(m=0,u=new Array(y);m<y;++m)v=t[m],u[m]=l[v.source.index]/(l[v.source.index]+l[v.target.index]);r=new Array(y),p(),i=new Array(y),g()}}function p(){if(o)for(var m=0,b=t.length;m<b;++m)r[m]=+n(t[m],m,t)}function g(){if(o)for(var m=0,b=t.length;m<b;++m)i[m]=+a(t[m],m,t)}return f.initialize=function(m,b){o=m,s=b,h()},f.links=function(m){return arguments.length?(t=m,h(),f):t},f.id=function(m){return arguments.length?(e=m,f):e},f.iterations=function(m){return arguments.length?(c=+m,f):c},f.strength=function(m){return arguments.length?(n=typeof m=="function"?m:jt(+m),p(),f):n},f.distance=function(m){return arguments.length?(a=typeof m=="function"?m:jt(+m),g(),f):a},f}const cG=1664525,fG=1013904223,t2=4294967296;function dG(){let t=1;return()=>(t=(cG*t+fG)%t2)/t2}function hG(t){return t.x}function pG(t){return t.y}var mG=10,gG=Math.PI*(3-Math.sqrt(5));function Wu(t){var e,n=1,r=.001,a=1-Math.pow(r,1/300),i=0,o=.6,l=new Map,u=Bu(d),s=Hr("tick","end"),c=dG();t==null&&(t=[]);function d(){f(),s.call("tick",e),n<r&&(u.stop(),s.call("end",e))}function f(g){var m,b=t.length,y;g===void 0&&(g=1);for(var x=0;x<g;++x)for(n+=(i-n)*a,l.forEach(function(v){v(n)}),m=0;m<b;++m)y=t[m],y.fx==null?y.x+=y.vx*=o:(y.x=y.fx,y.vx=0),y.fy==null?y.y+=y.vy*=o:(y.y=y.fy,y.vy=0);return e}function h(){for(var g=0,m=t.length,b;g<m;++g){if(b=t[g],b.index=g,b.fx!=null&&(b.x=b.fx),b.fy!=null&&(b.y=b.fy),isNaN(b.x)||isNaN(b.y)){var y=mG*Math.sqrt(.5+g),x=g*gG;b.x=y*Math.cos(x),b.y=y*Math.sin(x)}(isNaN(b.vx)||isNaN(b.vy))&&(b.vx=b.vy=0)}}function p(g){return g.initialize&&g.initialize(t,c),g}return h(),e={tick:f,restart:function(){return u.restart(d),e},stop:function(){return u.stop(),e},nodes:function(g){return arguments.length?(t=g,h(),l.forEach(p),e):t},alpha:function(g){return arguments.length?(n=+g,e):n},alphaMin:function(g){return arguments.length?(r=+g,e):r},alphaDecay:function(g){return arguments.length?(a=+g,e):+a},alphaTarget:function(g){return arguments.length?(i=+g,e):i},velocityDecay:function(g){return arguments.length?(o=1-g,e):1-o},randomSource:function(g){return arguments.length?(c=g,l.forEach(p),e):c},force:function(g,m){return arguments.length>1?(m==null?l.delete(g):l.set(g,p(m)),e):l.get(g)},find:function(g,m,b){var y=0,x=t.length,v,_,D,C,A;for(b==null?b=1/0:b*=b,y=0;y<x;++y)C=t[y],v=g-C.x,_=m-C.y,D=v*v+_*_,D<b&&(A=C,b=D);return A},on:function(g,m){return arguments.length>1?(s.on(g,m),e):s.on(g)}}}function Xu(){var t,e,n,r,a=jt(-30),i,o=1,l=1/0,u=.81;function s(h){var p,g=t.length,m=Yu(t,hG,pG).visitAfter(d);for(r=h,p=0;p<g;++p)e=t[p],m.visit(f)}function c(){if(t){var h,p=t.length,g;for(i=new Array(p),h=0;h<p;++h)g=t[h],i[g.index]=+a(g,h,t)}}function d(h){var p=0,g,m,b=0,y,x,v;if(h.length){for(y=x=v=0;v<4;++v)(g=h[v])&&(m=Math.abs(g.value))&&(p+=g.value,b+=m,y+=m*g.x,x+=m*g.y);h.x=y/b,h.y=x/b}else{g=h,g.x=g.data.x,g.y=g.data.y;do p+=i[g.data.index];while(g=g.next)}h.value=p}function f(h,p,g,m){if(!h.value)return!0;var b=h.x-e.x,y=h.y-e.y,x=m-p,v=b*b+y*y;if(x*x/u<v)return v<l&&(b===0&&(b=yr(n),v+=b*b),y===0&&(y=yr(n),v+=y*y),v<o&&(v=Math.sqrt(o*v)),e.vx+=b*h.value*r/v,e.vy+=y*h.value*r/v),!0;if(!(h.length||v>=l)){(h.data!==e||h.next)&&(b===0&&(b=yr(n),v+=b*b),y===0&&(y=yr(n),v+=y*y),v<o&&(v=Math.sqrt(o*v)));do h.data!==e&&(x=i[h.data.index]*r/v,e.vx+=b*x,e.vy+=y*x);while(h=h.next)}}return s.initialize=function(h,p){t=h,n=p,c()},s.strength=function(h){return arguments.length?(a=typeof h=="function"?h:jt(+h),c(),s):a},s.distanceMin=function(h){return arguments.length?(o=h*h,s):Math.sqrt(o)},s.distanceMax=function(h){return arguments.length?(l=h*h,s):Math.sqrt(l)},s.theta=function(h){return arguments.length?(u=h*h,s):Math.sqrt(u)},s}function yG(t,e,n){var r,a=jt(.1),i,o;typeof t!="function"&&(t=jt(+t)),e==null&&(e=0),n==null&&(n=0);function l(s){for(var c=0,d=r.length;c<d;++c){var f=r[c],h=f.x-e||1e-6,p=f.y-n||1e-6,g=Math.sqrt(h*h+p*p),m=(o[c]-g)*i[c]*s/g;f.vx+=h*m,f.vy+=p*m}}function u(){if(r){var s,c=r.length;for(i=new Array(c),o=new Array(c),s=0;s<c;++s)o[s]=+t(r[s],s,r),i[s]=isNaN(o[s])?0:+a(r[s],s,r)}}return l.initialize=function(s){r=s,u()},l.strength=function(s){return arguments.length?(a=typeof s=="function"?s:jt(+s),u(),l):a},l.radius=function(s){return arguments.length?(t=typeof s=="function"?s:jt(+s),u(),l):t},l.x=function(s){return arguments.length?(e=+s,l):e},l.y=function(s){return arguments.length?(n=+s,l):n},l}function e2(t){var e=jt(.1),n,r,a;typeof t!="function"&&(t=jt(t==null?0:+t));function i(l){for(var u=0,s=n.length,c;u<s;++u)c=n[u],c.vx+=(a[u]-c.x)*r[u]*l}function o(){if(n){var l,u=n.length;for(r=new Array(u),a=new Array(u),l=0;l<u;++l)r[l]=isNaN(a[l]=+t(n[l],l,n))?0:+e(n[l],l,n)}}return i.initialize=function(l){n=l,o()},i.strength=function(l){return arguments.length?(e=typeof l=="function"?l:jt(+l),o(),i):e},i.x=function(l){return arguments.length?(t=typeof l=="function"?l:jt(+l),o(),i):t},i}function n2(t){var e=jt(.1),n,r,a;typeof t!="function"&&(t=jt(t==null?0:+t));function i(l){for(var u=0,s=n.length,c;u<s;++u)c=n[u],c.vy+=(a[u]-c.y)*r[u]*l}function o(){if(n){var l,u=n.length;for(r=new Array(u),a=new Array(u),l=0;l<u;++l)r[l]=isNaN(a[l]=+t(n[l],l,n))?0:+e(n[l],l,n)}}return i.initialize=function(l){n=l,o()},i.strength=function(l){return arguments.length?(e=typeof l=="function"?l:jt(+l),o(),i):e},i.y=function(l){return arguments.length?(t=typeof l=="function"?l:jt(+l),o(),i):t},i}function bG(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)}function Uu(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 pi(t){return t=Uu(Math.abs(t)),t?t[1]:NaN}function xG(t,e){return function(n,r){for(var a=n.length,i=[],o=0,l=t[0],u=0;a>0&&l>0&&(u+l+1>r&&(l=Math.max(1,r-u)),i.push(n.substring(a-=l,a+l)),!((u+=l+1)>r));)l=t[o=(o+1)%t.length];return i.reverse().join(e)}}function vG(t){return function(e){return e.replace(/[0-9]/g,function(n){return t[+n]})}}var $G=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function mi(t){if(!(e=$G.exec(t)))throw new Error("invalid format: "+t);var e;return new qu({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]})}mi.prototype=qu.prototype;function qu(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+""}qu.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 SG(t){t:for(var e=t.length,n=1,r=-1,a;n<e;++n)switch(t[n]){case".":r=a=n;break;case"0":r===0&&(r=n),a=n;break;default:if(!+t[n])break t;r>0&&(r=0);break}return r>0?t.slice(0,r)+t.slice(a+1):t}var r2;function DG(t,e){var n=Uu(t,e);if(!n)return t+"";var r=n[0],a=n[1],i=a-(r2=Math.max(-8,Math.min(8,Math.floor(a/3)))*3)+1,o=r.length;return i===o?r:i>o?r+new Array(i-o+1).join("0"):i>0?r.slice(0,i)+"."+r.slice(i):"0."+new Array(1-i).join("0")+Uu(t,Math.max(0,e+i-1))[0]}function a2(t,e){var n=Uu(t,e);if(!n)return t+"";var r=n[0],a=n[1];return a<0?"0."+new Array(-a).join("0")+r:r.length>a+1?r.slice(0,a+1)+"."+r.slice(a+1):r+new Array(a-r.length+2).join("0")}const i2={"%":(t,e)=>(t*100).toFixed(e),b:t=>Math.round(t).toString(2),c:t=>t+"",d:bG,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)=>a2(t*100,e),r:a2,s:DG,X:t=>Math.round(t).toString(16).toUpperCase(),x:t=>Math.round(t).toString(16)};function o2(t){return t}var l2=Array.prototype.map,s2=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function u2(t){var e=t.grouping===void 0||t.thousands===void 0?o2:xG(l2.call(t.grouping,Number),t.thousands+""),n=t.currency===void 0?"":t.currency[0]+"",r=t.currency===void 0?"":t.currency[1]+"",a=t.decimal===void 0?".":t.decimal+"",i=t.numerals===void 0?o2:vG(l2.call(t.numerals,String)),o=t.percent===void 0?"%":t.percent+"",l=t.minus===void 0?"−":t.minus+"",u=t.nan===void 0?"NaN":t.nan+"";function s(d){d=mi(d);var f=d.fill,h=d.align,p=d.sign,g=d.symbol,m=d.zero,b=d.width,y=d.comma,x=d.precision,v=d.trim,_=d.type;_==="n"?(y=!0,_="g"):i2[_]||(x===void 0&&(x=12),v=!0,_="g"),(m||f==="0"&&h==="=")&&(m=!0,f="0",h="=");var D=g==="$"?n:g==="#"&&/[boxX]/.test(_)?"0"+_.toLowerCase():"",C=g==="$"?r:/[%p]/.test(_)?o:"",A=i2[_],$=/[defgprs%]/.test(_);x=x===void 0?6:/[gprs]/.test(_)?Math.max(1,Math.min(21,x)):Math.max(0,Math.min(20,x));function T(S){var k=D,N=C,E,P,B;if(_==="c")N=A(S)+N,S="";else{S=+S;var R=S<0||1/S<0;if(S=isNaN(S)?u:A(Math.abs(S),x),v&&(S=SG(S)),R&&+S==0&&p!=="+"&&(R=!1),k=(R?p==="("?p:l:p==="-"||p==="("?"":p)+k,N=(_==="s"?s2[8+r2/3]:"")+N+(R&&p==="("?")":""),$){for(E=-1,P=S.length;++E<P;)if(B=S.charCodeAt(E),48>B||B>57){N=(B===46?a+S.slice(E+1):S.slice(E))+N,S=S.slice(0,E);break}}}y&&!m&&(S=e(S,1/0));var F=k.length+S.length+N.length,M=F<b?new Array(b-F+1).join(f):"";switch(y&&m&&(S=e(M+S,M.length?b-N.length:1/0),M=""),h){case"<":S=k+S+N+M;break;case"=":S=k+M+S+N;break;case"^":S=M.slice(0,F=M.length>>1)+k+S+N+M.slice(F);break;default:S=M+k+S+N;break}return i(S)}return T.toString=function(){return d+""},T}function c(d,f){var h=s((d=mi(d),d.type="f",d)),p=Math.max(-8,Math.min(8,Math.floor(pi(f)/3)))*3,g=Math.pow(10,-p),m=s2[8+p/3];return function(b){return h(g*b)+m}}return{format:s,formatPrefix:c}}var Zu,nl,Mp;c2({thousands:",",grouping:[3],currency:["$",""]});function c2(t){return Zu=u2(t),nl=Zu.format,Mp=Zu.formatPrefix,Zu}function f2(t){return Math.max(0,-pi(Math.abs(t)))}function d2(t,e){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(pi(e)/3)))*3-pi(Math.abs(t)))}function h2(t,e){return t=Math.abs(t),e=Math.abs(e)-t,Math.max(0,pi(e)-pi(t))+1}var lt=1e-6,Ju=1e-12,mt=Math.PI,It=mt/2,Ku=mt/4,fe=mt*2,At=180/mt,ot=mt/180,yt=Math.abs,gi=Math.atan,de=Math.atan2,at=Math.cos,Qu=Math.ceil,p2=Math.exp,Rp=Math.hypot,tc=Math.log,Ip=Math.pow,rt=Math.sin,Ge=Math.sign||function(t){return t>0?1:t<0?-1:0},Wt=Math.sqrt,kp=Math.tan;function m2(t){return t>1?0:t<-1?mt:Math.acos(t)}function he(t){return t>1?It:t<-1?-It:Math.asin(t)}function g2(t){return(t=rt(t/2))*t}function Et(){}function ec(t,e){t&&b2.hasOwnProperty(t.type)&&b2[t.type](t,e)}var y2={Feature:function(t,e){ec(t.geometry,e)},FeatureCollection:function(t,e){for(var n=t.features,r=-1,a=n.length;++r<a;)ec(n[r].geometry,e)}},b2={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,a=n.length;++r<a;)t=n[r],e.point(t[0],t[1],t[2])},LineString:function(t,e){Np(t.coordinates,e,0)},MultiLineString:function(t,e){for(var n=t.coordinates,r=-1,a=n.length;++r<a;)Np(n[r],e,0)},Polygon:function(t,e){x2(t.coordinates,e)},MultiPolygon:function(t,e){for(var n=t.coordinates,r=-1,a=n.length;++r<a;)x2(n[r],e)},GeometryCollection:function(t,e){for(var n=t.geometries,r=-1,a=n.length;++r<a;)ec(n[r],e)}};function Np(t,e,n){var r=-1,a=t.length-n,i;for(e.lineStart();++r<a;)i=t[r],e.point(i[0],i[1],i[2]);e.lineEnd()}function x2(t,e){var n=-1,r=t.length;for(e.polygonStart();++n<r;)Np(t[n],e,1);e.polygonEnd()}function ln(t,e){t&&y2.hasOwnProperty(t.type)?y2[t.type](t,e):ec(t,e)}var nc=new Gt,rc=new Gt,v2,$2,zp,Op,Gp,$n={point:Et,lineStart:Et,lineEnd:Et,polygonStart:function(){nc=new Gt,$n.lineStart=_G,$n.lineEnd=AG},polygonEnd:function(){var t=+nc;rc.add(t<0?fe+t:t),this.lineStart=this.lineEnd=this.point=Et},sphere:function(){rc.add(fe)}};function _G(){$n.point=CG}function AG(){S2(v2,$2)}function CG(t,e){$n.point=S2,v2=t,$2=e,t*=ot,e*=ot,zp=t,Op=at(e=e/2+Ku),Gp=rt(e)}function S2(t,e){t*=ot,e*=ot,e=e/2+Ku;var n=t-zp,r=n>=0?1:-1,a=r*n,i=at(e),o=rt(e),l=Gp*o,u=Op*i+l*at(a),s=l*r*rt(a);nc.add(de(s,u)),zp=t,Op=i,Gp=o}function PG(t){return rc=new Gt,ln(t,$n),rc*2}function ac(t){return[de(t[1],t[0]),he(t[2])]}function la(t){var e=t[0],n=t[1],r=at(n);return[r*at(e),r*rt(e),rt(n)]}function ic(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function yi(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 jp(t,e){t[0]+=e[0],t[1]+=e[1],t[2]+=e[2]}function oc(t,e){return[t[0]*e,t[1]*e,t[2]*e]}function lc(t){var e=Wt(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=e,t[1]/=e,t[2]/=e}var Lt,Fe,kt,Ie,sa,D2,_2,bi,rl,br,jn,Vn={point:Vp,lineStart:C2,lineEnd:P2,polygonStart:function(){Vn.point=F2,Vn.lineStart=FG,Vn.lineEnd=TG,rl=new Gt,$n.polygonStart()},polygonEnd:function(){$n.polygonEnd(),Vn.point=Vp,Vn.lineStart=C2,Vn.lineEnd=P2,nc<0?(Lt=-(kt=180),Fe=-(Ie=90)):rl>lt?Ie=90:rl<-1e-6&&(Fe=-90),jn[0]=Lt,jn[1]=kt},sphere:function(){Lt=-(kt=180),Fe=-(Ie=90)}};function Vp(t,e){br.push(jn=[Lt=t,kt=t]),e<Fe&&(Fe=e),e>Ie&&(Ie=e)}function A2(t,e){var n=la([t*ot,e*ot]);if(bi){var r=yi(bi,n),a=[r[1],-r[0],0],i=yi(a,r);lc(i),i=ac(i);var o=t-sa,l=o>0?1:-1,u=i[0]*At*l,s,c=yt(o)>180;c^(l*sa<u&&u<l*t)?(s=i[1]*At,s>Ie&&(Ie=s)):(u=(u+360)%360-180,c^(l*sa<u&&u<l*t)?(s=-i[1]*At,s<Fe&&(Fe=s)):(e<Fe&&(Fe=e),e>Ie&&(Ie=e))),c?t<sa?ke(Lt,t)>ke(Lt,kt)&&(kt=t):ke(t,kt)>ke(Lt,kt)&&(Lt=t):kt>=Lt?(t<Lt&&(Lt=t),t>kt&&(kt=t)):t>sa?ke(Lt,t)>ke(Lt,kt)&&(kt=t):ke(t,kt)>ke(Lt,kt)&&(Lt=t)}else br.push(jn=[Lt=t,kt=t]);e<Fe&&(Fe=e),e>Ie&&(Ie=e),bi=n,sa=t}function C2(){Vn.point=A2}function P2(){jn[0]=Lt,jn[1]=kt,Vn.point=Vp,bi=null}function F2(t,e){if(bi){var n=t-sa;rl.add(yt(n)>180?n+(n>0?360:-360):n)}else D2=t,_2=e;$n.point(t,e),A2(t,e)}function FG(){$n.lineStart()}function TG(){F2(D2,_2),$n.lineEnd(),yt(rl)>lt&&(Lt=-(kt=180)),jn[0]=Lt,jn[1]=kt,bi=null}function ke(t,e){return(e-=t)<0?e+360:e}function wG(t,e){return t[0]-e[0]}function T2(t,e){return t[0]<=t[1]?t[0]<=e&&e<=t[1]:e<t[0]||t[1]<e}function BG(t){var e,n,r,a,i,o,l;if(Ie=kt=-(Lt=Fe=1/0),br=[],ln(t,Vn),n=br.length){for(br.sort(wG),e=1,r=br[0],i=[r];e<n;++e)a=br[e],T2(r,a[0])||T2(r,a[1])?(ke(r[0],a[1])>ke(r[0],r[1])&&(r[1]=a[1]),ke(a[0],r[1])>ke(r[0],r[1])&&(r[0]=a[0])):i.push(r=a);for(o=-1/0,n=i.length-1,e=0,r=i[n];e<=n;r=a,++e)a=i[e],(l=ke(r[1],a[0]))>o&&(o=l,Lt=a[0],kt=r[1])}return br=jn=null,Lt===1/0||Fe===1/0?[[NaN,NaN],[NaN,NaN]]:[[Lt,Fe],[kt,Ie]]}var al,sc,uc,cc,fc,dc,hc,pc,Yp,Hp,Wp,w2,B2,pe,me,ge,sn={sphere:Et,point:Xp,lineStart:E2,lineEnd:L2,polygonStart:function(){sn.lineStart=MG,sn.lineEnd=RG},polygonEnd:function(){sn.lineStart=E2,sn.lineEnd=L2}};function Xp(t,e){t*=ot,e*=ot;var n=at(e);il(n*at(t),n*rt(t),rt(e))}function il(t,e,n){++al,uc+=(t-uc)/al,cc+=(e-cc)/al,fc+=(n-fc)/al}function E2(){sn.point=EG}function EG(t,e){t*=ot,e*=ot;var n=at(e);pe=n*at(t),me=n*rt(t),ge=rt(e),sn.point=LG,il(pe,me,ge)}function LG(t,e){t*=ot,e*=ot;var n=at(e),r=n*at(t),a=n*rt(t),i=rt(e),o=de(Wt((o=me*i-ge*a)*o+(o=ge*r-pe*i)*o+(o=pe*a-me*r)*o),pe*r+me*a+ge*i);sc+=o,dc+=o*(pe+(pe=r)),hc+=o*(me+(me=a)),pc+=o*(ge+(ge=i)),il(pe,me,ge)}function L2(){sn.point=Xp}function MG(){sn.point=IG}function RG(){M2(w2,B2),sn.point=Xp}function IG(t,e){w2=t,B2=e,t*=ot,e*=ot,sn.point=M2;var n=at(e);pe=n*at(t),me=n*rt(t),ge=rt(e),il(pe,me,ge)}function M2(t,e){t*=ot,e*=ot;var n=at(e),r=n*at(t),a=n*rt(t),i=rt(e),o=me*i-ge*a,l=ge*r-pe*i,u=pe*a-me*r,s=Rp(o,l,u),c=he(s),d=s&&-c/s;Yp.add(d*o),Hp.add(d*l),Wp.add(d*u),sc+=c,dc+=c*(pe+(pe=r)),hc+=c*(me+(me=a)),pc+=c*(ge+(ge=i)),il(pe,me,ge)}function kG(t){al=sc=uc=cc=fc=dc=hc=pc=0,Yp=new Gt,Hp=new Gt,Wp=new Gt,ln(t,sn);var e=+Yp,n=+Hp,r=+Wp,a=Rp(e,n,r);return a<Ju&&(e=dc,n=hc,r=pc,sc<lt&&(e=uc,n=cc,r=fc),a=Rp(e,n,r),a<Ju)?[NaN,NaN]:[de(n,e)*At,he(r/a)*At]}function xi(t){return function(){return t}}function Up(t,e){function n(r,a){return r=t(r,a),e(r[0],r[1])}return t.invert&&e.invert&&(n.invert=function(r,a){return r=e.invert(r,a),r&&t.invert(r[0],r[1])}),n}function qp(t,e){return yt(t)>mt&&(t-=Math.round(t/fe)*fe),[t,e]}qp.invert=qp;function Zp(t,e,n){return(t%=fe)?e||n?Up(I2(t),k2(e,n)):I2(t):e||n?k2(e,n):qp}function R2(t){return function(e,n){return e+=t,yt(e)>mt&&(e-=Math.round(e/fe)*fe),[e,n]}}function I2(t){var e=R2(t);return e.invert=R2(-t),e}function k2(t,e){var n=at(t),r=rt(t),a=at(e),i=rt(e);function o(l,u){var s=at(u),c=at(l)*s,d=rt(l)*s,f=rt(u),h=f*n+c*r;return[de(d*a-h*i,c*n-f*r),he(h*a+d*i)]}return o.invert=function(l,u){var s=at(u),c=at(l)*s,d=rt(l)*s,f=rt(u),h=f*a-d*i;return[de(d*a+f*i,c*n+h*r),he(h*n-c*r)]},o}function N2(t){t=Zp(t[0]*ot,t[1]*ot,t.length>2?t[2]*ot:0);function e(n){return n=t(n[0]*ot,n[1]*ot),n[0]*=At,n[1]*=At,n}return e.invert=function(n){return n=t.invert(n[0]*ot,n[1]*ot),n[0]*=At,n[1]*=At,n},e}function z2(t,e,n,r,a,i){if(n){var o=at(e),l=rt(e),u=r*n;a==null?(a=e+r*fe,i=e-u/2):(a=O2(o,a),i=O2(o,i),(r>0?a<i:a>i)&&(a+=r*fe));for(var s,c=a;r>0?c>i:c<i;c-=u)s=ac([o,-l*at(c),-l*rt(c)]),t.point(s[0],s[1])}}function O2(t,e){e=la(e),e[0]-=t,lc(e);var n=m2(-e[1]);return((-e[2]<0?-n:n)+fe-lt)%fe}function NG(){var t=xi([0,0]),e=xi(90),n=xi(2),r,a,i={point:o};function o(u,s){r.push(u=a(u,s)),u[0]*=At,u[1]*=At}function l(){var u=t.apply(this,arguments),s=e.apply(this,arguments)*ot,c=n.apply(this,arguments)*ot;return r=[],a=Zp(-u[0]*ot,-u[1]*ot,0).invert,z2(i,s,c,1),u={type:"Polygon",coordinates:[r]},r=a=null,u}return l.center=function(u){return arguments.length?(t=typeof u=="function"?u:xi([+u[0],+u[1]]),l):t},l.radius=function(u){return arguments.length?(e=typeof u=="function"?u:xi(+u),l):e},l.precision=function(u){return arguments.length?(n=typeof u=="function"?u:xi(+u),l):n},l}function G2(){var t=[],e;return{point:function(n,r,a){e.push([n,r,a])},lineStart:function(){t.push(e=[])},lineEnd:Et,rejoin:function(){t.length>1&&t.push(t.pop().concat(t.shift()))},result:function(){var n=t;return t=[],e=null,n}}}function mc(t,e){return yt(t[0]-e[0])<lt&&yt(t[1]-e[1])<lt}function gc(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 j2(t,e,n,r,a){var i=[],o=[],l,u;if(t.forEach(function(p){if(!((g=p.length-1)<=0)){var g,m=p[0],b=p[g],y;if(mc(m,b)){if(!m[2]&&!b[2]){for(a.lineStart(),l=0;l<g;++l)a.point((m=p[l])[0],m[1]);a.lineEnd();return}b[0]+=2*lt}i.push(y=new gc(m,p,null,!0)),o.push(y.o=new gc(m,null,y,!1)),i.push(y=new gc(b,p,null,!1)),o.push(y.o=new gc(b,null,y,!0))}}),!!i.length){for(o.sort(e),V2(i),V2(o),l=0,u=o.length;l<u;++l)o[l].e=n=!n;for(var s=i[0],c,d;;){for(var f=s,h=!0;f.v;)if((f=f.n)===s)return;c=f.z,a.lineStart();do{if(f.v=f.o.v=!0,f.e){if(h)for(l=0,u=c.length;l<u;++l)a.point((d=c[l])[0],d[1]);else r(f.x,f.n.x,1,a);f=f.n}else{if(h)for(c=f.p.z,l=c.length-1;l>=0;--l)a.point((d=c[l])[0],d[1]);else r(f.x,f.p.x,-1,a);f=f.p}f=f.o,c=f.z,h=!h}while(!f.v);a.lineEnd()}}}function V2(t){if(e=t.length){for(var e,n=0,r=t[0],a;++n<e;)r.n=a=t[n],a.p=r,r=a;r.n=a=t[0],a.p=r}}function Jp(t){return yt(t[0])<=mt?t[0]:Ge(t[0])*((yt(t[0])+mt)%fe-mt)}function Y2(t,e){var n=Jp(e),r=e[1],a=rt(r),i=[rt(n),-at(n),0],o=0,l=0,u=new Gt;a===1?r=It+lt:a===-1&&(r=-It-lt);for(var s=0,c=t.length;s<c;++s)if(f=(d=t[s]).length)for(var d,f,h=d[f-1],p=Jp(h),g=h[1]/2+Ku,m=rt(g),b=at(g),y=0;y<f;++y,p=v,m=D,b=C,h=x){var x=d[y],v=Jp(x),_=x[1]/2+Ku,D=rt(_),C=at(_),A=v-p,$=A>=0?1:-1,T=$*A,S=T>mt,k=m*D;if(u.add(de(k*$*rt(T),b*C+k*at(T))),o+=S?A+$*fe:A,S^p>=n^v>=n){var N=yi(la(h),la(x));lc(N);var E=yi(i,N);lc(E);var P=(S^A>=0?-1:1)*he(E[2]);(r>P||r===P&&(N[0]||N[1]))&&(l+=S^A>=0?1:-1)}}return(o<-1e-6||o<lt&&u<-1e-12)^l&1}function H2(t,e,n,r){return function(a){var i=e(a),o=G2(),l=e(o),u=!1,s,c,d,f={point:h,lineStart:g,lineEnd:m,polygonStart:function(){f.point=b,f.lineStart=y,f.lineEnd=x,c=[],s=[]},polygonEnd:function(){f.point=h,f.lineStart=g,f.lineEnd=m,c=Ah(c);var v=Y2(s,r);c.length?(u||(a.polygonStart(),u=!0),j2(c,OG,v,n,a)):v&&(u||(a.polygonStart(),u=!0),a.lineStart(),n(null,null,1,a),a.lineEnd()),u&&(a.polygonEnd(),u=!1),c=s=null},sphere:function(){a.polygonStart(),a.lineStart(),n(null,null,1,a),a.lineEnd(),a.polygonEnd()}};function h(v,_){t(v,_)&&a.point(v,_)}function p(v,_){i.point(v,_)}function g(){f.point=p,i.lineStart()}function m(){f.point=h,i.lineEnd()}function b(v,_){d.push([v,_]),l.point(v,_)}function y(){l.lineStart(),d=[]}function x(){b(d[0][0],d[0][1]),l.lineEnd();var v=l.clean(),_=o.result(),D,C=_.length,A,$,T;if(d.pop(),s.push(d),d=null,!!C){if(v&1){if($=_[0],(A=$.length-1)>0){for(u||(a.polygonStart(),u=!0),a.lineStart(),D=0;D<A;++D)a.point((T=$[D])[0],T[1]);a.lineEnd()}return}C>1&&v&2&&_.push(_.pop().concat(_.shift())),c.push(_.filter(zG))}}return f}}function zG(t){return t.length>1}function OG(t,e){return((t=t.x)[0]<0?t[1]-It-lt:It-t[1])-((e=e.x)[0]<0?e[1]-It-lt:It-e[1])}const Kp=H2(function(){return!0},GG,VG,[-mt,-It]);function GG(t){var e=NaN,n=NaN,r=NaN,a;return{lineStart:function(){t.lineStart(),a=1},point:function(i,o){var l=i>0?mt:-mt,u=yt(i-e);yt(u-mt)<lt?(t.point(e,n=(n+o)/2>0?It:-It),t.point(r,n),t.lineEnd(),t.lineStart(),t.point(l,n),t.point(i,n),a=0):r!==l&&u>=mt&&(yt(e-r)<lt&&(e-=r*lt),yt(i-l)<lt&&(i-=l*lt),n=jG(e,n,i,o),t.point(r,n),t.lineEnd(),t.lineStart(),t.point(l,n),a=0),t.point(e=i,n=o),r=l},lineEnd:function(){t.lineEnd(),e=n=NaN},clean:function(){return 2-a}}}function jG(t,e,n,r){var a,i,o=rt(t-n);return yt(o)>lt?gi((rt(e)*(i=at(r))*rt(n)-rt(r)*(a=at(e))*rt(t))/(a*i*o)):(e+r)/2}function VG(t,e,n,r){var a;if(t==null)a=n*It,r.point(-mt,a),r.point(0,a),r.point(mt,a),r.point(mt,0),r.point(mt,-a),r.point(0,-a),r.point(-mt,-a),r.point(-mt,0),r.point(-mt,a);else if(yt(t[0]-e[0])>lt){var i=t[0]<e[0]?mt:-mt;a=n*i/2,r.point(-i,a),r.point(0,a),r.point(i,a)}else r.point(e[0],e[1])}function W2(t){var e=at(t),n=2*ot,r=e>0,a=yt(e)>lt;function i(c,d,f,h){z2(h,t,n,f,c,d)}function o(c,d){return at(c)*at(d)>e}function l(c){var d,f,h,p,g;return{lineStart:function(){p=h=!1,g=1},point:function(m,b){var y=[m,b],x,v=o(m,b),_=r?v?0:s(m,b):v?s(m+(m<0?mt:-mt),b):0;if(!d&&(p=h=v)&&c.lineStart(),v!==h&&(x=u(d,y),(!x||mc(d,x)||mc(y,x))&&(y[2]=1)),v!==h)g=0,v?(c.lineStart(),x=u(y,d),c.point(x[0],x[1])):(x=u(d,y),c.point(x[0],x[1],2),c.lineEnd()),d=x;else if(a&&d&&r^v){var D;!(_&f)&&(D=u(y,d,!0))&&(g=0,r?(c.lineStart(),c.point(D[0][0],D[0][1]),c.point(D[1][0],D[1][1]),c.lineEnd()):(c.point(D[1][0],D[1][1]),c.lineEnd(),c.lineStart(),c.point(D[0][0],D[0][1],3)))}v&&(!d||!mc(d,y))&&c.point(y[0],y[1]),d=y,h=v,f=_},lineEnd:function(){h&&c.lineEnd(),d=null},clean:function(){return g|(p&&h)<<1}}}function u(c,d,f){var h=la(c),p=la(d),g=[1,0,0],m=yi(h,p),b=ic(m,m),y=m[0],x=b-y*y;if(!x)return!f&&c;var v=e*b/x,_=-e*y/x,D=yi(g,m),C=oc(g,v),A=oc(m,_);jp(C,A);var $=D,T=ic(C,$),S=ic($,$),k=T*T-S*(ic(C,C)-1);if(!(k<0)){var N=Wt(k),E=oc($,(-T-N)/S);if(jp(E,C),E=ac(E),!f)return E;var P=c[0],B=d[0],R=c[1],F=d[1],M;B<P&&(M=P,P=B,B=M);var z=B-P,V=yt(z-mt)<lt,K=V||z<lt;if(!V&&F<R&&(M=R,R=F,F=M),K?V?R+F>0^E[1]<(yt(E[0]-P)<lt?R:F):R<=E[1]&&E[1]<=F:z>mt^(P<=E[0]&&E[0]<=B)){var q=oc($,(-T+N)/S);return jp(q,C),[E,ac(q)]}}}function s(c,d){var f=r?t:mt-t,h=0;return c<-f?h|=1:c>f&&(h|=2),d<-f?h|=4:d>f&&(h|=8),h}return H2(o,l,i,r?[0,-t]:[-mt,t-mt])}function YG(t,e,n,r,a,i){var o=t[0],l=t[1],u=e[0],s=e[1],c=0,d=1,f=u-o,h=s-l,p;if(p=n-o,!(!f&&p>0)){if(p/=f,f<0){if(p<c)return;p<d&&(d=p)}else if(f>0){if(p>d)return;p>c&&(c=p)}if(p=a-o,!(!f&&p<0)){if(p/=f,f<0){if(p>d)return;p>c&&(c=p)}else if(f>0){if(p<c)return;p<d&&(d=p)}if(p=r-l,!(!h&&p>0)){if(p/=h,h<0){if(p<c)return;p<d&&(d=p)}else if(h>0){if(p>d)return;p>c&&(c=p)}if(p=i-l,!(!h&&p<0)){if(p/=h,h<0){if(p>d)return;p>c&&(c=p)}else if(h>0){if(p<c)return;p<d&&(d=p)}return c>0&&(t[0]=o+c*f,t[1]=l+c*h),d<1&&(e[0]=o+d*f,e[1]=l+d*h),!0}}}}}var yc=1e9,bc=-1e9;function xc(t,e,n,r){function a(s,c){return t<=s&&s<=n&&e<=c&&c<=r}function i(s,c,d,f){var h=0,p=0;if(s==null||(h=o(s,d))!==(p=o(c,d))||u(s,c)<0^d>0)do f.point(h===0||h===3?t:n,h>1?r:e);while((h=(h+d+4)%4)!==p);else f.point(c[0],c[1])}function o(s,c){return yt(s[0]-t)<lt?c>0?0:3:yt(s[0]-n)<lt?c>0?2:1:yt(s[1]-e)<lt?c>0?1:0:c>0?3:2}function l(s,c){return u(s.x,c.x)}function u(s,c){var d=o(s,1),f=o(c,1);return d!==f?d-f:d===0?c[1]-s[1]:d===1?s[0]-c[0]:d===2?s[1]-c[1]:c[0]-s[0]}return function(s){var c=s,d=G2(),f,h,p,g,m,b,y,x,v,_,D,C={point:A,lineStart:k,lineEnd:N,polygonStart:T,polygonEnd:S};function A(P,B){a(P,B)&&c.point(P,B)}function $(){for(var P=0,B=0,R=h.length;B<R;++B)for(var F=h[B],M=1,z=F.length,V=F[0],K,q,j=V[0],U=V[1];M<z;++M)K=j,q=U,V=F[M],j=V[0],U=V[1],q<=r?U>r&&(j-K)*(r-q)>(U-q)*(t-K)&&++P:U<=r&&(j-K)*(r-q)<(U-q)*(t-K)&&--P;return P}function T(){c=d,f=[],h=[],D=!0}function S(){var P=$(),B=D&&P,R=(f=Ah(f)).length;(B||R)&&(s.polygonStart(),B&&(s.lineStart(),i(null,null,1,s),s.lineEnd()),R&&j2(f,l,P,i,s),s.polygonEnd()),c=s,f=h=p=null}function k(){C.point=E,h&&h.push(p=[]),_=!0,v=!1,y=x=NaN}function N(){f&&(E(g,m),b&&v&&d.rejoin(),f.push(d.result())),C.point=A,v&&c.lineEnd()}function E(P,B){var R=a(P,B);if(h&&p.push([P,B]),_)g=P,m=B,b=R,_=!1,R&&(c.lineStart(),c.point(P,B));else if(R&&v)c.point(P,B);else{var F=[y=Math.max(bc,Math.min(yc,y)),x=Math.max(bc,Math.min(yc,x))],M=[P=Math.max(bc,Math.min(yc,P)),B=Math.max(bc,Math.min(yc,B))];YG(F,M,t,e,n,r)?(v||(c.lineStart(),c.point(F[0],F[1])),c.point(M[0],M[1]),R||c.lineEnd(),D=!1):R&&(c.lineStart(),c.point(P,B),D=!1)}y=P,x=B,v=R}return C}}function HG(){var t=0,e=0,n=960,r=500,a,i,o;return o={stream:function(l){return a&&i===l?a:a=xc(t,e,n,r)(i=l)},extent:function(l){return arguments.length?(t=+l[0][0],e=+l[0][1],n=+l[1][0],r=+l[1][1],a=i=null,o):[[t,e],[n,r]]}}}var Qp,tm,vc,$c,vi={sphere:Et,point:Et,lineStart:WG,lineEnd:Et,polygonStart:Et,polygonEnd:Et};function WG(){vi.point=UG,vi.lineEnd=XG}function XG(){vi.point=vi.lineEnd=Et}function UG(t,e){t*=ot,e*=ot,tm=t,vc=rt(e),$c=at(e),vi.point=qG}function qG(t,e){t*=ot,e*=ot;var n=rt(e),r=at(e),a=yt(t-tm),i=at(a),o=rt(a),l=r*o,u=$c*n-vc*r*i,s=vc*n+$c*r*i;Qp.add(de(Wt(l*l+u*u),s)),tm=t,vc=n,$c=r}function X2(t){return Qp=new Gt,ln(t,vi),+Qp}var em=[null,null],ZG={type:"LineString",coordinates:em};function Sc(t,e){return em[0]=t,em[1]=e,X2(ZG)}var U2={Feature:function(t,e){return Dc(t.geometry,e)},FeatureCollection:function(t,e){for(var n=t.features,r=-1,a=n.length;++r<a;)if(Dc(n[r].geometry,e))return!0;return!1}},q2={Sphere:function(){return!0},Point:function(t,e){return Z2(t.coordinates,e)},MultiPoint:function(t,e){for(var n=t.coordinates,r=-1,a=n.length;++r<a;)if(Z2(n[r],e))return!0;return!1},LineString:function(t,e){return J2(t.coordinates,e)},MultiLineString:function(t,e){for(var n=t.coordinates,r=-1,a=n.length;++r<a;)if(J2(n[r],e))return!0;return!1},Polygon:function(t,e){return K2(t.coordinates,e)},MultiPolygon:function(t,e){for(var n=t.coordinates,r=-1,a=n.length;++r<a;)if(K2(n[r],e))return!0;return!1},GeometryCollection:function(t,e){for(var n=t.geometries,r=-1,a=n.length;++r<a;)if(Dc(n[r],e))return!0;return!1}};function Dc(t,e){return t&&q2.hasOwnProperty(t.type)?q2[t.type](t,e):!1}function Z2(t,e){return Sc(t,e)===0}function J2(t,e){for(var n,r,a,i=0,o=t.length;i<o;i++){if(r=Sc(t[i],e),r===0||i>0&&(a=Sc(t[i],t[i-1]),a>0&&n<=a&&r<=a&&(n+r-a)*(1-Math.pow((n-r)/a,2))<Ju*a))return!0;n=r}return!1}function K2(t,e){return!!Y2(t.map(JG),Q2(e))}function JG(t){return t=t.map(Q2),t.pop(),t}function Q2(t){return[t[0]*ot,t[1]*ot]}function KG(t,e){return(t&&U2.hasOwnProperty(t.type)?U2[t.type]:Dc)(t,e)}function tS(t,e,n){var r=dr(t,e-lt,n).concat(e);return function(a){return r.map(function(i){return[a,i]})}}function eS(t,e,n){var r=dr(t,e-lt,n).concat(e);return function(a){return r.map(function(i){return[i,a]})}}function nS(){var t,e,n,r,a,i,o,l,u=10,s=u,c=90,d=360,f,h,p,g,m=2.5;function b(){return{type:"MultiLineString",coordinates:y()}}function y(){return dr(Qu(r/c)*c,n,c).map(p).concat(dr(Qu(l/d)*d,o,d).map(g)).concat(dr(Qu(e/u)*u,t,u).filter(function(x){return yt(x%c)>lt}).map(f)).concat(dr(Qu(i/s)*s,a,s).filter(function(x){return yt(x%d)>lt}).map(h))}return b.lines=function(){return y().map(function(x){return{type:"LineString",coordinates:x}})},b.outline=function(){return{type:"Polygon",coordinates:[p(r).concat(g(o).slice(1),p(n).reverse().slice(1),g(l).reverse().slice(1))]}},b.extent=function(x){return arguments.length?b.extentMajor(x).extentMinor(x):b.extentMinor()},b.extentMajor=function(x){return arguments.length?(r=+x[0][0],n=+x[1][0],l=+x[0][1],o=+x[1][1],r>n&&(x=r,r=n,n=x),l>o&&(x=l,l=o,o=x),b.precision(m)):[[r,l],[n,o]]},b.extentMinor=function(x){return arguments.length?(e=+x[0][0],t=+x[1][0],i=+x[0][1],a=+x[1][1],e>t&&(x=e,e=t,t=x),i>a&&(x=i,i=a,a=x),b.precision(m)):[[e,i],[t,a]]},b.step=function(x){return arguments.length?b.stepMajor(x).stepMinor(x):b.stepMinor()},b.stepMajor=function(x){return arguments.length?(c=+x[0],d=+x[1],b):[c,d]},b.stepMinor=function(x){return arguments.length?(u=+x[0],s=+x[1],b):[u,s]},b.precision=function(x){return arguments.length?(m=+x,f=tS(i,a,90),h=eS(e,t,m),p=tS(l,o,90),g=eS(r,n,m),b):m},b.extentMajor([[-180,-90+lt],[180,90-lt]]).extentMinor([[-180,-80-lt],[180,80+lt]])}function QG(){return nS()()}function tj(t,e){var n=t[0]*ot,r=t[1]*ot,a=e[0]*ot,i=e[1]*ot,o=at(r),l=rt(r),u=at(i),s=rt(i),c=o*at(n),d=o*rt(n),f=u*at(a),h=u*rt(a),p=2*he(Wt(g2(i-r)+o*u*g2(a-n))),g=rt(p),m=p?function(b){var y=rt(b*=p)/g,x=rt(p-b)/g,v=x*c+y*f,_=x*d+y*h,D=x*l+y*s;return[de(_,v)*At,de(D,Wt(v*v+_*_))*At]}:function(){return[n*At,r*At]};return m.distance=p,m}const ol=t=>t;var nm=new Gt,rm=new Gt,rS,aS,am,im,Yn={point:Et,lineStart:Et,lineEnd:Et,polygonStart:function(){Yn.lineStart=ej,Yn.lineEnd=rj},polygonEnd:function(){Yn.lineStart=Yn.lineEnd=Yn.point=Et,nm.add(yt(rm)),rm=new Gt},result:function(){var t=nm/2;return nm=new Gt,t}};function ej(){Yn.point=nj}function nj(t,e){Yn.point=iS,rS=am=t,aS=im=e}function iS(t,e){rm.add(im*t-am*e),am=t,im=e}function rj(){iS(rS,aS)}var $i=1/0,_c=$i,ll=-$i,Ac=ll,Cc={point:aj,lineStart:Et,lineEnd:Et,polygonStart:Et,polygonEnd:Et,result:function(){var t=[[$i,_c],[ll,Ac]];return ll=Ac=-(_c=$i=1/0),t}};function aj(t,e){t<$i&&($i=t),t>ll&&(ll=t),e<_c&&(_c=e),e>Ac&&(Ac=e)}var om=0,lm=0,sl=0,Pc=0,Fc=0,Si=0,sm=0,um=0,ul=0,oS,lS,Sn,Dn,je={point:ua,lineStart:sS,lineEnd:uS,polygonStart:function(){je.lineStart=lj,je.lineEnd=sj},polygonEnd:function(){je.point=ua,je.lineStart=sS,je.lineEnd=uS},result:function(){var t=ul?[sm/ul,um/ul]:Si?[Pc/Si,Fc/Si]:sl?[om/sl,lm/sl]:[NaN,NaN];return om=lm=sl=Pc=Fc=Si=sm=um=ul=0,t}};function ua(t,e){om+=t,lm+=e,++sl}function sS(){je.point=ij}function ij(t,e){je.point=oj,ua(Sn=t,Dn=e)}function oj(t,e){var n=t-Sn,r=e-Dn,a=Wt(n*n+r*r);Pc+=a*(Sn+t)/2,Fc+=a*(Dn+e)/2,Si+=a,ua(Sn=t,Dn=e)}function uS(){je.point=ua}function lj(){je.point=uj}function sj(){cS(oS,lS)}function uj(t,e){je.point=cS,ua(oS=Sn=t,lS=Dn=e)}function cS(t,e){var n=t-Sn,r=e-Dn,a=Wt(n*n+r*r);Pc+=a*(Sn+t)/2,Fc+=a*(Dn+e)/2,Si+=a,a=Dn*t-Sn*e,sm+=a*(Sn+t),um+=a*(Dn+e),ul+=a*3,ua(Sn=t,Dn=e)}function fS(t){this._context=t}fS.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,fe);break}}},result:Et};var cm=new Gt,fm,dS,hS,cl,fl,dl={point:Et,lineStart:function(){dl.point=cj},lineEnd:function(){fm&&pS(dS,hS),dl.point=Et},polygonStart:function(){fm=!0},polygonEnd:function(){fm=null},result:function(){var t=+cm;return cm=new Gt,t}};function cj(t,e){dl.point=pS,dS=cl=t,hS=fl=e}function pS(t,e){cl-=t,fl-=e,cm.add(Wt(cl*cl+fl*fl)),cl=t,fl=e}let mS,Tc,gS,yS;class bS{constructor(e){this._append=e==null?xS:fj(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!==gS||this._append!==Tc){const r=this._radius,a=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`,gS=r,Tc=this._append,yS=this._,this._=a}this._+=yS;break}}}result(){const e=this._;return this._="",e.length?e:null}}function xS(t){let e=1;this._+=t[0];for(const n=t.length;e<n;++e)this._+=arguments[e]+t[e]}function fj(t){const e=Math.floor(t);if(!(e>=0))throw new RangeError(`invalid digits: ${t}`);if(e>15)return xS;if(e!==mS){const n=10**e;mS=e,Tc=function(r){let a=1;this._+=r[0];for(const i=r.length;a<i;++a)this._+=Math.round(arguments[a]*n)/n+r[a]}}return Tc}function dj(t,e){let n=3,r=4.5,a,i;function o(l){return l&&(typeof r=="function"&&i.pointRadius(+r.apply(this,arguments)),ln(l,a(i))),i.result()}return o.area=function(l){return ln(l,a(Yn)),Yn.result()},o.measure=function(l){return ln(l,a(dl)),dl.result()},o.bounds=function(l){return ln(l,a(Cc)),Cc.result()},o.centroid=function(l){return ln(l,a(je)),je.result()},o.projection=function(l){return arguments.length?(a=l==null?(t=null,ol):(t=l).stream,o):t},o.context=function(l){return arguments.length?(i=l==null?(e=null,new bS(n)):new fS(e=l),typeof r!="function"&&i.pointRadius(r),o):e},o.pointRadius=function(l){return arguments.length?(r=typeof l=="function"?l:(i.pointRadius(+l),+l),o):r},o.digits=function(l){if(!arguments.length)return n;if(l==null)n=null;else{const u=Math.floor(l);if(!(u>=0))throw new RangeError(`invalid digits: ${l}`);n=u}return e===null&&(i=new bS(n)),o},o.projection(t).digits(n).context(e)}function hj(t){return{stream:hl(t)}}function hl(t){return function(e){var n=new dm;for(var r in t)n[r]=t[r];return n.stream=e,n}}function dm(){}dm.prototype={constructor:dm,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 hm(t,e,n){var r=t.clipExtent&&t.clipExtent();return t.scale(150).translate([0,0]),r!=null&&t.clipExtent(null),ln(n,t.stream(Cc)),e(Cc.result()),r!=null&&t.clipExtent(r),t}function wc(t,e,n){return hm(t,function(r){var a=e[1][0]-e[0][0],i=e[1][1]-e[0][1],o=Math.min(a/(r[1][0]-r[0][0]),i/(r[1][1]-r[0][1])),l=+e[0][0]+(a-o*(r[1][0]+r[0][0]))/2,u=+e[0][1]+(i-o*(r[1][1]+r[0][1]))/2;t.scale(150*o).translate([l,u])},n)}function pm(t,e,n){return wc(t,[[0,0],e],n)}function mm(t,e,n){return hm(t,function(r){var a=+e,i=a/(r[1][0]-r[0][0]),o=(a-i*(r[1][0]+r[0][0]))/2,l=-i*r[0][1];t.scale(150*i).translate([o,l])},n)}function gm(t,e,n){return hm(t,function(r){var a=+e,i=a/(r[1][1]-r[0][1]),o=-i*r[0][0],l=(a-i*(r[1][1]+r[0][1]))/2;t.scale(150*i).translate([o,l])},n)}var vS=16,pj=at(30*ot);function $S(t,e){return+e?gj(t,e):mj(t)}function mj(t){return hl({point:function(e,n){e=t(e,n),this.stream.point(e[0],e[1])}})}function gj(t,e){function n(r,a,i,o,l,u,s,c,d,f,h,p,g,m){var b=s-r,y=c-a,x=b*b+y*y;if(x>4*e&&g--){var v=o+f,_=l+h,D=u+p,C=Wt(v*v+_*_+D*D),A=he(D/=C),$=yt(yt(D)-1)<lt||yt(i-d)<lt?(i+d)/2:de(_,v),T=t($,A),S=T[0],k=T[1],N=S-r,E=k-a,P=y*N-b*E;(P*P/x>e||yt((b*N+y*E)/x-.5)>.3||o*f+l*h+u*p<pj)&&(n(r,a,i,o,l,u,S,k,$,v/=C,_/=C,D,g,m),m.point(S,k),n(S,k,$,v,_,D,s,c,d,f,h,p,g,m))}}return function(r){var a,i,o,l,u,s,c,d,f,h,p,g,m={point:b,lineStart:y,lineEnd:v,polygonStart:function(){r.polygonStart(),m.lineStart=_},polygonEnd:function(){r.polygonEnd(),m.lineStart=y}};function b(A,$){A=t(A,$),r.point(A[0],A[1])}function y(){d=NaN,m.point=x,r.lineStart()}function x(A,$){var T=la([A,$]),S=t(A,$);n(d,f,c,h,p,g,d=S[0],f=S[1],c=A,h=T[0],p=T[1],g=T[2],vS,r),r.point(d,f)}function v(){m.point=b,r.lineEnd()}function _(){y(),m.point=D,m.lineEnd=C}function D(A,$){x(a=A,$),i=d,o=f,l=h,u=p,s=g,m.point=x}function C(){n(d,f,c,h,p,g,i,o,a,l,u,s,vS,r),m.lineEnd=v,v()}return m}}var yj=hl({point:function(t,e){this.stream.point(t*ot,e*ot)}});function bj(t){return hl({point:function(e,n){var r=t(e,n);return this.stream.point(r[0],r[1])}})}function xj(t,e,n,r,a){function i(o,l){return o*=r,l*=a,[e+t*o,n-t*l]}return i.invert=function(o,l){return[(o-e)/t*r,(n-l)/t*a]},i}function SS(t,e,n,r,a,i){if(!i)return xj(t,e,n,r,a);var o=at(i),l=rt(i),u=o*t,s=l*t,c=o/t,d=l/t,f=(l*n-o*e)/t,h=(l*e+o*n)/t;function p(g,m){return g*=r,m*=a,[u*g-s*m+e,n-s*g-u*m]}return p.invert=function(g,m){return[r*(c*g-d*m+f),a*(h-d*g-c*m)]},p}function _n(t){return ym(function(){return t})()}function ym(t){var e,n=150,r=480,a=250,i=0,o=0,l=0,u=0,s=0,c,d=0,f=1,h=1,p=null,g=Kp,m=null,b,y,x,v=ol,_=.5,D,C,A,$,T;function S(P){return A(P[0]*ot,P[1]*ot)}function k(P){return P=A.invert(P[0],P[1]),P&&[P[0]*At,P[1]*At]}S.stream=function(P){return $&&T===P?$:$=yj(bj(c)(g(D(v(T=P)))))},S.preclip=function(P){return arguments.length?(g=P,p=void 0,E()):g},S.postclip=function(P){return arguments.length?(v=P,m=b=y=x=null,E()):v},S.clipAngle=function(P){return arguments.length?(g=+P?W2(p=P*ot):(p=null,Kp),E()):p*At},S.clipExtent=function(P){return arguments.length?(v=P==null?(m=b=y=x=null,ol):xc(m=+P[0][0],b=+P[0][1],y=+P[1][0],x=+P[1][1]),E()):m==null?null:[[m,b],[y,x]]},S.scale=function(P){return arguments.length?(n=+P,N()):n},S.translate=function(P){return arguments.length?(r=+P[0],a=+P[1],N()):[r,a]},S.center=function(P){return arguments.length?(i=P[0]%360*ot,o=P[1]%360*ot,N()):[i*At,o*At]},S.rotate=function(P){return arguments.length?(l=P[0]%360*ot,u=P[1]%360*ot,s=P.length>2?P[2]%360*ot:0,N()):[l*At,u*At,s*At]},S.angle=function(P){return arguments.length?(d=P%360*ot,N()):d*At},S.reflectX=function(P){return arguments.length?(f=P?-1:1,N()):f<0},S.reflectY=function(P){return arguments.length?(h=P?-1:1,N()):h<0},S.precision=function(P){return arguments.length?(D=$S(C,_=P*P),E()):Wt(_)},S.fitExtent=function(P,B){return wc(S,P,B)},S.fitSize=function(P,B){return pm(S,P,B)},S.fitWidth=function(P,B){return mm(S,P,B)},S.fitHeight=function(P,B){return gm(S,P,B)};function N(){var P=SS(n,0,0,f,h,d).apply(null,e(i,o)),B=SS(n,r-P[0],a-P[1],f,h,d);return c=Zp(l,u,s),C=Up(e,B),A=Up(c,C),D=$S(C,_),E()}function E(){return $=T=null,S}return function(){return e=t.apply(this,arguments),S.invert=e.invert&&k,N()}}function bm(t){var e=0,n=mt/3,r=ym(t),a=r(e,n);return a.parallels=function(i){return arguments.length?r(e=i[0]*ot,n=i[1]*ot):[e*At,n*At]},a}function vj(t){var e=at(t);function n(r,a){return[r*e,rt(a)/e]}return n.invert=function(r,a){return[r/e,he(a*e)]},n}function DS(t,e){var n=rt(t),r=(n+rt(e))/2;if(yt(r)<lt)return vj(t);var a=1+n*(2*r-n),i=Wt(a)/r;function o(l,u){var s=Wt(a-2*r*rt(u))/r;return[s*rt(l*=r),i-s*at(l)]}return o.invert=function(l,u){var s=i-u,c=de(l,yt(s))*Ge(s);return s*r<0&&(c-=mt*Ge(l)*Ge(s)),[c/r,he((a-(l*l+s*s)*r*r)/(2*r))]},o}function Bc(){return bm(DS).scale(155.424).center([0,33.6442])}function _S(){return Bc().parallels([29.5,45.5]).scale(1070).translate([480,250]).rotate([96,0]).center([-.6,38.7])}function $j(t){var e=t.length;return{point:function(n,r){for(var a=-1;++a<e;)t[a].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 Sj(){var t,e,n=_S(),r,a=Bc().rotate([154,0]).center([-2,58.5]).parallels([55,65]),i,o=Bc().rotate([157,0]).center([-3,19.9]).parallels([8,18]),l,u,s={point:function(f,h){u=[f,h]}};function c(f){var h=f[0],p=f[1];return u=null,r.point(h,p),u||(i.point(h,p),u)||(l.point(h,p),u)}c.invert=function(f){var h=n.scale(),p=n.translate(),g=(f[0]-p[0])/h,m=(f[1]-p[1])/h;return(m>=.12&&m<.234&&g>=-.425&&g<-.214?a:m>=.166&&m<.234&&g>=-.214&&g<-.115?o:n).invert(f)},c.stream=function(f){return t&&e===f?t:t=$j([n.stream(e=f),a.stream(f),o.stream(f)])},c.precision=function(f){return arguments.length?(n.precision(f),a.precision(f),o.precision(f),d()):n.precision()},c.scale=function(f){return arguments.length?(n.scale(f),a.scale(f*.35),o.scale(f),c.translate(n.translate())):n.scale()},c.translate=function(f){if(!arguments.length)return n.translate();var h=n.scale(),p=+f[0],g=+f[1];return r=n.translate(f).clipExtent([[p-.455*h,g-.238*h],[p+.455*h,g+.238*h]]).stream(s),i=a.translate([p-.307*h,g+.201*h]).clipExtent([[p-.425*h+lt,g+.12*h+lt],[p-.214*h-lt,g+.234*h-lt]]).stream(s),l=o.translate([p-.205*h,g+.212*h]).clipExtent([[p-.214*h+lt,g+.166*h+lt],[p-.115*h-lt,g+.234*h-lt]]).stream(s),d()},c.fitExtent=function(f,h){return wc(c,f,h)},c.fitSize=function(f,h){return pm(c,f,h)},c.fitWidth=function(f,h){return mm(c,f,h)},c.fitHeight=function(f,h){return gm(c,f,h)};function d(){return t=e=null,c}return c.scale(1070)}function AS(t){return function(e,n){var r=at(e),a=at(n),i=t(r*a);return i===1/0?[2,0]:[i*a*rt(e),i*rt(n)]}}function pl(t){return function(e,n){var r=Wt(e*e+n*n),a=t(r),i=rt(a),o=at(a);return[de(e*i,r*o),he(r&&n*i/r)]}}var xm=AS(function(t){return Wt(2/(1+t))});xm.invert=pl(function(t){return 2*he(t/2)});function Dj(){return _n(xm).scale(124.75).clipAngle(180-.001)}var vm=AS(function(t){return(t=m2(t))&&t/rt(t)});vm.invert=pl(function(t){return t});function _j(){return _n(vm).scale(79.4188).clipAngle(180-.001)}function ml(t,e){return[t,tc(kp((It+e)/2))]}ml.invert=function(t,e){return[t,2*gi(p2(e))-It]};function Aj(){return CS(ml).scale(961/fe)}function CS(t){var e=_n(t),n=e.center,r=e.scale,a=e.translate,i=e.clipExtent,o=null,l,u,s;e.scale=function(d){return arguments.length?(r(d),c()):r()},e.translate=function(d){return arguments.length?(a(d),c()):a()},e.center=function(d){return arguments.length?(n(d),c()):n()},e.clipExtent=function(d){return arguments.length?(d==null?o=l=u=s=null:(o=+d[0][0],l=+d[0][1],u=+d[1][0],s=+d[1][1]),c()):o==null?null:[[o,l],[u,s]]};function c(){var d=mt*r(),f=e(N2(e.rotate()).invert([0,0]));return i(o==null?[[f[0]-d,f[1]-d],[f[0]+d,f[1]+d]]:t===ml?[[Math.max(f[0]-d,o),l],[Math.min(f[0]+d,u),s]]:[[o,Math.max(f[1]-d,l)],[u,Math.min(f[1]+d,s)]])}return c()}function Ec(t){return kp((It+t)/2)}function PS(t,e){var n=at(t),r=t===e?rt(t):tc(n/at(e))/tc(Ec(e)/Ec(t)),a=n*Ip(Ec(t),r)/r;if(!r)return ml;function i(o,l){a>0?l<-It+lt&&(l=-It+lt):l>It-lt&&(l=It-lt);var u=a/Ip(Ec(l),r);return[u*rt(r*o),a-u*at(r*o)]}return i.invert=function(o,l){var u=a-l,s=Ge(r)*Wt(o*o+u*u),c=de(o,yt(u))*Ge(u);return u*r<0&&(c-=mt*Ge(o)*Ge(u)),[c/r,2*gi(Ip(a/s,1/r))-It]},i}function Cj(){return bm(PS).scale(109.5).parallels([30,30])}function gl(t,e){return[t,e]}gl.invert=gl;function Pj(){return _n(gl).scale(152.63)}function FS(t,e){var n=at(t),r=t===e?rt(t):(n-at(e))/(e-t),a=n/r+t;if(yt(r)<lt)return gl;function i(o,l){var u=a-l,s=r*o;return[u*rt(s),a-u*at(s)]}return i.invert=function(o,l){var u=a-l,s=de(o,yt(u))*Ge(u);return u*r<0&&(s-=mt*Ge(o)*Ge(u)),[s/r,a-Ge(r)*Wt(o*o+u*u)]},i}function Fj(){return bm(FS).scale(131.154).center([0,13.9389])}var yl=1.340264,bl=-.081106,xl=893e-6,vl=.003796,Lc=Wt(3)/2,Tj=12;function $m(t,e){var n=he(Lc*rt(e)),r=n*n,a=r*r*r;return[t*at(n)/(Lc*(yl+3*bl*r+a*(7*xl+9*vl*r))),n*(yl+bl*r+a*(xl+vl*r))]}$m.invert=function(t,e){for(var n=e,r=n*n,a=r*r*r,i=0,o,l,u;i<Tj&&(l=n*(yl+bl*r+a*(xl+vl*r))-e,u=yl+3*bl*r+a*(7*xl+9*vl*r),n-=o=l/u,r=n*n,a=r*r*r,!(yt(o)<Ju));++i);return[Lc*t*(yl+3*bl*r+a*(7*xl+9*vl*r))/at(n),he(rt(n)/Lc)]};function wj(){return _n($m).scale(177.158)}function Sm(t,e){var n=at(e),r=at(t)*n;return[n*rt(t)/r,rt(e)/r]}Sm.invert=pl(gi);function Bj(){return _n(Sm).scale(144.049).clipAngle(60)}function Ej(){var t=1,e=0,n=0,r=1,a=1,i=0,o,l,u=null,s,c,d,f=1,h=1,p=hl({point:function(v,_){var D=x([v,_]);this.stream.point(D[0],D[1])}}),g=ol,m,b;function y(){return f=t*r,h=t*a,m=b=null,x}function x(v){var _=v[0]*f,D=v[1]*h;if(i){var C=D*o-_*l;_=_*o+D*l,D=C}return[_+e,D+n]}return x.invert=function(v){var _=v[0]-e,D=v[1]-n;if(i){var C=D*o+_*l;_=_*o-D*l,D=C}return[_/f,D/h]},x.stream=function(v){return m&&b===v?m:m=p(g(b=v))},x.postclip=function(v){return arguments.length?(g=v,u=s=c=d=null,y()):g},x.clipExtent=function(v){return arguments.length?(g=v==null?(u=s=c=d=null,ol):xc(u=+v[0][0],s=+v[0][1],c=+v[1][0],d=+v[1][1]),y()):u==null?null:[[u,s],[c,d]]},x.scale=function(v){return arguments.length?(t=+v,y()):t},x.translate=function(v){return arguments.length?(e=+v[0],n=+v[1],y()):[e,n]},x.angle=function(v){return arguments.length?(i=v%360*ot,l=rt(i),o=at(i),y()):i*At},x.reflectX=function(v){return arguments.length?(r=v?-1:1,y()):r<0},x.reflectY=function(v){return arguments.length?(a=v?-1:1,y()):a<0},x.fitExtent=function(v,_){return wc(x,v,_)},x.fitSize=function(v,_){return pm(x,v,_)},x.fitWidth=function(v,_){return mm(x,v,_)},x.fitHeight=function(v,_){return gm(x,v,_)},x}function Dm(t,e){var n=e*e,r=n*n;return[t*(.8707-.131979*n+r*(-.013791+r*(.003971*n-.001529*r))),e*(1.007226+n*(.015085+r*(-.044475+.028874*n-.005916*r)))]}Dm.invert=function(t,e){var n=e,r=25,a;do{var i=n*n,o=i*i;n-=a=(n*(1.007226+i*(.015085+o*(-.044475+.028874*i-.005916*o)))-e)/(1.007226+i*(.015085*3+o*(-.044475*7+.028874*9*i-.005916*11*o)))}while(yt(a)>lt&&--r>0);return[t/(.8707+(i=n*n)*(-.131979+i*(-.013791+i*i*i*(.003971-.001529*i)))),n]};function Lj(){return _n(Dm).scale(175.295)}function _m(t,e){return[at(e)*rt(t),rt(e)]}_m.invert=pl(he);function Mj(){return _n(_m).scale(249.5).clipAngle(90+lt)}function Am(t,e){var n=at(e),r=1+at(t)*n;return[n*rt(t)/r,rt(e)/r]}Am.invert=pl(function(t){return 2*gi(t)});function Rj(){return _n(Am).scale(250).clipAngle(142)}function Cm(t,e){return[tc(kp((It+e)/2)),-t]}Cm.invert=function(t,e){return[-e,2*gi(p2(t))-It]};function Ij(){var t=CS(Cm),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 kj(t,e){return t.parent===e.parent?1:2}function Nj(t){return t.reduce(zj,0)/t.length}function zj(t,e){return t+e.x}function Oj(t){return 1+t.reduce(Gj,0)}function Gj(t,e){return Math.max(t,e.y)}function jj(t){for(var e;e=t.children;)t=e[0];return t}function Vj(t){for(var e;e=t.children;)t=e[e.length-1];return t}function Yj(){var t=kj,e=1,n=1,r=!1;function a(i){var o,l=0;i.eachAfter(function(f){var h=f.children;h?(f.x=Nj(h),f.y=Oj(h)):(f.x=o?l+=t(f,o):0,f.y=0,o=f)});var u=jj(i),s=Vj(i),c=u.x-t(u,s)/2,d=s.x+t(s,u)/2;return i.eachAfter(r?function(f){f.x=(f.x-i.x)*e,f.y=(i.y-f.y)*n}:function(f){f.x=(f.x-c)/(d-c)*e,f.y=(1-(i.y?f.y/i.y:1))*n})}return a.separation=function(i){return arguments.length?(t=i,a):t},a.size=function(i){return arguments.length?(r=!1,e=+i[0],n=+i[1],a):r?null:[e,n]},a.nodeSize=function(i){return arguments.length?(r=!0,e=+i[0],n=+i[1],a):r?[e,n]:null},a}function Hj(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 Wj(){return this.eachAfter(Hj)}function Xj(t,e){let n=-1;for(const r of this)t.call(e,r,++n,this);return this}function Uj(t,e){for(var n=this,r=[n],a,i,o=-1;n=r.pop();)if(t.call(e,n,++o,this),a=n.children)for(i=a.length-1;i>=0;--i)r.push(a[i]);return this}function qj(t,e){for(var n=this,r=[n],a=[],i,o,l,u=-1;n=r.pop();)if(a.push(n),i=n.children)for(o=0,l=i.length;o<l;++o)r.push(i[o]);for(;n=a.pop();)t.call(e,n,++u,this);return this}function Zj(t,e){let n=-1;for(const r of this)if(t.call(e,r,++n,this))return r}function Jj(t){return this.eachAfter(function(e){for(var n=+t(e.data)||0,r=e.children,a=r&&r.length;--a>=0;)n+=r[a].value;e.value=n})}function Kj(t){return this.eachBefore(function(e){e.children&&e.children.sort(t)})}function Qj(t){for(var e=this,n=tV(e,t),r=[e];e!==n;)e=e.parent,r.push(e);for(var a=r.length;t!==n;)r.splice(a,0,t),t=t.parent;return r}function tV(t,e){if(t===e)return t;var n=t.ancestors(),r=e.ancestors(),a=null;for(t=n.pop(),e=r.pop();t===e;)a=t,t=n.pop(),e=r.pop();return a}function eV(){for(var t=this,e=[t];t=t.parent;)e.push(t);return e}function nV(){return Array.from(this)}function rV(){var t=[];return this.eachBefore(function(e){e.children||t.push(e)}),t}function aV(){var t=this,e=[];return t.each(function(n){n!==t&&e.push({source:n.parent,target:n})}),e}function*iV(){var t=this,e,n=[t],r,a,i;do for(e=n.reverse(),n=[];t=e.pop();)if(yield t,r=t.children)for(a=0,i=r.length;a<i;++a)n.push(r[a]);while(n.length)}function Mc(t,e){t instanceof Map?(t=[void 0,t],e===void 0&&(e=sV)):e===void 0&&(e=lV);for(var n=new ca(t),r,a=[n],i,o,l,u;r=a.pop();)if((o=e(r.data))&&(u=(o=Array.from(o)).length))for(r.children=o,l=u-1;l>=0;--l)a.push(i=o[l]=new ca(o[l])),i.parent=r,i.depth=r.depth+1;return n.eachBefore(TS)}function oV(){return Mc(this).eachBefore(uV)}function lV(t){return t.children}function sV(t){return Array.isArray(t)?t[1]:null}function uV(t){t.data.value!==void 0&&(t.value=t.data.value),t.data=t.data.data}function TS(t){var e=0;do t.height=e;while((t=t.parent)&&t.height<++e)}function ca(t){this.data=t,this.depth=this.height=0,this.parent=null}ca.prototype=Mc.prototype={constructor:ca,count:Wj,each:Xj,eachAfter:qj,eachBefore:Uj,find:Zj,sum:Jj,sort:Kj,path:Qj,ancestors:eV,descendants:nV,leaves:rV,links:aV,copy:oV,[Symbol.iterator]:iV};function Rc(t){return t==null?null:wS(t)}function wS(t){if(typeof t!="function")throw new Error;return t}function fa(){return 0}function Di(t){return function(){return t}}const cV=1664525,fV=1013904223,BS=4294967296;function Pm(){let t=1;return()=>(t=(cV*t+fV)%BS)/BS}function dV(t){return typeof t=="object"&&"length"in t?t:Array.from(t)}function hV(t,e){let n=t.length,r,a;for(;n;)a=e()*n--|0,r=t[n],t[n]=t[a],t[a]=r;return t}function pV(t){return ES(t,Pm())}function ES(t,e){for(var n=0,r=(t=hV(Array.from(t),e)).length,a=[],i,o;n<r;)i=t[n],o&&LS(o,i)?++n:(o=gV(a=mV(a,i)),n=0);return o}function mV(t,e){var n,r;if(Fm(e,t))return[e];for(n=0;n<t.length;++n)if(Ic(e,t[n])&&Fm($l(t[n],e),t))return[t[n],e];for(n=0;n<t.length-1;++n)for(r=n+1;r<t.length;++r)if(Ic($l(t[n],t[r]),e)&&Ic($l(t[n],e),t[r])&&Ic($l(t[r],e),t[n])&&Fm(MS(t[n],t[r],e),t))return[t[n],t[r],e];throw new Error}function Ic(t,e){var n=t.r-e.r,r=e.x-t.x,a=e.y-t.y;return n<0||n*n<r*r+a*a}function LS(t,e){var n=t.r-e.r+Math.max(t.r,e.r,1)*1e-9,r=e.x-t.x,a=e.y-t.y;return n>0&&n*n>r*r+a*a}function Fm(t,e){for(var n=0;n<e.length;++n)if(!LS(t,e[n]))return!1;return!0}function gV(t){switch(t.length){case 1:return yV(t[0]);case 2:return $l(t[0],t[1]);case 3:return MS(t[0],t[1],t[2])}}function yV(t){return{x:t.x,y:t.y,r:t.r}}function $l(t,e){var n=t.x,r=t.y,a=t.r,i=e.x,o=e.y,l=e.r,u=i-n,s=o-r,c=l-a,d=Math.sqrt(u*u+s*s);return{x:(n+i+u/d*c)/2,y:(r+o+s/d*c)/2,r:(d+a+l)/2}}function MS(t,e,n){var r=t.x,a=t.y,i=t.r,o=e.x,l=e.y,u=e.r,s=n.x,c=n.y,d=n.r,f=r-o,h=r-s,p=a-l,g=a-c,m=u-i,b=d-i,y=r*r+a*a-i*i,x=y-o*o-l*l+u*u,v=y-s*s-c*c+d*d,_=h*p-f*g,D=(p*v-g*x)/(_*2)-r,C=(g*m-p*b)/_,A=(h*x-f*v)/(_*2)-a,$=(f*b-h*m)/_,T=C*C+$*$-1,S=2*(i+D*C+A*$),k=D*D+A*A-i*i,N=-(Math.abs(T)>1e-6?(S+Math.sqrt(S*S-4*T*k))/(2*T):k/S);return{x:r+D+C*N,y:a+A+$*N,r:N}}function RS(t,e,n){var r=t.x-e.x,a,i,o=t.y-e.y,l,u,s=r*r+o*o;s?(i=e.r+n.r,i*=i,u=t.r+n.r,u*=u,i>u?(a=(s+u-i)/(2*s),l=Math.sqrt(Math.max(0,u/s-a*a)),n.x=t.x-a*r-l*o,n.y=t.y-a*o+l*r):(a=(s+i-u)/(2*s),l=Math.sqrt(Math.max(0,i/s-a*a)),n.x=e.x+a*r-l*o,n.y=e.y+a*o+l*r)):(n.x=e.x+n.r,n.y=e.y)}function IS(t,e){var n=t.r+e.r-1e-6,r=e.x-t.x,a=e.y-t.y;return n>0&&n*n>r*r+a*a}function kS(t){var e=t._,n=t.next._,r=e.r+n.r,a=(e.x*n.r+n.x*e.r)/r,i=(e.y*n.r+n.y*e.r)/r;return a*a+i*i}function kc(t){this._=t,this.next=null,this.previous=null}function NS(t,e){if(!(i=(t=dV(t)).length))return 0;var n,r,a,i,o,l,u,s,c,d,f;if(n=t[0],n.x=0,n.y=0,!(i>1))return n.r;if(r=t[1],n.x=-r.r,r.x=n.r,r.y=0,!(i>2))return n.r+r.r;RS(r,n,a=t[2]),n=new kc(n),r=new kc(r),a=new kc(a),n.next=a.previous=r,r.next=n.previous=a,a.next=r.previous=n;t:for(u=3;u<i;++u){RS(n._,r._,a=t[u]),a=new kc(a),s=r.next,c=n.previous,d=r._.r,f=n._.r;do if(d<=f){if(IS(s._,a._)){r=s,n.next=r,r.previous=n,--u;continue t}d+=s._.r,s=s.next}else{if(IS(c._,a._)){n=c,n.next=r,r.previous=n,--u;continue t}f+=c._.r,c=c.previous}while(s!==c.next);for(a.previous=n,a.next=r,n.next=r.previous=r=a,o=kS(n);(a=a.next)!==r;)(l=kS(a))<o&&(n=a,o=l);r=n.next}for(n=[r._],a=r;(a=a.next)!==r;)n.push(a._);for(a=ES(n,e),u=0;u<i;++u)n=t[u],n.x-=a.x,n.y-=a.y;return a.r}function bV(t){return NS(t,Pm()),t}function xV(t){return Math.sqrt(t.value)}function vV(){var t=null,e=1,n=1,r=fa;function a(i){const o=Pm();return i.x=e/2,i.y=n/2,t?i.eachBefore(zS(t)).eachAfter(Tm(r,.5,o)).eachBefore(OS(1)):i.eachBefore(zS(xV)).eachAfter(Tm(fa,1,o)).eachAfter(Tm(r,i.r/Math.min(e,n),o)).eachBefore(OS(Math.min(e,n)/(2*i.r))),i}return a.radius=function(i){return arguments.length?(t=Rc(i),a):t},a.size=function(i){return arguments.length?(e=+i[0],n=+i[1],a):[e,n]},a.padding=function(i){return arguments.length?(r=typeof i=="function"?i:Di(+i),a):r},a}function zS(t){return function(e){e.children||(e.r=Math.max(0,+t(e)||0))}}function Tm(t,e,n){return function(r){if(a=r.children){var a,i,o=a.length,l=t(r)*e||0,u;if(l)for(i=0;i<o;++i)a[i].r+=l;if(u=NS(a,n),l)for(i=0;i<o;++i)a[i].r-=l;r.r=u+l}}}function OS(t){return function(e){var n=e.parent;e.r*=t,n&&(e.x=n.x+t*e.x,e.y=n.y+t*e.y)}}function GS(t){t.x0=Math.round(t.x0),t.y0=Math.round(t.y0),t.x1=Math.round(t.x1),t.y1=Math.round(t.y1)}function Sl(t,e,n,r,a){for(var i=t.children,o,l=-1,u=i.length,s=t.value&&(r-e)/t.value;++l<u;)o=i[l],o.y0=n,o.y1=a,o.x0=e,o.x1=e+=o.value*s}function $V(){var t=1,e=1,n=0,r=!1;function a(o){var l=o.height+1;return o.x0=o.y0=n,o.x1=t,o.y1=e/l,o.eachBefore(i(e,l)),r&&o.eachBefore(GS),o}function i(o,l){return function(u){u.children&&Sl(u,u.x0,o*(u.depth+1)/l,u.x1,o*(u.depth+2)/l);var s=u.x0,c=u.y0,d=u.x1-n,f=u.y1-n;d<s&&(s=d=(s+d)/2),f<c&&(c=f=(c+f)/2),u.x0=s,u.y0=c,u.x1=d,u.y1=f}}return a.round=function(o){return arguments.length?(r=!!o,a):r},a.size=function(o){return arguments.length?(t=+o[0],e=+o[1],a):[t,e]},a.padding=function(o){return arguments.length?(n=+o,a):n},a}var SV={depth:-1},jS={},wm={};function DV(t){return t.id}function _V(t){return t.parentId}function AV(){var t=DV,e=_V,n;function r(a){var i=Array.from(a),o=t,l=e,u,s,c,d,f,h,p,g,m=new Map;if(n!=null){const b=i.map((v,_)=>CV(n(v,_,a))),y=b.map(VS),x=new Set(b).add("");for(const v of y)x.has(v)||(x.add(v),b.push(v),y.push(VS(v)),i.push(wm));o=(v,_)=>b[_],l=(v,_)=>y[_]}for(c=0,u=i.length;c<u;++c)s=i[c],h=i[c]=new ca(s),(p=o(s,c,a))!=null&&(p+="")&&(g=h.id=p,m.set(g,m.has(g)?jS:h)),(p=l(s,c,a))!=null&&(p+="")&&(h.parent=p);for(c=0;c<u;++c)if(h=i[c],p=h.parent){if(f=m.get(p),!f)throw new Error("missing: "+p);if(f===jS)throw new Error("ambiguous: "+p);f.children?f.children.push(h):f.children=[h],h.parent=f}else{if(d)throw new Error("multiple roots");d=h}if(!d)throw new Error("no root");if(n!=null){for(;d.data===wm&&d.children.length===1;)d=d.children[0],--u;for(let b=i.length-1;b>=0&&(h=i[b],h.data===wm);--b)h.data=null}if(d.parent=SV,d.eachBefore(function(b){b.depth=b.parent.depth+1,--u}).eachBefore(TS),d.parent=null,u>0)throw new Error("cycle");return d}return r.id=function(a){return arguments.length?(t=Rc(a),r):t},r.parentId=function(a){return arguments.length?(e=Rc(a),r):e},r.path=function(a){return arguments.length?(n=Rc(a),r):n},r}function CV(t){t=`${t}`;let e=t.length;return Bm(t,e-1)&&!Bm(t,e-2)&&(t=t.slice(0,-1)),t[0]==="/"?t:`/${t}`}function VS(t){let e=t.length;if(e<2)return"";for(;--e>1&&!Bm(t,e););return t.slice(0,e)}function Bm(t,e){if(t[e]==="/"){let n=0;for(;e>0&&t[--e]==="\\";)++n;if(!(n&1))return!0}return!1}function PV(t,e){return t.parent===e.parent?1:2}function Em(t){var e=t.children;return e?e[0]:t.t}function Lm(t){var e=t.children;return e?e[e.length-1]:t.t}function FV(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 TV(t){for(var e=0,n=0,r=t.children,a=r.length,i;--a>=0;)i=r[a],i.z+=e,i.m+=e,e+=i.s+(n+=i.c)}function wV(t,e,n){return t.a.parent===e.parent?t.a:n}function Nc(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}Nc.prototype=Object.create(ca.prototype);function BV(t){for(var e=new Nc(t,0),n,r=[e],a,i,o,l;n=r.pop();)if(i=n._.children)for(n.children=new Array(l=i.length),o=l-1;o>=0;--o)r.push(a=n.children[o]=new Nc(i[o],o)),a.parent=n;return(e.parent=new Nc(null,0)).children=[e],e}function EV(){var t=PV,e=1,n=1,r=null;function a(s){var c=BV(s);if(c.eachAfter(i),c.parent.m=-c.z,c.eachBefore(o),r)s.eachBefore(u);else{var d=s,f=s,h=s;s.eachBefore(function(y){y.x<d.x&&(d=y),y.x>f.x&&(f=y),y.depth>h.depth&&(h=y)});var p=d===f?1:t(d,f)/2,g=p-d.x,m=e/(f.x+p+g),b=n/(h.depth||1);s.eachBefore(function(y){y.x=(y.x+g)*m,y.y=y.depth*b})}return s}function i(s){var c=s.children,d=s.parent.children,f=s.i?d[s.i-1]:null;if(c){TV(s);var h=(c[0].z+c[c.length-1].z)/2;f?(s.z=f.z+t(s._,f._),s.m=s.z-h):s.z=h}else f&&(s.z=f.z+t(s._,f._));s.parent.A=l(s,f,s.parent.A||d[0])}function o(s){s._.x=s.z+s.parent.m,s.m+=s.parent.m}function l(s,c,d){if(c){for(var f=s,h=s,p=c,g=f.parent.children[0],m=f.m,b=h.m,y=p.m,x=g.m,v;p=Lm(p),f=Em(f),p&&f;)g=Em(g),h=Lm(h),h.a=s,v=p.z+y-f.z-m+t(p._,f._),v>0&&(FV(wV(p,s,d),s,v),m+=v,b+=v),y+=p.m,m+=f.m,x+=g.m,b+=h.m;p&&!Lm(h)&&(h.t=p,h.m+=y-b),f&&!Em(g)&&(g.t=f,g.m+=m-x,d=s)}return d}function u(s){s.x*=e,s.y=s.depth*n}return a.separation=function(s){return arguments.length?(t=s,a):t},a.size=function(s){return arguments.length?(r=!1,e=+s[0],n=+s[1],a):r?null:[e,n]},a.nodeSize=function(s){return arguments.length?(r=!0,e=+s[0],n=+s[1],a):r?[e,n]:null},a}function zc(t,e,n,r,a){for(var i=t.children,o,l=-1,u=i.length,s=t.value&&(a-n)/t.value;++l<u;)o=i[l],o.x0=e,o.x1=r,o.y0=n,o.y1=n+=o.value*s}var YS=(1+Math.sqrt(5))/2;function HS(t,e,n,r,a,i){for(var o=[],l=e.children,u,s,c=0,d=0,f=l.length,h,p,g=e.value,m,b,y,x,v,_,D;c<f;){h=a-n,p=i-r;do m=l[d++].value;while(!m&&d<f);for(b=y=m,_=Math.max(p/h,h/p)/(g*t),D=m*m*_,v=Math.max(y/D,D/b);d<f;++d){if(m+=s=l[d].value,s<b&&(b=s),s>y&&(y=s),D=m*m*_,x=Math.max(y/D,D/b),x>v){m-=s;break}v=x}o.push(u={value:m,dice:h<p,children:l.slice(c,d)}),u.dice?Sl(u,n,r,a,g?r+=p*m/g:i):zc(u,n,r,g?n+=h*m/g:a,i),g-=m,c=d}return o}const Mm=function t(e){function n(r,a,i,o,l){HS(e,r,a,i,o,l)}return n.ratio=function(r){return t((r=+r)>1?r:1)},n}(YS);function WS(){var t=Mm,e=!1,n=1,r=1,a=[0],i=fa,o=fa,l=fa,u=fa,s=fa;function c(f){return f.x0=f.y0=0,f.x1=n,f.y1=r,f.eachBefore(d),a=[0],e&&f.eachBefore(GS),f}function d(f){var h=a[f.depth],p=f.x0+h,g=f.y0+h,m=f.x1-h,b=f.y1-h;m<p&&(p=m=(p+m)/2),b<g&&(g=b=(g+b)/2),f.x0=p,f.y0=g,f.x1=m,f.y1=b,f.children&&(h=a[f.depth+1]=i(f)/2,p+=s(f)-h,g+=o(f)-h,m-=l(f)-h,b-=u(f)-h,m<p&&(p=m=(p+m)/2),b<g&&(g=b=(g+b)/2),t(f,p,g,m,b))}return c.round=function(f){return arguments.length?(e=!!f,c):e},c.size=function(f){return arguments.length?(n=+f[0],r=+f[1],c):[n,r]},c.tile=function(f){return arguments.length?(t=wS(f),c):t},c.padding=function(f){return arguments.length?c.paddingInner(f).paddingOuter(f):c.paddingInner()},c.paddingInner=function(f){return arguments.length?(i=typeof f=="function"?f:Di(+f),c):i},c.paddingOuter=function(f){return arguments.length?c.paddingTop(f).paddingRight(f).paddingBottom(f).paddingLeft(f):c.paddingTop()},c.paddingTop=function(f){return arguments.length?(o=typeof f=="function"?f:Di(+f),c):o},c.paddingRight=function(f){return arguments.length?(l=typeof f=="function"?f:Di(+f),c):l},c.paddingBottom=function(f){return arguments.length?(u=typeof f=="function"?f:Di(+f),c):u},c.paddingLeft=function(f){return arguments.length?(s=typeof f=="function"?f:Di(+f),c):s},c}function LV(t,e,n,r,a){var i=t.children,o,l=i.length,u,s=new Array(l+1);for(s[0]=u=o=0;o<l;++o)s[o+1]=u+=i[o].value;c(0,l,t.value,e,n,r,a);function c(d,f,h,p,g,m,b){if(d>=f-1){var y=i[d];y.x0=p,y.y0=g,y.x1=m,y.y1=b;return}for(var x=s[d],v=h/2+x,_=d+1,D=f-1;_<D;){var C=_+D>>>1;s[C]<v?_=C+1:D=C}v-s[_-1]<s[_]-v&&d+1<_&&--_;var A=s[_]-x,$=h-A;if(m-p>b-g){var T=h?(p*$+m*A)/h:m;c(d,_,A,p,g,T,b),c(_,f,$,T,g,m,b)}else{var S=h?(g*$+b*A)/h:b;c(d,_,A,p,g,m,S),c(_,f,$,p,S,m,b)}}}function MV(t,e,n,r,a){(t.depth&1?zc:Sl)(t,e,n,r,a)}const RV=function t(e){function n(r,a,i,o,l){if((u=r._squarify)&&u.ratio===e)for(var u,s,c,d,f=-1,h,p=u.length,g=r.value;++f<p;){for(s=u[f],c=s.children,d=s.value=0,h=c.length;d<h;++d)s.value+=c[d].value;s.dice?Sl(s,a,i,o,g?i+=(l-i)*s.value/g:l):zc(s,a,i,g?a+=(o-a)*s.value/g:o,l),g-=s.value}else r._squarify=u=HS(e,r,a,i,o,l),u.ratio=e}return n.ratio=function(r){return t((r=+r)>1?r:1)},n}(YS);function IV(t){for(var e=-1,n=t.length,r,a=t[n-1],i=0;++e<n;)r=a,a=t[e],i+=r[1]*a[0]-r[0]*a[1];return i/2}function kV(t){for(var e=-1,n=t.length,r=0,a=0,i,o=t[n-1],l,u=0;++e<n;)i=o,o=t[e],u+=l=i[0]*o[1]-o[0]*i[1],r+=(i[0]+o[0])*l,a+=(i[1]+o[1])*l;return u*=3,[r/u,a/u]}function NV(t,e,n){return(e[0]-t[0])*(n[1]-t[1])-(e[1]-t[1])*(n[0]-t[0])}function zV(t,e){return t[0]-e[0]||t[1]-e[1]}function XS(t){const e=t.length,n=[0,1];let r=2,a;for(a=2;a<e;++a){for(;r>1&&NV(t[n[r-2]],t[n[r-1]],t[a])<=0;)--r;n[r++]=a}return n.slice(0,r)}function OV(t){if((n=t.length)<3)return null;var e,n,r=new Array(n),a=new Array(n);for(e=0;e<n;++e)r[e]=[+t[e][0],+t[e][1],e];for(r.sort(zV),e=0;e<n;++e)a[e]=[r[e][0],-r[e][1]];var i=XS(r),o=XS(a),l=o[0]===i[0],u=o[o.length-1]===i[i.length-1],s=[];for(e=i.length-1;e>=0;--e)s.push(t[r[i[e]][2]]);for(e=+l;e<o.length-u;++e)s.push(t[r[o[e]][2]]);return s}function GV(t,e){for(var n=t.length,r=t[n-1],a=e[0],i=e[1],o=r[0],l=r[1],u,s,c=!1,d=0;d<n;++d)r=t[d],u=r[0],s=r[1],s>i!=l>i&&a<(o-u)*(i-s)/(l-s)+u&&(c=!c),o=u,l=s;return c}function jV(t){for(var e=-1,n=t.length,r=t[n-1],a,i,o=r[0],l=r[1],u=0;++e<n;)a=o,i=l,r=t[e],o=r[0],l=r[1],a-=o,i-=l,u+=Math.hypot(a,i);return u}const Zt=Math.random,VV=function t(e){function n(r,a){return r=r==null?0:+r,a=a==null?1:+a,arguments.length===1?(a=r,r=0):a-=r,function(){return e()*a+r}}return n.source=t,n}(Zt),YV=function t(e){function n(r,a){return arguments.length<2&&(a=r,r=0),r=Math.floor(r),a=Math.floor(a)-r,function(){return Math.floor(e()*a+r)}}return n.source=t,n}(Zt),Rm=function t(e){function n(r,a){var i,o;return r=r==null?0:+r,a=a==null?1:+a,function(){var l;if(i!=null)l=i,i=null;else do i=e()*2-1,l=e()*2-1,o=i*i+l*l;while(!o||o>1);return r+a*l*Math.sqrt(-2*Math.log(o)/o)}}return n.source=t,n}(Zt),HV=function t(e){var n=Rm.source(e);function r(){var a=n.apply(this,arguments);return function(){return Math.exp(a())}}return r.source=t,r}(Zt),US=function t(e){function n(r){return(r=+r)<=0?()=>0:function(){for(var a=0,i=r;i>1;--i)a+=e();return a+i*e()}}return n.source=t,n}(Zt),WV=function t(e){var n=US.source(e);function r(a){if((a=+a)==0)return e;var i=n(a);return function(){return i()/a}}return r.source=t,r}(Zt),XV=function t(e){function n(r){return function(){return-Math.log1p(-e())/r}}return n.source=t,n}(Zt),UV=function t(e){function n(r){if((r=+r)<0)throw new RangeError("invalid alpha");return r=1/-r,function(){return Math.pow(1-e(),r)}}return n.source=t,n}(Zt),qV=function t(e){function n(r){if((r=+r)<0||r>1)throw new RangeError("invalid p");return function(){return Math.floor(e()+r)}}return n.source=t,n}(Zt),qS=function t(e){function n(r){if((r=+r)<0||r>1)throw new RangeError("invalid p");return r===0?()=>1/0:r===1?()=>1:(r=Math.log1p(-r),function(){return 1+Math.floor(Math.log1p(-e())/r)})}return n.source=t,n}(Zt),Im=function t(e){var n=Rm.source(e)();function r(a,i){if((a=+a)<0)throw new RangeError("invalid k");if(a===0)return()=>0;if(i=i==null?1:+i,a===1)return()=>-Math.log1p(-e())*i;var o=(a<1?a+1:a)-1/3,l=1/(3*Math.sqrt(o)),u=a<1?()=>Math.pow(e(),1/a):()=>1;return function(){do{do var s=n(),c=1+l*s;while(c<=0);c*=c*c;var d=1-e()}while(d>=1-.0331*s*s*s*s&&Math.log(d)>=.5*s*s+o*(1-c+Math.log(c)));return o*c*u()*i}}return r.source=t,r}(Zt),ZS=function t(e){var n=Im.source(e);function r(a,i){var o=n(a),l=n(i);return function(){var u=o();return u===0?0:u/(u+l())}}return r.source=t,r}(Zt),JS=function t(e){var n=qS.source(e),r=ZS.source(e);function a(i,o){return i=+i,(o=+o)>=1?()=>i:o<=0?()=>0:function(){for(var l=0,u=i,s=o;u*s>16&&u*(1-s)>16;){var c=Math.floor((u+1)*s),d=r(c,u-c+1)();d<=s?(l+=c,u-=c,s=(s-d)/(1-d)):(u=c-1,s/=d)}for(var f=s<.5,h=f?s:1-s,p=n(h),g=p(),m=0;g<=u;++m)g+=p();return l+(f?m:u-m)}}return a.source=t,a}(Zt),ZV=function t(e){function n(r,a,i){var o;return(r=+r)==0?o=l=>-Math.log(l):(r=1/r,o=l=>Math.pow(l,r)),a=a==null?0:+a,i=i==null?1:+i,function(){return a+i*o(-Math.log1p(-e()))}}return n.source=t,n}(Zt),JV=function t(e){function n(r,a){return r=r==null?0:+r,a=a==null?1:+a,function(){return r+a*Math.tan(Math.PI*e())}}return n.source=t,n}(Zt),KV=function t(e){function n(r,a){return r=r==null?0:+r,a=a==null?1:+a,function(){var i=e();return r+a*Math.log(i/(1-i))}}return n.source=t,n}(Zt),QV=function t(e){var n=Im.source(e),r=JS.source(e);function a(i){return function(){for(var o=0,l=i;l>16;){var u=Math.floor(.875*l),s=n(u)();if(s>l)return o+r(u-1,l/s)();o+=u,l-=s}for(var c=-Math.log1p(-e()),d=0;c<=l;++d)c-=Math.log1p(-e());return o+d}}return a.source=t,a}(Zt),tY=1664525,eY=1013904223,KS=1/4294967296;function nY(t=Math.random()){let e=(0<=t&&t<1?t/KS:Math.abs(t))|0;return()=>(e=tY*e+eY|0,KS*(e>>>0))}function Ve(t,e){switch(arguments.length){case 0:break;case 1:this.range(t);break;default:this.range(e).domain(t);break}return this}function Hn(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}const km=Symbol("implicit");function Nm(){var t=new wo,e=[],n=[],r=km;function a(i){let o=t.get(i);if(o===void 0){if(r!==km)return r;t.set(i,o=e.push(i)-1)}return n[o%n.length]}return a.domain=function(i){if(!arguments.length)return e.slice();e=[],t=new wo;for(const o of i)t.has(o)||t.set(o,e.push(o)-1);return a},a.range=function(i){return arguments.length?(n=Array.from(i),a):n.slice()},a.unknown=function(i){return arguments.length?(r=i,a):r},a.copy=function(){return Nm(e,n).unknown(r)},Ve.apply(a,arguments),a}function zm(){var t=Nm().unknown(void 0),e=t.domain,n=t.range,r=0,a=1,i,o,l=!1,u=0,s=0,c=.5;delete t.unknown;function d(){var f=e().length,h=a<r,p=h?a:r,g=h?r:a;i=(g-p)/Math.max(1,f-u+s*2),l&&(i=Math.floor(i)),p+=(g-p-i*(f-u))*c,o=i*(1-u),l&&(p=Math.round(p),o=Math.round(o));var m=dr(f).map(function(b){return p+i*b});return n(h?m.reverse():m)}return t.domain=function(f){return arguments.length?(e(f),d()):e()},t.range=function(f){return arguments.length?([r,a]=f,r=+r,a=+a,d()):[r,a]},t.rangeRound=function(f){return[r,a]=f,r=+r,a=+a,l=!0,d()},t.bandwidth=function(){return o},t.step=function(){return i},t.round=function(f){return arguments.length?(l=!!f,d()):l},t.padding=function(f){return arguments.length?(u=Math.min(1,s=+f),d()):u},t.paddingInner=function(f){return arguments.length?(u=Math.min(1,f),d()):u},t.paddingOuter=function(f){return arguments.length?(s=+f,d()):s},t.align=function(f){return arguments.length?(c=Math.max(0,Math.min(1,f)),d()):c},t.copy=function(){return zm(e(),[r,a]).round(l).paddingInner(u).paddingOuter(s).align(c)},Ve.apply(d(),arguments)}function QS(t){var e=t.copy;return t.padding=t.paddingOuter,delete t.paddingInner,delete t.paddingOuter,t.copy=function(){return QS(e())},t}function Om(){return QS(zm.apply(null,arguments).paddingInner(1))}function rY(t){return function(){return t}}function Oc(t){return+t}var tD=[0,1];function ye(t){return t}function Gm(t,e){return(e-=t=+t)?function(n){return(n-t)/e}:rY(isNaN(e)?NaN:.5)}function aY(t,e){var n;return t>e&&(n=t,t=e,e=n),function(r){return Math.max(t,Math.min(e,r))}}function iY(t,e,n){var r=t[0],a=t[1],i=e[0],o=e[1];return a<r?(r=Gm(a,r),i=n(o,i)):(r=Gm(r,a),i=n(i,o)),function(l){return i(r(l))}}function oY(t,e,n){var r=Math.min(t.length,e.length)-1,a=new Array(r),i=new Array(r),o=-1;for(t[r]<t[0]&&(t=t.slice().reverse(),e=e.slice().reverse());++o<r;)a[o]=Gm(t[o],t[o+1]),i[o]=n(e[o],e[o+1]);return function(l){var u=Gr(t,l,1,r)-1;return i[u](a[u](l))}}function Dl(t,e){return e.domain(t.domain()).range(t.range()).interpolate(t.interpolate()).clamp(t.clamp()).unknown(t.unknown())}function Gc(){var t=tD,e=tD,n=kn,r,a,i,o=ye,l,u,s;function c(){var f=Math.min(t.length,e.length);return o!==ye&&(o=aY(t[0],t[f-1])),l=f>2?oY:iY,u=s=null,d}function d(f){return f==null||isNaN(f=+f)?i:(u||(u=l(t.map(r),e,n)))(r(o(f)))}return d.invert=function(f){return o(a((s||(s=l(e,t.map(r),Re)))(f)))},d.domain=function(f){return arguments.length?(t=Array.from(f,Oc),c()):t.slice()},d.range=function(f){return arguments.length?(e=Array.from(f),c()):e.slice()},d.rangeRound=function(f){return e=Array.from(f),n=jo,c()},d.clamp=function(f){return arguments.length?(o=f?!0:ye,c()):o!==ye},d.interpolate=function(f){return arguments.length?(n=f,c()):n},d.unknown=function(f){return arguments.length?(i=f,d):i},function(f,h){return r=f,a=h,c()}}function jm(){return Gc()(ye,ye)}function eD(t,e,n,r){var a=nu(t,e,n),i;switch(r=mi(r??",f"),r.type){case"s":{var o=Math.max(Math.abs(t),Math.abs(e));return r.precision==null&&!isNaN(i=d2(a,o))&&(r.precision=i),Mp(r,o)}case"":case"e":case"g":case"p":case"r":{r.precision==null&&!isNaN(i=h2(a,Math.max(Math.abs(t),Math.abs(e))))&&(r.precision=i-(r.type==="e"));break}case"f":case"%":{r.precision==null&&!isNaN(i=f2(a))&&(r.precision=i-(r.type==="%")*2);break}}return nl(r)}function xr(t){var e=t.domain;return t.ticks=function(n){var r=e();return Vr(r[0],r[r.length-1],n??10)},t.tickFormat=function(n,r){var a=e();return eD(a[0],a[a.length-1],n??10,r)},t.nice=function(n){n==null&&(n=10);var r=e(),a=0,i=r.length-1,o=r[a],l=r[i],u,s,c=10;for(l<o&&(s=o,o=l,l=s,s=a,a=i,i=s);c-- >0;){if(s=Yr(o,l,n),s===u)return r[a]=o,r[i]=l,e(r);if(s>0)o=Math.floor(o/s)*s,l=Math.ceil(l/s)*s;else if(s<0)o=Math.ceil(o*s)/s,l=Math.floor(l*s)/s;else break;u=s}return t},t}function Wn(){var t=jm();return t.copy=function(){return Dl(t,Wn())},Ve.apply(t,arguments),xr(t)}function nD(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,Oc),n):t.slice()},n.unknown=function(r){return arguments.length?(e=r,n):e},n.copy=function(){return nD(t).unknown(e)},t=arguments.length?Array.from(t,Oc):[0,1],xr(n)}function rD(t,e){t=t.slice();var n=0,r=t.length-1,a=t[n],i=t[r],o;return i<a&&(o=n,n=r,r=o,o=a,a=i,i=o),t[n]=e.floor(a),t[r]=e.ceil(i),t}function aD(t){return Math.log(t)}function iD(t){return Math.exp(t)}function lY(t){return-Math.log(-t)}function sY(t){return-Math.exp(-t)}function uY(t){return isFinite(t)?+("1e"+t):t<0?0:t}function cY(t){return t===10?uY:t===Math.E?Math.exp:e=>Math.pow(t,e)}function fY(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 oD(t){return(e,n)=>-t(-e,n)}function Vm(t){const e=t(aD,iD),n=e.domain;let r=10,a,i;function o(){return a=fY(r),i=cY(r),n()[0]<0?(a=oD(a),i=oD(i),t(lY,sY)):t(aD,iD),e}return e.base=function(l){return arguments.length?(r=+l,o()):r},e.domain=function(l){return arguments.length?(n(l),o()):n()},e.ticks=l=>{const u=n();let s=u[0],c=u[u.length-1];const d=c<s;d&&([s,c]=[c,s]);let f=a(s),h=a(c),p,g;const m=l==null?10:+l;let b=[];if(!(r%1)&&h-f<m){if(f=Math.floor(f),h=Math.ceil(h),s>0){for(;f<=h;++f)for(p=1;p<r;++p)if(g=f<0?p/i(-f):p*i(f),!(g<s)){if(g>c)break;b.push(g)}}else for(;f<=h;++f)for(p=r-1;p>=1;--p)if(g=f>0?p/i(-f):p*i(f),!(g<s)){if(g>c)break;b.push(g)}b.length*2<m&&(b=Vr(s,c,m))}else b=Vr(f,h,Math.min(h-f,m)).map(i);return d?b.reverse():b},e.tickFormat=(l,u)=>{if(l==null&&(l=10),u==null&&(u=r===10?"s":","),typeof u!="function"&&(!(r%1)&&(u=mi(u)).precision==null&&(u.trim=!0),u=nl(u)),l===1/0)return u;const s=Math.max(1,r*l/e.ticks().length);return c=>{let d=c/i(Math.round(a(c)));return d*r<r-.5&&(d*=r),d<=s?u(c):""}},e.nice=()=>n(rD(n(),{floor:l=>i(Math.floor(a(l))),ceil:l=>i(Math.ceil(a(l)))})),e}function lD(){const t=Vm(Gc()).domain([1,10]);return t.copy=()=>Dl(t,lD()).base(t.base()),Ve.apply(t,arguments),t}function sD(t){return function(e){return Math.sign(e)*Math.log1p(Math.abs(e/t))}}function uD(t){return function(e){return Math.sign(e)*Math.expm1(Math.abs(e))*t}}function Ym(t){var e=1,n=t(sD(e),uD(e));return n.constant=function(r){return arguments.length?t(sD(e=+r),uD(e)):e},xr(n)}function cD(){var t=Ym(Gc());return t.copy=function(){return Dl(t,cD()).constant(t.constant())},Ve.apply(t,arguments)}function fD(t){return function(e){return e<0?-Math.pow(-e,t):Math.pow(e,t)}}function dY(t){return t<0?-Math.sqrt(-t):Math.sqrt(t)}function hY(t){return t<0?-t*t:t*t}function Hm(t){var e=t(ye,ye),n=1;function r(){return n===1?t(ye,ye):n===.5?t(dY,hY):t(fD(n),fD(1/n))}return e.exponent=function(a){return arguments.length?(n=+a,r()):n},xr(e)}function Xn(){var t=Hm(Gc());return t.copy=function(){return Dl(t,Xn()).exponent(t.exponent())},Ve.apply(t,arguments),t}function pY(){return Xn.apply(null,arguments).exponent(.5)}function dD(t){return Math.sign(t)*t*t}function mY(t){return Math.sign(t)*Math.sqrt(Math.abs(t))}function hD(){var t=jm(),e=[0,1],n=!1,r;function a(i){var o=mY(t(i));return isNaN(o)?r:n?Math.round(o):o}return a.invert=function(i){return t.invert(dD(i))},a.domain=function(i){return arguments.length?(t.domain(i),a):t.domain()},a.range=function(i){return arguments.length?(t.range((e=Array.from(i,Oc)).map(dD)),a):e.slice()},a.rangeRound=function(i){return a.range(i).round(!0)},a.round=function(i){return arguments.length?(n=!!i,a):n},a.clamp=function(i){return arguments.length?(t.clamp(i),a):t.clamp()},a.unknown=function(i){return arguments.length?(r=i,a):r},a.copy=function(){return hD(t.domain(),e).round(n).clamp(t.clamp()).unknown(r)},Ve.apply(a,arguments),xr(a)}function pD(){var t=[],e=[],n=[],r;function a(){var o=0,l=Math.max(1,e.length);for(n=new Array(l-1);++o<l;)n[o-1]=qx(t,o/l);return i}function i(o){return o==null||isNaN(o=+o)?r:e[Gr(n,o)]}return i.invertExtent=function(o){var l=e.indexOf(o);return l<0?[NaN,NaN]:[l>0?n[l-1]:t[0],l<n.length?n[l]:t[t.length-1]]},i.domain=function(o){if(!arguments.length)return t.slice();t=[];for(let l of o)l!=null&&!isNaN(l=+l)&&t.push(l);return t.sort(Bt),a()},i.range=function(o){return arguments.length?(e=Array.from(o),a()):e.slice()},i.unknown=function(o){return arguments.length?(r=o,i):r},i.quantiles=function(){return n.slice()},i.copy=function(){return pD().domain(t).range(e).unknown(r)},Ve.apply(i,arguments)}function mD(){var t=0,e=1,n=1,r=[.5],a=[0,1],i;function o(u){return u!=null&&u<=u?a[Gr(r,u,0,n)]:i}function l(){var u=-1;for(r=new Array(n);++u<n;)r[u]=((u+1)*e-(u-n)*t)/(n+1);return o}return o.domain=function(u){return arguments.length?([t,e]=u,t=+t,e=+e,l()):[t,e]},o.range=function(u){return arguments.length?(n=(a=Array.from(u)).length-1,l()):a.slice()},o.invertExtent=function(u){var s=a.indexOf(u);return s<0?[NaN,NaN]:s<1?[t,r[0]]:s>=n?[r[n-1],e]:[r[s-1],r[s]]},o.unknown=function(u){return arguments.length&&(i=u),o},o.thresholds=function(){return r.slice()},o.copy=function(){return mD().domain([t,e]).range(a).unknown(i)},Ve.apply(xr(o),arguments)}function gD(){var t=[.5],e=[0,1],n,r=1;function a(i){return i!=null&&i<=i?e[Gr(t,i,0,r)]:n}return a.domain=function(i){return arguments.length?(t=Array.from(i),r=Math.min(t.length,e.length-1),a):t.slice()},a.range=function(i){return arguments.length?(e=Array.from(i),r=Math.min(t.length,e.length-1),a):e.slice()},a.invertExtent=function(i){var o=e.indexOf(i);return[t[o-1],t[o]]},a.unknown=function(i){return arguments.length?(n=i,a):n},a.copy=function(){return gD().domain(t).range(e).unknown(n)},Ve.apply(a,arguments)}const Wm=new Date,Xm=new Date;function Ot(t,e,n,r){function a(i){return t(i=arguments.length===0?new Date:new Date(+i)),i}return a.floor=i=>(t(i=new Date(+i)),i),a.ceil=i=>(t(i=new Date(i-1)),e(i,1),t(i),i),a.round=i=>{const o=a(i),l=a.ceil(i);return i-o<l-i?o:l},a.offset=(i,o)=>(e(i=new Date(+i),o==null?1:Math.floor(o)),i),a.range=(i,o,l)=>{const u=[];if(i=a.ceil(i),l=l==null?1:Math.floor(l),!(i<o)||!(l>0))return u;let s;do u.push(s=new Date(+i)),e(i,l),t(i);while(s<i&&i<o);return u},a.filter=i=>Ot(o=>{if(o>=o)for(;t(o),!i(o);)o.setTime(o-1)},(o,l)=>{if(o>=o)if(l<0)for(;++l<=0;)for(;e(o,-1),!i(o););else for(;--l>=0;)for(;e(o,1),!i(o););}),n&&(a.count=(i,o)=>(Wm.setTime(+i),Xm.setTime(+o),t(Wm),t(Xm),Math.floor(n(Wm,Xm))),a.every=i=>(i=Math.floor(i),!isFinite(i)||!(i>0)?null:i>1?a.filter(r?o=>r(o)%i===0:o=>a.count(0,o)%i===0):a)),a}const _i=Ot(()=>{},(t,e)=>{t.setTime(+t+e)},(t,e)=>e-t);_i.every=t=>(t=Math.floor(t),!isFinite(t)||!(t>0)?null:t>1?Ot(e=>{e.setTime(Math.floor(e/t)*t)},(e,n)=>{e.setTime(+e+n*t)},(e,n)=>(n-e)/t):_i);const yD=_i.range,Un=1e3,Ye=Un*60,qn=Ye*60,Zn=qn*24,Um=Zn*7,bD=Zn*30,qm=Zn*365,Jn=Ot(t=>{t.setTime(t-t.getMilliseconds())},(t,e)=>{t.setTime(+t+e*Un)},(t,e)=>(e-t)/Un,t=>t.getUTCSeconds()),xD=Jn.range,jc=Ot(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*Un)},(t,e)=>{t.setTime(+t+e*Ye)},(t,e)=>(e-t)/Ye,t=>t.getMinutes()),gY=jc.range,Vc=Ot(t=>{t.setUTCSeconds(0,0)},(t,e)=>{t.setTime(+t+e*Ye)},(t,e)=>(e-t)/Ye,t=>t.getUTCMinutes()),yY=Vc.range,Yc=Ot(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*Un-t.getMinutes()*Ye)},(t,e)=>{t.setTime(+t+e*qn)},(t,e)=>(e-t)/qn,t=>t.getHours()),bY=Yc.range,Hc=Ot(t=>{t.setUTCMinutes(0,0,0)},(t,e)=>{t.setTime(+t+e*qn)},(t,e)=>(e-t)/qn,t=>t.getUTCHours()),xY=Hc.range,Ai=Ot(t=>t.setHours(0,0,0,0),(t,e)=>t.setDate(t.getDate()+e),(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*Ye)/Zn,t=>t.getDate()-1),vY=Ai.range,_l=Ot(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/Zn,t=>t.getUTCDate()-1),$Y=_l.range,Zm=Ot(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/Zn,t=>Math.floor(t/Zn)),SY=Zm.range;function da(t){return Ot(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())*Ye)/Um)}const Ci=da(0),Al=da(1),vD=da(2),$D=da(3),ha=da(4),SD=da(5),DD=da(6),_D=Ci.range,DY=Al.range,_Y=vD.range,AY=$D.range,CY=ha.range,PY=SD.range,FY=DD.range;function pa(t){return Ot(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)/Um)}const Pi=pa(0),Cl=pa(1),AD=pa(2),CD=pa(3),ma=pa(4),PD=pa(5),FD=pa(6),TD=Pi.range,TY=Cl.range,wY=AD.range,BY=CD.range,EY=ma.range,LY=PD.range,MY=FD.range,Wc=Ot(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()),RY=Wc.range,Xc=Ot(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()),IY=Xc.range,An=Ot(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());An.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:Ot(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)});const kY=An.range,Cn=Ot(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());Cn.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:Ot(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)});const NY=Cn.range;function wD(t,e,n,r,a,i){const o=[[Jn,1,Un],[Jn,5,5*Un],[Jn,15,15*Un],[Jn,30,30*Un],[i,1,Ye],[i,5,5*Ye],[i,15,15*Ye],[i,30,30*Ye],[a,1,qn],[a,3,3*qn],[a,6,6*qn],[a,12,12*qn],[r,1,Zn],[r,2,2*Zn],[n,1,Um],[e,1,bD],[e,3,3*bD],[t,1,qm]];function l(s,c,d){const f=c<s;f&&([s,c]=[c,s]);const h=d&&typeof d.range=="function"?d:u(s,c,d),p=h?h.range(s,+c+1):[];return f?p.reverse():p}function u(s,c,d){const f=Math.abs(c-s)/d,h=Ks(([,,m])=>m).right(o,f);if(h===o.length)return t.every(nu(s/qm,c/qm,d));if(h===0)return _i.every(Math.max(nu(s,c,d),1));const[p,g]=o[f/o[h-1][2]<o[h][2]/f?h-1:h];return p.every(g)}return[l,u]}const[BD,ED]=wD(Cn,Xc,Pi,Zm,Hc,Vc),[LD,MD]=wD(An,Wc,Ci,Ai,Yc,jc);function Jm(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 Km(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 Pl(t,e,n){return{y:t,m:e,d:n,H:0,M:0,S:0,L:0}}function RD(t){var e=t.dateTime,n=t.date,r=t.time,a=t.periods,i=t.days,o=t.shortDays,l=t.months,u=t.shortMonths,s=Fl(a),c=Tl(a),d=Fl(i),f=Tl(i),h=Fl(o),p=Tl(o),g=Fl(l),m=Tl(l),b=Fl(u),y=Tl(u),x={a:R,A:F,b:M,B:z,c:null,d:GD,e:GD,f:lH,g:yH,G:xH,H:aH,I:iH,j:oH,L:jD,m:sH,M:uH,p:V,q:K,Q:UD,s:qD,S:cH,u:fH,U:dH,V:hH,w:pH,W:mH,x:null,X:null,y:gH,Y:bH,Z:vH,"%":XD},v={a:q,A:j,b:U,B:et,c:null,d:YD,e:YD,f:_H,g:MH,G:IH,H:$H,I:SH,j:DH,L:HD,m:AH,M:CH,p:st,q:pt,Q:UD,s:qD,S:PH,u:FH,U:TH,V:wH,w:BH,W:EH,x:null,X:null,y:LH,Y:RH,Z:kH,"%":XD},_={a:T,A:S,b:k,B:N,c:E,d:zD,e:zD,f:tH,g:ND,G:kD,H:OD,I:OD,j:ZY,L:QY,m:qY,M:JY,p:$,q:UY,Q:nH,s:rH,S:KY,u:VY,U:YY,V:HY,w:jY,W:WY,x:P,X:B,y:ND,Y:kD,Z:XY,"%":eH};x.x=D(n,x),x.X=D(r,x),x.c=D(e,x),v.x=D(n,v),v.X=D(r,v),v.c=D(e,v);function D(Q,it){return function(ct){var Z=[],Tt=-1,Dt=0,xe=Q.length,ve,ut,Nt;for(ct instanceof Date||(ct=new Date(+ct));++Tt<xe;)Q.charCodeAt(Tt)===37&&(Z.push(Q.slice(Dt,Tt)),(ut=ID[ve=Q.charAt(++Tt)])!=null?ve=Q.charAt(++Tt):ut=ve==="e"?" ":"0",(Nt=it[ve])&&(ve=Nt(ct,ut)),Z.push(ve),Dt=Tt+1);return Z.push(Q.slice(Dt,Tt)),Z.join("")}}function C(Q,it){return function(ct){var Z=Pl(1900,void 0,1),Tt=A(Z,Q,ct+="",0),Dt,xe;if(Tt!=ct.length)return null;if("Q"in Z)return new Date(Z.Q);if("s"in Z)return new Date(Z.s*1e3+("L"in Z?Z.L:0));if(it&&!("Z"in Z)&&(Z.Z=0),"p"in Z&&(Z.H=Z.H%12+Z.p*12),Z.m===void 0&&(Z.m="q"in Z?Z.q:0),"V"in Z){if(Z.V<1||Z.V>53)return null;"w"in Z||(Z.w=1),"Z"in Z?(Dt=Km(Pl(Z.y,0,1)),xe=Dt.getUTCDay(),Dt=xe>4||xe===0?Cl.ceil(Dt):Cl(Dt),Dt=_l.offset(Dt,(Z.V-1)*7),Z.y=Dt.getUTCFullYear(),Z.m=Dt.getUTCMonth(),Z.d=Dt.getUTCDate()+(Z.w+6)%7):(Dt=Jm(Pl(Z.y,0,1)),xe=Dt.getDay(),Dt=xe>4||xe===0?Al.ceil(Dt):Al(Dt),Dt=Ai.offset(Dt,(Z.V-1)*7),Z.y=Dt.getFullYear(),Z.m=Dt.getMonth(),Z.d=Dt.getDate()+(Z.w+6)%7)}else("W"in Z||"U"in Z)&&("w"in Z||(Z.w="u"in Z?Z.u%7:"W"in Z?1:0),xe="Z"in Z?Km(Pl(Z.y,0,1)).getUTCDay():Jm(Pl(Z.y,0,1)).getDay(),Z.m=0,Z.d="W"in Z?(Z.w+6)%7+Z.W*7-(xe+5)%7:Z.w+Z.U*7-(xe+6)%7);return"Z"in Z?(Z.H+=Z.Z/100|0,Z.M+=Z.Z%100,Km(Z)):Jm(Z)}}function A(Q,it,ct,Z){for(var Tt=0,Dt=it.length,xe=ct.length,ve,ut;Tt<Dt;){if(Z>=xe)return-1;if(ve=it.charCodeAt(Tt++),ve===37){if(ve=it.charAt(Tt++),ut=_[ve in ID?it.charAt(Tt++):ve],!ut||(Z=ut(Q,ct,Z))<0)return-1}else if(ve!=ct.charCodeAt(Z++))return-1}return Z}function $(Q,it,ct){var Z=s.exec(it.slice(ct));return Z?(Q.p=c.get(Z[0].toLowerCase()),ct+Z[0].length):-1}function T(Q,it,ct){var Z=h.exec(it.slice(ct));return Z?(Q.w=p.get(Z[0].toLowerCase()),ct+Z[0].length):-1}function S(Q,it,ct){var Z=d.exec(it.slice(ct));return Z?(Q.w=f.get(Z[0].toLowerCase()),ct+Z[0].length):-1}function k(Q,it,ct){var Z=b.exec(it.slice(ct));return Z?(Q.m=y.get(Z[0].toLowerCase()),ct+Z[0].length):-1}function N(Q,it,ct){var Z=g.exec(it.slice(ct));return Z?(Q.m=m.get(Z[0].toLowerCase()),ct+Z[0].length):-1}function E(Q,it,ct){return A(Q,e,it,ct)}function P(Q,it,ct){return A(Q,n,it,ct)}function B(Q,it,ct){return A(Q,r,it,ct)}function R(Q){return o[Q.getDay()]}function F(Q){return i[Q.getDay()]}function M(Q){return u[Q.getMonth()]}function z(Q){return l[Q.getMonth()]}function V(Q){return a[+(Q.getHours()>=12)]}function K(Q){return 1+~~(Q.getMonth()/3)}function q(Q){return o[Q.getUTCDay()]}function j(Q){return i[Q.getUTCDay()]}function U(Q){return u[Q.getUTCMonth()]}function et(Q){return l[Q.getUTCMonth()]}function st(Q){return a[+(Q.getUTCHours()>=12)]}function pt(Q){return 1+~~(Q.getUTCMonth()/3)}return{format:function(Q){var it=D(Q+="",x);return it.toString=function(){return Q},it},parse:function(Q){var it=C(Q+="",!1);return it.toString=function(){return Q},it},utcFormat:function(Q){var it=D(Q+="",v);return it.toString=function(){return Q},it},utcParse:function(Q){var it=C(Q+="",!0);return it.toString=function(){return Q},it}}}var ID={"-":"",_:" ",0:"0"},Xt=/^\s*\d+/,zY=/^%/,OY=/[\\^$*+?|[\]().{}]/g;function St(t,e,n){var r=t<0?"-":"",a=(r?-t:t)+"",i=a.length;return r+(i<n?new Array(n-i+1).join(e)+a:a)}function GY(t){return t.replace(OY,"\\$&")}function Fl(t){return new RegExp("^(?:"+t.map(GY).join("|")+")","i")}function Tl(t){return new Map(t.map((e,n)=>[e.toLowerCase(),n]))}function jY(t,e,n){var r=Xt.exec(e.slice(n,n+1));return r?(t.w=+r[0],n+r[0].length):-1}function VY(t,e,n){var r=Xt.exec(e.slice(n,n+1));return r?(t.u=+r[0],n+r[0].length):-1}function YY(t,e,n){var r=Xt.exec(e.slice(n,n+2));return r?(t.U=+r[0],n+r[0].length):-1}function HY(t,e,n){var r=Xt.exec(e.slice(n,n+2));return r?(t.V=+r[0],n+r[0].length):-1}function WY(t,e,n){var r=Xt.exec(e.slice(n,n+2));return r?(t.W=+r[0],n+r[0].length):-1}function kD(t,e,n){var r=Xt.exec(e.slice(n,n+4));return r?(t.y=+r[0],n+r[0].length):-1}function ND(t,e,n){var r=Xt.exec(e.slice(n,n+2));return r?(t.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function XY(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 UY(t,e,n){var r=Xt.exec(e.slice(n,n+1));return r?(t.q=r[0]*3-3,n+r[0].length):-1}function qY(t,e,n){var r=Xt.exec(e.slice(n,n+2));return r?(t.m=r[0]-1,n+r[0].length):-1}function zD(t,e,n){var r=Xt.exec(e.slice(n,n+2));return r?(t.d=+r[0],n+r[0].length):-1}function ZY(t,e,n){var r=Xt.exec(e.slice(n,n+3));return r?(t.m=0,t.d=+r[0],n+r[0].length):-1}function OD(t,e,n){var r=Xt.exec(e.slice(n,n+2));return r?(t.H=+r[0],n+r[0].length):-1}function JY(t,e,n){var r=Xt.exec(e.slice(n,n+2));return r?(t.M=+r[0],n+r[0].length):-1}function KY(t,e,n){var r=Xt.exec(e.slice(n,n+2));return r?(t.S=+r[0],n+r[0].length):-1}function QY(t,e,n){var r=Xt.exec(e.slice(n,n+3));return r?(t.L=+r[0],n+r[0].length):-1}function tH(t,e,n){var r=Xt.exec(e.slice(n,n+6));return r?(t.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function eH(t,e,n){var r=zY.exec(e.slice(n,n+1));return r?n+r[0].length:-1}function nH(t,e,n){var r=Xt.exec(e.slice(n));return r?(t.Q=+r[0],n+r[0].length):-1}function rH(t,e,n){var r=Xt.exec(e.slice(n));return r?(t.s=+r[0],n+r[0].length):-1}function GD(t,e){return St(t.getDate(),e,2)}function aH(t,e){return St(t.getHours(),e,2)}function iH(t,e){return St(t.getHours()%12||12,e,2)}function oH(t,e){return St(1+Ai.count(An(t),t),e,3)}function jD(t,e){return St(t.getMilliseconds(),e,3)}function lH(t,e){return jD(t,e)+"000"}function sH(t,e){return St(t.getMonth()+1,e,2)}function uH(t,e){return St(t.getMinutes(),e,2)}function cH(t,e){return St(t.getSeconds(),e,2)}function fH(t){var e=t.getDay();return e===0?7:e}function dH(t,e){return St(Ci.count(An(t)-1,t),e,2)}function VD(t){var e=t.getDay();return e>=4||e===0?ha(t):ha.ceil(t)}function hH(t,e){return t=VD(t),St(ha.count(An(t),t)+(An(t).getDay()===4),e,2)}function pH(t){return t.getDay()}function mH(t,e){return St(Al.count(An(t)-1,t),e,2)}function gH(t,e){return St(t.getFullYear()%100,e,2)}function yH(t,e){return t=VD(t),St(t.getFullYear()%100,e,2)}function bH(t,e){return St(t.getFullYear()%1e4,e,4)}function xH(t,e){var n=t.getDay();return t=n>=4||n===0?ha(t):ha.ceil(t),St(t.getFullYear()%1e4,e,4)}function vH(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+St(e/60|0,"0",2)+St(e%60,"0",2)}function YD(t,e){return St(t.getUTCDate(),e,2)}function $H(t,e){return St(t.getUTCHours(),e,2)}function SH(t,e){return St(t.getUTCHours()%12||12,e,2)}function DH(t,e){return St(1+_l.count(Cn(t),t),e,3)}function HD(t,e){return St(t.getUTCMilliseconds(),e,3)}function _H(t,e){return HD(t,e)+"000"}function AH(t,e){return St(t.getUTCMonth()+1,e,2)}function CH(t,e){return St(t.getUTCMinutes(),e,2)}function PH(t,e){return St(t.getUTCSeconds(),e,2)}function FH(t){var e=t.getUTCDay();return e===0?7:e}function TH(t,e){return St(Pi.count(Cn(t)-1,t),e,2)}function WD(t){var e=t.getUTCDay();return e>=4||e===0?ma(t):ma.ceil(t)}function wH(t,e){return t=WD(t),St(ma.count(Cn(t),t)+(Cn(t).getUTCDay()===4),e,2)}function BH(t){return t.getUTCDay()}function EH(t,e){return St(Cl.count(Cn(t)-1,t),e,2)}function LH(t,e){return St(t.getUTCFullYear()%100,e,2)}function MH(t,e){return t=WD(t),St(t.getUTCFullYear()%100,e,2)}function RH(t,e){return St(t.getUTCFullYear()%1e4,e,4)}function IH(t,e){var n=t.getUTCDay();return t=n>=4||n===0?ma(t):ma.ceil(t),St(t.getUTCFullYear()%1e4,e,4)}function kH(){return"+0000"}function XD(){return"%"}function UD(t){return+t}function qD(t){return Math.floor(+t/1e3)}var Fi,Qm,ZD,Uc,tg;JD({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 JD(t){return Fi=RD(t),Qm=Fi.format,ZD=Fi.parse,Uc=Fi.utcFormat,tg=Fi.utcParse,Fi}var KD="%Y-%m-%dT%H:%M:%S.%LZ";function NH(t){return t.toISOString()}var zH=Date.prototype.toISOString?NH:Uc(KD);const OH=zH;function GH(t){var e=new Date(t);return isNaN(e)?null:e}var jH=+new Date("2000-01-01T00:00:00.000Z")?GH:tg(KD);const VH=jH;function YH(t){return new Date(t)}function HH(t){return t instanceof Date?+t:+new Date(+t)}function eg(t,e,n,r,a,i,o,l,u,s){var c=jm(),d=c.invert,f=c.domain,h=s(".%L"),p=s(":%S"),g=s("%I:%M"),m=s("%I %p"),b=s("%a %d"),y=s("%b %d"),x=s("%B"),v=s("%Y");function _(D){return(u(D)<D?h:l(D)<D?p:o(D)<D?g:i(D)<D?m:r(D)<D?a(D)<D?b:y:n(D)<D?x:v)(D)}return c.invert=function(D){return new Date(d(D))},c.domain=function(D){return arguments.length?f(Array.from(D,HH)):f().map(YH)},c.ticks=function(D){var C=f();return t(C[0],C[C.length-1],D??10)},c.tickFormat=function(D,C){return C==null?_:s(C)},c.nice=function(D){var C=f();return(!D||typeof D.range!="function")&&(D=e(C[0],C[C.length-1],D??10)),D?f(rD(C,D)):c},c.copy=function(){return Dl(c,eg(t,e,n,r,a,i,o,l,u,s))},c}function WH(){return Ve.apply(eg(LD,MD,An,Wc,Ci,Ai,Yc,jc,Jn,Qm).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)}function XH(){return Ve.apply(eg(BD,ED,Cn,Xc,Pi,_l,Hc,Vc,Jn,Uc).domain([Date.UTC(2e3,0,1),Date.UTC(2e3,0,2)]),arguments)}function qc(){var t=0,e=1,n,r,a,i,o=ye,l=!1,u;function s(d){return d==null||isNaN(d=+d)?u:o(a===0?.5:(d=(i(d)-n)*a,l?Math.max(0,Math.min(1,d)):d))}s.domain=function(d){return arguments.length?([t,e]=d,n=i(t=+t),r=i(e=+e),a=n===r?0:1/(r-n),s):[t,e]},s.clamp=function(d){return arguments.length?(l=!!d,s):l},s.interpolator=function(d){return arguments.length?(o=d,s):o};function c(d){return function(f){var h,p;return arguments.length?([h,p]=f,o=d(h,p),s):[o(0),o(1)]}}return s.range=c(kn),s.rangeRound=c(jo),s.unknown=function(d){return arguments.length?(u=d,s):u},function(d){return i=d,n=d(t),r=d(e),a=n===r?0:1/(r-n),s}}function vr(t,e){return e.domain(t.domain()).interpolator(t.interpolator()).clamp(t.clamp()).unknown(t.unknown())}function QD(){var t=xr(qc()(ye));return t.copy=function(){return vr(t,QD())},Hn.apply(t,arguments)}function t_(){var t=Vm(qc()).domain([1,10]);return t.copy=function(){return vr(t,t_()).base(t.base())},Hn.apply(t,arguments)}function e_(){var t=Ym(qc());return t.copy=function(){return vr(t,e_()).constant(t.constant())},Hn.apply(t,arguments)}function ng(){var t=Hm(qc());return t.copy=function(){return vr(t,ng()).exponent(t.exponent())},Hn.apply(t,arguments)}function UH(){return ng.apply(null,arguments).exponent(.5)}function n_(){var t=[],e=ye;function n(r){if(r!=null&&!isNaN(r=+r))return e((Gr(t,r,1)-1)/(t.length-1))}return n.domain=function(r){if(!arguments.length)return t.slice();t=[];for(let a of r)a!=null&&!isNaN(a=+a)&&t.push(a);return t.sort(Bt),n},n.interpolator=function(r){return arguments.length?(e=r,n):e},n.range=function(){return t.map((r,a)=>e(a/(t.length-1)))},n.quantiles=function(r){return Array.from({length:r+1},(a,i)=>Lo(t,i/r))},n.copy=function(){return n_(e).domain(t)},Hn.apply(n,arguments)}function Zc(){var t=0,e=.5,n=1,r=1,a,i,o,l,u,s=ye,c,d=!1,f;function h(g){return isNaN(g=+g)?f:(g=.5+((g=+c(g))-i)*(r*g<r*i?l:u),s(d?Math.max(0,Math.min(1,g)):g))}h.domain=function(g){return arguments.length?([t,e,n]=g,a=c(t=+t),i=c(e=+e),o=c(n=+n),l=a===i?0:.5/(i-a),u=i===o?0:.5/(o-i),r=i<a?-1:1,h):[t,e,n]},h.clamp=function(g){return arguments.length?(d=!!g,h):d},h.interpolator=function(g){return arguments.length?(s=g,h):s};function p(g){return function(m){var b,y,x;return arguments.length?([b,y,x]=m,s=o$(g,[b,y,x]),h):[s(0),s(.5),s(1)]}}return h.range=p(kn),h.rangeRound=p(jo),h.unknown=function(g){return arguments.length?(f=g,h):f},function(g){return c=g,a=g(t),i=g(e),o=g(n),l=a===i?0:.5/(i-a),u=i===o?0:.5/(o-i),r=i<a?-1:1,h}}function r_(){var t=xr(Zc()(ye));return t.copy=function(){return vr(t,r_())},Hn.apply(t,arguments)}function a_(){var t=Vm(Zc()).domain([.1,1,10]);return t.copy=function(){return vr(t,a_()).base(t.base())},Hn.apply(t,arguments)}function i_(){var t=Ym(Zc());return t.copy=function(){return vr(t,i_()).constant(t.constant())},Hn.apply(t,arguments)}function rg(){var t=Hm(Zc());return t.copy=function(){return vr(t,rg()).exponent(t.exponent())},Hn.apply(t,arguments)}function qH(){return rg.apply(null,arguments).exponent(.5)}function ft(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}const ZH=ft("1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf"),JH=ft("7fc97fbeaed4fdc086ffff99386cb0f0027fbf5b17666666"),KH=ft("1b9e77d95f027570b3e7298a66a61ee6ab02a6761d666666"),QH=ft("4269d0efb118ff725c6cc5b03ca951ff8ab7a463f297bbf59c6b4e9498a0"),tW=ft("a6cee31f78b4b2df8a33a02cfb9a99e31a1cfdbf6fff7f00cab2d66a3d9affff99b15928"),eW=ft("fbb4aeb3cde3ccebc5decbe4fed9a6ffffcce5d8bdfddaecf2f2f2"),nW=ft("b3e2cdfdcdaccbd5e8f4cae4e6f5c9fff2aef1e2cccccccc"),rW=ft("e41a1c377eb84daf4a984ea3ff7f00ffff33a65628f781bf999999"),aW=ft("66c2a5fc8d628da0cbe78ac3a6d854ffd92fe5c494b3b3b3"),iW=ft("8dd3c7ffffb3bebadafb807280b1d3fdb462b3de69fccde5d9d9d9bc80bdccebc5ffed6f"),oW=ft("4e79a7f28e2ce1575976b7b259a14fedc949af7aa1ff9da79c755fbab0ab"),Ct=t=>Yv(t[t.length-1]);var o_=new Array(3).concat("d8b365f5f5f55ab4ac","a6611adfc27d80cdc1018571","a6611adfc27df5f5f580cdc1018571","8c510ad8b365f6e8c3c7eae55ab4ac01665e","8c510ad8b365f6e8c3f5f5f5c7eae55ab4ac01665e","8c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e","8c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e","5430058c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e003c30","5430058c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e003c30").map(ft);const lW=Ct(o_);var l_=new Array(3).concat("af8dc3f7f7f77fbf7b","7b3294c2a5cfa6dba0008837","7b3294c2a5cff7f7f7a6dba0008837","762a83af8dc3e7d4e8d9f0d37fbf7b1b7837","762a83af8dc3e7d4e8f7f7f7d9f0d37fbf7b1b7837","762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b7837","762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b7837","40004b762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b783700441b","40004b762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b783700441b").map(ft);const sW=Ct(l_);var s_=new Array(3).concat("e9a3c9f7f7f7a1d76a","d01c8bf1b6dab8e1864dac26","d01c8bf1b6daf7f7f7b8e1864dac26","c51b7de9a3c9fde0efe6f5d0a1d76a4d9221","c51b7de9a3c9fde0eff7f7f7e6f5d0a1d76a4d9221","c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221","c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221","8e0152c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221276419","8e0152c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221276419").map(ft);const uW=Ct(s_);var u_=new Array(3).concat("998ec3f7f7f7f1a340","5e3c99b2abd2fdb863e66101","5e3c99b2abd2f7f7f7fdb863e66101","542788998ec3d8daebfee0b6f1a340b35806","542788998ec3d8daebf7f7f7fee0b6f1a340b35806","5427888073acb2abd2d8daebfee0b6fdb863e08214b35806","5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b35806","2d004b5427888073acb2abd2d8daebfee0b6fdb863e08214b358067f3b08","2d004b5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b358067f3b08").map(ft);const cW=Ct(u_);var c_=new Array(3).concat("ef8a62f7f7f767a9cf","ca0020f4a58292c5de0571b0","ca0020f4a582f7f7f792c5de0571b0","b2182bef8a62fddbc7d1e5f067a9cf2166ac","b2182bef8a62fddbc7f7f7f7d1e5f067a9cf2166ac","b2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac","b2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac","67001fb2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac053061","67001fb2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac053061").map(ft);const fW=Ct(c_);var f_=new Array(3).concat("ef8a62ffffff999999","ca0020f4a582bababa404040","ca0020f4a582ffffffbababa404040","b2182bef8a62fddbc7e0e0e09999994d4d4d","b2182bef8a62fddbc7ffffffe0e0e09999994d4d4d","b2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d","b2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d","67001fb2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d1a1a1a","67001fb2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d1a1a1a").map(ft);const dW=Ct(f_);var d_=new Array(3).concat("fc8d59ffffbf91bfdb","d7191cfdae61abd9e92c7bb6","d7191cfdae61ffffbfabd9e92c7bb6","d73027fc8d59fee090e0f3f891bfdb4575b4","d73027fc8d59fee090ffffbfe0f3f891bfdb4575b4","d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4","d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4","a50026d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4313695","a50026d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4313695").map(ft);const hW=Ct(d_);var h_=new Array(3).concat("fc8d59ffffbf91cf60","d7191cfdae61a6d96a1a9641","d7191cfdae61ffffbfa6d96a1a9641","d73027fc8d59fee08bd9ef8b91cf601a9850","d73027fc8d59fee08bffffbfd9ef8b91cf601a9850","d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850","d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850","a50026d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850006837","a50026d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850006837").map(ft);const pW=Ct(h_);var p_=new Array(3).concat("fc8d59ffffbf99d594","d7191cfdae61abdda42b83ba","d7191cfdae61ffffbfabdda42b83ba","d53e4ffc8d59fee08be6f59899d5943288bd","d53e4ffc8d59fee08bffffbfe6f59899d5943288bd","d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd","d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd","9e0142d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd5e4fa2","9e0142d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd5e4fa2").map(ft);const mW=Ct(p_);var m_=new Array(3).concat("e5f5f999d8c92ca25f","edf8fbb2e2e266c2a4238b45","edf8fbb2e2e266c2a42ca25f006d2c","edf8fbccece699d8c966c2a42ca25f006d2c","edf8fbccece699d8c966c2a441ae76238b45005824","f7fcfde5f5f9ccece699d8c966c2a441ae76238b45005824","f7fcfde5f5f9ccece699d8c966c2a441ae76238b45006d2c00441b").map(ft);const gW=Ct(m_);var g_=new Array(3).concat("e0ecf49ebcda8856a7","edf8fbb3cde38c96c688419d","edf8fbb3cde38c96c68856a7810f7c","edf8fbbfd3e69ebcda8c96c68856a7810f7c","edf8fbbfd3e69ebcda8c96c68c6bb188419d6e016b","f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d6e016b","f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d810f7c4d004b").map(ft);const yW=Ct(g_);var y_=new Array(3).concat("e0f3dba8ddb543a2ca","f0f9e8bae4bc7bccc42b8cbe","f0f9e8bae4bc7bccc443a2ca0868ac","f0f9e8ccebc5a8ddb57bccc443a2ca0868ac","f0f9e8ccebc5a8ddb57bccc44eb3d32b8cbe08589e","f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe08589e","f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe0868ac084081").map(ft);const bW=Ct(y_);var b_=new Array(3).concat("fee8c8fdbb84e34a33","fef0d9fdcc8afc8d59d7301f","fef0d9fdcc8afc8d59e34a33b30000","fef0d9fdd49efdbb84fc8d59e34a33b30000","fef0d9fdd49efdbb84fc8d59ef6548d7301f990000","fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301f990000","fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301fb300007f0000").map(ft);const xW=Ct(b_);var x_=new Array(3).concat("ece2f0a6bddb1c9099","f6eff7bdc9e167a9cf02818a","f6eff7bdc9e167a9cf1c9099016c59","f6eff7d0d1e6a6bddb67a9cf1c9099016c59","f6eff7d0d1e6a6bddb67a9cf3690c002818a016450","fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016450","fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016c59014636").map(ft);const vW=Ct(x_);var v_=new Array(3).concat("ece7f2a6bddb2b8cbe","f1eef6bdc9e174a9cf0570b0","f1eef6bdc9e174a9cf2b8cbe045a8d","f1eef6d0d1e6a6bddb74a9cf2b8cbe045a8d","f1eef6d0d1e6a6bddb74a9cf3690c00570b0034e7b","fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0034e7b","fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0045a8d023858").map(ft);const $W=Ct(v_);var $_=new Array(3).concat("e7e1efc994c7dd1c77","f1eef6d7b5d8df65b0ce1256","f1eef6d7b5d8df65b0dd1c77980043","f1eef6d4b9dac994c7df65b0dd1c77980043","f1eef6d4b9dac994c7df65b0e7298ace125691003f","f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125691003f","f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125698004367001f").map(ft);const SW=Ct($_);var S_=new Array(3).concat("fde0ddfa9fb5c51b8a","feebe2fbb4b9f768a1ae017e","feebe2fbb4b9f768a1c51b8a7a0177","feebe2fcc5c0fa9fb5f768a1c51b8a7a0177","feebe2fcc5c0fa9fb5f768a1dd3497ae017e7a0177","fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a0177","fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a017749006a").map(ft);const DW=Ct(S_);var D_=new Array(3).concat("edf8b17fcdbb2c7fb8","ffffcca1dab441b6c4225ea8","ffffcca1dab441b6c42c7fb8253494","ffffccc7e9b47fcdbb41b6c42c7fb8253494","ffffccc7e9b47fcdbb41b6c41d91c0225ea80c2c84","ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea80c2c84","ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea8253494081d58").map(ft);const _W=Ct(D_);var __=new Array(3).concat("f7fcb9addd8e31a354","ffffccc2e69978c679238443","ffffccc2e69978c67931a354006837","ffffccd9f0a3addd8e78c67931a354006837","ffffccd9f0a3addd8e78c67941ab5d238443005a32","ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443005a32","ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443006837004529").map(ft);const AW=Ct(__);var A_=new Array(3).concat("fff7bcfec44fd95f0e","ffffd4fed98efe9929cc4c02","ffffd4fed98efe9929d95f0e993404","ffffd4fee391fec44ffe9929d95f0e993404","ffffd4fee391fec44ffe9929ec7014cc4c028c2d04","ffffe5fff7bcfee391fec44ffe9929ec7014cc4c028c2d04","ffffe5fff7bcfee391fec44ffe9929ec7014cc4c02993404662506").map(ft);const CW=Ct(A_);var C_=new Array(3).concat("ffeda0feb24cf03b20","ffffb2fecc5cfd8d3ce31a1c","ffffb2fecc5cfd8d3cf03b20bd0026","ffffb2fed976feb24cfd8d3cf03b20bd0026","ffffb2fed976feb24cfd8d3cfc4e2ae31a1cb10026","ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cb10026","ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cbd0026800026").map(ft);const PW=Ct(C_);var P_=new Array(3).concat("deebf79ecae13182bd","eff3ffbdd7e76baed62171b5","eff3ffbdd7e76baed63182bd08519c","eff3ffc6dbef9ecae16baed63182bd08519c","eff3ffc6dbef9ecae16baed64292c62171b5084594","f7fbffdeebf7c6dbef9ecae16baed64292c62171b5084594","f7fbffdeebf7c6dbef9ecae16baed64292c62171b508519c08306b").map(ft);const FW=Ct(P_);var F_=new Array(3).concat("e5f5e0a1d99b31a354","edf8e9bae4b374c476238b45","edf8e9bae4b374c47631a354006d2c","edf8e9c7e9c0a1d99b74c47631a354006d2c","edf8e9c7e9c0a1d99b74c47641ab5d238b45005a32","f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45005a32","f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45006d2c00441b").map(ft);const TW=Ct(F_);var T_=new Array(3).concat("f0f0f0bdbdbd636363","f7f7f7cccccc969696525252","f7f7f7cccccc969696636363252525","f7f7f7d9d9d9bdbdbd969696636363252525","f7f7f7d9d9d9bdbdbd969696737373525252252525","fffffff0f0f0d9d9d9bdbdbd969696737373525252252525","fffffff0f0f0d9d9d9bdbdbd969696737373525252252525000000").map(ft);const wW=Ct(T_);var w_=new Array(3).concat("efedf5bcbddc756bb1","f2f0f7cbc9e29e9ac86a51a3","f2f0f7cbc9e29e9ac8756bb154278f","f2f0f7dadaebbcbddc9e9ac8756bb154278f","f2f0f7dadaebbcbddc9e9ac8807dba6a51a34a1486","fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a34a1486","fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a354278f3f007d").map(ft);const BW=Ct(w_);var B_=new Array(3).concat("fee0d2fc9272de2d26","fee5d9fcae91fb6a4acb181d","fee5d9fcae91fb6a4ade2d26a50f15","fee5d9fcbba1fc9272fb6a4ade2d26a50f15","fee5d9fcbba1fc9272fb6a4aef3b2ccb181d99000d","fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181d99000d","fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181da50f1567000d").map(ft);const EW=Ct(B_);var E_=new Array(3).concat("fee6cefdae6be6550d","feeddefdbe85fd8d3cd94701","feeddefdbe85fd8d3ce6550da63603","feeddefdd0a2fdae6bfd8d3ce6550da63603","feeddefdd0a2fdae6bfd8d3cf16913d948018c2d04","fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d948018c2d04","fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d94801a636037f2704").map(ft);const LW=Ct(E_);function MW(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)))))))+")"}const RW=Pu(rn(300,.5,0),rn(-240,.5,1));var IW=Pu(rn(-100,.75,.35),rn(80,1.5,.8)),kW=Pu(rn(260,.75,.35),rn(80,1.5,.8)),Jc=rn();function NW(t){(t<0||t>1)&&(t-=Math.floor(t));var e=Math.abs(t-.5);return Jc.h=360*t-100,Jc.s=1.5-1.5*e,Jc.l=.8-.9*e,Jc+""}var Kc=ri(),zW=Math.PI/3,OW=Math.PI*2/3;function GW(t){var e;return t=(.5-t)*Math.PI,Kc.r=255*(e=Math.sin(t))*e,Kc.g=255*(e=Math.sin(t+zW))*e,Kc.b=255*(e=Math.sin(t+OW))*e,Kc+""}function jW(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 Qc(t){var e=t.length;return function(n){return t[Math.max(0,Math.min(e-1,Math.floor(n*e)))]}}const VW=Qc(ft("44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725"));var YW=Qc(ft("00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf")),HW=Qc(ft("00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4")),WW=Qc(ft("0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921"));function dt(t){return function(){return t}}const L_=Math.abs,ne=Math.atan2,Kn=Math.cos,XW=Math.max,Ti=Math.min,Te=Math.sin,Ft=Math.sqrt,re=1e-12,$r=Math.PI,tf=$r/2,Sr=2*$r;function UW(t){return t>1?0:t<-1?$r:Math.acos(t)}function M_(t){return t>=1?tf:t<=-1?-tf:Math.asin(t)}function wl(t){let e=3;return t.digits=function(n){if(!arguments.length)return e;if(n==null)e=null;else{const r=Math.floor(n);if(!(r>=0))throw new RangeError(`invalid digits: ${n}`);e=r}return t},()=>new Ko(e)}function qW(t){return t.innerRadius}function ZW(t){return t.outerRadius}function JW(t){return t.startAngle}function KW(t){return t.endAngle}function QW(t){return t&&t.padAngle}function tX(t,e,n,r,a,i,o,l){var u=n-t,s=r-e,c=o-a,d=l-i,f=d*u-c*s;if(!(f*f<re))return f=(c*(e-i)-d*(t-a))/f,[t+f*u,e+f*s]}function ef(t,e,n,r,a,i,o){var l=t-n,u=e-r,s=(o?i:-i)/Ft(l*l+u*u),c=s*u,d=-s*l,f=t+c,h=e+d,p=n+c,g=r+d,m=(f+p)/2,b=(h+g)/2,y=p-f,x=g-h,v=y*y+x*x,_=a-i,D=f*g-p*h,C=(x<0?-1:1)*Ft(XW(0,_*_*v-D*D)),A=(D*x-y*C)/v,$=(-D*y-x*C)/v,T=(D*x+y*C)/v,S=(-D*y+x*C)/v,k=A-m,N=$-b,E=T-m,P=S-b;return k*k+N*N>E*E+P*P&&(A=T,$=S),{cx:A,cy:$,x01:-c,y01:-d,x11:A*(a/_-1),y11:$*(a/_-1)}}function nf(){var t=qW,e=ZW,n=dt(0),r=null,a=JW,i=KW,o=QW,l=null,u=wl(s);function s(){var c,d,f=+t.apply(this,arguments),h=+e.apply(this,arguments),p=a.apply(this,arguments)-tf,g=i.apply(this,arguments)-tf,m=L_(g-p),b=g>p;if(l||(l=c=u()),h<f&&(d=h,h=f,f=d),!(h>re))l.moveTo(0,0);else if(m>Sr-re)l.moveTo(h*Kn(p),h*Te(p)),l.arc(0,0,h,p,g,!b),f>re&&(l.moveTo(f*Kn(g),f*Te(g)),l.arc(0,0,f,g,p,b));else{var y=p,x=g,v=p,_=g,D=m,C=m,A=o.apply(this,arguments)/2,$=A>re&&(r?+r.apply(this,arguments):Ft(f*f+h*h)),T=Ti(L_(h-f)/2,+n.apply(this,arguments)),S=T,k=T,N,E;if($>re){var P=M_($/f*Te(A)),B=M_($/h*Te(A));(D-=P*2)>re?(P*=b?1:-1,v+=P,_-=P):(D=0,v=_=(p+g)/2),(C-=B*2)>re?(B*=b?1:-1,y+=B,x-=B):(C=0,y=x=(p+g)/2)}var R=h*Kn(y),F=h*Te(y),M=f*Kn(_),z=f*Te(_);if(T>re){var V=h*Kn(x),K=h*Te(x),q=f*Kn(v),j=f*Te(v),U;if(m<$r)if(U=tX(R,F,q,j,V,K,M,z)){var et=R-U[0],st=F-U[1],pt=V-U[0],Q=K-U[1],it=1/Te(UW((et*pt+st*Q)/(Ft(et*et+st*st)*Ft(pt*pt+Q*Q)))/2),ct=Ft(U[0]*U[0]+U[1]*U[1]);S=Ti(T,(f-ct)/(it-1)),k=Ti(T,(h-ct)/(it+1))}else S=k=0}C>re?k>re?(N=ef(q,j,R,F,h,k,b),E=ef(V,K,M,z,h,k,b),l.moveTo(N.cx+N.x01,N.cy+N.y01),k<T?l.arc(N.cx,N.cy,k,ne(N.y01,N.x01),ne(E.y01,E.x01),!b):(l.arc(N.cx,N.cy,k,ne(N.y01,N.x01),ne(N.y11,N.x11),!b),l.arc(0,0,h,ne(N.cy+N.y11,N.cx+N.x11),ne(E.cy+E.y11,E.cx+E.x11),!b),l.arc(E.cx,E.cy,k,ne(E.y11,E.x11),ne(E.y01,E.x01),!b))):(l.moveTo(R,F),l.arc(0,0,h,y,x,!b)):l.moveTo(R,F),!(f>re)||!(D>re)?l.lineTo(M,z):S>re?(N=ef(M,z,V,K,f,-S,b),E=ef(R,F,q,j,f,-S,b),l.lineTo(N.cx+N.x01,N.cy+N.y01),S<T?l.arc(N.cx,N.cy,S,ne(N.y01,N.x01),ne(E.y01,E.x01),!b):(l.arc(N.cx,N.cy,S,ne(N.y01,N.x01),ne(N.y11,N.x11),!b),l.arc(0,0,f,ne(N.cy+N.y11,N.cx+N.x11),ne(E.cy+E.y11,E.cx+E.x11),b),l.arc(E.cx,E.cy,S,ne(E.y11,E.x11),ne(E.y01,E.x01),!b))):l.arc(0,0,f,_,v,b)}if(l.closePath(),c)return l=null,c+""||null}return s.centroid=function(){var c=(+t.apply(this,arguments)+ +e.apply(this,arguments))/2,d=(+a.apply(this,arguments)+ +i.apply(this,arguments))/2-$r/2;return[Kn(d)*c,Te(d)*c]},s.innerRadius=function(c){return arguments.length?(t=typeof c=="function"?c:dt(+c),s):t},s.outerRadius=function(c){return arguments.length?(e=typeof c=="function"?c:dt(+c),s):e},s.cornerRadius=function(c){return arguments.length?(n=typeof c=="function"?c:dt(+c),s):n},s.padRadius=function(c){return arguments.length?(r=c==null?null:typeof c=="function"?c:dt(+c),s):r},s.startAngle=function(c){return arguments.length?(a=typeof c=="function"?c:dt(+c),s):a},s.endAngle=function(c){return arguments.length?(i=typeof c=="function"?c:dt(+c),s):i},s.padAngle=function(c){return arguments.length?(o=typeof c=="function"?c:dt(+c),s):o},s.context=function(c){return arguments.length?(l=c??null,s):l},s}var eX=Array.prototype.slice;function rf(t){return typeof t=="object"&&"length"in t?t:Array.from(t)}function R_(t){this._context=t}R_.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 af(t){return new R_(t)}function ag(t){return t[0]}function ig(t){return t[1]}function of(t,e){var n=dt(!0),r=null,a=af,i=null,o=wl(l);t=typeof t=="function"?t:t===void 0?ag:dt(t),e=typeof e=="function"?e:e===void 0?ig:dt(e);function l(u){var s,c=(u=rf(u)).length,d,f=!1,h;for(r==null&&(i=a(h=o())),s=0;s<=c;++s)!(s<c&&n(d=u[s],s,u))===f&&((f=!f)?i.lineStart():i.lineEnd()),f&&i.point(+t(d,s,u),+e(d,s,u));if(h)return i=null,h+""||null}return l.x=function(u){return arguments.length?(t=typeof u=="function"?u:dt(+u),l):t},l.y=function(u){return arguments.length?(e=typeof u=="function"?u:dt(+u),l):e},l.defined=function(u){return arguments.length?(n=typeof u=="function"?u:dt(!!u),l):n},l.curve=function(u){return arguments.length?(a=u,r!=null&&(i=a(r)),l):a},l.context=function(u){return arguments.length?(u==null?r=i=null:i=a(r=u),l):r},l}function og(t,e,n){var r=null,a=dt(!0),i=null,o=af,l=null,u=wl(s);t=typeof t=="function"?t:t===void 0?ag:dt(+t),e=typeof e=="function"?e:dt(e===void 0?0:+e),n=typeof n=="function"?n:n===void 0?ig:dt(+n);function s(d){var f,h,p,g=(d=rf(d)).length,m,b=!1,y,x=new Array(g),v=new Array(g);for(i==null&&(l=o(y=u())),f=0;f<=g;++f){if(!(f<g&&a(m=d[f],f,d))===b)if(b=!b)h=f,l.areaStart(),l.lineStart();else{for(l.lineEnd(),l.lineStart(),p=f-1;p>=h;--p)l.point(x[p],v[p]);l.lineEnd(),l.areaEnd()}b&&(x[f]=+t(m,f,d),v[f]=+e(m,f,d),l.point(r?+r(m,f,d):x[f],n?+n(m,f,d):v[f]))}if(y)return l=null,y+""||null}function c(){return of().defined(a).curve(o).context(i)}return s.x=function(d){return arguments.length?(t=typeof d=="function"?d:dt(+d),r=null,s):t},s.x0=function(d){return arguments.length?(t=typeof d=="function"?d:dt(+d),s):t},s.x1=function(d){return arguments.length?(r=d==null?null:typeof d=="function"?d:dt(+d),s):r},s.y=function(d){return arguments.length?(e=typeof d=="function"?d:dt(+d),n=null,s):e},s.y0=function(d){return arguments.length?(e=typeof d=="function"?d:dt(+d),s):e},s.y1=function(d){return arguments.length?(n=d==null?null:typeof d=="function"?d:dt(+d),s):n},s.lineX0=s.lineY0=function(){return c().x(t).y(e)},s.lineY1=function(){return c().x(t).y(n)},s.lineX1=function(){return c().x(r).y(e)},s.defined=function(d){return arguments.length?(a=typeof d=="function"?d:dt(!!d),s):a},s.curve=function(d){return arguments.length?(o=d,i!=null&&(l=o(i)),s):o},s.context=function(d){return arguments.length?(d==null?i=l=null:l=o(i=d),s):i},s}function nX(t,e){return e<t?-1:e>t?1:e>=t?0:NaN}function rX(t){return t}function I_(){var t=rX,e=nX,n=null,r=dt(0),a=dt(Sr),i=dt(0);function o(l){var u,s=(l=rf(l)).length,c,d,f=0,h=new Array(s),p=new Array(s),g=+r.apply(this,arguments),m=Math.min(Sr,Math.max(-Sr,a.apply(this,arguments)-g)),b,y=Math.min(Math.abs(m)/s,i.apply(this,arguments)),x=y*(m<0?-1:1),v;for(u=0;u<s;++u)(v=p[h[u]=u]=+t(l[u],u,l))>0&&(f+=v);for(e!=null?h.sort(function(_,D){return e(p[_],p[D])}):n!=null&&h.sort(function(_,D){return n(l[_],l[D])}),u=0,d=f?(m-s*x)/f:0;u<s;++u,g=b)c=h[u],v=p[c],b=g+(v>0?v*d:0)+x,p[c]={data:l[c],index:u,value:v,startAngle:g,endAngle:b,padAngle:y};return p}return o.value=function(l){return arguments.length?(t=typeof l=="function"?l:dt(+l),o):t},o.sortValues=function(l){return arguments.length?(e=l,n=null,o):e},o.sort=function(l){return arguments.length?(n=l,e=null,o):n},o.startAngle=function(l){return arguments.length?(r=typeof l=="function"?l:dt(+l),o):r},o.endAngle=function(l){return arguments.length?(a=typeof l=="function"?l:dt(+l),o):a},o.padAngle=function(l){return arguments.length?(i=typeof l=="function"?l:dt(+l),o):i},o}var k_=lg(af);function N_(t){this._curve=t}N_.prototype={areaStart:function(){this._curve.areaStart()},areaEnd:function(){this._curve.areaEnd()},lineStart:function(){this._curve.lineStart()},lineEnd:function(){this._curve.lineEnd()},point:function(t,e){this._curve.point(e*Math.sin(t),e*-Math.cos(t))}};function lg(t){function e(n){return new N_(t(n))}return e._curve=t,e}function Bl(t){var e=t.curve;return t.angle=t.x,delete t.x,t.radius=t.y,delete t.y,t.curve=function(n){return arguments.length?e(lg(n)):e()._curve},t}function z_(){return Bl(of().curve(k_))}function O_(){var t=og().curve(k_),e=t.curve,n=t.lineX0,r=t.lineX1,a=t.lineY0,i=t.lineY1;return t.angle=t.x,delete t.x,t.startAngle=t.x0,delete t.x0,t.endAngle=t.x1,delete t.x1,t.radius=t.y,delete t.y,t.innerRadius=t.y0,delete t.y0,t.outerRadius=t.y1,delete t.y1,t.lineStartAngle=function(){return Bl(n())},delete t.lineX0,t.lineEndAngle=function(){return Bl(r())},delete t.lineX1,t.lineInnerRadius=function(){return Bl(a())},delete t.lineY0,t.lineOuterRadius=function(){return Bl(i())},delete t.lineY1,t.curve=function(o){return arguments.length?e(lg(o)):e()._curve},t}function El(t,e){return[(e=+e)*Math.cos(t-=Math.PI/2),e*Math.sin(t)]}class G_{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}}class aX{constructor(e){this._context=e}lineStart(){this._point=0}lineEnd(){}point(e,n){if(e=+e,n=+n,this._point===0)this._point=1;else{const r=El(this._x0,this._y0),a=El(this._x0,this._y0=(this._y0+n)/2),i=El(e,this._y0),o=El(e,n);this._context.moveTo(...r),this._context.bezierCurveTo(...a,...i,...o)}this._x0=e,this._y0=n}}function j_(t){return new G_(t,!0)}function V_(t){return new G_(t,!1)}function iX(t){return new aX(t)}function oX(t){return t.source}function lX(t){return t.target}function lf(t){let e=oX,n=lX,r=ag,a=ig,i=null,o=null,l=wl(u);function u(){let s;const c=eX.call(arguments),d=e.apply(this,c),f=n.apply(this,c);if(i==null&&(o=t(s=l())),o.lineStart(),c[0]=d,o.point(+r.apply(this,c),+a.apply(this,c)),c[0]=f,o.point(+r.apply(this,c),+a.apply(this,c)),o.lineEnd(),s)return o=null,s+""||null}return u.source=function(s){return arguments.length?(e=s,u):e},u.target=function(s){return arguments.length?(n=s,u):n},u.x=function(s){return arguments.length?(r=typeof s=="function"?s:dt(+s),u):r},u.y=function(s){return arguments.length?(a=typeof s=="function"?s:dt(+s),u):a},u.context=function(s){return arguments.length?(s==null?i=o=null:o=t(i=s),u):i},u}function sX(){return lf(j_)}function uX(){return lf(V_)}function cX(){const t=lf(iX);return t.angle=t.x,delete t.x,t.radius=t.y,delete t.y,t}const fX=Ft(3),Y_={draw(t,e){const n=Ft(e+Ti(e/28,.75))*.59436,r=n/2,a=r*fX;t.moveTo(0,n),t.lineTo(0,-n),t.moveTo(-a,-r),t.lineTo(a,r),t.moveTo(-a,r),t.lineTo(a,-r)}},sf={draw(t,e){const n=Ft(e/$r);t.moveTo(n,0),t.arc(0,0,n,0,Sr)}},H_={draw(t,e){const n=Ft(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()}},W_=Ft(1/3),dX=W_*2,X_={draw(t,e){const n=Ft(e/dX),r=n*W_;t.moveTo(0,-n),t.lineTo(r,0),t.lineTo(0,n),t.lineTo(-r,0),t.closePath()}},U_={draw(t,e){const n=Ft(e)*.62625;t.moveTo(0,-n),t.lineTo(n,0),t.lineTo(0,n),t.lineTo(-n,0),t.closePath()}},q_={draw(t,e){const n=Ft(e-Ti(e/7,2))*.87559;t.moveTo(-n,0),t.lineTo(n,0),t.moveTo(0,n),t.lineTo(0,-n)}},Z_={draw(t,e){const n=Ft(e),r=-n/2;t.rect(r,r,n,n)}},J_={draw(t,e){const n=Ft(e)*.4431;t.moveTo(n,n),t.lineTo(n,-n),t.lineTo(-n,-n),t.lineTo(-n,n),t.closePath()}},hX=.8908130915292852,K_=Te($r/10)/Te(7*$r/10),pX=Te(Sr/10)*K_,mX=-Kn(Sr/10)*K_,Q_={draw(t,e){const n=Ft(e*hX),r=pX*n,a=mX*n;t.moveTo(0,-n),t.lineTo(r,a);for(let i=1;i<5;++i){const o=Sr*i/5,l=Kn(o),u=Te(o);t.lineTo(u*n,-l*n),t.lineTo(l*r-u*a,u*r+l*a)}t.closePath()}},sg=Ft(3),ug={draw(t,e){const n=-Ft(e/(sg*3));t.moveTo(0,n*2),t.lineTo(-sg*n,-n),t.lineTo(sg*n,-n),t.closePath()}},gX=Ft(3),tA={draw(t,e){const n=Ft(e)*.6824,r=n/2,a=n*gX/2;t.moveTo(0,-n),t.lineTo(a,r),t.lineTo(-a,r),t.closePath()}},He=-.5,We=Ft(3)/2,cg=1/Ft(12),yX=(cg/2+1)*3,eA={draw(t,e){const n=Ft(e/yX),r=n/2,a=n*cg,i=r,o=n*cg+n,l=-i,u=o;t.moveTo(r,a),t.lineTo(i,o),t.lineTo(l,u),t.lineTo(He*r-We*a,We*r+He*a),t.lineTo(He*i-We*o,We*i+He*o),t.lineTo(He*l-We*u,We*l+He*u),t.lineTo(He*r+We*a,He*a-We*r),t.lineTo(He*i+We*o,He*o-We*i),t.lineTo(He*l+We*u,He*u-We*l),t.closePath()}},fg={draw(t,e){const n=Ft(e-Ti(e/6,1.7))*.6189;t.moveTo(-n,-n),t.lineTo(n,n),t.moveTo(-n,n),t.lineTo(n,-n)}},nA=[sf,H_,X_,Z_,Q_,ug,eA],bX=[sf,q_,fg,tA,Y_,J_,U_];function rA(t,e){let n=null,r=wl(a);t=typeof t=="function"?t:dt(t||sf),e=typeof e=="function"?e:dt(e===void 0?64:+e);function a(){let i;if(n||(n=i=r()),t.apply(this,arguments).draw(n,+e.apply(this,arguments)),i)return n=null,i+""||null}return a.type=function(i){return arguments.length?(t=typeof i=="function"?i:dt(i),a):t},a.size=function(i){return arguments.length?(e=typeof i=="function"?i:dt(+i),a):e},a.context=function(i){return arguments.length?(n=i??null,a):n},a}function Dr(){}function uf(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 cf(t){this._context=t}cf.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:uf(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:uf(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function xX(t){return new cf(t)}function aA(t){this._context=t}aA.prototype={areaStart:Dr,areaEnd:Dr,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:uf(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function vX(t){return new aA(t)}function iA(t){this._context=t}iA.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:uf(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function $X(t){return new iA(t)}function oA(t,e){this._basis=new cf(t),this._beta=e}oA.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],a=e[0],i=t[n]-r,o=e[n]-a,l=-1,u;++l<=n;)u=l/n,this._basis.point(this._beta*t[l]+(1-this._beta)*(r+u*i),this._beta*e[l]+(1-this._beta)*(a+u*o));this._x=this._y=null,this._basis.lineEnd()},point:function(t,e){this._x.push(+t),this._y.push(+e)}};const SX=function t(e){function n(r){return e===1?new cf(r):new oA(r,e)}return n.beta=function(r){return t(+r)},n}(.85);function ff(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 dg(t,e){this._context=t,this._k=(1-e)/6}dg.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:ff(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:ff(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}};const DX=function t(e){function n(r){return new dg(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:Dr,areaEnd:Dr,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:ff(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}};const _X=function t(e){function n(r){return new hg(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: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:ff(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}};const AX=function t(e){function n(r){return new pg(r,e)}return n.tension=function(r){return t(+r)},n}(0);function mg(t,e,n){var r=t._x1,a=t._y1,i=t._x2,o=t._y2;if(t._l01_a>re){var l=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,u=3*t._l01_a*(t._l01_a+t._l12_a);r=(r*l-t._x0*t._l12_2a+t._x2*t._l01_2a)/u,a=(a*l-t._y0*t._l12_2a+t._y2*t._l01_2a)/u}if(t._l23_a>re){var s=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,c=3*t._l23_a*(t._l23_a+t._l12_a);i=(i*s+t._x1*t._l23_2a-e*t._l12_2a)/c,o=(o*s+t._y1*t._l23_2a-n*t._l12_2a)/c}t._context.bezierCurveTo(r,a,i,o,t._x2,t._y2)}function lA(t,e){this._context=t,this._alpha=e}lA.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:mg(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}};const CX=function t(e){function n(r){return e?new lA(r,e):new dg(r,0)}return n.alpha=function(r){return t(+r)},n}(.5);function sA(t,e){this._context=t,this._alpha=e}sA.prototype={areaStart:Dr,areaEnd:Dr,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:mg(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}};const PX=function t(e){function n(r){return e?new sA(r,e):new hg(r,0)}return n.alpha=function(r){return t(+r)},n}(.5);function uA(t,e){this._context=t,this._alpha=e}uA.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:mg(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}};const FX=function t(e){function n(r){return e?new uA(r,e):new pg(r,0)}return n.alpha=function(r){return t(+r)},n}(.5);function cA(t){this._context=t}cA.prototype={areaStart:Dr,areaEnd:Dr,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 TX(t){return new cA(t)}function fA(t){return t<0?-1:1}function dA(t,e,n){var r=t._x1-t._x0,a=e-t._x1,i=(t._y1-t._y0)/(r||a<0&&-0),o=(n-t._y1)/(a||r<0&&-0),l=(i*a+o*r)/(r+a);return(fA(i)+fA(o))*Math.min(Math.abs(i),Math.abs(o),.5*Math.abs(l))||0}function hA(t,e){var n=t._x1-t._x0;return n?(3*(t._y1-t._y0)/n-e)/2:e}function gg(t,e,n){var r=t._x0,a=t._y0,i=t._x1,o=t._y1,l=(i-r)/3;t._context.bezierCurveTo(r+l,a+l*e,i-l,o-l*n,i,o)}function df(t){this._context=t}df.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:gg(this,this._t0,hA(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,gg(this,hA(this,n=dA(this,t,e)),n);break;default:gg(this,this._t0,n=dA(this,t,e));break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e,this._t0=n}}};function pA(t){this._context=new mA(t)}(pA.prototype=Object.create(df.prototype)).point=function(t,e){df.prototype.point.call(this,e,t)};function mA(t){this._context=t}mA.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,a,i){this._context.bezierCurveTo(e,t,r,n,i,a)}};function wX(t){return new df(t)}function BX(t){return new pA(t)}function gA(t){this._context=t}gA.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=yA(t),a=yA(e),i=0,o=1;o<n;++i,++o)this._context.bezierCurveTo(r[0][i],a[0][i],r[1][i],a[1][i],t[o],e[o]);(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 yA(t){var e,n=t.length-1,r,a=new Array(n),i=new Array(n),o=new Array(n);for(a[0]=0,i[0]=2,o[0]=t[0]+2*t[1],e=1;e<n-1;++e)a[e]=1,i[e]=4,o[e]=4*t[e]+2*t[e+1];for(a[n-1]=2,i[n-1]=7,o[n-1]=8*t[n-1]+t[n],e=1;e<n;++e)r=a[e]/i[e-1],i[e]-=r,o[e]-=r*o[e-1];for(a[n-1]=o[n-1]/i[n-1],e=n-2;e>=0;--e)a[e]=(o[e]-a[e+1])/i[e];for(i[n-1]=(t[n]+a[n-1])/2,e=0;e<n-1;++e)i[e]=2*t[e+1]-a[e+1];return[a,i]}function EX(t){return new gA(t)}function hf(t,e){this._context=t,this._t=e}hf.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 LX(t){return new hf(t,.5)}function MX(t){return new hf(t,0)}function RX(t){return new hf(t,1)}function wi(t,e){if((o=t.length)>1)for(var n=1,r,a,i=t[e[0]],o,l=i.length;n<o;++n)for(a=i,i=t[e[n]],r=0;r<l;++r)i[r][1]+=i[r][0]=isNaN(a[r][1])?a[r][0]:a[r][1]}function Bi(t){for(var e=t.length,n=new Array(e);--e>=0;)n[e]=e;return n}function IX(t,e){return t[e]}function kX(t){const e=[];return e.key=t,e}function NX(){var t=dt([]),e=Bi,n=wi,r=IX;function a(i){var o=Array.from(t.apply(this,arguments),kX),l,u=o.length,s=-1,c;for(const d of i)for(l=0,++s;l<u;++l)(o[l][s]=[0,+r(d,o[l].key,s,i)]).data=d;for(l=0,c=rf(e(o));l<u;++l)o[c[l]].index=l;return n(o,c),o}return a.keys=function(i){return arguments.length?(t=typeof i=="function"?i:dt(Array.from(i)),a):t},a.value=function(i){return arguments.length?(r=typeof i=="function"?i:dt(+i),a):r},a.order=function(i){return arguments.length?(e=i==null?Bi:typeof i=="function"?i:dt(Array.from(i)),a):e},a.offset=function(i){return arguments.length?(n=i??wi,a):n},a}function zX(t,e){if((r=t.length)>0){for(var n,r,a=0,i=t[0].length,o;a<i;++a){for(o=n=0;n<r;++n)o+=t[n][a][1]||0;if(o)for(n=0;n<r;++n)t[n][a][1]/=o}wi(t,e)}}function OX(t,e){if((u=t.length)>0)for(var n,r=0,a,i,o,l,u,s=t[e[0]].length;r<s;++r)for(o=l=0,n=0;n<u;++n)(i=(a=t[e[n]][r])[1]-a[0])>0?(a[0]=o,a[1]=o+=i):i<0?(a[1]=l,a[0]=l+=i):(a[0]=0,a[1]=i)}function GX(t,e){if((a=t.length)>0){for(var n=0,r=t[e[0]],a,i=r.length;n<i;++n){for(var o=0,l=0;o<a;++o)l+=t[o][n][1]||0;r[n][1]+=r[n][0]=-l/2}wi(t,e)}}function jX(t,e){if(!(!((o=t.length)>0)||!((i=(a=t[e[0]]).length)>0))){for(var n=0,r=1,a,i,o;r<i;++r){for(var l=0,u=0,s=0;l<o;++l){for(var c=t[e[l]],d=c[r][1]||0,f=c[r-1][1]||0,h=(d-f)/2,p=0;p<l;++p){var g=t[e[p]],m=g[r][1]||0,b=g[r-1][1]||0;h+=m-b}u+=d,s+=h*d}a[r-1][1]+=a[r-1][0]=n,u&&(n-=s/u)}a[r-1][1]+=a[r-1][0]=n,wi(t,e)}}function bA(t){var e=t.map(VX);return Bi(t).sort(function(n,r){return e[n]-e[r]})}function VX(t){for(var e=-1,n=0,r=t.length,a,i=-1/0;++e<r;)(a=+t[e][1])>i&&(i=a,n=e);return n}function xA(t){var e=t.map(vA);return Bi(t).sort(function(n,r){return e[n]-e[r]})}function vA(t){for(var e=0,n=-1,r=t.length,a;++n<r;)(a=+t[n][1])&&(e+=a);return e}function YX(t){return xA(t).reverse()}function HX(t){var e=t.length,n,r,a=t.map(vA),i=bA(t),o=0,l=0,u=[],s=[];for(n=0;n<e;++n)r=i[n],o<l?(o+=a[r],u.push(r)):(l+=a[r],s.push(r));return s.reverse().concat(u)}function WX(t){return Bi(t).reverse()}const pf=t=>()=>t;function XX(t,{sourceEvent:e,target:n,transform:r,dispatch:a}){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:a}})}function Pn(t,e,n){this.k=t,this.x=e,this.y=n}Pn.prototype={constructor:Pn,scale:function(t){return t===1?this:new Pn(this.k*t,this.x,this.y)},translate:function(t,e){return t===0&e===0?this:new Pn(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 Ei=new Pn(1,0,0);$A.prototype=Pn.prototype;function $A(t){for(;!t.__zoom;)if(!(t=t.parentNode))return Ei;return t.__zoom}function yg(t){t.stopImmediatePropagation()}function Ll(t){t.preventDefault(),t.stopImmediatePropagation()}function UX(t){return(!t.ctrlKey||t.type==="wheel")&&!t.button}function qX(){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 SA(){return this.__zoom||Ei}function ZX(t){return-t.deltaY*(t.deltaMode===1?.05:t.deltaMode?1:.002)*(t.ctrlKey?10:1)}function JX(){return navigator.maxTouchPoints||"ontouchstart"in this}function KX(t,e,n){var r=t.invertX(e[0][0])-n[0][0],a=t.invertX(e[1][0])-n[1][0],i=t.invertY(e[0][1])-n[0][1],o=t.invertY(e[1][1])-n[1][1];return t.translate(a>r?(r+a)/2:Math.min(0,r)||Math.max(0,a),o>i?(i+o)/2:Math.min(0,i)||Math.max(0,o))}function Qn(){var t=UX,e=qX,n=KX,r=ZX,a=JX,i=[0,1/0],o=[[-1/0,-1/0],[1/0,1/0]],l=250,u=n$,s=Hr("start","zoom","end"),c,d,f,h=500,p=150,g=0,m=10;function b(E){E.property("__zoom",SA).on("wheel.zoom",A,{passive:!1}).on("mousedown.zoom",$).on("dblclick.zoom",T).filter(a).on("touchstart.zoom",S).on("touchmove.zoom",k).on("touchend.zoom touchcancel.zoom",N).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}b.transform=function(E,P,B,R){var F=E.selection?E.selection():E;F.property("__zoom",SA),E!==F?_(E,P,B,R):F.interrupt().each(function(){D(this,arguments).event(R).start().zoom(null,typeof P=="function"?P.apply(this,arguments):P).end()})},b.scaleBy=function(E,P,B,R){b.scaleTo(E,function(){var F=this.__zoom.k,M=typeof P=="function"?P.apply(this,arguments):P;return F*M},B,R)},b.scaleTo=function(E,P,B,R){b.transform(E,function(){var F=e.apply(this,arguments),M=this.__zoom,z=B==null?v(F):typeof B=="function"?B.apply(this,arguments):B,V=M.invert(z),K=typeof P=="function"?P.apply(this,arguments):P;return n(x(y(M,K),z,V),F,o)},B,R)},b.translateBy=function(E,P,B,R){b.transform(E,function(){return n(this.__zoom.translate(typeof P=="function"?P.apply(this,arguments):P,typeof B=="function"?B.apply(this,arguments):B),e.apply(this,arguments),o)},null,R)},b.translateTo=function(E,P,B,R,F){b.transform(E,function(){var M=e.apply(this,arguments),z=this.__zoom,V=R==null?v(M):typeof R=="function"?R.apply(this,arguments):R;return n(Ei.translate(V[0],V[1]).scale(z.k).translate(typeof P=="function"?-P.apply(this,arguments):-P,typeof B=="function"?-B.apply(this,arguments):-B),M,o)},R,F)};function y(E,P){return P=Math.max(i[0],Math.min(i[1],P)),P===E.k?E:new Pn(P,E.x,E.y)}function x(E,P,B){var R=P[0]-B[0]*E.k,F=P[1]-B[1]*E.k;return R===E.x&&F===E.y?E:new Pn(E.k,R,F)}function v(E){return[(+E[0][0]+ +E[1][0])/2,(+E[0][1]+ +E[1][1])/2]}function _(E,P,B,R){E.on("start.zoom",function(){D(this,arguments).event(R).start()}).on("interrupt.zoom end.zoom",function(){D(this,arguments).event(R).end()}).tween("zoom",function(){var F=this,M=arguments,z=D(F,M).event(R),V=e.apply(F,M),K=B==null?v(V):typeof B=="function"?B.apply(F,M):B,q=Math.max(V[1][0]-V[0][0],V[1][1]-V[0][1]),j=F.__zoom,U=typeof P=="function"?P.apply(F,M):P,et=u(j.invert(K).concat(q/j.k),U.invert(K).concat(q/U.k));return function(st){if(st===1)st=U;else{var pt=et(st),Q=q/pt[2];st=new Pn(Q,K[0]-pt[0]*Q,K[1]-pt[1]*Q)}z.zoom(null,st)}})}function D(E,P,B){return!B&&E.__zooming||new C(E,P)}function C(E,P){this.that=E,this.args=P,this.active=0,this.sourceEvent=null,this.extent=e.apply(E,P),this.taps=0}C.prototype={event:function(E){return E&&(this.sourceEvent=E),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(E,P){return this.mouse&&E!=="mouse"&&(this.mouse[1]=P.invert(this.mouse[0])),this.touch0&&E!=="touch"&&(this.touch0[1]=P.invert(this.touch0[0])),this.touch1&&E!=="touch"&&(this.touch1[1]=P.invert(this.touch1[0])),this.that.__zoom=P,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(E){var P=Y(this.that).datum();s.call(E,this.that,new XX(E,{sourceEvent:this.sourceEvent,target:b,transform:this.that.__zoom,dispatch:s}),P)}};function A(E,...P){if(!t.apply(this,arguments))return;var B=D(this,P).event(E),R=this.__zoom,F=Math.max(i[0],Math.min(i[1],R.k*Math.pow(2,r.apply(this,arguments)))),M=Me(E);if(B.wheel)(B.mouse[0][0]!==M[0]||B.mouse[0][1]!==M[1])&&(B.mouse[1]=R.invert(B.mouse[0]=M)),clearTimeout(B.wheel);else{if(R.k===F)return;B.mouse=[M,R.invert(M)],Qr(this),B.start()}Ll(E),B.wheel=setTimeout(z,p),B.zoom("mouse",n(x(y(R,F),B.mouse[0],B.mouse[1]),B.extent,o));function z(){B.wheel=null,B.end()}}function $(E,...P){if(f||!t.apply(this,arguments))return;var B=E.currentTarget,R=D(this,P,!0).event(E),F=Y(E.view).on("mousemove.zoom",K,!0).on("mouseup.zoom",q,!0),M=Me(E,B),z=E.clientX,V=E.clientY;hu(E.view),yg(E),R.mouse=[M,this.__zoom.invert(M)],Qr(this),R.start();function K(j){if(Ll(j),!R.moved){var U=j.clientX-z,et=j.clientY-V;R.moved=U*U+et*et>g}R.event(j).zoom("mouse",n(x(R.that.__zoom,R.mouse[0]=Me(j,B),R.mouse[1]),R.extent,o))}function q(j){F.on("mousemove.zoom mouseup.zoom",null),pu(j.view,R.moved),Ll(j),R.event(j).end()}}function T(E,...P){if(t.apply(this,arguments)){var B=this.__zoom,R=Me(E.changedTouches?E.changedTouches[0]:E,this),F=B.invert(R),M=B.k*(E.shiftKey?.5:2),z=n(x(y(B,M),R,F),e.apply(this,P),o);Ll(E),l>0?Y(this).transition().duration(l).call(_,z,R,E):Y(this).call(b.transform,z,R,E)}}function S(E,...P){if(t.apply(this,arguments)){var B=E.touches,R=B.length,F=D(this,P,E.changedTouches.length===R).event(E),M,z,V,K;for(yg(E),z=0;z<R;++z)V=B[z],K=Me(V,this),K=[K,this.__zoom.invert(K),V.identifier],F.touch0?!F.touch1&&F.touch0[2]!==K[2]&&(F.touch1=K,F.taps=0):(F.touch0=K,M=!0,F.taps=1+!!c);c&&(c=clearTimeout(c)),M&&(F.taps<2&&(d=K[0],c=setTimeout(function(){c=null},h)),Qr(this),F.start())}}function k(E,...P){if(this.__zooming){var B=D(this,P).event(E),R=E.changedTouches,F=R.length,M,z,V,K;for(Ll(E),M=0;M<F;++M)z=R[M],V=Me(z,this),B.touch0&&B.touch0[2]===z.identifier?B.touch0[0]=V:B.touch1&&B.touch1[2]===z.identifier&&(B.touch1[0]=V);if(z=B.that.__zoom,B.touch1){var q=B.touch0[0],j=B.touch0[1],U=B.touch1[0],et=B.touch1[1],st=(st=U[0]-q[0])*st+(st=U[1]-q[1])*st,pt=(pt=et[0]-j[0])*pt+(pt=et[1]-j[1])*pt;z=y(z,Math.sqrt(st/pt)),V=[(q[0]+U[0])/2,(q[1]+U[1])/2],K=[(j[0]+et[0])/2,(j[1]+et[1])/2]}else if(B.touch0)V=B.touch0[0],K=B.touch0[1];else return;B.zoom("touch",n(x(z,V,K),B.extent,o))}}function N(E,...P){if(this.__zooming){var B=D(this,P).event(E),R=E.changedTouches,F=R.length,M,z;for(yg(E),f&&clearTimeout(f),f=setTimeout(function(){f=null},h),M=0;M<F;++M)z=R[M],B.touch0&&B.touch0[2]===z.identifier?delete B.touch0:B.touch1&&B.touch1[2]===z.identifier&&delete B.touch1;if(B.touch1&&!B.touch0&&(B.touch0=B.touch1,delete B.touch1),B.touch0)B.touch0[1]=this.__zoom.invert(B.touch0[0]);else if(B.end(),B.taps===2&&(z=Me(z,this),Math.hypot(d[0]-z[0],d[1]-z[1])<m)){var V=Y(this).on("dblclick.zoom");V&&V.apply(this,arguments)}}}return b.wheelDelta=function(E){return arguments.length?(r=typeof E=="function"?E:pf(+E),b):r},b.filter=function(E){return arguments.length?(t=typeof E=="function"?E:pf(!!E),b):t},b.touchable=function(E){return arguments.length?(a=typeof E=="function"?E:pf(!!E),b):a},b.extent=function(E){return arguments.length?(e=typeof E=="function"?E:pf([[+E[0][0],+E[0][1]],[+E[1][0],+E[1][1]]]),b):e},b.scaleExtent=function(E){return arguments.length?(i[0]=+E[0],i[1]=+E[1],b):[i[0],i[1]]},b.translateExtent=function(E){return arguments.length?(o[0][0]=+E[0][0],o[1][0]=+E[1][0],o[0][1]=+E[0][1],o[1][1]=+E[1][1],b):[[o[0][0],o[0][1]],[o[1][0],o[1][1]]]},b.constrain=function(E){return arguments.length?(n=E,b):n},b.duration=function(E){return arguments.length?(l=+E,b):l},b.interpolate=function(E){return arguments.length?(u=E,b):u},b.on=function(){var E=s.on.apply(s,arguments);return E===s?b:E},b.clickDistance=function(E){return arguments.length?(g=(E=+E)*E,b):Math.sqrt(g)},b.tapDistance=function(E){return arguments.length?(m=+E,b):m},b}const bg=Object.freeze(Object.defineProperty({__proto__:null,Adder:Gt,Delaunay:Cp,FormatSpecifier:qu,InternMap:wo,InternSet:jr,Node:ca,Path:Ko,Voronoi:Y$,ZoomTransform:Pn,active:iz,arc:nf,area:og,areaRadial:O_,ascending:Bt,autoType:TO,axisBottom:rv,axisLeft:Fh,axisRight:QR,axisTop:su,bin:Xx,bisect:Gr,bisectCenter:ZM,bisectLeft:qM,bisectRight:Ex,bisector:Ks,blob:EO,blur:JM,blur2:Lx,blurImage:KM,brush:bz,brushSelection:mz,brushX:gz,brushY:yz,buffer:MO,chord:vz,chordDirected:Sz,chordTranspose:$z,cluster:Yj,color:pr,contourDensity:Uz,contours:$p,count:tu,create:MI,creator:cu,cross:iR,csv:kO,csvFormat:bO,csvFormatBody:xO,csvFormatRow:$O,csvFormatRows:vO,csvFormatValue:SO,csvParse:U$,csvParseRows:yO,cubehelix:rn,cumsum:oR,curveBasis:xX,curveBasisClosed:vX,curveBasisOpen:$X,curveBumpX:j_,curveBumpY:V_,curveBundle:SX,curveCardinal:DX,curveCardinalClosed:_X,curveCardinalOpen:AX,curveCatmullRom:CX,curveCatmullRomClosed:PX,curveCatmullRomOpen:FX,curveLinear:af,curveLinearClosed:TX,curveMonotoneX:wX,curveMonotoneY:BX,curveNatural:EX,curveStep:LX,curveStepAfter:RX,curveStepBefore:MX,descending:wx,deviation:Ix,difference:GR,disjoint:jR,dispatch:Hr,drag:gu,dragDisable:hu,dragEnable:pu,dsv:IO,dsvFormat:ju,easeBack:_$,easeBackIn:JN,easeBackInOut:_$,easeBackOut:KN,easeBounce:Zo,easeBounceIn:qN,easeBounceInOut:ZN,easeBounceOut:Zo,easeCircle:D$,easeCircleIn:zN,easeCircleInOut:D$,easeCircleOut:ON,easeCubic:qo,easeCubicIn:BN,easeCubicInOut:qo,easeCubicOut:EN,easeElastic:ta,easeElasticIn:QN,easeElasticInOut:tz,easeElasticOut:ta,easeExp:S$,easeExpIn:kN,easeExpInOut:S$,easeExpOut:NN,easeLinear:on,easePoly:b$,easePolyIn:LN,easePolyInOut:b$,easePolyOut:MN,easeQuad:y$,easeQuadIn:TN,easeQuadInOut:y$,easeQuadOut:wN,easeSin:$$,easeSinIn:RN,easeSinInOut:$$,easeSinOut:IN,every:RR,extent:To,fcumsum:sR,filter:kR,flatGroup:uR,flatRollup:cR,forceCenter:Bp,forceCollide:Hu,forceLink:Lp,forceManyBody:Xu,forceRadial:yG,forceSimulation:Wu,forceX:e2,forceY:n2,get format(){return nl},formatDefaultLocale:c2,formatLocale:u2,get formatPrefix(){return Mp},formatSpecifier:mi,fsum:lR,geoAlbers:_S,geoAlbersUsa:Sj,geoArea:PG,geoAzimuthalEqualArea:Dj,geoAzimuthalEqualAreaRaw:xm,geoAzimuthalEquidistant:_j,geoAzimuthalEquidistantRaw:vm,geoBounds:BG,geoCentroid:kG,geoCircle:NG,geoClipAntimeridian:Kp,geoClipCircle:W2,geoClipExtent:HG,geoClipRectangle:xc,geoConicConformal:Cj,geoConicConformalRaw:PS,geoConicEqualArea:Bc,geoConicEqualAreaRaw:DS,geoConicEquidistant:Fj,geoConicEquidistantRaw:FS,geoContains:KG,geoDistance:Sc,geoEqualEarth:wj,geoEqualEarthRaw:$m,geoEquirectangular:Pj,geoEquirectangularRaw:gl,geoGnomonic:Bj,geoGnomonicRaw:Sm,geoGraticule:nS,geoGraticule10:QG,geoIdentity:Ej,geoInterpolate:tj,geoLength:X2,geoMercator:Aj,geoMercatorRaw:ml,geoNaturalEarth1:Lj,geoNaturalEarth1Raw:Dm,geoOrthographic:Mj,geoOrthographicRaw:_m,geoPath:dj,geoProjection:_n,geoProjectionMutator:ym,geoRotation:N2,geoStereographic:Rj,geoStereographicRaw:Am,geoStream:ln,geoTransform:hj,geoTransverseMercator:Ij,geoTransverseMercatorRaw:Cm,gray:QI,greatest:Ux,greatestIndex:wR,group:Ox,groupSort:hR,groups:Gx,hcl:Su,hierarchy:Mc,histogram:Xx,hsl:xu,html:VO,image:zO,index:fR,indexes:dR,interpolate:kn,interpolateArray:ik,interpolateBasis:Ov,interpolateBasisClosed:Gv,interpolateBlues:FW,interpolateBrBG:lW,interpolateBuGn:gW,interpolateBuPu:yW,interpolateCividis:MW,interpolateCool:kW,interpolateCubehelix:vk,interpolateCubehelixDefault:RW,interpolateCubehelixLong:Pu,interpolateDate:Xv,interpolateDiscrete:sk,interpolateGnBu:bW,interpolateGreens:TW,interpolateGreys:wW,interpolateHcl:bk,interpolateHclLong:xk,interpolateHsl:mk,interpolateHslLong:gk,interpolateHue:uk,interpolateInferno:HW,interpolateLab:yk,interpolateMagma:YW,interpolateNumber:Re,interpolateNumberArray:Xh,interpolateObject:Uv,interpolateOrRd:xW,interpolateOranges:LW,interpolatePRGn:sW,interpolatePiYG:uW,interpolatePlasma:WW,interpolatePuBu:$W,interpolatePuBuGn:vW,interpolatePuOr:cW,interpolatePuRd:SW,interpolatePurples:BW,interpolateRainbow:NW,interpolateRdBu:fW,interpolateRdGy:dW,interpolateRdPu:DW,interpolateRdYlBu:hW,interpolateRdYlGn:pW,interpolateReds:EW,interpolateRgb:Go,interpolateRgbBasis:Yv,interpolateRgbBasisClosed:ak,interpolateRound:jo,interpolateSinebow:GW,interpolateSpectral:mW,interpolateString:Zh,interpolateTransformCss:Qv,interpolateTransformSvg:t$,interpolateTurbo:jW,interpolateViridis:VW,interpolateWarm:IW,interpolateYlGn:AW,interpolateYlGnBu:_W,interpolateYlOrBr:CW,interpolateYlOrRd:PW,interpolateZoom:n$,interrupt:Qr,intersection:VR,interval:Ak,isoFormat:OH,isoParse:VH,json:GO,lab:zo,lch:tk,least:TR,leastIndex:Jx,line:of,lineRadial:z_,link:lf,linkHorizontal:sX,linkRadial:cX,linkVertical:uX,local:hv,map:NR,matcher:Eh,max:Bo,maxIndex:Dh,mean:$R,median:SR,medianIndex:DR,merge:Ah,min:ru,minIndex:_h,mode:AR,namespace:Ro,namespaces:wh,nice:$h,now:Xo,pack:vV,packEnclose:pV,packSiblings:bV,pairs:CR,partition:$V,path:vp,pathRound:Az,permute:Wx,pie:I_,piecewise:o$,pointRadial:El,pointer:Me,pointers:II,polygonArea:IV,polygonCentroid:kV,polygonContains:GV,polygonHull:OV,polygonLength:jV,precisionFixed:f2,precisionPrefix:d2,precisionRound:h2,quadtree:Yu,quantile:Lo,quantileIndex:Zx,quantileSorted:qx,quantize:$k,quickselect:au,radialArea:O_,radialLine:z_,randomBates:WV,randomBernoulli:qV,randomBeta:ZS,randomBinomial:JS,randomCauchy:JV,randomExponential:XV,randomGamma:Im,randomGeometric:qS,randomInt:YV,randomIrwinHall:US,randomLcg:nY,randomLogNormal:HV,randomLogistic:KV,randomNormal:Rm,randomPareto:UV,randomPoisson:QV,randomUniform:VV,randomWeibull:ZV,range:dr,rank:FR,reduce:zR,reverse:OR,rgb:ri,ribbon:Lz,ribbonArrow:Mz,rollup:Vx,rollups:Yx,scaleBand:zm,scaleDiverging:r_,scaleDivergingLog:a_,scaleDivergingPow:rg,scaleDivergingSqrt:qH,scaleDivergingSymlog:i_,scaleIdentity:nD,scaleImplicit:km,scaleLinear:Wn,scaleLog:lD,scaleOrdinal:Nm,scalePoint:Om,scalePow:Xn,scaleQuantile:pD,scaleQuantize:mD,scaleRadial:hD,scaleSequential:QD,scaleSequentialLog:t_,scaleSequentialPow:ng,scaleSequentialQuantile:n_,scaleSequentialSqrt:UH,scaleSequentialSymlog:e_,scaleSqrt:pY,scaleSymlog:cD,scaleThreshold:gD,scaleTime:WH,scaleUtc:XH,scan:BR,schemeAccent:JH,schemeBlues:P_,schemeBrBG:o_,schemeBuGn:m_,schemeBuPu:g_,schemeCategory10:ZH,schemeDark2:KH,schemeGnBu:y_,schemeGreens:F_,schemeGreys:T_,schemeObservable10:QH,schemeOrRd:b_,schemeOranges:E_,schemePRGn:l_,schemePaired:tW,schemePastel1:eW,schemePastel2:nW,schemePiYG:s_,schemePuBu:v_,schemePuBuGn:x_,schemePuOr:u_,schemePuRd:$_,schemePurples:w_,schemeRdBu:c_,schemeRdGy:f_,schemeRdPu:S_,schemeRdYlBu:d_,schemeRdYlGn:h_,schemeReds:B_,schemeSet1:rW,schemeSet2:aW,schemeSet3:iW,schemeSpectral:p_,schemeTableau10:oW,schemeYlGn:__,schemeYlGnBu:D_,schemeYlOrBr:A_,schemeYlOrRd:C_,select:Y,selectAll:mv,selection:Xr,selector:fu,selectorAll:Bh,shuffle:ER,shuffler:Kx,some:IR,sort:bh,stack:NX,stackOffsetDiverging:OX,stackOffsetExpand:zX,stackOffsetNone:wi,stackOffsetSilhouette:GX,stackOffsetWiggle:jX,stackOrderAppearance:bA,stackOrderAscending:xA,stackOrderDescending:YX,stackOrderInsideOut:HX,stackOrderNone:Bi,stackOrderReverse:WX,stratify:AV,style:Wr,subset:HR,sum:Ch,superset:tv,svg:YO,symbol:rA,symbolAsterisk:Y_,symbolCircle:sf,symbolCross:H_,symbolDiamond:X_,symbolDiamond2:U_,symbolPlus:q_,symbolSquare:Z_,symbolSquare2:J_,symbolStar:Q_,symbolTimes:fg,symbolTriangle:ug,symbolTriangle2:tA,symbolWye:eA,symbolX:fg,symbols:nA,symbolsFill:nA,symbolsStroke:bX,text:Vu,thresholdFreedmanDiaconis:xR,thresholdScott:vR,thresholdSturges:Sh,tickFormat:eD,tickIncrement:Yr,tickStep:nu,ticks:Vr,timeDay:Ai,timeDays:vY,get timeFormat(){return Qm},timeFormatDefaultLocale:JD,timeFormatLocale:RD,timeFriday:SD,timeFridays:PY,timeHour:Yc,timeHours:bY,timeInterval:Ot,timeMillisecond:_i,timeMilliseconds:yD,timeMinute:jc,timeMinutes:gY,timeMonday:Al,timeMondays:DY,timeMonth:Wc,timeMonths:RY,get timeParse(){return ZD},timeSaturday:DD,timeSaturdays:FY,timeSecond:Jn,timeSeconds:xD,timeSunday:Ci,timeSundays:_D,timeThursday:ha,timeThursdays:CY,timeTickInterval:MD,timeTicks:LD,timeTuesday:vD,timeTuesdays:_Y,timeWednesday:$D,timeWednesdays:AY,timeWeek:Ci,timeWeeks:_D,timeYear:An,timeYears:kY,timeout:Kh,timer:Bu,timerFlush:u$,transition:m$,transpose:Qx,tree:EV,treemap:WS,treemapBinary:LV,treemapDice:Sl,treemapResquarify:RV,treemapSlice:zc,treemapSliceDice:MV,treemapSquarify:Mm,tsv:NO,tsvFormat:_O,tsvFormatBody:AO,tsvFormatRow:PO,tsvFormatRows:CO,tsvFormatValue:FO,tsvParse:q$,tsvParseRows:DO,union:WR,unixDay:Zm,unixDays:SY,utcDay:_l,utcDays:$Y,get utcFormat(){return Uc},utcFriday:PD,utcFridays:LY,utcHour:Hc,utcHours:xY,utcMillisecond:_i,utcMilliseconds:yD,utcMinute:Vc,utcMinutes:yY,utcMonday:Cl,utcMondays:TY,utcMonth:Xc,utcMonths:IY,get utcParse(){return tg},utcSaturday:FD,utcSaturdays:MY,utcSecond:Jn,utcSeconds:xD,utcSunday:Pi,utcSundays:TD,utcThursday:ma,utcThursdays:EY,utcTickInterval:ED,utcTicks:BD,utcTuesday:AD,utcTuesdays:wY,utcWednesday:CD,utcWednesdays:BY,utcWeek:Pi,utcWeeks:TD,utcYear:Cn,utcYears:NY,variance:Rx,window:Lh,xml:jO,zip:MR,zoom:Qn,zoomIdentity:Ei,zoomTransform:$A},Symbol.toStringTag,{value:"Module"}));function DA(t){try{return t.node().getBBox()}catch(e){throw new Error(e)}}function QX(t,e){function n(a){var i;const o=document.createElementNS("http://www.w3.org/1999/xhtml","div");o.innerHTML='<svg xmlns="http://www.w3.org/2000/svg">'+a+"</svg>";const l=document.createDocumentFragment();for(;l&&(i=o==null?void 0:o.firstChild)!=null&&i.firstChild;)l.appendChild(o.firstChild.firstChild);return l}const r=t.node();for(;r.hasChildNodes();)r.removeChild(r.firstChild);t.node().appendChild(n(e))}function ga(t){return t.substring(0,4)!=="ease"?qo:bg[t]??qo}function mf({axisWidth:t,innerRadius:e,outerRadius:n,padAngle:r,cornerRadius:a}){const i=Wn().domain([0,1]).range([0,t/2]),o=i(n);return nf().innerRadius(i(e)).outerRadius(o).padAngle(r).padRadius(o).cornerRadius(a)}const Fn=(t,e)=>{if(e instanceof Function){const n=e(t);return String(n??"")}return nl(e)(t)};function xg(t){return!(zo(t).l<=60)}function Li(t,e=10){var n;const r=document.createElement("canvas").getContext("2d");return(((n=r==null?void 0:r.measureText(t))==null?void 0:n.width)??0)*e/10}function tU(t){if(t===null||Number.isNaN(t)==!0)return String(t||0);const e=t.toString().split(".");return e[0]=e[0].replace(/\B(?=(\d{3})+(?!\d))/g,","),e.join(".")}function ht(t,e){const n=e.colors[e.colorScheme];return t==="label"?n.label[0]:t==="labelContrast"?xg(n.label[0])?n.labelContrast[1]:n.labelContrast[0]:t=="none"?"none":n[t]!=null?n[t]:n.primary}function Pt({datum:t,colorType:e,fullChartParams:n}){const r=n.colors[n.colorScheme];if(e==="label")return t.color||r.label[0];if(e==="labelContrast"){const a=t.color;return a?xg(a)?r.labelContrast[1]:r.labelContrast[0]:xg(r.label[0])?r.labelContrast[1]:r.labelContrast[0]}return e=="none"?"none":r[e]!=null?r[e]:r.primary}function W(t,e,n){const r=n?`--${n}`:"";return`orbcharts-${t}__${e}${r}`}function Jt(t,e){const n=Math.random().toString(36).substr(2,5);return W(t,e,n)}function ya(t,e){let n=new bt(()=>{});return t.each(function(){const r=Md(this,e);n=Rd(n,r)}),n}const ba=({selection:t,pluginName:e,clipPathID:n,seriesLabels$:r,gridContainerPosition$:a,gridAxesTransform$:i,gridGraphicTransform$:o})=>{const l=W(e,"series"),u=W(e,"axes"),s=W(e,"graphic"),c=r.pipe(L((p,g)=>t.selectAll(`g.${l}`).data(p,m=>m).join(m=>m.append("g").classed(l,!0).each((b,y,x)=>{Y(x[y]).selectAll(`g.${u}`).data([y]).join(v=>v.append("g").classed(u,!0).attr("clip-path",`url(#${n})`).each((_,D,C)=>{Y(C[D]).selectAll("defs").data([D]).join("defs"),Y(C[D]).selectAll("g").data([D]).join("g").classed(s,!0)}),v=>v,v=>v.remove())}),m=>m,m=>m.remove())),nt(1));G({seriesSelection:c,gridContainerPosition:a}).pipe(O(async p=>p)).subscribe(p=>{p.seriesSelection.transition().attr("transform",(g,m)=>{const b=p.gridContainerPosition[m]??p.gridContainerPosition[0],y=b.translate,x=b.scale;return`translate(${y[0]}, ${y[1]}) scale(${x[0]}, ${x[1]})`})});const d=G({seriesSelection:c,gridAxesTransform:i}).pipe(O(async p=>p),L(p=>p.seriesSelection.select(`g.${u}`).style("transform",p.gridAxesTransform.value)),nt(1)),f=d.pipe(L(p=>p.select("defs")),nt(1)),h=G({axesSelection:d,gridGraphicTransform:o}).pipe(O(async p=>p),L(p=>{const g=p.axesSelection.select(`g.${s}`);return g.transition().duration(50).style("transform",p.gridGraphicTransform.value),g}),nt(1));return{seriesSelection$:c,axesSelection$:d,defsSelection$:f,graphicGSelection$:h}},eU=({selection:t,pluginName:e,computedData$:n,gridContainerPosition$:r,isSeriesSeprate$:a})=>{const i=W(e,"container"),o=G({computedData:n.pipe(H((l,u)=>l.length===u.length)),isSeriesSeprate:a}).pipe(O(async l=>l),L(l=>l.isSeriesSeprate?l.computedData:[l.computedData[0]]),L((l,u)=>t.selectAll(`g.${i}`).data(l,s=>s&&s[0]?s[0].seriesIndex:u).join("g").classed(i,!0)),nt(1));return G({containerSelection:o,gridContainerPosition:r}).pipe(O(async l=>l)).subscribe(l=>{l.containerSelection.attr("transform",(u,s)=>{const c=l.gridContainerPosition[s]??l.gridContainerPosition[0],d=c.translate,f=c.scale;return`translate(${d[0]}, ${d[1]}) scale(${f[0]}, ${f[1]})`})}),o},_A=({fullDataFormatter$:t,gridAxesSize$:e,computedData$:n,fullChartParams$:r,gridContainerPosition$:a,layout$:i})=>{const o=new J,l=G({fullDataFormatter:t,gridAxesSize:e,computedData:n}).pipe(O(async f=>f),L(f=>{const h=f.computedData[0]?f.computedData[0].length-1:0,p=f.fullDataFormatter.groupAxis.scaleDomain[0]-f.fullDataFormatter.groupAxis.scalePadding,g=f.fullDataFormatter.groupAxis.scaleDomain[1]==="max"?h+f.fullDataFormatter.groupAxis.scalePadding:f.fullDataFormatter.groupAxis.scaleDomain[1]+f.fullDataFormatter.groupAxis.scalePadding;return[p,g]}),nt(1)),u=G({fullDataFormatter:t,computedData:n}).pipe(O(async f=>f),L(f=>f.fullDataFormatter.seriesDirection==="row"?(f.computedData[0]??[]).map(h=>h.groupLabel):f.computedData.map(h=>h[0].groupLabel))),s=G({groupScaleDomain:l,groupLabels:u}).pipe(O(async f=>f),L(f=>f.groupLabels.filter((h,p)=>p>=f.groupScaleDomain[0]&&p<=f.groupScaleDomain[1]))),c=a.pipe(L(f=>f.reduce((h,p)=>p.columnIndex>h?p.columnIndex:h,0)+1),H()),d=a.pipe(L(f=>f.reduce((h,p)=>p.rowIndex>h?p.rowIndex:h,0)+1),H());return new bt(f=>{G({dataFormatter:t,axisSize:e,fullChartParams:r,scaleRangeGroupLabels:s,groupLabels:u,groupScaleDomain:l,columnAmount:c,rowAmount:d,layout:i}).pipe(w(o),O(async h=>h)).subscribe(h=>{const p=h.dataFormatter.valueAxis.position==="right"||h.dataFormatter.valueAxis.position==="bottom",g=ph({axisLabels:h.scaleRangeGroupLabels,axisWidth:h.axisSize.width,padding:h.dataFormatter.groupAxis.scalePadding,reverse:p}),m=y=>h.dataFormatter.groupAxis.position==="bottom"||h.dataFormatter.groupAxis.position==="top"?y.offsetX-h.fullChartParams.padding.left:y.offsetY-h.fullChartParams.padding.top,b=y=>{const x={offsetX:y.offsetX*h.columnAmount%h.layout.rootWidth,offsetY:y.offsetY*h.rowAmount%h.layout.rootHeight},v=m(x),_=g(v),D=Math.ceil(h.groupScaleDomain[0]),C=_+D;return{groupIndex:C,groupLabel:h.groupLabels[C]??""}};return f.next(b),function(){o.next(void 0)}})})},nU=({rootSelection:t,fullDataFormatter$:e,containerSize$:n,gridAxesContainerSize$:r,computedData$:a,gridContainerPosition$:i,layout$:o})=>{const l=ya(t,"mousemove"),u=G({fullDataFormatter:e,computedData:a}).pipe(O(async m=>m),L(m=>{const b=m.computedData[0]?m.computedData[0].length-1:0,y=m.fullDataFormatter.groupAxis.scaleDomain[0]-m.fullDataFormatter.groupAxis.scalePadding,x=m.fullDataFormatter.groupAxis.scaleDomain[1]==="max"?b+m.fullDataFormatter.groupAxis.scalePadding:m.fullDataFormatter.groupAxis.scaleDomain[1]+m.fullDataFormatter.groupAxis.scalePadding;return[y,x]}),nt(1)),s=G({fullDataFormatter:e,computedData:a}).pipe(O(async m=>m),L(m=>m.fullDataFormatter.seriesDirection==="row"?(m.computedData[0]??[]).map(b=>b.groupLabel):m.computedData.map(b=>b[0].groupLabel))),c=G({groupScaleDomain:u,groupLabels:s}).pipe(O(async m=>m),L(m=>m.groupLabels.filter((b,y)=>y>=m.groupScaleDomain[0]&&y<=m.groupScaleDomain[1]))),d=e.pipe(L(m=>m.valueAxis.position==="right"||m.valueAxis.position==="bottom")),f=G({reverse:d,gridAxesContainerSize:r,scaleRangeGroupLabels:c,fullDataFormatter:e}).pipe(O(async m=>m),L(m=>ph({axisLabels:m.scaleRangeGroupLabels,axisWidth:m.gridAxesContainerSize.width,padding:m.fullDataFormatter.groupAxis.scalePadding,reverse:m.reverse}))),h=G({fullDataFormatter:e,rootMousemove:l,gridContainerPosition:i,layout:o}).pipe(O(async m=>m),L(m=>{if(m.fullDataFormatter.groupAxis.position==="bottom"||m.fullDataFormatter.groupAxis.position==="top"){let b=m.rootMousemove.offsetX;const y=m.gridContainerPosition.map((x,v)=>{var _;return[x.translate[0],((_=m.gridContainerPosition[v+1])==null?void 0:_.translate[0])??m.layout.rootWidth]}).filter(x=>x[0]<x[1]).find(x=>b>=x[0]&&b<=x[1]);return y&&(b=b-y[0]),b-m.layout.left}else{let b=m.rootMousemove.offsetY;const y=m.gridContainerPosition.map((x,v)=>{var _;return[x.translate[1],((_=m.gridContainerPosition[v+1])==null?void 0:_.translate[1])??m.layout.rootHeight]}).filter(x=>x[0]<x[1]).find(x=>b>=x[0]&&b<=x[1]);return y&&(b=b-y[0]),b-m.layout.top}})),p=G({xIndexScale:f,axisValue:h,groupScaleDomain:u}).pipe(O(async m=>m),L(m=>{const b=m.xIndexScale(m.axisValue),y=Math.ceil(m.groupScaleDomain[0]);return b+y})),g=G({groupIndex:p,groupLabels:s}).pipe(O(async m=>m),L(m=>m.groupLabels[m.groupIndex]??""));return G({groupIndex:p,groupLabel:g}).pipe(O(async m=>m),L(m=>({groupIndex:m.groupIndex,groupLabel:m.groupLabel})))};function rU(t="curveLinear"){return of().x(e=>e.axisX).y(e=>e.axisY).curve(bg[t])}function aU(t){let e=[[]],n=0;for(let r in t){if(t[r].visible==!1||t[r].value===void 0||t[r].value===null){e[n].length&&(n++,e[n]=[]);continue}e[n].push(t[r])}return e}function iU({selection:t,pathClassName:e,segmentData:n,linePath:r,params:a}){return t.selectAll("path").data(n,(i,o)=>i.length?`${i[0].id}_${i[i.length-1].id}`:o).join(i=>i.append("path").classed(e,!0).attr("fill","none").attr("pointer-events","visibleStroke").style("vector-effect","non-scaling-stroke").style("cursor","pointer"),i=>i,i=>i.remove()).attr("stroke-width",a.lineWidth).attr("stroke",(i,o)=>i[0]&&i[0].color).attr("d",i=>r(i))}function oU({selection:t,seriesLabel:e,fullChartParams:n}){if(t.interrupt("highlight"),!e){t.transition("highlight").duration(200).style("opacity",1);return}t.each((r,a,i)=>{r===e?Y(i[a]).style("opacity",1):Y(i[a]).style("opacity",n.styles.unhighlightedOpacity)})}function lU({defsSelection:t,clipPathData:e,transitionDuration:n,transitionEase:r}){t.selectAll("clipPath").data(e).join(a=>a.append("clipPath"),a=>a,a=>a.remove()).attr("id",a=>a.id).each((a,i,o)=>{Y(o[i]).selectAll("rect").data([a]).join(l=>{const u=l.append("rect");return u.transition().duration(n).ease(ga(r)).tween("tween",(s,c,d)=>f=>{const h=s.width*f;u.attr("x",0).attr("y",0).attr("width",p=>h).attr("height",p=>p.height)}),u},l=>l.attr("x",0).attr("y",0).attr("width",u=>u.width).attr("height",u=>u.height),l=>l.remove())})}const AA=(t,{selection:e,computedData$:n,computedAxesData$:r,visibleComputedData$:a,visibleComputedAxesData$:i,seriesLabels$:o,SeriesDataMap$:l,GroupDataMap$:u,fullParams$:s,fullDataFormatter$:c,fullChartParams$:d,gridAxesTransform$:f,gridGraphicTransform$:h,gridAxesSize$:p,gridHighlight$:g,gridContainerPosition$:m,allContainerPosition$:b,layout$:y,event$:x})=>{const v=new J,_=Jt(t,"clipPath-box"),D=W(t,"path"),{defsSelection$:C,graphicGSelection$:A}=ba({selection:e,pluginName:t,clipPathID:_,seriesLabels$:o,gridContainerPosition$:m,gridAxesTransform$:f,gridGraphicTransform$:h}),$=new bt(B=>{const R=s.pipe(w(v)).subscribe(F=>{if(!F)return;const M=rU(F.lineCurve);B.next(M)});return()=>{R.unsubscribe()}}),T=d.pipe(L(B=>B.transitionDuration),H()),S=d.pipe(L(B=>B.transitionEase),H());G({defsSelection:C,seriesLabels:o,axisSize:p,transitionDuration:T,transitionEase:S}).pipe(w(v),O(async B=>B)).subscribe(B=>{const R=[{id:_,width:B.axisSize.width,height:B.axisSize.height}].concat(B.seriesLabels.map(F=>({id:`orbcharts__clipPath_${F}`,width:B.axisSize.width,height:B.axisSize.height})));lU({defsSelection:B.defsSelection,clipPathData:R,transitionDuration:B.transitionDuration,transitionEase:B.transitionEase})});const k=n.pipe(L(B=>{const R=new Map;return B.flat().forEach(F=>R.set(F.id,F)),R})),N=_A({fullDataFormatter$:c,gridAxesSize$:p,computedData$:n,fullChartParams$:d,gridContainerPosition$:b,layout$:y}),E=d.pipe(w(v),L(B=>B.highlightTarget),H()),P=G({graphicGSelection:A,visibleComputedAxesData:i,linePath:$,params:s}).pipe(w(v),O(async B=>B),L(B=>{let R=[];return B.graphicGSelection.each((F,M,z)=>{const V=aU(B.visibleComputedAxesData[M]??[]);R[M]=iU({selection:Y(z[M]),pathClassName:D,linePath:B.linePath,segmentData:V,params:B.params})}),R}));return G({pathSelectionArr:P,computedData:n,SeriesDataMap:l,GroupDataMap:u,highlightTarget:E,gridGroupPositionFn:N}).pipe(w(v),O(async B=>B)).subscribe(B=>{B.pathSelectionArr.forEach(R=>{R.on("mouseover",(F,M)=>{const z=M[0]?M[0].seriesLabel:"",{groupIndex:V,groupLabel:K}=B.gridGroupPositionFn(F),q=B.GroupDataMap.get(K).find(j=>j.seriesLabel===z)??M[0];x.next({type:"grid",eventName:"mouseover",pluginName:t,highlightTarget:B.highlightTarget,datum:q,gridIndex:q.gridIndex,series:B.SeriesDataMap.get(q.seriesLabel),seriesIndex:q.seriesIndex,seriesLabel:q.seriesLabel,group:B.GroupDataMap.get(q.groupLabel),groupIndex:q.groupIndex,groupLabel:q.groupLabel,event:F,data:B.computedData})}).on("mousemove",(F,M)=>{const z=M[0]?M[0].seriesLabel:"",{groupIndex:V,groupLabel:K}=B.gridGroupPositionFn(F),q=B.GroupDataMap.get(K).find(j=>j.seriesLabel===z)??M[0];x.next({type:"grid",eventName:"mousemove",pluginName:t,highlightTarget:B.highlightTarget,datum:q,gridIndex:q.gridIndex,series:B.SeriesDataMap.get(q.seriesLabel),seriesIndex:q.seriesIndex,seriesLabel:q.seriesLabel,group:B.GroupDataMap.get(q.groupLabel),groupIndex:q.groupIndex,groupLabel:q.groupLabel,event:F,data:B.computedData})}).on("mouseout",(F,M)=>{const z=M[0]?M[0].seriesLabel:"",{groupIndex:V,groupLabel:K}=B.gridGroupPositionFn(F),q=B.GroupDataMap.get(K).find(j=>j.seriesLabel===z)??M[0];x.next({type:"grid",eventName:"mouseout",pluginName:t,highlightTarget:B.highlightTarget,datum:q,gridIndex:q.gridIndex,series:B.SeriesDataMap.get(q.seriesLabel),seriesIndex:q.seriesIndex,seriesLabel:q.seriesLabel,group:B.GroupDataMap.get(q.groupLabel),groupIndex:q.groupIndex,groupLabel:q.groupLabel,event:F,data:B.computedData})}).on("click",(F,M)=>{const z=M[0]?M[0].seriesLabel:"",{groupIndex:V,groupLabel:K}=B.gridGroupPositionFn(F),q=B.GroupDataMap.get(K).find(j=>j.seriesLabel===z)??M[0];x.next({type:"grid",eventName:"click",pluginName:t,highlightTarget:B.highlightTarget,datum:q,gridIndex:q.gridIndex,series:B.SeriesDataMap.get(q.seriesLabel),seriesIndex:q.seriesIndex,seriesLabel:q.seriesLabel,group:B.GroupDataMap.get(q.groupLabel),groupIndex:q.groupIndex,groupLabel:q.groupLabel,event:F,data:B.computedData})})})}),d.pipe(w(v),Ir(B=>B.highlightTarget==="series"),O(B=>G({graphicGSelection:A,gridHighlight:g,DataMap:k,fullChartParams:d}).pipe(w(v),O(async R=>R)))).subscribe(B=>{const R=B.gridHighlight[0]?B.gridHighlight[0].seriesLabel:null;oU({selection:B.graphicGSelection,seriesLabel:R,fullChartParams:B.fullChartParams})}),()=>{v.next(void 0)}},vg=0,Xe=2,$g=3,CA=4,be=5,Ml=6,gf=7,Mi=8,Ri=9,PA="Lines",sU={name:PA,defaultParams:wb,layerIndex:be,validator:(t,{validateColumns:e})=>e(t,{lineCurve:{toBeTypes:["string"]},lineWidth:{toBeTypes:["number"]}})},uU=Ce(sU)(({selection:t,rootSelection:e,name:n,observer:r,subject:a})=>{const i=new J,o=AA(PA,{selection:t,computedData$:r.computedData$,computedAxesData$:r.computedAxesData$,visibleComputedData$:r.visibleComputedData$,visibleComputedAxesData$:r.visibleComputedAxesData$,seriesLabels$:r.seriesLabels$,SeriesDataMap$:r.SeriesDataMap$,GroupDataMap$:r.GroupDataMap$,fullParams$:r.fullParams$,fullDataFormatter$:r.fullDataFormatter$,fullChartParams$:r.fullChartParams$,gridAxesTransform$:r.gridAxesTransform$,gridGraphicTransform$:r.gridGraphicTransform$,gridAxesSize$:r.gridAxesSize$,gridHighlight$:r.gridHighlight$,gridContainerPosition$:r.gridContainerPosition$,allContainerPosition$:r.gridContainerPosition$,layout$:r.layout$,event$:a.event$});return()=>{i.next(void 0),o()}});function cU(t="curveLinear",e){return og().x(n=>n.axisX).y0(n=>e).y1(n=>n.axisY).curve(bg[t])}function fU(t){let e=[[]],n=0;for(let r in t){if(t[r].visible==!1||t[r].value===void 0||t[r].value===null){e[n].length&&(n++,e[n]=[]);continue}e[n].push(t[r])}return e}function dU({selection:t,pathClassName:e,segmentData:n,areaPath:r,linearGradientIds:a,params:i}){return t.selectAll("path").data(n,(o,l)=>o.length?`${o[0].id}_${o[o.length-1].id}`:l).join(o=>o.append("path").classed(e,!0).attr("fill","none").style("vector-effect","non-scaling-stroke").style("cursor","pointer"),o=>o,o=>o.remove()).attr("fill",(o,l)=>o[0]?`url(#${a[o[0].seriesIndex]})`:"").attr("d",o=>r(o))}function hU({selection:t,seriesLabel:e,fullChartParams:n}){if(t.interrupt("highlight"),!e){t.transition("highlight").duration(200).style("opacity",1);return}t.each((r,a,i)=>{r===e?Y(i[a]).style("opacity",1):Y(i[a]).style("opacity",n.styles.unhighlightedOpacity)})}function pU({defsSelection:t,computedData:e,linearGradientIds:n,params:r}){t.selectAll("linearGradient").data(e??[]).join(a=>a.append("linearGradient").attr("x1","0%").attr("x2","0%").attr("y1","100%").attr("y2","0%").attr("spreadMethod","pad"),a=>a,a=>a.remove()).attr("id",(a,i)=>a[0]?n[a[0].seriesIndex]:"").html((a,i)=>{const o=a[0]?a[0].color:"";return`
63
- <stop offset="0%" stop-color="${o}" stop-opacity="${r.linearGradientOpacity[0]}"/>
64
- <stop offset="100%" stop-color="${o}" stop-opacity="${r.linearGradientOpacity[1]}"/>
65
- `})}function mU({defsSelection:t,clipPathData:e,transitionDuration:n,transitionEase:r}){t.selectAll("clipPath").data(e).join(a=>a.append("clipPath"),a=>a,a=>a.remove()).attr("id",a=>a.id).each((a,i,o)=>{Y(o[i]).selectAll("rect").data([a]).join(l=>{const u=l.append("rect");return u.transition().duration(n).ease(ga(r)).tween("tween",(s,c,d)=>f=>{const h=s.width*f;u.attr("x",0).attr("y",0).attr("width",p=>h).attr("height",p=>p.height)}),u},l=>l.attr("x",0).attr("y",0).attr("width",u=>u.width).attr("height",u=>u.height),l=>l.remove())})}const FA=(t,{selection:e,computedData$:n,computedAxesData$:r,visibleComputedData$:a,visibleComputedAxesData$:i,seriesLabels$:o,SeriesDataMap$:l,GroupDataMap$:u,fullParams$:s,fullDataFormatter$:c,fullChartParams$:d,gridAxesTransform$:f,gridGraphicTransform$:h,gridAxesSize$:p,gridHighlight$:g,gridContainerPosition$:m,layout$:b,event$:y})=>{const x=new J,v=Jt(t,"clipPath-box"),_=W(t,"path"),{defsSelection$:D,graphicGSelection$:C}=ba({selection:e,pluginName:t,clipPathID:v,seriesLabels$:o,gridContainerPosition$:m,gridAxesTransform$:f,gridGraphicTransform$:h}),A=h.pipe(w(x),L(R=>-R.translate[1]/R.scale[1])),$=new bt(R=>{const F=G({fullParams:s,valueAxisStart:A}).pipe(w(x)).subscribe(M=>{const z=cU(M.fullParams.lineCurve,M.valueAxisStart);R.next(z)});return()=>{F.unsubscribe()}}),T=d.pipe(L(R=>R.transitionDuration),H()),S=d.pipe(L(R=>R.transitionEase),H());G({defsSelection:D,seriesLabels:o,axisSize:p,transitionDuration:T,transitionEase:S}).pipe(w(x),O(async R=>R)).subscribe(R=>{const F=[{id:v,width:R.axisSize.width,height:R.axisSize.height}].concat(R.seriesLabels.map(M=>({id:`orbcharts__clipPath_${M}`,width:R.axisSize.width,height:R.axisSize.height})));mU({defsSelection:R.defsSelection,clipPathData:F,transitionDuration:R.transitionDuration,transitionEase:R.transitionEase})});const k=n.pipe(L(R=>{const F=new Map;return R.flat().forEach(M=>F.set(M.id,M)),F})),N=_A({fullDataFormatter$:c,gridAxesSize$:p,computedData$:n,fullChartParams$:d,gridContainerPosition$:m,layout$:b}),E=d.pipe(w(x),L(R=>R.highlightTarget),H()),P=o.pipe(w(x),L(R=>R.map((F,M)=>Jt(t,`lineargradient-${F}`)))),B=G({graphicGSelection:C,defsSelection:D,visibleComputedAxesData:i,linearGradientIds:P,areaPath:$,params:s}).pipe(w(x),O(async R=>R),L(R=>{let F=[];return R.graphicGSelection.each((M,z,V)=>{const K=fU(R.visibleComputedAxesData[z]??[]);F[z]=dU({selection:Y(V[z]),pathClassName:_,areaPath:R.areaPath,segmentData:K,linearGradientIds:R.linearGradientIds,params:R.params}),pU({defsSelection:R.defsSelection,computedData:R.visibleComputedAxesData,linearGradientIds:R.linearGradientIds,params:R.params})}),F}));return G({pathSelectionArr:B,computedData:n,SeriesDataMap:l,GroupDataMap:u,highlightTarget:E,gridGroupPositionFn:N}).pipe(w(x),O(async R=>R)).subscribe(R=>{R.pathSelectionArr.forEach(F=>{F.on("mouseover",(M,z)=>{const V=z[0]?z[0].seriesLabel:"",{groupIndex:K,groupLabel:q}=R.gridGroupPositionFn(M),j=R.GroupDataMap.get(q).find(U=>U.seriesLabel===V)??z[0];y.next({type:"grid",eventName:"mouseover",pluginName:t,highlightTarget:R.highlightTarget,datum:j,gridIndex:j.gridIndex,series:R.SeriesDataMap.get(j.seriesLabel),seriesIndex:j.seriesIndex,seriesLabel:j.seriesLabel,group:R.GroupDataMap.get(j.groupLabel),groupIndex:j.groupIndex,groupLabel:j.groupLabel,event:M,data:R.computedData})}).on("mousemove",(M,z)=>{const V=z[0]?z[0].seriesLabel:"",{groupIndex:K,groupLabel:q}=R.gridGroupPositionFn(M),j=R.GroupDataMap.get(q).find(U=>U.seriesLabel===V)??z[0];y.next({type:"grid",eventName:"mousemove",pluginName:t,highlightTarget:R.highlightTarget,datum:j,gridIndex:j.gridIndex,series:R.SeriesDataMap.get(j.seriesLabel),seriesIndex:j.seriesIndex,seriesLabel:j.seriesLabel,group:R.GroupDataMap.get(j.groupLabel),groupIndex:j.groupIndex,groupLabel:j.groupLabel,event:M,data:R.computedData})}).on("mouseout",(M,z)=>{const V=z[0]?z[0].seriesLabel:"",{groupIndex:K,groupLabel:q}=R.gridGroupPositionFn(M),j=R.GroupDataMap.get(q).find(U=>U.seriesLabel===V)??z[0];y.next({type:"grid",eventName:"mouseout",pluginName:t,highlightTarget:R.highlightTarget,datum:j,gridIndex:j.gridIndex,series:R.SeriesDataMap.get(j.seriesLabel),seriesIndex:j.seriesIndex,seriesLabel:j.seriesLabel,group:R.GroupDataMap.get(j.groupLabel),groupIndex:j.groupIndex,groupLabel:j.groupLabel,event:M,data:R.computedData})}).on("click",(M,z)=>{const V=z[0]?z[0].seriesLabel:"",{groupIndex:K,groupLabel:q}=R.gridGroupPositionFn(M),j=R.GroupDataMap.get(q).find(U=>U.seriesLabel===V)??z[0];y.next({type:"grid",eventName:"click",pluginName:t,highlightTarget:R.highlightTarget,datum:j,gridIndex:j.gridIndex,series:R.SeriesDataMap.get(j.seriesLabel),seriesIndex:j.seriesIndex,seriesLabel:j.seriesLabel,group:R.GroupDataMap.get(j.groupLabel),groupIndex:j.groupIndex,groupLabel:j.groupLabel,event:M,data:R.computedData})})})}),d.pipe(w(x),Ir(R=>R.highlightTarget==="series"),O(R=>G({graphicGSelection:C,gridHighlight:g,DataMap:k,fullChartParams:d}).pipe(w(x),O(async F=>F)))).subscribe(R=>{const F=R.gridHighlight[0]?R.gridHighlight[0].seriesLabel:null;hU({selection:R.graphicGSelection,seriesLabel:F,fullChartParams:R.fullChartParams})}),()=>{x.next(void 0)}},TA="LineAreas",gU={name:TA,defaultParams:Bb,layerIndex:CA,validator:(t,{validateColumns:e})=>e(t,{lineCurve:{toBeTypes:["string"]},linearGradientOpacity:{toBe:"[number, number]",test:n=>Array.isArray(n)&&n.length===2&&typeof n[0]=="number"&&typeof n[1]=="number"}})},yU=Ce(gU)(({selection:t,name:e,observer:n,subject:r})=>{const a=new J,i=FA(TA,{selection:t,computedData$:n.computedData$,visibleComputedData$:n.visibleComputedData$,computedAxesData$:n.computedAxesData$,visibleComputedAxesData$:n.visibleComputedAxesData$,seriesLabels$:n.seriesLabels$,SeriesDataMap$:n.SeriesDataMap$,GroupDataMap$:n.GroupDataMap$,fullParams$:n.fullParams$,fullDataFormatter$:n.fullDataFormatter$,fullChartParams$:n.fullChartParams$,gridAxesTransform$:n.gridAxesTransform$,gridGraphicTransform$:n.gridGraphicTransform$,gridAxesSize$:n.gridAxesSize$,gridHighlight$:n.gridHighlight$,gridContainerPosition$:n.gridContainerPosition$,allContainerPosition$:n.gridContainerPosition$,layout$:n.layout$,event$:r.event$});return()=>{a.next(void 0),i()}}),wA=.3;function BA({axisWidth:t,groupAmount:e,barAmountOfGroup:n,barPadding:r=0,barGroupPadding:a=0}){const i=((e>1?t/(e-1):t)-a)/n-r;return i>1?i:1}function bU(t,e,n){const r=t/2,a=t*e.length+n.barPadding*e.length;return Om().domain(e).range([-a/2+r,a/2-r])}function xU(t,e){return t<=1?0:e/(t-1)*wA}function vU(t,e){return t<=1?e:e*(1-wA)}function $U({graphicGSelection:t,rectClassName:e,visibleComputedAxesData:n,zeroYArr:r,groupLabels:a,barScale:i,params:o,chartParams:l,barWidth:u,transformedBarRadius:s,delayGroup:c,transitionItem:d,isSeriesSeprate:f}){const h=u/2;return t.each((p,g,m)=>{Y(m[g]).selectAll(`rect.${e}`).data(n[g]??[],b=>b.id).join(b=>b.append("rect").classed(e,!0).attr("cursor","pointer").attr("height",y=>1),b=>b,b=>b.remove()).attr("transform",(b,y)=>`translate(${(b?b.axisX:0)-h}, 0)`).attr("fill",b=>b.color).attr("y",b=>b.axisY<r[g]?b.axisY:r[g]).attr("x",b=>f?0:i(b.seriesLabel)).attr("width",u).attr("rx",s[g][0]??1).attr("ry",s[g][1]??1).transition().duration(d).ease(ga(l.transitionEase)).delay((b,y)=>b.groupIndex*c).attr("height",b=>Math.abs(b.axisYFromZero)||1)}),t.selectAll(`rect.${e}`)}function SU({defsSelection:t,clipPathData:e}){t.selectAll("clipPath").data(e).join(n=>n.append("clipPath"),n=>n,n=>n.remove()).attr("id",n=>n.id).each((n,r,a)=>{Y(a[r]).selectAll("rect").data([n]).join(i=>i.append("rect"),i=>i,i=>i.remove()).attr("x",0).attr("y",0).attr("width",i=>i.width).attr("height",i=>i.height)})}function DU({selection:t,ids:e,fullChartParams:n}){if(t.interrupt("highlight"),!e.length){t.transition("highlight").duration(200).style("opacity",1);return}t.each((r,a,i)=>{e.includes(r.id)?Y(i[a]).style("opacity",1):Y(i[a]).style("opacity",n.styles.unhighlightedOpacity)})}const Sg=(t,{selection:e,computedData$:n,computedAxesData$:r,visibleComputedData$:a,visibleComputedAxesData$:i,seriesLabels$:o,SeriesDataMap$:l,GroupDataMap$:u,fullParams$:s,fullChartParams$:c,gridAxesTransform$:d,gridGraphicTransform$:f,gridGraphicReverseScale$:h,gridAxesSize$:p,gridHighlight$:g,gridContainerPosition$:m,isSeriesSeprate$:b,event$:y})=>{const x=new J,v=Jt(t,"clipPath-box"),_=W(t,"rect"),{defsSelection$:D,graphicGSelection$:C}=ba({selection:e,pluginName:t,clipPathID:v,seriesLabels$:o,gridContainerPosition$:m,gridAxesTransform$:d,gridGraphicTransform$:f}),A=i.pipe(w(x),L(F=>F.map(M=>M[0]?M[0].axisY-M[0].axisYFromZero:0)),H()),$=G({computedData:n,visibleComputedData:a,params:s,gridAxesSize:p,isSeriesSeprate:b}).pipe(w(x),O(async F=>F),L(F=>F.params.barWidth?F.params.barWidth:F.isSeriesSeprate?BA({axisWidth:F.gridAxesSize.width,groupAmount:F.computedData[0]?F.computedData[0].length:0,barAmountOfGroup:1,barPadding:F.params.barPadding,barGroupPadding:F.params.barGroupPadding}):BA({axisWidth:F.gridAxesSize.width,groupAmount:F.computedData[0]?F.computedData[0].length:0,barAmountOfGroup:F.visibleComputedData.length,barPadding:F.params.barPadding,barGroupPadding:F.params.barGroupPadding})),H()),T=G({computedData:n,barWidth:$,params:s,gridGraphicReverseScale:h}).pipe(w(x),O(async F=>F),L(F=>{const M=F.barWidth/2,z=F.params.barRadius===!0?M:F.params.barRadius===!1?0:typeof F.params.barRadius=="number"?F.params.barRadius:0;return F.computedData.map((V,K)=>{const q=F.gridGraphicReverseScale[K]??F.gridGraphicReverseScale[0];let j=z*q[0],U=z*q[1];if(j>M){const et=M/j;j=j*et,U=U*et}return[j,U]})})),S=a.pipe(w(x),L(F=>{const M=new Set;return F.forEach(z=>{z.forEach(V=>{M.add(V.groupLabel)})}),Array.from(M)})),k=G({seriesLabels:o,barWidth:$,params:s}).pipe(w(x),O(async F=>F),L(F=>bU(F.barWidth,F.seriesLabels,F.params))),N=c.pipe(w(x),L(F=>F.transitionDuration),H()),E=new bt(F=>{G({groupLabels:S,transitionDuration:N}).pipe(O(async M=>M)).subscribe(M=>{const z=xU(M.groupLabels.length,M.transitionDuration);F.next(z)})}).pipe(w(x),H()),P=new bt(F=>{G({groupLabels:S,transitionDuration:N}).pipe(O(async M=>M)).subscribe(M=>{const z=vU(M.groupLabels.length,M.transitionDuration);F.next(z)})}).pipe(w(x),H());G({defsSelection:D,gridAxesSize:p}).pipe(w(x),O(async F=>F)).subscribe(F=>{const M=[{id:v,width:F.gridAxesSize.width,height:F.gridAxesSize.height}];SU({defsSelection:F.defsSelection,clipPathData:M})});const B=c.pipe(w(x),L(F=>F.highlightTarget),H()),R=G({graphicGSelection:C,visibleComputedAxesData:i,zeroYArr:A,groupLabels:S,barScale:k,params:s,chartParams:c,highlightTarget:B,barWidth:$,transformedBarRadius:T,delayGroup:E,transitionItem:P,isSeriesSeprate:b}).pipe(w(x),O(async F=>F),L(F=>$U({graphicGSelection:F.graphicGSelection,rectClassName:_,visibleComputedAxesData:F.visibleComputedAxesData,zeroYArr:F.zeroYArr,groupLabels:F.groupLabels,barScale:F.barScale,params:F.params,chartParams:F.chartParams,barWidth:F.barWidth,transformedBarRadius:F.transformedBarRadius,delayGroup:F.delayGroup,transitionItem:F.transitionItem,isSeriesSeprate:F.isSeriesSeprate})));return G({barSelection:R,computedData:n,highlightTarget:B,SeriesDataMap:l,GroupDataMap:u}).pipe(w(x),O(async F=>F)).subscribe(F=>{F.barSelection.on("mouseover",(M,z)=>{M.stopPropagation(),y.next({type:"grid",eventName:"mouseover",pluginName:t,highlightTarget:F.highlightTarget,datum:z,gridIndex:z.gridIndex,series:F.SeriesDataMap.get(z.seriesLabel),seriesIndex:z.seriesIndex,seriesLabel:z.seriesLabel,group:F.GroupDataMap.get(z.groupLabel),groupIndex:z.groupIndex,groupLabel:z.groupLabel,event:M,data:F.computedData})}).on("mousemove",(M,z)=>{M.stopPropagation(),y.next({type:"grid",eventName:"mousemove",pluginName:t,highlightTarget:F.highlightTarget,datum:z,gridIndex:z.gridIndex,series:F.SeriesDataMap.get(z.seriesLabel),seriesIndex:z.seriesIndex,seriesLabel:z.seriesLabel,group:F.GroupDataMap.get(z.groupLabel),groupIndex:z.groupIndex,groupLabel:z.groupLabel,event:M,data:F.computedData})}).on("mouseout",(M,z)=>{M.stopPropagation(),y.next({type:"grid",eventName:"mouseout",pluginName:t,highlightTarget:F.highlightTarget,datum:z,gridIndex:z.gridIndex,series:F.SeriesDataMap.get(z.seriesLabel),seriesIndex:z.seriesIndex,seriesLabel:z.seriesLabel,group:F.GroupDataMap.get(z.groupLabel),groupIndex:z.groupIndex,groupLabel:z.groupLabel,event:M,data:F.computedData})}).on("click",(M,z)=>{M.stopPropagation(),y.next({type:"grid",eventName:"click",pluginName:t,highlightTarget:F.highlightTarget,datum:z,gridIndex:z.gridIndex,series:F.SeriesDataMap.get(z.seriesLabel),seriesIndex:z.seriesIndex,seriesLabel:z.seriesLabel,group:F.GroupDataMap.get(z.groupLabel),groupIndex:z.groupIndex,groupLabel:z.groupLabel,event:M,data:F.computedData})})}),G({barSelection:R,highlight:g.pipe(L(F=>F.map(M=>M.id))),fullChartParams:c}).pipe(w(x),O(async F=>F)).subscribe(F=>{DU({selection:F.barSelection,ids:F.highlight,fullChartParams:F.fullChartParams})}),()=>{x.next(void 0)}},EA="Bars",_U={name:EA,defaultParams:bs,layerIndex:be,validator:(t,{validateColumns:e})=>e(t,{barWidth:{toBeTypes:["number"]},barPadding:{toBeTypes:["number"]},barGroupPadding:{toBeTypes:["number"]},barRadius:{toBeTypes:["number","boolean"]}})},AU=Ce(_U)(({selection:t,name:e,subject:n,observer:r})=>{const a=new J,i=Sg(EA,{selection:t,computedData$:r.computedData$,computedAxesData$:r.computedAxesData$,visibleComputedData$:r.visibleComputedData$,visibleComputedAxesData$:r.visibleComputedAxesData$,seriesLabels$:r.seriesLabels$,SeriesDataMap$:r.SeriesDataMap$,GroupDataMap$:r.GroupDataMap$,fullParams$:r.fullParams$,fullChartParams$:r.fullChartParams$,gridAxesTransform$:r.gridAxesTransform$,gridGraphicTransform$:r.gridGraphicTransform$,gridGraphicReverseScale$:r.gridGraphicReverseScale$,gridAxesSize$:r.gridAxesSize$,gridHighlight$:r.gridHighlight$,gridContainerPosition$:r.gridContainerPosition$,isSeriesSeprate$:r.isSeriesSeprate$,event$:n.event$});return()=>{a.next(void 0),i()}}),LA="BarsPN",CU={name:LA,defaultParams:bs,layerIndex:be,validator:(t,{validateColumns:e})=>e(t,{barWidth:{toBeTypes:["number"]},barPadding:{toBeTypes:["number"]},barGroupPadding:{toBeTypes:["number"]},barRadius:{toBeTypes:["number","boolean"]}})},PU=Ce(CU)(({selection:t,name:e,subject:n,observer:r})=>{const a=new J,i=Sg(LA,{selection:t,computedData$:r.computedData$,computedAxesData$:r.computedAxesData$,visibleComputedData$:r.visibleComputedData$,visibleComputedAxesData$:r.visibleComputedAxesData$,seriesLabels$:r.seriesLabels$,SeriesDataMap$:r.SeriesDataMap$,GroupDataMap$:r.GroupDataMap$,fullParams$:r.fullParams$,fullChartParams$:r.fullChartParams$,gridAxesTransform$:r.gridAxesTransform$,gridGraphicTransform$:r.gridGraphicTransform$,gridGraphicReverseScale$:r.gridGraphicReverseScale$,gridAxesSize$:r.gridAxesSize$,gridHighlight$:r.gridHighlight$,gridContainerPosition$:r.gridContainerPosition$,isSeriesSeprate$:Oe(!0),event$:n.event$});return()=>{a.next(void 0),i()}}),MA=.3;function FU({axisWidth:t,groupAmount:e,barGroupPadding:n=0}){const r=(e>1?t/(e-1):t)-n;return r>1?r:1}function TU(t,e){return t<=1?0:e/(t-1)*MA}function wU(t,e){return t<=1?e:e*(1-MA)}function BU({graphicGSelection:t,rectClassName:e,barData:n,zeroY:r,groupLabels:a,params:i,chartParams:o,barWidth:l,transformedBarRadius:u,delayGroup:s,transitionItem:c,isSeriesSeprate:d}){const f=l/2;return t.each((h,p,g)=>{Y(g[p]).selectAll(`rect.${e}`).data(n[p]??[],m=>m.id).join(m=>m.append("rect").classed(e,!0).attr("cursor","pointer").attr("height",b=>1),m=>m,m=>m.remove()).attr("transform",(m,b)=>`translate(${(m?m.axisX:0)-f}, 0)`).attr("fill",m=>m.color).attr("y",m=>r).attr("x",m=>0).attr("width",l).attr("rx",u[p][0]??1).attr("ry",u[p][1]??1).transition().duration(c).ease(ga(o.transitionEase)).delay((m,b)=>m.groupIndex*s).attr("y",m=>m._barStartY).attr("height",m=>m._barHeight>0?Math.abs(m._barHeight):1)}),t.selectAll(`rect.${e}`)}function EU({defsSelection:t,clipPathData:e}){t.selectAll("clipPath").data(e).join(n=>n.append("clipPath"),n=>n,n=>n.remove()).attr("id",n=>n.id).each((n,r,a)=>{Y(a[r]).selectAll("rect").data([n]).join(i=>i.append("rect"),i=>i,i=>i.remove()).attr("x",0).attr("y",0).attr("width",i=>i.width).attr("height",i=>i.height)})}function LU({selection:t,ids:e,fullChartParams:n}){if(t.interrupt("highlight"),!e.length){t.transition("highlight").duration(200).style("opacity",1);return}t.each((r,a,i)=>{e.includes(r.id)?Y(i[a]).style("opacity",1):Y(i[a]).style("opacity",n.styles.unhighlightedOpacity)})}const RA=(t,{selection:e,computedData$:n,computedAxesData$:r,visibleComputedData$:a,visibleComputedAxesData$:i,filteredMinMaxValue$:o,filteredStackedMinMaxValue$:l,seriesLabels$:u,SeriesDataMap$:s,GroupDataMap$:c,fullParams$:d,fullDataFormatter$:f,fullChartParams$:h,gridAxesTransform$:p,gridGraphicTransform$:g,gridGraphicReverseScale$:m,gridAxesSize$:b,gridHighlight$:y,gridContainerPosition$:x,isSeriesSeprate$:v,event$:_})=>{const D=new J,C=Jt(t,"clipPath-box"),A=W(t,"rect"),{defsSelection$:$,graphicGSelection$:T}=ba({selection:e,pluginName:t,clipPathID:C,seriesLabels$:u,gridContainerPosition$:x,gridAxesTransform$:p,gridGraphicTransform$:g}),S=i.pipe(w(D),L(j=>j[0]&&j[0][0]?j[0][0].axisY-j[0][0].axisYFromZero:0),H()),k=G({computedData:n,params:d,axisSize:b,isSeriesSeprate:v}).pipe(w(D),O(async j=>j),L(j=>j.params.barWidth?j.params.barWidth:FU({axisWidth:j.axisSize.width,groupAmount:j.computedData[0]?j.computedData[0].length:0,barGroupPadding:j.params.barGroupPadding})),H()),N=G({computedData:n,barWidth:k,params:d,gridGraphicReverseScale:m}).pipe(w(D),O(async j=>j),L(j=>{const U=j.barWidth/2,et=j.params.barRadius===!0?U:j.params.barRadius===!1?0:typeof j.params.barRadius=="number"?j.params.barRadius:0;return j.computedData.map((st,pt)=>{const Q=j.gridGraphicReverseScale[pt]??j.gridGraphicReverseScale[0],it=et*Q[0],ct=et*Q[1];return[it,ct]})})),E=a.pipe(w(D),L(j=>{const U=new Set;return j.forEach(et=>{et.forEach(st=>{U.add(st.groupLabel)})}),Array.from(U)}),nt(1)),P=h.pipe(w(D),L(j=>j.transitionDuration),H()),B=new bt(j=>{G({groupLabels:E,transitionDuration:P}).pipe(O(async U=>U)).subscribe(U=>{const et=TU(U.groupLabels.length,U.transitionDuration);j.next(et)})}).pipe(w(D),H()),R=new bt(j=>{G({groupLabels:E,transitionDuration:P}).pipe(O(async U=>U)).subscribe(U=>{const et=wU(U.groupLabels.length,U.transitionDuration);j.next(et)})}).pipe(w(D),H());G({computedData:n,dataFormatter:f}).pipe(w(D),O(async j=>j),L(j=>{const U=j.computedData[0]?j.computedData[0].length-1:0,et=j.dataFormatter.groupAxis.scaleDomain[0],st=j.dataFormatter.groupAxis.scaleDomain[1]==="max"?U:j.dataFormatter.groupAxis.scaleDomain[1];return[et,st]}));const F=G({filteredMinMaxValue:o,filteredStackedMinMaxValue:l}).pipe(w(D),O(async j=>j),L(j=>j.filteredMinMaxValue[1]/j.filteredStackedMinMaxValue[1])),M=G({computedAxesData:r,yRatio:F,zeroY:S}).pipe(w(D),L(j=>{let U=j.computedAxesData[0]?j.computedAxesData[0].map(()=>j.zeroY):[];return j.computedAxesData.map((et,st)=>et.map((pt,Q)=>{U[Q]||(U[Q]=0);const it=U[Q];let ct=0;return pt.visible&&(ct=pt.axisYFromZero*j.yRatio,U[Q]=U[Q]+ct),{...pt,_barStartY:it,_barHeight:ct}}))})),z=G({computedAxesData:r,zeroY:S}).pipe(w(D),L(j=>j.computedAxesData.map((U,et)=>U.map((st,pt)=>({...st,_barStartY:j.zeroY,_barHeight:st.axisYFromZero}))))),V=v.pipe(O(j=>Ln(()=>j,z,M)));G({defsSelection:$,gridAxesSize:b}).pipe(w(D),O(async j=>j)).subscribe(j=>{const U=[{id:C,width:j.gridAxesSize.width,height:j.gridAxesSize.height}];EU({defsSelection:j.defsSelection,clipPathData:U})});const K=h.pipe(w(D),L(j=>j.highlightTarget),H()),q=G({graphicGSelection:T,graphicData:V,zeroY:S,groupLabels:E,params:d,chartParams:h,highlightTarget:K,barWidth:k,transformedBarRadius:N,delayGroup:B,transitionItem:R,isSeriesSeprate:v}).pipe(w(D),O(async j=>j),L(j=>BU({graphicGSelection:j.graphicGSelection,rectClassName:A,barData:j.graphicData,zeroY:j.zeroY,groupLabels:j.groupLabels,params:j.params,chartParams:j.chartParams,barWidth:j.barWidth,transformedBarRadius:j.transformedBarRadius,delayGroup:j.delayGroup,transitionItem:j.transitionItem,isSeriesSeprate:j.isSeriesSeprate})));return G({barSelection:q,computedData:n,highlightTarget:K,SeriesDataMap:s,GroupDataMap:c}).subscribe(j=>{j.barSelection.on("mouseover",(U,et)=>{U.stopPropagation(),_.next({type:"grid",eventName:"mouseover",pluginName:t,highlightTarget:j.highlightTarget,datum:et,gridIndex:et.gridIndex,series:j.SeriesDataMap.get(et.seriesLabel),seriesIndex:et.seriesIndex,seriesLabel:et.seriesLabel,group:j.GroupDataMap.get(et.groupLabel),groupIndex:et.groupIndex,groupLabel:et.groupLabel,event:U,data:j.computedData})}).on("mousemove",(U,et)=>{U.stopPropagation(),_.next({type:"grid",eventName:"mousemove",pluginName:t,highlightTarget:j.highlightTarget,datum:et,gridIndex:et.gridIndex,series:j.SeriesDataMap.get(et.seriesLabel),seriesIndex:et.seriesIndex,seriesLabel:et.seriesLabel,group:j.GroupDataMap.get(et.groupLabel),groupIndex:et.groupIndex,groupLabel:et.groupLabel,event:U,data:j.computedData})}).on("mouseout",(U,et)=>{U.stopPropagation(),_.next({type:"grid",eventName:"mouseout",pluginName:t,highlightTarget:j.highlightTarget,datum:et,gridIndex:et.gridIndex,series:j.SeriesDataMap.get(et.seriesLabel),seriesIndex:et.seriesIndex,seriesLabel:et.seriesLabel,group:j.GroupDataMap.get(et.groupLabel),groupIndex:et.groupIndex,groupLabel:et.groupLabel,event:U,data:j.computedData})}).on("click",(U,et)=>{U.stopPropagation(),_.next({type:"grid",eventName:"click",pluginName:t,highlightTarget:j.highlightTarget,datum:et,gridIndex:et.gridIndex,series:j.SeriesDataMap.get(et.seriesLabel),seriesIndex:et.seriesIndex,seriesLabel:et.seriesLabel,group:j.GroupDataMap.get(et.groupLabel),groupIndex:et.groupIndex,groupLabel:et.groupLabel,event:U,data:j.computedData})})}),G({barSelection:q,highlight:y.pipe(L(j=>j.map(U=>U.id))),fullChartParams:h}).pipe(w(D),O(async j=>j)).subscribe(j=>{LU({selection:j.barSelection,ids:j.highlight,fullChartParams:j.fullChartParams})}),()=>{D.next(void 0)}},IA="StackedBars",MU={name:IA,defaultParams:Lb,layerIndex:5,validator:(t,{validateColumns:e})=>e(t,{barWidth:{toBeTypes:["number"]},barGroupPadding:{toBeTypes:["number"]},barRadius:{toBeTypes:["number","boolean"]}})},RU=Ce(MU)(({selection:t,name:e,subject:n,observer:r})=>{const a=new J,i=RA(IA,{selection:t,computedData$:r.computedData$,computedAxesData$:r.computedAxesData$,visibleComputedData$:r.visibleComputedData$,visibleComputedAxesData$:r.visibleComputedAxesData$,filteredMinMaxValue$:r.filteredMinMaxValue$,filteredStackedMinMaxValue$:r.filteredStackedMinMaxValue$,seriesLabels$:r.seriesLabels$,SeriesDataMap$:r.SeriesDataMap$,GroupDataMap$:r.GroupDataMap$,fullParams$:r.fullParams$,fullDataFormatter$:r.fullDataFormatter$,fullChartParams$:r.fullChartParams$,gridAxesTransform$:r.gridAxesTransform$,gridGraphicTransform$:r.gridGraphicTransform$,gridGraphicReverseScale$:r.gridGraphicReverseScale$,gridAxesSize$:r.gridAxesSize$,gridHighlight$:r.gridHighlight$,gridContainerPosition$:r.gridContainerPosition$,isSeriesSeprate$:r.isSeriesSeprate$,event$:n.event$});return()=>{a.next(void 0),i()}}),kA=.3;function NA({axisWidth:t,groupAmount:e,barAmountOfGroup:n,barPadding:r=0,barGroupPadding:a=0}){const i=((e>1?t/(e-1):t)-a)/n-r;return i>1?i:1}function IU(t,e,n){const r=t/2,a=t*e.length+n.barPadding*e.length;return Om().domain(e).range([-a/2+r,a/2-r])}function kU(t,e){return t<=1?0:e/(t-1)*kA}function NU(t,e){return t<=1?e:e*(1-kA)}function zU({graphicGSelection:t,pathGClassName:e,pathClassName:n,visibleComputedAxesData:r,linearGradientIds:a,zeroYArr:i,groupLabels:o,barScale:l,params:u,chartParams:s,barWidth:c,delayGroup:d,transitionItem:f,isSeriesSeprate:h}){const p=c/2;return t.each((g,m,b)=>{Y(b[m]).selectAll(`g.${e}`).data(r[m]??[]).join(y=>{const x=y.append("g").classed(e,!0).attr("cursor","pointer");return x.append("path").classed(n,!0).style("vector-effect","non-scaling-stroke").attr("d",v=>{const _=-p,D=i[m],C=i[m];return`M${_},${D} L${_+c/2},${C} ${_+c},${D}`}),x},y=>y,y=>y.remove()).attr("transform",y=>`translate(${h?0:l(y.seriesLabel)}, 0)`).select(`path.${n}`).attr("height",y=>Math.abs(y.axisYFromZero)||1).attr("y",y=>y.axisY<i[m]?y.axisY:i[m]).attr("x",y=>h?0:l(y.seriesLabel)).style("fill",y=>`url(#${a[y.seriesIndex]})`).attr("stroke",y=>y.color).attr("transform",y=>`translate(${y?y.axisX:0}, 0)`).transition().duration(f).ease(ga(s.transitionEase)).delay((y,x)=>y.groupIndex*d).attr("d",y=>{const x=-p,v=i[m],_=y.axisY;return`M${x},${v} L${x+c/2},${_} ${x+c},${v}`})}),t.selectAll(`path.${n}`)}function OU({defsSelection:t,computedData:e,linearGradientIds:n,params:r}){t.selectAll("linearGradient").data(e??[]).join(a=>a.append("linearGradient").attr("x1","0%").attr("x2","0%").attr("y1","100%").attr("y2","0%").attr("spreadMethod","pad"),a=>a,a=>a.remove()).attr("id",(a,i)=>a[0]?n[a[0].seriesIndex]:"").html((a,i)=>{const o=a[0]?a[0].color:"";return`
66
- <stop offset="0%" stop-color="${o}" stop-opacity="${r.linearGradientOpacity[0]}"/>
67
- <stop offset="100%" stop-color="${o}" stop-opacity="${r.linearGradientOpacity[1]}"/>
68
- `})}function GU({defsSelection:t,clipPathData:e}){t.selectAll("clipPath").data(e).join(n=>n.append("clipPath"),n=>n,n=>n.remove()).attr("id",n=>n.id).each((n,r,a)=>{Y(a[r]).selectAll("rect").data([n]).join(i=>i.append("rect"),i=>i,i=>i.remove()).attr("x",0).attr("y",0).attr("width",i=>i.width).attr("height",i=>i.height)})}function jU({selection:t,ids:e,fullChartParams:n}){t.interrupt("highlight");const r=()=>{t.transition("highlight").duration(200).style("opacity",1)};if(!e.length){r();return}t.each((a,i,o)=>{e.includes(a.id)?Y(o[i]).style("opacity",1):Y(o[i]).style("opacity",n.styles.unhighlightedOpacity)})}const zA=(t,{selection:e,computedData$:n,computedAxesData$:r,visibleComputedData$:a,visibleComputedAxesData$:i,fullDataFormatter$:o,seriesLabels$:l,SeriesDataMap$:u,GroupDataMap$:s,fullParams$:c,fullChartParams$:d,gridAxesTransform$:f,gridGraphicTransform$:h,gridAxesSize$:p,gridHighlight$:g,gridContainerPosition$:m,isSeriesSeprate$:b,event$:y})=>{const x=new J,v=Jt(t,"clipPath-box"),_=W(t,"pathG"),D=W(t,"path"),{defsSelection$:C,graphicGSelection$:A}=ba({selection:e,pluginName:t,clipPathID:v,seriesLabels$:l,gridContainerPosition$:m,gridAxesTransform$:f,gridGraphicTransform$:h});h.pipe(w(x),L(M=>-M.translate[1]/M.scale[1]));const $=i.pipe(L(M=>M.map(z=>z[0]?z[0].axisY-z[0].axisYFromZero:0)),H()),T=G({computedData:n,visibleComputedData:a,params:c,gridAxesSize:p,isSeriesSeprate:b}).pipe(w(x),O(async M=>M),L(M=>M.params.barWidth?M.params.barWidth:M.isSeriesSeprate?NA({axisWidth:M.gridAxesSize.width,groupAmount:M.computedData[0]?M.computedData[0].length:0,barAmountOfGroup:1,barPadding:M.params.barPadding,barGroupPadding:M.params.barGroupPadding}):NA({axisWidth:M.gridAxesSize.width,groupAmount:M.computedData[0]?M.computedData[0].length:0,barAmountOfGroup:M.visibleComputedData.length,barPadding:M.params.barPadding,barGroupPadding:M.params.barGroupPadding}))),S=a.pipe(w(x),L(M=>{const z=new Set;return M.forEach(V=>{V.forEach(K=>{z.add(K.groupLabel)})}),Array.from(z)})),k=new bt(M=>{G({seriesLabels:l,barWidth:T,params:c}).pipe(w(x),O(async z=>z)).subscribe(z=>{const V=IU(z.barWidth,z.seriesLabels,z.params);M.next(V)})}),N=d.pipe(w(x),L(M=>M.transitionDuration),H()),E=new bt(M=>{G({groupLabels:S,transitionDuration:N}).pipe(O(async z=>z)).subscribe(z=>{const V=kU(z.groupLabels.length,z.transitionDuration);M.next(V)})}).pipe(w(x),H()),P=new bt(M=>{G({groupLabels:S,transitionDuration:N}).pipe(O(async z=>z)).subscribe(z=>{const V=NU(z.groupLabels.length,z.transitionDuration);M.next(V)})}).pipe(w(x),H());G({defsSelection:C,gridAxesSize:p}).pipe(w(x),O(async M=>M)).subscribe(M=>{const z=[{id:v,width:M.gridAxesSize.width,height:M.gridAxesSize.height}];GU({defsSelection:M.defsSelection,clipPathData:z})});const B=d.pipe(w(x),L(M=>M.highlightTarget),H()),R=l.pipe(w(x),L(M=>M.map((z,V)=>Jt(t,`lineargradient-${z}`)))),F=G({graphicGSelection:A,defsSelection:C,computedData:n,visibleComputedAxesData:i,linearGradientIds:R,zeroYArr:$,groupLabels:S,barScale:k,params:c,chartParams:d,barWidth:T,delayGroup:E,transitionItem:P,isSeriesSeprate:b}).pipe(w(x),O(async M=>M),L(M=>(OU({defsSelection:M.defsSelection,computedData:M.computedData,linearGradientIds:M.linearGradientIds,params:M.params}),zU({graphicGSelection:M.graphicGSelection,pathGClassName:_,pathClassName:D,visibleComputedAxesData:M.visibleComputedAxesData,linearGradientIds:M.linearGradientIds,zeroYArr:M.zeroYArr,groupLabels:M.groupLabels,barScale:M.barScale,params:M.params,chartParams:M.chartParams,barWidth:M.barWidth,delayGroup:M.delayGroup,transitionItem:M.transitionItem,isSeriesSeprate:M.isSeriesSeprate}))));return G({barSelection:F,computedData:n,highlightTarget:B,SeriesDataMap:u,GroupDataMap:s}).subscribe(M=>{M.barSelection.on("mouseover",(z,V)=>{z.stopPropagation(),y.next({type:"grid",eventName:"mouseover",pluginName:t,highlightTarget:M.highlightTarget,datum:V,gridIndex:V.gridIndex,series:M.SeriesDataMap.get(V.seriesLabel),seriesIndex:V.seriesIndex,seriesLabel:V.seriesLabel,group:M.GroupDataMap.get(V.groupLabel),groupIndex:V.groupIndex,groupLabel:V.groupLabel,event:z,data:M.computedData})}).on("mousemove",(z,V)=>{z.stopPropagation(),y.next({type:"grid",eventName:"mousemove",pluginName:t,highlightTarget:M.highlightTarget,datum:V,gridIndex:V.gridIndex,series:M.SeriesDataMap.get(V.seriesLabel),seriesIndex:V.seriesIndex,seriesLabel:V.seriesLabel,group:M.GroupDataMap.get(V.groupLabel),groupIndex:V.groupIndex,groupLabel:V.groupLabel,event:z,data:M.computedData})}).on("mouseout",(z,V)=>{z.stopPropagation(),y.next({type:"grid",eventName:"mouseout",pluginName:t,highlightTarget:M.highlightTarget,datum:V,gridIndex:V.gridIndex,series:M.SeriesDataMap.get(V.seriesLabel),seriesIndex:V.seriesIndex,seriesLabel:V.seriesLabel,group:M.GroupDataMap.get(V.groupLabel),groupIndex:V.groupIndex,groupLabel:V.groupLabel,event:z,data:M.computedData})}).on("click",(z,V)=>{z.stopPropagation(),y.next({type:"grid",eventName:"click",pluginName:t,highlightTarget:M.highlightTarget,datum:V,gridIndex:V.gridIndex,series:M.SeriesDataMap.get(V.seriesLabel),seriesIndex:V.seriesIndex,seriesLabel:V.seriesLabel,group:M.GroupDataMap.get(V.groupLabel),groupIndex:V.groupIndex,groupLabel:V.groupLabel,event:z,data:M.computedData})})}),G({barSelection:F,highlight:g.pipe(L(M=>M.map(z=>z.id))),fullChartParams:d}).pipe(w(x),O(async M=>M)).subscribe(M=>{jU({selection:M.barSelection,ids:M.highlight,fullChartParams:M.fullChartParams})}),()=>{x.next(void 0)}},OA="BarsTriangle",VU={name:OA,defaultParams:Mb,layerIndex:5,validator:(t,{validateColumns:e})=>e(t,{barWidth:{toBeTypes:["number"]},barPadding:{toBeTypes:["number"]},barGroupPadding:{toBeTypes:["number"]},linearGradientOpacity:{toBe:"[number, number]",test:n=>Array.isArray(n)&&n.length===2&&typeof n[0]=="number"&&typeof n[1]=="number"}})},YU=Ce(VU)(({selection:t,name:e,subject:n,observer:r})=>{const a=new J,i=zA(OA,{selection:t,computedData$:r.computedData$,computedAxesData$:r.computedAxesData$,visibleComputedData$:r.visibleComputedData$,visibleComputedAxesData$:r.visibleComputedAxesData$,fullDataFormatter$:r.fullDataFormatter$,seriesLabels$:r.seriesLabels$,SeriesDataMap$:r.SeriesDataMap$,GroupDataMap$:r.GroupDataMap$,fullParams$:r.fullParams$,fullChartParams$:r.fullChartParams$,gridAxesTransform$:r.gridAxesTransform$,gridGraphicTransform$:r.gridGraphicTransform$,gridAxesSize$:r.gridAxesSize$,gridHighlight$:r.gridHighlight$,gridContainerPosition$:r.gridContainerPosition$,isSeriesSeprate$:r.isSeriesSeprate$,event$:n.event$});return()=>{a.next(void 0),i()}});function HU({graphicGSelection:t,circleGClassName:e,circleClassName:n,visibleComputedAxesData:r,fullParams:a,fullChartParams:i,graphicReverseScale:o}){const l=s=>{const c=s.size();return i.transitionDuration/c};let u=0;return t.each((s,c,d)=>{Y(d[c]).selectAll("g").data(r[c],f=>f.id).join(f=>(u=l(f),f.append("g").classed(e,!0)),f=>f,f=>f.remove()).attr("transform",f=>`translate(${f.axisX}, ${f.axisY})`).each((f,h,p)=>{Y(p[h]).selectAll("circle").data([f]).join(g=>g.append("circle").style("cursor","pointer").style("vector-effect","non-scaling-stroke").classed(n,!0).attr("opacity",0).transition().delay((m,b)=>h*u).attr("opacity",1),g=>g.transition().duration(50).attr("opacity",1),g=>g.remove()).attr("r",a.radius).attr("fill",(g,m)=>Pt({datum:g,colorType:a.fillColorType,fullChartParams:i})).attr("stroke",(g,m)=>Pt({datum:g,colorType:a.strokeColorType,fullChartParams:i})).attr("stroke-width",a.strokeWidth).attr("transform",`scale(${o[c][0]??1}, ${o[c][1]??1})`)})}),t.selectAll(`circle.${n}`)}function WU({selection:t,ids:e,onlyShowHighlighted:n,fullChartParams:r}){if(t.interrupt("highlight"),!e.length){t.transition("highlight").duration(200).style("opacity",n===!0?0:1);return}t.each((a,i,o)=>{e.includes(a.id)?Y(o[i]).style("opacity",1).transition("highlight").duration(200):Y(o[i]).style("opacity",n===!0?0:r.styles.unhighlightedOpacity).transition("highlight").duration(200)})}function XU({defsSelection:t,clipPathData:e}){t.selectAll("clipPath").data(e).join(n=>n.append("clipPath"),n=>n,n=>n.remove()).attr("id",n=>n.id).each((n,r,a)=>{Y(a[r]).selectAll("rect").data([n]).join("rect").attr("x",0).attr("y",0).attr("width",i=>i.width).attr("height",i=>i.height)})}const GA=(t,{selection:e,computedData$:n,computedAxesData$:r,visibleComputedData$:a,visibleComputedAxesData$:i,seriesLabels$:o,SeriesDataMap$:l,GroupDataMap$:u,fullParams$:s,fullChartParams$:c,gridAxesTransform$:d,gridGraphicTransform$:f,gridGraphicReverseScale$:h,gridAxesSize$:p,gridHighlight$:g,gridContainerPosition$:m,event$:b})=>{const y=new J,x=Jt(t,"clipPath-box"),v=W(t,"circleG"),_=W(t,"circle"),{defsSelection$:D,graphicGSelection$:C}=ba({selection:e,pluginName:t,clipPathID:x,seriesLabels$:o,gridContainerPosition$:m,gridAxesTransform$:d,gridGraphicTransform$:f}),A=G({computedData:n,gridGraphicReverseScale:h}).pipe(w(y),O(async k=>k),L(k=>k.computedData.map((N,E)=>k.gridGraphicReverseScale[E])));G({defsSelection:D,gridAxesSize:p}).pipe(w(y),O(async k=>k)).subscribe(k=>{const N=[{id:x,width:k.gridAxesSize.width,height:k.gridAxesSize.height}];XU({defsSelection:k.defsSelection,clipPathData:N})});const $=c.pipe(w(y),L(k=>k.highlightTarget),H()),T=G({graphicGSelection:C,visibleComputedAxesData:i,graphicReverseScale:A,fullChartParams:c,fullParams:s}).pipe(w(y),O(async k=>k),L(k=>HU({graphicGSelection:k.graphicGSelection,circleGClassName:v,circleClassName:_,visibleComputedAxesData:k.visibleComputedAxesData,fullParams:k.fullParams,fullChartParams:k.fullChartParams,graphicReverseScale:k.graphicReverseScale})));G({graphicSelection:T,computedData:n,SeriesDataMap:l,GroupDataMap:u,highlightTarget:$}).pipe(w(y),O(async k=>k)).subscribe(k=>{k.graphicSelection.on("mouseover",(N,E)=>{b.next({type:"grid",eventName:"mouseover",pluginName:t,highlightTarget:k.highlightTarget,datum:E,gridIndex:E.gridIndex,series:k.SeriesDataMap.get(E.seriesLabel),seriesIndex:E.seriesIndex,seriesLabel:E.seriesLabel,group:k.GroupDataMap.get(E.groupLabel),groupIndex:E.groupIndex,groupLabel:E.groupLabel,event:N,data:k.computedData})}).on("mousemove",(N,E)=>{b.next({type:"grid",eventName:"mousemove",pluginName:t,highlightTarget:k.highlightTarget,data:k.computedData,datum:E,gridIndex:E.gridIndex,series:k.SeriesDataMap.get(E.seriesLabel),seriesIndex:E.seriesIndex,seriesLabel:E.seriesLabel,group:k.GroupDataMap.get(E.groupLabel),groupIndex:E.groupIndex,groupLabel:E.groupLabel,event:N})}).on("mouseout",(N,E)=>{b.next({type:"grid",eventName:"mouseout",pluginName:t,highlightTarget:k.highlightTarget,datum:E,gridIndex:E.gridIndex,series:k.SeriesDataMap.get(E.seriesLabel),seriesIndex:E.seriesIndex,seriesLabel:E.seriesLabel,group:k.GroupDataMap.get(E.groupLabel),groupIndex:E.groupIndex,groupLabel:E.groupLabel,event:N,data:k.computedData})}).on("click",(N,E)=>{b.next({type:"grid",eventName:"click",pluginName:t,highlightTarget:k.highlightTarget,datum:E,gridIndex:E.gridIndex,series:k.SeriesDataMap.get(E.seriesLabel),seriesIndex:E.seriesIndex,seriesLabel:E.seriesLabel,group:k.GroupDataMap.get(E.groupLabel),groupIndex:E.groupIndex,groupLabel:E.groupLabel,event:N,data:k.computedData})})});const S=s.pipe(w(y),L(k=>k.onlyShowHighlighted),H());return G({graphicSelection:T,highlight:g.pipe(L(k=>k.map(N=>N.id))),onlyShowHighlighted:S,fullChartParams:c}).pipe(w(y),O(async k=>k)).subscribe(k=>{WU({selection:k.graphicSelection,ids:k.highlight,onlyShowHighlighted:k.onlyShowHighlighted,fullChartParams:k.fullChartParams})}),()=>{y.next(void 0)}},jA="Dots",UU={name:jA,defaultParams:Eb,layerIndex:Ml,validator:(t,{validateColumns:e})=>e(t,{radius:{toBeTypes:["number"]},fillColorType:{toBeOption:"ColorType"},strokeColorType:{toBeOption:"ColorType"},strokeWidth:{toBeTypes:["number"]},onlyShowHighlighted:{toBeTypes:["boolean"]}})},qU=Ce(UU)(({selection:t,name:e,subject:n,observer:r})=>{const a=new J,i=GA(jA,{selection:t,computedData$:r.computedData$,computedAxesData$:r.computedAxesData$,visibleComputedData$:r.visibleComputedData$,visibleComputedAxesData$:r.visibleComputedAxesData$,seriesLabels$:r.seriesLabels$,SeriesDataMap$:r.SeriesDataMap$,GroupDataMap$:r.GroupDataMap$,fullParams$:r.fullParams$,fullChartParams$:r.fullChartParams$,gridAxesTransform$:r.gridAxesTransform$,gridGraphicTransform$:r.gridGraphicTransform$,gridGraphicReverseScale$:r.gridGraphicReverseScale$,gridAxesSize$:r.gridAxesSize$,gridHighlight$:r.gridHighlight$,gridContainerPosition$:r.gridContainerPosition$,event$:n.event$});return()=>{a.next(void 0),i()}}),ZU=" - ",JU={listRectWidth:14,listRectHeight:14,listRectRadius:0};function VA(t,e){const n=t<e.colors[e.colorScheme].label.length?t:t%e.colors[e.colorScheme].label.length;return e.colors[e.colorScheme].label[n]}const Ii=(t,{rootSelection:e,legendLabels$:n,fullParams$:r,layout$:a,fullChartParams$:i,textSizePx$:o})=>{const l=W(t,"root-position"),u=W(t,"legend-card"),s=W(t,"legend-list"),c=W(t,"legend-item"),d=new J,f=G({legendLabels:n,fullChartParams:i}).pipe(w(d),O(async $=>$),L($=>{const T=new Map;let S=0;return $.legendLabels.forEach((k,N)=>{if(!T.has(k)){const E=VA(S,$.fullChartParams);T.set(k,E),S++}}),T})),h=n.pipe(w(d),L($=>{const T=new Set;let S=[];return $.forEach(k=>{T.has(k)?S.push(!1):S.push(!0),T.add(k)}),S})),p=r.pipe(w(d),L($=>$.placement==="top"||$.placement==="top-start"||$.placement==="top-end"?"top":$.placement==="bottom"||$.placement==="bottom-start"||$.placement==="bottom-end"?"bottom":$.placement==="left"||$.placement==="left-start"||$.placement==="left-end"?"left":"right"),H(($,T)=>$===T),nt(1)),g=r.pipe(w(d),L($=>$.placement==="top-start"||$.placement==="bottom-start"||$.placement==="left-start"||$.placement==="right-start"?"start":$.placement==="top-end"||$.placement==="bottom-end"||$.placement==="left-end"||$.placement==="right-end"?"end":($.placement==="top"||$.placement==="bottom"||$.placement==="left"||$.placement,"center")),H(($,T)=>$===T),nt(1)),m=p.pipe(w(d),L($=>$==="bottom"||$==="top"?"row":"column"),H(($,T)=>$===T),nt(1)),b=G({fullParams:r,position:p,layout:a}).pipe(w(d),O(async $=>$),L($=>{const T=$.fullParams.padding*2+$.fullParams.gap*2;return $.position==="bottom"||$.position==="top"?$.layout.rootWidth-T:$.layout.rootHeight-T})),y=G({layout:a,position:p,justify:g}).pipe(w(d),O(async $=>$),L($=>{let T=0,S=0;return $.position==="bottom"?(S=$.layout.rootHeight,$.justify==="start"?T=0:$.justify==="center"?T=$.layout.rootWidth/2:$.justify==="end"&&(T=$.layout.rootWidth)):$.position==="right"?(T=$.layout.rootWidth,$.justify==="start"?S=0:$.justify==="center"?S=$.layout.rootHeight/2:$.justify==="end"&&(S=$.layout.rootHeight)):$.position==="top"?(S=0,$.justify==="start"?T=0:$.justify==="center"?T=$.layout.rootWidth/2:$.justify==="end"&&(T=$.layout.rootWidth)):$.position==="left"&&(T=0,$.justify==="start"?S=0:$.justify==="center"?S=$.layout.rootHeight/2:$.justify==="end"&&(S=$.layout.rootHeight)),{x:T,y:S}})).pipe(w(d),L($=>e.selectAll(`g.${l}`).data([$]).join(T=>T.append("g").classed(l,!0).attr("transform",S=>`translate(${S.x}, ${S.y})`),T=>T.transition().attr("transform",S=>`translate(${S.x}, ${S.y})`),T=>T.remove()))),x=r.pipe(w(d),L($=>$.labelList[0]?$.labelList[0]:JU)),v=G({visibleList:h,fullParams:r,fullChartParams:i,legendLabels:n,lineDirection:m,lineMaxSize:b,defaultListStyle:x,SeriesLabelColorMap:f,textSizePx:o}).pipe(w(d),O(async $=>$),L($=>$.legendLabels.reduce((T,S,k)=>{if(!$.visibleList[k])return T;const N=S!==""?S:ZU,E=Li(N,$.textSizePx),P=$.textSizePx*1.5+E,B=$.SeriesLabelColorMap.get(S),R=T[0]&&T[0][0]?T[T.length-1][T[T.length-1].length-1]:null,{translateX:F,translateY:M,lineIndex:z,itemIndex:V}=((q,j,U)=>{let et=0,st=0,pt=0,Q=0;if(q.lineDirection==="column"){let it=U?U.translateY+q.textSizePx+q.fullParams.gap:0;if(it+q.textSizePx>q.lineMaxSize){pt=U.lineIndex+1,Q=0,st=0;const ct=j[j.length-1].reduce((Z,Tt)=>Tt.itemWidth>Z?Tt.itemWidth:Z,0);et=U.translateX+ct+q.fullParams.gap}else pt=U?U.lineIndex:0,Q=U?U.itemIndex+1:0,st=it,et=U?U.translateX:0}else{let it=U?U.translateX+U.itemWidth+q.fullParams.gap:0;it+P>q.lineMaxSize?(pt=U.lineIndex+1,Q=0,et=0):(pt=U?U.lineIndex:0,Q=U?U.itemIndex+1:0,et=it),st=(q.textSizePx+q.fullParams.gap)*pt}return{translateX:et,translateY:st,lineIndex:pt,itemIndex:Q}})($,T,R);T[z]||(T[z]=[]);const K=$.fullParams.labelList[V]?$.fullParams.labelList[V]:$.defaultListStyle;return T[z].push({id:N,seriesLabel:N,seriesIndex:k,lineIndex:z,itemIndex:V,text:N,itemWidth:P,translateX:F,translateY:M,color:B,listRectWidth:K.listRectWidth,listRectHeight:K.listRectHeight,listRectRadius:K.listRectRadius}),T},[])),nt(1)),_=G({fullParams:r,fullChartParams:i,lineDirection:m,lengendItems:v,textSizePx:o}).pipe(w(d),O(async $=>$),L($=>{const{width:T,height:S}=((k,N)=>{let E=0,P=0;if(!N.length||!N[0].length)return{width:E,height:P};const B=N[0][N[0].length-1];return k.lineDirection==="column"?(E=N.reduce((R,F)=>{const M=F.reduce((z,V)=>V.itemWidth>z?V.itemWidth:z,0);return R+M},0),E+=k.fullParams.gap*(N.length-1),P=B.translateY+k.textSizePx):(E=B.translateX+B.itemWidth,P=k.textSizePx*N.length+k.fullParams.gap*(N.length-1)),{width:E,height:P}})($,$.lengendItems);return{direction:$.lineDirection,width:T,height:S,translateX:$.fullParams.gap,translateY:$.fullParams.gap}}),nt(1)),D=G({fullParams:r,position:p,justify:g,lengendList:_}).pipe(w(d),O(async $=>$),L($=>{const T=$.lengendList.width+$.fullParams.gap*2,S=$.lengendList.height+$.fullParams.gap*2;let k=0,N=0;return $.position==="left"?$.justify==="start"?(k=$.fullParams.padding,N=$.fullParams.padding):$.justify==="center"?(k=$.fullParams.padding,N=-S/2):$.justify==="end"&&(k=$.fullParams.padding,N=-S-$.fullParams.padding):$.position==="right"?$.justify==="start"?(k=-T-$.fullParams.padding,N=$.fullParams.padding):$.justify==="center"?(k=-T-$.fullParams.padding,N=-S/2):$.justify==="end"&&(k=-T-$.fullParams.padding,N=-S-$.fullParams.padding):$.position==="top"?$.justify==="start"?(k=$.fullParams.padding,N=$.fullParams.padding):$.justify==="center"?(k=-T/2,N=$.fullParams.padding):$.justify==="end"&&(k=-T-$.fullParams.padding,N=$.fullParams.padding):$.justify==="start"?(k=$.fullParams.padding,N=-S-$.fullParams.padding):$.justify==="center"?(k=-T/2,N=-S-$.fullParams.padding):$.justify==="end"&&(k=-T-$.fullParams.padding,N=-S-$.fullParams.padding),{width:T,height:S,translateX:k,translateY:N}})),C=G({rootPositionSelection:y,fullParams:r,fullChartParams:i,legendCard:D}).pipe(w(d),O(async $=>$),L($=>$.rootPositionSelection.selectAll("g").data([$.legendCard]).join(T=>T.append("g").classed(u,!0).attr("transform",S=>`translate(${S.translateX}, ${S.translateY})`),T=>T.transition().attr("transform",S=>`translate(${S.translateX}, ${S.translateY})`),T=>T.remove()).each((T,S,k)=>{Y(k[S]).selectAll("rect").data([T]).join("rect").attr("width",N=>N.width).attr("height",N=>N.height).attr("fill",ht($.fullParams.backgroundFill,$.fullChartParams)).attr("stroke",ht($.fullParams.backgroundStroke,$.fullChartParams))}))),A=G({lengendCardSelection:C,fullParams:r,lengendList:_}).pipe(w(d),O(async $=>$),L($=>$.lengendCardSelection.selectAll("g").data([$.lengendList]).join(T=>T.append("g").classed(s,!0).attr("transform",S=>`translate(${S.translateX}, ${S.translateY})`),T=>T.transition().attr("transform",S=>`translate(${S.translateX}, ${S.translateY})`),T=>T.remove())));return G({lengendListSelection:A,fullParams:r,fullChartParams:i,lengendItems:v,textSizePx:o}).pipe(w(d),O(async $=>$),L($=>{const T=$.lengendItems[0]?$.lengendItems.flat():[];return $.lengendListSelection.selectAll(`g.${c}`).data(T).join(S=>S.append("g").classed(c,!0).attr("cursor","default"),S=>S,S=>S.remove()).attr("transform",(S,k)=>`translate(${S.translateX}, ${S.translateY})`).each((S,k,N)=>{const E=$.textSizePx/2,P=-S.listRectWidth/2,B=-S.listRectHeight/2;Y(N[k]).selectAll("rect").data([S]).join("rect").attr("x",E).attr("y",E).attr("width",R=>R.listRectWidth).attr("height",R=>R.listRectHeight).attr("transform",R=>`translate(${P}, ${B})`).attr("fill",R=>R.color).attr("rx",R=>R.listRectRadius),Y(N[k]).selectAll("text").data([S]).join(R=>R.append("text").attr("dominant-baseline","hanging"),R=>R,R=>R.remove()).attr("x",$.textSizePx*1.5).attr("font-size",$.fullChartParams.styles.textSize).attr("fill",R=>$.fullParams.textColorType==="label"?VA(R.seriesIndex,$.fullChartParams):ht($.fullParams.textColorType,$.fullChartParams)).text(R=>R.text)})})).subscribe(),()=>{e.select(`g.${l}`).remove(),d.next(void 0)}},YA="GridLegend",KU={name:YA,defaultParams:kb,layerIndex:Mi,validator:(t,{validateColumns:e})=>e(t,{placement:{toBe:'"top" | "top-start" | "top-end" | "bottom" | "bottom-start" | "bottom-end" | "left" | "left-start" | "left-end" | "right" | "right-start" | "right-end"',test:n=>["top","top-start","top-end","bottom","bottom-start","bottom-end","left","left-start","left-end","right","right-start","right-end"].includes(n)},padding:{toBeTypes:["number"]},backgroundFill:{toBeOption:"ColorType"},backgroundStroke:{toBeOption:"ColorType"},gap:{toBeTypes:["number"]},listRectWidth:{toBeTypes:["number"]},listRectHeight:{toBeTypes:["number"]},listRectRadius:{toBeTypes:["number"]},textColorType:{toBeOption:"ColorType"}})},QU=Ce(KU)(({selection:t,rootSelection:e,observer:n,subject:r})=>{const a=new J,i=n.fullParams$.pipe(w(a),L(l=>{const u=[{listRectWidth:l.listRectWidth,listRectHeight:l.listRectHeight,listRectRadius:l.listRectRadius}];return{...l,labelList:u}})),o=Ii(YA,{rootSelection:e,legendLabels$:n.seriesLabels$,fullParams$:i,layout$:n.layout$,fullChartParams$:n.fullChartParams$,textSizePx$:n.textSizePx$});return()=>{a.next(void 0),o()}});function HA(t,{text:e,radius:n,lineHeight:r,isBreakAll:a=!1,limit:i=0}){if(t==null||e==null){console.error("selection or text is not defined");return}n==null&&(n=t.node().getBBox().width/2);function o(h){let p;return a?p=h.split(""):p=h.split(/\s+/g),p[p.length-1]||p.pop(),p[0]||p.shift(),p}function l(h,p){return h&&p&&h.length>p&&(h=h.substring(0,p)+"..."),h}function u(h){var p;const g=document.createElement("canvas").getContext("2d");return((p=g==null?void 0:g.measureText(h))==null?void 0:p.width)??0}function s(h){const p=u(h.trim());return Math.sqrt(p*r)}function c(h,p){let g={width:0,text:""},m=1/0;const b=[];let y=" ";a&&(y="");for(let x=0,v=h.length;x<v;++x){const _=(g.text?g.text+y:"")+h[x],D=u(_);(m+D)/2<p?(g.width=m=D,g.text=_):(m=u(h[x]),g={width:m,text:h[x]},b.push(g))}return b}function d(h){let p=0;for(let g=0,m=h.length;g<m;++g){const b=(Math.abs(g-m/2+.5)+.5)*r,y=h[g].width/2;p=Math.max(p,Math.sqrt(y**2+b**2))}return p}function f(h,p){i>0&&(p=l(p,i));const g=o(p),m=s(p),b=c(g,m),y=d(b);let x=h.select("text");x.size()||(x=h.append("text")),x.attr("transform",`translate(0,0) scale(${n/y})`);const v=x.selectAll("tspan").data(b),_=v.enter().append("tspan").attr("x",0).merge(v).attr("y",(D,C)=>(C-b.length/2+.8)*r).text(D=>D.text);return v.exit().remove(),v.merge(_)}return f(t,e)}function Rl(t,{textArr:e,textSizePx:n,groupAxisPosition:r,isContainerRotated:a}){t.text(null);const i=Number(t.attr("x"));let o=Number(t.attr("y"));a&&r==="top"&&(o-=(e.length-1)*n),t.selectAll("tspan").data(e).join("tspan").attr("x",i).attr("y",(l,u)=>o+u*n).text(l=>l)}function WA(t,{textArr:e,textSizePx:n,quadrant:r}){t.selectAll("tspan").data(e).join("tspan").attr("x",0).attr("y",(a,i)=>r==1||r==2?-(e.length-1-i)*n:i*n).text(a=>a)}const Dg=6;function tq(t,e){return t.map((n,r)=>{const a=Fn(n,e),i=typeof a=="string"?a.split(`
69
- `):[a];return{text:a,textArr:i}})}function eq({selection:t,groupingLabelClassName:e,fullParams:n,axisLabelAlign:r,gridAxesSize:a,fullDataFormatter:i,chartParams:o,textReverseTransform:l}){const u=n.tickPadding+n.labelOffset[0],s=n.tickPadding+n.labelOffset[1];let c=0,d=0;i.groupAxis.position==="bottom"?(d=s,i.valueAxis.position==="left"?c=u:i.valueAxis.position==="right"&&(c=-u)):i.groupAxis.position==="top"?(d=-s,i.valueAxis.position==="left"?c=u:i.valueAxis.position==="right"&&(c=-u)):i.groupAxis.position==="left"?(c=-u,i.valueAxis.position==="bottom"?d=-s:i.valueAxis.position==="top"&&(d=s)):i.groupAxis.position==="right"&&(c=u,i.valueAxis.position==="bottom"?d=-s:i.valueAxis.position==="top"&&(d=s)),t.selectAll(`g.${e}`).data([n]).join("g").classed(e,!0).each((f,h,p)=>{Y(p[h]).selectAll("text").data([f]).join(g=>g.append("text").style("font-weight","bold"),g=>g,g=>g.remove()).attr("text-anchor",r.textAnchor).attr("dominant-baseline",r.dominantBaseline).attr("font-size",o.styles.textSize).style("fill",ht(n.labelColorType,o)).style("transform",l).attr("x",c).attr("y",d).text(g=>i.groupAxis.label)}).attr("transform",f=>`translate(${a.width}, 0)`)}function nq({selection:t,xAxisClassName:e,fullParams:n,tickTextAlign:r,gridAxesSize:a,fullDataFormatter:i,chartParams:o,groupScale:l,groupScaleDomain:u,groupLabelData:s,textReverseTransformWithRotate:c,textSizePx:d}){const f=t.selectAll(`g.${e}`).data([n]).join("g").classed(e,!0),h=Math.floor(u[1])-Math.ceil(u[0])+1;let p=0,g=0;i.groupAxis.position==="left"?(p=0,g=-n.tickPadding):i.groupAxis.position==="right"?(p=0,g=n.tickPadding):i.groupAxis.position==="bottom"?(n.tickFullLine==!0?p=-n.tickPadding:p=-n.tickPadding-Dg,g=0):i.groupAxis.position==="top"&&(n.tickFullLine==!0?p=n.tickPadding:p=n.tickPadding-Dg,g=-0);const m=su(l).scale(l).ticks(n.ticks==="all"||n.ticks>h?h:n.ticks).tickSize(n.tickFullLine==!0?-a.height:Dg).tickSizeOuter(0).tickFormat(y=>{var x;return((x=s[y])==null?void 0:x.text)??""}).tickPadding(p),b=f.transition().duration(100).ease(on).call(m).on("end",(y,x)=>{f.selectAll(".tick text").each((v,_,D)=>{var C;const A=((C=s[v])==null?void 0:C.textArr)??[];Rl(Y(D[_]),{textArr:A,textSizePx:d,groupAxisPosition:i.groupAxis.position,isContainerRotated:!0})})});return b.selectAll("line").style("fill","none").style("stroke",n.tickLineVisible==!0?ht(n.tickColorType,o):"none").style("stroke-dasharray",n.tickFullLineDasharray).style("vector-effect","non-scaling-stroke").attr("pointer-events","none"),b.selectAll("path").style("fill","none").style("stroke",n.axisLineVisible==!0?ht(n.axisLineColorType,o):"none").style("shape-rendering","crispEdges"),f.selectAll("text").attr("font-size",o.styles.textSize).attr("fill",ht(n.tickTextColorType,o)).attr("text-anchor",r.textAnchor).attr("dominant-baseline",r.dominantBaseline).attr("x",g).style("transform",c).attr("dy",0),f}const XA=(t,{selection:e,computedData$:n,fullParams$:r,fullDataFormatter$:a,fullChartParams$:i,gridAxesTransform$:o,gridAxesReverseTransform$:l,gridAxesSize$:u,gridContainerPosition$:s,isSeriesSeprate$:c,textSizePx$:d})=>{const f=new J,h=W(t,"container"),p=W(t,"xAxisG"),g=W(t,"xAxis"),m=W(t,"groupingLabel"),b=G({computedData:n.pipe(H((S,k)=>S.length===k.length)),isSeriesSeprate:c}).pipe(w(f),O(async S=>S),L(S=>S.isSeriesSeprate?S.computedData:[S.computedData[0]]),L((S,k)=>e.selectAll(`g.${h}`).data(S,N=>N&&N[0]?N[0].seriesIndex:k).join("g").classed(h,!0))),y=b.pipe(w(f),L((S,k)=>S.selectAll(`g.${p}`).data([p]).join("g").classed(p,!0)));G({containerSelection:b,gridContainerPosition:s}).pipe(w(f),O(async S=>S)).subscribe(S=>{S.containerSelection.attr("transform",(k,N)=>{const E=S.gridContainerPosition[N]??S.gridContainerPosition[0],P=E.translate,B=E.scale;return`translate(${P[0]}, ${P[1]}) scale(${B[0]}, ${B[1]})`})}),G({axisSelection:y,gridAxesTransform:o}).pipe(w(f),O(async S=>S)).subscribe(S=>{S.axisSelection.style("transform",S.gridAxesTransform.value)});const x=G({gridAxesReverseTransform:l,gridContainerPosition:s}).pipe(w(f),O(async S=>S),L(S=>{const k=`rotateX(${S.gridAxesReverseTransform.rotateX}deg) rotateY(${S.gridAxesReverseTransform.rotateY}deg)`,N=`rotate(${S.gridAxesReverseTransform.rotate}deg)`,E=`scale(${1/S.gridContainerPosition[0].scale[0]}, ${1/S.gridContainerPosition[0].scale[1]})`;return`${k} ${N} ${E}`}),H()),v=G({textReverseTransform:x,fullParams:r}).pipe(w(f),O(async S=>S),L(S=>`${S.textReverseTransform} rotate(${S.fullParams.tickTextRotate}deg)`)),_=G({fullDataFormatter:a,gridAxesSize:u,computedData:n}).pipe(w(f),O(async S=>S),L(S=>{const k=S.computedData[0]?S.computedData[0].length-1:0,N=S.fullDataFormatter.groupAxis.scaleDomain[0]-S.fullDataFormatter.groupAxis.scalePadding,E=S.fullDataFormatter.groupAxis.scaleDomain[1]==="max"?k+S.fullDataFormatter.groupAxis.scalePadding:S.fullDataFormatter.groupAxis.scaleDomain[1]+S.fullDataFormatter.groupAxis.scalePadding;return[N,E]}),nt(1)),D=G({groupScaleDomain:_,gridAxesSize:u}).pipe(w(f),O(async S=>S),L(S=>Wn().domain(S.groupScaleDomain).range([0,S.gridAxesSize.width]))),C=n.pipe(L(S=>(S[0]??[]).map(k=>k.groupLabel))),A=G({fullDataFormatter:a,fullParams:r}).pipe(w(f),O(async S=>S),L(S=>{let k="middle",N="hanging";return S.fullDataFormatter.groupAxis.position==="bottom"?(k=S.fullParams.tickTextRotate?"end":"middle",N="hanging"):S.fullDataFormatter.groupAxis.position==="top"?(k=S.fullParams.tickTextRotate?"start":"middle",N="auto"):S.fullDataFormatter.groupAxis.position==="left"?(k="end",N="middle"):S.fullDataFormatter.groupAxis.position==="right"&&(k="start",N="middle"),{textAnchor:k,dominantBaseline:N}})),$=a.pipe(w(f),L(S=>{let k="start",N="hanging";return S.groupAxis.position==="bottom"?N="hanging":S.groupAxis.position==="top"?N="auto":S.groupAxis.position==="left"?k="end":S.groupAxis.position==="right"&&(k="start"),S.valueAxis.position==="left"?k="start":S.valueAxis.position==="right"?k="end":S.valueAxis.position==="bottom"?N="auto":S.valueAxis.position==="top"&&(N="hanging"),{textAnchor:k,dominantBaseline:N}})),T=G({groupLabels:C,fullParams:r}).pipe(w(f),O(async S=>S),L(S=>tq(S.groupLabels,S.fullParams.tickFormat)));return G({axisSelection:y,fullParams:r,tickTextAlign:A,axisLabelAlign:$,gridAxesSize:u,fullDataFormatter:a,chartParams:i,groupScale:D,groupScaleDomain:_,groupLabelData:T,textReverseTransform:x,textReverseTransformWithRotate:v,textSizePx:d}).pipe(w(f),O(async S=>S)).subscribe(S=>{nq({selection:S.axisSelection,xAxisClassName:g,fullParams:S.fullParams,tickTextAlign:S.tickTextAlign,gridAxesSize:S.gridAxesSize,fullDataFormatter:S.fullDataFormatter,chartParams:S.chartParams,groupScale:S.groupScale,groupScaleDomain:S.groupScaleDomain,groupLabelData:S.groupLabelData,textReverseTransformWithRotate:S.textReverseTransformWithRotate,textSizePx:S.textSizePx}),eq({selection:S.axisSelection,groupingLabelClassName:m,fullParams:S.fullParams,axisLabelAlign:S.axisLabelAlign,gridAxesSize:S.gridAxesSize,fullDataFormatter:S.fullDataFormatter,chartParams:S.chartParams,textReverseTransform:S.textReverseTransform})}),()=>{f.next(void 0)}},UA="GroupAxis",rq={name:UA,defaultParams:vd,layerIndex:Xe,validator:(t,{validateColumns:e})=>e(t,{labelOffset:{toBe:"[number, number]",test:n=>Array.isArray(n)&&n.length===2&&typeof n[0]=="number"&&typeof n[1]=="number"},labelColorType:{toBeOption:"ColorType"},axisLineVisible:{toBeTypes:["boolean"]},axisLineColorType:{toBeOption:"ColorType"},ticks:{toBe:'number | null | "all"',test:n=>n===null||n==="all"||typeof n=="number"}})},aq=Ce(rq)(({selection:t,name:e,observer:n,subject:r})=>{const a=new J,i=XA(UA,{selection:t,computedData$:n.computedData$,fullParams$:n.fullParams$,fullDataFormatter$:n.fullDataFormatter$,fullChartParams$:n.fullChartParams$,gridAxesTransform$:n.gridAxesTransform$,gridAxesReverseTransform$:n.gridAxesReverseTransform$,gridAxesSize$:n.gridAxesSize$,gridContainerPosition$:n.gridContainerPosition$,isSeriesSeprate$:n.isSeriesSeprate$,textSizePx$:n.textSizePx$});return()=>{a.next(void 0),i()}}),iq=6;function oq({selection:t,textClassName:e,fullParams:n,axisLabelAlign:r,gridAxesSize:a,fullDataFormatter:i,fullChartParams:o,textReverseTransform:l}){const u=n.tickPadding-n.labelOffset[0],s=n.tickPadding+n.labelOffset[1];let c=0,d=0;i.groupAxis.position==="bottom"?(d=-s,i.valueAxis.position==="left"?c=-u:i.valueAxis.position==="right"&&(c=u)):i.groupAxis.position==="top"?(d=s,i.valueAxis.position==="left"?c=-u:i.valueAxis.position==="right"&&(c=u)):i.groupAxis.position==="left"?(c=u,i.valueAxis.position==="bottom"?d=s:i.valueAxis.position==="top"&&(d=-s)):i.groupAxis.position==="right"&&(c=-u,i.valueAxis.position==="bottom"?d=s:i.valueAxis.position==="top"&&(d=-s)),t.selectAll(`g.${e}`).data([n]).join("g").classed(e,!0).each((f,h,p)=>{Y(p[h]).selectAll("text").data([f]).join(g=>g.append("text").style("font-weight","bold"),g=>g,g=>g.remove()).attr("text-anchor",r.textAnchor).attr("dominant-baseline",r.dominantBaseline).attr("font-size",o.styles.textSize).style("fill",ht(n.labelColorType,o)).style("transform",l).attr("x",c).attr("y",d).text(g=>i.valueAxis.label)}).attr("transform",f=>`translate(0, ${a.height})`)}function lq({selection:t,yAxisClassName:e,fullParams:n,tickTextAlign:r,gridAxesSize:a,fullDataFormatter:i,fullChartParams:o,valueScale:l,textReverseTransformWithRotate:u,filteredMinMaxValue:s}){const c=t.selectAll(`g.${e}`).data([n]).join("g").classed(e,!0);let d=0,f=0;i.valueAxis.position==="left"?(d=n.tickPadding,f=0):i.valueAxis.position==="right"?(d=-n.tickPadding,f=0):i.valueAxis.position==="bottom"?(d=0,f=n.tickPadding):i.valueAxis.position==="top"&&(d=0,f=-n.tickPadding);const h=Fh(l).scale(l).ticks(n.ticks).tickFormat(m=>Fn(m,n.tickFormat)).tickSize(n.tickFullLine==!0?-a.width:iq).tickPadding(d),p=c.transition().duration(100).ease(on).call(h);p.selectAll("line").style("fill","none").style("stroke",n.tickLineVisible==!0?ht(n.tickColorType,o):"none").style("stroke-dasharray",n.tickFullLineDasharray).style("vector-effect","non-scaling-stroke").attr("pointer-events","none"),p.selectAll("path").style("fill","none").style("stroke",n.axisLineVisible==!0?ht(n.axisLineColorType,o):"none").style("shape-rendering","crispEdges");const g=c.selectAll("text").attr("font-size",o.styles.textSize).style("color",ht(n.tickTextColorType,o)).attr("text-anchor",r.textAnchor).attr("dominant-baseline",r.dominantBaseline).attr("y",f).attr("dy",0);return g.style("transform",u),(i.valueAxis.position==="bottom"||i.valueAxis.position==="top")&&g.attr("dy",0),c}const ki=(t,{selection:e,computedData$:n,filteredMinMaxValue$:r,fullParams$:a,fullDataFormatter$:i,fullChartParams$:o,gridAxesSize$:l,gridAxesTransform$:u,gridAxesReverseTransform$:s,gridContainerPosition$:c,isSeriesSeprate$:d})=>{const f=new J,h=W(t,"yAxisG"),p=W(t,"yAxis"),g=W(t,"text"),m=eU({selection:e,pluginName:t,computedData$:n,gridContainerPosition$:c,isSeriesSeprate$:d}).pipe(w(f),L((D,C)=>D.selectAll(`g.${h}`).data([h]).join("g").classed(h,!0)));G({axisSelection:m,gridAxesTransform:u}).pipe(w(f),O(async D=>D)).subscribe(D=>{D.axisSelection.style("transform",D.gridAxesTransform.value)});const b=G({gridAxesReverseTransform:s,gridContainerPosition:c}).pipe(w(f),O(async D=>D),L(D=>{const C=`rotateX(${D.gridAxesReverseTransform.rotateX}deg) rotateY(${D.gridAxesReverseTransform.rotateY}deg)`,A=`rotate(${D.gridAxesReverseTransform.rotate}deg)`,$=`scale(${1/D.gridContainerPosition[0].scale[0]}, ${1/D.gridContainerPosition[0].scale[1]})`;return`${C} ${A} ${$}`}),H()),y=G({textReverseTransform:b,fullParams:a}).pipe(w(f),O(async D=>D),L(D=>`${D.textReverseTransform} rotate(${D.fullParams.tickTextRotate}deg)`)),x=new bt(D=>{G({fullDataFormatter:i,gridAxesSize:l,filteredMinMaxValue:r}).pipe(w(f),O(async C=>C)).subscribe(C=>{let A=C.filteredMinMaxValue[1],$=C.filteredMinMaxValue[0];A===$&&A===0&&(A=1);const T=hh({maxValue:A,minValue:$,axisWidth:C.gridAxesSize.height,scaleDomain:C.fullDataFormatter.valueAxis.scaleDomain,scaleRange:C.fullDataFormatter.valueAxis.scaleRange});D.next(T)})}),v=G({fullDataFormatter:i,fullParams:a}).pipe(w(f),O(async D=>D),L(D=>{let C="start",A="hanging";return D.fullDataFormatter.valueAxis.position==="left"?(C="end",A="middle"):D.fullDataFormatter.valueAxis.position==="right"?(C="start",A="middle"):D.fullDataFormatter.valueAxis.position==="bottom"?(C=D.fullParams.tickTextRotate?"end":"middle",A="hanging"):D.fullDataFormatter.valueAxis.position==="top"&&(C=D.fullParams.tickTextRotate?"start":"middle",A="auto"),{textAnchor:C,dominantBaseline:A}})),_=i.pipe(w(f),L(D=>{let C="start",A="hanging";return D.groupAxis.position==="bottom"?A="auto":D.groupAxis.position==="top"?A="hanging":D.groupAxis.position==="left"?C="start":D.groupAxis.position==="right"&&(C="end"),D.valueAxis.position==="left"?C="end":D.valueAxis.position==="right"?C="start":D.valueAxis.position==="bottom"?A="hanging":D.valueAxis.position==="top"&&(A="auto"),{textAnchor:C,dominantBaseline:A}}));return G({axisSelection:m,fullParams:a,tickTextAlign:v,axisLabelAlign:_,computedData:n,gridAxesSize:l,fullDataFormatter:i,fullChartParams:o,valueScale:x,textReverseTransform:b,textReverseTransformWithRotate:y,filteredMinMaxValue:r}).pipe(w(f),O(async D=>D)).subscribe(D=>{lq({selection:D.axisSelection,yAxisClassName:p,fullParams:D.fullParams,tickTextAlign:D.tickTextAlign,gridAxesSize:D.gridAxesSize,fullDataFormatter:D.fullDataFormatter,fullChartParams:D.fullChartParams,valueScale:D.valueScale,textReverseTransformWithRotate:D.textReverseTransformWithRotate,filteredMinMaxValue:D.filteredMinMaxValue}),oq({selection:D.axisSelection,textClassName:g,fullParams:D.fullParams,axisLabelAlign:D.axisLabelAlign,gridAxesSize:D.gridAxesSize,fullDataFormatter:D.fullDataFormatter,fullChartParams:D.fullChartParams,textReverseTransform:D.textReverseTransform})}),()=>{f.next(void 0)}},qA="ValueAxis",sq={name:qA,defaultParams:xs,layerIndex:Xe,validator:(t,{validateColumns:e})=>e(t,{labelOffset:{toBe:"[number, number]",test:n=>Array.isArray(n)&&n.length===2&&typeof n[0]=="number"&&typeof n[1]=="number"},labelColorType:{toBeOption:"ColorType"},axisLineVisible:{toBeTypes:["boolean"]},axisLineColorType:{toBeOption:"ColorType"},ticks:{toBeTypes:["number","null"]},tickFormat:{toBeTypes:["string","Function"]},tickLineVisible:{toBeTypes:["boolean"]},tickPadding:{toBeTypes:["number"]},tickFullLine:{toBeTypes:["boolean"]},tickFullLineDasharray:{toBeTypes:["string"]},tickColorType:{toBeOption:"ColorType"},tickTextRotate:{toBeTypes:["number"]},tickTextColorType:{toBeOption:"ColorType"}})},uq=Ce(sq)(({selection:t,name:e,observer:n,subject:r})=>{const a=new J,i=ki(qA,{selection:t,computedData$:n.computedData$,filteredMinMaxValue$:n.filteredMinMaxValue$,fullParams$:n.fullParams$,fullDataFormatter$:n.fullDataFormatter$,fullChartParams$:n.fullChartParams$,gridAxesTransform$:n.gridAxesTransform$,gridAxesReverseTransform$:n.gridAxesReverseTransform$,gridAxesSize$:n.gridAxesSize$,gridContainerPosition$:n.gridContainerPosition$,isSeriesSeprate$:n.isSeriesSeprate$});return()=>{a.next(void 0),i()}}),ZA="StackedValueAxis",cq={name:ZA,defaultParams:Rb,layerIndex:Xe,validator:(t,{validateColumns:e})=>e(t,{labelOffset:{toBe:"[number, number]",test:n=>Array.isArray(n)&&n.length===2&&typeof n[0]=="number"&&typeof n[1]=="number"},labelColorType:{toBeOption:"ColorType"},axisLineVisible:{toBeTypes:["boolean"]},axisLineColorType:{toBeOption:"ColorType"},ticks:{toBeTypes:["number","null"]},tickFormat:{toBeTypes:["string","Function"]},tickLineVisible:{toBeTypes:["boolean"]},tickPadding:{toBeTypes:["number"]},tickFullLine:{toBeTypes:["boolean"]},tickFullLineDasharray:{toBeTypes:["string"]},tickColorType:{toBeOption:"ColorType"},tickTextRotate:{toBeTypes:["number"]},tickTextColorType:{toBeOption:"ColorType"}})},fq=Ce(cq)(({selection:t,name:e,observer:n,subject:r})=>{const a=new J,i=ki(ZA,{selection:t,computedData$:n.computedStackedData$,filteredMinMaxValue$:n.filteredStackedMinMaxValue$,fullParams$:n.fullParams$,fullDataFormatter$:n.fullDataFormatter$,fullChartParams$:n.fullChartParams$,gridAxesTransform$:n.gridAxesTransform$,gridAxesReverseTransform$:n.gridAxesReverseTransform$,gridAxesSize$:n.gridAxesSize$,gridContainerPosition$:n.gridContainerPosition$,isSeriesSeprate$:n.isSeriesSeprate$});return()=>{a.next(void 0),i()}});function JA(t,e){const n=e.textSizePx*1.5,r=(t==null?[]:Array.isArray(t)?t:typeof t=="string"?t.split(`
70
- `):[t]).filter(a=>a!="").map((a,i)=>`<tspan x="0" y="${i*n}">${a}</tspan>`).join("");return r?`<text font-size="${e.textSize}" fill="${e.textColor}" x="0" y="0" style="dominant-baseline:text-before-edge">
71
- ${r}
72
- </text>`:""}function dq({rootSelection:t,pluginName:e,gClassName:n,boxClassName:r,rootWidth:a,rootHeight:i,svgString:o,tooltipStyle:l,event:u}){t.interrupt("fadeout");const s=5,c=o?[o]:[],d=o?[l]:[],f=t.selectAll(`g.${n}`).data(c).join(_=>_.append("g").classed(n,!0).attr("pointer-events","none"),_=>_,_=>_.style("opacity",0).remove()).attr("transform",()=>`translate(${u.offsetX}, ${u.offsetY})`).selectAll(`g.${r}`).data(d).join(_=>_.append("g").classed(W(e,"box"),!0)),h=f.selectAll("rect").data(d).join(_=>_.append("rect").attr("rx",s).attr("ry",s)).attr("fill",_=>_.backgroundColor).attr("stroke",_=>_.strokeColor).attr("opacity",_=>_.backgroundOpacity),p=f.selectAll("g").data(c).join(_=>_.append("g").classed(W(e,"content"),!0).attr("transform",()=>`translate(${l.padding}, ${l.padding})`));c.length&&QX(p,c[0]);const g=p!=null&&p.node()?DA(p):{width:0,height:0};h.attr("width",g.width+l.padding*2).attr("height",g.height+l.padding*2);const m=f!=null&&f.node()?DA(f):{width:0,height:0},b=a-m.width,y=i-m.height,x=u.offsetX+l.offset[0]>b?b-u.offsetX:l.offset[0],v=u.offsetY+l.offset[1]>y?y-u.offsetY:l.offset[1];f.attr("transform",_=>`translate(${x}, ${v})`),f.attr("transform",_=>`translate(${x}, ${v})`)}function hq(t){mv(`g.${t}`).remove()}const Ni=(t,{rootSelection:e,fullParams$:n,fullChartParams$:r,layout$:a,event$:i})=>{const o=new J,l=W(t,"g"),u=W(t,"box"),s=i.pipe(w(o),Ir(y=>y.eventName==="mouseover"||y.eventName==="mousemove")),c=i.pipe(w(o),Ir(y=>y.eventName==="mouseout")),d=GM(r),f=G({fullChartParams:r,fullParams:n,textSizePx:d}).pipe(w(o),O(async y=>y),L(y=>({backgroundColor:ht(y.fullParams.backgroundColorType,y.fullChartParams),backgroundOpacity:y.fullParams.backgroundOpacity,strokeColor:ht(y.fullParams.strokeColorType,y.fullChartParams),offset:y.fullParams.offset,padding:y.fullParams.padding,textSize:y.fullChartParams.styles.textSize,textSizePx:y.textSizePx,textColor:ht(y.fullParams.textColorType,y.fullChartParams),seriesColors:y.fullChartParams.colors[y.fullChartParams.colorScheme].label}))),h=G({fullParams:n,tooltipStyle:f}).pipe(w(o),O(async y=>y),L(y=>x=>{const v=y.fullParams.renderFn(x,{utils:{toCurrency:tU,measureTextWidth:Li},styles:y.tooltipStyle});if(typeof v=="string"){const _=v.trim();if(_.slice(0,1)==="<"&&_.slice(_.length-1,_.length)===">")return v;{const D=v.split(`
73
- `);return JA(D,y.tooltipStyle)}}else if(Array.isArray(v))return JA(v,y.tooltipStyle);return""})),p=G({event:s,contentRenderFn:h}).pipe(w(o),O(async y=>y),L(y=>y.contentRenderFn(y.event))),g=c.pipe(w(o),L(y=>"")),m=Rd(p,g).pipe(w(o),H((y,x)=>y===x)),b=Rd(s,c).pipe(w(o));return G({svgString:m,layout:a,tooltipStyle:f}).pipe(w(o),O(async y=>y),O(y=>b.pipe(L(x=>({svgString:y.svgString,layout:y.layout,tooltipStyle:y.tooltipStyle,eventTooltip:x}))))).subscribe(y=>{if(y.eventTooltip.eventName==="mouseout"){hq(l);return}dq({rootSelection:e,pluginName:t,gClassName:l,boxClassName:u,rootWidth:y.layout.rootWidth,rootHeight:y.layout.rootHeight,svgString:y.svgString,tooltipStyle:y.tooltipStyle,event:y.eventTooltip.event})}),()=>{o.next(void 0)}},KA="GridTooltip",pq={name:KA,defaultParams:$d,layerIndex:Ri,validator:(t,{validateColumns:e})=>e(t,{backgroundColorType:{toBeOption:"ColorType"},backgroundOpacity:{toBeTypes:["number"]},strokeColorType:{toBeOption:"ColorType"},offset:{toBe:"[number, number]",test:n=>Array.isArray(n)&&n.length===2&&typeof n[0]=="number"&&typeof n[1]=="number"},padding:{toBeTypes:["number"]},textColorType:{toBeOption:"ColorType"},renderFn:{toBeTypes:["Function"]}})},mq=Ce(pq)(({selection:t,rootSelection:e,name:n,subject:r,observer:a})=>{const i=new J,o=Ni(KA,{rootSelection:e,fullParams$:a.fullParams$,fullChartParams$:a.fullChartParams$,layout$:a.layout$,event$:r.event$});return()=>{i.next(void 0),o()}}),gq="GroupZoom",yq={name:gq,defaultParams:Ib,layerIndex:vg,validator:(t,{validateColumns:e})=>({status:"success",columnName:"",expectToBe:""})},bq=Ce(yq)(({selection:t,rootSelection:e,name:n,observer:r,subject:a})=>{const i=new J;let o={k:1,x:0,y:0};const l=r.computedData$.pipe(L(c=>c[0]?c[0].length-1:0),H()),u=r.fullDataFormatter$.pipe(L(c=>c.groupAxis),Na()),s=G({initGroupAxis:u,groupMaxIndex:l,layout:r.layout$,axisSize:r.gridAxesSize$}).pipe(w(i),O(async c=>c),L(c=>{const d=c.initGroupAxis.scaleDomain[0]-c.initGroupAxis.scalePadding,f=c.initGroupAxis.scaleDomain[1]==="max"?c.groupMaxIndex+c.initGroupAxis.scalePadding:c.initGroupAxis.scaleDomain[1]+c.initGroupAxis.scalePadding;return hh({maxValue:c.groupMaxIndex,minValue:0,axisWidth:c.axisSize.width,scaleDomain:[d,f],scaleRange:[0,1]})}));return G({initGroupScale:s,fullDataFormatter:r.fullDataFormatter$,groupMaxIndex:l}).pipe(w(i),O(async c=>c)).subscribe(c=>{const d=c.initGroupScale.copy(),f=Qn().on("zoom",function(h){const p=h.transform,g=y=>{const x=Math.round(y);return Math.min(c.groupMaxIndex,Math.max(0,x))},m=c.fullDataFormatter.groupAxis.position==="bottom"||c.fullDataFormatter.groupAxis.position==="top"?p.rescaleX(d).domain().map(g):p.rescaleY(d).domain().map(g);m[0]<=0&&m[1]>=c.groupMaxIndex?p.k<o.k&&(p.k=o.k,p.x=o.x,p.y=o.y):m[1]-m[0]<=1&&p.k>o.k&&(p.k=o.k,p.x=o.x,p.y=o.y),o.k=p.k,o.x=p.x,o.y=p.y;const b={...c.fullDataFormatter,groupAxis:{...c.fullDataFormatter.groupAxis,scaleDomain:m}};a.dataFormatter$.next(b)});e.call(f)}),()=>{i.next(void 0),e.call(Qn().on("zoom",null))}}),yf="GroupAux",_g=W(yf,"label-box"),Ag=6,QA=3,xq={name:yf,defaultParams:xd,layerIndex:$g,validator:(t,{validateColumns:e})=>e(t,{showLine:{toBeTypes:["boolean"]},showLabel:{toBeTypes:["boolean"]},lineDashArray:{toBeTypes:["string"]},lineColorType:{toBeOption:"ColorType"},labelColorType:{toBeOption:"ColorType"},labelTextColorType:{toBeOption:"ColorType"},labelTextFormat:{toBeTypes:["string","Function"]},labelPadding:{toBeTypes:["number"]},labelRotate:{toBeTypes:["number"]}})};function vq({groupLabel:t,axisX:e,axisHeight:n,fullParams:r}){return r.showLine&&t?[{id:t,x1:e,x2:e,y1:0,y2:n}]:[]}function $q({groupLabel:t,axisX:e,fullParams:n,textSizePx:r,rowAmount:a}){const i=Fn(t,n.labelTextFormat),o=i.split(`
74
- `),l=o.reduce((c,d)=>d.length>c.length?d:c,""),u=Li(l,r),s=r*o.length;return n.showLabel&&t?[{id:t,x:e,y:-n.labelPadding*a,text:i,textArr:o,textWidth:u,textHeight:s}]:[]}function Sq({selection:t,pluginName:e,lineData:n,fullParams:r,fullChartParams:a}){const i=W(e,"auxline");return t.selectAll(`line.${i}`).data(n).join(o=>o.append("line").classed(i,!0).style("stroke-width",1).style("pointer-events","none").style("vector-effect","non-scaling-stroke").attr("x1",l=>l.x1).attr("y1",l=>l.y1).attr("x2",l=>l.x2).attr("y2",l=>l.y2),o=>o.transition().duration(50).attr("x1",l=>l.x1).attr("y1",l=>l.y1).attr("x2",l=>l.x2).attr("y2",l=>l.y2),o=>o.remove()).style("stroke",o=>ht(r.lineColorType,a)).style("stroke-dasharray",r.lineDashArray??"none")}function Dq(t){t.selectAll("line").data([]).exit().remove()}function _q({selection:t,labelData:e,fullParams:n,fullDataFormatter:r,fullChartParams:a,textReverseTransformWithRotate:i,textSizePx:o}){return t.selectAll(`g.${_g}`).data(e).join(l=>l.append("g").classed(_g,!0).style("cursor","pointer").attr("transform",(u,s)=>`translate(${u.x}, ${u.y})`),l=>l.transition().duration(50).attr("transform",(u,s)=>`translate(${u.x}, ${u.y})`),l=>l.remove()).each((l,u,s)=>{const c=Y(s[u]),d=l.textWidth+Ag*2,f=l.textHeight+QA*2;let h=-d/2,p=-2,g=h,m=p-3;r.groupAxis.position==="bottom"?(h=n.labelRotate?-d+f:-d/2,p=2,g=h,m=p-3):r.groupAxis.position==="left"?(h=-d+2,p=-f/2,g=h,m=p-3,n.labelRotate&&(m+=f)):r.groupAxis.position==="right"?(h=-2,p=-f/2,g=h,m=p-3,n.labelRotate&&(m+=f)):r.groupAxis.position==="top"&&(h=n.labelRotate?-d+f:-d/2,p=-f+6,g=-f,m=p-3);const b=c.selectAll("rect").data([l]).join(_=>_.append("rect").style("cursor","pointer").attr("rx",5).attr("ry",5),_=>_,_=>_.remove()).attr("width",_=>`${d}px`).attr("height",`${f}px`).attr("fill",_=>ht(n.labelColorType,a)).attr("x",g).attr("y",m).style("transform",i),y=c.selectAll("text").data([l]).join(_=>_.append("text").style("dominant-baseline","hanging").style("cursor","pointer"),_=>_,_=>_.remove()).style("transform",i).attr("fill",_=>ht(n.labelTextColorType,a)).attr("font-size",a.styles.textSize).attr("x",g+Ag).attr("y",m+QA).each((_,D,C)=>{Rl(Y(C[D]),{textArr:l.textArr,textSizePx:o,groupAxisPosition:r.groupAxis.position,isContainerRotated:!1})});let x=[];y.selectAll("tspan").each((_,D,C)=>{const A=Y(C[D]).node();A&&A.getBBox()&&x.push(A.getBBox().width)});const v=Math.max(...x);b.attr("width",v+Ag*2)})}function Aq(t){t.selectAll(`g.${_g}`).data([]).exit().remove()}const Cq=Ce(xq)(({selection:t,rootSelection:e,name:n,subject:r,observer:a})=>{const i=new J;let o=!1;const l=e.insert("rect","g").classed(W(yf,"rect"),!0).attr("opacity",0),{axesSelection$:u}=ba({selection:t,pluginName:yf,clipPathID:"test",seriesLabels$:a.isSeriesSeprate$.pipe(O(y=>Ln(()=>y,a.seriesLabels$,a.seriesLabels$.pipe(L(x=>[x[0]]))))),gridContainerPosition$:a.gridContainerPosition$,gridAxesTransform$:a.gridAxesTransform$,gridGraphicTransform$:a.gridGraphicTransform$});a.layout$.pipe(w(i)).subscribe(y=>{l.attr("width",y.rootWidth).attr("height",y.rootHeight)});const s=G({groupScaleDomainValue:a.groupScaleDomainValue$,gridAxesSize:a.gridAxesSize$}).pipe(w(i),O(async y=>y),L(y=>Wn().domain(y.groupScaleDomainValue).range([0,y.gridAxesSize.width]))),c=a.fullChartParams$.pipe(w(i),L(y=>y.highlightTarget),H()),d=ya(e,"mousemove").pipe(w(i)),f=G({gridAxesReverseTransform:a.gridAxesReverseTransform$,gridContainerPosition:a.gridContainerPosition$}).pipe(w(i),O(async y=>y),L(y=>{const x=`rotateX(${y.gridAxesReverseTransform.rotateX}deg) rotateY(${y.gridAxesReverseTransform.rotateY}deg)`,v=`rotate(${y.gridAxesReverseTransform.rotate}deg)`,_=`scale(${1/y.gridContainerPosition[0].scale[0]}, ${1/y.gridContainerPosition[0].scale[1]})`;return`${x} ${v} ${_}`}),H()),h=G({textReverseTransform:f,fullParams:a.fullParams$}).pipe(w(i),O(async y=>y),L(y=>`${y.textReverseTransform} rotate(${y.fullParams.labelRotate}deg)`)),p=a.gridContainerPosition$.pipe(w(i),L(y=>y.reduce((x,v)=>v.columnIndex>x?v.columnIndex:x,0)+1),H()),g=a.gridContainerPosition$.pipe(w(i),L(y=>y.reduce((x,v)=>v.rowIndex>x?v.rowIndex:x,0)+1),H()),m=nU({rootSelection:e,fullDataFormatter$:a.fullDataFormatter$,containerSize$:a.containerSize$,gridAxesContainerSize$:a.gridAxesContainerSize$,computedData$:a.computedData$,gridContainerPosition$:a.gridContainerPosition$,layout$:a.layout$}).pipe(w(i));G({axesSelection:u,columnAmount:p,rowAmount:g,layout:a.layout$,rootMousemove:d,gridGroupPosition:m,computedData:a.computedData$,groupScale:s,gridAxesSize:a.gridAxesSize$,fullParams:a.fullParams$,fullDataFormatter:a.fullDataFormatter$,fullChartParams:a.fullChartParams$,highlightTarget:c,textReverseTransformWithRotate:h,GroupDataMap:a.GroupDataMap$,textSizePx:a.textSizePx$}).pipe(w(i),O(async y=>y)).subscribe(y=>{const{groupIndex:x,groupLabel:v}=y.gridGroupPosition,_=y.groupScale(x)??0,D=vq({groupLabel:v,axisX:_,axisHeight:y.gridAxesSize.height,fullParams:y.fullParams});Sq({selection:y.axesSelection,pluginName:n,lineData:D,fullParams:y.fullParams,fullChartParams:y.fullChartParams});const C=$q({groupLabel:v,axisX:_,fullParams:y.fullParams,textSizePx:y.textSizePx,rowAmount:y.rowAmount});_q({selection:y.axesSelection,labelData:C,fullParams:y.fullParams,fullDataFormatter:y.fullDataFormatter,fullChartParams:y.fullChartParams,textReverseTransformWithRotate:y.textReverseTransformWithRotate,textSizePx:y.textSizePx}).on("mouseover",(A,$)=>{A.stopPropagation(),o=!0,r.event$.next({type:"grid",pluginName:n,eventName:"mouseover",highlightTarget:y.highlightTarget,datum:null,gridIndex:0,series:[],seriesIndex:-1,seriesLabel:"",group:y.GroupDataMap.get(v)??[],groupIndex:x,groupLabel:v,event:A,data:y.computedData})}).on("mousemove",(A,$)=>{A.stopPropagation(),r.event$.next({type:"grid",pluginName:n,eventName:"mousemove",highlightTarget:y.highlightTarget,datum:null,gridIndex:0,series:[],seriesIndex:-1,seriesLabel:"",group:y.GroupDataMap.get(v)??[],groupIndex:x,groupLabel:v,event:A,data:y.computedData})}).on("mouseout",(A,$)=>{A.stopPropagation(),o=!1,r.event$.next({type:"grid",pluginName:n,eventName:"mouseout",highlightTarget:y.highlightTarget,datum:null,gridIndex:0,series:[],seriesIndex:-1,seriesLabel:"",group:y.GroupDataMap.get(v)??[],groupIndex:x,groupLabel:v,event:A,data:y.computedData})}).on("click",(A,$)=>{A.stopPropagation(),r.event$.next({type:"grid",pluginName:n,eventName:"click",highlightTarget:y.highlightTarget,datum:null,gridIndex:0,series:[],seriesIndex:-1,seriesLabel:"",group:y.GroupDataMap.get(v)??[],groupIndex:x,groupLabel:v,event:A,data:y.computedData})})});const b=ya(l,"mouseout").pipe(w(i));return G({rootRectMouseout:b,axesSelection:u}).pipe(w(i),O(async y=>y)).subscribe(y=>{setTimeout(()=>{o!=!0&&(Dq(y.axesSelection),Aq(y.axesSelection))})}),()=>{i.next(void 0),l.remove()}}),tC={placement:"bottom",padding:28,backgroundFill:"none",backgroundStroke:"none",gap:10,listRectWidth:14,listRectHeight:14,listRectRadius:0,gridList:[{listRectWidth:14,listRectHeight:14,listRectRadius:0}],textColorType:"primary"},Cg={labelOffset:[0,0],labelColorType:"primary",axisLineVisible:!0,axisLineColorType:"primary",ticks:"all",tickFormat:t=>t,tickLineVisible:!0,tickPadding:20,tickFullLine:!1,tickFullLineDasharray:"none",tickColorType:"secondary",tickTextRotate:0,tickTextColorType:"primary",gridIndexes:[0]};Cg.tickFormat.toString=()=>"text => text";const Il={labelOffset:[0,0],labelColorType:"primary",axisLineVisible:!1,axisLineColorType:"primary",ticks:4,tickFormat:t=>{if(t===null||Number.isNaN(t)==!0)return t||0;const e=t.toString().split(".");return e[0]=e[0].replace(/\B(?=(\d{3})+(?!\d))/g,","),e.join(".")},tickLineVisible:!0,tickPadding:20,tickFullLine:!0,tickFullLineDasharray:"none",tickColorType:"secondary",tickTextRotate:0,tickTextColorType:"primary",gridIndexes:"all"};Il.tickFormat.toString=()=>`num => {
75
- if (num === null || Number.isNaN(num) == true) {
76
- return num || 0
77
- }
78
- const parts = num.toString().split('.')
79
- parts[0] = parts[0].replace(/B(?=(d{3})+(?!d))/g, ',')
80
- return parts.join('.')
81
- }`;const Pq={...Il},eC={barWidth:0,barPadding:1,barGroupPadding:40,barRadius:!1,gridIndexes:[0]},nC={barWidth:0,barGroupPadding:10,barRadius:!1,gridIndexes:[0]},rC={barWidth:0,barPadding:1,barGroupPadding:20,linearGradientOpacity:[1,0],gridIndexes:[0]},aC={lineCurve:"curveLinear",lineWidth:2,gridIndexes:[1]},iC={lineCurve:"curveLinear",linearGradientOpacity:[1,0],gridIndexes:[1]},oC={radius:4,fillColorType:"background",strokeColorType:"label",strokeWidth:2,onlyShowHighlighted:!1,gridIndexes:[1]},Pg={firstAxis:{labelOffset:[0,0],labelColorType:"primary",axisLineVisible:!1,axisLineColorType:"primary",ticks:4,tickFormat:",.0f",tickLineVisible:!0,tickPadding:20,tickFullLine:!0,tickFullLineDasharray:"none",tickColorType:"secondary",tickTextRotate:0,tickTextColorType:"primary"},secondAxis:{labelOffset:[0,0],labelColorType:"primary",axisLineVisible:!1,axisLineColorType:"primary",ticks:4,tickFormat:",.0f",tickLineVisible:!0,tickPadding:20,tickFullLine:!0,tickFullLineDasharray:"none",tickColorType:"secondary",tickTextRotate:0,tickTextColorType:"primary"},gridIndexes:[0,1]},lC={...Pg},Fg={backgroundColorType:"background",strokeColorType:"primary",backgroundOpacity:.8,textColorType:"primary",offset:[20,5],padding:10,renderFn:(t,{styles:e,utils:n})=>{const r=e.textSizePx*.7,a=e.textSizePx/2-r/2,i=`<g><text dominant-baseline="hanging" font-size="${e.textSizePx}" fill="${e.textColor}">${t.groupLabel}</text></g>`,o=n.measureTextWidth(t.groupLabel,e.textSizePx),l=t.group.reduce((c,d)=>{const f=`${d.seriesLabel}${n.toCurrency(d.value)}`,h=n.measureTextWidth(f,e.textSizePx);return h>c?h:c},0),u=Math.max(o,l)+e.textSizePx*3,s=t.group.map((c,d)=>{const f=d*e.textSizePx*1.5,h=c.id===(t.datum&&t.datum.id);return`<g transform="translate(0, ${e.textSizePx*2})">
82
- <rect width="${r}" height="${r}" x="${a}" y="${f+a}" rx="${r/2}" fill="${c.color}"></rect>
83
- <text x="${e.textSizePx*1.5}" y="${f}" font-size="${e.textSizePx}" dominant-baseline="hanging" fill="${e.textColor}">
84
- <tspan font-weight="${h?"bold":""}">${c.seriesLabel}</tspan>
85
- <tspan font-weight="bold" text-anchor="end" x="${u}">${n.toCurrency(c.value)}</tspan>
86
- </text>
87
- </g>`}).join("");return`${i}
88
- ${s}`}};Fg.renderFn.toString=()=>`(eventData, { styles, utils }) => {
89
- const bulletWidth = styles.textSizePx * 0.7
90
- const offset = (styles.textSizePx / 2) - (bulletWidth / 2)
91
-
92
- const titleSvg = \`<g><text dominant-baseline="hanging" font-size="\${styles.textSizePx}" fill="\${styles.textColor}">\${eventData.groupLabel}</text></g>\`
93
- const groupLabelTextWidth = utils.measureTextWidth(eventData.groupLabel, styles.textSizePx)
94
- const listTextWidth = eventData.group.reduce((acc, group) => {
95
- const text = \`\${group.seriesLabel}\${utils.toCurrency(group.value)}\`
96
- const _maxTextWidth = utils.measureTextWidth(text, styles.textSizePx)
97
- return _maxTextWidth > acc ? _maxTextWidth : acc
98
- }, 0)
99
- const maxTextWidth = Math.max(groupLabelTextWidth, listTextWidth)
100
- const lineEndX = maxTextWidth + styles.textSizePx * 3
101
- const contentSvg = eventData.group
102
- .map((group, i) => {
103
- const y = i * styles.textSizePx * 1.5
104
- const isHighlight = group.id === (eventData.datum && eventData.datum.id)
105
- return \`<g transform="translate(0, \${styles.textSizePx * 2})">
106
- <rect width="\${bulletWidth}" height="\${bulletWidth}" x="\${offset}" y="\${y + offset}" rx="\${bulletWidth / 2}" fill="\${group.color}"></rect>
107
- <text x="\${styles.textSizePx * 1.5}" y="\${y}" font-size="\${styles.textSizePx}" dominant-baseline="hanging" fill="\${styles.textColor}">
108
- <tspan font-weight="\${isHighlight ? 'bold' : ''}">\${group.seriesLabel}</tspan>
109
- <tspan font-weight="bold" text-anchor="end" x="\${lineEndX}">\${utils.toCurrency(group.value)}</tspan>
110
- </text>
111
- </g>\`
112
- })
113
- .join('')
114
- return \`\${titleSvg}
115
- \${contentSvg}\`
116
- }`;const sC="MultiGridLegend",Fq={name:sC,defaultParams:tC,layerIndex:Mi,validator:(t,{validateColumns:e})=>{const n=e(t,{placement:{toBe:'"top" | "top-start" | "top-end" | "bottom" | "bottom-start" | "bottom-end" | "left" | "left-start" | "left-end" | "right" | "right-start" | "right-end"',test:r=>["top","top-start","top-end","bottom","bottom-start","bottom-end","left","left-start","left-end","right","right-start","right-end"].includes(r)},padding:{toBeTypes:["number"]},backgroundFill:{toBeOption:"ColorType"},backgroundStroke:{toBeOption:"ColorType"},gap:{toBeTypes:["number"]},listRectWidth:{toBeTypes:["number"]},listRectHeight:{toBeTypes:["number"]},listRectRadius:{toBeTypes:["number"]},gridList:{toBeTypes:["object[]"]},textColorType:{toBeOption:"ColorType"}});if(t.gridList){const r=t.gridList.map((a,i)=>e(a,{listRectWidth:{toBeTypes:["number"]},listRectHeight:{toBeTypes:["number"]},listRectRadius:{toBeTypes:["number"]}})).find(a=>a.status==="error");if(r)return r}return n}},Tq=Le(Fq)(({selection:t,rootSelection:e,observer:n,subject:r})=>{const a=new J,i=n.multiGridEachDetail$.pipe(L(s=>s.map(c=>c.seriesLabels$)),O(s=>G(s).pipe(O(async c=>c))),L(s=>s.flat())),o=G({fullParams:n.fullParams$,computedData:n.computedData$}).pipe(w(a),O(async s=>s),L(s=>s.computedData.map((c,d)=>{const f=kd(s.fullParams.gridList[d]??{},{listRectWidth:s.fullParams.listRectWidth,listRectHeight:s.fullParams.listRectHeight,listRectRadius:s.fullParams.listRectRadius});return c.map(h=>f)}).flat())),l=G({fullParams:n.fullParams$,seriesList:o}).pipe(w(a),O(async s=>s),L(s=>({...s.fullParams,labelList:s.seriesList}))),u=Ii(sC,{rootSelection:e,legendLabels$:i,fullParams$:l,layout$:n.layout$,fullChartParams$:n.fullChartParams$,textSizePx$:n.textSizePx$});return()=>{a.next(void 0),u()}}),un=t=>{const e=t.fullParams$.pipe(L(n=>n.gridIndexes),H(),nt(1));return G({multiGridEachDetail:t.multiGridEachDetail$,gridIndexes:e}).pipe(O(async n=>n),L(n=>n.gridIndexes==="all"?n.multiGridEachDetail:n.gridIndexes.map(r=>n.multiGridEachDetail[r]??n.multiGridEachDetail[0])))},Tg="MultiBars",uC=W(Tg,"grid"),wq={name:Tg,defaultParams:eC,layerIndex:be,validator:(t,{validateColumns:e})=>e(t,{gridIndexes:{toBe:'number[] | "all"',test:n=>n==="all"||Array.isArray(n)&&n.every(r=>typeof r=="number")},barWidth:{toBeTypes:["number"]},barPadding:{toBeTypes:["number"]},barGroupPadding:{toBeTypes:["number"]},barRadius:{toBeTypes:["number","boolean"]}})},Bq=Le(wq)(({selection:t,name:e,subject:n,observer:r})=>{const a=new J,i=[];return un(r).pipe(w(a)).subscribe(o=>{i.forEach(l=>l()),t.selectAll(`g.${uC}`).data(o).join("g").attr("class",uC).each((l,u,s)=>{const c=Y(s[u]),d=l.dataFormatter$.pipe(w(a),L(f=>f.separateSeries),H(),nt(1));i[u]=Sg(Tg,{selection:c,computedData$:l.computedData$,visibleComputedData$:l.visibleComputedData$,computedAxesData$:l.computedAxesData$,visibleComputedAxesData$:l.visibleComputedAxesData$,seriesLabels$:l.seriesLabels$,SeriesDataMap$:l.SeriesDataMap$,GroupDataMap$:l.GroupDataMap$,fullParams$:r.fullParams$,fullChartParams$:r.fullChartParams$,gridAxesTransform$:l.gridAxesTransform$,gridGraphicTransform$:l.gridGraphicTransform$,gridGraphicReverseScale$:l.gridGraphicReverseScale$,gridAxesSize$:l.gridAxesSize$,gridHighlight$:r.multiGridHighlight$,gridContainerPosition$:l.gridContainerPosition$,isSeriesSeprate$:d,event$:n.event$})})}),()=>{a.next(void 0),i.forEach(o=>o())}}),wg="MultiStackedBars",cC=W(wg,"grid"),Eq={name:wg,defaultParams:nC,layerIndex:be,validator:(t,{validateColumns:e})=>e(t,{gridIndexes:{toBe:'number[] | "all"',test:n=>n==="all"||Array.isArray(n)&&n.every(r=>typeof r=="number")},barWidth:{toBeTypes:["number"]},barGroupPadding:{toBeTypes:["number"]},barRadius:{toBeTypes:["number","boolean"]}})},Lq=Le(Eq)(({selection:t,name:e,subject:n,observer:r})=>{const a=new J,i=[];return un(r).pipe(w(a)).subscribe(o=>{i.forEach(l=>l()),t.selectAll(`g.${cC}`).data(o).join("g").attr("class",cC).each((l,u,s)=>{const c=Y(s[u]),d=l.dataFormatter$.pipe(w(a),L(f=>f.separateSeries),H(),nt(1));i[u]=RA(wg,{selection:c,computedData$:l.computedData$,visibleComputedData$:l.visibleComputedData$,computedAxesData$:l.computedAxesData$,visibleComputedAxesData$:l.visibleComputedAxesData$,filteredMinMaxValue$:l.filteredMinMaxValue$,filteredStackedMinMaxValue$:l.filteredStackedMinMaxValue$,seriesLabels$:l.seriesLabels$,SeriesDataMap$:l.SeriesDataMap$,GroupDataMap$:l.GroupDataMap$,fullParams$:r.fullParams$,fullDataFormatter$:l.dataFormatter$,fullChartParams$:r.fullChartParams$,gridAxesTransform$:l.gridAxesTransform$,gridGraphicTransform$:l.gridGraphicTransform$,gridGraphicReverseScale$:l.gridGraphicReverseScale$,gridAxesSize$:l.gridAxesSize$,gridHighlight$:r.multiGridHighlight$,gridContainerPosition$:l.gridContainerPosition$,isSeriesSeprate$:d,event$:n.event$})})}),()=>{a.next(void 0),i.forEach(o=>o())}}),Bg="MultiBarsTriangle",fC=W(Bg,"grid"),Mq={name:Bg,defaultParams:rC,layerIndex:be,validator:(t,{validateColumns:e})=>e(t,{gridIndexes:{toBe:'number[] | "all"',test:n=>n==="all"||Array.isArray(n)&&n.every(r=>typeof r=="number")},barWidth:{toBeTypes:["number"]},barPadding:{toBeTypes:["number"]},barGroupPadding:{toBeTypes:["number"]},linearGradientOpacity:{toBe:"[number, number]",test:n=>Array.isArray(n)&&n.length===2&&typeof n[0]=="number"&&typeof n[1]=="number"}})},Rq=Le(Mq)(({selection:t,name:e,subject:n,observer:r})=>{const a=new J,i=[];return un(r).pipe(w(a)).subscribe(o=>{i.forEach(l=>l()),t.selectAll(`g.${fC}`).data(o).join("g").attr("class",fC).each((l,u,s)=>{const c=Y(s[u]),d=l.dataFormatter$.pipe(w(a),L(f=>f.separateSeries),H(),nt(1));i[u]=zA(Bg,{selection:c,computedData$:l.computedData$,visibleComputedData$:l.visibleComputedData$,computedAxesData$:l.computedAxesData$,visibleComputedAxesData$:l.visibleComputedAxesData$,seriesLabels$:l.seriesLabels$,SeriesDataMap$:l.SeriesDataMap$,GroupDataMap$:l.GroupDataMap$,fullParams$:r.fullParams$,fullChartParams$:r.fullChartParams$,fullDataFormatter$:l.dataFormatter$,gridAxesTransform$:l.gridAxesTransform$,gridGraphicTransform$:l.gridGraphicTransform$,gridAxesSize$:l.gridAxesSize$,gridHighlight$:r.multiGridHighlight$,gridContainerPosition$:l.gridContainerPosition$,isSeriesSeprate$:d,event$:n.event$})})}),()=>{a.next(void 0),i.forEach(o=>o())}}),Eg="MultiLines",dC=W(Eg,"grid"),Iq={name:Eg,defaultParams:aC,layerIndex:be,validator:(t,{validateColumns:e})=>e(t,{gridIndexes:{toBe:'number[] | "all"',test:n=>n==="all"||Array.isArray(n)&&n.every(r=>typeof r=="number")},lineCurve:{toBeTypes:["string"]},lineWidth:{toBeTypes:["number"]}})},kq=Le(Iq)(({selection:t,rootSelection:e,name:n,subject:r,observer:a})=>{const i=new J,o=[],l=a.multiGridContainerPosition$.pipe(w(i),L(u=>u.flat()));return un(a).pipe(w(i)).subscribe(u=>{o.forEach(s=>s()),t.selectAll(`g.${dC}`).data(u).join("g").attr("class",dC).each((s,c,d)=>{const f=Y(d[c]);o[c]=AA(Eg,{selection:f,computedData$:s.computedData$,computedAxesData$:s.computedAxesData$,visibleComputedData$:s.visibleComputedData$,visibleComputedAxesData$:s.visibleComputedAxesData$,seriesLabels$:s.seriesLabels$,SeriesDataMap$:s.SeriesDataMap$,GroupDataMap$:s.GroupDataMap$,fullDataFormatter$:s.dataFormatter$,fullParams$:a.fullParams$,fullChartParams$:a.fullChartParams$,gridAxesTransform$:s.gridAxesTransform$,gridGraphicTransform$:s.gridGraphicTransform$,gridAxesSize$:s.gridAxesSize$,gridHighlight$:a.multiGridHighlight$,gridContainerPosition$:s.gridContainerPosition$,allContainerPosition$:l,layout$:a.layout$,event$:r.event$})})}),()=>{i.next(void 0),o.forEach(u=>u())}}),Lg="MultiLineAreas",hC=W(Lg,"grid"),Nq={name:Lg,defaultParams:iC,layerIndex:CA,validator:(t,{validateColumns:e})=>e(t,{gridIndexes:{toBe:'number[] | "all"',test:n=>n==="all"||Array.isArray(n)&&n.every(r=>typeof r=="number")},lineCurve:{toBeTypes:["string"]},linearGradientOpacity:{toBe:"[number, number]",test:n=>Array.isArray(n)&&n.length===2&&typeof n[0]=="number"&&typeof n[1]=="number"}})},zq=Le(Nq)(({selection:t,name:e,subject:n,observer:r})=>{const a=new J,i=[];return r.multiGridContainerPosition$.pipe(w(a),L(o=>o.flat())),un(r).pipe(w(a)).subscribe(o=>{i.forEach(l=>l()),t.selectAll(`g.${hC}`).data(o).join("g").attr("class",hC).each((l,u,s)=>{const c=Y(s[u]);i[u]=FA(Lg,{selection:c,computedData$:l.computedData$,computedAxesData$:l.computedAxesData$,visibleComputedData$:l.visibleComputedData$,visibleComputedAxesData$:l.visibleComputedAxesData$,seriesLabels$:l.seriesLabels$,SeriesDataMap$:l.SeriesDataMap$,GroupDataMap$:l.GroupDataMap$,fullDataFormatter$:l.dataFormatter$,fullParams$:r.fullParams$,fullChartParams$:r.fullChartParams$,gridAxesTransform$:l.gridAxesTransform$,gridGraphicTransform$:l.gridGraphicTransform$,gridAxesSize$:l.gridAxesSize$,gridHighlight$:r.multiGridHighlight$,gridContainerPosition$:l.gridContainerPosition$,layout$:r.layout$,event$:n.event$})})}),()=>{a.next(void 0),i.forEach(o=>o())}}),Mg="MultiDots",pC=W(Mg,"grid"),Oq={name:Mg,defaultParams:oC,layerIndex:Ml,validator:(t,{validateColumns:e})=>e(t,{gridIndexes:{toBe:'number[] | "all"',test:n=>n==="all"||Array.isArray(n)&&n.every(r=>typeof r=="number")},radius:{toBeTypes:["number"]},fillColorType:{toBeOption:"ColorType"},strokeColorType:{toBeOption:"ColorType"},strokeWidth:{toBeTypes:["number"]},onlyShowHighlighted:{toBeTypes:["boolean"]}})},Gq=Le(Oq)(({selection:t,name:e,subject:n,observer:r})=>{const a=new J,i=[];return un(r).pipe(w(a)).subscribe(o=>{i.forEach(l=>l()),t.selectAll(`g.${pC}`).data(o).join("g").attr("class",pC).each((l,u,s)=>{const c=Y(s[u]);i[u]=GA(Mg,{selection:c,computedData$:l.computedData$,visibleComputedData$:l.visibleComputedData$,computedAxesData$:l.computedAxesData$,visibleComputedAxesData$:l.visibleComputedAxesData$,seriesLabels$:l.seriesLabels$,SeriesDataMap$:l.SeriesDataMap$,GroupDataMap$:l.GroupDataMap$,fullParams$:r.fullParams$,fullChartParams$:r.fullChartParams$,gridAxesTransform$:l.gridAxesTransform$,gridGraphicTransform$:l.gridGraphicTransform$,gridGraphicReverseScale$:l.gridGraphicReverseScale$,gridAxesSize$:l.gridAxesSize$,gridHighlight$:r.multiGridHighlight$,gridContainerPosition$:l.gridContainerPosition$,event$:n.event$})})}),()=>{a.next(void 0),i.forEach(o=>o())}}),Rg="MultiGroupAxis",mC=W(Rg,"grid"),jq={name:Rg,defaultParams:Cg,layerIndex:Xe,validator:(t,{validateColumns:e})=>e(t,{gridIndexes:{toBe:'number[] | "all"',test:n=>n==="all"||Array.isArray(n)&&n.every(r=>typeof r=="number")},labelOffset:{toBe:"[number, number]",test:n=>Array.isArray(n)&&n.length===2&&typeof n[0]=="number"&&typeof n[1]=="number"},labelColorType:{toBeOption:"ColorType"},axisLineVisible:{toBeTypes:["boolean"]},axisLineColorType:{toBeOption:"ColorType"},ticks:{toBe:'number | null | "all"',test:n=>n===null||n==="all"||typeof n=="number"},tickFormat:{toBeTypes:["string","Function"]},tickLineVisible:{toBeTypes:["boolean"]},tickPadding:{toBeTypes:["number"]},tickFullLine:{toBeTypes:["boolean"]},tickFullLineDasharray:{toBeTypes:["string"]},tickColorType:{toBeOption:"ColorType"},tickTextRotate:{toBeTypes:["number"]},tickTextColorType:{toBeOption:"ColorType"}})},Vq=Le(jq)(({selection:t,name:e,subject:n,observer:r})=>{const a=new J,i=[];return un(r).pipe(w(a)).subscribe(o=>{i.forEach(l=>l()),t.selectAll(`g.${mC}`).data(o).join("g").attr("class",mC).each((l,u,s)=>{const c=Y(s[u]),d=l.dataFormatter$.pipe(w(a),L(f=>f.separateSeries),H(),nt(1));i[u]=XA(Rg,{selection:c,computedData$:l.computedData$,fullParams$:r.fullParams$,fullDataFormatter$:l.dataFormatter$,fullChartParams$:r.fullChartParams$,gridAxesTransform$:l.gridAxesTransform$,gridAxesReverseTransform$:l.gridAxesReverseTransform$,gridAxesSize$:l.gridAxesSize$,gridContainerPosition$:l.gridContainerPosition$,isSeriesSeprate$:d,textSizePx$:r.textSizePx$})})}),()=>{a.next(void 0),i.forEach(o=>o())}}),Ig="MultiValueAxis",gC=W(Ig,"grid"),Yq={name:Ig,defaultParams:Il,layerIndex:Xe,validator:(t,{validateColumns:e})=>e(t,{gridIndexes:{toBe:'number[] | "all"',test:n=>n==="all"||Array.isArray(n)&&n.every(r=>typeof r=="number")},labelOffset:{toBe:"[number, number]",test:n=>Array.isArray(n)&&n.length===2&&typeof n[0]=="number"&&typeof n[1]=="number"},labelColorType:{toBeOption:"ColorType"},axisLineVisible:{toBeTypes:["boolean"]},axisLineColorType:{toBeOption:"ColorType"},ticks:{toBeTypes:["number","null"]},tickFormat:{toBeTypes:["string","Function"]},tickLineVisible:{toBeTypes:["boolean"]},tickPadding:{toBeTypes:["number"]},tickFullLine:{toBeTypes:["boolean"]},tickFullLineDasharray:{toBeTypes:["string"]},tickColorType:{toBeOption:"ColorType"},tickTextRotate:{toBeTypes:["number"]},tickTextColorType:{toBeOption:"ColorType"}})},Hq=Le(Yq)(({selection:t,name:e,subject:n,observer:r})=>{const a=new J,i=[];return un(r).pipe(w(a)).subscribe(o=>{i.forEach(l=>l()),t.selectAll(`g.${gC}`).data(o).join("g").attr("class",gC).each((l,u,s)=>{const c=Y(s[u]),d=l.dataFormatter$.pipe(w(a),L(f=>f.separateSeries),H(),nt(1));i[u]=ki(Ig,{selection:c,computedData$:l.computedData$,filteredMinMaxValue$:l.filteredMinMaxValue$,fullParams$:r.fullParams$,fullDataFormatter$:l.dataFormatter$,fullChartParams$:r.fullChartParams$,gridAxesTransform$:l.gridAxesTransform$,gridAxesReverseTransform$:l.gridAxesReverseTransform$,gridAxesSize$:l.gridAxesSize$,gridContainerPosition$:l.gridContainerPosition$,isSeriesSeprate$:d})})}),()=>{a.next(void 0),i.forEach(o=>o())}}),yC="MultiGridTooltip",Wq={name:yC,defaultParams:Fg,layerIndex:Ri,validator:(t,{validateColumns:e})=>e(t,{backgroundColorType:{toBeOption:"ColorType"},backgroundOpacity:{toBeTypes:["number"]},strokeColorType:{toBeOption:"ColorType"},offset:{toBe:"[number, number]",test:n=>Array.isArray(n)&&n.length===2&&typeof n[0]=="number"&&typeof n[1]=="number"},padding:{toBeTypes:["number"]},textColorType:{toBeOption:"ColorType"},renderFn:{toBeTypes:["Function"]}})},Xq=Le(Wq)(({selection:t,rootSelection:e,name:n,subject:r,observer:a})=>{const i=new J,o=Ni(yC,{rootSelection:e,fullParams$:a.fullParams$,fullChartParams$:a.fullChartParams$,layout$:a.layout$,event$:r.event$});return()=>{i.next(void 0),o()}}),kg="MultiStackedValueAxis",bC=W(kg,"grid"),Uq={name:kg,defaultParams:Il,layerIndex:Xe,validator:(t,{validateColumns:e})=>e(t,{gridIndexes:{toBe:'number[] | "all"',test:n=>n==="all"||Array.isArray(n)&&n.every(r=>typeof r=="number")},labelOffset:{toBe:"[number, number]",test:n=>Array.isArray(n)&&n.length===2&&typeof n[0]=="number"&&typeof n[1]=="number"},labelColorType:{toBeOption:"ColorType"},axisLineVisible:{toBeTypes:["boolean"]},axisLineColorType:{toBeOption:"ColorType"},ticks:{toBeTypes:["number","null"]},tickFormat:{toBeTypes:["string","Function"]},tickLineVisible:{toBeTypes:["boolean"]},tickPadding:{toBeTypes:["number"]},tickFullLine:{toBeTypes:["boolean"]},tickFullLineDasharray:{toBeTypes:["string"]},tickColorType:{toBeOption:"ColorType"},tickTextRotate:{toBeTypes:["number"]},tickTextColorType:{toBeOption:"ColorType"}})},qq=Le(Uq)(({selection:t,name:e,subject:n,observer:r})=>{const a=new J,i=[];return un(r).pipe(w(a)).subscribe(o=>{i.forEach(l=>l()),t.selectAll(`g.${bC}`).data(o).join("g").attr("class",bC).each((l,u,s)=>{const c=Y(s[u]),d=l.dataFormatter$.pipe(w(a),L(f=>f.separateSeries),H(),nt(1));i[u]=ki(kg,{selection:c,computedData$:l.computedStackedData$,filteredMinMaxValue$:l.filteredStackedMinMaxValue$,fullParams$:r.fullParams$,fullDataFormatter$:l.dataFormatter$,fullChartParams$:r.fullChartParams$,gridAxesTransform$:l.gridAxesTransform$,gridAxesReverseTransform$:l.gridAxesReverseTransform$,gridAxesSize$:l.gridAxesSize$,gridContainerPosition$:l.gridContainerPosition$,isSeriesSeprate$:d})})}),()=>{a.next(void 0),i.forEach(o=>o())}});function Zq(t){let e=Math.floor(Math.sqrt(t)),n=Math.ceil(t/e);for(;e*n<t;)n++;return{rowAmount:e,columnAmount:n}}function xC(t,e,n){const r=e.columnGap==="auto"?t.left+t.right:e.columnGap,a=e.rowGap==="auto"?t.top+t.bottom:e.rowGap,{rowAmount:i,columnAmount:o}=e.rowAmount*e.columnAmount>=n?e:Zq(n);return new Array(n).fill(null).map((l,u)=>{const s=u%o,c=Math.floor(u/o),d=(t.width-r*(o-1))/o,f=(t.height-a*(i-1))/i,h=s*d+s*r,p=c*f+c*a,g=[h,p],m=[d/t.width,f/t.height];return{slotIndex:u,rowIndex:c,columnIndex:s,translate:g,scale:m}})}const Jq={position:"left",scaleDomain:["auto","auto"],scaleRange:[0,.9],label:""},Kq={position:"bottom",scaleDomain:[0,"max"],scalePadding:.5,label:""},Qq={seriesDirection:"row",rowLabels:[],columnLabels:[],valueAxis:{...Jq},groupAxis:{...Kq},separateSeries:!1},tZ={visibleFilter:(t,e)=>!0,...Qq};tZ.visibleFilter.toString=()=>"(datum, context) => true";const vC=({computedData$:t,fullDataFormatter$:e,layout$:n})=>G({computedData:t,fullDataFormatter:e,layout:n}).pipe(O(async r=>r),L(r=>{if(r.computedData.length===0)return[{slotIndex:0,rowIndex:0,columnIndex:0,translate:[0,0],scale:[1,1]}];if(r.fullDataFormatter.separateSeries)return xC(r.layout,r.fullDataFormatter.container,r.computedData.length);{const a=xC(r.layout,r.fullDataFormatter.container,1);return r.computedData.map((i,o)=>a[0])}})),$C=({fullDataFormatter$:t,layout$:e})=>{const n=new J;function r({xAxis:a,yAxis:i,width:o,height:l}){if(!a||!i)return{translate:[0,0],scale:[1,1],rotate:0,rotateX:0,rotateY:0,value:""};let u=0,s=0,c=0,d=0,f=0;return a.position==="bottom"?i.position==="left"?(d=180,s=l):i.position==="right"?(d=180,f=180,u=o,s=l):(d=180,s=l):a.position==="top"?i.position==="left"||(i.position==="right"?(f=180,u=o):(d=180,s=l)):a.position==="left"?i.position==="bottom"?(c=-90,s=l):i.position==="top"?(c=-90,f=180):(d=180,s=l):a.position==="right"?i.position==="bottom"?(c=-90,d=180,s=l,u=o):i.position==="top"?(c=-90,d=180,f=180,u=o):(d=180,s=l):(d=180,s=l),{translate:[u,s],scale:[1,1],rotate:c,rotateX:d,rotateY:f,value:`translate(${u}px, ${s}px) rotate(${c}deg) rotateX(${d}deg) rotateY(${f}deg)`}}return new bt(a=>(G({fullDataFormatter:t,layout:e}).pipe(w(n),O(async i=>i)).subscribe(i=>{const o=r({xAxis:i.fullDataFormatter.groupAxis,yAxis:i.fullDataFormatter.valueAxis,width:i.layout.width,height:i.layout.height});a.next(o)}),function(){n.next(void 0)}))},SC=({gridAxesTransform$:t})=>t.pipe(L(e=>{const n=[0,0],r=[1/e.scale[0],1/e.scale[1]],a=e.rotate*-1,i=e.rotateX*-1,o=e.rotateY*-1;return{translate:n,scale:r,rotate:a,rotateX:i,rotateY:o,value:`translate(${n[0]}px, ${n[1]}px) rotateX(${i}deg) rotateY(${o}deg) rotate(${a}deg)`}})),Ng="OverlappingValueAxes",DC=W(Ng,"grid"),eZ={name:Ng,defaultParams:Pg,layerIndex:Xe,validator:(t,{validateColumns:e})=>{const n=e(t,{firstAxis:{toBeTypes:["object"]},secondAxis:{toBeTypes:["object"]},gridIndexes:{toBe:"[number, number]",test:r=>Array.isArray(r)&&r.length===2}});if(t.firstAxis){const r=e(t.firstAxis,{labelOffset:{toBe:"[number, number]",test:a=>Array.isArray(a)&&a.length===2&&typeof a[0]=="number"&&typeof a[1]=="number"},labelColorType:{toBeOption:"ColorType"},axisLineVisible:{toBeTypes:["boolean"]},axisLineColorType:{toBeOption:"ColorType"},ticks:{toBeTypes:["number"]},tickFormat:{toBeTypes:["string","Function"]},tickLineVisible:{toBeTypes:["boolean"]},tickPadding:{toBeTypes:["number"]},tickFullLine:{toBeTypes:["boolean"]},tickFullLineDasharray:{toBeTypes:["string"]},tickColorType:{toBeOption:"ColorType"},tickTextRotate:{toBeTypes:["number"]},tickTextColorType:{toBeOption:"ColorType"}});if(r.status==="error")return r}if(t.secondAxis){const r=e(t.secondAxis,{labelOffset:{toBe:"[number, number]",test:a=>Array.isArray(a)&&a.length===2&&typeof a[0]=="number"&&typeof a[1]=="number"},labelColorType:{toBeOption:"ColorType"},axisLineVisible:{toBeTypes:["boolean"]},axisLineColorType:{toBeOption:"ColorType"},ticks:{toBeTypes:["number"]},tickFormat:{toBeTypes:["string","Function"]},tickLineVisible:{toBeTypes:["boolean"]},tickPadding:{toBeTypes:["number"]},tickFullLine:{toBeTypes:["boolean"]},tickFullLineDasharray:{toBeTypes:["string"]},tickColorType:{toBeOption:"ColorType"},tickTextRotate:{toBeTypes:["number"]},tickTextColorType:{toBeOption:"ColorType"}});if(r.status==="error")return r}return n}},nZ=Le(eZ)(({selection:t,name:e,subject:n,observer:r})=>{const a=new J,i=[],o=r.fullParams$.pipe(w(a),L(s=>s.gridIndexes[0])),l=r.fullParams$.pipe(w(a),L(s=>s.gridIndexes[1])),u=G({firstGridIndex:o,secondGridIndex:l,fullDataFormatter:r.fullDataFormatter$}).pipe(w(a),O(async s=>s),L(s=>{s.fullDataFormatter.gridList[s.secondGridIndex]||(s.fullDataFormatter.gridList[s.secondGridIndex]=Object.assign({},s.fullDataFormatter.gridList[s.firstGridIndex]));const c=s.fullDataFormatter.gridList[s.firstGridIndex].valueAxis.position;let d=c;return c==="left"?d="right":c==="bottom"?d="top":c==="top"?d="bottom":c==="right"&&(d="left"),{type:"grid",visibleFilter:s.fullDataFormatter.visibleFilter,...s.fullDataFormatter.gridList[s.secondGridIndex],valueAxis:{...s.fullDataFormatter.gridList[s.secondGridIndex].valueAxis,position:d},container:{...s.fullDataFormatter.container}}}));return Oe(r).pipe(w(a),L(s=>({...s,fullParams$:s.fullParams$.pipe(L(c=>(c.gridIndexes.length>2&&(c.gridIndexes.length=2),c)))})),O(s=>un(s)),L(s=>s.map((c,d)=>{if(d===0)return c;const f=$C({fullDataFormatter$:u,layout$:r.layout$}),h=SC({gridAxesTransform$:f}),p=vC({computedData$:c.computedData$,fullDataFormatter$:u,layout$:r.layout$});return{...c,dataFormatter$:u,gridAxesTransform$:f,gridAxesReverseTransform$:h,gridContainerPosition$:p}}))).pipe(w(a)).subscribe(s=>{i.forEach(c=>c()),t.selectAll(`g.${DC}`).data(s).join("g").attr("class",DC).each((c,d,f)=>{if(d>1)return;const h=Y(f[d]);i[d]=ki(Ng,{selection:h,computedData$:c.computedData$,filteredMinMaxValue$:c.filteredMinMaxValue$,fullParams$:r.fullParams$.pipe(L(p=>d===0?p.firstAxis:p.secondAxis)),fullDataFormatter$:c.dataFormatter$,fullChartParams$:r.fullChartParams$,gridAxesTransform$:c.gridAxesTransform$,gridAxesReverseTransform$:c.gridAxesReverseTransform$,gridAxesSize$:c.gridAxesSize$,gridContainerPosition$:c.gridContainerPosition$,isSeriesSeprate$:c.isSeriesSeprate$})})}),()=>{a.next(void 0),i.forEach(s=>s())}}),zg="OverlappingStackedValueAxes",_C=W(zg,"grid"),rZ={name:zg,defaultParams:lC,layerIndex:Xe,validator:(t,{validateColumns:e})=>{const n=e(t,{firstAxis:{toBeTypes:["object"]},secondAxis:{toBeTypes:["object"]},gridIndexes:{toBe:"[number, number]",test:r=>Array.isArray(r)&&r.length===2}});if(t.firstAxis){const r=e(t.firstAxis,{labelOffset:{toBe:"[number, number]",test:a=>Array.isArray(a)&&a.length===2&&typeof a[0]=="number"&&typeof a[1]=="number"},labelColorType:{toBeOption:"ColorType"},axisLineVisible:{toBeTypes:["boolean"]},axisLineColorType:{toBeOption:"ColorType"},ticks:{toBeTypes:["number"]},tickFormat:{toBeTypes:["string","Function"]},tickLineVisible:{toBeTypes:["boolean"]},tickPadding:{toBeTypes:["number"]},tickFullLine:{toBeTypes:["boolean"]},tickFullLineDasharray:{toBeTypes:["string"]},tickColorType:{toBeOption:"ColorType"},tickTextRotate:{toBeTypes:["number"]},tickTextColorType:{toBeOption:"ColorType"}});if(r.status==="error")return r}if(t.secondAxis){const r=e(t.secondAxis,{labelOffset:{toBe:"[number, number]",test:a=>Array.isArray(a)&&a.length===2&&typeof a[0]=="number"&&typeof a[1]=="number"},labelColorType:{toBeOption:"ColorType"},axisLineVisible:{toBeTypes:["boolean"]},axisLineColorType:{toBeOption:"ColorType"},ticks:{toBeTypes:["number"]},tickFormat:{toBeTypes:["string","Function"]},tickLineVisible:{toBeTypes:["boolean"]},tickPadding:{toBeTypes:["number"]},tickFullLine:{toBeTypes:["boolean"]},tickFullLineDasharray:{toBeTypes:["string"]},tickColorType:{toBeOption:"ColorType"},tickTextRotate:{toBeTypes:["number"]},tickTextColorType:{toBeOption:"ColorType"}});if(r.status==="error")return r}return n}},aZ=Le(rZ)(({selection:t,name:e,subject:n,observer:r})=>{const a=new J,i=[],o=r.fullParams$.pipe(w(a),L(s=>s.gridIndexes[0])),l=r.fullParams$.pipe(w(a),L(s=>s.gridIndexes[1])),u=G({firstGridIndex:o,secondGridIndex:l,fullDataFormatter:r.fullDataFormatter$}).pipe(w(a),O(async s=>s),L(s=>{s.fullDataFormatter.gridList[s.secondGridIndex]||(s.fullDataFormatter.gridList[s.secondGridIndex]=Object.assign({},s.fullDataFormatter.gridList[s.firstGridIndex]));const c=s.fullDataFormatter.gridList[s.firstGridIndex].valueAxis.position;let d=c;return c==="left"?d="right":c==="bottom"?d="top":c==="top"?d="bottom":c==="right"&&(d="left"),{type:"grid",visibleFilter:s.fullDataFormatter.visibleFilter,...s.fullDataFormatter.gridList[s.secondGridIndex],valueAxis:{...s.fullDataFormatter.gridList[s.secondGridIndex].valueAxis,position:d},container:{...s.fullDataFormatter.container}}}));return Oe(r).pipe(w(a),L(s=>({...s,fullParams$:s.fullParams$.pipe(L(c=>(c.gridIndexes.length>2&&(c.gridIndexes.length=2),c)))})),O(s=>un(s)),L(s=>s.map((c,d)=>{if(d===0)return c;const f=$C({fullDataFormatter$:u,layout$:r.layout$}),h=SC({gridAxesTransform$:f}),p=vC({computedData$:c.computedData$,fullDataFormatter$:u,layout$:r.layout$});return{...c,dataFormatter$:u,gridAxesTransform$:f,gridAxesReverseTransform$:h,gridContainerPosition$:p}}))).pipe(w(a)).subscribe(s=>{i.forEach(c=>c()),t.selectAll(`g.${_C}`).data(s).join("g").attr("class",_C).each((c,d,f)=>{if(d>1)return;const h=Y(f[d]);i[d]=ki(zg,{selection:h,computedData$:d===0?c.computedStackedData$:c.computedData$,filteredMinMaxValue$:c.filteredMinMaxValue$,fullParams$:r.fullParams$.pipe(L(p=>d===0?p.firstAxis:p.secondAxis)),fullDataFormatter$:c.dataFormatter$,fullChartParams$:r.fullChartParams$,gridAxesTransform$:c.gridAxesTransform$,gridAxesReverseTransform$:c.gridAxesReverseTransform$,gridAxesSize$:c.gridAxesSize$,gridContainerPosition$:c.gridContainerPosition$,isSeriesSeprate$:c.isSeriesSeprate$})})}),()=>{a.next(void 0),i.forEach(s=>s())}}),AC={placement:"bottom",padding:28,backgroundFill:"none",backgroundStroke:"none",gap:10,listRectWidth:14,listRectHeight:14,listRectRadius:0,textColorType:"primary"},Og={backgroundColorType:"background",strokeColorType:"primary",backgroundOpacity:.8,textColorType:"primary",offset:[20,5],padding:10,renderFn:(t,{styles:e,utils:n})=>{const r=t.categoryLabel!=="",a=!(t.datum==null||t.datum.label.slice(0,11)==="multiValue_"),i=e.textSizePx*.7,o=e.textSizePx/2-i/2,l=r?`<rect width="${i}" height="${i}" x="${o}" y="${o-1}" rx="${i/2}" fill="${t.datum.color}"></rect>
117
- <text x="${e.textSizePx*1.5}" font-size="${e.textSizePx}" dominant-baseline="hanging" fill="${e.textColor}">
118
- <tspan>${t.categoryLabel}</tspan>
119
- </text>`:"",u=a?`<text font-size="${e.textSizePx}" dominant-baseline="hanging" fill="${e.textColor}">
120
- <tspan>${t.datum.label}</tspan>
121
- </text>`:"",s=(()=>{const f=n.measureTextWidth(t.categoryLabel,e.textSizePx),h=a?n.measureTextWidth(t.datum.label,e.textSizePx):0,p=t.valueDetail.reduce((g,m)=>{const b=`${m.valueLabel}${n.toCurrency(m.value)}`,y=n.measureTextWidth(b,e.textSizePx);return y>g?y:g},0);return Math.max(f,h,p)})(),c=t.valueDetail.map((f,h)=>{const p=h*e.textSizePx*1.5+(u?e.textSizePx*2:0),g=s+e.textSizePx*3;return`<text x="0" y="${p}" font-weight="bold" font-size="${e.textSizePx}" dominant-baseline="hanging" fill="${e.textColor}">
122
- <tspan>${f.valueLabel}</tspan>
123
- <tspan text-anchor="end" x="${g}">${n.toCurrency(f.value)}</tspan>
124
- </text>`}).join(""),d=u||c?`<g ${r?`transform="translate(0, ${e.textSizePx*2})"`:""}>
125
- ${u}
126
- ${c}
127
- </g>`:"";return`${l}
128
- ${d}`}};Og.renderFn.toString=()=>`(eventData, { styles, utils }) => {
129
- const hasCategoryLabel = eventData.categoryLabel === '' ? false : true
130
- const hasDatumLabel = eventData.datum == null || eventData.datum.label.slice(0, 11) === 'multiValue_' ? false : true
131
- const bulletWidth = styles.textSizePx * 0.7
132
- const offset = (styles.textSizePx / 2) - (bulletWidth / 2)
133
- const categorySvg = hasCategoryLabel
134
- ? \`<rect width="\${bulletWidth}" height="\${bulletWidth}" x="\${offset}" y="\${offset - 1}" rx="\${bulletWidth / 2}" fill="\${eventData.datum.color}"></rect>
135
- <text x="\${styles.textSizePx * 1.5}" font-size="\${styles.textSizePx}" dominant-baseline="hanging" fill="\${styles.textColor}">
136
- <tspan>\${eventData.categoryLabel}</tspan>
137
- </text>\`
138
- : ''
139
-
140
- const datumLabelSvg = hasDatumLabel
141
- ? \`<text font-size="\${styles.textSizePx}" dominant-baseline="hanging" fill="\${styles.textColor}">
142
- <tspan>\${eventData.datum.label}</tspan>
143
- </text>\`
144
- : ''
145
-
146
- const maxTextWidth = (() => {
147
- const categoryLabelTextWidth = utils.measureTextWidth(eventData.categoryLabel, styles.textSizePx)
148
- const datumLabelTextWidth = hasDatumLabel ? utils.measureTextWidth(eventData.datum.label, styles.textSizePx) : 0
149
- const valueDetailTextWidth = eventData.valueDetail.reduce((acc, detail) => {
150
- const text = \`\${detail.valueLabel}\${utils.toCurrency(detail.value)}\`
151
- const _maxTextWidth = utils.measureTextWidth(text, styles.textSizePx)
152
- return _maxTextWidth > acc ? _maxTextWidth : acc
153
- }, 0)
154
- return Math.max(categoryLabelTextWidth, datumLabelTextWidth, valueDetailTextWidth)
155
- })()
156
-
157
- const valueDetailSvg = eventData.valueDetail.map((detail, i) => {
158
- const y = (i * styles.textSizePx * 1.5) + (datumLabelSvg ? styles.textSizePx * 2 : 0)
159
- const lineEndX = maxTextWidth + styles.textSizePx * 3
160
- return \`<text x="0" y="\${y}" font-weight="bold" font-size="\${styles.textSizePx}" dominant-baseline="hanging" fill="\${styles.textColor}">
161
- <tspan>\${detail.valueLabel}</tspan>
162
- <tspan text-anchor="end" x="\${lineEndX}">\${utils.toCurrency(detail.value)}</tspan>
163
- </text>\`
164
- }).join('')
165
-
166
- const datumDetailSvg = datumLabelSvg || valueDetailSvg
167
- ? \`<g \${hasCategoryLabel ? \`transform="translate(0, \${styles.textSizePx * 2})"\` : ''}>
168
- \${datumLabelSvg}
169
- \${valueDetailSvg}
170
- </g>\`
171
- : ''
172
-
173
- return \`\${categorySvg}
174
- \${datumDetailSvg}\`
175
- }`;const CC={bubble:{sizeAdjust:1,arcScaleType:"area",valueLinearOpacity:[.8,.8]},itemLabel:{padding:20,colorType:"primary"},axisLabel:{offset:[0,0],colorType:"primary"},rankingAmount:10},Gg={showLine:!0,showLabel:!0,lineDashArray:"3, 3",lineColorType:"primary",labelColorType:"primary",labelTextColorType:"background",labelTextFormat:t=>t,labelPadding:20};Gg.labelTextFormat.toString=()=>"v => v";const jg={labelOffset:[0,0],labelColorType:"primary",axisLineVisible:!1,axisLineColorType:"secondary",ticks:4,tickFormat:t=>t,tickLineVisible:!0,tickPadding:20,tickFullLine:!0,tickFullLineDasharray:"none",tickColorType:"secondary",tickTextRotate:0,tickTextColorType:"primary"};jg.tickFormat.toString=()=>"v => v";const iZ={},Vg={bar:{barWidth:0,barPadding:8,barRadius:!1},barLabel:{position:"inside",padding:20,colorType:"labelContrast"},valueLabel:{padding:20,colorType:"primary",format:t=>t},axisLabel:{offset:[0,0],colorType:"primary"},rankingAmount:10,autorun:!1,loop:!1};Vg.valueLabel.format.toString=()=>"v => v";const Yg={renderFn:(t,e,n)=>t,textAttrs:[{transform:"translate(0, 0)"}],textStyles:[{"font-weight":"bold","text-anchor":"end","pointer-events":"none","dominant-baseline":"auto","font-size":64,fill:"#bebebe"},{"text-anchor":"end","pointer-events":"none","dominant-baseline":"auto","font-size":24,fill:"#bebebe"}],paddingRight:0,paddingBottom:0};Yg.renderFn.toString=()=>`(valueLabel, valueIndex, data) => {
176
- return valueLabel
177
- }`;const Hg={labelOffset:[0,0],labelColorType:"primary",axisLineVisible:!1,axisLineColorType:"secondary",ticks:null,tickFormat:t=>{if(t===null||Number.isNaN(t)==!0)return t||0;const e=t.toString().split(".");return e[0]=e[0].replace(/\B(?=(\d{3})+(?!\d))/g,","),e.join(".")},tickLineVisible:!0,tickPadding:20,tickFullLine:!0,tickFullLineDasharray:"none",tickColorType:"secondary",tickTextColorType:"primary"};Hg.tickFormat.toString=()=>`num => {
178
- if (num === null || Number.isNaN(num) == true) {
179
- return num || 0
180
- }
181
- const parts = num.toString().split('.')
182
- parts[0] = parts[0].replace(/B(?=(d{3})+(?!d))/g, ',')
183
- return parts.join('.')
184
- }`;const PC={radius:5,fillColorType:"label",strokeColorType:"label",strokeWidth:0},FC={fillColorType:"label",strokeColorType:"label",strokeWidth:0,valueLinearOpacity:[.8,.8],arcScaleType:"area",sizeAdjust:.5},Wg={labelOffset:[0,0],labelColorType:"primary",axisLineVisible:!1,axisLineColorType:"secondary",ticks:null,tickFormat:t=>{if(t===null||Number.isNaN(t)==!0)return t||0;const e=t.toString().split(".");return e[0]=e[0].replace(/\B(?=(\d{3})+(?!\d))/g,","),e.join(".")},tickLineVisible:!0,tickPadding:20,tickFullLine:!0,tickFullLineDasharray:"none",tickColorType:"secondary",tickTextColorType:"primary"};Wg.tickFormat.toString=()=>`num => {
185
- if (num === null || Number.isNaN(num) == true) {
186
- return num || 0
187
- }
188
- const parts = num.toString().split('.')
189
- parts[0] = parts[0].replace(/B(?=(d{3})+(?!d))/g, ',')
190
- return parts.join('.')
191
- }`;const bf={xAxis:{showLine:!0,showLabel:!0,lineDashArray:"3, 3",lineColorType:"primary",labelColorType:"primary",labelTextColorType:"background",labelTextFormat:t=>{if(t===null||Number.isNaN(t)==!0)return t||0;const e=Math.abs(t);if(e>0&&e<1){const r=t.toString().match(/0\.(0*)([1-9])/);if(r){const a=r[1].length+1;return t.toFixed(a)}return t.toString()}const n=t.toString().split(".");return n[0]=n[0].replace(/\B(?=(\d{3})+(?!\d))/g,","),n[0]},labelPadding:20},yAxis:{showLine:!0,showLabel:!0,lineDashArray:"3, 3",lineColorType:"primary",labelColorType:"primary",labelTextColorType:"background",labelTextFormat:t=>{if(t===null||Number.isNaN(t)==!0)return t||0;const e=Math.abs(t);if(e>0&&e<1){const r=t.toString().match(/0\.(0*)([1-9])/);if(r){const a=r[1].length+1;return t.toFixed(a)}return t.toString()}const n=t.toString().split(".");return n[0]=n[0].replace(/\B(?=(\d{3})+(?!\d))/g,","),n[0]},labelPadding:20}};bf.xAxis.labelTextFormat.toString=()=>`num => {
8
+ ----> find in '${n}'`}function kp(e){return new me(t=>{const n=new ResizeObserver(r=>{const i=r[0];i&&i.contentRect&&t.next(i.contentRect)});return n.observe(e),function(){n.unobserve(e)}})}function Ep(e){return`orbcharts-${e}`}function Zl(e,t){return`${Ep(e)}-${t}`}function L$(e,t){const n={string:o=>typeof o=="string",number:o=>typeof o=="number",boolean:o=>typeof o=="boolean",object:o=>Ut(o),"object[]":o=>Array.isArray(o)&&o.every(a=>Ut(a)),"string[]":o=>Array.isArray(o)&&o.every(a=>typeof a=="string"),"number[]":o=>Array.isArray(o)&&o.every(a=>typeof a=="number"),Function:o=>Pp(o),null:o=>o===null,undefined:o=>o===void 0},r={ColorType:o=>o==="none"||o==="data"||o==="primary"||o==="secondary"||o==="dataContrast"||o==="background"};return Object.keys(e).find(o=>{if(t[o]){const a=t[o],s=e[o];if(a.toBeTypes){if(a.toBeTypes.some(u=>n[u](s))===!1)return!0}else if(a.toBe){const{toBe:c,test:l}=a;if(l(s)===!1)return!0}else if(a.toBeOption){const c=a.toBeOption;if(r[c](s)===!1)return!0}}return!1})}function H(e,t){const n=L$(e,t);if(n){const r=t[n],i=r.toBeTypes?r.toBeTypes.join(" | "):r.toBe?r.toBe:r.toBeOption?r.toBeOption:"";return{status:"error",columnName:n,expectToBe:i}}else return{status:"success",columnName:"",expectToBe:""}}const Rp={width:"auto",height:"auto",resizeDebounce:50},Bp={dataset:{from:"dataset",sort:"original"},series:{from:"series",sort:"original"},category:{from:"category",sort:"original"},value:{from:"value",sort:"original",aggregate:"none"},multivariate:[{from:"x",name:"x"},{from:"y",name:"y"},{from:"z",name:"z"}],color:{from:"series"}},Ip={colorScheme:"light",colors:{light:{data:["#4E79A7","#F28E2B","#E15759","#76B7B2","#59A14F","#EDC948","#B07AA1","#FF9DA7","#9C755F","#BAB0AC"],primary:"#000000",secondary:"#e0e0e0",dataContrast:["#ffffff","#000000"],background:"#FFFFFF"},dark:{data:["#7EA6E0","#FFB86B","#FF7A7A","#6ED0CC","#7ED97A","#FFE06E","#D4A5D8","#FFB3BA","#C89F7A","#D3D3D3"],primary:"#FFFFFF",secondary:"#e0e0e0",dataContrast:["#ffffff","#000000"],background:"#000000"}},fontSize:"0.875rem"},k$=(e,t,n)=>{const r=new Map,i=Array.isArray(e[0]);i?e.forEach((s,c)=>{s.forEach(l=>{const u=l[t.dataset.from]||`dataset-${c}`;r.has(u)||r.set(u,[]),r.get(u).push(l)})}):e.forEach(s=>{const c=s[t.dataset.from]||"default";r.has(c)||r.set(c,[]),r.get(c).push(s)});let o=Array.from(r.keys());if(Array.isArray(t.dataset.sort))o=t.dataset.sort.filter(s=>r.has(s)).concat(o.filter(s=>!t.dataset.sort.includes(s)));else if(t.dataset.sort==="original"){const s=[];i?e.forEach((c,l)=>{c.forEach(u=>{const h=u[t.dataset.from]||`dataset-${l}`;s.includes(h)||s.push(h)})}):e.forEach(c=>{const l=c[t.dataset.from]||"default";s.includes(l)||s.push(l)}),o=s}else t.dataset.sort==="alphabetical"&&o.sort((s,c)=>s.localeCompare(c,void 0,{numeric:!0}));const a=[];return o.forEach((s,c)=>{const l=r.get(s),u=new Map;l.forEach(m=>{const d=m[t.series.from]||"default";u.has(d)||u.set(d,[]),u.get(d).push(m)});let h=Array.from(u.keys());if(Array.isArray(t.series.sort))h=t.series.sort.filter(m=>u.has(m)).concat(h.filter(m=>!t.series.sort.includes(m)));else if(t.series.sort==="original"){const m=[];l.forEach(d=>{const y=d[t.series.from]||"default";m.includes(y)||m.push(y)}),h=m}else t.series.sort==="alphabetical"&&h.sort((m,d)=>m.localeCompare(d,void 0,{numeric:!0}));const f=[];if(t.category.sort==="original")l.forEach(m=>{const d=m[t.category.from]||"default";f.includes(d)||f.push(d)});else if(t.category.sort==="alphabetical"){const m=new Set;l.forEach(d=>{m.add(d[t.category.from]||"default")}),f.push(...Array.from(m).sort((d,y)=>d.localeCompare(y,void 0,{numeric:!0})))}else if(Array.isArray(t.category.sort)){const m=[];l.forEach(y=>{const b=y[t.category.from]||"default";m.includes(b)||m.push(b)});const d=t.category.sort;f.push(...d.filter(y=>m.includes(y)),...m.filter(y=>!d.includes(y)))}const p=new Map;f.forEach((m,d)=>{p.set(m,d)});const g=[];h.forEach((m,d)=>{const y=u.get(m),b=new Map;y.forEach(S=>{const $=S[t.category.from]||"default";b.has($)||b.set($,[]),b.get($).push(S)});const x=f.filter(S=>b.has(S)),v=[];t.category.sort==="original"&&t.value.aggregate==="none"?(y.forEach((S,$)=>{const L=S[t.category.from]||"default",E=p.get(L),M=S[t.value.from];v.push({id:S.id||`${s}-${m}-${L}-${$}`,index:E,modelType:"series",name:S.name||"",data:S.data,value:typeof M=="number"?M:null,color:Ue(t.color.from,{index:E,seriesIndex:d,categoryIndex:E,datasetIndex:c},n),series:m,seriesIndex:d,category:L,categoryIndex:E})}),t.value.sort==="asc"?v.sort((S,$)=>S.value===null&&$.value===null?0:S.value===null?1:$.value===null?-1:S.value-$.value):t.value.sort==="desc"&&v.sort((S,$)=>S.value===null&&$.value===null?0:S.value===null?1:$.value===null?-1:$.value-S.value)):x.forEach(S=>{const $=p.get(S),L=b.get(S);if(t.value.aggregate==="none"){let E=L.map((M,C)=>{const B=M[t.value.from];return{id:M.id||`${s}-${m}-${S}-${C}`,index:$,modelType:"series",name:M.name||"",data:M.data,value:typeof B=="number"?B:null,color:Ue(t.color.from,{index:$,seriesIndex:d,categoryIndex:$,datasetIndex:c},n),series:m,seriesIndex:d,category:S,categoryIndex:$}});t.value.sort==="asc"?E.sort((M,C)=>M.value===null&&C.value===null?0:M.value===null?1:C.value===null?-1:M.value-C.value):t.value.sort==="desc"&&E.sort((M,C)=>M.value===null&&C.value===null?0:M.value===null?1:C.value===null?-1:C.value-M.value),v.push(...E)}else{const E=L.map(D=>{if(t.value.aggregate==="count")return 1;const P=D[t.value.from];return typeof P=="number"?P:null}),M=Fr(E,t.value.aggregate),C=L[0],B={id:C.id||`${s}-${m}-${S}-aggregated`,index:$,modelType:"series",name:C.name||S,data:C.data,value:M,color:Ue(t.color.from,{index:$,seriesIndex:d,categoryIndex:$,datasetIndex:c},n),series:m,seriesIndex:d,category:S,categoryIndex:$};v.push(B)}}),g.push(v)}),a.push(g)}),a},E$=(e,t,n)=>{const r=new Map,i=Array.isArray(e[0]);i?e.forEach((s,c)=>{s.forEach(l=>{const u=l[t.dataset.from]||`dataset-${c}`;r.has(u)||r.set(u,[]),r.get(u).push(l)})}):e.forEach(s=>{const c=s[t.dataset.from]||"default";r.has(c)||r.set(c,[]),r.get(c).push(s)});let o=Array.from(r.keys());if(Array.isArray(t.dataset.sort))o=t.dataset.sort.filter(s=>r.has(s)).concat(o.filter(s=>!t.dataset.sort.includes(s)));else if(t.dataset.sort==="original"){const s=[];i?e.forEach((c,l)=>{c.forEach(u=>{const h=u[t.dataset.from]||`dataset-${l}`;s.includes(h)||s.push(h)})}):e.forEach(c=>{const l=c[t.dataset.from]||"default";s.includes(l)||s.push(l)}),o=s}else t.dataset.sort==="alphabetical"&&o.sort((s,c)=>s.localeCompare(c,void 0,{numeric:!0}));const a=[];return o.forEach((s,c)=>{const l=r.get(s),u=new Map;l.forEach(d=>{const y=d[t.series.from]||"default";u.has(y)||u.set(y,[]),u.get(y).push(d)});let h=Array.from(u.keys());if(Array.isArray(t.series.sort))h=t.series.sort.filter(d=>u.has(d)).concat(h.filter(d=>!t.series.sort.includes(d)));else if(t.series.sort==="original"){const d=[];l.forEach(y=>{const b=y[t.series.from]||"default";d.includes(b)||d.push(b)}),h=d}else t.series.sort==="alphabetical"&&h.sort((d,y)=>d.localeCompare(y,void 0,{numeric:!0}));const f=[];l.forEach(d=>{const y=d[t.category.from]||"default";f.includes(y)||f.push(y)});const p=new Set(f);let g=Array.from(p);Array.isArray(t.category.sort)?g=t.category.sort.filter(d=>p.has(d)).concat(g.filter(d=>!t.category.sort.includes(d))):t.category.sort==="original"?g=f:t.category.sort==="alphabetical"&&g.sort((d,y)=>d.localeCompare(y,void 0,{numeric:!0}));const m=[];h.forEach((d,y)=>{const b=u.get(d),x=new Map;b.forEach(S=>{const $=S[t.category.from]||"default";x.has($)||x.set($,[]),x.get($).push(S)});const v=[];g.forEach((S,$)=>{const L=x.get(S);if(!L)v.push({id:`${s}-${d}-${S}-null`,index:$,modelType:"grid",name:S,data:void 0,value:null,color:Ue(t.color.from,{index:$,seriesIndex:y,categoryIndex:$,datasetIndex:c},n),series:d,seriesIndex:y,category:S,categoryIndex:$});else if(t.value.aggregate==="none"){let E=L.map((M,C)=>{const B=M[t.value.from];return{id:M.id||`${s}-${d}-${S}-${C}`,index:$,modelType:"grid",name:M.name||"",data:M.data,value:typeof B=="number"?B:null,color:Ue(t.color.from,{index:$,seriesIndex:y,categoryIndex:$,datasetIndex:c},n),series:d,seriesIndex:y,category:S,categoryIndex:$}});t.value.sort==="asc"?E.sort((M,C)=>M.value===null&&C.value===null?0:M.value===null?1:C.value===null?-1:M.value-C.value):t.value.sort==="desc"&&E.sort((M,C)=>M.value===null&&C.value===null?0:M.value===null?1:C.value===null?-1:C.value-M.value),v.push(...E)}else{const E=L.map(D=>{if(t.value.aggregate==="count")return 1;const P=D[t.value.from];return typeof P=="number"?P:null}),M=Fr(E,t.value.aggregate),C=L[0],B={id:C.id||`${s}-${d}-${S}-aggregated`,index:$,modelType:"grid",name:C.name||S,data:C.data,value:M,color:Ue(t.color.from,{index:$,seriesIndex:y,categoryIndex:$,datasetIndex:c},n),series:d,seriesIndex:y,category:S,categoryIndex:$};v.push(B)}}),m.push(v)}),a.push(m)}),a},R$=(e,t,n)=>{const r=new Map,i=Array.isArray(e[0]);i?e.forEach((s,c)=>{s.forEach(l=>{const u=l[t.dataset.from]||`dataset-${c}`;r.has(u)||r.set(u,[]),r.get(u).push(l)})}):e.forEach(s=>{const c=s[t.dataset.from]||"default";r.has(c)||r.set(c,[]),r.get(c).push(s)});let o=Array.from(r.keys());if(Array.isArray(t.dataset.sort))o=t.dataset.sort.filter(s=>r.has(s)).concat(o.filter(s=>!t.dataset.sort.includes(s)));else if(t.dataset.sort==="original"){const s=[];i?e.forEach((c,l)=>{c.forEach(u=>{const h=u[t.dataset.from]||`dataset-${l}`;s.includes(h)||s.push(h)})}):e.forEach(c=>{const l=c[t.dataset.from]||"default";s.includes(l)||s.push(l)}),o=s}else t.dataset.sort==="alphabetical"&&o.sort((s,c)=>s.localeCompare(c,void 0,{numeric:!0}));const a=[];return o.forEach((s,c)=>{const l=r.get(s),u=new Map;l.forEach(p=>{const g=p[t.series.from]||"default";u.has(g)||u.set(g,[]),u.get(g).push(p)});let h=Array.from(u.keys());if(Array.isArray(t.series.sort))h=t.series.sort.filter(p=>u.has(p)).concat(h.filter(p=>!t.series.sort.includes(p)));else if(t.series.sort==="original"){const p=[];l.forEach(g=>{const m=g[t.series.from]||"default";p.includes(m)||p.push(m)}),h=p}else t.series.sort==="alphabetical"&&h.sort((p,g)=>p.localeCompare(g,void 0,{numeric:!0}));const f=[];h.forEach((p,g)=>{const m=u.get(p),d=new Map;m.forEach(x=>{const v=x[t.category.from]||"default";d.has(v)||d.set(v,[]),d.get(v).push(x)});let y=Array.from(d.keys());if(Array.isArray(t.category.sort))y=t.category.sort.filter(x=>d.has(x)).concat(y.filter(x=>!t.category.sort.includes(x)));else if(t.category.sort==="original"){const x=[];m.forEach(v=>{const S=v[t.category.from]||"default";x.includes(S)||x.push(S)}),y=x}else t.category.sort==="alphabetical"&&y.sort((x,v)=>x.localeCompare(v,void 0,{numeric:!0}));const b=[];y.forEach((x,v)=>{d.get(x).forEach(($,L)=>{const E=t.multivariate.map((C,B)=>({index:B,name:C.name,value:(()=>{const D=$[C.from];return typeof D=="number"?D:null})()})),M={id:$.id||`${s}-${p}-${x}-${L}`,index:L,modelType:"multivariate",name:$.name||"",data:$.data,value:null,color:Ue(t.color.from,{index:L,seriesIndex:g,categoryIndex:v,datasetIndex:c},n),multivariate:E,series:p,seriesIndex:g,category:x,categoryIndex:v};b.push(M)})}),f.push(b)}),a.push(f)}),a},B$=(e,t,n)=>{const r=Array.isArray(e[0]),i=[],o=[];r?e.forEach(l=>{l.forEach(u=>{u.source&&u.target?o.push(u):i.push(u)})}):e.forEach(l=>{l.source&&l.target?o.push(l):i.push(l)});const a=new Map;r?e.forEach((l,u)=>{l.forEach(h=>{if(!h.source||!h.target){const f=h[t.dataset.from]||`dataset-${u}`;a.has(f)||a.set(f,[]),a.get(f).push(h)}})}):i.forEach(l=>{const u=l[t.dataset.from]||"default";a.has(u)||a.set(u,[]),a.get(u).push(l)});let s=Array.from(a.keys());if(Array.isArray(t.dataset.sort))s=t.dataset.sort.filter(l=>a.has(l)).concat(s.filter(l=>!t.dataset.sort.includes(l)));else if(t.dataset.sort==="original"){const l=[];r?e.forEach((u,h)=>{u.forEach(f=>{if(!f.source||!f.target){const p=f[t.dataset.from]||`dataset-${h}`;l.includes(p)||l.push(p)}})}):i.forEach(u=>{const h=u[t.dataset.from]||"default";l.includes(h)||l.push(h)}),s=l}else t.dataset.sort==="alphabetical"&&s.sort((l,u)=>l.localeCompare(u,void 0,{numeric:!0}));const c=[];return s.forEach((l,u)=>{const h=a.get(l),f=[],p=new Map;h.forEach(M=>{const C=M[t.series.from]||"default";p.has(C)||p.set(C,[]),p.get(C).push(M)});let g=Array.from(p.keys());if(Array.isArray(t.series.sort))g=t.series.sort.filter(M=>p.has(M)).concat(g.filter(M=>!t.series.sort.includes(M)));else if(t.series.sort==="original"){const M=[];h.forEach(C=>{const B=C[t.series.from]||"default";M.includes(B)||M.push(B)}),g=M}else t.series.sort==="alphabetical"&&g.sort((M,C)=>M.localeCompare(C,void 0,{numeric:!0}));g.forEach((M,C)=>{const B=p.get(M),D=new Map;B.forEach(w=>{const k=w[t.category.from]||"default";D.has(k)||D.set(k,[]),D.get(k).push(w)});let P=Array.from(D.keys());if(Array.isArray(t.category.sort))P=t.category.sort.filter(w=>D.has(w)).concat(P.filter(w=>!t.category.sort.includes(w)));else if(t.category.sort==="original"){const w=[];B.forEach(k=>{const T=k[t.category.from]||"default";w.includes(T)||w.push(T)}),P=w}else t.category.sort==="alphabetical"&&P.sort((w,k)=>w.localeCompare(k,void 0,{numeric:!0}));P.forEach((w,k)=>{const T=D.get(w);if(t.value.aggregate==="none"){let I=T.map((_,O)=>{const F=_[t.value.from];return{id:_.id||`${l}-${M}-${w}-${O}`,index:f.length+O,modelType:"graph",name:_.name||"",data:_.data,value:typeof F=="number"?F:null,color:Ue(t.color.from,{index:k,seriesIndex:C,categoryIndex:k,datasetIndex:u},n),series:M,seriesIndex:C,category:w,categoryIndex:k}});t.value.sort==="asc"?I.sort((_,O)=>_.value===null&&O.value===null?0:_.value===null?1:O.value===null?-1:_.value-O.value):t.value.sort==="desc"&&I.sort((_,O)=>_.value===null&&O.value===null?0:_.value===null?1:O.value===null?-1:O.value-_.value),f.push(...I)}else{const I=T.map(j=>{if(t.value.aggregate==="count")return 1;const Z=j[t.value.from];return typeof Z=="number"?Z:null}),_=Fr(I,t.value.aggregate),O=T[0],F={id:O.id||`${l}-${M}-${w}-aggregated`,index:f.length,modelType:"graph",name:O.name||w,data:O.data,value:_,color:Ue(t.color.from,{index:k,seriesIndex:C,categoryIndex:k,datasetIndex:u},n),series:M,seriesIndex:C,category:w,categoryIndex:k};f.push(F)}})});const m=[],d=new Map;f.forEach(M=>{const C=i.find(B=>B.id===M.id||B.name===M.name);C!=null&&C.id&&d.set(C.id,M.index),C!=null&&C.name&&d.set(C.name,M.index)});const y=new Map,b=new Map;f.forEach(M=>{y.has(M.series)||y.set(M.series,M.seriesIndex),b.has(M.category)||b.set(M.category,M.categoryIndex)});let x=y.size,v=b.size;const S=M=>(y.has(M)||y.set(M,x++),y.get(M)),$=M=>(b.has(M)||b.set(M,v++),b.get(M)),L=o.filter(M=>(M[t.dataset.from]||"default")===l),E=new Map;L.forEach(M=>{const C=M.source,B=M.target,D=M[t.series.from]||"default",P=M[t.category.from]||"default",w=`${C}-${B}-${D}-${P}`;E.has(w)||E.set(w,[]),E.get(w).push(M)}),Array.from(E.entries()).forEach(([M,C],B)=>{const D=C[0],P=D.source,w=D.target,k=d.get(P)??-1,T=d.get(w)??-1;if(k>=0&&T>=0)if(t.value.aggregate==="none")C.forEach((I,_)=>{const O=I[t.value.from],F=I[t.series.from]||"default",j=I[t.category.from]||"default",Z=S(F),re=$(j),te={id:I.id||`edge-${B}-${_}`,index:m.length,modelType:"graph",name:I.name||"",data:I.data,value:typeof O=="number"?O:null,color:Ue(t.color.from,{index:m.length,seriesIndex:Z,categoryIndex:re,datasetIndex:u},n),series:F,seriesIndex:Z,category:j,categoryIndex:re,source:P,sourceIndex:k,target:w,targetIndex:T};m.push(te)});else{const I=C.map(te=>{if(t.value.aggregate==="count")return 1;const G=te[t.value.from];return typeof G=="number"?G:null}),_=Fr(I,t.value.aggregate),O=D[t.series.from]||"default",F=D[t.category.from]||"default",j=S(O),Z=$(F),re={id:D.id||`edge-${B}-aggregated`,index:m.length,modelType:"graph",name:D.name||"",data:D.data,value:_,color:Ue(t.color.from,{index:m.length,seriesIndex:j,categoryIndex:Z,datasetIndex:u},n),series:O,seriesIndex:j,category:F,categoryIndex:Z,source:P,sourceIndex:k,target:w,targetIndex:T};m.push(re)}}),c.push({nodes:f,edges:m})}),c},I$=(e,t,n)=>{const r=new Map,i=Array.isArray(e[0]);i?e.forEach((s,c)=>{s.forEach(l=>{const u=l[t.dataset.from]||`dataset-${c}`;r.has(u)||r.set(u,[]),r.get(u).push(l)})}):e.forEach(s=>{const c=s[t.dataset.from]||"default";r.has(c)||r.set(c,[]),r.get(c).push(s)});let o=Array.from(r.keys());if(Array.isArray(t.dataset.sort))o=t.dataset.sort.filter(s=>r.has(s)).concat(o.filter(s=>!t.dataset.sort.includes(s)));else if(t.dataset.sort==="original"){const s=[];i?e.forEach((c,l)=>{c.forEach(u=>{const h=u[t.dataset.from]||`dataset-${l}`;s.includes(h)||s.push(h)})}):e.forEach(c=>{const l=c[t.dataset.from]||"default";s.includes(l)||s.push(l)}),o=s}else t.dataset.sort==="alphabetical"&&o.sort((s,c)=>s.localeCompare(c,void 0,{numeric:!0}));const a=[];return o.forEach((s,c)=>{const l=r.get(s),u=new Map;l.forEach(M=>{const C=M[t.series.from]||"default";u.has(C)||u.set(C,[]),u.get(C).push(M)});let h=Array.from(u.keys());if(Array.isArray(t.series.sort))h=t.series.sort.filter(M=>u.has(M)).concat(h.filter(M=>!t.series.sort.includes(M)));else if(t.series.sort==="original"){const M=[];l.forEach(C=>{const B=C[t.series.from]||"default";M.includes(B)||M.push(B)}),h=M}else t.series.sort==="alphabetical"&&h.sort((M,C)=>M.localeCompare(C,void 0,{numeric:!0}));const f=new Map;l.forEach(M=>{const C=M[t.category.from]||"default";f.has(C)||f.set(C,[]),f.get(C).push(M)});let p=Array.from(f.keys());if(Array.isArray(t.category.sort))p=t.category.sort.filter(M=>f.has(M)).concat(p.filter(M=>!t.category.sort.includes(M)));else if(t.category.sort==="original"){const M=[];l.forEach(C=>{const B=C[t.category.from]||"default";M.includes(B)||M.push(B)}),p=M}else t.category.sort==="alphabetical"&&p.sort((M,C)=>M.localeCompare(C,void 0,{numeric:!0}));const g=new Map;l.forEach(M=>{const C=M.id||"unknown";g.has(C)||g.set(C,[]),g.get(C).push(M)});let m=0;const d=h[0]||"default",y=h.indexOf(d),b=new Map;Array.from(g.entries()).forEach(([M,C])=>{const B=C[0],D=B[t.series.from]||"default",P=h.indexOf(D),w=B[t.category.from]||"default",k=p.indexOf(w);if(t.value.aggregate==="none"){const T=B[t.value.from],I={id:M,index:m++,modelType:"tree",name:B.name||M,data:B.data,value:typeof T=="number"?T:null,color:Ue(t.color.from,{index:m-1,seriesIndex:P,categoryIndex:k,datasetIndex:c},n),parent:B.parent||null,parentIndex:null,depth:0,seq:0,children:[],series:D,seriesIndex:P,category:w,categoryIndex:k};b.set(M,I)}else{const T=C.map(O=>{if(t.value.aggregate==="count")return 1;const F=O[t.value.from];return typeof F=="number"?F:null}),I=Fr(T,t.value.aggregate),_={id:M,index:m++,modelType:"tree",name:B.name||M,data:B.data,value:I,color:Ue(t.color.from,{index:m-1,seriesIndex:P,categoryIndex:k,datasetIndex:c},n),parent:B.parent||null,parentIndex:null,depth:0,seq:0,children:[],series:D,seriesIndex:P,category:w,categoryIndex:k};b.set(M,_)}});const x=Array.from(b.values()),v=new Map;x.forEach(M=>{v.set(M.id,M.index)}),x.forEach(M=>{M.parent&&v.has(M.parent)&&(M.parentIndex=v.get(M.parent))});const S=[],$=new Map;x.forEach(M=>{M.parent===null?S.push(M):($.has(M.parent)||$.set(M.parent,[]),$.get(M.parent).push(M))});function L(M,C){M.depth=C;const B=$.get(M.id)||[];return t.value.sort==="asc"?B.sort((D,P)=>D.value===null&&P.value===null?0:D.value===null?1:P.value===null?-1:D.value-P.value):t.value.sort==="desc"&&B.sort((D,P)=>D.value===null&&P.value===null?0:D.value===null?1:P.value===null?-1:P.value-D.value),B.forEach((D,P)=>{D.seq=P}),M.children=B.map(D=>L(D,C+1)),M}const E=S.map(M=>L(M,0));if(E.length===0)a.push({id:`empty-${s}`,index:m++,modelType:"tree",name:"Empty Tree",data:{},value:null,color:Ue(t.color.from,{index:m-1,seriesIndex:y<0?0:y,categoryIndex:0,datasetIndex:c},n),parent:null,parentIndex:null,depth:0,seq:0,children:[],series:d,seriesIndex:y<0?0:y,category:"default",categoryIndex:0});else if(E.length===1)a.push(E[0]);else{const M={id:`virtual-root-${s}`,index:m++,modelType:"tree",name:`Virtual Root (${s})`,data:{},value:null,color:Ue(t.color.from,{index:m-1,seriesIndex:y<0?0:y,categoryIndex:0,datasetIndex:c},n),parent:null,parentIndex:null,depth:0,seq:0,children:E.map((C,B)=>{const D=(P,w)=>(P.depth=w,w===1&&(P.seq=B),P.children=P.children.map(k=>D(k,w+1)),P);return D(C,1)}),series:d,seriesIndex:y<0?0:y,category:"default",categoryIndex:0};a.push(M)}}),a};function N$(e,t,n){const r=t.map(s=>n[s]).filter(s=>s&&s.parentNode===e);if(r.length===0)return;let i=!0,o=null;for(const s of r){if(o&&o.nextElementSibling!==s){i=!1;break}o=s}if(i)return;const a=document.createDocumentFragment();t.forEach(s=>{const c=n[s];c&&c.parentNode===e&&a.appendChild(c)}),e.appendChild(a)}function Np(e,t,n,r,i){Object.keys(n).filter(l=>!t.includes(l)).forEach(l=>{const u=n[l];u&&u.parentNode===e&&e.removeChild(u),delete n[l]});const s=t.filter(l=>!n[l]);s.forEach(l=>{const u=r(l);n[l]=u,e.appendChild(u)}),t.filter(l=>n[l]&&!s.includes(l)).forEach(l=>{n[l]}),t.length>0&&N$(e,t,n)}function O$(e){return H({element:e},{element:{toBe:"Dom",test:n=>Ul(n)}})}function z$(e){return H(e,{width:{toBe:'"auto" | number',test:n=>n==="auto"||typeof n=="number"},height:{toBe:'"auto" | number',test:n=>n==="auto"||typeof n=="number"},resizeDebounce:{toBe:"number",test:n=>typeof n=="number"}})}function Op(e){const t=H(e,{colorScheme:{toBe:'"dark" | "light" | "auto"',test:n=>n==="dark"||n==="light"||n==="auto"},colors:{toBeTypes:["object"],test:n=>n.light&&n.dark},fontSize:{toBeTypes:["string"]}});if(e.colors){const n=H(e.colors,{light:{toBeTypes:["object"],test:r=>r.data&&r.primary&&r.secondary&&r.dataContrast&&r.background},dark:{toBeTypes:["object"],test:r=>r.data&&r.primary&&r.secondary&&r.dataContrast&&r.background}});if(n.status==="error")return n;if(e.colors.light){const r=H(e.colors.light,{data:{toBeTypes:["string[]"]},primary:{toBeTypes:["string"]},secondary:{toBeTypes:["string"]},dataContrast:{toBeTypes:["string[]"]},background:{toBeTypes:["string"]}});if(r.status==="error")return r}if(e.colors.dark){const r=H(e.colors.dark,{data:{toBeTypes:["string[]"]},primary:{toBeTypes:["string"]},secondary:{toBeTypes:["string"]},dataContrast:{toBeTypes:["string[]"]},background:{toBeTypes:["string"]}});if(r.status==="error")return r}}return t}function zp(e){const t=H(e,{dataset:{toBeTypes:["object"]},series:{toBeTypes:["object"]},category:{toBeTypes:["object"]},value:{toBeTypes:["object"]},multivariate:{toBeTypes:["object"]},color:{toBeTypes:["object"]}});if(e.dataset){const n=H(e.dataset,{from:{toBeTypes:["string"]},sort:{toBe:'"original" | "alphabetical" | string[]',test:r=>r==="original"||r==="alphabetical"||Array.isArray(r)&&r.every(i=>typeof i=="string")}});if(n.status==="error")return n}if(e.series){const n=H(e.series,{from:{toBeTypes:["string"]},sort:{toBe:'"original" | "alphabetical" | string[]',test:r=>r==="original"||r==="alphabetical"||Array.isArray(r)&&r.every(i=>typeof i=="string")}});if(n.status==="error")return n}if(e.category){const n=H(e.category,{from:{toBeTypes:["string"]},sort:{toBe:'"original" | "alphabetical" | string[]',test:r=>r==="original"||r==="alphabetical"||Array.isArray(r)&&r.every(i=>typeof i=="string")}});if(n.status==="error")return n}if(e.value){const n=H(e.value,{from:{toBeTypes:["string"]},sort:{toBe:'"original" | "asc" | "desc"',test:r=>r==="original"||r==="asc"||r==="desc"},aggregate:{toBe:'"sum" | "mean" | "median" | "min" | "max" | "count" | "none"',test:r=>["sum","mean","median","min","max","count","none"].includes(r)}});if(n.status==="error")return n}if(e.multivariate){const n=H({multivariate:e.multivariate},{multivariate:{toBe:"EncodingMultivariateItem[]",test:r=>Array.isArray(r)&&r.every(i=>typeof i.from=="string"&&typeof i.label=="string")}});if(n.status==="error")return n}if(e.color){const n=H(e.color,{from:{toBe:'"index" | "series" | "category" | "dataset"',test:r=>["index","series","category","dataset"].includes(r)}});if(n.status==="error")return n}return t}function Fp(e){return H({data:e},{data:{toBe:"RawDataColumn[] | RawDataColumn[][]",test:n=>Array.isArray(n)&&n.every(r=>Array.isArray(r)||Ut(r))}})}function Jl(e){return H({plugins:e},{plugins:{toBe:"PluginEntity[]",test:n=>Array.isArray(n)&&n.every(r=>Ut(r)&&typeof r._name=="string"&&typeof r._injectContext=="function")}})}function F$(e){if(!e)return{status:"success",columnName:"",expectToBe:""};const t=H(e,{size:{toBeTypes:["object"]},theme:{toBeTypes:["object"]},data:{toBe:"RawDataColumn[] | RawDataColumn[][]",test:n=>Array.isArray(n)},encoding:{toBeTypes:["object"]},plugins:{toBe:"PluginEntity[]",test:n=>Array.isArray(n)&&n.every(r=>Ut(r)&&typeof r._name=="string"&&typeof r._injectContext=="function")}});if(t.status==="error")return t;if(e.size){const n=z$(e.size);if(n.status==="error")return n}if(e.theme){const n=Op(e.theme);if(n.status==="error")return n}if(e.encoding){const n=zp(e.encoding);if(n.status==="error")return n}if(e.data){const n=Fp(e.data);if(n.status==="error")return n}if(e.plugins){const n=Jl(e.plugins);if(n.status==="error")return n}return t}function Y$({svgElement$:e,canvasElement$:t,pluginsInstance$:n}){let r=[],i=[];const o=(c,l,u)=>{const h=n.getValue().reduce((g,m,d)=>(g[m._getId()]=d,g),{}),f=u.map(g=>({...g,pluginSeq:h[g.pluginId]}));return(c==="svg"?r:i).filter(g=>g.pluginId!==l).map(g=>({...g,pluginSeq:h[g.pluginId]})).concat(f).sort((g,m)=>g.layerIndex-m.layerIndex||g.pluginSeq-m.pluginSeq)},a={},s={};return(c,l,u)=>{const h=c==="svg"?e.getValue():t.getValue();if(!h)return{};const f=c==="svg"?a:s,p=o(c,l,u),g=p.map(d=>Zl(d.pluginId,d.layerName));return c==="svg"?(Np(h,g,f,d=>Cp(d)),r=p):(Np(h,g,f,d=>ql(d)),i=p),Object.entries(f).reduce((d,[y,b])=>{const[x,v,S]=y.split("-");return v===l&&(d[S]=b),d},{})}}const W$=(e,t)=>{try{const{status:g,columnName:m,expectToBe:d}=F$(t);if(g==="error")throw new Error(Kt({columnName:m,expectToBe:d,from:"Chart.constructor"}));if(g==="warning")console.warn(Zt({columnName:m,expectToBe:d,from:"Chart.constructor"}));else{const{status:y,columnName:b,expectToBe:x}=O$(e);if(y==="error")throw new Error(Kt({columnName:b,expectToBe:x,from:"Chart.constructor"}));y==="warning"&&console.warn(Zt({columnName:b,expectToBe:x,from:"Chart.constructor"}))}}catch(g){throw new Error(g)}const n=new J,r=new Ee((t==null?void 0:t.data)||[]),i=t&&t.encoding?qt(Bp,t.encoding):Bp,o=new Ee(i),a=t&&t.theme?qt(Ip,t.theme):Ip,s=new Ee(a),c=new Ee((t==null?void 0:t.plugins)||[]),l=t&&t.size?qt(Rp,t.size):Rp,u=new Ee(l),h=new Ee(null),f=new Ee(null),p=(()=>{const g=u.pipe(V(C=>Ht(()=>C.width==="auto"||C.height==="auto",kp(e).pipe(A(B=>({width:C.width==="auto"?B.width:C.width,height:C.height==="auto"?B.height<=0?B.width:B.height:C.height})),W(C.resizeDebounce),X((B,D)=>JSON.stringify(B)===JSON.stringify(D))),Mt({width:C.width,height:C.height}))),R(n),z(1)),m=o.asObservable().pipe(z(1)),d=N([r,o,s]).pipe(W(0),A(([C,B,D])=>{try{return k$(C,B,D)}catch(P){throw new Error(Yr({from:"Chart.seriesData$",systemMessage:P}))}}),zr(C=>(console.error(At(C)),pn)),z(1)),y=N([r,o,s]).pipe(W(0),A(([C,B,D])=>{try{return E$(C,B,D)}catch(P){throw new Error(Yr({from:"Chart.gridData$",systemMessage:P}))}}),zr(C=>(console.error(At(C)),pn)),z(1)),b=N([r,o,s]).pipe(W(0),A(([C,B,D])=>{try{return R$(C,B,D)}catch(P){throw new Error(Yr({from:"Chart.multivariateData$",systemMessage:P}))}}),zr(C=>(console.error(At(C)),pn)),z(1)),x=N([r,o,s]).pipe(W(0),A(([C,B,D])=>{try{return B$(C,B,D)}catch(P){throw new Error(Yr({from:"Chart.graphData$",systemMessage:P}))}}),zr(C=>(console.error(At(C)),pn)),z(1)),v=N([r,o,s]).pipe(W(0),A(([C,B,D])=>{try{return I$(C,B,D)}catch(P){throw new Error(Yr({from:"Chart.treeData$",systemMessage:P}))}}),zr(C=>(console.error(At(C)),pn)),z(1)),S=new Ee([]);c.subscribe(C=>{const B={},D=C.map(w=>{var T;let k=w._getId();if(B[k]){const I=((T=B[k].split("[")[1])==null?void 0:T.split("]")[0])||"0",_=parseInt(I)+1;k=`${k.split("[")[0]}[${_}]`}return B[k]=w._getId(),k});C.forEach((w,k)=>w._setId(D[k]));const P=C.map(w=>({id:w._getId(),name:w._name,elementType:w._elementType,shownLayers:w.getShownLayerNames()}));S.next(P)});const $=s.asObservable().pipe(z(1)),L=new J,E=L.asObservable().pipe(xp());return{root:e,svg:null,canvas:null,size$:g,encoding$:m,seriesData$:d,gridData$:y,multivariateData$:b,graphData$:x,treeData$:v,plugins$:S,theme$:$,event$:E,eventTrigger$:L,_updateLayerElements:Y$({svgElement$:h,canvasElement$:f,pluginsInstance$:c})}})();return c.subscribe(g=>{let m=!1,d=!1;g.forEach(y=>{y._elementType==="svg"?m=!0:y._elementType==="canvas"&&(d=!0)}),m&&!p.svg?(p.svg=Mp("orbcharts-root-svg"),p.root.appendChild(p.svg),h.next(p.svg)):!m&&p.svg&&(p.svg.remove(),p.svg=null,h.next(null)),d&&!p.canvas?(p.canvas=ql("orbcharts-root-canvas"),p.root.appendChild(p.canvas),f.next(p.canvas)):!d&&p.canvas&&(p.canvas.remove(),p.canvas=null,f.next(null)),g.forEach(y=>{y._injectContext(p)})}),N({size:p.size$,svg:h}).pipe(W(0),mt(({svg:g})=>!!g)).subscribe(({size:g,svg:m})=>{m&&(m.setAttribute("width",g.width.toString()),m.setAttribute("height",g.height.toString()))}),N({size:p.size$,canvas:f}).pipe(W(0),mt(({canvas:g})=>!!g)).subscribe(({size:g,canvas:m})=>{m&&(m.width=g.width,m.height=g.height)}),(()=>{function g(C){u.next(C)}function m(C){try{const{status:B,columnName:D,expectToBe:P}=Fp(C);if(B==="error")throw new Error(Kt({columnName:D,expectToBe:P,from:"Chart.setData"}));B==="warning"&&console.warn(Zt({columnName:D,expectToBe:P,from:"Chart.setData"}))}catch(B){console.error(At(B))}r.next(C)}function d(C){try{const{status:D,columnName:P,expectToBe:w}=zp(C);if(D==="error")throw new Error(Kt({columnName:P,expectToBe:w,from:"Chart.updateEncoding"}));D==="warning"&&console.warn(Zt({columnName:P,expectToBe:w,from:"Chart.updateEncoding"}))}catch(D){console.error(At(D))}const B=qt(o.getValue(),C);o.next(B)}function y(C){o.next(C)}function b(){return o.getValue()}function x(C){try{const{status:B,columnName:D,expectToBe:P}=Jl(C);if(B==="error")throw new Error(Kt({columnName:D,expectToBe:P,from:"Chart.setPlugins"}));B==="warning"&&console.warn(Zt({columnName:D,expectToBe:P,from:"Chart.setPlugins"}))}catch(B){console.error(At(B))}c.next(C)}function v(C){try{const{status:B,columnName:D,expectToBe:P}=Jl([C]);if(B==="error")throw new Error(Kt({columnName:D,expectToBe:P,from:"Chart.addPlugin"}));B==="warning"&&console.warn(Zt({columnName:D,expectToBe:P,from:"Chart.addPlugin"}))}catch(B){console.error(At(B))}c.next([...c.getValue(),C])}function S(C){c.next(c.getValue().filter(B=>B._getId()!==C))}function $(C){try{const{status:D,columnName:P,expectToBe:w}=Op(C);if(D==="error")throw new Error(Kt({columnName:P,expectToBe:w,from:"Chart.updateTheme"}));D==="warning"&&console.warn(Zt({columnName:P,expectToBe:w,from:"Chart.updateTheme"}))}catch(D){console.error(At(D))}const B=qt(s.getValue(),C);s.next(B)}function L(C){s.next(C)}function E(){return s.getValue()}function M(){n.next(void 0),Lp(e)}return{resize:g,setData:m,updateEncoding:d,forceReplaceEncoding:y,getEncoding:b,setPlugins:x,addPlugin:v,removePlugin:S,updateTheme:$,forceReplaceTheme:L,getTheme:E,destroy:M,context:p}})()};class G${constructor(t,n){return W$(t,n)}}const Yp=(e,t,n)=>{let r=t.name,i=()=>{};const o=new Ee(null),a=o.pipe(mt(b=>b!==null)),s={...t.layers.reduce((b,x)=>(b[x._name]=x,b),{})},c=()=>new Set(t.layers.map(b=>b._name)),l=b=>{if(b){const x=c();return Object.keys(b).filter(S=>x.has(S))}return[]},u=t.layers.reduce((b,x)=>(x._initShow&&b.push(x._name),b),[]),h=l(n),f=new Ee(new Set(h.length>0?h:u)),p=f.pipe(A(b=>Array.from(b).map(v=>{var S;return[v,((S=t.layers.find($=>$._name===v))==null?void 0:S._layerIndex)??-1]}).filter(([,v])=>v!==-1).sort((v,S)=>v[1]-S[1]).map(([v])=>v))),g=new Ee(n??{}),m=new J,d=new me(b=>{g.subscribe(x=>{try{const{status:S,columnName:$,expectToBe:L}=t.validator(x);if(S==="error")throw new Error(Kt({columnName:$,expectToBe:L,from:`${t.name}.params$`}));S==="warning"&&console.warn(Zt({columnName:$,expectToBe:L,from:`${t.name}.params$`}))}catch(S){console.error(At(S))}const v=qt(t.defaultParams,x??{});b.next(v)}),m.subscribe(x=>{b.next(x)})}),y=a.pipe(A(b=>({context:b,pluginParams$:d})),oa());return N({pluginSetupProps:y,ShownLayerNameSet:f,shownLayerNamesSeq:p}).pipe(W(0)).subscribe(({pluginSetupProps:b,ShownLayerNameSet:x,shownLayerNamesSeq:v})=>{const S=b.context._updateLayerElements(e,r,v.map($=>({pluginId:r,pluginName:t.name,layerName:$,layerIndex:s[$]._layerIndex})));t.setup&&(i=t.setup(b)),t.layers.forEach($=>{var L,E;if(x.has($._name)){const M=e==="svg"?{svgG:S[$._name],context:b.context,pluginParams$:d,initLayerParams:((L=g.getValue())==null?void 0:L[$._name])||{}}:{canvas:S[$._name],context:b.context,pluginParams$:d,initLayerParams:((E=g.getValue())==null?void 0:E[$._name])||{}};$._enable(M)}else $._disable()})}),{_name:t.name,_elementType:e,_getId:()=>r,_setId:b=>{r=b},_injectContext:b=>{o.next(Object.assign({},b))},show:b=>{b=Array.isArray(b)?b:[b],f.next(new Set([...Array.from(f.getValue()),...b]))},showOnly:b=>{b=Array.isArray(b)?b:[b],f.next(new Set([...b]))},showAll:()=>{f.next(c())},hide:b=>{b=Array.isArray(b)?b:[b],f.next(new Set([...Array.from(f.getValue()).filter(x=>!b.includes(x))]))},hideAll:()=>{f.next(new Set)},toggle:b=>{b=Array.isArray(b)?b:[b],Array.from(f.getValue()).forEach(x=>{b.includes(x)?b.splice(b.indexOf(x),1):b.push(x)}),f.next(new Set(b))},getShownLayerNames:()=>Array.from(f.getValue()),updateParams:b=>{g.next(b),Object.keys(b).forEach(x=>{const v=s[x];v&&v._updateParams(b[x])})},forceReplaceParams:b=>{m.next(b),Object.keys(b).forEach(x=>{const v=s[x];v&&v._forceReplaceParams(b[x])})},getParams:()=>t.layers.reduce((b,x)=>(b[x._name]=x._getParams(),b),{}),destroy:()=>{i(),o.complete(),f.complete(),t.layers.forEach(b=>{b._destroy()})}}},It=e=>class{constructor(n){return Yp("svg",e,n)}},Wp=(e,t)=>{const n=new Ee(Object.assign({},t.defaultParams));let r=()=>{};const i=new Ee(null),o=i.pipe(mt(a=>a!==null));return N({layerParams:n,enabledProps:o}).pipe(W(0)).subscribe(({layerParams:a,enabledProps:s})=>{r(),r=e==="svg"?t.setup({svgG:s.svgG,context:s.context,pluginParams$:s.pluginParams$,layerParams$:n.pipe(A(c=>qt(c,s.initLayerParams??{})))}):t.setup({canvas:s.canvas,context:s.context,pluginParams$:s.pluginParams$,layerParams$:n.pipe(A(c=>qt(c,s.initLayerParams??{})))})}),i.pipe(mt(a=>a===null)).subscribe(()=>{r()}),{_name:t.name,_defaultParams:t.defaultParams,_layerIndex:t.layerIndex,_initShow:t.initShow,_enable:a=>{i.next(a)},_disable:()=>{i.next(null)},_updateParams:a=>{try{const{status:c,columnName:l,expectToBe:u}=t.validator(a);if(c==="error")throw new Error(Kt({columnName:l,expectToBe:u,from:`${t.name}.params$`}));c==="warning"&&console.warn(Zt({columnName:l,expectToBe:u,from:`${t.name}.params$`}))}catch(c){console.error(At(c))}const s=qt(n.getValue(),a);n.next(s)},_forceReplaceParams:a=>{n.next(a)},_getParams:()=>n.getValue(),_destroy:()=>{i.next(null),i.complete(),n.complete()}}},he=e=>class{constructor(){return Wp("svg",e)}},V$=e=>class{constructor(n){return Yp("canvas",e,n)}},X$=e=>class{constructor(){return Wp("canvas",e)}},yt={scaleDomain:["auto","auto"],scaleRange:[0,.9],label:""},Gp={reverse:!1,scaleDomain:[0,"max"],scalePadding:.5,label:""},Vp={scaleDomain:["auto","auto"],scaleRange:[0,.9],label:""},Wr={columnAmount:1,rowAmount:1,columnGap:"auto",rowGap:"auto"},Ql={styles:{padding:{top:20,right:60,bottom:80,left:60},highlightTarget:"datum",highlightDefault:null,unhighlightedOpacity:.3,transitionDuration:100,transitionEase:"easeCubic"},visibleFilter:e=>!0,container:{...Wr},xAxis:{...Vp},yAxis:{...Vp},separateSeries:!1,datasetIndex:0};Ql.visibleFilter.toString=()=>"(datum) => true";const Xp={radius:5,fillColorType:"data",strokeColorType:"data",strokeWidth:0},jp={fillColorType:"data",strokeColorType:"data",strokeWidth:0,valueLinearOpacity:[.8,.8],arcScaleType:"area",sizeAdjust:.5},aa={xAxis:{showLine:!0,showLabel:!0,lineDashArray:"3, 3",lineColorType:"primary",labelColorType:"primary",labelTextColorType:"background",labelTextFormat:e=>{if(e===null||Number.isNaN(e)==!0)return e||0;const t=Math.abs(e);if(t>0&&t<1){const i=e.toString().match(/0\.(0*)([1-9])/);if(i){const o=i[1].length+1;return e.toFixed(o)}return e.toString()}const n=e.toString().split(".");return n[0]=n[0].replace(/\B(?=(\d{3})+(?!\d))/g,","),n[0]},labelPadding:20},yAxis:{showLine:!0,showLabel:!0,lineDashArray:"3, 3",lineColorType:"primary",labelColorType:"primary",labelTextColorType:"background",labelTextFormat:e=>{if(e===null||Number.isNaN(e)==!0)return e||0;const t=Math.abs(e);if(t>0&&t<1){const i=e.toString().match(/0\.(0*)([1-9])/);if(i){const o=i[1].length+1;return e.toFixed(o)}return e.toString()}const n=e.toString().split(".");return n[0]=n[0].replace(/\B(?=(\d{3})+(?!\d))/g,","),n[0]},labelPadding:20}};aa.xAxis.labelTextFormat.toString=()=>`num => {
192
9
  if (num === null || Number.isNaN(num) == true) {
193
10
  return num || 0
194
11
  }
@@ -205,7 +22,7 @@ ${d}`}};Og.renderFn.toString=()=>`(eventData, { styles, utils }) => {
205
22
  const parts = num.toString().split('.')
206
23
  parts[0] = parts[0].replace(/B(?=(d{3})+(?!d))/g, ',')
207
24
  return parts[0]
208
- }`,bf.yAxis.labelTextFormat.toString=()=>`num => {
25
+ }`,aa.yAxis.labelTextFormat.toString=()=>`num => {
209
26
  if (num === null || Number.isNaN(num) == true) {
210
27
  return num || 0
211
28
  }
@@ -222,213 +39,316 @@ ${d}`}};Og.renderFn.toString=()=>`(eventData, { styles, utils }) => {
222
39
  const parts = num.toString().split('.')
223
40
  parts[0] = parts[0].replace(/B(?=(d{3})+(?!d))/g, ',')
224
41
  return parts[0]
225
- }`;const xf={xAxis:{labelOffset:[0,0],labelColorType:"primary",axisLineVisible:!1,axisLineColorType:"primary",ticks:null,tickFormat:t=>{if(t===null||Number.isNaN(t)==!0)return t||0;const e=t.toString().split(".");return e[0]=e[0].replace(/\B(?=(\d{3})+(?!\d))/g,","),e.join(".")},tickLineVisible:!0,tickPadding:20,tickFullLine:!0,tickFullLineDasharray:"none",tickColorType:"secondary",tickTextColorType:"primary"},yAxis:{labelOffset:[0,0],labelColorType:"primary",axisLineVisible:!1,axisLineColorType:"primary",ticks:null,tickFormat:t=>{if(t===null||Number.isNaN(t)==!0)return t||0;const e=t.toString().split(".");return e[0]=e[0].replace(/\B(?=(\d{3})+(?!\d))/g,","),e.join(".")},tickLineVisible:!0,tickPadding:20,tickFullLine:!0,tickFullLineDasharray:"none",tickColorType:"secondary",tickTextColorType:"primary"}};xf.xAxis.tickFormat.toString=()=>`num => {
42
+ }`;const sa={xAxis:{labelOffset:[0,0],labelColorType:"primary",axisLineVisible:!1,axisLineColorType:"primary",ticks:null,tickFormat:e=>{if(e===null||Number.isNaN(e)==!0)return e||0;const t=e.toString().split(".");return t[0]=t[0].replace(/\B(?=(\d{3})+(?!\d))/g,","),t.join(".")},tickLineVisible:!0,tickPadding:20,tickFullLine:!0,tickFullLineDasharray:"none",tickColorType:"secondary",tickTextColorType:"primary"},yAxis:{labelOffset:[0,0],labelColorType:"primary",axisLineVisible:!1,axisLineColorType:"primary",ticks:null,tickFormat:e=>{if(e===null||Number.isNaN(e)==!0)return e||0;const t=e.toString().split(".");return t[0]=t[0].replace(/\B(?=(\d{3})+(?!\d))/g,","),t.join(".")},tickLineVisible:!0,tickPadding:20,tickFullLine:!0,tickFullLineDasharray:"none",tickColorType:"secondary",tickTextColorType:"primary"}};sa.xAxis.tickFormat.toString=()=>`num => {
226
43
  if (num === null || Number.isNaN(num) == true) {
227
44
  return num || 0
228
45
  }
229
46
  const parts = num.toString().split('.')
230
47
  parts[0] = parts[0].replace(/B(?=(d{3})+(?!d))/g, ',')
231
48
  return parts.join('.')
232
- }`,xf.yAxis.tickFormat.toString=()=>`num => {
49
+ }`,sa.yAxis.tickFormat.toString=()=>`num => {
233
50
  if (num === null || Number.isNaN(num) == true) {
234
51
  return num || 0
235
52
  }
236
53
  const parts = num.toString().split('.')
237
54
  parts[0] = parts[0].replace(/B(?=(d{3})+(?!d))/g, ',')
238
55
  return parts.join('.')
239
- }`;const Xg={},TC="MultiValueLegend",oZ={name:TC,defaultParams:AC,layerIndex:Mi,validator:(t,{validateColumns:e})=>e(t,{placement:{toBe:'"top" | "top-start" | "top-end" | "bottom" | "bottom-start" | "bottom-end" | "left" | "left-start" | "left-end" | "right" | "right-start" | "right-end"',test:n=>["top","top-start","top-end","bottom","bottom-start","bottom-end","left","left-start","left-end","right","right-start","right-end"].includes(n)},padding:{toBeTypes:["number"]},backgroundFill:{toBeOption:"ColorType"},backgroundStroke:{toBeOption:"ColorType"},gap:{toBeTypes:["number"]},listRectWidth:{toBeTypes:["number"]},listRectHeight:{toBeTypes:["number"]},listRectRadius:{toBeTypes:["number"]},textColorType:{toBeOption:"ColorType"}})},lZ=oe(oZ)(({selection:t,rootSelection:e,observer:n,subject:r})=>{const a=new J,i=n.CategoryDataMap$.pipe(w(a),L(u=>Array.from(u.keys()))),o=n.fullParams$.pipe(w(a),L(u=>{const s=[{listRectWidth:u.listRectWidth,listRectHeight:u.listRectHeight,listRectRadius:u.listRectRadius}];return{...u,labelList:s}})),l=Ii(TC,{rootSelection:e,legendLabels$:i,fullParams$:o,layout$:n.layout$,fullChartParams$:n.fullChartParams$,textSizePx$:n.textSizePx$});return()=>{a.next(void 0),l()}}),wC="MultiValueTooltip",sZ={name:wC,defaultParams:Og,layerIndex:Ri,validator:(t,{validateColumns:e})=>e(t,{backgroundColorType:{toBeOption:"ColorType"},backgroundOpacity:{toBeTypes:["number"]},strokeColorType:{toBeOption:"ColorType"},offset:{toBe:"[number, number]",test:n=>Array.isArray(n)&&n.length===2&&typeof n[0]=="number"&&typeof n[1]=="number"},padding:{toBeTypes:["number"]},textColorType:{toBeOption:"ColorType"},renderFn:{toBeTypes:["Function"]}})},uZ=oe(sZ)(({selection:t,rootSelection:e,name:n,subject:r,observer:a})=>{const i=new J,o=Ni(wC,{rootSelection:e,fullParams$:a.fullParams$,fullChartParams$:a.fullChartParams$,layout$:a.layout$,event$:r.event$});return()=>{i.next(void 0),o()}}),vf=({selection:t,pluginName:e,clipPathID:n,categoryLabels$:r,containerPosition$:a,graphicTransform$:i})=>{const o=W(e,"category"),l=W(e,"axes"),u=W(e,"graphic"),s=r.pipe(L((h,p)=>t.selectAll(`g.${o}`).data(h,g=>g).join(g=>g.append("g").classed(o,!0).each((m,b,y)=>{Y(y[b]).selectAll(`g.${l}`).data([b]).join(x=>x.append("g").classed(l,!0).attr("clip-path",`url(#${n})`).each((v,_,D)=>{Y(D[_]).selectAll("defs").data([_]).join("defs"),Y(D[_]).selectAll("g").data([_]).join("g").classed(u,!0)}),x=>x,x=>x.remove())}),g=>g,g=>g.remove())),nt(1));G({categorySelection:s,containerPosition:a}).pipe(O(async h=>h)).subscribe(h=>{h.categorySelection.transition().attr("transform",(p,g)=>{const m=h.containerPosition[g]??h.containerPosition[0],b=m.translate,y=m.scale;return`translate(${b[0]}, ${b[1]}) scale(${y[0]}, ${y[1]})`})});const c=s.pipe(L(h=>h.select(`g.${l}`)),nt(1)),d=c.pipe(L(h=>h.select("defs")),nt(1)),f=G({axesSelection:c,graphicTransform:i}).pipe(O(async h=>h),L(h=>{const p=h.axesSelection.select(`g.${u}`);return p.transition().duration(50).style("transform",h.graphicTransform.value),p}),nt(1));return{categorySelection$:s,axesSelection$:c,defsSelection$:d,graphicGSelection$:f}},xa=({selection:t,pluginName:e,clipPathID:n,computedData$:r,containerPosition$:a,isCategorySeprate$:i})=>{const o=W(e,"container"),l=G({computedData:r.pipe(H((u,s)=>u.length===s.length)),isCategorySeprate:i}).pipe(O(async u=>u),L(u=>u.isCategorySeprate?u.computedData:[u.computedData[0]]),L((u,s)=>t.selectAll(`g.${o}`).data(u,c=>c&&c[0]?c[0].categoryIndex:s).join("g").classed(o,!0).attr("clip-path",c=>n?`url(#${n})`:"none")),nt(1));return G({containerSelection:l,gridContainerPosition:a}).pipe(O(async u=>u)).subscribe(u=>{u.containerSelection.attr("transform",(s,c)=>{const d=u.gridContainerPosition[c]??u.gridContainerPosition[0],f=d.translate;return d.scale,`translate(${f[0]}, ${f[1]})`})}),l},cZ=({rootSelection:t,fullDataFormatter$:e,filteredXYMinMaxData$:n,containerPosition$:r,containerSize$:a,layout$:i})=>{const o=ya(t,"mousemove").pipe(u1(2)),l=new bt(s=>{G({containerSize:a,filteredXYMinMaxData:n,fullDataFormatter:e}).pipe(O(async c=>c)).subscribe(c=>{const d=c.fullDataFormatter.xAxis.valueIndex,f=c.fullDataFormatter.yAxis.valueIndex;if(!c.filteredXYMinMaxData.minXDatum||!c.filteredXYMinMaxData.maxXDatum||c.filteredXYMinMaxData.minXDatum.value[d]==null||c.filteredXYMinMaxData.maxXDatum.value[d]==null||!c.filteredXYMinMaxData.minYDatum||!c.filteredXYMinMaxData.maxYDatum||c.filteredXYMinMaxData.minYDatum.value[f]==null||c.filteredXYMinMaxData.maxYDatum.value[f]==null)return;const h=Fx({maxValue:c.filteredXYMinMaxData.maxXDatum.value[d],minValue:c.filteredXYMinMaxData.minXDatum.value[d],axisWidth:c.containerSize.width,scaleDomain:c.fullDataFormatter.xAxis.scaleDomain,scaleRange:c.fullDataFormatter.xAxis.scaleRange}),p=Fx({maxValue:c.filteredXYMinMaxData.maxYDatum.value[f],minValue:c.filteredXYMinMaxData.minYDatum.value[f],axisWidth:c.containerSize.height,scaleDomain:c.fullDataFormatter.yAxis.scaleDomain,scaleRange:c.fullDataFormatter.yAxis.scaleRange,reverse:!0});s.next({xScale:h,yScale:p})})}),u=G({rootMousemove:o,layout:i,containerPosition:r}).pipe(O(async s=>s),L(s=>{const c=(()=>{let f=s.rootMousemove.offsetX;const h=s.containerPosition.map((p,g)=>{var m;return[p.translate[0],((m=s.containerPosition[g+1])==null?void 0:m.translate[0])??s.layout.rootWidth]}).filter(p=>p[0]<p[1]).find(p=>f>=p[0]&&f<=p[1]);return h&&(f=f-h[0]),f-s.layout.left})(),d=(()=>{let f=s.rootMousemove.offsetY;const h=s.containerPosition.map((p,g)=>{var m;return[p.translate[1],((m=s.containerPosition[g+1])==null?void 0:m.translate[1])??s.layout.rootHeight]}).filter(p=>p[0]<p[1]).find(p=>f>=p[0]&&f<=p[1]);return h&&(f=f-h[0]),f-s.layout.top})();return{x:c,y:d}}));return G({xyScale:l,axisValue:u,containerPosition:r}).pipe(O(async s=>s),L(s=>({x:s.axisValue.x/s.containerPosition[0].scale[0],y:s.axisValue.y/s.containerPosition[0].scale[1],xValue:s.xyScale.xScale(s.axisValue.x),yValue:s.xyScale.yScale(s.axisValue.y)})))},fZ=({rootSelection:t,ordinalScaleDomain$:e,ordinalScale$:n,ordinalPadding$:r,containerSize$:a,containerPosition$:i,layout$:o})=>{const l=ya(t,"mousemove").pipe(u1(2)),u=G({rootMousemove:l,layout:o,containerPosition:i}).pipe(O(async c=>c),L(c=>{let d=c.rootMousemove.offsetX;const f=c.containerPosition.map((h,p)=>{var g;return[h.translate[0],((g=c.containerPosition[p+1])==null?void 0:g.translate[0])??c.layout.rootWidth]}).filter(h=>h[0]<h[1]).find(h=>d>=h[0]&&d<=h[1]);return f&&(d=d-f[0]),d-c.layout.left})),s=e.pipe(L(c=>{const d=c[1]-c[0]+1;return new Array(d).fill(0).map((f,h)=>String(h+c[0]))}));return G({scaleRangeLabels:s,containerSize:a,axisX:u,ordinalScale:n,ordinalPadding:r,ordinalScaleDomain:e,containerPosition:i}).pipe(O(async c=>c),L(c=>{const d=ph({axisLabels:c.scaleRangeLabels,axisWidth:c.containerSize.width,padding:.5,reverse:!1})(c.axisX)+c.ordinalScaleDomain[0];return{x:(c.ordinalScale(d)+c.ordinalPadding)/c.containerPosition[0].scale[0],xValue:d}}))},BC=({containerSize$:t,visibleComputedData$:e,textSizePx$:n,rankingAmount$:r})=>{const a=({textSizePx$:c})=>c.pipe(L(d=>d*2),nt(1)),i=({minLineHeight$:c,containerSize$:d})=>G({minLineHeight:c,containerSize:d}).pipe(O(async f=>f),L(f=>f.containerSize.height>f.minLineHeight?f.containerSize.height:f.minLineHeight),H(),nt(1)),o=({minLineHeight$:c,containerHeight$:d})=>G({minLineHeight:c,containerHeight:d}).pipe(O(async f=>f),L(f=>Math.floor(f.containerHeight/f.minLineHeight)),H(),nt(1)),l=a({textSizePx$:n}),u=i({minLineHeight$:l,containerSize$:t}),s=o({containerHeight$:u,minLineHeight$:l});return r.pipe(O(c=>Ln(()=>c==="auto",G({visibleComputedData:e,rankingAmountLimit:s}).pipe(O(async d=>d),L(d=>{const f=d.visibleComputedData.map(h=>Math.min(d.rankingAmountLimit,h.length));return Math.max(...f)})),r)))},EC=({containerSize$:t,textSizePx$:e,computedRankingAmount$:n})=>{const r=({textSizePx$:l})=>l.pipe(L(u=>u*2),nt(1)),a=({minLineHeight$:l,containerSize$:u})=>G({minLineHeight:l,containerSize:u}).pipe(O(async s=>s),L(s=>s.containerSize.height>s.minLineHeight?s.containerSize.height:s.minLineHeight),H(),nt(1)),i=r({textSizePx$:e}),o=a({minLineHeight$:i,containerSize$:t});return G({containerHeight:o,computedRankingAmount:n}).pipe(O(async l=>l),L(l=>l.containerHeight/l.computedRankingAmount))},LC=({visibleComputedRankingData$:t,rankingItemHeight$:e})=>G({visibleComputedRankingData:t,rankingItemHeight:e}).pipe(O(async n=>n),L(n=>n.visibleComputedRankingData.map((r,a)=>{const i=r.length,o=n.rankingItemHeight*i;return jM({axisLabels:r.map(l=>l.label),axisWidth:o,padding:.5})}))),_r="OrdinalAux",Ug=W(_r,"label-box"),qg=6,MC=3,dZ={name:_r,defaultParams:Gg,layerIndex:$g,validator:(t,{validateColumns:e})=>e(t,{showLine:{toBeTypes:["boolean"]},showLabel:{toBeTypes:["boolean"]},lineDashArray:{toBeTypes:["string"]},lineColorType:{toBeOption:"ColorType"},labelColorType:{toBeOption:"ColorType"},labelTextColorType:{toBeOption:"ColorType"},labelTextFormat:{toBeTypes:["Function"]},labelPadding:{toBeTypes:["number"]}})};function hZ(t,e){return t.map((n,r)=>{const a=Fn(n,e),i=typeof a=="string"?a.split(`
240
- `):[a];return{text:a,textArr:i}})}function pZ({axisX:t,layout:e,fullParams:n}){return t>=0&&t<=e.width?[{id:"line-x",x1:t,x2:t,y1:0,y2:e.height,dashArray:n.lineDashArray??"none",colorType:n.lineColorType}]:[]}function mZ({valueLabelData:t,axisX:e,xValue:n,fullParams:r,textSizePx:a,layout:i,rowAmount:o}){if(!(e>=0&&e<=i.width))return[];const l=e,u=-r.labelPadding*o,s=t[n]?t[n].text:"",c=t[n]?t[n].textArr:[],d=c.reduce((v,_)=>_.length>v.length?_:v,""),f=Li(d,a),h=a*c.length,p=f+qg*2,g=h+MC*2,m=-p/2,b=-3,y=m+qg,x=b+MC;return[{id:"label-x",x:l,y:u-g/2,text:s,textArr:c,textWidth:f,textHeight:h,colorType:r.labelColorType,textColorType:r.labelTextColorType,rectWidth:p,rectHeight:g,rectX:m,rectY:b,textX:y,textY:x}]}function gZ({selection:t,pluginName:e,lineData:n,fullParams:r,fullChartParams:a}){const i=W(e,"auxline");return t.selectAll(`line.${i}`).data(n).join(o=>o.append("line").classed(i,!0).style("stroke-width",1).style("pointer-events","none").style("vector-effect","non-scaling-stroke").attr("x1",l=>l.x1).attr("y1",l=>l.y1).attr("x2",l=>l.x2).attr("y2",l=>l.y2),o=>o.transition().duration(50).attr("x1",l=>l.x1).attr("y1",l=>l.y1).attr("x2",l=>l.x2).attr("y2",l=>l.y2),o=>o.remove()).style("stroke",o=>ht(o.colorType,a)).style("stroke-dasharray",o=>o.dashArray)}function yZ(t){t.selectAll("line").data([]).exit().remove()}function bZ({selection:t,labelData:e,fullParams:n,fullDataFormatter:r,fullChartParams:a,textReverseTransform:i,textSizePx:o}){return t.selectAll(`g.${Ug}`).data(e).join(l=>l.append("g").classed(Ug,!0).style("cursor","pointer").attr("transform",(u,s)=>`translate(${u.x}, ${u.y})`),l=>l.transition().duration(50).attr("transform",(u,s)=>`translate(${u.x}, ${u.y})`),l=>l.remove()).each((l,u,s)=>{const c=Y(s[u]),d=c.selectAll("rect").data([l]).join(g=>g.append("rect").style("cursor","pointer").attr("rx",5).attr("ry",5),g=>g,g=>g.remove()).attr("width",g=>`${g.rectWidth}px`).attr("height",g=>`${g.rectHeight}px`).attr("fill",g=>ht(g.colorType,a)).attr("x",g=>g.rectX).attr("y",g=>g.rectY).style("transform",i),f=c.selectAll("text").data([l]).join(g=>g.append("text").style("dominant-baseline","hanging").style("cursor","pointer").style("pointer-events","none"),g=>g,g=>g.remove()).style("transform",i).attr("fill",g=>ht(g.textColorType,a)).attr("font-size",a.styles.textSize).attr("x",g=>g.textX).attr("y",g=>g.textY).each((g,m,b)=>{Rl(Y(b[m]),{textArr:l.textArr,textSizePx:o,groupAxisPosition:m===0?"bottom":"left",isContainerRotated:!1})});let h=[];f.selectAll("tspan").each((g,m,b)=>{const y=Y(b[m]).node();y&&y.getBBox()&&h.push(y.getBBox().width)});const p=Math.max(...h);d.attr("width",p+qg*2)})}function xZ(t){t.selectAll(`g.${Ug}`).data([]).exit().remove()}const vZ=oe(dZ)(({selection:t,rootSelection:e,name:n,subject:r,observer:a})=>{const i=new J;let o=!1;const l=e.insert("rect","g").classed(W(_r,"rect"),!0).attr("opacity",0),{axesSelection$:u}=vf({selection:t,pluginName:_r,clipPathID:"test",categoryLabels$:a.isCategorySeprate$.pipe(O(m=>Ln(()=>m,a.categoryLabels$,a.categoryLabels$.pipe(L(b=>[b[0]]))))),containerPosition$:a.containerPosition$,graphicTransform$:a.graphicTransform$});a.layout$.pipe(w(i)).subscribe(m=>{l.attr("width",m.rootWidth).attr("height",m.rootHeight)});const s=a.fullChartParams$.pipe(w(i),L(m=>m.highlightTarget),H()),c=a.containerPosition$.pipe(L(m=>m.reduce((b,y)=>y.columnIndex>b?y.columnIndex:b,0)+1),H()),d=a.containerPosition$.pipe(L(m=>m.reduce((b,y)=>y.rowIndex>b?y.rowIndex:b,0)+1),H()),f=a.containerPosition$.pipe(w(i),O(async m=>m),L(m=>`${`scale(${1/m[0].scale[0]}, ${1/m[0].scale[1]})`}`),H()),h=fZ({rootSelection:e,ordinalScaleDomain$:a.ordinalScaleDomain$,ordinalScale$:a.ordinalScale$,ordinalPadding$:a.ordinalPadding$,containerSize$:a.containerSize$,containerPosition$:a.containerPosition$,layout$:a.layout$}),p=G({valueLabels:a.valueLabels$,fullParams:a.fullParams$}).pipe(w(i),O(async m=>m),L(m=>hZ(m.valueLabels,m.fullParams.labelTextFormat)),nt(1));G({axesSelection:u,layout:a.layout$,ordinalPosition:h,computedData:a.computedData$,fullParams:a.fullParams$,fullDataFormatter:a.fullDataFormatter$,fullChartParams:a.fullChartParams$,highlightTarget:s,textReverseTransform:f,textSizePx:a.textSizePx$,columnAmount:c,rowAmount:d,valueLabelData:p}).pipe(w(i),O(async m=>m)).subscribe(m=>{const{x:b,xValue:y}=m.ordinalPosition,x=pZ({axisX:b,layout:m.layout,fullParams:m.fullParams});gZ({selection:m.axesSelection,pluginName:n,lineData:x,fullParams:m.fullParams,fullChartParams:m.fullChartParams});const v=mZ({valueLabelData:m.valueLabelData,axisX:b,xValue:y,fullParams:m.fullParams,textSizePx:m.textSizePx,layout:m.layout,rowAmount:m.rowAmount});bZ({selection:m.axesSelection,labelData:v,fullParams:m.fullParams,fullDataFormatter:m.fullDataFormatter,fullChartParams:m.fullChartParams,textReverseTransform:m.textReverseTransform,textSizePx:m.textSizePx}).on("mouseover",(_,D)=>{_.stopPropagation(),o=!0,r.event$.next({type:"multiValue",eventName:"mouseover",pluginName:_r,highlightTarget:m.highlightTarget,valueDetail:[],datum:null,category:[],categoryIndex:-1,categoryLabel:"",data:m.computedData,event:_})}).on("mousemove",(_,D)=>{_.stopPropagation(),r.event$.next({type:"multiValue",eventName:"mousemove",pluginName:_r,highlightTarget:m.highlightTarget,valueDetail:[],datum:null,category:[],categoryIndex:-1,categoryLabel:"",data:m.computedData,event:_})}).on("mouseout",(_,D)=>{_.stopPropagation(),o=!1,r.event$.next({type:"multiValue",eventName:"mouseout",pluginName:_r,highlightTarget:m.highlightTarget,valueDetail:[],datum:null,category:[],categoryIndex:-1,categoryLabel:"",data:m.computedData,event:_})}).on("click",(_,D)=>{_.stopPropagation(),r.event$.next({type:"multiValue",eventName:"click",pluginName:_r,highlightTarget:m.highlightTarget,valueDetail:[],datum:null,category:[],categoryIndex:-1,categoryLabel:"",data:m.computedData,event:_})})});const g=ya(l,"mouseout").pipe(w(i));return G({rootRectMouseout:g,axesSelection:u}).pipe(w(i),O(async m=>m)).subscribe(m=>{setTimeout(()=>{o!=!0&&(yZ(m.axesSelection),xZ(m.axesSelection))})}),()=>{i.next(void 0),l.remove()}}),zi="OrdinalAxis",RC=6,$Z="start",SZ="auto",DZ={name:zi,defaultParams:jg,layerIndex:Xe,validator:(t,{validateColumns:e})=>{const n=e(t,{labelOffset:{toBe:"[number, number]",test:r=>Array.isArray(r)&&r.length===2&&typeof r[0]=="number"&&typeof r[1]=="number"},labelColorType:{toBeOption:"ColorType"},axisLineVisible:{toBeTypes:["boolean"]},axisLineColorType:{toBeOption:"ColorType"},ticks:{toBeTypes:["number","null"]},tickFormat:{toBeTypes:["string","Function"]},tickLineVisible:{toBeTypes:["boolean"]},tickPadding:{toBeTypes:["number"]},tickFullLine:{toBeTypes:["boolean"]},tickFullLineDasharray:{toBeTypes:["string"]},tickColorType:{toBeOption:"ColorType"},tickTextRotate:{toBeTypes:["number"]},tickTextColorType:{toBeOption:"ColorType"}});return n.status,n}};function _Z(t,e){return t.map((n,r)=>{const a=Fn(n,e),i=typeof a=="string"?a.split(`
241
- `):[a];return{text:a,textArr:i}})}function AZ({selection:t,axisLabelClassName:e,fullParams:n,containerSize:r,fullDataFormatter:a,fullChartParams:i}){let o=n.tickPadding+n.labelOffset[0],l,u;l=0,u=-n.tickPadding-n.labelOffset[1];let s=u;t.selectAll(`g.${e}`).data([n]).join("g").classed(e,!0).each((c,d,f)=>{Y(f[d]).selectAll("text").data([c]).join(h=>h.append("text").style("font-weight","bold"),h=>h,h=>h.remove()).attr("text-anchor",$Z).attr("dominant-baseline",SZ).attr("font-size",i.styles.textSize).style("fill",ht(n.labelColorType,i)).attr("x",o).attr("y",s).text(h=>a.xAxis.label)}).attr("transform",c=>`translate(${r.width}, ${l})`)}function CZ({selection:t,ordinalXAxisClassName:e,fullParams:n,containerSize:r,fullDataFormatter:a,fullChartParams:i,ordinalScale:o,ordinalScaleDomain:l,valueLabelData:u,textRotateTransform:s,textSizePx:c,ordinalPadding:d}){const f=n.tickTextRotate?"start":"middle",h="auto",p=t.selectAll(`g.${e}`).data([n]).join("g").classed(e,!0).attr("transform",`translate(${d}, 0)`),g=Math.floor(l[1])-Math.ceil(l[0])+1;let m=0,b=0;n.tickFullLine==!0?m=n.tickPadding:m=n.tickPadding-RC,b=-0;const y=su(o).scale(o).ticks(n.ticks==="all"?g:n.ticks>g?g-1:n.ticks).tickSize(n.tickFullLine==!0?-r.height:RC).tickSizeOuter(0).tickFormat((v,_)=>{var D;return((D=u[v])==null?void 0:D.text)??""}).tickPadding(m),x=p.transition().duration(100).ease(on).call(y).on("end",(v,_)=>{p.selectAll(".tick text").each((D,C,A)=>{var $;const T=(($=u[D])==null?void 0:$.textArr)??[];Rl(Y(A[C]),{textArr:T,textSizePx:c,groupAxisPosition:"top",isContainerRotated:!0})})});return x.selectAll("line").style("fill","none").style("stroke",n.tickLineVisible==!0?ht(n.tickColorType,i):"none").style("stroke-dasharray",n.tickFullLineDasharray).style("vector-effect","non-scaling-stroke").attr("pointer-events","none"),x.selectAll("path").style("fill","none").style("stroke",n.axisLineVisible==!0?ht(n.axisLineColorType,i):"none").style("shape-rendering","crispEdges"),p.selectAll("text").attr("font-size",i.styles.textSize).attr("fill",ht(n.tickTextColorType,i)).attr("text-anchor",f).attr("dominant-baseline",h).attr("x",b).style("transform",s).attr("dy",0),p}function PZ({defsSelection:t,clipPathData:e}){t.selectAll("clipPath").data(e).join(n=>n.append("clipPath"),n=>n,n=>n.remove()).attr("id",n=>n.id).each((n,r,a)=>{Y(a[r]).selectAll("rect").data([n]).join(i=>i.append("rect"),i=>i,i=>i.remove()).attr("x",i=>-i.width).attr("y",0).attr("width",i=>i.width*2).attr("height",i=>i.height)})}const FZ=oe(DZ)(({selection:t,name:e,observer:n,subject:r})=>{const a=new J,i=W(zi,"xAxisG"),o=W(zi,"axis"),l=W(zi,"axis-label"),u=Jt(zi,"clipPath-box"),s=xa({selection:t,pluginName:zi,clipPathID:null,computedData$:n.computedData$,containerPosition$:n.containerPosition$,isCategorySeprate$:n.isCategorySeprate$}).pipe(w(a));n.containerSize$.subscribe(p=>{const g=t.selectAll("defs").data([u]).join("defs"),m=[{id:u,width:p.width,height:p.height}];PZ({defsSelection:g,clipPathData:m})});const c=s.pipe(w(a),L((p,g)=>p.selectAll(`g.${i}`).data([i]).join("g").classed(i,!0))),d=G({valueLabels:n.valueLabels$,fullParams:n.fullParams$}).pipe(w(a),O(async p=>p),L(p=>_Z(p.valueLabels,p.fullParams.tickFormat)),nt(1)),f=G({valueLabelData:d,fullDataFormatter:n.fullDataFormatter$}).pipe(w(a),O(async p=>p),L(p=>{const g=p.valueLabelData.length-1,m=p.fullDataFormatter.xAxis.scaleDomain[0]==="min"||p.fullDataFormatter.xAxis.scaleDomain[0]==="auto"?0:p.fullDataFormatter.xAxis.scaleDomain[0],b=p.fullDataFormatter.xAxis.scaleDomain[1]==="max"||p.fullDataFormatter.xAxis.scaleDomain[1]==="auto"?g:p.fullDataFormatter.xAxis.scaleDomain[1];return[m,b]}),nt(1)),h=n.fullParams$.pipe(w(a),L(p=>p.tickTextRotate?`rotate(${p.tickTextRotate})`:""));return G({axisSelection:c,fullParams:n.fullParams$,containerSize:n.containerSize$,fullDataFormatter:n.fullDataFormatter$,fullChartParams:n.fullChartParams$,ordinalScale:n.ordinalScale$,ordinalScaleDomain:f,valueLabelData:d,textRotateTransform:h,textSizePx:n.textSizePx$,ordinalPadding:n.ordinalPadding$}).pipe(w(a),O(async p=>p)).subscribe(p=>{CZ({selection:p.axisSelection,ordinalXAxisClassName:o,fullParams:p.fullParams,containerSize:p.containerSize,fullDataFormatter:p.fullDataFormatter,fullChartParams:p.fullChartParams,ordinalScale:p.ordinalScale,ordinalScaleDomain:p.ordinalScaleDomain,valueLabelData:p.valueLabelData,textRotateTransform:p.textRotateTransform,textSizePx:p.textSizePx,ordinalPadding:p.ordinalPadding}),AZ({selection:p.axisSelection,axisLabelClassName:l,fullParams:p.fullParams,containerSize:p.containerSize,fullDataFormatter:p.fullDataFormatter,fullChartParams:p.fullChartParams})}),()=>{a.next(void 0)}}),TZ="end",wZ="middle",BZ="end",EZ="auto";function LZ({selection:t,textClassName:e,fullParams:n,containerSize:r,fullDataFormatter:a,fullChartParams:i}){const o=n.barLabel.padding-n.axisLabel.offset[0],l=-n.barLabel.padding-n.axisLabel.offset[1];let u=-o,s=-l;t.attr("transform",c=>`translate(0, ${r.height})`).selectAll("text").data([n]).join(c=>c.append("text").style("font-weight","bold"),c=>c,c=>c.remove()).attr("text-anchor",BZ).attr("dominant-baseline",EZ).attr("font-size",i.styles.textSize).style("fill",ht(n.axisLabel.colorType,i)).attr("x",u).attr("y",s).text(c=>a.yAxis.label)}function MZ({selection:t,fullParams:e,fullChartParams:n,transitionEase:r,rankingScale:a,valueScale:i,categoryData:o}){const l=e.barLabel.position==="none"?[]:o;return t.selectAll("text").data(l,u=>u.id).join(u=>u.append("text").style("font-weight","bold").style("pointer-events","none").attr("x",s=>i(s.value[s.xValueIndex]??0)-e.barLabel.padding).attr("y",s=>a(s.label)),u=>u.transition().duration(n.transitionDuration).ease(ga(r)).attr("x",s=>i(s.value[s.xValueIndex]??0)-e.barLabel.padding).attr("y",s=>a(s.label)),u=>u.remove()).attr("text-anchor",TZ).attr("dominant-baseline",wZ).attr("font-size",n.styles.textSize).style("fill",u=>Pt({colorType:e.barLabel.colorType,fullChartParams:n,datum:u})).text(u=>u.label)}function RZ({defsSelection:t,clipPathData:e}){t.selectAll("clipPath").data(e).join(n=>n.append("clipPath"),n=>n,n=>n.remove()).attr("id",n=>n.id).each((n,r,a)=>{Y(a[r]).selectAll("rect").data([n]).join(i=>i.append("rect"),i=>i,i=>i.remove()).attr("x",i=>-i.width).attr("y",0).attr("width",i=>i.width*2).attr("height",i=>i.height)})}const IC=(t,{selection:e,computedData$:n,visibleComputedRankingData$:r,rankingScaleList$:a,xScale$:i,fullParams$:o,fullDataFormatter$:l,fullChartParams$:u,transitionEase$:s,containerPosition$:c,containerSize$:d,isCategorySeprate$:f})=>{const h=new J,p=W(t,"box"),g=W(t,"text"),m=Jt(t,"clipPath-box"),b=xa({selection:e,pluginName:t,clipPathID:null,computedData$:n,containerPosition$:c,isCategorySeprate$:f}).pipe(w(h)),y=o.pipe(L(x=>x.barLabel.position),H(),O(x=>Ln(()=>x==="inside",i,Oe(()=>0))));return d.subscribe(x=>{const v=e.selectAll("defs").data([m]).join("defs"),_=[{id:m,width:x.width,height:x.height}];RZ({defsSelection:v,clipPathData:_})}),G({containerSelection:b,fullParams:o,containerSize:d,fullDataFormatter:l,fullChartParams:u,transitionEase:s,visibleComputedRankingData:r,rankingScaleList:a,valueScale:y}).pipe(w(h),O(async x=>x)).subscribe(x=>{x.containerSelection.each((v,_,D)=>{const C=Y(D[_]),A=x.rankingScaleList[_];if(!A)return;const $=C.selectAll(`g.${p}`).data([_]).join("g").attr("class",p).attr("clip-path",`url(#${m})`),T=C.selectAll(`g.${g}`).data([x.fullParams]).join("g").classed(g,!0);MZ({selection:$,fullParams:x.fullParams,fullChartParams:x.fullChartParams,transitionEase:x.transitionEase,rankingScale:A,categoryData:x.visibleComputedRankingData[_],valueScale:x.valueScale}),LZ({selection:T,textClassName:g,fullParams:x.fullParams,containerSize:x.containerSize,fullDataFormatter:x.fullDataFormatter,fullChartParams:x.fullChartParams})})}),()=>{h.next(void 0)}};function IZ({containerSelection:t,paddingGClassName:e,itemGClassName:n,bubbleData:r,transitionDuration:a,transitionEase:i,ordinalPadding:o}){return t.each((l,u,s)=>{Y(s[u]).selectAll(`g.${e}`).data([0]).join(c=>c.append("g").attr("class",e),c=>c,c=>c.remove()).attr("transform",`translate(${o}, 0)`).each((c,d,f)=>{Y(f[d]).selectAll(`g.${n}`).data(r[u]??[],h=>h.id).join(h=>h.append("g").attr("class",n).attr("cursor","pointer").attr("transform",p=>`translate(0, ${p.graphicValue[0]?p.graphicValue[0].y:0})`),h=>h.transition().duration(a).ease(ga(i)).attr("transform",p=>`translate(0, ${p.graphicValue[0]?p.graphicValue[0].y:0})`),h=>h.remove())})}),t.selectAll(`g.${n}`)}function kZ({graphicGSelection:t,transitionDuration:e}){return t.each((n,r,a)=>{Y(a[r]).selectAll("circle").data(n.graphicValue).join("circle").attr("fill",i=>n.color).style("opacity",i=>i.opacity).transition().duration(100).ease(on).attr("cx",i=>i.x).attr("r",i=>i.r)}),t.selectAll("circle")}function NZ({defsSelection:t,clipPathData:e}){t.selectAll("clipPath").data(e).join(n=>n.append("clipPath"),n=>n,n=>n.remove()).attr("id",n=>n.id).each((n,r,a)=>{Y(a[r]).selectAll("rect").data([n]).join(i=>i.append("rect"),i=>i,i=>i.remove()).attr("x",0).attr("y",0).attr("width",i=>i.width).attr("height",i=>i.height)})}function zZ({selection:t,ids:e,fullChartParams:n}){if(t.interrupt("highlight"),!e.length){t.transition("highlight").duration(200).style("opacity",(r,a)=>r.opacity);return}t.each((r,a,i)=>{const o=r._refDatum;e.includes(o.id)?Y(i[a]).style("opacity",l=>l.opacity):Y(i[a]).style("opacity",n.styles.unhighlightedOpacity)})}const OZ=(t,{selection:e,computedData$:n,visibleComputedRankingData$:r,CategoryDataMap$:a,valueLabels$:i,fullParams$:o,fullDataFormatter$:l,fullChartParams$:u,highlight$:s,rankingItemHeight$:c,rankingScaleList$:d,containerPosition$:f,containerSize$:h,ordinalScale$:p,ordinalPadding$:g,isCategorySeprate$:m,event$:b})=>{const y=new J,x=Jt(t,"clipPath-box"),v=W(t,"padding-g"),_=W(t,"item-g"),D=xa({selection:e,pluginName:t,clipPathID:x,computedData$:n,containerPosition$:f,isCategorySeprate$:m}).pipe(w(y));h.subscribe(F=>{const M=e.selectAll("defs").data([x]).join("defs"),z=[{id:x,width:F.width,height:F.height}];NZ({defsSelection:M,clipPathData:z})});const C=G({sizeAdjust:o.pipe(L(F=>F.bubble.sizeAdjust),H()),rankingItemHeight:c}).pipe(w(y),O(async F=>F),L(F=>F.rankingItemHeight*F.sizeAdjust/2),H(),nt(1)),A=G({visibleComputedRankingData:r,scaleDomain:l.pipe(L(F=>F.xAxis.scaleDomain))}).pipe(w(y),O(async F=>F),L(F=>{const M=F.visibleComputedRankingData[0]&&F.visibleComputedRankingData[0][0]?F.visibleComputedRankingData[0][0].value:[];let z=F.scaleDomain[0]==="auto"||F.scaleDomain[0]==="min"?0:F.scaleDomain[0],V=F.scaleDomain[1]==="auto"||F.scaleDomain[1]==="max"?M.length-1:F.scaleDomain[1];return[z,V]}),H((F,M)=>F[0]===M[0]&&F[1]===M[1]),nt(1)),$=G({visibleComputedRankingData:r,scaleDomain:A}).pipe(w(y),O(async F=>F),L(F=>{let M=0,z=0;return F.visibleComputedRankingData.forEach(V=>{V.forEach(K=>{for(let q=F.scaleDomain[0];q<=F.scaleDomain[1];q++){const j=K.value[q];j!=null&&(j>z?z=j:j<M&&(M=j))}})}),[M,z]}),H(),nt(1)),T=G({minMaxValue:$,fullParams:o}).pipe(w(y),L(F=>Wn().domain(F.minMaxValue).range(F.fullParams.bubble.valueLinearOpacity)),H(),nt(1)),S=G({maxRadius:C,minMaxValue:$,arcScaleType:o.pipe(L(F=>F.bubble.arcScaleType),H())}).pipe(w(y),O(async F=>F),L(F=>Xn().domain([0,F.minMaxValue[1]]).range([2,F.maxRadius]).exponent(F.arcScaleType==="area"?.5:1)),H(),nt(1)),k=G({visibleComputedRankingData:r,radiusScale:S,rankingScaleList:d,ordinalScale:p,opacityScale:T,scaleDomain:A,containerSize:h}).pipe(w(y),O(async F=>F),L(F=>F.visibleComputedRankingData.map((M,z)=>{const V=F.rankingScaleList[z];return M.map((K,q)=>{const j=K,U=j.value.map((et,st)=>{let pt=F.ordinalScale(st);return F.scaleDomain[0]===F.scaleDomain[1]&&(st>F.scaleDomain[0]?pt+=F.containerSize.width*1.5:st<F.scaleDomain[0]&&(pt-=F.containerSize.width*1.5)),{valueIndex:st,x:pt,y:V(j.label),r:F.radiusScale(et),opacity:F.opacityScale(et),_refDatum:j}});return{...j,graphicValue:U}})}))),N=u.pipe(w(y),L(F=>F.transitionDuration),H()),E=u.pipe(w(y),L(F=>F.transitionEase),H()),P=G({containerSelection:D,bubbleData:k,rankingScaleList:d,transitionDuration:N,transitionEase:E,ordinalPadding:g}).pipe(w(y),O(async F=>F),L(F=>IZ({containerSelection:F.containerSelection,paddingGClassName:v,itemGClassName:_,bubbleData:F.bubbleData,transitionDuration:F.transitionDuration,transitionEase:F.transitionEase,ordinalPadding:F.ordinalPadding}))),B=G({graphicGSelection:P,ordinalScale:p,bubbleData:k,transitionDuration:N,fullParams:o}).pipe(w(y),O(async F=>F),L(F=>kZ({graphicGSelection:F.graphicGSelection,transitionDuration:F.transitionDuration})),nt(1)),R=u.pipe(w(y),L(F=>F.highlightTarget),H());return G({graphicSelection:B,computedData:n,CategoryDataMap:a,valueLabels:i,highlightTarget:R,fullDataFormatter:l}).pipe(w(y),O(async F=>F)).subscribe(F=>{F.graphicSelection.on("mouseover",(M,z)=>{const V=z._refDatum;b.next({type:"multiValue",eventName:"mouseover",pluginName:t,highlightTarget:F.highlightTarget,valueDetail:[{value:V.value[z.valueIndex],valueIndex:z.valueIndex,valueLabel:F.valueLabels[z.valueIndex]}],datum:V,category:F.CategoryDataMap.get(V.categoryLabel),categoryIndex:V.categoryIndex,categoryLabel:V.categoryLabel,data:F.computedData,event:M})}).on("mousemove",(M,z)=>{const V=z._refDatum;b.next({type:"multiValue",eventName:"mousemove",pluginName:t,highlightTarget:F.highlightTarget,valueDetail:[{value:V.value[z.valueIndex],valueIndex:z.valueIndex,valueLabel:F.valueLabels[z.valueIndex]}],datum:V,category:F.CategoryDataMap.get(V.categoryLabel),categoryIndex:V.categoryIndex,categoryLabel:V.categoryLabel,data:F.computedData,event:M})}).on("mouseout",(M,z)=>{const V=z._refDatum;b.next({type:"multiValue",eventName:"mouseout",pluginName:t,highlightTarget:F.highlightTarget,valueDetail:[{value:V.value[z.valueIndex],valueIndex:z.valueIndex,valueLabel:F.valueLabels[z.valueIndex]}],datum:V,category:F.CategoryDataMap.get(V.categoryLabel),categoryIndex:V.categoryIndex,categoryLabel:V.categoryLabel,data:F.computedData,event:M})}).on("click",(M,z)=>{const V=z._refDatum;b.next({type:"multiValue",eventName:"click",pluginName:t,highlightTarget:F.highlightTarget,valueDetail:[{value:V.value[z.valueIndex],valueIndex:z.valueIndex,valueLabel:F.valueLabels[z.valueIndex]}],datum:V,category:F.CategoryDataMap.get(V.categoryLabel),categoryIndex:V.categoryIndex,categoryLabel:V.categoryLabel,data:F.computedData,event:M})})}),G({graphicSelection:B,highlight:s.pipe(L(F=>F.map(M=>M.id))),fullChartParams:u}).pipe(w(y),O(async F=>F)).subscribe(F=>{zZ({selection:F.graphicSelection,ids:F.highlight,fullChartParams:F.fullChartParams})}),()=>{y.next(void 0)}},kl="OrdinalBubbles",GZ={name:kl,defaultParams:CC,layerIndex:be,validator:(t,{validateColumns:e})=>{const n=e(t,{bubble:{toBeTypes:["object"]},itemLabel:{toBeTypes:["object"]},axisLabel:{toBeTypes:["object"]},rankingAmount:{toBe:'number | "auto"',test:r=>typeof r=="number"||r==="auto"}});if(t.bubble){const r=e(t.bubble,{sizeAdjust:{toBeTypes:["number"]},arcScaleType:{toBe:'"area" | "radius"',test:a=>a==="area"||a==="radius"},valueLinearOpacity:{toBe:"[number, number]",test:a=>Array.isArray(a)&&a.length===2&&typeof a[0]=="number"&&typeof a[1]=="number"}});if(r.status==="error")return r}if(t.itemLabel){const r=e(t.itemLabel,{padding:{toBeTypes:["number"]},colorType:{toBeOption:"ColorType"}});if(r.status==="error")return r}if(t.axisLabel){const r=e(t.axisLabel,{offset:{toBe:"[number, number]",test:a=>Array.isArray(a)&&a.length===2&&typeof a[0]=="number"&&typeof a[1]=="number"},colorType:{toBeOption:"ColorType"}});if(r.status==="error")return r}return n}},jZ=oe(GZ)(({selection:t,name:e,observer:n,subject:r})=>{const a=t.append("g").attr("class",`${kl}-bubbles`),i=t.append("g").attr("class",`${kl}-labels`),o=new J,l=n.fullParams$.pipe(w(o),L(p=>({barLabel:{...p.itemLabel,position:"outside"},axisLabel:{...p.axisLabel}}))),u=n.fullParams$.pipe(w(o),L(p=>p.rankingAmount),H()),s=BC({containerSize$:n.containerSize$,visibleComputedData$:n.visibleComputedData$,textSizePx$:n.textSizePx$,rankingAmount$:u}).pipe(w(o),nt(1)),c=EC({containerSize$:n.containerSize$,textSizePx$:n.textSizePx$,computedRankingAmount$:s}).pipe(w(o),nt(1)),d=LC({visibleComputedRankingData$:n.visibleComputedRankingBySumData$,rankingItemHeight$:c}).pipe(w(o),nt(1)),f=IC(`${kl}-labels`,{selection:i,computedData$:n.computedData$,visibleComputedRankingData$:n.visibleComputedRankingBySumData$,rankingScaleList$:d,xScale$:n.xScale$,fullParams$:l,fullDataFormatter$:n.fullDataFormatter$,fullChartParams$:n.fullChartParams$,transitionEase$:n.fullChartParams$.pipe(L(p=>p.transitionEase),H()),containerPosition$:n.containerPosition$,containerSize$:n.containerSize$,isCategorySeprate$:n.isCategorySeprate$}),h=OZ(`${kl}-bubbles`,{selection:a,computedData$:n.computedData$,visibleComputedRankingData$:n.visibleComputedRankingBySumData$,CategoryDataMap$:n.CategoryDataMap$,valueLabels$:n.valueLabels$,fullParams$:n.fullParams$,fullDataFormatter$:n.fullDataFormatter$,fullChartParams$:n.fullChartParams$,highlight$:n.highlight$,rankingItemHeight$:c,rankingScaleList$:d,containerPosition$:n.containerPosition$,containerSize$:n.containerSize$,ordinalPadding$:n.ordinalPadding$,ordinalScale$:n.ordinalScale$,isCategorySeprate$:n.isCategorySeprate$,event$:r.event$});return()=>{o.next(void 0),f(),h()}}),kC=(t,{rootSelection:e,dataFormatter$:n,fullDataFormatter$:r,xyMinMax$:a,layout$:i})=>{const o=new J;let l={k:1,x:0,y:0};const u=r.pipe(L(f=>f.xAxis),Na()),s=r.pipe(L(f=>f.yAxis),Na()),c=new bt(f=>{G({initXAxis:u,layout:i,xyMinMax:a}).pipe(w(o),O(async h=>h)).subscribe(h=>{const p=hh({maxValue:h.xyMinMax.maxX,minValue:h.xyMinMax.minX,axisWidth:h.layout.width,scaleDomain:h.initXAxis.scaleDomain,scaleRange:h.initXAxis.scaleRange});f.next(p)})}),d=G({initXAxis:u,initYAxis:s,xyMinMax:a}).pipe(w(o),O(async f=>f),L(f=>{let h=f.xyMinMax.minX,p=f.xyMinMax.maxX,g=f.xyMinMax.minY,m=f.xyMinMax.maxY;return f.initXAxis.scaleDomain[0]==="auto"&&h>0&&(h=0),f.initXAxis.scaleDomain[1]==="auto"&&p<0&&(p=0),f.initYAxis.scaleDomain[0]==="auto"&&g>0&&(g=0),f.initYAxis.scaleDomain[1]==="auto"&&m<0&&(m=0),{minX:h,maxX:p,minY:g,maxY:m}}));return G({initXScale:c,fullDataFormatter:r,minMaxScaleDomain:d}).pipe(w(o),O(async f=>f)).subscribe(f=>{const h=f.initXScale.copy(),p=Qn().on("zoom",function(g){const m=g.transform,b=v=>{const _=Math.round(v);return Math.min(f.minMaxScaleDomain.maxX,Math.max(f.minMaxScaleDomain.minX,_))},y=m.rescaleX(h).domain().map(b);y[0]<=f.minMaxScaleDomain.minX&&y[1]>=f.minMaxScaleDomain.maxX?m.k<l.k&&(m.k=l.k,m.x=l.x,m.y=l.y):y[1]-y[0]<=1&&m.k>l.k&&(m.k=l.k,m.x=l.x,m.y=l.y),l.k=m.k,l.x=m.x,l.y=m.y;const x={...f.fullDataFormatter,xAxis:{...f.fullDataFormatter.xAxis,scaleDomain:y}};n.next(x)});e.call(p)}),()=>{o.next(void 0),e.call(Qn().on("zoom",null))}},NC="OrdinalZoom",VZ={name:NC,defaultParams:Xg,layerIndex:vg,validator:(t,{validateColumns:e})=>({status:"success",columnName:"",expectToBe:""})},YZ=oe(VZ)(({selection:t,rootSelection:e,name:n,observer:r,subject:a})=>{const i=new J,o=r.computedData$.pipe(w(i),L(u=>({minX:0,maxX:u[0]&&u[0][0]?u[0][0].value.length-1:0,minY:0,maxY:0}))),l=kC(NC,{rootSelection:e,fullDataFormatter$:r.fullDataFormatter$,xyMinMax$:o,layout$:r.layout$,dataFormatter$:a.dataFormatter$});return()=>{i.next(void 0),l()}}),HZ="start",WZ="middle";function XZ({selection:t,fullParams:e,fullChartParams:n,rankingScale:r,xScale:a,categoryData:i,computedRankingAmount:o}){const l=i.slice(0,o+1);return t.selectAll("g").data(l,u=>u.id).join(u=>u.append("g").attr("transform",s=>`translate(${a(s.value[s.xValueIndex]??0)+e.padding}, ${r(s.label)})`),u=>u.transition().duration(n.transitionDuration).ease(on).attr("transform",s=>`translate(${a(s.value[s.xValueIndex]??0)+e.padding}, ${r(s.label)})`),u=>u.remove()).each((u,s,c)=>{Y(c[s]).selectAll("text").data([u]).join(d=>d.append("text"),d=>d,d=>d.remove()).attr("text-anchor",HZ).attr("dominant-baseline",WZ).attr("font-size",n.styles.textSize).style("fill",ht(e.colorType,n)).transition().duration(n.transitionDuration).ease(on).textTween(d=>{const f=d.xValueIndex,h=f===0?0:f-1,p=d.value[h],g=d.value[f];return m=>{const b=m===1?Re(p,g)(m):jo(p,g)(m);return Fn(b,e.format)}})}).selectAll("text")}function UZ({defsSelection:t,clipPathData:e}){t.selectAll("clipPath").data(e).join(n=>n.append("clipPath"),n=>n,n=>n.remove()).attr("id",n=>n.id).each((n,r,a)=>{Y(a[r]).selectAll("rect").data([n]).join(i=>i.append("rect"),i=>i,i=>i.remove()).attr("x",i=>0).attr("y",0).attr("width",i=>i.width*1.5).attr("height",i=>i.height)})}const qZ=(t,{selection:e,computedData$:n,visibleComputedRankingData$:r,rankingScaleList$:a,xScale$:i,computedRankingAmount$:o,fullParams$:l,fullChartParams$:u,containerPosition$:s,containerSize$:c,isCategorySeprate$:d})=>{const f=new J,h=W(t,"box"),p=Jt(t,"clipPath-box"),g=xa({selection:e,pluginName:t,clipPathID:null,computedData$:n,containerPosition$:s,isCategorySeprate$:d}).pipe(w(f));return c.subscribe(m=>{const b=e.selectAll("defs").data([p]).join("defs"),y=[{id:p,width:m.width,height:m.height}];UZ({defsSelection:b,clipPathData:y})}),G({containerSelection:g,fullParams:l,fullChartParams:u,visibleComputedRankingData:r,rankingScaleList:a,xScale:i,computedRankingAmount:o}).pipe(w(f),O(async m=>m)).subscribe(m=>{m.containerSelection.each((b,y,x)=>{const v=Y(x[y]),_=m.rankingScaleList[y];if(!_)return;const D=v.selectAll(`g.${h}`).data([y]).join("g").attr("class",h).attr("clip-path",`url(#${p})`);XZ({selection:D,fullParams:m.fullParams,fullChartParams:m.fullChartParams,rankingScale:_,categoryData:m.visibleComputedRankingData[y],xScale:m.xScale,computedRankingAmount:m.computedRankingAmount})})}),()=>{f.next(void 0)}};function ZZ({containerSelection:t,visibleComputedRankingData:e,rankingScaleList:n,transitionDuration:r}){return t.each((a,i,o)=>{Y(o[i]).selectAll("g").data(e[i]??[],l=>l.id).join(l=>l.append("g").attr("cursor","pointer").attr("transform",u=>`translate(0, ${n[i]&&n[i](u.label)})`),l=>l.transition().duration(r).ease(on).attr("transform",u=>`translate(0, ${n[i]&&n[i](u.label)})`),l=>l.remove())}),t.selectAll("g")}function JZ({graphicGSelection:t,rectClassName:e,xScale:n,fullParams:r,barWidth:a,transitionDuration:i}){return t.each((o,l,u)=>{const s=a/2,c=r.bar.barRadius===!0?s:r.bar.barRadius===!1?0:typeof r.bar.barRadius=="number"?r.bar.barRadius:0;Y(u[l]).selectAll(`rect.${e}`).data([o],d=>d.id).join(d=>d.append("rect").classed(e,!0).attr("cursor","pointer").attr("width",f=>n(f.value[f.xValueIndex])??1).attr("height",a),d=>d.transition().duration(i).ease(on).attr("width",f=>n(f.value[f.xValueIndex])??1).attr("height",a),d=>d.remove()).attr("transform",`translate(0, ${-s})`).attr("fill",d=>d.color).attr("rx",c).attr("ry",c)}),t.selectAll(`rect.${e}`)}function KZ({defsSelection:t,clipPathData:e}){t.selectAll("clipPath").data(e).join(n=>n.append("clipPath"),n=>n,n=>n.remove()).attr("id",n=>n.id).each((n,r,a)=>{Y(a[r]).selectAll("rect").data([n]).join(i=>i.append("rect"),i=>i,i=>i.remove()).attr("x",0).attr("y",0).attr("width",i=>i.width).attr("height",i=>i.height)})}function QZ({selection:t,ids:e,fullChartParams:n}){if(t.interrupt("highlight"),!e.length){t.transition("highlight").duration(200).style("opacity",1);return}t.each((r,a,i)=>{e.includes(r.id)?Y(i[a]).style("opacity",1):Y(i[a]).style("opacity",n.styles.unhighlightedOpacity)})}const tJ=(t,{selection:e,computedData$:n,visibleComputedRankingData$:r,CategoryDataMap$:a,fullParams$:i,fullDataFormatter$:o,fullChartParams$:l,highlight$:u,rankingItemHeight$:s,rankingScaleList$:c,containerPosition$:d,containerSize$:f,xScale$:h,isCategorySeprate$:p,event$:g})=>{const m=new J,b=Jt(t,"clipPath-box"),y=W(t,"rect"),x=xa({selection:e,pluginName:t,clipPathID:b,computedData$:n,containerPosition$:d,isCategorySeprate$:p}).pipe(w(m));f.subscribe($=>{const T=e.selectAll("defs").data([b]).join("defs"),S=[{id:b,width:$.width,height:$.height}];KZ({defsSelection:T,clipPathData:S})});const v=G({fullParams:i,rankingItemHeight:s}).pipe(w(m),O(async $=>$),L($=>$.fullParams.bar.barWidth?$.fullParams.bar.barWidth:$.rankingItemHeight-$.fullParams.bar.barPadding),H()),_=l.pipe(w(m),L($=>$.transitionDuration),H()),D=G({containerSelection:x,visibleComputedRankingData:r,rankingScaleList:c,transitionDuration:_}).pipe(w(m),O(async $=>$),L($=>ZZ({containerSelection:$.containerSelection,visibleComputedRankingData:$.visibleComputedRankingData,rankingScaleList:$.rankingScaleList,transitionDuration:$.transitionDuration}))),C=G({graphicGSelection:D,xScale:h,barWidth:v,transitionDuration:_,fullParams:i}).pipe(w(m),O(async $=>$),L($=>JZ({graphicGSelection:$.graphicGSelection,rectClassName:y,xScale:$.xScale,fullParams:$.fullParams,barWidth:$.barWidth,transitionDuration:$.transitionDuration})),nt(1)),A=l.pipe(w(m),L($=>$.highlightTarget),H());return G({graphicSelection:C,computedData:n,CategoryDataMap:a,highlightTarget:A,fullDataFormatter:o}).pipe(w(m),O(async $=>$)).subscribe($=>{$.graphicSelection.on("mouseover",(T,S)=>{g.next({type:"multiValue",eventName:"mouseover",pluginName:t,highlightTarget:$.highlightTarget,valueDetail:[{value:S.value[S.xValueIndex],valueIndex:S.xValueIndex,valueLabel:$.fullDataFormatter.valueLabels[S.xValueIndex]??String(S.xValueIndex)}],datum:S,category:$.CategoryDataMap.get(S.categoryLabel),categoryIndex:S.categoryIndex,categoryLabel:S.categoryLabel,data:$.computedData,event:T})}).on("mousemove",(T,S)=>{g.next({type:"multiValue",eventName:"mousemove",pluginName:t,highlightTarget:$.highlightTarget,valueDetail:[{value:S.value[S.xValueIndex],valueIndex:S.xValueIndex,valueLabel:$.fullDataFormatter.valueLabels[S.xValueIndex]??String(S.xValueIndex)}],datum:S,category:$.CategoryDataMap.get(S.categoryLabel),categoryIndex:S.categoryIndex,categoryLabel:S.categoryLabel,data:$.computedData,event:T})}).on("mouseout",(T,S)=>{g.next({type:"multiValue",eventName:"mouseout",pluginName:t,highlightTarget:$.highlightTarget,valueDetail:[{value:S.value[S.xValueIndex],valueIndex:S.xValueIndex,valueLabel:$.fullDataFormatter.valueLabels[S.xValueIndex]??String(S.xValueIndex)}],datum:S,category:$.CategoryDataMap.get(S.categoryLabel),categoryIndex:S.categoryIndex,categoryLabel:S.categoryLabel,data:$.computedData,event:T})}).on("click",(T,S)=>{g.next({type:"multiValue",eventName:"click",pluginName:t,highlightTarget:$.highlightTarget,valueDetail:[{value:S.value[S.xValueIndex],valueIndex:S.xValueIndex,valueLabel:$.fullDataFormatter.valueLabels[S.xValueIndex]??String(S.xValueIndex)}],datum:S,category:$.CategoryDataMap.get(S.categoryLabel),categoryIndex:S.categoryIndex,categoryLabel:S.categoryLabel,data:$.computedData,event:T})})}),G({graphicSelection:C,highlight:u.pipe(L($=>$.map(T=>T.id))),fullChartParams:l}).pipe(w(m),O(async $=>$)).subscribe($=>{QZ({selection:$.graphicSelection,ids:$.highlight,fullChartParams:$.fullChartParams})}),()=>{m.next(void 0)}},va="RacingBars",eJ={name:va,defaultParams:Vg,layerIndex:be,validator:(t,{validateColumns:e})=>{const n=e(t,{bar:{toBeTypes:["object"]},barLabel:{toBeTypes:["object"]},valueLabel:{toBeTypes:["object"]},axisLabel:{toBeTypes:["object"]},rankingAmount:{toBe:'number | "auto"',test:r=>typeof r=="number"||r==="auto"},autorun:{toBeTypes:["boolean"]},loop:{toBeTypes:["boolean"]}});if(t.bar){const r=e(t.bar,{barWidth:{toBeTypes:["number"]},barPadding:{toBeTypes:["number"]},barRadius:{toBeTypes:["number","boolean"]}});if(r.status==="error")return r}if(t.barLabel){const r=e(t.barLabel,{position:{toBe:'"inside" | "outside" | "none"',test:a=>a==="inside"||a==="outside"||a==="none"},padding:{toBeTypes:["number"]},colorType:{toBeOption:"ColorType"}});if(r.status==="error")return r}if(t.valueLabel){const r=e(t.valueLabel,{padding:{toBeTypes:["number"]},colorType:{toBeOption:"ColorType"},format:{toBeTypes:["Function"]}});if(r.status==="error")return r}if(t.axisLabel){const r=e(t.axisLabel,{offset:{toBe:"[number, number]",test:a=>Array.isArray(a)&&a.length===2&&typeof a[0]=="number"&&typeof a[1]=="number"},colorType:{toBeOption:"ColorType"}});if(r.status==="error")return r}return n}},nJ=oe(eJ)(({selection:t,name:e,observer:n,subject:r})=>{const a=t.append("g").attr("class",`${va}-bars`),i=t.append("g").attr("class",`${va}-labels`),o=t.append("g").attr("class",`${va}-valueLabels`),l=new J,u=n.fullParams$.pipe(w(l),L(_=>_.valueLabel)),s=n.fullParams$.pipe(w(l),L(_=>_.rankingAmount),H()),c=BC({containerSize$:n.containerSize$,visibleComputedData$:n.visibleComputedData$,textSizePx$:n.textSizePx$,rankingAmount$:s}).pipe(w(l),nt(1)),d=EC({containerSize$:n.containerSize$,textSizePx$:n.textSizePx$,computedRankingAmount$:c}).pipe(w(l),nt(1)),f=LC({visibleComputedRankingData$:n.visibleComputedRankingByIndexData$,rankingItemHeight$:d}).pipe(w(l),nt(1)),h=IC(`${va}-labels`,{selection:i,computedData$:n.computedData$,visibleComputedRankingData$:n.visibleComputedRankingByIndexData$,rankingScaleList$:f,xScale$:n.xScale$,fullParams$:n.fullParams$,fullDataFormatter$:n.fullDataFormatter$,fullChartParams$:n.fullChartParams$,transitionEase$:Oe("easeLinear"),containerPosition$:n.containerPosition$,containerSize$:n.containerSize$,isCategorySeprate$:n.isCategorySeprate$}),p=qZ(`${va}-valueLabels`,{selection:o,computedData$:n.computedData$,visibleComputedRankingData$:n.visibleComputedRankingByIndexData$,rankingScaleList$:f,xScale$:n.xScale$,computedRankingAmount$:c,fullParams$:u,fullChartParams$:n.fullChartParams$,containerPosition$:n.containerPosition$,containerSize$:n.containerSize$,isCategorySeprate$:n.isCategorySeprate$}),g=tJ(`${va}-bars`,{selection:a,computedData$:n.computedData$,visibleComputedRankingData$:n.visibleComputedRankingByIndexData$,CategoryDataMap$:n.CategoryDataMap$,fullParams$:n.fullParams$,fullDataFormatter$:n.fullDataFormatter$,fullChartParams$:n.fullChartParams$,highlight$:n.highlight$,rankingItemHeight$:d,rankingScaleList$:f,xScale$:n.xScale$,containerPosition$:n.containerPosition$,containerSize$:n.containerSize$,isCategorySeprate$:n.isCategorySeprate$,event$:r.event$}),m=n.visibleComputedRankingByIndexData$.pipe(w(l),L(_=>(_[0]&&_[0][0]&&_[0][0].value.length)??0),H()),b=n.fullParams$.pipe(w(l),L(_=>_.autorun),H()),y=n.fullParams$.pipe(w(l),L(_=>_.loop),H()),x=n.fullChartParams$.pipe(w(l),L(_=>_.transitionDuration),H());let v=!0;return G({autorun:b,loop:y,valueAmount:m,tickDurationPeriod:x,fullDataFormatter:n.fullDataFormatter$}).pipe(w(l),O(async _=>_)).subscribe(({autorun:_,loop:D,valueAmount:C,tickDurationPeriod:A,fullDataFormatter:$})=>{if(v!=!1&&_){const T=$.xAxis.valueIndex+1;T<C?(v=!1,setTimeout(()=>{r.dataFormatter$.next({...$,xAxis:{...$.xAxis,valueIndex:T}}),v=!0},A)):T>=C&&D&&(v=!1,setTimeout(()=>{r.dataFormatter$.next({...$,xAxis:{...$.xAxis,valueIndex:0}}),v=!0},A))}}),()=>{l.next(void 0),h(),p(),g()}}),Nl="RacingCounterTexts",zC=W(Nl,"container"),Oi=W(Nl,"box"),Zg=W(Nl,"text"),rJ={name:Nl,defaultParams:Yg,layerIndex:gf,validator:(t,{validateColumns:e})=>e(t,{renderFn:{toBeTypes:["Function"]},textAttrs:{toBeTypes:["object[]"]},textStyles:{toBeTypes:["object[]"]},paddingRight:{toBeTypes:["number"]},paddingBottom:{toBeTypes:["number"]}})};function aJ({selection:t,data:e,fullParams:n,containerSize:r}){const a=r.width-n.paddingRight,i=r.height-n.paddingBottom;return t.selectAll(`g.${Oi}`).data([Oi]).join("g").classed(Oi,!0).attr("transform",`translate(${a}, ${i})`).each((o,l,u)=>{Y(u[l]).selectAll(`text.${Zg}`).data(e).join("text").classed(Zg,!0).each((s,c,d)=>{const f=Y(d[c]).text(s.text);Object.keys(s.attr).forEach(h=>{f.attr(h,s.attr[h])}),Object.keys(s.style).forEach(h=>{f.style(h,s.style[h])})})}).selectAll(`text.${Zg}`)}function iJ({computedData:t,valueLabel:e,valueIndex:n,renderFn:r,textAttrs:a,textStyles:i}){const o=e||String(n),l=r(o,n,t);return(Array.isArray(l)?l:[l]).map((u,s)=>({text:u,attr:a[s],style:i[s]}))}function oJ(t,e){const n=new J;return G({textData:e.textData$,fullParams:e.fullParams$,containerSize:e.containerSize$}).pipe(w(n)).subscribe(r=>{aJ({selection:e.containerSelection,data:r.textData,fullParams:r.fullParams,containerSize:r.containerSize})}),()=>{n.next(void 0)}}const lJ=oe(rJ)(({selection:t,name:e,observer:n,subject:r})=>{const a=new J,i=G({computedData:n.computedData$.pipe(H((s,c)=>s.length===c.length)),isCategorySeprate:n.isCategorySeprate$}).pipe(w(a),O(async s=>s),L(s=>s.isCategorySeprate?s.computedData:[s.computedData[0]]),L((s,c)=>t.selectAll(`g.${zC}`).data(s,d=>d&&d[0]?d[0].categoryIndex:c).join("g").classed(zC,!0)));i.pipe(w(a),L((s,c)=>s.selectAll(`g.${Oi}`).data([Oi]).join("g").classed(Oi,!0))),G({containerSelection:i,gridContainerPosition:n.containerPosition$}).pipe(w(a),O(async s=>s)).subscribe(s=>{s.containerSelection.attr("transform",(c,d)=>{const f=s.gridContainerPosition[d]??s.gridContainerPosition[0],h=f.translate;return f.scale,`translate(${h[0]}, ${h[1]})`})});const o=G({xyValueIndex:n.xyValueIndex$,fullDataFormatter:n.fullDataFormatter$}).pipe(w(a),O(async s=>s),L(s=>s.fullDataFormatter.valueLabels[s.xyValueIndex[0]]??""),H(),nt(1)),l=G({xyValueIndex:n.xyValueIndex$,valueLabel:o,computedData:n.computedData$,fullParams:n.fullParams$}).pipe(w(a),O(async s=>s),L(s=>iJ({valueIndex:s.xyValueIndex[0],valueLabel:s.valueLabel,computedData:s.computedData,renderFn:s.fullParams.renderFn,textAttrs:s.fullParams.textAttrs,textStyles:s.fullParams.textStyles})),nt(1)),u=[];return i.pipe(w(a)).subscribe(s=>{u.forEach(c=>c()),s.each((c,d,f)=>{const h=Y(f[d]);n.visibleComputedRankingByIndexData$.pipe(w(a),L(p=>p[d]??p[0])),n.containerPosition$.pipe(w(a),L(p=>p[d]??p[0])),u[d]=oJ(Nl,{containerSelection:h,textData$:l,fullParams$:n.fullParams$,xyValueIndex$:n.xyValueIndex$,containerSize$:n.containerSize$})})}),()=>{a.next(void 0),u.forEach(s=>s())}}),sJ=6,uJ="middle",cJ="hanging",fJ="start",dJ="hanging";function hJ({selection:t,position:e,xLabelClassName:n,fullParams:r,containerSize:a,fullDataFormatter:i,fullChartParams:o}){let l=r.tickPadding+r.labelOffset[0],u,s;e==="top"?(u=0,s=-r.tickPadding-r.labelOffset[1]):(u=a.height,s=r.tickPadding+r.labelOffset[1]);let c=s;t.selectAll(`g.${n}`).data([r]).join("g").classed(n,!0).each((d,f,h)=>{Y(h[f]).selectAll("text").data([d]).join(p=>p.append("text").style("font-weight","bold"),p=>p,p=>p.remove()).attr("text-anchor",fJ).attr("dominant-baseline",dJ).attr("font-size",o.styles.textSize).style("fill",ht(r.labelColorType,o)).attr("x",l).attr("y",c).text(p=>i.xAxis.label)}).attr("transform",d=>`translate(${a.width}, ${u})`)}function pJ({selection:t,position:e,xAxisClassName:n,fullParams:r,containerSize:a,fullChartParams:i,xScale:o,transitionDuration:l}){let u,s;e==="top"?(u=0,s=su(o)):(u=a.height,s=rv(o));const c=t.selectAll(`g.${n}`).data([r]).join("g").classed(n,!0).attr("transform",`translate(0, ${u})`);let d=r.tickPadding;const f=s.scale(o).ticks(r.ticks).tickFormat(p=>Fn(p,r.tickFormat)).tickSize(r.tickFullLine==!0?-a.height:sJ).tickSizeOuter(-a.height).tickPadding(d),h=c.transition().duration(l).ease(on).call(f);return h.selectAll("line").style("fill","none").style("stroke",r.tickLineVisible==!0?ht(r.tickColorType,i):"none").style("stroke-dasharray",r.tickFullLineDasharray).attr("pointer-events","none"),h.selectAll("path").style("fill","none").style("stroke",r.axisLineVisible==!0?ht(r.axisLineColorType,i):"none").style("shape-rendering","crispEdges"),c.selectAll("text").attr("font-size",i.styles.textSize).style("color",ht(r.tickTextColorType,i)).attr("text-anchor",uJ).attr("dominant-baseline",cJ).attr("dy",0),c}const Jg=(t,{selection:e,position$:n,computedData$:r,fullParams$:a,fullDataFormatter$:i,fullChartParams$:o,isCategorySeprate$:l,containerPosition$:u,containerSize$:s,xScale$:c,transitionDuration$:d})=>{const f=new J,h=W(t,"xAxisG"),p=W(t,"xAxis"),g=W(t,"xLabel"),m=xa({selection:e,pluginName:t,clipPathID:null,computedData$:r,containerPosition$:u,isCategorySeprate$:l}).pipe(w(f)).pipe(w(f),L((b,y)=>b.selectAll(`g.${h}`).data([h]).join("g").classed(h,!0)));return G({axisSelection:m,position:n,fullParams:a,computedData:r,containerSize:s,fullDataFormatter:i,fullChartParams:o,xScale:c,transitionDuration:d}).pipe(w(f),O(async b=>b)).subscribe(b=>{pJ({selection:b.axisSelection,position:b.position,xAxisClassName:p,fullParams:b.fullParams,containerSize:b.containerSize,fullChartParams:b.fullChartParams,xScale:b.xScale,transitionDuration:b.transitionDuration}),hJ({selection:b.axisSelection,position:b.position,xLabelClassName:g,fullParams:b.fullParams,containerSize:b.containerSize,fullDataFormatter:b.fullDataFormatter,fullChartParams:b.fullChartParams})}),()=>{f.next(void 0)}},OC="RacingValueAxis",mJ={name:OC,defaultParams:Hg,layerIndex:Xe,validator:(t,{validateColumns:e})=>{const n=e(t,{labelOffset:{toBe:"[number, number]",test:r=>Array.isArray(r)&&r.length===2&&typeof r[0]=="number"&&typeof r[1]=="number"},labelColorType:{toBeOption:"ColorType"},axisLineVisible:{toBeTypes:["boolean"]},axisLineColorType:{toBeOption:"ColorType"},ticks:{toBeTypes:["number","null"]},tickFormat:{toBeTypes:["string","Function"]},tickLineVisible:{toBeTypes:["boolean"]},tickPadding:{toBeTypes:["number"]},tickFullLine:{toBeTypes:["boolean"]},tickFullLineDasharray:{toBeTypes:["string"]},tickColorType:{toBeOption:"ColorType"},tickTextColorType:{toBeOption:"ColorType"}});return n.status,n}},gJ=oe(mJ)(({selection:t,name:e,observer:n,subject:r})=>{const a=new J,i=n.fullChartParams$.pipe(w(a),L(l=>l.transitionDuration),H()),o=Jg(OC,{selection:t,position$:Oe("top"),transitionDuration$:i,computedData$:n.computedData$,fullParams$:n.fullParams$,fullDataFormatter$:n.fullDataFormatter$,fullChartParams$:n.fullChartParams$,isCategorySeprate$:n.isCategorySeprate$,containerPosition$:n.containerPosition$,containerSize$:n.containerSize$,xScale$:n.xScale$});return()=>{a.next(void 0),o()}}),tr="Scatter",yJ={name:tr,defaultParams:PC,layerIndex:Ml,validator:(t,{validateColumns:e})=>e(t,{radius:{toBeTypes:["number"]},fillColorType:{toBeOption:"ColorType"},strokeColorType:{toBeOption:"ColorType"},strokeWidth:{toBeTypes:["number"]}})};function bJ({graphicGSelection:t,circleGClassName:e,circleClassName:n,visibleComputedXYData:r,fullParams:a,fullChartParams:i,graphicReverseScale:o}){const l=s=>{const c=s.size();return i.transitionDuration/c};let u=0;return t.each((s,c,d)=>{Y(d[c]).selectAll("g").data(r[c],f=>f.id).join(f=>(u=l(f),f.append("g").classed(e,!0)),f=>f,f=>f.remove()).attr("transform",f=>`translate(${f.axisX}, ${f.axisY})`).each((f,h,p)=>{Y(p[h]).selectAll("circle").data([f]).join(g=>g.append("circle").style("cursor","pointer").style("vector-effect","non-scaling-stroke").classed(n,!0).attr("opacity",0).transition().delay((m,b)=>h*u).attr("opacity",1),g=>g.transition().duration(50).attr("opacity",1),g=>g.remove()).attr("r",a.radius).attr("fill",(g,m)=>Pt({datum:g,colorType:a.fillColorType,fullChartParams:i})).attr("stroke",(g,m)=>Pt({datum:g,colorType:a.strokeColorType,fullChartParams:i})).attr("stroke-width",a.strokeWidth).attr("transform",`scale(${o[c][0]??1}, ${o[c][1]??1})`)})}),t.selectAll(`circle.${n}`)}function xJ({selection:t,ids:e,fullChartParams:n}){if(t.interrupt("highlight"),!e.length){t.transition("highlight").duration(200).style("opacity",1);return}t.each((r,a,i)=>{e.includes(r.id)?Y(i[a]).style("opacity",1).transition("highlight").duration(200):Y(i[a]).style("opacity",n.styles.unhighlightedOpacity).transition("highlight").duration(200)})}function vJ({defsSelection:t,clipPathData:e}){t.selectAll("clipPath").data(e).join(n=>n.append("clipPath"),n=>n,n=>n.remove()).attr("id",n=>n.id).each((n,r,a)=>{Y(a[r]).selectAll("rect").data([n]).join("rect").attr("x",0).attr("y",0).attr("width",i=>i.width).attr("height",i=>i.height)})}const $J=oe(yJ)(({selection:t,name:e,subject:n,observer:r})=>{const a=new J,i=Jt(tr,"clipPath-box"),o=W(tr,"circleG"),l=W(tr,"circle"),{defsSelection$:u,graphicGSelection$:s}=vf({selection:t,pluginName:tr,clipPathID:i,categoryLabels$:r.categoryLabels$,containerPosition$:r.containerPosition$,graphicTransform$:r.graphicTransform$}),c=G({computedData:r.computedData$,graphicReverseScale:r.graphicReverseScale$}).pipe(w(a),O(async p=>p),L(p=>p.computedData.map((g,m)=>p.graphicReverseScale[m])));G({defsSelection:u,layout:r.layout$}).pipe(w(a),O(async p=>p)).subscribe(p=>{const g=[{id:i,width:p.layout.width,height:p.layout.height}];vJ({defsSelection:p.defsSelection,clipPathData:g})});const d=G({graphicGSelection:s,visibleComputedXYData:r.visibleComputedXYData$,graphicReverseScale:c,fullChartParams:r.fullChartParams$,fullParams:r.fullParams$}).pipe(w(a),O(async p=>p),L(p=>bJ({graphicGSelection:p.graphicGSelection,circleGClassName:o,circleClassName:l,visibleComputedXYData:p.visibleComputedXYData,fullParams:p.fullParams,fullChartParams:p.fullChartParams,graphicReverseScale:p.graphicReverseScale}))),f=r.fullDataFormatter$.pipe(w(a),L(p=>[p.valueLabels[0]??"X",p.valueLabels[1]??"Y"]),H((p,g)=>p[0]===g[0]&&p[1]===g[1])),h=r.fullChartParams$.pipe(w(a),L(p=>p.highlightTarget),H());return G({graphicSelection:d,computedData:r.computedData$,CategoryDataMap:r.CategoryDataMap$,highlightTarget:h,valueLabels:f}).pipe(w(a),O(async p=>p)).subscribe(p=>{p.graphicSelection.on("mouseover",(g,m)=>{n.event$.next({type:"multiValue",eventName:"mouseover",pluginName:tr,highlightTarget:p.highlightTarget,valueDetail:[{value:m.value[0],valueIndex:0,valueLabel:p.valueLabels[0]},{value:m.value[1],valueIndex:1,valueLabel:p.valueLabels[1]}],datum:m,category:p.CategoryDataMap.get(m.categoryLabel),categoryIndex:m.categoryIndex,categoryLabel:m.categoryLabel,data:p.computedData,event:g})}).on("mousemove",(g,m)=>{n.event$.next({type:"multiValue",eventName:"mousemove",pluginName:tr,highlightTarget:p.highlightTarget,valueDetail:[{value:m.value[0],valueIndex:0,valueLabel:p.valueLabels[0]},{value:m.value[1],valueIndex:1,valueLabel:p.valueLabels[1]}],datum:m,category:p.CategoryDataMap.get(m.categoryLabel),categoryIndex:m.categoryIndex,categoryLabel:m.categoryLabel,data:p.computedData,event:g})}).on("mouseout",(g,m)=>{n.event$.next({type:"multiValue",eventName:"mouseout",pluginName:tr,highlightTarget:p.highlightTarget,valueDetail:[{value:m.value[0],valueIndex:0,valueLabel:p.valueLabels[0]},{value:m.value[1],valueIndex:1,valueLabel:p.valueLabels[1]}],datum:m,category:p.CategoryDataMap.get(m.categoryLabel),categoryIndex:m.categoryIndex,categoryLabel:m.categoryLabel,data:p.computedData,event:g})}).on("click",(g,m)=>{n.event$.next({type:"multiValue",eventName:"click",pluginName:tr,highlightTarget:p.highlightTarget,valueDetail:[{value:m.value[0],valueIndex:0,valueLabel:p.valueLabels[0]},{value:m.value[1],valueIndex:1,valueLabel:p.valueLabels[1]}],datum:m,category:p.CategoryDataMap.get(m.categoryLabel),categoryIndex:m.categoryIndex,categoryLabel:m.categoryLabel,data:p.computedData,event:g})})}),G({graphicSelection:d,highlight:r.highlight$.pipe(L(p=>p.map(g=>g.id))),fullChartParams:r.fullChartParams$}).pipe(w(a),O(async p=>p)).subscribe(p=>{xJ({selection:p.graphicSelection,ids:p.highlight,fullChartParams:p.fullChartParams})}),()=>{a.next(void 0)}}),er="ScatterBubbles",SJ=.9,DJ={name:er,defaultParams:FC,layerIndex:Ml,validator:(t,{validateColumns:e})=>e(t,{fillColorType:{toBeOption:"ColorType"},strokeColorType:{toBeOption:"ColorType"},strokeWidth:{toBeTypes:["number"]},valueLinearOpacity:{toBeTypes:["number[]"]},arcScaleType:{toBe:"ArcScaleType",test:n=>n==="area"||n==="radius"},sizeAdjust:{toBeTypes:["number"]}})};function _J({graphicGSelection:t,circleGClassName:e,circleClassName:n,bubbleData:r,fullParams:a,fullChartParams:i,graphicReverseScale:o}){const l=s=>{const c=s.size();return i.transitionDuration/c};let u=0;return t.each((s,c,d)=>{Y(d[c]).selectAll("g").data(r[c],f=>f.id).join(f=>(u=l(f),f.append("g").classed(e,!0)),f=>f,f=>f.remove()).attr("transform",f=>`translate(${f.axisX}, ${f.axisY})`).each((f,h,p)=>{Y(p[h]).selectAll("circle").data([f]).join(g=>g.append("circle").style("cursor","pointer").style("vector-effect","non-scaling-stroke").classed(n,!0).attr("opacity",0).transition().delay((m,b)=>h*u).attr("opacity",m=>m.opacity),g=>g.transition().duration(50).attr("opacity",m=>m.opacity),g=>g.remove()).attr("r",g=>g.r).attr("fill",(g,m)=>Pt({datum:g,colorType:a.fillColorType,fullChartParams:i})).attr("stroke",(g,m)=>Pt({datum:g,colorType:a.strokeColorType,fullChartParams:i})).attr("stroke-width",a.strokeWidth).attr("transform",`scale(${o[c][0]??1}, ${o[c][1]??1})`)})}),t.selectAll(`circle.${n}`)}function AJ({selection:t,ids:e,fullChartParams:n}){if(t.interrupt("highlight"),!e.length){t.transition("highlight").duration(200).style("opacity",r=>r.opacity);return}t.each((r,a,i)=>{e.includes(r.id)?Y(i[a]).style("opacity",o=>o.opacity).transition("highlight").duration(200):Y(i[a]).style("opacity",n.styles.unhighlightedOpacity).transition("highlight").duration(200)})}function CJ({defsSelection:t,clipPathData:e}){t.selectAll("clipPath").data(e).join(n=>n.append("clipPath"),n=>n,n=>n.remove()).attr("id",n=>n.id).each((n,r,a)=>{Y(a[r]).selectAll("rect").data([n]).join("rect").attr("x",0).attr("y",0).attr("width",i=>i.width).attr("height",i=>i.height)})}const PJ=oe(DJ)(({selection:t,name:e,subject:n,observer:r})=>{const a=new J,i=Jt(er,"clipPath-box"),o=W(er,"circleG"),l=W(er,"circle"),{defsSelection$:u,graphicGSelection$:s}=vf({selection:t,pluginName:er,clipPathID:i,categoryLabels$:r.categoryLabels$,containerPosition$:r.containerPosition$,graphicTransform$:r.graphicTransform$}),c=G({computedData:r.computedData$,graphicReverseScale:r.graphicReverseScale$}).pipe(w(a),O(async D=>D),L(D=>D.computedData.map((C,A)=>D.graphicReverseScale[A])));G({defsSelection:u,layout:r.layout$}).pipe(w(a),O(async D=>D)).subscribe(D=>{const C=[{id:i,width:D.layout.width,height:D.layout.height}];CJ({defsSelection:D.defsSelection,clipPathData:C})});const d=r.filteredXYMinMaxData$.pipe(w(a),L(D=>D.datumList.flat().map(C=>C.value[2]??0)),nt(1)),f=r.filteredXYMinMaxData$.pipe(w(a),L(D=>rh(D.datumList.flat().map(C=>C.value[2]??0)))),h=G({filteredMinMaxValue:f,fullParams:r.fullParams$}).pipe(w(a),O(async D=>D),L(D=>Wn().domain(D.filteredMinMaxValue).range(D.fullParams.valueLinearOpacity))),p=G({layout:r.layout$,fullParams:r.fullParams$}).pipe(w(a),L(D=>Math.min(D.layout.width,D.layout.height)/2*D.fullParams.sizeAdjust)),g=d.pipe(w(a),L(D=>D.reduce((C,A)=>C+A,0)),Ir(D=>D>0)),m=G({totalR:p,totalValue:g,fullParams:r.fullParams$}).pipe(w(a),O(async D=>D),L(D=>Xn().domain([0,D.totalValue]).range([0,D.totalR]).exponent(D.fullParams.arcScaleType==="area"?.5:1))),b=G({radiusScale:m,fullParams:r.fullParams$,totalR:p,filteredValueList:d}).pipe(w(a),O(async D=>D),L(D=>D.fullParams.arcScaleType==="area"?1:(()=>{const C=D.totalR*D.totalR*Math.PI;return Math.sqrt(C/Ch(D.filteredValueList,A=>Math.PI*Math.pow(D.radiusScale(A),2)))})())),y=G({visibleComputedXYData:r.visibleComputedXYData$,opacityScale:h,radiusScale:m,scaleFactor:b,fullParams:r.fullParams$}).pipe(w(a),O(async D=>D),L(D=>D.visibleComputedXYData.map(C=>C.map(A=>{const $=A;return $.r=D.radiusScale($.value[2])*D.scaleFactor*SJ,$.opacity=D.opacityScale($.value[2]),$})))),x=G({graphicGSelection:s,bubbleData:y,graphicReverseScale:c,fullChartParams:r.fullChartParams$,fullParams:r.fullParams$}).pipe(w(a),O(async D=>D),L(D=>_J({graphicGSelection:D.graphicGSelection,circleGClassName:o,circleClassName:l,bubbleData:D.bubbleData,fullParams:D.fullParams,fullChartParams:D.fullChartParams,graphicReverseScale:D.graphicReverseScale}))),v=r.fullDataFormatter$.pipe(w(a),L(D=>[D.valueLabels[0]??"X",D.valueLabels[1]??"Y",D.valueLabels[2]??"Value"]),H((D,C)=>D[0]===C[0]&&D[1]===C[1]&&D[2]===C[2])),_=r.fullChartParams$.pipe(w(a),L(D=>D.highlightTarget),H());return G({graphicSelection:x,computedData:r.computedData$,CategoryDataMap:r.CategoryDataMap$,highlightTarget:_,valueLabels:v}).pipe(w(a),O(async D=>D)).subscribe(D=>{D.graphicSelection.on("mouseover",(C,A)=>{n.event$.next({type:"multiValue",eventName:"mouseover",pluginName:er,highlightTarget:D.highlightTarget,valueDetail:[{value:A.value[0],valueIndex:0,valueLabel:D.valueLabels[0]},{value:A.value[1],valueIndex:1,valueLabel:D.valueLabels[1]},{value:A.value[2],valueIndex:2,valueLabel:D.valueLabels[2]}],datum:A,category:D.CategoryDataMap.get(A.categoryLabel),categoryIndex:A.categoryIndex,categoryLabel:A.categoryLabel,data:D.computedData,event:C})}).on("mousemove",(C,A)=>{n.event$.next({type:"multiValue",eventName:"mousemove",pluginName:er,highlightTarget:D.highlightTarget,valueDetail:[{value:A.value[0],valueIndex:0,valueLabel:D.valueLabels[0]},{value:A.value[1],valueIndex:1,valueLabel:D.valueLabels[1]},{value:A.value[2],valueIndex:2,valueLabel:D.valueLabels[2]}],datum:A,category:D.CategoryDataMap.get(A.categoryLabel),categoryIndex:A.categoryIndex,categoryLabel:A.categoryLabel,data:D.computedData,event:C})}).on("mouseout",(C,A)=>{n.event$.next({type:"multiValue",eventName:"mouseout",pluginName:er,highlightTarget:D.highlightTarget,valueDetail:[{value:A.value[0],valueIndex:0,valueLabel:D.valueLabels[0]},{value:A.value[1],valueIndex:1,valueLabel:D.valueLabels[1]},{value:A.value[2],valueIndex:2,valueLabel:D.valueLabels[2]}],datum:A,category:D.CategoryDataMap.get(A.categoryLabel),categoryIndex:A.categoryIndex,categoryLabel:A.categoryLabel,data:D.computedData,event:C})}).on("click",(C,A)=>{n.event$.next({type:"multiValue",eventName:"click",pluginName:er,highlightTarget:D.highlightTarget,valueDetail:[{value:A.value[0],valueIndex:0,valueLabel:D.valueLabels[0]},{value:A.value[1],valueIndex:1,valueLabel:D.valueLabels[1]},{value:A.value[2],valueIndex:2,valueLabel:D.valueLabels[2]}],datum:A,category:D.CategoryDataMap.get(A.categoryLabel),categoryIndex:A.categoryIndex,categoryLabel:A.categoryLabel,data:D.computedData,event:C})})}),G({graphicSelection:x,highlight:r.highlight$.pipe(L(D=>D.map(C=>C.id))),fullChartParams:r.fullChartParams$}).pipe(w(a),O(async D=>D)).subscribe(D=>{AJ({selection:D.graphicSelection,ids:D.highlight,fullChartParams:D.fullChartParams})}),()=>{a.next(void 0)}}),GC="XAxis",FJ={name:GC,defaultParams:Wg,layerIndex:Xe,validator:(t,{validateColumns:e})=>{const n=e(t,{labelOffset:{toBe:"[number, number]",test:r=>Array.isArray(r)&&r.length===2&&typeof r[0]=="number"&&typeof r[1]=="number"},labelColorType:{toBeOption:"ColorType"},axisLineVisible:{toBeTypes:["boolean"]},axisLineColorType:{toBeOption:"ColorType"},ticks:{toBeTypes:["number","null"]},tickFormat:{toBeTypes:["string","Function"]},tickLineVisible:{toBeTypes:["boolean"]},tickPadding:{toBeTypes:["number"]},tickFullLine:{toBeTypes:["boolean"]},tickFullLineDasharray:{toBeTypes:["string"]},tickColorType:{toBeOption:"ColorType"},tickTextColorType:{toBeOption:"ColorType"}});return n.status,n}},TJ=oe(FJ)(({selection:t,name:e,observer:n,subject:r})=>{const a=new J,i=Jg(GC,{selection:t,position$:Oe("bottom"),transitionDuration$:Oe(100),computedData$:n.computedData$,fullParams$:n.fullParams$,fullDataFormatter$:n.fullDataFormatter$,fullChartParams$:n.fullChartParams$,isCategorySeprate$:n.isCategorySeprate$,containerPosition$:n.containerPosition$,containerSize$:n.containerSize$,xScale$:n.xScale$});return()=>{a.next(void 0),i()}}),$f="XYAux",Kg=W($f,"label-box"),wJ={name:$f,defaultParams:bf,layerIndex:$g,validator:(t,{validateColumns:e})=>{const n=e(t,{xAxis:{toBeTypes:["object"]},yAxis:{toBeTypes:["object"]}});if(t.xAxis){const r=e(t.xAxis,{showLine:{toBeTypes:["boolean"]},showLabel:{toBeTypes:["boolean"]},lineDashArray:{toBeTypes:["string"]},lineColorType:{toBeOption:"ColorType"},labelColorType:{toBeOption:"ColorType"},labelTextColorType:{toBeOption:"ColorType"},labelTextFormat:{toBeTypes:["string","Function"]},labelPadding:{toBeTypes:["number"]}});if(r.status==="error")return r}if(t.yAxis){const r=e(t.yAxis,{showLine:{toBeTypes:["boolean"]},showLabel:{toBeTypes:["boolean"]},lineDashArray:{toBeTypes:["string"]},lineColorType:{toBeOption:"ColorType"},labelColorType:{toBeOption:"ColorType"},labelTextColorType:{toBeOption:"ColorType"},labelTextFormat:{toBeTypes:["string","Function"]},labelPadding:{toBeTypes:["number"]}});if(r.status==="error")return r}return n}};function BJ({axisX:t,axisY:e,layout:n,fullParams:r}){return t>=0&&t<=n.width&&e>=0&&e<=n.height?[{id:"line-x",x1:t,x2:t,y1:0,y2:n.height,dashArray:r.xAxis.lineDashArray??"none",colorType:r.xAxis.lineColorType},{id:"line-0",x1:0,x2:n.width,y1:e,y2:e,dashArray:r.yAxis.lineDashArray??"none",colorType:r.yAxis.lineColorType}]:[]}function EJ({axisX:t,axisY:e,xValue:n,yValue:r,fullParams:a,textSizePx:i,layout:o,columnAmount:l,rowAmount:u}){if(!(t>=0&&t<=o.width&&e>=0&&e<=o.height))return[];const s=6,c=3,d=t,f=o.height+a.xAxis.labelPadding*u,h=Fn(n,a.xAxis.labelTextFormat),p=h.split(`
242
- `),g=p.reduce((V,K)=>K.length>V.length?K:V,""),m=Li(g,i),b=i*p.length,y=m+s*2,x=b+c*2,v=-y/2,_=-3,D=v+s,C=_+c,A=-(a.yAxis.labelPadding*l),$=e,T=Fn(r,a.yAxis.labelTextFormat),S=T.split(`
243
- `),k=S.reduce((V,K)=>K.length>V.length?K:V,""),N=Li(k,i),E=i*S.length,P=N+s*2,B=E+c*2,R=-N-s,F=-3-E/2,M=R+s,z=F+c;return[{id:"label-x",x:d,y:f,text:h,textArr:p,textWidth:m,textHeight:b,colorType:a.xAxis.labelColorType,textColorType:a.xAxis.labelTextColorType,rectWidth:y,rectHeight:x,rectX:v,rectY:_,textX:D,textY:C},{id:"label-y",x:A,y:$,text:T,textArr:S,textWidth:N,textHeight:E,colorType:a.yAxis.labelColorType,textColorType:a.xAxis.labelTextColorType,rectWidth:P,rectHeight:B,rectX:R,rectY:F,textX:M,textY:z}]}function LJ({selection:t,pluginName:e,lineData:n,fullParams:r,fullChartParams:a}){const i=W(e,"auxline");return t.selectAll(`line.${i}`).data(n).join(o=>o.append("line").classed(i,!0).style("stroke-width",1).style("pointer-events","none").style("vector-effect","non-scaling-stroke").attr("x1",l=>l.x1).attr("y1",l=>l.y1).attr("x2",l=>l.x2).attr("y2",l=>l.y2),o=>o.transition().duration(50).attr("x1",l=>l.x1).attr("y1",l=>l.y1).attr("x2",l=>l.x2).attr("y2",l=>l.y2),o=>o.remove()).style("stroke",o=>ht(o.colorType,a)).style("stroke-dasharray",o=>o.dashArray)}function MJ(t){t.selectAll("line").data([]).exit().remove()}function RJ({selection:t,labelData:e,fullParams:n,fullDataFormatter:r,fullChartParams:a,textReverseTransform:i,textSizePx:o}){return t.selectAll(`g.${Kg}`).data(e).join(l=>l.append("g").classed(Kg,!0).style("cursor","pointer").attr("transform",(u,s)=>`translate(${u.x}, ${u.y})`),l=>l.transition().duration(50).attr("transform",(u,s)=>`translate(${u.x}, ${u.y})`),l=>l.remove()).each((l,u,s)=>{Y(s[u]).selectAll("rect").data([l]).join(c=>c.append("rect").style("cursor","pointer").attr("rx",5).attr("ry",5),c=>c,c=>c.remove()).attr("width",c=>`${c.rectWidth}px`).attr("height",c=>`${c.rectHeight}px`).attr("fill",c=>ht(c.colorType,a)).attr("x",c=>c.rectX).attr("y",c=>c.rectY).style("transform",i),Y(s[u]).selectAll("text").data([l]).join(c=>c.append("text").style("dominant-baseline","hanging").style("cursor","pointer").style("pointer-events","none"),c=>c,c=>c.remove()).style("transform",i).attr("fill",c=>ht(c.textColorType,a)).attr("font-size",a.styles.textSize).attr("x",c=>c.textX).attr("y",c=>c.textY).each((c,d,f)=>{Rl(Y(f[d]),{textArr:l.textArr,textSizePx:o,groupAxisPosition:d===0?"bottom":"left",isContainerRotated:!1})})})}function IJ(t){t.selectAll(`g.${Kg}`).data([]).exit().remove()}const kJ=oe(wJ)(({selection:t,rootSelection:e,name:n,subject:r,observer:a})=>{const i=new J,o=e.insert("rect","g").classed(W($f,"rect"),!0).attr("opacity",0),{axesSelection$:l}=vf({selection:t,pluginName:$f,clipPathID:"test",categoryLabels$:a.isCategorySeprate$.pipe(O(h=>Ln(()=>h,a.categoryLabels$,a.categoryLabels$.pipe(L(p=>[p[0]]))))),containerPosition$:a.containerPosition$,graphicTransform$:a.graphicTransform$});a.layout$.pipe(w(i)).subscribe(h=>{o.attr("width",h.rootWidth).attr("height",h.rootHeight)});const u=a.containerPosition$.pipe(L(h=>h.reduce((p,g)=>g.columnIndex>p?g.columnIndex:p,0)+1),H()),s=a.containerPosition$.pipe(L(h=>h.reduce((p,g)=>g.rowIndex>p?g.rowIndex:p,0)+1),H()),c=a.containerPosition$.pipe(w(i),O(async h=>h),L(h=>`${`scale(${1/h[0].scale[0]}, ${1/h[0].scale[1]})`}`),H()),d=cZ({rootSelection:e,fullDataFormatter$:a.fullDataFormatter$,filteredXYMinMaxData$:a.filteredXYMinMaxData$,containerPosition$:a.containerPosition$,containerSize$:a.containerSize$,layout$:a.layout$}).pipe(w(i));G({axesSelection:l,layout:a.layout$,xyPosition:d,fullParams:a.fullParams$,fullDataFormatter:a.fullDataFormatter$,fullChartParams:a.fullChartParams$,textReverseTransform:c,textSizePx:a.textSizePx$,columnAmount:u,rowAmount:s}).pipe(w(i),O(async h=>h)).subscribe(h=>{const{x:p,y:g,xValue:m,yValue:b}=h.xyPosition,y=BJ({axisX:p,axisY:g,layout:h.layout,fullParams:h.fullParams});LJ({selection:h.axesSelection,pluginName:n,lineData:y,fullParams:h.fullParams,fullChartParams:h.fullChartParams});const x=EJ({axisX:p,axisY:g,xValue:m,yValue:b,fullParams:h.fullParams,textSizePx:h.textSizePx,layout:h.layout,columnAmount:h.columnAmount,rowAmount:h.rowAmount});RJ({selection:h.axesSelection,labelData:x,fullParams:h.fullParams,fullDataFormatter:h.fullDataFormatter,fullChartParams:h.fullChartParams,textReverseTransform:h.textReverseTransform,textSizePx:h.textSizePx})});const f=ya(o,"mouseout").pipe(w(i));return G({rootRectMouseout:f,axesSelection:l}).pipe(w(i),O(async h=>h)).subscribe(h=>{setTimeout(()=>{MJ(h.axesSelection),IJ(h.axesSelection)})}),()=>{i.next(void 0),o.remove()}}),NJ=6,zJ="end",OJ="middle",GJ="end",jJ="auto";function VJ({selection:t,yLabelClassName:e,fullParams:n,containerSize:r,fullDataFormatter:a,fullChartParams:i}){const o=n.tickPadding-n.labelOffset[0],l=n.tickPadding+n.labelOffset[1];let u=-o,s=-l;t.selectAll(`g.${e}`).data([n]).join("g").classed(e,!0).each((c,d,f)=>{Y(f[d]).selectAll("text").data([c]).join(h=>h.append("text").style("font-weight","bold"),h=>h,h=>h.remove()).attr("text-anchor",GJ).attr("dominant-baseline",jJ).attr("font-size",i.styles.textSize).style("fill",ht(n.labelColorType,i)).attr("x",u).attr("y",s).text(h=>a.yAxis.label)})}function YJ({selection:t,yAxisClassName:e,fullParams:n,containerSize:r,fullDataFormatter:a,fullChartParams:i,yScale:o}){const l=t.selectAll(`g.${e}`).data([n]).join("g").classed(e,!0);let u=n.tickPadding;const s=Fh(o).scale(o).ticks(n.ticks).tickFormat(d=>Fn(d,n.tickFormat)).tickSize(n.tickFullLine==!0?-r.width:NJ).tickPadding(u),c=l.transition().duration(100).ease(on).call(s);return c.selectAll("line").style("fill","none").style("stroke",n.tickLineVisible==!0?ht(n.tickColorType,i):"none").style("stroke-dasharray",n.tickFullLineDasharray).attr("pointer-events","none"),c.selectAll("path").style("fill","none").style("stroke",n.axisLineVisible==!0?ht(n.axisLineColorType,i):"none").style("shape-rendering","crispEdges"),l.selectAll("text").attr("font-size",i.styles.textSize).style("color",ht(n.tickTextColorType,i)).attr("text-anchor",zJ).attr("dominant-baseline",OJ).attr("x",-u).attr("dy",0),l}const HJ=(t,{selection:e,computedData$:n,fullParams$:r,fullDataFormatter$:a,fullChartParams$:i,isCategorySeprate$:o,containerPosition$:l,containerSize$:u,yScale$:s})=>{const c=new J,d=W(t,"yAxisG"),f=W(t,"yAxis"),h=W(t,"yLabel"),p=xa({selection:e,pluginName:t,clipPathID:null,computedData$:n,containerPosition$:l,isCategorySeprate$:o}).pipe(w(c)).pipe(w(c),L((g,m)=>g.selectAll(`g.${d}`).data([d]).join("g").classed(d,!0)));return G({axisSelection:p,fullParams:r,computedData:n,containerSize:u,fullDataFormatter:a,fullChartParams:i,yScale:s}).pipe(w(c),O(async g=>g)).subscribe(g=>{YJ({selection:g.axisSelection,yAxisClassName:f,fullParams:g.fullParams,containerSize:g.containerSize,fullDataFormatter:g.fullDataFormatter,fullChartParams:g.fullChartParams,yScale:g.yScale}),VJ({selection:g.axisSelection,yLabelClassName:h,fullParams:g.fullParams,containerSize:g.containerSize,fullDataFormatter:g.fullDataFormatter,fullChartParams:g.fullChartParams})}),()=>{c.next(void 0)}},Qg="XYAxes",WJ={name:Qg,defaultParams:xf,layerIndex:Xe,validator:(t,{validateColumns:e})=>{const n=e(t,{xAxis:{toBeTypes:["object"]},yAxis:{toBeTypes:["object"]}});if(t.xAxis){const r=e(t.xAxis,{labelOffset:{toBe:"[number, number]",test:a=>Array.isArray(a)&&a.length===2&&typeof a[0]=="number"&&typeof a[1]=="number"},labelColorType:{toBeOption:"ColorType"},axisLineVisible:{toBeTypes:["boolean"]},axisLineColorType:{toBeOption:"ColorType"},ticks:{toBeTypes:["number","null"]},tickFormat:{toBeTypes:["string","Function"]},tickLineVisible:{toBeTypes:["boolean"]},tickPadding:{toBeTypes:["number"]},tickFullLine:{toBeTypes:["boolean"]},tickFullLineDasharray:{toBeTypes:["string"]},tickColorType:{toBeOption:"ColorType"},tickTextColorType:{toBeOption:"ColorType"}});if(r.status==="error")return r}if(t.yAxis){const r=e(t.yAxis,{labelOffset:{toBe:"[number, number]",test:a=>Array.isArray(a)&&a.length===2&&typeof a[0]=="number"&&typeof a[1]=="number"},labelColorType:{toBeOption:"ColorType"},axisLineVisible:{toBeTypes:["boolean"]},axisLineColorType:{toBeOption:"ColorType"},ticks:{toBeTypes:["number","null"]},tickFormat:{toBeTypes:["string","Function"]},tickLineVisible:{toBeTypes:["boolean"]},tickPadding:{toBeTypes:["number"]},tickFullLine:{toBeTypes:["boolean"]},tickFullLineDasharray:{toBeTypes:["string"]},tickColorType:{toBeOption:"ColorType"},tickTextColorType:{toBeOption:"ColorType"}});if(r.status==="error")return r}return n}},XJ=oe(WJ)(({selection:t,name:e,observer:n,subject:r})=>{const a=new J,i=n.fullParams$.pipe(w(a),L(s=>s.xAxis),H((s,c)=>JSON.stringify(s)===JSON.stringify(c))),o=n.fullParams$.pipe(w(a),L(s=>s.xAxis),H((s,c)=>JSON.stringify(s)===JSON.stringify(c))),l=Jg(`${Qg}-x`,{selection:t,position$:Oe("bottom"),transitionDuration$:Oe(100),computedData$:n.computedData$,fullParams$:i,fullDataFormatter$:n.fullDataFormatter$,fullChartParams$:n.fullChartParams$,isCategorySeprate$:n.isCategorySeprate$,containerPosition$:n.containerPosition$,containerSize$:n.containerSize$,xScale$:n.xScale$}),u=HJ(`${Qg}-y`,{selection:t,computedData$:n.computedData$,fullParams$:o,fullDataFormatter$:n.fullDataFormatter$,fullChartParams$:n.fullChartParams$,isCategorySeprate$:n.isCategorySeprate$,containerPosition$:n.containerPosition$,containerSize$:n.containerSize$,yScale$:n.yScale$});return()=>{a.next(void 0),l(),u()}}),jC="XZoom",UJ={name:jC,defaultParams:Xg,layerIndex:vg,validator:(t,{validateColumns:e})=>({status:"success",columnName:"",expectToBe:""})},qJ=oe(UJ)(({selection:t,rootSelection:e,name:n,observer:r,subject:a})=>{const i=new J,o=kC(jC,{rootSelection:e,fullDataFormatter$:r.fullDataFormatter$,xyMinMax$:r.xyMinMax$,layout$:r.layout$,dataFormatter$:a.dataFormatter$});return()=>{i.next(void 0),o()}}),ZJ={header:{height:36,text:[],textStyle:[]},footer:{height:0,text:[],textStyle:[]}},VC={backgroundColorType:"background",strokeColorType:"primary",backgroundOpacity:.8,textColorType:"primary",offset:[20,5],padding:10,textRenderFn:t=>{if(t.highlightTarget==="datum"&&t.datum)return[`${t.datum.label}: ${t.datum.value}`];if(t.highlightTarget==="series"){const e=t.seriesLabel,n=t.series.filter(a=>a.visible==!0).map(a=>a.value),r=n.length>5?n.slice(0,5).join(",")+"...":n.join(",");return[e,r]}else if(t.highlightTarget==="group"){const e=t.groupLabel,n=t.series.filter(a=>a.visible==!0).map(a=>a.value),r=n.length>5?n.slice(0,5).join(",")+"...":n.join(",");return[e,r]}else if(t.highlightTarget==="category"){const e=t.categoryLabel,n=t.category.filter(a=>a.visible==!0).map(a=>a.value),r=n.length>5?n.slice(0,5).join(",")+"...":n.join(",");return[e,r]}return[]},svgRenderFn:null};VC.textRenderFn.toString=()=>`(eventData) => {
244
- if (eventData.highlightTarget === 'datum' && eventData.datum) {
245
- return [\`\${eventData.datum.label}: \${eventData.datum.value}\`]
246
- } else if (eventData.highlightTarget === 'series') {
247
- const label = (eventData as EventBaseSeriesValue<any, any>).seriesLabel
248
- const valueArr = (eventData as EventBaseSeriesValue<any, any>).series
249
- .filter(d => d.visible == true)
250
- .map(d => {
251
- return d.value
252
- })
253
- const value = valueArr.length > 5
254
- ? valueArr.slice(0, 5).join(',') + '...'
255
- : valueArr.join(',')
256
- return [label, value]
257
- } else if (eventData.highlightTarget === 'group') {
258
- const label = (eventData as EventBaseGridValue<any, any>).groupLabel
259
- const valueArr = (eventData as EventBaseGridValue<any, any>).series
260
- .filter(d => d.visible == true)
261
- .map(d => {
262
- return d.value
263
- })
264
- const value = valueArr.length > 5
265
- ? valueArr.slice(0, 5).join(',') + '...'
266
- : valueArr.join(',')
267
- return [label, value]
268
- } else if (eventData.highlightTarget === 'category') {
269
- const label = (eventData as EventBaseCategoryValue<any, any>).categoryLabel
270
- const valueArr = (eventData as EventBaseCategoryValue<any, any>).category
271
- .filter(d => d.visible == true)
272
- .map(d => {
273
- return d.value
274
- })
275
- const value = valueArr.length > 5
276
- ? valueArr.slice(0, 5).join(',') + '...'
277
- : valueArr.join(',')
278
- return [label, value]
56
+ }`;const Hp={};function Rn(e,t){let n=new me(()=>{});return e.each(function(){const r=jl(this,t);n=ia(n,r)}),n}function Jt({size$:e,padding$:t}){return N({size:e,padding:t}).pipe(W(0),A(n=>{const r=n.size.width-n.padding.left-n.padding.right,i=n.size.height-n.padding.top-n.padding.bottom;return{rootWidth:n.size.width,rootHeight:n.size.height,width:r>0?r:0,height:i>0?i:0,left:n.padding.left,right:n.padding.right,top:n.padding.top,bottom:n.padding.bottom}}),X((n,r)=>JSON.stringify(n)===JSON.stringify(r)),z(1))}const dn=({datumList$:e,styles$:t,event$:n})=>{const r=new J,i=t.pipe(R(r),A(h=>h.highlightDefault||null),X(),A(h=>({id:h,label:h,series:h,category:h})),z(1)),a=t.pipe(R(r),A(h=>h.highlightTarget),X(),z(1)).pipe(V(h=>n.pipe(R(r),mt(f=>f.eventName==="mouseover"),A(f=>f.target?{id:f.target.id,label:null,series:h==="series"?f.target.series:null,category:h==="category"?f.target.category:null}:{id:null,label:null,series:null,category:null})))),s=n.pipe(R(r),mt(h=>h.eventName==="mouseout"),V(h=>i));function c(h,f,p){return f==null&&p==null?[]:h.filter(g=>g.id===f||g.name===p)}function l(h,f){return f==null?[]:h.filter(p=>p.series===f)}function u(h,f){return f==null?[]:h.filter(p=>p.category===f)}return new me(h=>(N({target:ia(a,s,i),datumList:e,styles:t}).pipe(R(r),W(0)).subscribe(f=>{let p=[];f.styles.highlightTarget==="datum"?p=c(f.datumList,f.target.id,f.target.label):f.styles.highlightTarget==="series"?p=l(f.datumList,f.target.series):f.styles.highlightTarget==="category"&&(p=u(f.datumList,f.target.category)),h.next(p)}),function(){r.next(void 0)}))},Bn=({datumList$:e})=>e.pipe(A(t=>{const n=new Map;return t.forEach(r=>{const i=n.get(r.series)??[];i.push(r),n.set(r.series,i)}),n})),rr=({datumList$:e})=>e.pipe(A(t=>{const n=new Map;return t.filter(r=>r.category!=null).forEach(r=>{const i=n.get(r.category)??[];i.push(r),n.set(r.category,i)}),n})),Nt=e=>e.pipe(A(t=>t.fontSize),X(),A(t=>{let n=NaN;if(typeof t=="string")if(t.includes("rem")){const r=parseFloat(getComputedStyle(document.documentElement).fontSize);n=parseFloat(t)*r}else t.includes("px")&&(n=parseFloat(t));else if(typeof t=="number")return t;return n||14})),Ni=({layout$:e,containerPosition$:t,container$:n})=>{const r=t.pipe(A(o=>o.reduce((s,c)=>c.rowIndex>s?c.rowIndex:s,0)+1),X()),i=t.pipe(A(o=>o.reduce((s,c)=>c.columnIndex>s?c.columnIndex:s,0)+1),X());return N({layout:e,rowAmount:r,columnAmount:i,container:n}).pipe(W(0),A(o=>{const a=o.container.columnGap==="auto"?o.layout.left+o.layout.right:o.container.columnGap,s=o.container.rowGap==="auto"?o.layout.top+o.layout.bottom:o.container.rowGap,c=(o.layout.rootWidth-o.layout.left-o.layout.right-a*(o.columnAmount-1))/o.columnAmount,l=(o.layout.rootHeight-o.layout.top-o.layout.bottom-s*(o.rowAmount-1))/o.rowAmount;return{width:c,height:l}}),X((o,a)=>o.width===a.width&&o.height===a.height))};function Gr(e,t=10){var i;const n=document.createElement("canvas").getContext("2d");return(((i=n==null?void 0:n.measureText(e))==null?void 0:i.width)??0)*t/10}function Vr(e){const t=[0,0];return e.length?e.reduce((r,i)=>[i<r[0]?i:r[0],i>r[1]?i:r[1]],[e[0],e[0]]):t}function j$(e){if(e===null||Number.isNaN(e)==!0)return String(e||0);const t=e.toString().split(".");return t[0]=t[0].replace(/\B(?=(\d{3})+(?!\d))/g,","),t.join(".")}function De(e,t){return e==null||t==null?NaN:e<t?-1:e>t?1:e>=t?0:NaN}function Up(e,t){return e==null||t==null?NaN:t<e?-1:t>e?1:t>=e?0:NaN}function la(e){let t,n,r;e.length!==2?(t=De,n=(s,c)=>De(e(s),c),r=(s,c)=>e(s)-c):(t=e===De||e===Up?e:H$,n=e,r=e);function i(s,c,l=0,u=s.length){if(l<u){if(t(c,c)!==0)return u;do{const h=l+u>>>1;n(s[h],c)<0?l=h+1:u=h}while(l<u)}return l}function o(s,c,l=0,u=s.length){if(l<u){if(t(c,c)!==0)return u;do{const h=l+u>>>1;n(s[h],c)<=0?l=h+1:u=h}while(l<u)}return l}function a(s,c,l=0,u=s.length){const h=i(s,c,l,u-1);return h>l&&r(s[h-1],c)>-r(s[h],c)?h-1:h}return{left:i,center:a,right:o}}function H$(){return 0}function ca(e){return e===null?NaN:+e}function*U$(e,t){if(t===void 0)for(let n of e)n!=null&&(n=+n)>=n&&(yield n);else{let n=-1;for(let r of e)(r=t(r,++n,e))!=null&&(r=+r)>=r&&(yield r)}}const qp=la(De),In=qp.right,q$=qp.left,K$=la(ca).center;function Z$(e,t){if(!((t=+t)>=0))throw new RangeError("invalid r");let n=e.length;if(!((n=Math.floor(n))>=0))throw new RangeError("invalid length");if(!n||!t)return e;const r=ec(t),i=e.slice();return r(e,i,0,n,1),r(i,e,0,n,1),r(e,i,0,n,1),e}const Kp=Zp(ec),J$=Zp(Q$);function Zp(e){return function(t,n,r=n){if(!((n=+n)>=0))throw new RangeError("invalid rx");if(!((r=+r)>=0))throw new RangeError("invalid ry");let{data:i,width:o,height:a}=t;if(!((o=Math.floor(o))>=0))throw new RangeError("invalid width");if(!((a=Math.floor(a!==void 0?a:i.length/o))>=0))throw new RangeError("invalid height");if(!o||!a||!n&&!r)return t;const s=n&&e(n),c=r&&e(r),l=i.slice();return s&&c?(Xr(s,l,i,o,a),Xr(s,i,l,o,a),Xr(s,l,i,o,a),jr(c,i,l,o,a),jr(c,l,i,o,a),jr(c,i,l,o,a)):s?(Xr(s,i,l,o,a),Xr(s,l,i,o,a),Xr(s,i,l,o,a)):c&&(jr(c,i,l,o,a),jr(c,l,i,o,a),jr(c,i,l,o,a)),t}}function Xr(e,t,n,r,i){for(let o=0,a=r*i;o<a;)e(t,n,o,o+=r,1)}function jr(e,t,n,r,i){for(let o=0,a=r*i;o<r;++o)e(t,n,o,o+a,r)}function Q$(e){const t=ec(e);return(n,r,i,o,a)=>{i<<=2,o<<=2,a<<=2,t(n,r,i+0,o+0,a),t(n,r,i+1,o+1,a),t(n,r,i+2,o+2,a),t(n,r,i+3,o+3,a)}}function ec(e){const t=Math.floor(e);if(t===e)return eS(e);const n=e-t,r=2*e+1;return(i,o,a,s,c)=>{if(!((s-=c)>=a))return;let l=t*o[a];const u=c*t,h=u+c;for(let f=a,p=a+u;f<p;f+=c)l+=o[Math.min(s,f)];for(let f=a,p=s;f<=p;f+=c)l+=o[Math.min(s,f+u)],i[f]=(l+n*(o[Math.max(a,f-h)]+o[Math.min(s,f+h)]))/r,l-=o[Math.max(a,f-u)]}}function eS(e){const t=2*e+1;return(n,r,i,o,a)=>{if(!((o-=a)>=i))return;let s=e*r[i];const c=a*e;for(let l=i,u=i+c;l<u;l+=a)s+=r[Math.min(o,l)];for(let l=i,u=o;l<=u;l+=a)s+=r[Math.min(o,l+c)],n[l]=s/t,s-=r[Math.max(i,l-c)]}}function ua(e,t){let n=0;if(t===void 0)for(let r of e)r!=null&&(r=+r)>=r&&++n;else{let r=-1;for(let i of e)(i=t(i,++r,e))!=null&&(i=+i)>=i&&++n}return n}function tS(e){return e.length|0}function nS(e){return!(e>0)}function rS(e){return typeof e!="object"||"length"in e?e:Array.from(e)}function iS(e){return t=>e(...t)}function oS(...e){const t=typeof e[e.length-1]=="function"&&iS(e.pop());e=e.map(rS);const n=e.map(tS),r=e.length-1,i=new Array(r+1).fill(0),o=[];if(r<0||n.some(nS))return o;for(;;){o.push(i.map((s,c)=>e[c][s]));let a=r;for(;++i[a]===n[a];){if(a===0)return t?o.map(t):o;i[a--]=0}}}function aS(e,t){var n=0,r=0;return Float64Array.from(e,t===void 0?i=>n+=+i||0:i=>n+=+t(i,r++,e)||0)}function Jp(e,t){let n=0,r,i=0,o=0;if(t===void 0)for(let a of e)a!=null&&(a=+a)>=a&&(r=a-i,i+=r/++n,o+=r*(a-i));else{let a=-1;for(let s of e)(s=t(s,++a,e))!=null&&(s=+s)>=s&&(r=s-i,i+=r/++n,o+=r*(s-i))}if(n>1)return o/(n-1)}function Qp(e,t){const n=Jp(e,t);return n&&Math.sqrt(n)}function Oi(e,t){let n,r;if(t===void 0)for(const i of e)i!=null&&(n===void 0?i>=i&&(n=r=i):(n>i&&(n=i),r<i&&(r=i)));else{let i=-1;for(let o of e)(o=t(o,++i,e))!=null&&(n===void 0?o>=o&&(n=r=o):(n>o&&(n=o),r<o&&(r=o)))}return[n,r]}class Be{constructor(){this._partials=new Float64Array(32),this._n=0}add(t){const n=this._partials;let r=0;for(let i=0;i<this._n&&i<32;i++){const o=n[i],a=t+o,s=Math.abs(t)<Math.abs(o)?t-(a-o):o-(a-t);s&&(n[r++]=s),t=a}return n[r]=t,this._n=r+1,this}valueOf(){const t=this._partials;let n=this._n,r,i,o,a=0;if(n>0){for(a=t[--n];n>0&&(r=a,i=t[--n],a=r+i,o=i-(a-r),!o););n>0&&(o<0&&t[n-1]<0||o>0&&t[n-1]>0)&&(i=o*2,r=a+i,i==r-a&&(a=r))}return a}}function sS(e,t){const n=new Be;if(t===void 0)for(let r of e)(r=+r)&&n.add(r);else{let r=-1;for(let i of e)(i=+t(i,++r,e))&&n.add(i)}return+n}function lS(e,t){const n=new Be;let r=-1;return Float64Array.from(e,t===void 0?i=>n.add(+i||0):i=>n.add(+t(i,++r,e)||0))}class zi extends Map{constructor(t,n=nd){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:n}}),t!=null)for(const[r,i]of t)this.set(r,i)}get(t){return super.get(tc(this,t))}has(t){return super.has(tc(this,t))}set(t,n){return super.set(ed(this,t),n)}delete(t){return super.delete(td(this,t))}}class ir extends Set{constructor(t,n=nd){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:n}}),t!=null)for(const r of t)this.add(r)}has(t){return super.has(tc(this,t))}add(t){return super.add(ed(this,t))}delete(t){return super.delete(td(this,t))}}function tc({_intern:e,_key:t},n){const r=t(n);return e.has(r)?e.get(r):n}function ed({_intern:e,_key:t},n){const r=t(n);return e.has(r)?e.get(r):(e.set(r,n),n)}function td({_intern:e,_key:t},n){const r=t(n);return e.has(r)&&(n=e.get(r),e.delete(r)),n}function nd(e){return e!==null&&typeof e=="object"?e.valueOf():e}function Hr(e){return e}function rd(e,...t){return Ur(e,Hr,Hr,t)}function id(e,...t){return Ur(e,Array.from,Hr,t)}function od(e,t){for(let n=1,r=t.length;n<r;++n)e=e.flatMap(i=>i.pop().map(([o,a])=>[...i,o,a]));return e}function cS(e,...t){return od(id(e,...t),t)}function uS(e,t,...n){return od(sd(e,t,...n),n)}function ad(e,t,...n){return Ur(e,Hr,t,n)}function sd(e,t,...n){return Ur(e,Array.from,t,n)}function fS(e,...t){return Ur(e,Hr,ld,t)}function hS(e,...t){return Ur(e,Array.from,ld,t)}function ld(e){if(e.length!==1)throw new Error("duplicate key");return e[0]}function Ur(e,t,n,r){return function i(o,a){if(a>=r.length)return n(o);const s=new zi,c=r[a++];let l=-1;for(const u of o){const h=c(u,++l,o),f=s.get(h);f?f.push(u):s.set(h,[u])}for(const[u,h]of s)s.set(u,i(h,a));return t(s)}(e,0)}function cd(e,t){return Array.from(t,n=>e[n])}function nc(e,...t){if(typeof e[Symbol.iterator]!="function")throw new TypeError("values is not iterable");e=Array.from(e);let[n]=t;if(n&&n.length!==2||t.length>1){const r=Uint32Array.from(e,(i,o)=>o);return t.length>1?(t=t.map(i=>e.map(i)),r.sort((i,o)=>{for(const a of t){const s=qr(a[i],a[o]);if(s)return s}})):(n=e.map(n),r.sort((i,o)=>qr(n[i],n[o]))),cd(e,r)}return e.sort(rc(n))}function rc(e=De){if(e===De)return qr;if(typeof e!="function")throw new TypeError("compare is not a function");return(t,n)=>{const r=e(t,n);return r||r===0?r:(e(n,n)===0)-(e(t,t)===0)}}function qr(e,t){return(e==null||!(e>=e))-(t==null||!(t>=t))||(e<t?-1:e>t?1:0)}function pS(e,t,n){return(t.length!==2?nc(ad(e,t,n),([r,i],[o,a])=>De(i,a)||De(r,o)):nc(rd(e,n),([r,i],[o,a])=>t(i,a)||De(r,o))).map(([r])=>r)}var dS=Array.prototype,gS=dS.slice;function ic(e){return()=>e}const mS=Math.sqrt(50),yS=Math.sqrt(10),bS=Math.sqrt(2);function fa(e,t,n){const r=(t-e)/Math.max(0,n),i=Math.floor(Math.log10(r)),o=r/Math.pow(10,i),a=o>=mS?10:o>=yS?5:o>=bS?2:1;let s,c,l;return i<0?(l=Math.pow(10,-i)/a,s=Math.round(e*l),c=Math.round(t*l),s/l<e&&++s,c/l>t&&--c,l=-l):(l=Math.pow(10,i)*a,s=Math.round(e/l),c=Math.round(t/l),s*l<e&&++s,c*l>t&&--c),c<s&&.5<=n&&n<2?fa(e,t,n*2):[s,c,l]}function or(e,t,n){if(t=+t,e=+e,n=+n,!(n>0))return[];if(e===t)return[e];const r=t<e,[i,o,a]=r?fa(t,e,n):fa(e,t,n);if(!(o>=i))return[];const s=o-i+1,c=new Array(s);if(r)if(a<0)for(let l=0;l<s;++l)c[l]=(o-l)/-a;else for(let l=0;l<s;++l)c[l]=(o-l)*a;else if(a<0)for(let l=0;l<s;++l)c[l]=(i+l)/-a;else for(let l=0;l<s;++l)c[l]=(i+l)*a;return c}function ar(e,t,n){return t=+t,e=+e,n=+n,fa(e,t,n)[2]}function ha(e,t,n){t=+t,e=+e,n=+n;const r=t<e,i=r?ar(t,e,n):ar(e,t,n);return(r?-1:1)*(i<0?1/-i:i)}function oc(e,t,n){let r;for(;;){const i=ar(e,t,n);if(i===r||i===0||!isFinite(i))return[e,t];i>0?(e=Math.floor(e/i)*i,t=Math.ceil(t/i)*i):i<0&&(e=Math.ceil(e*i)/i,t=Math.floor(t*i)/i),r=i}}function ac(e){return Math.max(1,Math.ceil(Math.log(ua(e))/Math.LN2)+1)}function ud(){var e=Hr,t=Oi,n=ac;function r(i){Array.isArray(i)||(i=Array.from(i));var o,a=i.length,s,c,l=new Array(a);for(o=0;o<a;++o)l[o]=e(i[o],o,i);var u=t(l),h=u[0],f=u[1],p=n(l,h,f);if(!Array.isArray(p)){const x=f,v=+p;if(t===Oi&&([h,f]=oc(h,f,v)),p=or(h,f,v),p[0]<=h&&(c=ar(h,f,v)),p[p.length-1]>=f)if(x>=f&&t===Oi){const S=ar(h,f,v);isFinite(S)&&(S>0?f=(Math.floor(f/S)+1)*S:S<0&&(f=(Math.ceil(f*-S)+1)/-S))}else p.pop()}for(var g=p.length,m=0,d=g;p[m]<=h;)++m;for(;p[d-1]>f;)--d;(m||d<g)&&(p=p.slice(m,d),g=d-m);var y=new Array(g+1),b;for(o=0;o<=g;++o)b=y[o]=[],b.x0=o>0?p[o-1]:h,b.x1=o<g?p[o]:f;if(isFinite(c)){if(c>0)for(o=0;o<a;++o)(s=l[o])!=null&&h<=s&&s<=f&&y[Math.min(g,Math.floor((s-h)/c))].push(i[o]);else if(c<0){for(o=0;o<a;++o)if((s=l[o])!=null&&h<=s&&s<=f){const x=Math.floor((h-s)*c);y[Math.min(g,x+(p[x]<=s))].push(i[o])}}}else for(o=0;o<a;++o)(s=l[o])!=null&&h<=s&&s<=f&&y[In(p,s,0,g)].push(i[o]);return y}return r.value=function(i){return arguments.length?(e=typeof i=="function"?i:ic(i),r):e},r.domain=function(i){return arguments.length?(t=typeof i=="function"?i:ic([i[0],i[1]]),r):t},r.thresholds=function(i){return arguments.length?(n=typeof i=="function"?i:ic(Array.isArray(i)?gS.call(i):i),r):n},r}function Fi(e,t){let n;if(t===void 0)for(const r of e)r!=null&&(n<r||n===void 0&&r>=r)&&(n=r);else{let r=-1;for(let i of e)(i=t(i,++r,e))!=null&&(n<i||n===void 0&&i>=i)&&(n=i)}return n}function sc(e,t){let n,r=-1,i=-1;if(t===void 0)for(const o of e)++i,o!=null&&(n<o||n===void 0&&o>=o)&&(n=o,r=i);else for(let o of e)(o=t(o,++i,e))!=null&&(n<o||n===void 0&&o>=o)&&(n=o,r=i);return r}function pa(e,t){let n;if(t===void 0)for(const r of e)r!=null&&(n>r||n===void 0&&r>=r)&&(n=r);else{let r=-1;for(let i of e)(i=t(i,++r,e))!=null&&(n>i||n===void 0&&i>=i)&&(n=i)}return n}function lc(e,t){let n,r=-1,i=-1;if(t===void 0)for(const o of e)++i,o!=null&&(n>o||n===void 0&&o>=o)&&(n=o,r=i);else for(let o of e)(o=t(o,++i,e))!=null&&(n>o||n===void 0&&o>=o)&&(n=o,r=i);return r}function da(e,t,n=0,r=1/0,i){if(t=Math.floor(t),n=Math.floor(Math.max(0,n)),r=Math.floor(Math.min(e.length-1,r)),!(n<=t&&t<=r))return e;for(i=i===void 0?qr:rc(i);r>n;){if(r-n>600){const c=r-n+1,l=t-n+1,u=Math.log(c),h=.5*Math.exp(2*u/3),f=.5*Math.sqrt(u*h*(c-h)/c)*(l-c/2<0?-1:1),p=Math.max(n,Math.floor(t-l*h/c+f)),g=Math.min(r,Math.floor(t+(c-l)*h/c+f));da(e,t,p,g,i)}const o=e[t];let a=n,s=r;for(Yi(e,n,t),i(e[r],o)>0&&Yi(e,n,r);a<s;){for(Yi(e,a,s),++a,--s;i(e[a],o)<0;)++a;for(;i(e[s],o)>0;)--s}i(e[n],o)===0?Yi(e,n,s):(++s,Yi(e,s,r)),s<=t&&(n=s+1),t<=s&&(r=s-1)}return e}function Yi(e,t,n){const r=e[t];e[t]=e[n],e[n]=r}function fd(e,t=De){let n,r=!1;if(t.length===1){let i;for(const o of e){const a=t(o);(r?De(a,i)>0:De(a,a)===0)&&(n=o,i=a,r=!0)}}else for(const i of e)(r?t(i,n)>0:t(i,i)===0)&&(n=i,r=!0);return n}function Wi(e,t,n){if(e=Float64Array.from(U$(e,n)),!(!(r=e.length)||isNaN(t=+t))){if(t<=0||r<2)return pa(e);if(t>=1)return Fi(e);var r,i=(r-1)*t,o=Math.floor(i),a=Fi(da(e,o).subarray(0,o+1)),s=pa(e.subarray(o+1));return a+(s-a)*(i-o)}}function hd(e,t,n=ca){if(!(!(r=e.length)||isNaN(t=+t))){if(t<=0||r<2)return+n(e[0],0,e);if(t>=1)return+n(e[r-1],r-1,e);var r,i=(r-1)*t,o=Math.floor(i),a=+n(e[o],o,e),s=+n(e[o+1],o+1,e);return a+(s-a)*(i-o)}}function pd(e,t,n=ca){if(!isNaN(t=+t)){if(r=Float64Array.from(e,(s,c)=>ca(n(e[c],c,e))),t<=0)return lc(r);if(t>=1)return sc(r);var r,i=Uint32Array.from(e,(s,c)=>c),o=r.length-1,a=Math.floor(o*t);return da(i,a,0,o,(s,c)=>qr(r[s],r[c])),a=fd(i.subarray(0,a+1),s=>r[s]),a>=0?a:-1}}function xS(e,t,n){const r=ua(e),i=Wi(e,.75)-Wi(e,.25);return r&&i?Math.ceil((n-t)/(2*i*Math.pow(r,-1/3))):1}function vS(e,t,n){const r=ua(e),i=Qp(e);return r&&i?Math.ceil((n-t)*Math.cbrt(r)/(3.49*i)):1}function $S(e,t){let n=0,r=0;if(t===void 0)for(let i of e)i!=null&&(i=+i)>=i&&(++n,r+=i);else{let i=-1;for(let o of e)(o=t(o,++i,e))!=null&&(o=+o)>=o&&(++n,r+=o)}if(n)return r/n}function SS(e,t){return Wi(e,.5,t)}function AS(e,t){return pd(e,.5,t)}function*TS(e){for(const t of e)yield*t}function cc(e){return Array.from(TS(e))}function wS(e,t){const n=new zi;if(t===void 0)for(let o of e)o!=null&&o>=o&&n.set(o,(n.get(o)||0)+1);else{let o=-1;for(let a of e)(a=t(a,++o,e))!=null&&a>=a&&n.set(a,(n.get(a)||0)+1)}let r,i=0;for(const[o,a]of n)a>i&&(i=a,r=o);return r}function _S(e,t=DS){const n=[];let r,i=!1;for(const o of e)i&&n.push(t(r,o)),r=o,i=!0;return n}function DS(e,t){return[e,t]}function Nn(e,t,n){e=+e,t=+t,n=(i=arguments.length)<2?(t=e,e=0,1):i<3?1:+n;for(var r=-1,i=Math.max(0,Math.ceil((t-e)/n))|0,o=new Array(i);++r<i;)o[r]=e+r*n;return o}function PS(e,t=De){if(typeof e[Symbol.iterator]!="function")throw new TypeError("values is not iterable");let n=Array.from(e);const r=new Float64Array(n.length);t.length!==2&&(n=n.map(t),t=De);const i=(s,c)=>t(n[s],n[c]);let o,a;return e=Uint32Array.from(n,(s,c)=>c),e.sort(t===De?(s,c)=>qr(n[s],n[c]):rc(i)),e.forEach((s,c)=>{const l=i(s,o===void 0?s:o);l>=0?((o===void 0||l>0)&&(o=s,a=c),r[s]=a):r[s]=NaN}),r}function MS(e,t=De){let n,r=!1;if(t.length===1){let i;for(const o of e){const a=t(o);(r?De(a,i)<0:De(a,a)===0)&&(n=o,i=a,r=!0)}}else for(const i of e)(r?t(i,n)<0:t(i,i)===0)&&(n=i,r=!0);return n}function dd(e,t=De){if(t.length===1)return lc(e,t);let n,r=-1,i=-1;for(const o of e)++i,(r<0?t(o,o)===0:t(o,n)<0)&&(n=o,r=i);return r}function CS(e,t=De){if(t.length===1)return sc(e,t);let n,r=-1,i=-1;for(const o of e)++i,(r<0?t(o,o)===0:t(o,n)>0)&&(n=o,r=i);return r}function LS(e,t){const n=dd(e,t);return n<0?void 0:n}const kS=gd(Math.random);function gd(e){return function(n,r=0,i=n.length){let o=i-(r=+r);for(;o;){const a=e()*o--|0,s=n[o+r];n[o+r]=n[a+r],n[a+r]=s}return n}}function uc(e,t){let n=0;if(t===void 0)for(let r of e)(r=+r)&&(n+=r);else{let r=-1;for(let i of e)(i=+t(i,++r,e))&&(n+=i)}return n}function md(e){if(!(o=e.length))return[];for(var t=-1,n=pa(e,ES),r=new Array(n);++t<n;)for(var i=-1,o,a=r[t]=new Array(o);++i<o;)a[i]=e[i][t];return r}function ES(e){return e.length}function RS(){return md(arguments)}function BS(e,t){if(typeof t!="function")throw new TypeError("test is not a function");let n=-1;for(const r of e)if(!t(r,++n,e))return!1;return!0}function IS(e,t){if(typeof t!="function")throw new TypeError("test is not a function");let n=-1;for(const r of e)if(t(r,++n,e))return!0;return!1}function NS(e,t){if(typeof t!="function")throw new TypeError("test is not a function");const n=[];let r=-1;for(const i of e)t(i,++r,e)&&n.push(i);return n}function OS(e,t){if(typeof e[Symbol.iterator]!="function")throw new TypeError("values is not iterable");if(typeof t!="function")throw new TypeError("mapper is not a function");return Array.from(e,(n,r)=>t(n,r,e))}function zS(e,t,n){if(typeof t!="function")throw new TypeError("reducer is not a function");const r=e[Symbol.iterator]();let i,o,a=-1;if(arguments.length<3){if({done:i,value:n}=r.next(),i)return;++a}for(;{done:i,value:o}=r.next(),!i;)n=t(n,o,++a,e);return n}function FS(e){if(typeof e[Symbol.iterator]!="function")throw new TypeError("values is not iterable");return Array.from(e).reverse()}function YS(e,...t){e=new ir(e);for(const n of t)for(const r of n)e.delete(r);return e}function WS(e,t){const n=t[Symbol.iterator](),r=new ir;for(const i of e){if(r.has(i))return!1;let o,a;for(;({value:o,done:a}=n.next())&&!a;){if(Object.is(i,o))return!1;r.add(o)}}return!0}function GS(e,...t){e=new ir(e),t=t.map(VS);e:for(const n of e)for(const r of t)if(!r.has(n)){e.delete(n);continue e}return e}function VS(e){return e instanceof ir?e:new ir(e)}function yd(e,t){const n=e[Symbol.iterator](),r=new Set;for(const i of t){const o=bd(i);if(r.has(o))continue;let a,s;for(;{value:a,done:s}=n.next();){if(s)return!1;const c=bd(a);if(r.add(c),Object.is(o,c))break}}return!0}function bd(e){return e!==null&&typeof e=="object"?e.valueOf():e}function XS(e,t){return yd(t,e)}function jS(...e){const t=new ir;for(const n of e)for(const r of n)t.add(r);return t}function HS(e){return e}var ga=1,ma=2,fc=3,Gi=4,xd=1e-6;function US(e){return"translate("+e+",0)"}function qS(e){return"translate(0,"+e+")"}function KS(e){return t=>+e(t)}function ZS(e,t){return t=Math.max(0,e.bandwidth()-t*2)/2,e.round()&&(t=Math.round(t)),n=>+e(n)+t}function JS(){return!this.__axis}function ya(e,t){var n=[],r=null,i=null,o=6,a=6,s=3,c=typeof window<"u"&&window.devicePixelRatio>1?0:.5,l=e===ga||e===Gi?-1:1,u=e===Gi||e===ma?"x":"y",h=e===ga||e===fc?US:qS;function f(p){var g=r??(t.ticks?t.ticks.apply(t,n):t.domain()),m=i??(t.tickFormat?t.tickFormat.apply(t,n):HS),d=Math.max(o,0)+s,y=t.range(),b=+y[0]+c,x=+y[y.length-1]+c,v=(t.bandwidth?ZS:KS)(t.copy(),c),S=p.selection?p.selection():p,$=S.selectAll(".domain").data([null]),L=S.selectAll(".tick").data(g,t).order(),E=L.exit(),M=L.enter().append("g").attr("class","tick"),C=L.select("line"),B=L.select("text");$=$.merge($.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),L=L.merge(M),C=C.merge(M.append("line").attr("stroke","currentColor").attr(u+"2",l*o)),B=B.merge(M.append("text").attr("fill","currentColor").attr(u,l*d).attr("dy",e===ga?"0em":e===fc?"0.71em":"0.32em")),p!==S&&($=$.transition(p),L=L.transition(p),C=C.transition(p),B=B.transition(p),E=E.transition(p).attr("opacity",xd).attr("transform",function(D){return isFinite(D=v(D))?h(D+c):this.getAttribute("transform")}),M.attr("opacity",xd).attr("transform",function(D){var P=this.parentNode.__axis;return h((P&&isFinite(P=P(D))?P:v(D))+c)})),E.remove(),$.attr("d",e===Gi||e===ma?a?"M"+l*a+","+b+"H"+c+"V"+x+"H"+l*a:"M"+c+","+b+"V"+x:a?"M"+b+","+l*a+"V"+c+"H"+x+"V"+l*a:"M"+b+","+c+"H"+x),L.attr("opacity",1).attr("transform",function(D){return h(v(D)+c)}),C.attr(u+"2",l*o),B.attr(u,l*d).text(m),S.filter(JS).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",e===ma?"start":e===Gi?"end":"middle"),S.each(function(){this.__axis=v})}return f.scale=function(p){return arguments.length?(t=p,f):t},f.ticks=function(){return n=Array.from(arguments),f},f.tickArguments=function(p){return arguments.length?(n=p==null?[]:Array.from(p),f):n.slice()},f.tickValues=function(p){return arguments.length?(r=p==null?null:Array.from(p),f):r&&r.slice()},f.tickFormat=function(p){return arguments.length?(i=p,f):i},f.tickSize=function(p){return arguments.length?(o=a=+p,f):o},f.tickSizeInner=function(p){return arguments.length?(o=+p,f):o},f.tickSizeOuter=function(p){return arguments.length?(a=+p,f):a},f.tickPadding=function(p){return arguments.length?(s=+p,f):s},f.offset=function(p){return arguments.length?(c=+p,f):c},f}function ba(e){return ya(ga,e)}function QS(e){return ya(ma,e)}function hc(e){return ya(fc,e)}function pc(e){return ya(Gi,e)}var e2={value:()=>{}};function sr(){for(var e=0,t=arguments.length,n={},r;e<t;++e){if(!(r=arguments[e]+"")||r in n||/[\s.]/.test(r))throw new Error("illegal type: "+r);n[r]=[]}return new xa(n)}function xa(e){this._=e}function t2(e,t){return e.trim().split(/^|\s+/).map(function(n){var r="",i=n.indexOf(".");if(i>=0&&(r=n.slice(i+1),n=n.slice(0,i)),n&&!t.hasOwnProperty(n))throw new Error("unknown type: "+n);return{type:n,name:r}})}xa.prototype=sr.prototype={constructor:xa,on:function(e,t){var n=this._,r=t2(e+"",n),i,o=-1,a=r.length;if(arguments.length<2){for(;++o<a;)if((i=(e=r[o]).type)&&(i=n2(n[i],e.name)))return i;return}if(t!=null&&typeof t!="function")throw new Error("invalid callback: "+t);for(;++o<a;)if(i=(e=r[o]).type)n[i]=vd(n[i],e.name,t);else if(t==null)for(i in n)n[i]=vd(n[i],e.name,null);return this},copy:function(){var e={},t=this._;for(var n in t)e[n]=t[n].slice();return new xa(e)},call:function(e,t){if((i=arguments.length-2)>0)for(var n=new Array(i),r=0,i,o;r<i;++r)n[r]=arguments[r+2];if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(o=this._[e],r=0,i=o.length;r<i;++r)o[r].value.apply(t,n)},apply:function(e,t,n){if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(var r=this._[e],i=0,o=r.length;i<o;++i)r[i].value.apply(t,n)}};function n2(e,t){for(var n=0,r=e.length,i;n<r;++n)if((i=e[n]).name===t)return i.value}function vd(e,t,n){for(var r=0,i=e.length;r<i;++r)if(e[r].name===t){e[r]=e2,e=e.slice(0,r).concat(e.slice(r+1));break}return n!=null&&e.push({name:t,value:n}),e}var dc="http://www.w3.org/1999/xhtml";const gc={svg:"http://www.w3.org/2000/svg",xhtml:dc,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function Vi(e){var t=e+="",n=t.indexOf(":");return n>=0&&(t=e.slice(0,n))!=="xmlns"&&(e=e.slice(n+1)),gc.hasOwnProperty(t)?{space:gc[t],local:e}:e}function r2(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===dc&&t.documentElement.namespaceURI===dc?t.createElement(e):t.createElementNS(n,e)}}function i2(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function va(e){var t=Vi(e);return(t.local?i2:r2)(t)}function o2(){}function $a(e){return e==null?o2:function(){return this.querySelector(e)}}function a2(e){typeof e!="function"&&(e=$a(e));for(var t=this._groups,n=t.length,r=new Array(n),i=0;i<n;++i)for(var o=t[i],a=o.length,s=r[i]=new Array(a),c,l,u=0;u<a;++u)(c=o[u])&&(l=e.call(c,c.__data__,u,o))&&("__data__"in c&&(l.__data__=c.__data__),s[u]=l);return new rt(r,this._parents)}function $d(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function s2(){return[]}function mc(e){return e==null?s2:function(){return this.querySelectorAll(e)}}function l2(e){return function(){return $d(e.apply(this,arguments))}}function c2(e){typeof e=="function"?e=l2(e):e=mc(e);for(var t=this._groups,n=t.length,r=[],i=[],o=0;o<n;++o)for(var a=t[o],s=a.length,c,l=0;l<s;++l)(c=a[l])&&(r.push(e.call(c,c.__data__,l,a)),i.push(c));return new rt(r,i)}function yc(e){return function(){return this.matches(e)}}function Sd(e){return function(t){return t.matches(e)}}var u2=Array.prototype.find;function f2(e){return function(){return u2.call(this.children,e)}}function h2(){return this.firstElementChild}function p2(e){return this.select(e==null?h2:f2(typeof e=="function"?e:Sd(e)))}var d2=Array.prototype.filter;function g2(){return Array.from(this.children)}function m2(e){return function(){return d2.call(this.children,e)}}function y2(e){return this.selectAll(e==null?g2:m2(typeof e=="function"?e:Sd(e)))}function b2(e){typeof e!="function"&&(e=yc(e));for(var t=this._groups,n=t.length,r=new Array(n),i=0;i<n;++i)for(var o=t[i],a=o.length,s=r[i]=[],c,l=0;l<a;++l)(c=o[l])&&e.call(c,c.__data__,l,o)&&s.push(c);return new rt(r,this._parents)}function Ad(e){return new Array(e.length)}function x2(){return new rt(this._enter||this._groups.map(Ad),this._parents)}function Sa(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}Sa.prototype={constructor:Sa,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,t){return this._parent.insertBefore(e,t)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}};function v2(e){return function(){return e}}function $2(e,t,n,r,i,o){for(var a=0,s,c=t.length,l=o.length;a<l;++a)(s=t[a])?(s.__data__=o[a],r[a]=s):n[a]=new Sa(e,o[a]);for(;a<c;++a)(s=t[a])&&(i[a]=s)}function S2(e,t,n,r,i,o,a){var s,c,l=new Map,u=t.length,h=o.length,f=new Array(u),p;for(s=0;s<u;++s)(c=t[s])&&(f[s]=p=a.call(c,c.__data__,s,t)+"",l.has(p)?i[s]=c:l.set(p,c));for(s=0;s<h;++s)p=a.call(e,o[s],s,o)+"",(c=l.get(p))?(r[s]=c,c.__data__=o[s],l.delete(p)):n[s]=new Sa(e,o[s]);for(s=0;s<u;++s)(c=t[s])&&l.get(f[s])===c&&(i[s]=c)}function A2(e){return e.__data__}function T2(e,t){if(!arguments.length)return Array.from(this,A2);var n=t?S2:$2,r=this._parents,i=this._groups;typeof e!="function"&&(e=v2(e));for(var o=i.length,a=new Array(o),s=new Array(o),c=new Array(o),l=0;l<o;++l){var u=r[l],h=i[l],f=h.length,p=w2(e.call(u,u&&u.__data__,l,r)),g=p.length,m=s[l]=new Array(g),d=a[l]=new Array(g),y=c[l]=new Array(f);n(u,h,m,d,y,p,t);for(var b=0,x=0,v,S;b<g;++b)if(v=m[b]){for(b>=x&&(x=b+1);!(S=d[x])&&++x<g;);v._next=S||null}}return a=new rt(a,r),a._enter=s,a._exit=c,a}function w2(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function _2(){return new rt(this._exit||this._groups.map(Ad),this._parents)}function D2(e,t,n){var r=this.enter(),i=this,o=this.exit();return typeof e=="function"?(r=e(r),r&&(r=r.selection())):r=r.append(e+""),t!=null&&(i=t(i),i&&(i=i.selection())),n==null?o.remove():n(o),r&&i?r.merge(i).order():i}function P2(e){for(var t=e.selection?e.selection():e,n=this._groups,r=t._groups,i=n.length,o=r.length,a=Math.min(i,o),s=new Array(i),c=0;c<a;++c)for(var l=n[c],u=r[c],h=l.length,f=s[c]=new Array(h),p,g=0;g<h;++g)(p=l[g]||u[g])&&(f[g]=p);for(;c<i;++c)s[c]=n[c];return new rt(s,this._parents)}function M2(){for(var e=this._groups,t=-1,n=e.length;++t<n;)for(var r=e[t],i=r.length-1,o=r[i],a;--i>=0;)(a=r[i])&&(o&&a.compareDocumentPosition(o)^4&&o.parentNode.insertBefore(a,o),o=a);return this}function C2(e){e||(e=L2);function t(h,f){return h&&f?e(h.__data__,f.__data__):!h-!f}for(var n=this._groups,r=n.length,i=new Array(r),o=0;o<r;++o){for(var a=n[o],s=a.length,c=i[o]=new Array(s),l,u=0;u<s;++u)(l=a[u])&&(c[u]=l);c.sort(t)}return new rt(i,this._parents).order()}function L2(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}function k2(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function E2(){return Array.from(this)}function R2(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],i=0,o=r.length;i<o;++i){var a=r[i];if(a)return a}return null}function B2(){let e=0;for(const t of this)++e;return e}function I2(){return!this.node()}function N2(e){for(var t=this._groups,n=0,r=t.length;n<r;++n)for(var i=t[n],o=0,a=i.length,s;o<a;++o)(s=i[o])&&e.call(s,s.__data__,o,i);return this}function O2(e){return function(){this.removeAttribute(e)}}function z2(e){return function(){this.removeAttributeNS(e.space,e.local)}}function F2(e,t){return function(){this.setAttribute(e,t)}}function Y2(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function W2(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttribute(e):this.setAttribute(e,n)}}function G2(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,n)}}function V2(e,t){var n=Vi(e);if(arguments.length<2){var r=this.node();return n.local?r.getAttributeNS(n.space,n.local):r.getAttribute(n)}return this.each((t==null?n.local?z2:O2:typeof t=="function"?n.local?G2:W2:n.local?Y2:F2)(n,t))}function bc(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function X2(e){return function(){this.style.removeProperty(e)}}function j2(e,t,n){return function(){this.style.setProperty(e,t,n)}}function H2(e,t,n){return function(){var r=t.apply(this,arguments);r==null?this.style.removeProperty(e):this.style.setProperty(e,r,n)}}function U2(e,t,n){return arguments.length>1?this.each((t==null?X2:typeof t=="function"?H2:j2)(e,t,n??"")):lr(this.node(),e)}function lr(e,t){return e.style.getPropertyValue(t)||bc(e).getComputedStyle(e,null).getPropertyValue(t)}function q2(e){return function(){delete this[e]}}function K2(e,t){return function(){this[e]=t}}function Z2(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function J2(e,t){return arguments.length>1?this.each((t==null?q2:typeof t=="function"?Z2:K2)(e,t)):this.node()[e]}function Td(e){return e.trim().split(/^|\s+/)}function xc(e){return e.classList||new wd(e)}function wd(e){this._node=e,this._names=Td(e.getAttribute("class")||"")}wd.prototype={add:function(e){var t=this._names.indexOf(e);t<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function _d(e,t){for(var n=xc(e),r=-1,i=t.length;++r<i;)n.add(t[r])}function Dd(e,t){for(var n=xc(e),r=-1,i=t.length;++r<i;)n.remove(t[r])}function Q2(e){return function(){_d(this,e)}}function eA(e){return function(){Dd(this,e)}}function tA(e,t){return function(){(t.apply(this,arguments)?_d:Dd)(this,e)}}function nA(e,t){var n=Td(e+"");if(arguments.length<2){for(var r=xc(this.node()),i=-1,o=n.length;++i<o;)if(!r.contains(n[i]))return!1;return!0}return this.each((typeof t=="function"?tA:t?Q2:eA)(n,t))}function rA(){this.textContent=""}function iA(e){return function(){this.textContent=e}}function oA(e){return function(){var t=e.apply(this,arguments);this.textContent=t??""}}function aA(e){return arguments.length?this.each(e==null?rA:(typeof e=="function"?oA:iA)(e)):this.node().textContent}function sA(){this.innerHTML=""}function lA(e){return function(){this.innerHTML=e}}function cA(e){return function(){var t=e.apply(this,arguments);this.innerHTML=t??""}}function uA(e){return arguments.length?this.each(e==null?sA:(typeof e=="function"?cA:lA)(e)):this.node().innerHTML}function fA(){this.nextSibling&&this.parentNode.appendChild(this)}function hA(){return this.each(fA)}function pA(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function dA(){return this.each(pA)}function gA(e){var t=typeof e=="function"?e:va(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})}function mA(){return null}function yA(e,t){var n=typeof e=="function"?e:va(e),r=t==null?mA:typeof t=="function"?t:$a(t);return this.select(function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)})}function bA(){var e=this.parentNode;e&&e.removeChild(this)}function xA(){return this.each(bA)}function vA(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function $A(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function SA(e){return this.select(e?$A:vA)}function AA(e){return arguments.length?this.property("__data__",e):this.node().__data__}function TA(e){return function(t){e.call(this,t,this.__data__)}}function wA(e){return e.trim().split(/^|\s+/).map(function(t){var n="",r=t.indexOf(".");return r>=0&&(n=t.slice(r+1),t=t.slice(0,r)),{type:t,name:n}})}function _A(e){return function(){var t=this.__on;if(t){for(var n=0,r=-1,i=t.length,o;n<i;++n)o=t[n],(!e.type||o.type===e.type)&&o.name===e.name?this.removeEventListener(o.type,o.listener,o.options):t[++r]=o;++r?t.length=r:delete this.__on}}}function DA(e,t,n){return function(){var r=this.__on,i,o=TA(t);if(r){for(var a=0,s=r.length;a<s;++a)if((i=r[a]).type===e.type&&i.name===e.name){this.removeEventListener(i.type,i.listener,i.options),this.addEventListener(i.type,i.listener=o,i.options=n),i.value=t;return}}this.addEventListener(e.type,o,n),i={type:e.type,name:e.name,value:t,listener:o,options:n},r?r.push(i):this.__on=[i]}}function PA(e,t,n){var r=wA(e+""),i,o=r.length,a;if(arguments.length<2){var s=this.node().__on;if(s){for(var c=0,l=s.length,u;c<l;++c)for(i=0,u=s[c];i<o;++i)if((a=r[i]).type===u.type&&a.name===u.name)return u.value}return}for(s=t?DA:_A,i=0;i<o;++i)this.each(s(r[i],t,n));return this}function Pd(e,t,n){var r=bc(e),i=r.CustomEvent;typeof i=="function"?i=new i(t,n):(i=r.document.createEvent("Event"),n?(i.initEvent(t,n.bubbles,n.cancelable),i.detail=n.detail):i.initEvent(t,!1,!1)),e.dispatchEvent(i)}function MA(e,t){return function(){return Pd(this,e,t)}}function CA(e,t){return function(){return Pd(this,e,t.apply(this,arguments))}}function LA(e,t){return this.each((typeof t=="function"?CA:MA)(e,t))}function*kA(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],i=0,o=r.length,a;i<o;++i)(a=r[i])&&(yield a)}var vc=[null];function rt(e,t){this._groups=e,this._parents=t}function cr(){return new rt([[document.documentElement]],vc)}function EA(){return this}rt.prototype=cr.prototype={constructor:rt,select:a2,selectAll:c2,selectChild:p2,selectChildren:y2,filter:b2,data:T2,enter:x2,exit:_2,join:D2,merge:P2,selection:EA,order:M2,sort:C2,call:k2,nodes:E2,node:R2,size:B2,empty:I2,each:N2,attr:V2,style:U2,property:J2,classed:nA,text:aA,html:uA,raise:hA,lower:dA,append:gA,insert:yA,remove:xA,clone:SA,datum:AA,on:PA,dispatch:LA,[Symbol.iterator]:kA};function Y(e){return typeof e=="string"?new rt([[document.querySelector(e)]],[document.documentElement]):new rt([[e]],vc)}function RA(e){return Y(va(e).call(document.documentElement))}var BA=0;function Md(){return new $c}function $c(){this._="@"+(++BA).toString(36)}$c.prototype=Md.prototype={constructor:$c,get:function(e){for(var t=this._;!(t in e);)if(!(e=e.parentNode))return;return e[t]},set:function(e,t){return e[this._]=t},remove:function(e){return this._ in e&&delete e[this._]},toString:function(){return this._}};function Cd(e){let t;for(;t=e.sourceEvent;)e=t;return e}function Tt(e,t){if(e=Cd(e),t===void 0&&(t=e.currentTarget),t){var n=t.ownerSVGElement||t;if(n.createSVGPoint){var r=n.createSVGPoint();return r.x=e.clientX,r.y=e.clientY,r=r.matrixTransform(t.getScreenCTM().inverse()),[r.x,r.y]}if(t.getBoundingClientRect){var i=t.getBoundingClientRect();return[e.clientX-i.left-t.clientLeft,e.clientY-i.top-t.clientTop]}}return[e.pageX,e.pageY]}function IA(e,t){return e.target&&(e=Cd(e),t===void 0&&(t=e.currentTarget),e=e.touches||[e]),Array.from(e,n=>Tt(n,t))}function Ld(e){return typeof e=="string"?new rt([document.querySelectorAll(e)],[document.documentElement]):new rt([$d(e)],vc)}const NA={passive:!1},Xi={capture:!0,passive:!1};function Sc(e){e.stopImmediatePropagation()}function Kr(e){e.preventDefault(),e.stopImmediatePropagation()}function Aa(e){var t=e.document.documentElement,n=Y(e).on("dragstart.drag",Kr,Xi);"onselectstart"in t?n.on("selectstart.drag",Kr,Xi):(t.__noselect=t.style.MozUserSelect,t.style.MozUserSelect="none")}function Ta(e,t){var n=e.document.documentElement,r=Y(e).on("dragstart.drag",null);t&&(r.on("click.drag",Kr,Xi),setTimeout(function(){r.on("click.drag",null)},0)),"onselectstart"in n?r.on("selectstart.drag",null):(n.style.MozUserSelect=n.__noselect,delete n.__noselect)}const wa=e=>()=>e;function Ac(e,{sourceEvent:t,subject:n,target:r,identifier:i,active:o,x:a,y:s,dx:c,dy:l,dispatch:u}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},identifier:{value:i,enumerable:!0,configurable:!0},active:{value:o,enumerable:!0,configurable:!0},x:{value:a,enumerable:!0,configurable:!0},y:{value:s,enumerable:!0,configurable:!0},dx:{value:c,enumerable:!0,configurable:!0},dy:{value:l,enumerable:!0,configurable:!0},_:{value:u}})}Ac.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function OA(e){return!e.ctrlKey&&!e.button}function zA(){return this.parentNode}function FA(e,t){return t??{x:e.x,y:e.y}}function YA(){return navigator.maxTouchPoints||"ontouchstart"in this}function _a(){var e=OA,t=zA,n=FA,r=YA,i={},o=sr("start","drag","end"),a=0,s,c,l,u,h=0;function f(v){v.on("mousedown.drag",p).filter(r).on("touchstart.drag",d).on("touchmove.drag",y,NA).on("touchend.drag touchcancel.drag",b).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function p(v,S){if(!(u||!e.call(this,v,S))){var $=x(this,t.call(this,v,S),v,S,"mouse");$&&(Y(v.view).on("mousemove.drag",g,Xi).on("mouseup.drag",m,Xi),Aa(v.view),Sc(v),l=!1,s=v.clientX,c=v.clientY,$("start",v))}}function g(v){if(Kr(v),!l){var S=v.clientX-s,$=v.clientY-c;l=S*S+$*$>h}i.mouse("drag",v)}function m(v){Y(v.view).on("mousemove.drag mouseup.drag",null),Ta(v.view,l),Kr(v),i.mouse("end",v)}function d(v,S){if(e.call(this,v,S)){var $=v.changedTouches,L=t.call(this,v,S),E=$.length,M,C;for(M=0;M<E;++M)(C=x(this,L,v,S,$[M].identifier,$[M]))&&(Sc(v),C("start",v,$[M]))}}function y(v){var S=v.changedTouches,$=S.length,L,E;for(L=0;L<$;++L)(E=i[S[L].identifier])&&(Kr(v),E("drag",v,S[L]))}function b(v){var S=v.changedTouches,$=S.length,L,E;for(u&&clearTimeout(u),u=setTimeout(function(){u=null},500),L=0;L<$;++L)(E=i[S[L].identifier])&&(Sc(v),E("end",v,S[L]))}function x(v,S,$,L,E,M){var C=o.copy(),B=Tt(M||$,S),D,P,w;if((w=n.call(v,new Ac("beforestart",{sourceEvent:$,target:f,identifier:E,active:a,x:B[0],y:B[1],dx:0,dy:0,dispatch:C}),L))!=null)return D=w.x-B[0]||0,P=w.y-B[1]||0,function k(T,I,_){var O=B,F;switch(T){case"start":i[E]=k,F=a++;break;case"end":delete i[E],--a;case"drag":B=Tt(_||I,S),F=a;break}C.call(T,v,new Ac(T,{sourceEvent:I,subject:w,target:f,identifier:E,active:F,x:B[0]+D,y:B[1]+P,dx:B[0]-O[0],dy:B[1]-O[1],dispatch:C}),L)}}return f.filter=function(v){return arguments.length?(e=typeof v=="function"?v:wa(!!v),f):e},f.container=function(v){return arguments.length?(t=typeof v=="function"?v:wa(v),f):t},f.subject=function(v){return arguments.length?(n=typeof v=="function"?v:wa(v),f):n},f.touchable=function(v){return arguments.length?(r=typeof v=="function"?v:wa(!!v),f):r},f.on=function(){var v=o.on.apply(o,arguments);return v===o?f:v},f.clickDistance=function(v){return arguments.length?(h=(v=+v)*v,f):Math.sqrt(h)},f}function Zr(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function ji(e,t){var n=Object.create(e.prototype);for(var r in t)n[r]=t[r];return n}function On(){}var ur=.7,Jr=1/ur,Qr="\\s*([+-]?\\d+)\\s*",Hi="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",Qt="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",WA=/^#([0-9a-f]{3,8})$/,GA=new RegExp(`^rgb\\(${Qr},${Qr},${Qr}\\)$`),VA=new RegExp(`^rgb\\(${Qt},${Qt},${Qt}\\)$`),XA=new RegExp(`^rgba\\(${Qr},${Qr},${Qr},${Hi}\\)$`),jA=new RegExp(`^rgba\\(${Qt},${Qt},${Qt},${Hi}\\)$`),HA=new RegExp(`^hsl\\(${Hi},${Qt},${Qt}\\)$`),UA=new RegExp(`^hsla\\(${Hi},${Qt},${Qt},${Hi}\\)$`),kd={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};Zr(On,zn,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:Ed,formatHex:Ed,formatHex8:qA,formatHsl:KA,formatRgb:Rd,toString:Rd});function Ed(){return this.rgb().formatHex()}function qA(){return this.rgb().formatHex8()}function KA(){return zd(this).formatHsl()}function Rd(){return this.rgb().formatRgb()}function zn(e){var t,n;return e=(e+"").trim().toLowerCase(),(t=WA.exec(e))?(n=t[1].length,t=parseInt(t[1],16),n===6?Bd(t):n===3?new Ne(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?Da(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?Da(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=GA.exec(e))?new Ne(t[1],t[2],t[3],1):(t=VA.exec(e))?new Ne(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=XA.exec(e))?Da(t[1],t[2],t[3],t[4]):(t=jA.exec(e))?Da(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=HA.exec(e))?Od(t[1],t[2]/100,t[3]/100,1):(t=UA.exec(e))?Od(t[1],t[2]/100,t[3]/100,t[4]):kd.hasOwnProperty(e)?Bd(kd[e]):e==="transparent"?new Ne(NaN,NaN,NaN,0):null}function Bd(e){return new Ne(e>>16&255,e>>8&255,e&255,1)}function Da(e,t,n,r){return r<=0&&(e=t=n=NaN),new Ne(e,t,n,r)}function Tc(e){return e instanceof On||(e=zn(e)),e?(e=e.rgb(),new Ne(e.r,e.g,e.b,e.opacity)):new Ne}function ei(e,t,n,r){return arguments.length===1?Tc(e):new Ne(e,t,n,r??1)}function Ne(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}Zr(Ne,ei,ji(On,{brighter(e){return e=e==null?Jr:Math.pow(Jr,e),new Ne(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?ur:Math.pow(ur,e),new Ne(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new Ne(fr(this.r),fr(this.g),fr(this.b),Pa(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:Id,formatHex:Id,formatHex8:ZA,formatRgb:Nd,toString:Nd}));function Id(){return`#${hr(this.r)}${hr(this.g)}${hr(this.b)}`}function ZA(){return`#${hr(this.r)}${hr(this.g)}${hr(this.b)}${hr((isNaN(this.opacity)?1:this.opacity)*255)}`}function Nd(){const e=Pa(this.opacity);return`${e===1?"rgb(":"rgba("}${fr(this.r)}, ${fr(this.g)}, ${fr(this.b)}${e===1?")":`, ${e})`}`}function Pa(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function fr(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function hr(e){return e=fr(e),(e<16?"0":"")+e.toString(16)}function Od(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new Ot(e,t,n,r)}function zd(e){if(e instanceof Ot)return new Ot(e.h,e.s,e.l,e.opacity);if(e instanceof On||(e=zn(e)),!e)return new Ot;if(e instanceof Ot)return e;e=e.rgb();var t=e.r/255,n=e.g/255,r=e.b/255,i=Math.min(t,n,r),o=Math.max(t,n,r),a=NaN,s=o-i,c=(o+i)/2;return s?(t===o?a=(n-r)/s+(n<r)*6:n===o?a=(r-t)/s+2:a=(t-n)/s+4,s/=c<.5?o+i:2-o-i,a*=60):s=c>0&&c<1?0:a,new Ot(a,s,c,e.opacity)}function Ma(e,t,n,r){return arguments.length===1?zd(e):new Ot(e,t,n,r??1)}function Ot(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}Zr(Ot,Ma,ji(On,{brighter(e){return e=e==null?Jr:Math.pow(Jr,e),new Ot(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?ur:Math.pow(ur,e),new Ot(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,i=2*n-r;return new Ne(wc(e>=240?e-240:e+120,i,r),wc(e,i,r),wc(e<120?e+240:e-120,i,r),this.opacity)},clamp(){return new Ot(Fd(this.h),Ca(this.s),Ca(this.l),Pa(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(){const e=Pa(this.opacity);return`${e===1?"hsl(":"hsla("}${Fd(this.h)}, ${Ca(this.s)*100}%, ${Ca(this.l)*100}%${e===1?")":`, ${e})`}`}}));function Fd(e){return e=(e||0)%360,e<0?e+360:e}function Ca(e){return Math.max(0,Math.min(1,e||0))}function wc(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}const Yd=Math.PI/180,Wd=180/Math.PI,La=18,Gd=.96422,Vd=1,Xd=.82521,jd=4/29,ti=6/29,Hd=3*ti*ti,JA=ti*ti*ti;function Ud(e){if(e instanceof zt)return new zt(e.l,e.a,e.b,e.opacity);if(e instanceof en)return Kd(e);e instanceof Ne||(e=Tc(e));var t=Mc(e.r),n=Mc(e.g),r=Mc(e.b),i=_c((.2225045*t+.7168786*n+.0606169*r)/Vd),o,a;return t===n&&n===r?o=a=i:(o=_c((.4360747*t+.3850649*n+.1430804*r)/Gd),a=_c((.0139322*t+.0971045*n+.7141733*r)/Xd)),new zt(116*i-16,500*(o-i),200*(i-a),e.opacity)}function QA(e,t){return new zt(e,0,0,t??1)}function Ui(e,t,n,r){return arguments.length===1?Ud(e):new zt(e,t,n,r??1)}function zt(e,t,n,r){this.l=+e,this.a=+t,this.b=+n,this.opacity=+r}Zr(zt,Ui,ji(On,{brighter(e){return new zt(this.l+La*(e??1),this.a,this.b,this.opacity)},darker(e){return new zt(this.l-La*(e??1),this.a,this.b,this.opacity)},rgb(){var e=(this.l+16)/116,t=isNaN(this.a)?e:e+this.a/500,n=isNaN(this.b)?e:e-this.b/200;return t=Gd*Dc(t),e=Vd*Dc(e),n=Xd*Dc(n),new Ne(Pc(3.1338561*t-1.6168667*e-.4906146*n),Pc(-.9787684*t+1.9161415*e+.033454*n),Pc(.0719453*t-.2289914*e+1.4052427*n),this.opacity)}}));function _c(e){return e>JA?Math.pow(e,1/3):e/Hd+jd}function Dc(e){return e>ti?e*e*e:Hd*(e-jd)}function Pc(e){return 255*(e<=.0031308?12.92*e:1.055*Math.pow(e,1/2.4)-.055)}function Mc(e){return(e/=255)<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4)}function qd(e){if(e instanceof en)return new en(e.h,e.c,e.l,e.opacity);if(e instanceof zt||(e=Ud(e)),e.a===0&&e.b===0)return new en(NaN,0<e.l&&e.l<100?0:NaN,e.l,e.opacity);var t=Math.atan2(e.b,e.a)*Wd;return new en(t<0?t+360:t,Math.sqrt(e.a*e.a+e.b*e.b),e.l,e.opacity)}function eT(e,t,n,r){return arguments.length===1?qd(e):new en(n,t,e,r??1)}function ka(e,t,n,r){return arguments.length===1?qd(e):new en(e,t,n,r??1)}function en(e,t,n,r){this.h=+e,this.c=+t,this.l=+n,this.opacity=+r}function Kd(e){if(isNaN(e.h))return new zt(e.l,0,0,e.opacity);var t=e.h*Yd;return new zt(e.l,Math.cos(t)*e.c,Math.sin(t)*e.c,e.opacity)}Zr(en,ka,ji(On,{brighter(e){return new en(this.h,this.c,this.l+La*(e??1),this.opacity)},darker(e){return new en(this.h,this.c,this.l-La*(e??1),this.opacity)},rgb(){return Kd(this).rgb()}}));var Zd=-.14861,Cc=1.78277,Lc=-.29227,Ea=-.90649,qi=1.97294,Jd=qi*Ea,Qd=qi*Cc,eg=Cc*Lc-Ea*Zd;function tT(e){if(e instanceof pr)return new pr(e.h,e.s,e.l,e.opacity);e instanceof Ne||(e=Tc(e));var t=e.r/255,n=e.g/255,r=e.b/255,i=(eg*r+Jd*t-Qd*n)/(eg+Jd-Qd),o=r-i,a=(qi*(n-i)-Lc*o)/Ea,s=Math.sqrt(a*a+o*o)/(qi*i*(1-i)),c=s?Math.atan2(a,o)*Wd-120:NaN;return new pr(c<0?c+360:c,s,i,e.opacity)}function Ft(e,t,n,r){return arguments.length===1?tT(e):new pr(e,t,n,r??1)}function pr(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}Zr(pr,Ft,ji(On,{brighter(e){return e=e==null?Jr:Math.pow(Jr,e),new pr(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?ur:Math.pow(ur,e),new pr(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=isNaN(this.h)?0:(this.h+120)*Yd,t=+this.l,n=isNaN(this.s)?0:this.s*t*(1-t),r=Math.cos(e),i=Math.sin(e);return new Ne(255*(t+n*(Zd*r+Cc*i)),255*(t+n*(Lc*r+Ea*i)),255*(t+n*(qi*r)),this.opacity)}}));function tg(e,t,n,r,i){var o=e*e,a=o*e;return((1-3*e+3*o-a)*t+(4-6*o+3*a)*n+(1+3*e+3*o-3*a)*r+a*i)/6}function ng(e){var t=e.length-1;return function(n){var r=n<=0?n=0:n>=1?(n=1,t-1):Math.floor(n*t),i=e[r],o=e[r+1],a=r>0?e[r-1]:2*i-o,s=r<t-1?e[r+2]:2*o-i;return tg((n-r/t)*t,a,i,o,s)}}function rg(e){var t=e.length;return function(n){var r=Math.floor(((n%=1)<0?++n:n)*t),i=e[(r+t-1)%t],o=e[r%t],a=e[(r+1)%t],s=e[(r+2)%t];return tg((n-r/t)*t,i,o,a,s)}}const Ra=e=>()=>e;function ig(e,t){return function(n){return e+n*t}}function nT(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(r){return Math.pow(e+r*t,n)}}function Ba(e,t){var n=t-e;return n?ig(e,n>180||n<-180?n-360*Math.round(n/360):n):Ra(isNaN(e)?t:e)}function rT(e){return(e=+e)==1?Oe:function(t,n){return n-t?nT(t,n,e):Ra(isNaN(t)?n:t)}}function Oe(e,t){var n=t-e;return n?ig(e,n):Ra(isNaN(e)?t:e)}const Ki=function e(t){var n=rT(t);function r(i,o){var a=n((i=ei(i)).r,(o=ei(o)).r),s=n(i.g,o.g),c=n(i.b,o.b),l=Oe(i.opacity,o.opacity);return function(u){return i.r=a(u),i.g=s(u),i.b=c(u),i.opacity=l(u),i+""}}return r.gamma=e,r}(1);function og(e){return function(t){var n=t.length,r=new Array(n),i=new Array(n),o=new Array(n),a,s;for(a=0;a<n;++a)s=ei(t[a]),r[a]=s.r||0,i[a]=s.g||0,o[a]=s.b||0;return r=e(r),i=e(i),o=e(o),s.opacity=1,function(c){return s.r=r(c),s.g=i(c),s.b=o(c),s+""}}}var ag=og(ng),iT=og(rg);function kc(e,t){t||(t=[]);var n=e?Math.min(t.length,e.length):0,r=t.slice(),i;return function(o){for(i=0;i<n;++i)r[i]=e[i]*(1-o)+t[i]*o;return r}}function sg(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function oT(e,t){return(sg(t)?kc:lg)(e,t)}function lg(e,t){var n=t?t.length:0,r=e?Math.min(n,e.length):0,i=new Array(r),o=new Array(n),a;for(a=0;a<r;++a)i[a]=gn(e[a],t[a]);for(;a<n;++a)o[a]=t[a];return function(s){for(a=0;a<r;++a)o[a]=i[a](s);return o}}function cg(e,t){var n=new Date;return e=+e,t=+t,function(r){return n.setTime(e*(1-r)+t*r),n}}function wt(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}function ug(e,t){var n={},r={},i;(e===null||typeof e!="object")&&(e={}),(t===null||typeof t!="object")&&(t={});for(i in t)i in e?n[i]=gn(e[i],t[i]):r[i]=t[i];return function(o){for(i in n)r[i]=n[i](o);return r}}var Ec=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Rc=new RegExp(Ec.source,"g");function aT(e){return function(){return e}}function sT(e){return function(t){return e(t)+""}}function Bc(e,t){var n=Ec.lastIndex=Rc.lastIndex=0,r,i,o,a=-1,s=[],c=[];for(e=e+"",t=t+"";(r=Ec.exec(e))&&(i=Rc.exec(t));)(o=i.index)>n&&(o=t.slice(n,o),s[a]?s[a]+=o:s[++a]=o),(r=r[0])===(i=i[0])?s[a]?s[a]+=i:s[++a]=i:(s[++a]=null,c.push({i:a,x:wt(r,i)})),n=Rc.lastIndex;return n<t.length&&(o=t.slice(n),s[a]?s[a]+=o:s[++a]=o),s.length<2?c[0]?sT(c[0].x):aT(t):(t=c.length,function(l){for(var u=0,h;u<t;++u)s[(h=c[u]).i]=h.x(l);return s.join("")})}function gn(e,t){var n=typeof t,r;return t==null||n==="boolean"?Ra(t):(n==="number"?wt:n==="string"?(r=zn(t))?(t=r,Ki):Bc:t instanceof zn?Ki:t instanceof Date?cg:sg(t)?kc:Array.isArray(t)?lg:typeof t.valueOf!="function"&&typeof t.toString!="function"||isNaN(t)?ug:wt)(e,t)}function lT(e){var t=e.length;return function(n){return e[Math.max(0,Math.min(t-1,Math.floor(n*t)))]}}function cT(e,t){var n=Ba(+e,+t);return function(r){var i=n(r);return i-360*Math.floor(i/360)}}function Zi(e,t){return e=+e,t=+t,function(n){return Math.round(e*(1-n)+t*n)}}var fg=180/Math.PI,Ic={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function hg(e,t,n,r,i,o){var a,s,c;return(a=Math.sqrt(e*e+t*t))&&(e/=a,t/=a),(c=e*n+t*r)&&(n-=e*c,r-=t*c),(s=Math.sqrt(n*n+r*r))&&(n/=s,r/=s,c/=s),e*r<t*n&&(e=-e,t=-t,c=-c,a=-a),{translateX:i,translateY:o,rotate:Math.atan2(t,e)*fg,skewX:Math.atan(c)*fg,scaleX:a,scaleY:s}}var Ia;function uT(e){const t=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(e+"");return t.isIdentity?Ic:hg(t.a,t.b,t.c,t.d,t.e,t.f)}function fT(e){return e==null||(Ia||(Ia=document.createElementNS("http://www.w3.org/2000/svg","g")),Ia.setAttribute("transform",e),!(e=Ia.transform.baseVal.consolidate()))?Ic:(e=e.matrix,hg(e.a,e.b,e.c,e.d,e.e,e.f))}function pg(e,t,n,r){function i(l){return l.length?l.pop()+" ":""}function o(l,u,h,f,p,g){if(l!==h||u!==f){var m=p.push("translate(",null,t,null,n);g.push({i:m-4,x:wt(l,h)},{i:m-2,x:wt(u,f)})}else(h||f)&&p.push("translate("+h+t+f+n)}function a(l,u,h,f){l!==u?(l-u>180?u+=360:u-l>180&&(l+=360),f.push({i:h.push(i(h)+"rotate(",null,r)-2,x:wt(l,u)})):u&&h.push(i(h)+"rotate("+u+r)}function s(l,u,h,f){l!==u?f.push({i:h.push(i(h)+"skewX(",null,r)-2,x:wt(l,u)}):u&&h.push(i(h)+"skewX("+u+r)}function c(l,u,h,f,p,g){if(l!==h||u!==f){var m=p.push(i(p)+"scale(",null,",",null,")");g.push({i:m-4,x:wt(l,h)},{i:m-2,x:wt(u,f)})}else(h!==1||f!==1)&&p.push(i(p)+"scale("+h+","+f+")")}return function(l,u){var h=[],f=[];return l=e(l),u=e(u),o(l.translateX,l.translateY,u.translateX,u.translateY,h,f),a(l.rotate,u.rotate,h,f),s(l.skewX,u.skewX,h,f),c(l.scaleX,l.scaleY,u.scaleX,u.scaleY,h,f),l=u=null,function(p){for(var g=-1,m=f.length,d;++g<m;)h[(d=f[g]).i]=d.x(p);return h.join("")}}}var dg=pg(uT,"px, ","px)","deg)"),gg=pg(fT,", ",")",")"),hT=1e-12;function mg(e){return((e=Math.exp(e))+1/e)/2}function pT(e){return((e=Math.exp(e))-1/e)/2}function dT(e){return((e=Math.exp(2*e))-1)/(e+1)}const yg=function e(t,n,r){function i(o,a){var s=o[0],c=o[1],l=o[2],u=a[0],h=a[1],f=a[2],p=u-s,g=h-c,m=p*p+g*g,d,y;if(m<hT)y=Math.log(f/l)/t,d=function(L){return[s+L*p,c+L*g,l*Math.exp(t*L*y)]};else{var b=Math.sqrt(m),x=(f*f-l*l+r*m)/(2*l*n*b),v=(f*f-l*l-r*m)/(2*f*n*b),S=Math.log(Math.sqrt(x*x+1)-x),$=Math.log(Math.sqrt(v*v+1)-v);y=($-S)/t,d=function(L){var E=L*y,M=mg(S),C=l/(n*b)*(M*dT(t*E+S)-pT(S));return[s+C*p,c+C*g,l*M/mg(t*E+S)]}}return d.duration=y*1e3*t/Math.SQRT2,d}return i.rho=function(o){var a=Math.max(.001,+o),s=a*a,c=s*s;return e(a,s,c)},i}(Math.SQRT2,2,4);function bg(e){return function(t,n){var r=e((t=Ma(t)).h,(n=Ma(n)).h),i=Oe(t.s,n.s),o=Oe(t.l,n.l),a=Oe(t.opacity,n.opacity);return function(s){return t.h=r(s),t.s=i(s),t.l=o(s),t.opacity=a(s),t+""}}}const gT=bg(Ba);var mT=bg(Oe);function yT(e,t){var n=Oe((e=Ui(e)).l,(t=Ui(t)).l),r=Oe(e.a,t.a),i=Oe(e.b,t.b),o=Oe(e.opacity,t.opacity);return function(a){return e.l=n(a),e.a=r(a),e.b=i(a),e.opacity=o(a),e+""}}function xg(e){return function(t,n){var r=e((t=ka(t)).h,(n=ka(n)).h),i=Oe(t.c,n.c),o=Oe(t.l,n.l),a=Oe(t.opacity,n.opacity);return function(s){return t.h=r(s),t.c=i(s),t.l=o(s),t.opacity=a(s),t+""}}}const bT=xg(Ba);var xT=xg(Oe);function vg(e){return function t(n){n=+n;function r(i,o){var a=e((i=Ft(i)).h,(o=Ft(o)).h),s=Oe(i.s,o.s),c=Oe(i.l,o.l),l=Oe(i.opacity,o.opacity);return function(u){return i.h=a(u),i.s=s(u),i.l=c(Math.pow(u,n)),i.opacity=l(u),i+""}}return r.gamma=t,r}(1)}const vT=vg(Ba);var Na=vg(Oe);function $g(e,t){t===void 0&&(t=e,e=gn);for(var n=0,r=t.length-1,i=t[0],o=new Array(r<0?0:r);n<r;)o[n]=e(i,i=t[++n]);return function(a){var s=Math.max(0,Math.min(r-1,Math.floor(a*=r)));return o[s](a-s)}}function $T(e,t){for(var n=new Array(t),r=0;r<t;++r)n[r]=e(r/(t-1));return n}var ni=0,Ji=0,Qi=0,Sg=1e3,Oa,eo,za=0,dr=0,Fa=0,to=typeof performance=="object"&&performance.now?performance:Date,Ag=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function no(){return dr||(Ag(ST),dr=to.now()+Fa)}function ST(){dr=0}function ro(){this._call=this._time=this._next=null}ro.prototype=Ya.prototype={constructor:ro,restart:function(e,t,n){if(typeof e!="function")throw new TypeError("callback is not a function");n=(n==null?no():+n)+(t==null?0:+t),!this._next&&eo!==this&&(eo?eo._next=this:Oa=this,eo=this),this._call=e,this._time=n,Nc()},stop:function(){this._call&&(this._call=null,this._time=1/0,Nc())}};function Ya(e,t,n){var r=new ro;return r.restart(e,t,n),r}function Tg(){no(),++ni;for(var e=Oa,t;e;)(t=dr-e._time)>=0&&e._call.call(void 0,t),e=e._next;--ni}function wg(){dr=(za=to.now())+Fa,ni=Ji=0;try{Tg()}finally{ni=0,TT(),dr=0}}function AT(){var e=to.now(),t=e-za;t>Sg&&(Fa-=t,za=e)}function TT(){for(var e,t=Oa,n,r=1/0;t;)t._call?(r>t._time&&(r=t._time),e=t,t=t._next):(n=t._next,t._next=null,t=e?e._next=n:Oa=n);eo=e,Nc(r)}function Nc(e){if(!ni){Ji&&(Ji=clearTimeout(Ji));var t=e-dr;t>24?(e<1/0&&(Ji=setTimeout(wg,e-to.now()-Fa)),Qi&&(Qi=clearInterval(Qi))):(Qi||(za=to.now(),Qi=setInterval(AT,Sg)),ni=1,Ag(wg))}}function Oc(e,t,n){var r=new ro;return t=t==null?0:+t,r.restart(i=>{r.stop(),e(i+t)},t,n),r}function wT(e,t,n){var r=new ro,i=t;return t==null?(r.restart(e,t,n),r):(r._restart=r.restart,r.restart=function(o,a,s){a=+a,s=s==null?no():+s,r._restart(function c(l){l+=i,r._restart(c,i+=a,s),o(l)},a,s)},r.restart(e,t,n),r)}var _T=sr("start","end","cancel","interrupt"),DT=[],_g=0,zc=1,Fc=2,Wa=3,Dg=4,Yc=5,Ga=6;function Va(e,t,n,r,i,o){var a=e.__transition;if(!a)e.__transition={};else if(n in a)return;PT(e,n,{name:t,index:r,group:i,on:_T,tween:DT,time:o.time,delay:o.delay,duration:o.duration,ease:o.ease,timer:null,state:_g})}function Wc(e,t){var n=Yt(e,t);if(n.state>_g)throw new Error("too late; already scheduled");return n}function tn(e,t){var n=Yt(e,t);if(n.state>Wa)throw new Error("too late; already running");return n}function Yt(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw new Error("transition not found");return n}function PT(e,t,n){var r=e.__transition,i;r[t]=n,n.timer=Ya(o,0,n.time);function o(l){n.state=zc,n.timer.restart(a,n.delay,n.time),n.delay<=l&&a(l-n.delay)}function a(l){var u,h,f,p;if(n.state!==zc)return c();for(u in r)if(p=r[u],p.name===n.name){if(p.state===Wa)return Oc(a);p.state===Dg?(p.state=Ga,p.timer.stop(),p.on.call("interrupt",e,e.__data__,p.index,p.group),delete r[u]):+u<t&&(p.state=Ga,p.timer.stop(),p.on.call("cancel",e,e.__data__,p.index,p.group),delete r[u])}if(Oc(function(){n.state===Wa&&(n.state=Dg,n.timer.restart(s,n.delay,n.time),s(l))}),n.state=Fc,n.on.call("start",e,e.__data__,n.index,n.group),n.state===Fc){for(n.state=Wa,i=new Array(f=n.tween.length),u=0,h=-1;u<f;++u)(p=n.tween[u].value.call(e,e.__data__,n.index,n.group))&&(i[++h]=p);i.length=h+1}}function s(l){for(var u=l<n.duration?n.ease.call(null,l/n.duration):(n.timer.restart(c),n.state=Yc,1),h=-1,f=i.length;++h<f;)i[h].call(e,u);n.state===Yc&&(n.on.call("end",e,e.__data__,n.index,n.group),c())}function c(){n.state=Ga,n.timer.stop(),delete r[t];for(var l in r)return;delete e.__transition}}function gr(e,t){var n=e.__transition,r,i,o=!0,a;if(n){t=t==null?null:t+"";for(a in n){if((r=n[a]).name!==t){o=!1;continue}i=r.state>Fc&&r.state<Yc,r.state=Ga,r.timer.stop(),r.on.call(i?"interrupt":"cancel",e,e.__data__,r.index,r.group),delete n[a]}o&&delete e.__transition}}function MT(e){return this.each(function(){gr(this,e)})}function CT(e,t){var n,r;return function(){var i=tn(this,e),o=i.tween;if(o!==n){r=n=o;for(var a=0,s=r.length;a<s;++a)if(r[a].name===t){r=r.slice(),r.splice(a,1);break}}i.tween=r}}function LT(e,t,n){var r,i;if(typeof n!="function")throw new Error;return function(){var o=tn(this,e),a=o.tween;if(a!==r){i=(r=a).slice();for(var s={name:t,value:n},c=0,l=i.length;c<l;++c)if(i[c].name===t){i[c]=s;break}c===l&&i.push(s)}o.tween=i}}function kT(e,t){var n=this._id;if(e+="",arguments.length<2){for(var r=Yt(this.node(),n).tween,i=0,o=r.length,a;i<o;++i)if((a=r[i]).name===e)return a.value;return null}return this.each((t==null?CT:LT)(n,e,t))}function Gc(e,t,n){var r=e._id;return e.each(function(){var i=tn(this,r);(i.value||(i.value={}))[t]=n.apply(this,arguments)}),function(i){return Yt(i,r).value[t]}}function Pg(e,t){var n;return(typeof t=="number"?wt:t instanceof zn?Ki:(n=zn(t))?(t=n,Ki):Bc)(e,t)}function ET(e){return function(){this.removeAttribute(e)}}function RT(e){return function(){this.removeAttributeNS(e.space,e.local)}}function BT(e,t,n){var r,i=n+"",o;return function(){var a=this.getAttribute(e);return a===i?null:a===r?o:o=t(r=a,n)}}function IT(e,t,n){var r,i=n+"",o;return function(){var a=this.getAttributeNS(e.space,e.local);return a===i?null:a===r?o:o=t(r=a,n)}}function NT(e,t,n){var r,i,o;return function(){var a,s=n(this),c;return s==null?void this.removeAttribute(e):(a=this.getAttribute(e),c=s+"",a===c?null:a===r&&c===i?o:(i=c,o=t(r=a,s)))}}function OT(e,t,n){var r,i,o;return function(){var a,s=n(this),c;return s==null?void this.removeAttributeNS(e.space,e.local):(a=this.getAttributeNS(e.space,e.local),c=s+"",a===c?null:a===r&&c===i?o:(i=c,o=t(r=a,s)))}}function zT(e,t){var n=Vi(e),r=n==="transform"?gg:Pg;return this.attrTween(e,typeof t=="function"?(n.local?OT:NT)(n,r,Gc(this,"attr."+e,t)):t==null?(n.local?RT:ET)(n):(n.local?IT:BT)(n,r,t))}function FT(e,t){return function(n){this.setAttribute(e,t.call(this,n))}}function YT(e,t){return function(n){this.setAttributeNS(e.space,e.local,t.call(this,n))}}function WT(e,t){var n,r;function i(){var o=t.apply(this,arguments);return o!==r&&(n=(r=o)&&YT(e,o)),n}return i._value=t,i}function GT(e,t){var n,r;function i(){var o=t.apply(this,arguments);return o!==r&&(n=(r=o)&&FT(e,o)),n}return i._value=t,i}function VT(e,t){var n="attr."+e;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(t==null)return this.tween(n,null);if(typeof t!="function")throw new Error;var r=Vi(e);return this.tween(n,(r.local?WT:GT)(r,t))}function XT(e,t){return function(){Wc(this,e).delay=+t.apply(this,arguments)}}function jT(e,t){return t=+t,function(){Wc(this,e).delay=t}}function HT(e){var t=this._id;return arguments.length?this.each((typeof e=="function"?XT:jT)(t,e)):Yt(this.node(),t).delay}function UT(e,t){return function(){tn(this,e).duration=+t.apply(this,arguments)}}function qT(e,t){return t=+t,function(){tn(this,e).duration=t}}function KT(e){var t=this._id;return arguments.length?this.each((typeof e=="function"?UT:qT)(t,e)):Yt(this.node(),t).duration}function ZT(e,t){if(typeof t!="function")throw new Error;return function(){tn(this,e).ease=t}}function JT(e){var t=this._id;return arguments.length?this.each(ZT(t,e)):Yt(this.node(),t).ease}function QT(e,t){return function(){var n=t.apply(this,arguments);if(typeof n!="function")throw new Error;tn(this,e).ease=n}}function ew(e){if(typeof e!="function")throw new Error;return this.each(QT(this._id,e))}function tw(e){typeof e!="function"&&(e=yc(e));for(var t=this._groups,n=t.length,r=new Array(n),i=0;i<n;++i)for(var o=t[i],a=o.length,s=r[i]=[],c,l=0;l<a;++l)(c=o[l])&&e.call(c,c.__data__,l,o)&&s.push(c);return new nn(r,this._parents,this._name,this._id)}function nw(e){if(e._id!==this._id)throw new Error;for(var t=this._groups,n=e._groups,r=t.length,i=n.length,o=Math.min(r,i),a=new Array(r),s=0;s<o;++s)for(var c=t[s],l=n[s],u=c.length,h=a[s]=new Array(u),f,p=0;p<u;++p)(f=c[p]||l[p])&&(h[p]=f);for(;s<r;++s)a[s]=t[s];return new nn(a,this._parents,this._name,this._id)}function rw(e){return(e+"").trim().split(/^|\s+/).every(function(t){var n=t.indexOf(".");return n>=0&&(t=t.slice(0,n)),!t||t==="start"})}function iw(e,t,n){var r,i,o=rw(t)?Wc:tn;return function(){var a=o(this,e),s=a.on;s!==r&&(i=(r=s).copy()).on(t,n),a.on=i}}function ow(e,t){var n=this._id;return arguments.length<2?Yt(this.node(),n).on.on(e):this.each(iw(n,e,t))}function aw(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function sw(){return this.on("end.remove",aw(this._id))}function lw(e){var t=this._name,n=this._id;typeof e!="function"&&(e=$a(e));for(var r=this._groups,i=r.length,o=new Array(i),a=0;a<i;++a)for(var s=r[a],c=s.length,l=o[a]=new Array(c),u,h,f=0;f<c;++f)(u=s[f])&&(h=e.call(u,u.__data__,f,s))&&("__data__"in u&&(h.__data__=u.__data__),l[f]=h,Va(l[f],t,n,f,l,Yt(u,n)));return new nn(o,this._parents,t,n)}function cw(e){var t=this._name,n=this._id;typeof e!="function"&&(e=mc(e));for(var r=this._groups,i=r.length,o=[],a=[],s=0;s<i;++s)for(var c=r[s],l=c.length,u,h=0;h<l;++h)if(u=c[h]){for(var f=e.call(u,u.__data__,h,c),p,g=Yt(u,n),m=0,d=f.length;m<d;++m)(p=f[m])&&Va(p,t,n,m,f,g);o.push(f),a.push(u)}return new nn(o,a,t,n)}var uw=cr.prototype.constructor;function fw(){return new uw(this._groups,this._parents)}function hw(e,t){var n,r,i;return function(){var o=lr(this,e),a=(this.style.removeProperty(e),lr(this,e));return o===a?null:o===n&&a===r?i:i=t(n=o,r=a)}}function Mg(e){return function(){this.style.removeProperty(e)}}function pw(e,t,n){var r,i=n+"",o;return function(){var a=lr(this,e);return a===i?null:a===r?o:o=t(r=a,n)}}function dw(e,t,n){var r,i,o;return function(){var a=lr(this,e),s=n(this),c=s+"";return s==null&&(c=s=(this.style.removeProperty(e),lr(this,e))),a===c?null:a===r&&c===i?o:(i=c,o=t(r=a,s))}}function gw(e,t){var n,r,i,o="style."+t,a="end."+o,s;return function(){var c=tn(this,e),l=c.on,u=c.value[o]==null?s||(s=Mg(t)):void 0;(l!==n||i!==u)&&(r=(n=l).copy()).on(a,i=u),c.on=r}}function mw(e,t,n){var r=(e+="")=="transform"?dg:Pg;return t==null?this.styleTween(e,hw(e,r)).on("end.style."+e,Mg(e)):typeof t=="function"?this.styleTween(e,dw(e,r,Gc(this,"style."+e,t))).each(gw(this._id,e)):this.styleTween(e,pw(e,r,t),n).on("end.style."+e,null)}function yw(e,t,n){return function(r){this.style.setProperty(e,t.call(this,r),n)}}function bw(e,t,n){var r,i;function o(){var a=t.apply(this,arguments);return a!==i&&(r=(i=a)&&yw(e,a,n)),r}return o._value=t,o}function xw(e,t,n){var r="style."+(e+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(t==null)return this.tween(r,null);if(typeof t!="function")throw new Error;return this.tween(r,bw(e,t,n??""))}function vw(e){return function(){this.textContent=e}}function $w(e){return function(){var t=e(this);this.textContent=t??""}}function Sw(e){return this.tween("text",typeof e=="function"?$w(Gc(this,"text",e)):vw(e==null?"":e+""))}function Aw(e){return function(t){this.textContent=e.call(this,t)}}function Tw(e){var t,n;function r(){var i=e.apply(this,arguments);return i!==n&&(t=(n=i)&&Aw(i)),t}return r._value=e,r}function ww(e){var t="text";if(arguments.length<1)return(t=this.tween(t))&&t._value;if(e==null)return this.tween(t,null);if(typeof e!="function")throw new Error;return this.tween(t,Tw(e))}function _w(){for(var e=this._name,t=this._id,n=Lg(),r=this._groups,i=r.length,o=0;o<i;++o)for(var a=r[o],s=a.length,c,l=0;l<s;++l)if(c=a[l]){var u=Yt(c,t);Va(c,e,n,l,a,{time:u.time+u.delay+u.duration,delay:0,duration:u.duration,ease:u.ease})}return new nn(r,this._parents,e,n)}function Dw(){var e,t,n=this,r=n._id,i=n.size();return new Promise(function(o,a){var s={value:a},c={value:function(){--i===0&&o()}};n.each(function(){var l=tn(this,r),u=l.on;u!==e&&(t=(e=u).copy(),t._.cancel.push(s),t._.interrupt.push(s),t._.end.push(c)),l.on=t}),i===0&&o()})}var Pw=0;function nn(e,t,n,r){this._groups=e,this._parents=t,this._name=n,this._id=r}function Cg(e){return cr().transition(e)}function Lg(){return++Pw}var mn=cr.prototype;nn.prototype=Cg.prototype={constructor:nn,select:lw,selectAll:cw,selectChild:mn.selectChild,selectChildren:mn.selectChildren,filter:tw,merge:nw,selection:fw,transition:_w,call:mn.call,nodes:mn.nodes,node:mn.node,size:mn.size,empty:mn.empty,each:mn.each,on:ow,attr:zT,attrTween:VT,style:mw,styleTween:xw,text:Sw,textTween:ww,remove:sw,tween:kT,delay:HT,duration:KT,ease:JT,easeVarying:ew,end:Dw,[Symbol.iterator]:mn[Symbol.iterator]};const yn=e=>+e;function Mw(e){return e*e}function Cw(e){return e*(2-e)}function kg(e){return((e*=2)<=1?e*e:--e*(2-e)+1)/2}function Lw(e){return e*e*e}function kw(e){return--e*e*e+1}function io(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var Vc=3,Ew=function e(t){t=+t;function n(r){return Math.pow(r,t)}return n.exponent=e,n}(Vc),Rw=function e(t){t=+t;function n(r){return 1-Math.pow(1-r,t)}return n.exponent=e,n}(Vc),Eg=function e(t){t=+t;function n(r){return((r*=2)<=1?Math.pow(r,t):2-Math.pow(2-r,t))/2}return n.exponent=e,n}(Vc),Rg=Math.PI,Bg=Rg/2;function Bw(e){return+e==1?1:1-Math.cos(e*Bg)}function Iw(e){return Math.sin(e*Bg)}function Ig(e){return(1-Math.cos(Rg*e))/2}function Fn(e){return(Math.pow(2,-10*e)-.0009765625)*1.0009775171065494}function Nw(e){return Fn(1-+e)}function Ow(e){return 1-Fn(e)}function Ng(e){return((e*=2)<=1?Fn(1-e):2-Fn(e-1))/2}function zw(e){return 1-Math.sqrt(1-e*e)}function Fw(e){return Math.sqrt(1- --e*e)}function Og(e){return((e*=2)<=1?1-Math.sqrt(1-e*e):Math.sqrt(1-(e-=2)*e)+1)/2}var Xc=4/11,Yw=6/11,Ww=8/11,Gw=3/4,Vw=9/11,Xw=10/11,jw=15/16,Hw=21/22,Uw=63/64,Xa=1/Xc/Xc;function qw(e){return 1-oo(1-e)}function oo(e){return(e=+e)<Xc?Xa*e*e:e<Ww?Xa*(e-=Yw)*e+Gw:e<Xw?Xa*(e-=Vw)*e+jw:Xa*(e-=Hw)*e+Uw}function Kw(e){return((e*=2)<=1?1-oo(1-e):oo(e-1)+1)/2}var jc=1.70158,Zw=function e(t){t=+t;function n(r){return(r=+r)*r*(t*(r-1)+r)}return n.overshoot=e,n}(jc),Jw=function e(t){t=+t;function n(r){return--r*r*((r+1)*t+r)+1}return n.overshoot=e,n}(jc),zg=function e(t){t=+t;function n(r){return((r*=2)<1?r*r*((t+1)*r-t):(r-=2)*r*((t+1)*r+t)+2)/2}return n.overshoot=e,n}(jc),ri=2*Math.PI,Hc=1,Uc=.3,Qw=function e(t,n){var r=Math.asin(1/(t=Math.max(1,t)))*(n/=ri);function i(o){return t*Fn(- --o)*Math.sin((r-o)/n)}return i.amplitude=function(o){return e(o,n*ri)},i.period=function(o){return e(t,o)},i}(Hc,Uc),mr=function e(t,n){var r=Math.asin(1/(t=Math.max(1,t)))*(n/=ri);function i(o){return 1-t*Fn(o=+o)*Math.sin((o+r)/n)}return i.amplitude=function(o){return e(o,n*ri)},i.period=function(o){return e(t,o)},i}(Hc,Uc),e_=function e(t,n){var r=Math.asin(1/(t=Math.max(1,t)))*(n/=ri);function i(o){return((o=o*2-1)<0?t*Fn(-o)*Math.sin((r-o)/n):2-t*Fn(o)*Math.sin((r+o)/n))/2}return i.amplitude=function(o){return e(o,n*ri)},i.period=function(o){return e(t,o)},i}(Hc,Uc),t_={time:null,delay:0,duration:250,ease:io};function n_(e,t){for(var n;!(n=e.__transition)||!(n=n[t]);)if(!(e=e.parentNode))throw new Error(`transition ${t} not found`);return n}function r_(e){var t,n;e instanceof nn?(t=e._id,e=e._name):(t=Lg(),(n=t_).time=no(),e=e==null?null:e+"");for(var r=this._groups,i=r.length,o=0;o<i;++o)for(var a=r[o],s=a.length,c,l=0;l<s;++l)(c=a[l])&&Va(c,e,t,l,a,n||n_(c,t));return new nn(r,this._parents,e,t)}cr.prototype.interrupt=MT,cr.prototype.transition=r_;var i_=[null];function o_(e,t){var n=e.__transition,r,i;if(n){t=t==null?null:t+"";for(i in n)if((r=n[i]).state>zc&&r.name===t)return new nn([[e]],i_,t,+i)}return null}const qc=e=>()=>e;function a_(e,{sourceEvent:t,target:n,selection:r,mode:i,dispatch:o}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},selection:{value:r,enumerable:!0,configurable:!0},mode:{value:i,enumerable:!0,configurable:!0},_:{value:o}})}function s_(e){e.stopImmediatePropagation()}function Kc(e){e.preventDefault(),e.stopImmediatePropagation()}var Fg={name:"drag"},Zc={name:"space"},ii={name:"handle"},oi={name:"center"};const{abs:Yg,max:qe,min:Ke}=Math;function Wg(e){return[+e[0],+e[1]]}function Jc(e){return[Wg(e[0]),Wg(e[1])]}var ja={name:"x",handles:["w","e"].map(ao),input:function(e,t){return e==null?null:[[+e[0],t[0][1]],[+e[1],t[1][1]]]},output:function(e){return e&&[e[0][0],e[1][0]]}},Ha={name:"y",handles:["n","s"].map(ao),input:function(e,t){return e==null?null:[[t[0][0],+e[0]],[t[1][0],+e[1]]]},output:function(e){return e&&[e[0][1],e[1][1]]}},l_={name:"xy",handles:["n","w","e","s","nw","ne","sw","se"].map(ao),input:function(e){return e==null?null:Jc(e)},output:function(e){return e}},bn={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"},Gg={e:"w",w:"e",nw:"ne",ne:"nw",se:"sw",sw:"se"},Vg={n:"s",s:"n",nw:"sw",ne:"se",se:"ne",sw:"nw"},c_={overlay:1,selection:1,n:null,e:1,s:null,w:-1,nw:-1,ne:1,se:1,sw:-1},u_={overlay:1,selection:1,n:-1,e:null,s:1,w:null,nw:-1,ne:-1,se:1,sw:1};function ao(e){return{type:e}}function f_(e){return!e.ctrlKey&&!e.button}function h_(){var e=this.ownerSVGElement||this;return e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]}function p_(){return navigator.maxTouchPoints||"ontouchstart"in this}function Qc(e){for(;!e.__brush;)if(!(e=e.parentNode))return;return e.__brush}function d_(e){return e[0][0]===e[1][0]||e[0][1]===e[1][1]}function g_(e){var t=e.__brush;return t?t.dim.output(t.selection):null}function m_(){return eu(ja)}function y_(){return eu(Ha)}function b_(){return eu(l_)}function eu(e){var t=h_,n=f_,r=p_,i=!0,o=sr("start","brush","end"),a=6,s;function c(d){var y=d.property("__brush",m).selectAll(".overlay").data([ao("overlay")]);y.enter().append("rect").attr("class","overlay").attr("pointer-events","all").attr("cursor",bn.overlay).merge(y).each(function(){var x=Qc(this).extent;Y(this).attr("x",x[0][0]).attr("y",x[0][1]).attr("width",x[1][0]-x[0][0]).attr("height",x[1][1]-x[0][1])}),d.selectAll(".selection").data([ao("selection")]).enter().append("rect").attr("class","selection").attr("cursor",bn.selection).attr("fill","#777").attr("fill-opacity",.3).attr("stroke","#fff").attr("shape-rendering","crispEdges");var b=d.selectAll(".handle").data(e.handles,function(x){return x.type});b.exit().remove(),b.enter().append("rect").attr("class",function(x){return"handle handle--"+x.type}).attr("cursor",function(x){return bn[x.type]}),d.each(l).attr("fill","none").attr("pointer-events","all").on("mousedown.brush",f).filter(r).on("touchstart.brush",f).on("touchmove.brush",p).on("touchend.brush touchcancel.brush",g).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}c.move=function(d,y,b){d.tween?d.on("start.brush",function(x){u(this,arguments).beforestart().start(x)}).on("interrupt.brush end.brush",function(x){u(this,arguments).end(x)}).tween("brush",function(){var x=this,v=x.__brush,S=u(x,arguments),$=v.selection,L=e.input(typeof y=="function"?y.apply(this,arguments):y,v.extent),E=gn($,L);function M(C){v.selection=C===1&&L===null?null:E(C),l.call(x),S.brush()}return $!==null&&L!==null?M:M(1)}):d.each(function(){var x=this,v=arguments,S=x.__brush,$=e.input(typeof y=="function"?y.apply(x,v):y,S.extent),L=u(x,v).beforestart();gr(x),S.selection=$===null?null:$,l.call(x),L.start(b).brush(b).end(b)})},c.clear=function(d,y){c.move(d,null,y)};function l(){var d=Y(this),y=Qc(this).selection;y?(d.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]),d.selectAll(".handle").style("display",null).attr("x",function(b){return b.type[b.type.length-1]==="e"?y[1][0]-a/2:y[0][0]-a/2}).attr("y",function(b){return b.type[0]==="s"?y[1][1]-a/2:y[0][1]-a/2}).attr("width",function(b){return b.type==="n"||b.type==="s"?y[1][0]-y[0][0]+a:a}).attr("height",function(b){return b.type==="e"||b.type==="w"?y[1][1]-y[0][1]+a:a})):d.selectAll(".selection,.handle").style("display","none").attr("x",null).attr("y",null).attr("width",null).attr("height",null)}function u(d,y,b){var x=d.__brush.emitter;return x&&(!b||!x.clean)?x:new h(d,y,b)}function h(d,y,b){this.that=d,this.args=y,this.state=d.__brush,this.active=0,this.clean=b}h.prototype={beforestart:function(){return++this.active===1&&(this.state.emitter=this,this.starting=!0),this},start:function(d,y){return this.starting?(this.starting=!1,this.emit("start",d,y)):this.emit("brush",d),this},brush:function(d,y){return this.emit("brush",d,y),this},end:function(d,y){return--this.active===0&&(delete this.state.emitter,this.emit("end",d,y)),this},emit:function(d,y,b){var x=Y(this.that).datum();o.call(d,this.that,new a_(d,{sourceEvent:y,target:c,selection:e.output(this.state.selection),mode:b,dispatch:o}),x)}};function f(d){if(s&&!d.touches||!n.apply(this,arguments))return;var y=this,b=d.target.__data__.type,x=(i&&d.metaKey?b="overlay":b)==="selection"?Fg:i&&d.altKey?oi:ii,v=e===Ha?null:c_[b],S=e===ja?null:u_[b],$=Qc(y),L=$.extent,E=$.selection,M=L[0][0],C,B,D=L[0][1],P,w,k=L[1][0],T,I,_=L[1][1],O,F,j=0,Z=0,re,te=v&&S&&i&&d.shiftKey,G,ee,ae=Array.from(d.touches||[d],fe=>{const ke=fe.identifier;return fe=Tt(fe,y),fe.point0=fe.slice(),fe.identifier=ke,fe});gr(y);var ce=u(y,arguments,!0).beforestart();if(b==="overlay"){E&&(re=!0);const fe=[ae[0],ae[1]||ae[0]];$.selection=E=[[C=e===Ha?M:Ke(fe[0][0],fe[1][0]),P=e===ja?D:Ke(fe[0][1],fe[1][1])],[T=e===Ha?k:qe(fe[0][0],fe[1][0]),O=e===ja?_:qe(fe[0][1],fe[1][1])]],ae.length>1&&$e(d)}else C=E[0][0],P=E[0][1],T=E[1][0],O=E[1][1];B=C,w=P,I=T,F=O;var Q=Y(y).attr("pointer-events","none"),oe=Q.selectAll(".overlay").attr("cursor",bn[b]);if(d.touches)ce.moved=K,ce.ended=ve;else{var ue=Y(d.view).on("mousemove.brush",K,!0).on("mouseup.brush",ve,!0);i&&ue.on("keydown.brush",Ve,!0).on("keyup.brush",Xe,!0),Aa(d.view)}l.call(y),ce.start(d,x.name);function K(fe){for(const ke of fe.changedTouches||[fe])for(const Qo of ae)Qo.identifier===ke.identifier&&(Qo.cur=Tt(ke,y));if(te&&!G&&!ee&&ae.length===1){const ke=ae[0];Yg(ke.cur[0]-ke[0])>Yg(ke.cur[1]-ke[1])?ee=!0:G=!0}for(const ke of ae)ke.cur&&(ke[0]=ke.cur[0],ke[1]=ke.cur[1]);re=!0,Kc(fe),$e(fe)}function $e(fe){const ke=ae[0],Qo=ke.point0;var er;switch(j=ke[0]-Qo[0],Z=ke[1]-Qo[1],x){case Zc:case Fg:{v&&(j=qe(M-C,Ke(k-T,j)),B=C+j,I=T+j),S&&(Z=qe(D-P,Ke(_-O,Z)),w=P+Z,F=O+Z);break}case ii:{ae[1]?(v&&(B=qe(M,Ke(k,ae[0][0])),I=qe(M,Ke(k,ae[1][0])),v=1),S&&(w=qe(D,Ke(_,ae[0][1])),F=qe(D,Ke(_,ae[1][1])),S=1)):(v<0?(j=qe(M-C,Ke(k-C,j)),B=C+j,I=T):v>0&&(j=qe(M-T,Ke(k-T,j)),B=C,I=T+j),S<0?(Z=qe(D-P,Ke(_-P,Z)),w=P+Z,F=O):S>0&&(Z=qe(D-O,Ke(_-O,Z)),w=P,F=O+Z));break}case oi:{v&&(B=qe(M,Ke(k,C-j*v)),I=qe(M,Ke(k,T+j*v))),S&&(w=qe(D,Ke(_,P-Z*S)),F=qe(D,Ke(_,O+Z*S)));break}}I<B&&(v*=-1,er=C,C=T,T=er,er=B,B=I,I=er,b in Gg&&oe.attr("cursor",bn[b=Gg[b]])),F<w&&(S*=-1,er=P,P=O,O=er,er=w,w=F,F=er,b in Vg&&oe.attr("cursor",bn[b=Vg[b]])),$.selection&&(E=$.selection),G&&(B=E[0][0],I=E[1][0]),ee&&(w=E[0][1],F=E[1][1]),(E[0][0]!==B||E[0][1]!==w||E[1][0]!==I||E[1][1]!==F)&&($.selection=[[B,w],[I,F]],l.call(y),ce.brush(fe,x.name))}function ve(fe){if(s_(fe),fe.touches){if(fe.touches.length)return;s&&clearTimeout(s),s=setTimeout(function(){s=null},500)}else Ta(fe.view,re),ue.on("keydown.brush keyup.brush mousemove.brush mouseup.brush",null);Q.attr("pointer-events","all"),oe.attr("cursor",bn.overlay),$.selection&&(E=$.selection),d_(E)&&($.selection=null,l.call(y)),ce.end(fe,x.name)}function Ve(fe){switch(fe.keyCode){case 16:{te=v&&S;break}case 18:{x===ii&&(v&&(T=I-j*v,C=B+j*v),S&&(O=F-Z*S,P=w+Z*S),x=oi,$e(fe));break}case 32:{(x===ii||x===oi)&&(v<0?T=I-j:v>0&&(C=B-j),S<0?O=F-Z:S>0&&(P=w-Z),x=Zc,oe.attr("cursor",bn.selection),$e(fe));break}default:return}Kc(fe)}function Xe(fe){switch(fe.keyCode){case 16:{te&&(G=ee=te=!1,$e(fe));break}case 18:{x===oi&&(v<0?T=I:v>0&&(C=B),S<0?O=F:S>0&&(P=w),x=ii,$e(fe));break}case 32:{x===Zc&&(fe.altKey?(v&&(T=I-j*v,C=B+j*v),S&&(O=F-Z*S,P=w+Z*S),x=oi):(v<0?T=I:v>0&&(C=B),S<0?O=F:S>0&&(P=w),x=ii),oe.attr("cursor",bn[b]),$e(fe));break}default:return}Kc(fe)}}function p(d){u(this,arguments).moved(d)}function g(d){u(this,arguments).ended(d)}function m(){var d=this.__brush||{selection:null};return d.extent=Jc(t.apply(this,arguments)),d.dim=e,d}return c.extent=function(d){return arguments.length?(t=typeof d=="function"?d:qc(Jc(d)),c):t},c.filter=function(d){return arguments.length?(n=typeof d=="function"?d:qc(!!d),c):n},c.touchable=function(d){return arguments.length?(r=typeof d=="function"?d:qc(!!d),c):r},c.handleSize=function(d){return arguments.length?(a=+d,c):a},c.keyModifiers=function(d){return arguments.length?(i=!!d,c):i},c.on=function(){var d=o.on.apply(o,arguments);return d===o?c:d},c}var Xg=Math.abs,ai=Math.cos,si=Math.sin,jg=Math.PI,Ua=jg/2,Hg=jg*2,Ug=Math.max,tu=1e-12;function nu(e,t){return Array.from({length:t-e},(n,r)=>e+r)}function x_(e){return function(t,n){return e(t.source.value+t.target.value,n.source.value+n.target.value)}}function v_(){return ru(!1,!1)}function $_(){return ru(!1,!0)}function S_(){return ru(!0,!1)}function ru(e,t){var n=0,r=null,i=null,o=null;function a(s){var c=s.length,l=new Array(c),u=nu(0,c),h=new Array(c*c),f=new Array(c),p=0,g;s=Float64Array.from({length:c*c},t?(m,d)=>s[d%c][d/c|0]:(m,d)=>s[d/c|0][d%c]);for(let m=0;m<c;++m){let d=0;for(let y=0;y<c;++y)d+=s[m*c+y]+e*s[y*c+m];p+=l[m]=d}p=Ug(0,Hg-n*c)/p,g=p?n:Hg/c;{let m=0;r&&u.sort((d,y)=>r(l[d],l[y]));for(const d of u){const y=m;if(e){const b=nu(~c+1,c).filter(x=>x<0?s[~x*c+d]:s[d*c+x]);i&&b.sort((x,v)=>i(x<0?-s[~x*c+d]:s[d*c+x],v<0?-s[~v*c+d]:s[d*c+v]));for(const x of b)if(x<0){const v=h[~x*c+d]||(h[~x*c+d]={source:null,target:null});v.target={index:d,startAngle:m,endAngle:m+=s[~x*c+d]*p,value:s[~x*c+d]}}else{const v=h[d*c+x]||(h[d*c+x]={source:null,target:null});v.source={index:d,startAngle:m,endAngle:m+=s[d*c+x]*p,value:s[d*c+x]}}f[d]={index:d,startAngle:y,endAngle:m,value:l[d]}}else{const b=nu(0,c).filter(x=>s[d*c+x]||s[x*c+d]);i&&b.sort((x,v)=>i(s[d*c+x],s[d*c+v]));for(const x of b){let v;if(d<x?(v=h[d*c+x]||(h[d*c+x]={source:null,target:null}),v.source={index:d,startAngle:m,endAngle:m+=s[d*c+x]*p,value:s[d*c+x]}):(v=h[x*c+d]||(h[x*c+d]={source:null,target:null}),v.target={index:d,startAngle:m,endAngle:m+=s[d*c+x]*p,value:s[d*c+x]},d===x&&(v.source=v.target)),v.source&&v.target&&v.source.value<v.target.value){const S=v.source;v.source=v.target,v.target=S}}f[d]={index:d,startAngle:y,endAngle:m,value:l[d]}}m+=g}}return h=Object.values(h),h.groups=f,o?h.sort(o):h}return a.padAngle=function(s){return arguments.length?(n=Ug(0,s),a):n},a.sortGroups=function(s){return arguments.length?(r=s,a):r},a.sortSubgroups=function(s){return arguments.length?(i=s,a):i},a.sortChords=function(s){return arguments.length?(s==null?o=null:(o=x_(s))._=s,a):o&&o._},a}const iu=Math.PI,ou=2*iu,yr=1e-6,A_=ou-yr;function qg(e){this._+=e[0];for(let t=1,n=e.length;t<n;++t)this._+=arguments[t]+e[t]}function T_(e){let t=Math.floor(e);if(!(t>=0))throw new Error(`invalid digits: ${e}`);if(t>15)return qg;const n=10**t;return function(r){this._+=r[0];for(let i=1,o=r.length;i<o;++i)this._+=Math.round(arguments[i]*n)/n+r[i]}}let so=class{constructor(t){this._x0=this._y0=this._x1=this._y1=null,this._="",this._append=t==null?qg:T_(t)}moveTo(t,n){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+n}`}closePath(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._append`Z`)}lineTo(t,n){this._append`L${this._x1=+t},${this._y1=+n}`}quadraticCurveTo(t,n,r,i){this._append`Q${+t},${+n},${this._x1=+r},${this._y1=+i}`}bezierCurveTo(t,n,r,i,o,a){this._append`C${+t},${+n},${+r},${+i},${this._x1=+o},${this._y1=+a}`}arcTo(t,n,r,i,o){if(t=+t,n=+n,r=+r,i=+i,o=+o,o<0)throw new Error(`negative radius: ${o}`);let a=this._x1,s=this._y1,c=r-t,l=i-n,u=a-t,h=s-n,f=u*u+h*h;if(this._x1===null)this._append`M${this._x1=t},${this._y1=n}`;else if(f>yr)if(!(Math.abs(h*c-l*u)>yr)||!o)this._append`L${this._x1=t},${this._y1=n}`;else{let p=r-a,g=i-s,m=c*c+l*l,d=p*p+g*g,y=Math.sqrt(m),b=Math.sqrt(f),x=o*Math.tan((iu-Math.acos((m+f-d)/(2*y*b)))/2),v=x/b,S=x/y;Math.abs(v-1)>yr&&this._append`L${t+v*u},${n+v*h}`,this._append`A${o},${o},0,0,${+(h*p>u*g)},${this._x1=t+S*c},${this._y1=n+S*l}`}}arc(t,n,r,i,o,a){if(t=+t,n=+n,r=+r,a=!!a,r<0)throw new Error(`negative radius: ${r}`);let s=r*Math.cos(i),c=r*Math.sin(i),l=t+s,u=n+c,h=1^a,f=a?i-o:o-i;this._x1===null?this._append`M${l},${u}`:(Math.abs(this._x1-l)>yr||Math.abs(this._y1-u)>yr)&&this._append`L${l},${u}`,r&&(f<0&&(f=f%ou+ou),f>A_?this._append`A${r},${r},0,1,${h},${t-s},${n-c}A${r},${r},0,1,${h},${this._x1=l},${this._y1=u}`:f>yr&&this._append`A${r},${r},0,${+(f>=iu)},${h},${this._x1=t+r*Math.cos(o)},${this._y1=n+r*Math.sin(o)}`)}rect(t,n,r,i){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+n}h${r=+r}v${+i}h${-r}Z`}toString(){return this._}};function au(){return new so}au.prototype=so.prototype;function w_(e=3){return new so(+e)}var __=Array.prototype.slice;function br(e){return function(){return e}}function D_(e){return e.source}function P_(e){return e.target}function Kg(e){return e.radius}function M_(e){return e.startAngle}function C_(e){return e.endAngle}function L_(){return 0}function k_(){return 10}function Zg(e){var t=D_,n=P_,r=Kg,i=Kg,o=M_,a=C_,s=L_,c=null;function l(){var u,h=t.apply(this,arguments),f=n.apply(this,arguments),p=s.apply(this,arguments)/2,g=__.call(arguments),m=+r.apply(this,(g[0]=h,g)),d=o.apply(this,g)-Ua,y=a.apply(this,g)-Ua,b=+i.apply(this,(g[0]=f,g)),x=o.apply(this,g)-Ua,v=a.apply(this,g)-Ua;if(c||(c=u=au()),p>tu&&(Xg(y-d)>p*2+tu?y>d?(d+=p,y-=p):(d-=p,y+=p):d=y=(d+y)/2,Xg(v-x)>p*2+tu?v>x?(x+=p,v-=p):(x-=p,v+=p):x=v=(x+v)/2),c.moveTo(m*ai(d),m*si(d)),c.arc(0,0,m,d,y),d!==x||y!==v)if(e){var S=+e.apply(this,arguments),$=b-S,L=(x+v)/2;c.quadraticCurveTo(0,0,$*ai(x),$*si(x)),c.lineTo(b*ai(L),b*si(L)),c.lineTo($*ai(v),$*si(v))}else c.quadraticCurveTo(0,0,b*ai(x),b*si(x)),c.arc(0,0,b,x,v);if(c.quadraticCurveTo(0,0,m*ai(d),m*si(d)),c.closePath(),u)return c=null,u+""||null}return e&&(l.headRadius=function(u){return arguments.length?(e=typeof u=="function"?u:br(+u),l):e}),l.radius=function(u){return arguments.length?(r=i=typeof u=="function"?u:br(+u),l):r},l.sourceRadius=function(u){return arguments.length?(r=typeof u=="function"?u:br(+u),l):r},l.targetRadius=function(u){return arguments.length?(i=typeof u=="function"?u:br(+u),l):i},l.startAngle=function(u){return arguments.length?(o=typeof u=="function"?u:br(+u),l):o},l.endAngle=function(u){return arguments.length?(a=typeof u=="function"?u:br(+u),l):a},l.padAngle=function(u){return arguments.length?(s=typeof u=="function"?u:br(+u),l):s},l.source=function(u){return arguments.length?(t=u,l):t},l.target=function(u){return arguments.length?(n=u,l):n},l.context=function(u){return arguments.length?(c=u??null,l):c},l}function E_(){return Zg()}function R_(){return Zg(k_)}var B_=Array.prototype,Jg=B_.slice;function I_(e,t){return e-t}function N_(e){for(var t=0,n=e.length,r=e[n-1][1]*e[0][0]-e[n-1][0]*e[0][1];++t<n;)r+=e[t-1][1]*e[t][0]-e[t-1][0]*e[t][1];return r}const Yn=e=>()=>e;function O_(e,t){for(var n=-1,r=t.length,i;++n<r;)if(i=z_(e,t[n]))return i;return 0}function z_(e,t){for(var n=t[0],r=t[1],i=-1,o=0,a=e.length,s=a-1;o<a;s=o++){var c=e[o],l=c[0],u=c[1],h=e[s],f=h[0],p=h[1];if(F_(c,h,t))return 0;u>r!=p>r&&n<(f-l)*(r-u)/(p-u)+l&&(i=-i)}return i}function F_(e,t,n){var r;return Y_(e,t,n)&&W_(e[r=+(e[0]===t[0])],n[r],t[r])}function Y_(e,t,n){return(t[0]-e[0])*(n[1]-e[1])===(n[0]-e[0])*(t[1]-e[1])}function W_(e,t,n){return e<=t&&t<=n||n<=t&&t<=e}function G_(){}var xn=[[],[[[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 su(){var e=1,t=1,n=ac,r=c;function i(l){var u=n(l);if(Array.isArray(u))u=u.slice().sort(I_);else{const h=Oi(l,V_);for(u=or(...oc(h[0],h[1],u),u);u[u.length-1]>=h[1];)u.pop();for(;u[1]<h[0];)u.shift()}return u.map(h=>o(l,h))}function o(l,u){const h=u==null?NaN:+u;if(isNaN(h))throw new Error(`invalid value: ${u}`);var f=[],p=[];return a(l,h,function(g){r(g,l,h),N_(g)>0?f.push([g]):p.push(g)}),p.forEach(function(g){for(var m=0,d=f.length,y;m<d;++m)if(O_((y=f[m])[0],g)!==-1){y.push(g);return}}),{type:"MultiPolygon",value:u,coordinates:f}}function a(l,u,h){var f=new Array,p=new Array,g,m,d,y,b,x;for(g=m=-1,y=xr(l[0],u),xn[y<<1].forEach(v);++g<e-1;)d=y,y=xr(l[g+1],u),xn[d|y<<1].forEach(v);for(xn[y<<0].forEach(v);++m<t-1;){for(g=-1,y=xr(l[m*e+e],u),b=xr(l[m*e],u),xn[y<<1|b<<2].forEach(v);++g<e-1;)d=y,y=xr(l[m*e+e+g+1],u),x=b,b=xr(l[m*e+g+1],u),xn[d|y<<1|b<<2|x<<3].forEach(v);xn[y|b<<3].forEach(v)}for(g=-1,b=l[m*e]>=u,xn[b<<2].forEach(v);++g<e-1;)x=b,b=xr(l[m*e+g+1],u),xn[b<<2|x<<3].forEach(v);xn[b<<3].forEach(v);function v(S){var $=[S[0][0]+g,S[0][1]+m],L=[S[1][0]+g,S[1][1]+m],E=s($),M=s(L),C,B;(C=p[E])?(B=f[M])?(delete p[C.end],delete f[B.start],C===B?(C.ring.push(L),h(C.ring)):f[C.start]=p[B.end]={start:C.start,end:B.end,ring:C.ring.concat(B.ring)}):(delete p[C.end],C.ring.push(L),p[C.end=M]=C):(C=f[M])?(B=p[E])?(delete f[C.start],delete p[B.end],C===B?(C.ring.push(L),h(C.ring)):f[B.start]=p[C.end]={start:B.start,end:C.end,ring:B.ring.concat(C.ring)}):(delete f[C.start],C.ring.unshift($),f[C.start=E]=C):f[E]=p[M]={start:E,end:M,ring:[$,L]}}}function s(l){return l[0]*2+l[1]*(e+1)*4}function c(l,u,h){l.forEach(function(f){var p=f[0],g=f[1],m=p|0,d=g|0,y=lu(u[d*e+m]);p>0&&p<e&&m===p&&(f[0]=Qg(p,lu(u[d*e+m-1]),y,h)),g>0&&g<t&&d===g&&(f[1]=Qg(g,lu(u[(d-1)*e+m]),y,h))})}return i.contour=o,i.size=function(l){if(!arguments.length)return[e,t];var u=Math.floor(l[0]),h=Math.floor(l[1]);if(!(u>=0&&h>=0))throw new Error("invalid size");return e=u,t=h,i},i.thresholds=function(l){return arguments.length?(n=typeof l=="function"?l:Array.isArray(l)?Yn(Jg.call(l)):Yn(l),i):n},i.smooth=function(l){return arguments.length?(r=l?c:G_,i):r===c},i}function V_(e){return isFinite(e)?e:NaN}function xr(e,t){return e==null?!1:+e>=t}function lu(e){return e==null||isNaN(e=+e)?-1/0:e}function Qg(e,t,n,r){const i=r-t,o=n-t,a=isFinite(i)||isFinite(o)?i/o:Math.sign(i)/Math.sign(o);return isNaN(a)?e:e+a-.5}function X_(e){return e[0]}function j_(e){return e[1]}function H_(){return 1}function U_(){var e=X_,t=j_,n=H_,r=960,i=500,o=20,a=2,s=o*3,c=r+s*2>>a,l=i+s*2>>a,u=Yn(20);function h(b){var x=new Float32Array(c*l),v=Math.pow(2,-a),S=-1;for(const P of b){var $=(e(P,++S,b)+s)*v,L=(t(P,S,b)+s)*v,E=+n(P,S,b);if(E&&$>=0&&$<c&&L>=0&&L<l){var M=Math.floor($),C=Math.floor(L),B=$-M-.5,D=L-C-.5;x[M+C*c]+=(1-B)*(1-D)*E,x[M+1+C*c]+=B*(1-D)*E,x[M+1+(C+1)*c]+=B*D*E,x[M+(C+1)*c]+=(1-B)*D*E}}return Kp({data:x,width:c,height:l},o*v),x}function f(b){var x=h(b),v=u(x),S=Math.pow(2,2*a);return Array.isArray(v)||(v=or(Number.MIN_VALUE,Fi(x)/S,v)),su().size([c,l]).thresholds(v.map($=>$*S))(x).map(($,L)=>($.value=+v[L],p($)))}f.contours=function(b){var x=h(b),v=su().size([c,l]),S=Math.pow(2,2*a),$=L=>{L=+L;var E=p(v.contour(x,L*S));return E.value=L,E};return Object.defineProperty($,"max",{get:()=>Fi(x)/S}),$};function p(b){return b.coordinates.forEach(g),b}function g(b){b.forEach(m)}function m(b){b.forEach(d)}function d(b){b[0]=b[0]*Math.pow(2,a)-s,b[1]=b[1]*Math.pow(2,a)-s}function y(){return s=o*3,c=r+s*2>>a,l=i+s*2>>a,f}return f.x=function(b){return arguments.length?(e=typeof b=="function"?b:Yn(+b),f):e},f.y=function(b){return arguments.length?(t=typeof b=="function"?b:Yn(+b),f):t},f.weight=function(b){return arguments.length?(n=typeof b=="function"?b:Yn(+b),f):n},f.size=function(b){if(!arguments.length)return[r,i];var x=+b[0],v=+b[1];if(!(x>=0&&v>=0))throw new Error("invalid size");return r=x,i=v,y()},f.cellSize=function(b){if(!arguments.length)return 1<<a;if(!((b=+b)>=1))throw new Error("invalid cell size");return a=Math.floor(Math.log(b)/Math.LN2),y()},f.thresholds=function(b){return arguments.length?(u=typeof b=="function"?b:Array.isArray(b)?Yn(Jg.call(b)):Yn(b),f):u},f.bandwidth=function(b){if(!arguments.length)return Math.sqrt(o*(o+1));if(!((b=+b)>=0))throw new Error("invalid bandwidth");return o=(Math.sqrt(4*b*b+1)-1)/2,y()},f}const vn=11102230246251565e-32,Ze=134217729,q_=(3+8*vn)*vn;function cu(e,t,n,r,i){let o,a,s,c,l=t[0],u=r[0],h=0,f=0;u>l==u>-l?(o=l,l=t[++h]):(o=u,u=r[++f]);let p=0;if(h<e&&f<n)for(u>l==u>-l?(a=l+o,s=o-(a-l),l=t[++h]):(a=u+o,s=o-(a-u),u=r[++f]),o=a,s!==0&&(i[p++]=s);h<e&&f<n;)u>l==u>-l?(a=o+l,c=a-o,s=o-(a-c)+(l-c),l=t[++h]):(a=o+u,c=a-o,s=o-(a-c)+(u-c),u=r[++f]),o=a,s!==0&&(i[p++]=s);for(;h<e;)a=o+l,c=a-o,s=o-(a-c)+(l-c),l=t[++h],o=a,s!==0&&(i[p++]=s);for(;f<n;)a=o+u,c=a-o,s=o-(a-c)+(u-c),u=r[++f],o=a,s!==0&&(i[p++]=s);return(o!==0||p===0)&&(i[p++]=o),p}function K_(e,t){let n=t[0];for(let r=1;r<e;r++)n+=t[r];return n}function lo(e){return new Float64Array(e)}const Z_=(3+16*vn)*vn,J_=(2+12*vn)*vn,Q_=(9+64*vn)*vn*vn,li=lo(4),em=lo(8),tm=lo(12),nm=lo(16),it=lo(4);function eD(e,t,n,r,i,o,a){let s,c,l,u,h,f,p,g,m,d,y,b,x,v,S,$,L,E;const M=e-i,C=n-i,B=t-o,D=r-o;v=M*D,f=Ze*M,p=f-(f-M),g=M-p,f=Ze*D,m=f-(f-D),d=D-m,S=g*d-(v-p*m-g*m-p*d),$=B*C,f=Ze*B,p=f-(f-B),g=B-p,f=Ze*C,m=f-(f-C),d=C-m,L=g*d-($-p*m-g*m-p*d),y=S-L,h=S-y,li[0]=S-(y+h)+(h-L),b=v+y,h=b-v,x=v-(b-h)+(y-h),y=x-$,h=x-y,li[1]=x-(y+h)+(h-$),E=b+y,h=E-b,li[2]=b-(E-h)+(y-h),li[3]=E;let P=K_(4,li),w=J_*a;if(P>=w||-P>=w||(h=e-M,s=e-(M+h)+(h-i),h=n-C,l=n-(C+h)+(h-i),h=t-B,c=t-(B+h)+(h-o),h=r-D,u=r-(D+h)+(h-o),s===0&&c===0&&l===0&&u===0)||(w=Q_*a+q_*Math.abs(P),P+=M*u+D*s-(B*l+C*c),P>=w||-P>=w))return P;v=s*D,f=Ze*s,p=f-(f-s),g=s-p,f=Ze*D,m=f-(f-D),d=D-m,S=g*d-(v-p*m-g*m-p*d),$=c*C,f=Ze*c,p=f-(f-c),g=c-p,f=Ze*C,m=f-(f-C),d=C-m,L=g*d-($-p*m-g*m-p*d),y=S-L,h=S-y,it[0]=S-(y+h)+(h-L),b=v+y,h=b-v,x=v-(b-h)+(y-h),y=x-$,h=x-y,it[1]=x-(y+h)+(h-$),E=b+y,h=E-b,it[2]=b-(E-h)+(y-h),it[3]=E;const k=cu(4,li,4,it,em);v=M*u,f=Ze*M,p=f-(f-M),g=M-p,f=Ze*u,m=f-(f-u),d=u-m,S=g*d-(v-p*m-g*m-p*d),$=B*l,f=Ze*B,p=f-(f-B),g=B-p,f=Ze*l,m=f-(f-l),d=l-m,L=g*d-($-p*m-g*m-p*d),y=S-L,h=S-y,it[0]=S-(y+h)+(h-L),b=v+y,h=b-v,x=v-(b-h)+(y-h),y=x-$,h=x-y,it[1]=x-(y+h)+(h-$),E=b+y,h=E-b,it[2]=b-(E-h)+(y-h),it[3]=E;const T=cu(k,em,4,it,tm);v=s*u,f=Ze*s,p=f-(f-s),g=s-p,f=Ze*u,m=f-(f-u),d=u-m,S=g*d-(v-p*m-g*m-p*d),$=c*l,f=Ze*c,p=f-(f-c),g=c-p,f=Ze*l,m=f-(f-l),d=l-m,L=g*d-($-p*m-g*m-p*d),y=S-L,h=S-y,it[0]=S-(y+h)+(h-L),b=v+y,h=b-v,x=v-(b-h)+(y-h),y=x-$,h=x-y,it[1]=x-(y+h)+(h-$),E=b+y,h=E-b,it[2]=b-(E-h)+(y-h),it[3]=E;const I=cu(T,tm,4,it,nm);return nm[I-1]}function qa(e,t,n,r,i,o){const a=(t-o)*(n-i),s=(e-i)*(r-o),c=a-s,l=Math.abs(a+s);return Math.abs(c)>=Z_*l?c:-eD(e,t,n,r,i,o,l)}const rm=Math.pow(2,-52),Ka=new Uint32Array(512);class Za{static from(t,n=oD,r=aD){const i=t.length,o=new Float64Array(i*2);for(let a=0;a<i;a++){const s=t[a];o[2*a]=n(s),o[2*a+1]=r(s)}return new Za(o)}constructor(t){const n=t.length>>1;if(n>0&&typeof t[0]!="number")throw new Error("Expected coords to contain numbers.");this.coords=t;const 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(){const{coords:t,_hullPrev:n,_hullNext:r,_hullTri:i,_hullHash:o}=this,a=t.length>>1;let s=1/0,c=1/0,l=-1/0,u=-1/0;for(let M=0;M<a;M++){const C=t[2*M],B=t[2*M+1];C<s&&(s=C),B<c&&(c=B),C>l&&(l=C),B>u&&(u=B),this._ids[M]=M}const h=(s+l)/2,f=(c+u)/2;let p,g,m;for(let M=0,C=1/0;M<a;M++){const B=uu(h,f,t[2*M],t[2*M+1]);B<C&&(p=M,C=B)}const d=t[2*p],y=t[2*p+1];for(let M=0,C=1/0;M<a;M++){if(M===p)continue;const B=uu(d,y,t[2*M],t[2*M+1]);B<C&&B>0&&(g=M,C=B)}let b=t[2*g],x=t[2*g+1],v=1/0;for(let M=0;M<a;M++){if(M===p||M===g)continue;const C=rD(d,y,b,x,t[2*M],t[2*M+1]);C<v&&(m=M,v=C)}let S=t[2*m],$=t[2*m+1];if(v===1/0){for(let B=0;B<a;B++)this._dists[B]=t[2*B]-t[0]||t[2*B+1]-t[1];ci(this._ids,this._dists,0,a-1);const M=new Uint32Array(a);let C=0;for(let B=0,D=-1/0;B<a;B++){const P=this._ids[B],w=this._dists[P];w>D&&(M[C++]=P,D=w)}this.hull=M.subarray(0,C),this.triangles=new Uint32Array(0),this.halfedges=new Uint32Array(0);return}if(qa(d,y,b,x,S,$)<0){const M=g,C=b,B=x;g=m,b=S,x=$,m=M,S=C,$=B}const L=iD(d,y,b,x,S,$);this._cx=L.x,this._cy=L.y;for(let M=0;M<a;M++)this._dists[M]=uu(t[2*M],t[2*M+1],L.x,L.y);ci(this._ids,this._dists,0,a-1),this._hullStart=p;let E=3;r[p]=n[m]=g,r[g]=n[p]=m,r[m]=n[g]=p,i[p]=0,i[g]=1,i[m]=2,o.fill(-1),o[this._hashKey(d,y)]=p,o[this._hashKey(b,x)]=g,o[this._hashKey(S,$)]=m,this.trianglesLen=0,this._addTriangle(p,g,m,-1,-1,-1);for(let M=0,C,B;M<this._ids.length;M++){const D=this._ids[M],P=t[2*D],w=t[2*D+1];if(M>0&&Math.abs(P-C)<=rm&&Math.abs(w-B)<=rm||(C=P,B=w,D===p||D===g||D===m))continue;let k=0;for(let F=0,j=this._hashKey(P,w);F<this._hashSize&&(k=o[(j+F)%this._hashSize],!(k!==-1&&k!==r[k]));F++);k=n[k];let T=k,I;for(;I=r[T],qa(P,w,t[2*T],t[2*T+1],t[2*I],t[2*I+1])>=0;)if(T=I,T===k){T=-1;break}if(T===-1)continue;let _=this._addTriangle(T,D,r[T],-1,-1,i[T]);i[D]=this._legalize(_+2),i[T]=_,E++;let O=r[T];for(;I=r[O],qa(P,w,t[2*O],t[2*O+1],t[2*I],t[2*I+1])<0;)_=this._addTriangle(O,D,I,i[D],-1,i[O]),i[D]=this._legalize(_+2),r[O]=O,E--,O=I;if(T===k)for(;I=n[T],qa(P,w,t[2*I],t[2*I+1],t[2*T],t[2*T+1])<0;)_=this._addTriangle(I,D,T,-1,i[T],i[I]),this._legalize(_+2),i[I]=_,r[T]=T,E--,T=I;this._hullStart=n[D]=T,r[T]=n[O]=D,r[D]=O,o[this._hashKey(P,w)]=D,o[this._hashKey(t[2*T],t[2*T+1])]=T}this.hull=new Uint32Array(E);for(let M=0,C=this._hullStart;M<E;M++)this.hull[M]=C,C=r[C];this.triangles=this._triangles.subarray(0,this.trianglesLen),this.halfedges=this._halfedges.subarray(0,this.trianglesLen)}_hashKey(t,n){return Math.floor(tD(t-this._cx,n-this._cy)*this._hashSize)%this._hashSize}_legalize(t){const{_triangles:n,_halfedges:r,coords:i}=this;let o=0,a=0;for(;;){const s=r[t],c=t-t%3;if(a=c+(t+2)%3,s===-1){if(o===0)break;t=Ka[--o];continue}const l=s-s%3,u=c+(t+1)%3,h=l+(s+2)%3,f=n[a],p=n[t],g=n[u],m=n[h];if(nD(i[2*f],i[2*f+1],i[2*p],i[2*p+1],i[2*g],i[2*g+1],i[2*m],i[2*m+1])){n[t]=m,n[s]=f;const y=r[h];if(y===-1){let x=this._hullStart;do{if(this._hullTri[x]===h){this._hullTri[x]=t;break}x=this._hullPrev[x]}while(x!==this._hullStart)}this._link(t,y),this._link(s,r[a]),this._link(a,h);const b=l+(s+1)%3;o<Ka.length&&(Ka[o++]=b)}else{if(o===0)break;t=Ka[--o]}}return a}_link(t,n){this._halfedges[t]=n,n!==-1&&(this._halfedges[n]=t)}_addTriangle(t,n,r,i,o,a){const s=this.trianglesLen;return this._triangles[s]=t,this._triangles[s+1]=n,this._triangles[s+2]=r,this._link(s,i),this._link(s+1,o),this._link(s+2,a),this.trianglesLen+=3,s}}function tD(e,t){const n=e/(Math.abs(e)+Math.abs(t));return(t>0?3-n:1+n)/4}function uu(e,t,n,r){const i=e-n,o=t-r;return i*i+o*o}function nD(e,t,n,r,i,o,a,s){const c=e-a,l=t-s,u=n-a,h=r-s,f=i-a,p=o-s,g=c*c+l*l,m=u*u+h*h,d=f*f+p*p;return c*(h*d-m*p)-l*(u*d-m*f)+g*(u*p-h*f)<0}function rD(e,t,n,r,i,o){const a=n-e,s=r-t,c=i-e,l=o-t,u=a*a+s*s,h=c*c+l*l,f=.5/(a*l-s*c),p=(l*u-s*h)*f,g=(a*h-c*u)*f;return p*p+g*g}function iD(e,t,n,r,i,o){const a=n-e,s=r-t,c=i-e,l=o-t,u=a*a+s*s,h=c*c+l*l,f=.5/(a*l-s*c),p=e+(l*u-s*h)*f,g=t+(a*h-c*u)*f;return{x:p,y:g}}function ci(e,t,n,r){if(r-n<=20)for(let i=n+1;i<=r;i++){const o=e[i],a=t[o];let s=i-1;for(;s>=n&&t[e[s]]>a;)e[s+1]=e[s--];e[s+1]=o}else{const i=n+r>>1;let o=n+1,a=r;co(e,i,o),t[e[n]]>t[e[r]]&&co(e,n,r),t[e[o]]>t[e[r]]&&co(e,o,r),t[e[n]]>t[e[o]]&&co(e,n,o);const s=e[o],c=t[s];for(;;){do o++;while(t[e[o]]<c);do a--;while(t[e[a]]>c);if(a<o)break;co(e,o,a)}e[n+1]=e[a],e[a]=s,r-o+1>=a-n?(ci(e,t,o,r),ci(e,t,n,a-1)):(ci(e,t,n,a-1),ci(e,t,o,r))}}function co(e,t,n){const r=e[t];e[t]=e[n],e[n]=r}function oD(e){return e[0]}function aD(e){return e[1]}const im=1e-6;class vr{constructor(){this._x0=this._y0=this._x1=this._y1=null,this._=""}moveTo(t,n){this._+=`M${this._x0=this._x1=+t},${this._y0=this._y1=+n}`}closePath(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")}lineTo(t,n){this._+=`L${this._x1=+t},${this._y1=+n}`}arc(t,n,r){t=+t,n=+n,r=+r;const i=t+r,o=n;if(r<0)throw new Error("negative radius");this._x1===null?this._+=`M${i},${o}`:(Math.abs(this._x1-i)>im||Math.abs(this._y1-o)>im)&&(this._+="L"+i+","+o),r&&(this._+=`A${r},${r},0,1,1,${t-r},${n}A${r},${r},0,1,1,${this._x1=i},${this._y1=o}`)}rect(t,n,r,i){this._+=`M${this._x0=this._x1=+t},${this._y0=this._y1=+n}h${+r}v${+i}h${-r}Z`}value(){return this._||null}}class fu{constructor(){this._=[]}moveTo(t,n){this._.push([t,n])}closePath(){this._.push(this._[0].slice())}lineTo(t,n){this._.push([t,n])}value(){return this._.length?this._:null}}class om{constructor(t,[n,r,i,o]=[0,0,960,500]){if(!((i=+i)>=(n=+n))||!((o=+o)>=(r=+r)))throw new Error("invalid bounds");this.delaunay=t,this._circumcenters=new Float64Array(t.points.length*2),this.vectors=new Float64Array(t.points.length*2),this.xmax=i,this.xmin=n,this.ymax=o,this.ymin=r,this._init()}update(){return this.delaunay.update(),this._init(),this}_init(){const{delaunay:{points:t,hull:n,triangles:r},vectors:i}=this;let o,a;const s=this.circumcenters=this._circumcenters.subarray(0,r.length/3*2);for(let m=0,d=0,y=r.length,b,x;m<y;m+=3,d+=2){const v=r[m]*2,S=r[m+1]*2,$=r[m+2]*2,L=t[v],E=t[v+1],M=t[S],C=t[S+1],B=t[$],D=t[$+1],P=M-L,w=C-E,k=B-L,T=D-E,I=(P*T-w*k)*2;if(Math.abs(I)<1e-9){if(o===void 0){o=a=0;for(const O of n)o+=t[O*2],a+=t[O*2+1];o/=n.length,a/=n.length}const _=1e9*Math.sign((o-L)*T-(a-E)*k);b=(L+B)/2-_*T,x=(E+D)/2+_*k}else{const _=1/I,O=P*P+w*w,F=k*k+T*T;b=L+(T*O-w*F)*_,x=E+(P*F-k*O)*_}s[d]=b,s[d+1]=x}let c=n[n.length-1],l,u=c*4,h,f=t[2*c],p,g=t[2*c+1];i.fill(0);for(let m=0;m<n.length;++m)c=n[m],l=u,h=f,p=g,u=c*4,f=t[2*c],g=t[2*c+1],i[l+2]=i[u]=p-g,i[l+3]=i[u+1]=f-h}render(t){const n=t==null?t=new vr:void 0,{delaunay:{halfedges:r,inedges:i,hull:o},circumcenters:a,vectors:s}=this;if(o.length<=1)return null;for(let u=0,h=r.length;u<h;++u){const f=r[u];if(f<u)continue;const p=Math.floor(u/3)*2,g=Math.floor(f/3)*2,m=a[p],d=a[p+1],y=a[g],b=a[g+1];this._renderSegment(m,d,y,b,t)}let c,l=o[o.length-1];for(let u=0;u<o.length;++u){c=l,l=o[u];const h=Math.floor(i[l]/3)*2,f=a[h],p=a[h+1],g=c*4,m=this._project(f,p,s[g+2],s[g+3]);m&&this._renderSegment(f,p,m[0],m[1],t)}return n&&n.value()}renderBounds(t){const n=t==null?t=new vr:void 0;return t.rect(this.xmin,this.ymin,this.xmax-this.xmin,this.ymax-this.ymin),n&&n.value()}renderCell(t,n){const r=n==null?n=new vr:void 0,i=this._clip(t);if(i===null||!i.length)return;n.moveTo(i[0],i[1]);let o=i.length;for(;i[0]===i[o-2]&&i[1]===i[o-1]&&o>1;)o-=2;for(let a=2;a<o;a+=2)(i[a]!==i[a-2]||i[a+1]!==i[a-1])&&n.lineTo(i[a],i[a+1]);return n.closePath(),r&&r.value()}*cellPolygons(){const{delaunay:{points:t}}=this;for(let n=0,r=t.length/2;n<r;++n){const i=this.cellPolygon(n);i&&(i.index=n,yield i)}}cellPolygon(t){const n=new fu;return this.renderCell(t,n),n.value()}_renderSegment(t,n,r,i,o){let a;const s=this._regioncode(t,n),c=this._regioncode(r,i);s===0&&c===0?(o.moveTo(t,n),o.lineTo(r,i)):(a=this._clipSegment(t,n,r,i,s,c))&&(o.moveTo(a[0],a[1]),o.lineTo(a[2],a[3]))}contains(t,n,r){return n=+n,n!==n||(r=+r,r!==r)?!1:this.delaunay._step(t,n,r)===t}*neighbors(t){const n=this._clip(t);if(n)for(const r of this.delaunay.neighbors(t)){const i=this._clip(r);if(i){e:for(let o=0,a=n.length;o<a;o+=2)for(let s=0,c=i.length;s<c;s+=2)if(n[o]===i[s]&&n[o+1]===i[s+1]&&n[(o+2)%a]===i[(s+c-2)%c]&&n[(o+3)%a]===i[(s+c-1)%c]){yield r;break e}}}}_cell(t){const{circumcenters:n,delaunay:{inedges:r,halfedges:i,triangles:o}}=this,a=r[t];if(a===-1)return null;const s=[];let c=a;do{const l=Math.floor(c/3);if(s.push(n[l*2],n[l*2+1]),c=c%3===2?c-2:c+1,o[c]!==t)break;c=i[c]}while(c!==a&&c!==-1);return s}_clip(t){if(t===0&&this.delaunay.hull.length===1)return[this.xmax,this.ymin,this.xmax,this.ymax,this.xmin,this.ymax,this.xmin,this.ymin];const n=this._cell(t);if(n===null)return null;const{vectors:r}=this,i=t*4;return this._simplify(r[i]||r[i+1]?this._clipInfinite(t,n,r[i],r[i+1],r[i+2],r[i+3]):this._clipFinite(t,n))}_clipFinite(t,n){const r=n.length;let i=null,o,a,s=n[r-2],c=n[r-1],l,u=this._regioncode(s,c),h,f=0;for(let p=0;p<r;p+=2)if(o=s,a=c,s=n[p],c=n[p+1],l=u,u=this._regioncode(s,c),l===0&&u===0)h=f,f=0,i?i.push(s,c):i=[s,c];else{let g,m,d,y,b;if(l===0){if((g=this._clipSegment(o,a,s,c,l,u))===null)continue;[m,d,y,b]=g}else{if((g=this._clipSegment(s,c,o,a,u,l))===null)continue;[y,b,m,d]=g,h=f,f=this._edgecode(m,d),h&&f&&this._edge(t,h,f,i,i.length),i?i.push(m,d):i=[m,d]}h=f,f=this._edgecode(y,b),h&&f&&this._edge(t,h,f,i,i.length),i?i.push(y,b):i=[y,b]}if(i)h=f,f=this._edgecode(i[0],i[1]),h&&f&&this._edge(t,h,f,i,i.length);else if(this.contains(t,(this.xmin+this.xmax)/2,(this.ymin+this.ymax)/2))return[this.xmax,this.ymin,this.xmax,this.ymax,this.xmin,this.ymax,this.xmin,this.ymin];return i}_clipSegment(t,n,r,i,o,a){const s=o<a;for(s&&([t,n,r,i,o,a]=[r,i,t,n,a,o]);;){if(o===0&&a===0)return s?[r,i,t,n]:[t,n,r,i];if(o&a)return null;let c,l,u=o||a;u&8?(c=t+(r-t)*(this.ymax-n)/(i-n),l=this.ymax):u&4?(c=t+(r-t)*(this.ymin-n)/(i-n),l=this.ymin):u&2?(l=n+(i-n)*(this.xmax-t)/(r-t),c=this.xmax):(l=n+(i-n)*(this.xmin-t)/(r-t),c=this.xmin),o?(t=c,n=l,o=this._regioncode(t,n)):(r=c,i=l,a=this._regioncode(r,i))}}_clipInfinite(t,n,r,i,o,a){let s=Array.from(n),c;if((c=this._project(s[0],s[1],r,i))&&s.unshift(c[0],c[1]),(c=this._project(s[s.length-2],s[s.length-1],o,a))&&s.push(c[0],c[1]),s=this._clipFinite(t,s))for(let l=0,u=s.length,h,f=this._edgecode(s[u-2],s[u-1]);l<u;l+=2)h=f,f=this._edgecode(s[l],s[l+1]),h&&f&&(l=this._edge(t,h,f,s,l),u=s.length);else this.contains(t,(this.xmin+this.xmax)/2,(this.ymin+this.ymax)/2)&&(s=[this.xmin,this.ymin,this.xmax,this.ymin,this.xmax,this.ymax,this.xmin,this.ymax]);return s}_edge(t,n,r,i,o){for(;n!==r;){let a,s;switch(n){case 5:n=4;continue;case 4:n=6,a=this.xmax,s=this.ymin;break;case 6:n=2;continue;case 2:n=10,a=this.xmax,s=this.ymax;break;case 10:n=8;continue;case 8:n=9,a=this.xmin,s=this.ymax;break;case 9:n=1;continue;case 1:n=5,a=this.xmin,s=this.ymin;break}(i[o]!==a||i[o+1]!==s)&&this.contains(t,a,s)&&(i.splice(o,0,a,s),o+=2)}return o}_project(t,n,r,i){let o=1/0,a,s,c;if(i<0){if(n<=this.ymin)return null;(a=(this.ymin-n)/i)<o&&(c=this.ymin,s=t+(o=a)*r)}else if(i>0){if(n>=this.ymax)return null;(a=(this.ymax-n)/i)<o&&(c=this.ymax,s=t+(o=a)*r)}if(r>0){if(t>=this.xmax)return null;(a=(this.xmax-t)/r)<o&&(s=this.xmax,c=n+(o=a)*i)}else if(r<0){if(t<=this.xmin)return null;(a=(this.xmin-t)/r)<o&&(s=this.xmin,c=n+(o=a)*i)}return[s,c]}_edgecode(t,n){return(t===this.xmin?1:t===this.xmax?2:0)|(n===this.ymin?4:n===this.ymax?8:0)}_regioncode(t,n){return(t<this.xmin?1:t>this.xmax?2:0)|(n<this.ymin?4:n>this.ymax?8:0)}_simplify(t){if(t&&t.length>4){for(let n=0;n<t.length;n+=2){const r=(n+2)%t.length,i=(n+4)%t.length;(t[n]===t[r]&&t[r]===t[i]||t[n+1]===t[r+1]&&t[r+1]===t[i+1])&&(t.splice(r,2),n-=2)}t.length||(t=null)}return t}}const sD=2*Math.PI,ui=Math.pow;function lD(e){return e[0]}function cD(e){return e[1]}function uD(e){const{triangles:t,coords:n}=e;for(let r=0;r<t.length;r+=3){const i=2*t[r],o=2*t[r+1],a=2*t[r+2];if((n[a]-n[i])*(n[o+1]-n[i+1])-(n[o]-n[i])*(n[a+1]-n[i+1])>1e-10)return!1}return!0}function fD(e,t,n){return[e+Math.sin(e+t)*n,t+Math.cos(e-t)*n]}class hu{static from(t,n=lD,r=cD,i){return new hu("length"in t?hD(t,n,r,i):Float64Array.from(pD(t,n,r,i)))}constructor(t){this._delaunator=new Za(t),this.inedges=new Int32Array(t.length/2),this._hullIndex=new Int32Array(t.length/2),this.points=this._delaunator.coords,this._init()}update(){return this._delaunator.update(),this._init(),this}_init(){const t=this._delaunator,n=this.points;if(t.hull&&t.hull.length>2&&uD(t)){this.collinear=Int32Array.from({length:n.length/2},(f,p)=>p).sort((f,p)=>n[2*f]-n[2*p]||n[2*f+1]-n[2*p+1]);const c=this.collinear[0],l=this.collinear[this.collinear.length-1],u=[n[2*c],n[2*c+1],n[2*l],n[2*l+1]],h=1e-8*Math.hypot(u[3]-u[1],u[2]-u[0]);for(let f=0,p=n.length/2;f<p;++f){const g=fD(n[2*f],n[2*f+1],h);n[2*f]=g[0],n[2*f+1]=g[1]}this._delaunator=new Za(n)}else delete this.collinear;const r=this.halfedges=this._delaunator.halfedges,i=this.hull=this._delaunator.hull,o=this.triangles=this._delaunator.triangles,a=this.inedges.fill(-1),s=this._hullIndex.fill(-1);for(let c=0,l=r.length;c<l;++c){const u=o[c%3===2?c-2:c+1];(r[c]===-1||a[u]===-1)&&(a[u]=c)}for(let c=0,l=i.length;c<l;++c)s[i[c]]=c;i.length<=2&&i.length>0&&(this.triangles=new Int32Array(3).fill(-1),this.halfedges=new Int32Array(3).fill(-1),this.triangles[0]=i[0],a[i[0]]=1,i.length===2&&(a[i[1]]=0,this.triangles[1]=i[1],this.triangles[2]=i[1]))}voronoi(t){return new om(this,t)}*neighbors(t){const{inedges:n,hull:r,_hullIndex:i,halfedges:o,triangles:a,collinear:s}=this;if(s){const h=s.indexOf(t);h>0&&(yield s[h-1]),h<s.length-1&&(yield s[h+1]);return}const c=n[t];if(c===-1)return;let l=c,u=-1;do{if(yield u=a[l],l=l%3===2?l-2:l+1,a[l]!==t)return;if(l=o[l],l===-1){const h=r[(i[t]+1)%r.length];h!==u&&(yield h);return}}while(l!==c)}find(t,n,r=0){if(t=+t,t!==t||(n=+n,n!==n))return-1;const i=r;let o;for(;(o=this._step(r,t,n))>=0&&o!==r&&o!==i;)r=o;return o}_step(t,n,r){const{inedges:i,hull:o,_hullIndex:a,halfedges:s,triangles:c,points:l}=this;if(i[t]===-1||!l.length)return(t+1)%(l.length>>1);let u=t,h=ui(n-l[t*2],2)+ui(r-l[t*2+1],2);const f=i[t];let p=f;do{let g=c[p];const m=ui(n-l[g*2],2)+ui(r-l[g*2+1],2);if(m<h&&(h=m,u=g),p=p%3===2?p-2:p+1,c[p]!==t)break;if(p=s[p],p===-1){if(p=o[(a[t]+1)%o.length],p!==g&&ui(n-l[p*2],2)+ui(r-l[p*2+1],2)<h)return p;break}}while(p!==f);return u}render(t){const n=t==null?t=new vr:void 0,{points:r,halfedges:i,triangles:o}=this;for(let a=0,s=i.length;a<s;++a){const c=i[a];if(c<a)continue;const l=o[a]*2,u=o[c]*2;t.moveTo(r[l],r[l+1]),t.lineTo(r[u],r[u+1])}return this.renderHull(t),n&&n.value()}renderPoints(t,n){n===void 0&&(!t||typeof t.moveTo!="function")&&(n=t,t=null),n=n==null?2:+n;const r=t==null?t=new vr:void 0,{points:i}=this;for(let o=0,a=i.length;o<a;o+=2){const s=i[o],c=i[o+1];t.moveTo(s+n,c),t.arc(s,c,n,0,sD)}return r&&r.value()}renderHull(t){const n=t==null?t=new vr:void 0,{hull:r,points:i}=this,o=r[0]*2,a=r.length;t.moveTo(i[o],i[o+1]);for(let s=1;s<a;++s){const c=2*r[s];t.lineTo(i[c],i[c+1])}return t.closePath(),n&&n.value()}hullPolygon(){const t=new fu;return this.renderHull(t),t.value()}renderTriangle(t,n){const r=n==null?n=new vr:void 0,{points:i,triangles:o}=this,a=o[t*=3]*2,s=o[t+1]*2,c=o[t+2]*2;return n.moveTo(i[a],i[a+1]),n.lineTo(i[s],i[s+1]),n.lineTo(i[c],i[c+1]),n.closePath(),r&&r.value()}*trianglePolygons(){const{triangles:t}=this;for(let n=0,r=t.length/3;n<r;++n)yield this.trianglePolygon(n)}trianglePolygon(t){const n=new fu;return this.renderTriangle(t,n),n.value()}}function hD(e,t,n,r){const i=e.length,o=new Float64Array(i*2);for(let a=0;a<i;++a){const s=e[a];o[a*2]=t.call(r,s,a,e),o[a*2+1]=n.call(r,s,a,e)}return o}function*pD(e,t,n,r){let i=0;for(const o of e)yield t.call(r,o,i,e),yield n.call(r,o,i,e),++i}var am={},pu={},du=34,uo=10,gu=13;function sm(e){return new Function("d","return {"+e.map(function(t,n){return JSON.stringify(t)+": d["+n+'] || ""'}).join(",")+"}")}function dD(e,t){var n=sm(e);return function(r,i){return t(n(r),i,e)}}function lm(e){var t=Object.create(null),n=[];return e.forEach(function(r){for(var i in r)i in t||n.push(t[i]=i)}),n}function bt(e,t){var n=e+"",r=n.length;return r<t?new Array(t-r+1).join(0)+n:n}function gD(e){return e<0?"-"+bt(-e,6):e>9999?"+"+bt(e,6):bt(e,4)}function mD(e){var t=e.getUTCHours(),n=e.getUTCMinutes(),r=e.getUTCSeconds(),i=e.getUTCMilliseconds();return isNaN(e)?"Invalid Date":gD(e.getUTCFullYear())+"-"+bt(e.getUTCMonth()+1,2)+"-"+bt(e.getUTCDate(),2)+(i?"T"+bt(t,2)+":"+bt(n,2)+":"+bt(r,2)+"."+bt(i,3)+"Z":r?"T"+bt(t,2)+":"+bt(n,2)+":"+bt(r,2)+"Z":n||t?"T"+bt(t,2)+":"+bt(n,2)+"Z":"")}function Ja(e){var t=new RegExp('["'+e+`
57
+ \r]`),n=e.charCodeAt(0);function r(h,f){var p,g,m=i(h,function(d,y){if(p)return p(d,y-1);g=d,p=f?dD(d,f):sm(d)});return m.columns=g||[],m}function i(h,f){var p=[],g=h.length,m=0,d=0,y,b=g<=0,x=!1;h.charCodeAt(g-1)===uo&&--g,h.charCodeAt(g-1)===gu&&--g;function v(){if(b)return pu;if(x)return x=!1,am;var $,L=m,E;if(h.charCodeAt(L)===du){for(;m++<g&&h.charCodeAt(m)!==du||h.charCodeAt(++m)===du;);return($=m)>=g?b=!0:(E=h.charCodeAt(m++))===uo?x=!0:E===gu&&(x=!0,h.charCodeAt(m)===uo&&++m),h.slice(L+1,$-1).replace(/""/g,'"')}for(;m<g;){if((E=h.charCodeAt($=m++))===uo)x=!0;else if(E===gu)x=!0,h.charCodeAt(m)===uo&&++m;else if(E!==n)continue;return h.slice(L,$)}return b=!0,h.slice(L,g)}for(;(y=v())!==pu;){for(var S=[];y!==am&&y!==pu;)S.push(y),y=v();f&&(S=f(S,d++))==null||p.push(S)}return p}function o(h,f){return h.map(function(p){return f.map(function(g){return u(p[g])}).join(e)})}function a(h,f){return f==null&&(f=lm(h)),[f.map(u).join(e)].concat(o(h,f)).join(`
58
+ `)}function s(h,f){return f==null&&(f=lm(h)),o(h,f).join(`
59
+ `)}function c(h){return h.map(l).join(`
60
+ `)}function l(h){return h.map(u).join(e)}function u(h){return h==null?"":h instanceof Date?mD(h):t.test(h+="")?'"'+h.replace(/"/g,'""')+'"':h}return{parse:r,parseRows:i,format:a,formatBody:s,formatRows:c,formatRow:l,formatValue:u}}var $r=Ja(","),cm=$r.parse,yD=$r.parseRows,bD=$r.format,xD=$r.formatBody,vD=$r.formatRows,$D=$r.formatRow,SD=$r.formatValue,Sr=Ja(" "),um=Sr.parse,AD=Sr.parseRows,TD=Sr.format,wD=Sr.formatBody,_D=Sr.formatRows,DD=Sr.formatRow,PD=Sr.formatValue;function MD(e){for(var t in e){var n=e[t].trim(),r,i;if(!n)n=null;else if(n==="true")n=!0;else if(n==="false")n=!1;else if(n==="NaN")n=NaN;else if(!isNaN(r=+n))n=r;else if(i=n.match(/^([-+]\d{2})?\d{4}(-\d{2}(-\d{2})?)?(T\d{2}:\d{2}(:\d{2}(\.\d{3})?)?(Z|[-+]\d{2}:\d{2})?)?$/))CD&&i[4]&&!i[7]&&(n=n.replace(/-/g,"/").replace(/T/," ")),n=new Date(n);else continue;e[t]=n}return e}const CD=new Date("2019-01-01T00:00").getHours()||new Date("2019-07-01T00:00").getHours();function LD(e){if(!e.ok)throw new Error(e.status+" "+e.statusText);return e.blob()}function kD(e,t){return fetch(e,t).then(LD)}function ED(e){if(!e.ok)throw new Error(e.status+" "+e.statusText);return e.arrayBuffer()}function RD(e,t){return fetch(e,t).then(ED)}function BD(e){if(!e.ok)throw new Error(e.status+" "+e.statusText);return e.text()}function Qa(e,t){return fetch(e,t).then(BD)}function fm(e){return function(t,n,r){return arguments.length===2&&typeof n=="function"&&(r=n,n=void 0),Qa(t,n).then(function(i){return e(i,r)})}}function ID(e,t,n,r){arguments.length===3&&typeof n=="function"&&(r=n,n=void 0);var i=Ja(e);return Qa(t,n).then(function(o){return i.parse(o,r)})}var ND=fm(cm),OD=fm(um);function zD(e,t){return new Promise(function(n,r){var i=new Image;for(var o in t)i[o]=t[o];i.onerror=r,i.onload=function(){n(i)},i.src=e})}function FD(e){if(!e.ok)throw new Error(e.status+" "+e.statusText);if(!(e.status===204||e.status===205))return e.json()}function YD(e,t){return fetch(e,t).then(FD)}function mu(e){return(t,n)=>Qa(t,n).then(r=>new DOMParser().parseFromString(r,e))}const WD=mu("application/xml");var GD=mu("text/html"),VD=mu("image/svg+xml");function yu(e,t){var n,r=1;e==null&&(e=0),t==null&&(t=0);function i(){var o,a=n.length,s,c=0,l=0;for(o=0;o<a;++o)s=n[o],c+=s.x,l+=s.y;for(c=(c/a-e)*r,l=(l/a-t)*r,o=0;o<a;++o)s=n[o],s.x-=c,s.y-=l}return i.initialize=function(o){n=o},i.x=function(o){return arguments.length?(e=+o,i):e},i.y=function(o){return arguments.length?(t=+o,i):t},i.strength=function(o){return arguments.length?(r=+o,i):r},i}function XD(e){const t=+this._x.call(null,e),n=+this._y.call(null,e);return hm(this.cover(t,n),t,n,e)}function hm(e,t,n,r){if(isNaN(t)||isNaN(n))return e;var i,o=e._root,a={data:r},s=e._x0,c=e._y0,l=e._x1,u=e._y1,h,f,p,g,m,d,y,b;if(!o)return e._root=a,e;for(;o.length;)if((m=t>=(h=(s+l)/2))?s=h:l=h,(d=n>=(f=(c+u)/2))?c=f:u=f,i=o,!(o=o[y=d<<1|m]))return i[y]=a,e;if(p=+e._x.call(null,o.data),g=+e._y.call(null,o.data),t===p&&n===g)return a.next=o,i?i[y]=a:e._root=a,e;do i=i?i[y]=new Array(4):e._root=new Array(4),(m=t>=(h=(s+l)/2))?s=h:l=h,(d=n>=(f=(c+u)/2))?c=f:u=f;while((y=d<<1|m)===(b=(g>=f)<<1|p>=h));return i[b]=o,i[y]=a,e}function jD(e){var t,n,r=e.length,i,o,a=new Array(r),s=new Array(r),c=1/0,l=1/0,u=-1/0,h=-1/0;for(n=0;n<r;++n)isNaN(i=+this._x.call(null,t=e[n]))||isNaN(o=+this._y.call(null,t))||(a[n]=i,s[n]=o,i<c&&(c=i),i>u&&(u=i),o<l&&(l=o),o>h&&(h=o));if(c>u||l>h)return this;for(this.cover(c,l).cover(u,h),n=0;n<r;++n)hm(this,a[n],s[n],e[n]);return this}function HD(e,t){if(isNaN(e=+e)||isNaN(t=+t))return this;var n=this._x0,r=this._y0,i=this._x1,o=this._y1;if(isNaN(n))i=(n=Math.floor(e))+1,o=(r=Math.floor(t))+1;else{for(var a=i-n||1,s=this._root,c,l;n>e||e>=i||r>t||t>=o;)switch(l=(t<r)<<1|e<n,c=new Array(4),c[l]=s,s=c,a*=2,l){case 0:i=n+a,o=r+a;break;case 1:n=i-a,o=r+a;break;case 2:i=n+a,r=o-a;break;case 3:n=i-a,r=o-a;break}this._root&&this._root.length&&(this._root=s)}return this._x0=n,this._y0=r,this._x1=i,this._y1=o,this}function UD(){var e=[];return this.visit(function(t){if(!t.length)do e.push(t.data);while(t=t.next)}),e}function qD(e){return arguments.length?this.cover(+e[0][0],+e[0][1]).cover(+e[1][0],+e[1][1]):isNaN(this._x0)?void 0:[[this._x0,this._y0],[this._x1,this._y1]]}function ot(e,t,n,r,i){this.node=e,this.x0=t,this.y0=n,this.x1=r,this.y1=i}function KD(e,t,n){var r,i=this._x0,o=this._y0,a,s,c,l,u=this._x1,h=this._y1,f=[],p=this._root,g,m;for(p&&f.push(new ot(p,i,o,u,h)),n==null?n=1/0:(i=e-n,o=t-n,u=e+n,h=t+n,n*=n);g=f.pop();)if(!(!(p=g.node)||(a=g.x0)>u||(s=g.y0)>h||(c=g.x1)<i||(l=g.y1)<o))if(p.length){var d=(a+c)/2,y=(s+l)/2;f.push(new ot(p[3],d,y,c,l),new ot(p[2],a,y,d,l),new ot(p[1],d,s,c,y),new ot(p[0],a,s,d,y)),(m=(t>=y)<<1|e>=d)&&(g=f[f.length-1],f[f.length-1]=f[f.length-1-m],f[f.length-1-m]=g)}else{var b=e-+this._x.call(null,p.data),x=t-+this._y.call(null,p.data),v=b*b+x*x;if(v<n){var S=Math.sqrt(n=v);i=e-S,o=t-S,u=e+S,h=t+S,r=p.data}}return r}function ZD(e){if(isNaN(u=+this._x.call(null,e))||isNaN(h=+this._y.call(null,e)))return this;var t,n=this._root,r,i,o,a=this._x0,s=this._y0,c=this._x1,l=this._y1,u,h,f,p,g,m,d,y;if(!n)return this;if(n.length)for(;;){if((g=u>=(f=(a+c)/2))?a=f:c=f,(m=h>=(p=(s+l)/2))?s=p:l=p,t=n,!(n=n[d=m<<1|g]))return this;if(!n.length)break;(t[d+1&3]||t[d+2&3]||t[d+3&3])&&(r=t,y=d)}for(;n.data!==e;)if(i=n,!(n=n.next))return this;return(o=n.next)&&delete n.next,i?(o?i.next=o:delete i.next,this):t?(o?t[d]=o:delete t[d],(n=t[0]||t[1]||t[2]||t[3])&&n===(t[3]||t[2]||t[1]||t[0])&&!n.length&&(r?r[y]=n:this._root=n),this):(this._root=o,this)}function JD(e){for(var t=0,n=e.length;t<n;++t)this.remove(e[t]);return this}function QD(){return this._root}function eP(){var e=0;return this.visit(function(t){if(!t.length)do++e;while(t=t.next)}),e}function tP(e){var t=[],n,r=this._root,i,o,a,s,c;for(r&&t.push(new ot(r,this._x0,this._y0,this._x1,this._y1));n=t.pop();)if(!e(r=n.node,o=n.x0,a=n.y0,s=n.x1,c=n.y1)&&r.length){var l=(o+s)/2,u=(a+c)/2;(i=r[3])&&t.push(new ot(i,l,u,s,c)),(i=r[2])&&t.push(new ot(i,o,u,l,c)),(i=r[1])&&t.push(new ot(i,l,a,s,u)),(i=r[0])&&t.push(new ot(i,o,a,l,u))}return this}function nP(e){var t=[],n=[],r;for(this._root&&t.push(new ot(this._root,this._x0,this._y0,this._x1,this._y1));r=t.pop();){var i=r.node;if(i.length){var o,a=r.x0,s=r.y0,c=r.x1,l=r.y1,u=(a+c)/2,h=(s+l)/2;(o=i[0])&&t.push(new ot(o,a,s,u,h)),(o=i[1])&&t.push(new ot(o,u,s,c,h)),(o=i[2])&&t.push(new ot(o,a,h,u,l)),(o=i[3])&&t.push(new ot(o,u,h,c,l))}n.push(r)}for(;r=n.pop();)e(r.node,r.x0,r.y0,r.x1,r.y1);return this}function rP(e){return e[0]}function iP(e){return arguments.length?(this._x=e,this):this._x}function oP(e){return e[1]}function aP(e){return arguments.length?(this._y=e,this):this._y}function es(e,t,n){var r=new bu(t??rP,n??oP,NaN,NaN,NaN,NaN);return e==null?r:r.addAll(e)}function bu(e,t,n,r,i,o){this._x=e,this._y=t,this._x0=n,this._y0=r,this._x1=i,this._y1=o,this._root=void 0}function pm(e){for(var t={data:e.data},n=t;e=e.next;)n=n.next={data:e.data};return t}var at=es.prototype=bu.prototype;at.copy=function(){var e=new bu(this._x,this._y,this._x0,this._y0,this._x1,this._y1),t=this._root,n,r;if(!t)return e;if(!t.length)return e._root=pm(t),e;for(n=[{source:t,target:e._root=new Array(4)}];t=n.pop();)for(var i=0;i<4;++i)(r=t.source[i])&&(r.length?n.push({source:r,target:t.target[i]=new Array(4)}):t.target[i]=pm(r));return e},at.add=XD,at.addAll=jD,at.cover=HD,at.data=UD,at.extent=qD,at.find=KD,at.remove=ZD,at.removeAll=JD,at.root=QD,at.size=eP,at.visit=tP,at.visitAfter=nP,at.x=iP,at.y=aP;function Ie(e){return function(){return e}}function Wn(e){return(e()-.5)*1e-6}function sP(e){return e.x+e.vx}function lP(e){return e.y+e.vy}function ts(e){var t,n,r,i=1,o=1;typeof e!="function"&&(e=Ie(e==null?1:+e));function a(){for(var l,u=t.length,h,f,p,g,m,d,y=0;y<o;++y)for(h=es(t,sP,lP).visitAfter(s),l=0;l<u;++l)f=t[l],m=n[f.index],d=m*m,p=f.x+f.vx,g=f.y+f.vy,h.visit(b);function b(x,v,S,$,L){var E=x.data,M=x.r,C=m+M;if(E){if(E.index>f.index){var B=p-E.x-E.vx,D=g-E.y-E.vy,P=B*B+D*D;P<C*C&&(B===0&&(B=Wn(r),P+=B*B),D===0&&(D=Wn(r),P+=D*D),P=(C-(P=Math.sqrt(P)))/P*i,f.vx+=(B*=P)*(C=(M*=M)/(d+M)),f.vy+=(D*=P)*C,E.vx-=B*(C=1-C),E.vy-=D*C)}return}return v>p+C||$<p-C||S>g+C||L<g-C}}function s(l){if(l.data)return l.r=n[l.data.index];for(var u=l.r=0;u<4;++u)l[u]&&l[u].r>l.r&&(l.r=l[u].r)}function c(){if(t){var l,u=t.length,h;for(n=new Array(u),l=0;l<u;++l)h=t[l],n[h.index]=+e(h,l,t)}}return a.initialize=function(l,u){t=l,r=u,c()},a.iterations=function(l){return arguments.length?(o=+l,a):o},a.strength=function(l){return arguments.length?(i=+l,a):i},a.radius=function(l){return arguments.length?(e=typeof l=="function"?l:Ie(+l),c(),a):e},a}function cP(e){return e.index}function dm(e,t){var n=e.get(t);if(!n)throw new Error("node not found: "+t);return n}function xu(e){var t=cP,n=h,r,i=Ie(30),o,a,s,c,l,u=1;e==null&&(e=[]);function h(d){return 1/Math.min(s[d.source.index],s[d.target.index])}function f(d){for(var y=0,b=e.length;y<u;++y)for(var x=0,v,S,$,L,E,M,C;x<b;++x)v=e[x],S=v.source,$=v.target,L=$.x+$.vx-S.x-S.vx||Wn(l),E=$.y+$.vy-S.y-S.vy||Wn(l),M=Math.sqrt(L*L+E*E),M=(M-o[x])/M*d*r[x],L*=M,E*=M,$.vx-=L*(C=c[x]),$.vy-=E*C,S.vx+=L*(C=1-C),S.vy+=E*C}function p(){if(a){var d,y=a.length,b=e.length,x=new Map(a.map((S,$)=>[t(S,$,a),S])),v;for(d=0,s=new Array(y);d<b;++d)v=e[d],v.index=d,typeof v.source!="object"&&(v.source=dm(x,v.source)),typeof v.target!="object"&&(v.target=dm(x,v.target)),s[v.source.index]=(s[v.source.index]||0)+1,s[v.target.index]=(s[v.target.index]||0)+1;for(d=0,c=new Array(b);d<b;++d)v=e[d],c[d]=s[v.source.index]/(s[v.source.index]+s[v.target.index]);r=new Array(b),g(),o=new Array(b),m()}}function g(){if(a)for(var d=0,y=e.length;d<y;++d)r[d]=+n(e[d],d,e)}function m(){if(a)for(var d=0,y=e.length;d<y;++d)o[d]=+i(e[d],d,e)}return f.initialize=function(d,y){a=d,l=y,p()},f.links=function(d){return arguments.length?(e=d,p(),f):e},f.id=function(d){return arguments.length?(t=d,f):t},f.iterations=function(d){return arguments.length?(u=+d,f):u},f.strength=function(d){return arguments.length?(n=typeof d=="function"?d:Ie(+d),g(),f):n},f.distance=function(d){return arguments.length?(i=typeof d=="function"?d:Ie(+d),m(),f):i},f}const uP=1664525,fP=1013904223,gm=4294967296;function hP(){let e=1;return()=>(e=(uP*e+fP)%gm)/gm}function pP(e){return e.x}function dP(e){return e.y}var gP=10,mP=Math.PI*(3-Math.sqrt(5));function ns(e){var t,n=1,r=.001,i=1-Math.pow(r,1/300),o=0,a=.6,s=new Map,c=Ya(h),l=sr("tick","end"),u=hP();e==null&&(e=[]);function h(){f(),l.call("tick",t),n<r&&(c.stop(),l.call("end",t))}function f(m){var d,y=e.length,b;m===void 0&&(m=1);for(var x=0;x<m;++x)for(n+=(o-n)*i,s.forEach(function(v){v(n)}),d=0;d<y;++d)b=e[d],b.fx==null?b.x+=b.vx*=a:(b.x=b.fx,b.vx=0),b.fy==null?b.y+=b.vy*=a:(b.y=b.fy,b.vy=0);return t}function p(){for(var m=0,d=e.length,y;m<d;++m){if(y=e[m],y.index=m,y.fx!=null&&(y.x=y.fx),y.fy!=null&&(y.y=y.fy),isNaN(y.x)||isNaN(y.y)){var b=gP*Math.sqrt(.5+m),x=m*mP;y.x=b*Math.cos(x),y.y=b*Math.sin(x)}(isNaN(y.vx)||isNaN(y.vy))&&(y.vx=y.vy=0)}}function g(m){return m.initialize&&m.initialize(e,u),m}return p(),t={tick:f,restart:function(){return c.restart(h),t},stop:function(){return c.stop(),t},nodes:function(m){return arguments.length?(e=m,p(),s.forEach(g),t):e},alpha:function(m){return arguments.length?(n=+m,t):n},alphaMin:function(m){return arguments.length?(r=+m,t):r},alphaDecay:function(m){return arguments.length?(i=+m,t):+i},alphaTarget:function(m){return arguments.length?(o=+m,t):o},velocityDecay:function(m){return arguments.length?(a=1-m,t):1-a},randomSource:function(m){return arguments.length?(u=m,s.forEach(g),t):u},force:function(m,d){return arguments.length>1?(d==null?s.delete(m):s.set(m,g(d)),t):s.get(m)},find:function(m,d,y){var b=0,x=e.length,v,S,$,L,E;for(y==null?y=1/0:y*=y,b=0;b<x;++b)L=e[b],v=m-L.x,S=d-L.y,$=v*v+S*S,$<y&&(E=L,y=$);return E},on:function(m,d){return arguments.length>1?(l.on(m,d),t):l.on(m)}}}function rs(){var e,t,n,r,i=Ie(-30),o,a=1,s=1/0,c=.81;function l(p){var g,m=e.length,d=es(e,pP,dP).visitAfter(h);for(r=p,g=0;g<m;++g)t=e[g],d.visit(f)}function u(){if(e){var p,g=e.length,m;for(o=new Array(g),p=0;p<g;++p)m=e[p],o[m.index]=+i(m,p,e)}}function h(p){var g=0,m,d,y=0,b,x,v;if(p.length){for(b=x=v=0;v<4;++v)(m=p[v])&&(d=Math.abs(m.value))&&(g+=m.value,y+=d,b+=d*m.x,x+=d*m.y);p.x=b/y,p.y=x/y}else{m=p,m.x=m.data.x,m.y=m.data.y;do g+=o[m.data.index];while(m=m.next)}p.value=g}function f(p,g,m,d){if(!p.value)return!0;var y=p.x-t.x,b=p.y-t.y,x=d-g,v=y*y+b*b;if(x*x/c<v)return v<s&&(y===0&&(y=Wn(n),v+=y*y),b===0&&(b=Wn(n),v+=b*b),v<a&&(v=Math.sqrt(a*v)),t.vx+=y*p.value*r/v,t.vy+=b*p.value*r/v),!0;if(p.length||v>=s)return;(p.data!==t||p.next)&&(y===0&&(y=Wn(n),v+=y*y),b===0&&(b=Wn(n),v+=b*b),v<a&&(v=Math.sqrt(a*v)));do p.data!==t&&(x=o[p.data.index]*r/v,t.vx+=y*x,t.vy+=b*x);while(p=p.next)}return l.initialize=function(p,g){e=p,n=g,u()},l.strength=function(p){return arguments.length?(i=typeof p=="function"?p:Ie(+p),u(),l):i},l.distanceMin=function(p){return arguments.length?(a=p*p,l):Math.sqrt(a)},l.distanceMax=function(p){return arguments.length?(s=p*p,l):Math.sqrt(s)},l.theta=function(p){return arguments.length?(c=p*p,l):Math.sqrt(c)},l}function yP(e,t,n){var r,i=Ie(.1),o,a;typeof e!="function"&&(e=Ie(+e)),t==null&&(t=0),n==null&&(n=0);function s(l){for(var u=0,h=r.length;u<h;++u){var f=r[u],p=f.x-t||1e-6,g=f.y-n||1e-6,m=Math.sqrt(p*p+g*g),d=(a[u]-m)*o[u]*l/m;f.vx+=p*d,f.vy+=g*d}}function c(){if(r){var l,u=r.length;for(o=new Array(u),a=new Array(u),l=0;l<u;++l)a[l]=+e(r[l],l,r),o[l]=isNaN(a[l])?0:+i(r[l],l,r)}}return s.initialize=function(l){r=l,c()},s.strength=function(l){return arguments.length?(i=typeof l=="function"?l:Ie(+l),c(),s):i},s.radius=function(l){return arguments.length?(e=typeof l=="function"?l:Ie(+l),c(),s):e},s.x=function(l){return arguments.length?(t=+l,s):t},s.y=function(l){return arguments.length?(n=+l,s):n},s}function mm(e){var t=Ie(.1),n,r,i;typeof e!="function"&&(e=Ie(e==null?0:+e));function o(s){for(var c=0,l=n.length,u;c<l;++c)u=n[c],u.vx+=(i[c]-u.x)*r[c]*s}function a(){if(n){var s,c=n.length;for(r=new Array(c),i=new Array(c),s=0;s<c;++s)r[s]=isNaN(i[s]=+e(n[s],s,n))?0:+t(n[s],s,n)}}return o.initialize=function(s){n=s,a()},o.strength=function(s){return arguments.length?(t=typeof s=="function"?s:Ie(+s),a(),o):t},o.x=function(s){return arguments.length?(e=typeof s=="function"?s:Ie(+s),a(),o):e},o}function ym(e){var t=Ie(.1),n,r,i;typeof e!="function"&&(e=Ie(e==null?0:+e));function o(s){for(var c=0,l=n.length,u;c<l;++c)u=n[c],u.vy+=(i[c]-u.y)*r[c]*s}function a(){if(n){var s,c=n.length;for(r=new Array(c),i=new Array(c),s=0;s<c;++s)r[s]=isNaN(i[s]=+e(n[s],s,n))?0:+t(n[s],s,n)}}return o.initialize=function(s){n=s,a()},o.strength=function(s){return arguments.length?(t=typeof s=="function"?s:Ie(+s),a(),o):t},o.y=function(s){return arguments.length?(e=typeof s=="function"?s:Ie(+s),a(),o):e},o}function bP(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString("en").replace(/,/g,""):e.toString(10)}function is(e,t){if((n=(e=t?e.toExponential(t-1):e.toExponential()).indexOf("e"))<0)return null;var n,r=e.slice(0,n);return[r.length>1?r[0]+r.slice(2):r,+e.slice(n+1)]}function fi(e){return e=is(Math.abs(e)),e?e[1]:NaN}function xP(e,t){return function(n,r){for(var i=n.length,o=[],a=0,s=e[0],c=0;i>0&&s>0&&(c+s+1>r&&(s=Math.max(1,r-c)),o.push(n.substring(i-=s,i+s)),!((c+=s+1)>r));)s=e[a=(a+1)%e.length];return o.reverse().join(t)}}function vP(e){return function(t){return t.replace(/[0-9]/g,function(n){return e[+n]})}}var $P=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function hi(e){if(!(t=$P.exec(e)))throw new Error("invalid format: "+e);var t;return new os({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}hi.prototype=os.prototype;function os(e){this.fill=e.fill===void 0?" ":e.fill+"",this.align=e.align===void 0?">":e.align+"",this.sign=e.sign===void 0?"-":e.sign+"",this.symbol=e.symbol===void 0?"":e.symbol+"",this.zero=!!e.zero,this.width=e.width===void 0?void 0:+e.width,this.comma=!!e.comma,this.precision=e.precision===void 0?void 0:+e.precision,this.trim=!!e.trim,this.type=e.type===void 0?"":e.type+""}os.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 SP(e){e:for(var t=e.length,n=1,r=-1,i;n<t;++n)switch(e[n]){case".":r=i=n;break;case"0":r===0&&(r=n),i=n;break;default:if(!+e[n])break e;r>0&&(r=0);break}return r>0?e.slice(0,r)+e.slice(i+1):e}var bm;function AP(e,t){var n=is(e,t);if(!n)return e+"";var r=n[0],i=n[1],o=i-(bm=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,a=r.length;return o===a?r:o>a?r+new Array(o-a+1).join("0"):o>0?r.slice(0,o)+"."+r.slice(o):"0."+new Array(1-o).join("0")+is(e,Math.max(0,t+o-1))[0]}function xm(e,t){var n=is(e,t);if(!n)return e+"";var r=n[0],i=n[1];return i<0?"0."+new Array(-i).join("0")+r:r.length>i+1?r.slice(0,i+1)+"."+r.slice(i+1):r+new Array(i-r.length+2).join("0")}const vm={"%":(e,t)=>(e*100).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+"",d:bP,e:(e,t)=>e.toExponential(t),f:(e,t)=>e.toFixed(t),g:(e,t)=>e.toPrecision(t),o:e=>Math.round(e).toString(8),p:(e,t)=>xm(e*100,t),r:xm,s:AP,X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function $m(e){return e}var Sm=Array.prototype.map,Am=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function Tm(e){var t=e.grouping===void 0||e.thousands===void 0?$m:xP(Sm.call(e.grouping,Number),e.thousands+""),n=e.currency===void 0?"":e.currency[0]+"",r=e.currency===void 0?"":e.currency[1]+"",i=e.decimal===void 0?".":e.decimal+"",o=e.numerals===void 0?$m:vP(Sm.call(e.numerals,String)),a=e.percent===void 0?"%":e.percent+"",s=e.minus===void 0?"−":e.minus+"",c=e.nan===void 0?"NaN":e.nan+"";function l(h){h=hi(h);var f=h.fill,p=h.align,g=h.sign,m=h.symbol,d=h.zero,y=h.width,b=h.comma,x=h.precision,v=h.trim,S=h.type;S==="n"?(b=!0,S="g"):vm[S]||(x===void 0&&(x=12),v=!0,S="g"),(d||f==="0"&&p==="=")&&(d=!0,f="0",p="=");var $=m==="$"?n:m==="#"&&/[boxX]/.test(S)?"0"+S.toLowerCase():"",L=m==="$"?r:/[%p]/.test(S)?a:"",E=vm[S],M=/[defgprs%]/.test(S);x=x===void 0?6:/[gprs]/.test(S)?Math.max(1,Math.min(21,x)):Math.max(0,Math.min(20,x));function C(B){var D=$,P=L,w,k,T;if(S==="c")P=E(B)+P,B="";else{B=+B;var I=B<0||1/B<0;if(B=isNaN(B)?c:E(Math.abs(B),x),v&&(B=SP(B)),I&&+B==0&&g!=="+"&&(I=!1),D=(I?g==="("?g:s:g==="-"||g==="("?"":g)+D,P=(S==="s"?Am[8+bm/3]:"")+P+(I&&g==="("?")":""),M){for(w=-1,k=B.length;++w<k;)if(T=B.charCodeAt(w),48>T||T>57){P=(T===46?i+B.slice(w+1):B.slice(w))+P,B=B.slice(0,w);break}}}b&&!d&&(B=t(B,1/0));var _=D.length+B.length+P.length,O=_<y?new Array(y-_+1).join(f):"";switch(b&&d&&(B=t(O+B,O.length?y-P.length:1/0),O=""),p){case"<":B=D+B+P+O;break;case"=":B=D+O+B+P;break;case"^":B=O.slice(0,_=O.length>>1)+D+B+P+O.slice(_);break;default:B=O+D+B+P;break}return o(B)}return C.toString=function(){return h+""},C}function u(h,f){var p=l((h=hi(h),h.type="f",h)),g=Math.max(-8,Math.min(8,Math.floor(fi(f)/3)))*3,m=Math.pow(10,-g),d=Am[8+g/3];return function(y){return p(m*y)+d}}return{format:l,formatPrefix:u}}var as,fo,vu;wm({thousands:",",grouping:[3],currency:["$",""]});function wm(e){return as=Tm(e),fo=as.format,vu=as.formatPrefix,as}function _m(e){return Math.max(0,-fi(Math.abs(e)))}function Dm(e,t){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(fi(t)/3)))*3-fi(Math.abs(e)))}function Pm(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,fi(t)-fi(e))+1}var se=1e-6,ho=1e-12,ye=Math.PI,Ce=ye/2,ss=ye/4,st=ye*2,Ae=180/ye,le=ye/180,be=Math.abs,pi=Math.atan,lt=Math.atan2,ie=Math.cos,ls=Math.ceil,Mm=Math.exp,$u=Math.hypot,cs=Math.log,Su=Math.pow,ne=Math.sin,Ct=Math.sign||function(e){return e>0?1:e<0?-1:0},ze=Math.sqrt,Au=Math.tan;function Cm(e){return e>1?0:e<-1?ye:Math.acos(e)}function ct(e){return e>1?Ce:e<-1?-Ce:Math.asin(e)}function Lm(e){return(e=ne(e/2))*e}function Pe(){}function us(e,t){e&&Em.hasOwnProperty(e.type)&&Em[e.type](e,t)}var km={Feature:function(e,t){us(e.geometry,t)},FeatureCollection:function(e,t){for(var n=e.features,r=-1,i=n.length;++r<i;)us(n[r].geometry,t)}},Em={Sphere:function(e,t){t.sphere()},Point:function(e,t){e=e.coordinates,t.point(e[0],e[1],e[2])},MultiPoint:function(e,t){for(var n=e.coordinates,r=-1,i=n.length;++r<i;)e=n[r],t.point(e[0],e[1],e[2])},LineString:function(e,t){Tu(e.coordinates,t,0)},MultiLineString:function(e,t){for(var n=e.coordinates,r=-1,i=n.length;++r<i;)Tu(n[r],t,0)},Polygon:function(e,t){Rm(e.coordinates,t)},MultiPolygon:function(e,t){for(var n=e.coordinates,r=-1,i=n.length;++r<i;)Rm(n[r],t)},GeometryCollection:function(e,t){for(var n=e.geometries,r=-1,i=n.length;++r<i;)us(n[r],t)}};function Tu(e,t,n){var r=-1,i=e.length-n,o;for(t.lineStart();++r<i;)o=e[r],t.point(o[0],o[1],o[2]);t.lineEnd()}function Rm(e,t){var n=-1,r=e.length;for(t.polygonStart();++n<r;)Tu(e[n],t,1);t.polygonEnd()}function Wt(e,t){e&&km.hasOwnProperty(e.type)?km[e.type](e,t):us(e,t)}var fs=new Be,hs=new Be,Bm,Im,wu,_u,Du,rn={point:Pe,lineStart:Pe,lineEnd:Pe,polygonStart:function(){fs=new Be,rn.lineStart=TP,rn.lineEnd=wP},polygonEnd:function(){var e=+fs;hs.add(e<0?st+e:e),this.lineStart=this.lineEnd=this.point=Pe},sphere:function(){hs.add(st)}};function TP(){rn.point=_P}function wP(){Nm(Bm,Im)}function _P(e,t){rn.point=Nm,Bm=e,Im=t,e*=le,t*=le,wu=e,_u=ie(t=t/2+ss),Du=ne(t)}function Nm(e,t){e*=le,t*=le,t=t/2+ss;var n=e-wu,r=n>=0?1:-1,i=r*n,o=ie(t),a=ne(t),s=Du*a,c=_u*o+s*ie(i),l=s*r*ne(i);fs.add(lt(l,c)),wu=e,_u=o,Du=a}function DP(e){return hs=new Be,Wt(e,rn),hs*2}function ps(e){return[lt(e[1],e[0]),ct(e[2])]}function Ar(e){var t=e[0],n=e[1],r=ie(n);return[r*ie(t),r*ne(t),ne(n)]}function ds(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function di(e,t){return[e[1]*t[2]-e[2]*t[1],e[2]*t[0]-e[0]*t[2],e[0]*t[1]-e[1]*t[0]]}function Pu(e,t){e[0]+=t[0],e[1]+=t[1],e[2]+=t[2]}function gs(e,t){return[e[0]*t,e[1]*t,e[2]*t]}function ms(e){var t=ze(e[0]*e[0]+e[1]*e[1]+e[2]*e[2]);e[0]/=t,e[1]/=t,e[2]/=t}var Me,xt,Le,_t,Tr,Om,zm,gi,po,Gn,$n,Sn={point:Mu,lineStart:Ym,lineEnd:Wm,polygonStart:function(){Sn.point=Gm,Sn.lineStart=PP,Sn.lineEnd=MP,po=new Be,rn.polygonStart()},polygonEnd:function(){rn.polygonEnd(),Sn.point=Mu,Sn.lineStart=Ym,Sn.lineEnd=Wm,fs<0?(Me=-(Le=180),xt=-(_t=90)):po>se?_t=90:po<-se&&(xt=-90),$n[0]=Me,$n[1]=Le},sphere:function(){Me=-(Le=180),xt=-(_t=90)}};function Mu(e,t){Gn.push($n=[Me=e,Le=e]),t<xt&&(xt=t),t>_t&&(_t=t)}function Fm(e,t){var n=Ar([e*le,t*le]);if(gi){var r=di(gi,n),i=[r[1],-r[0],0],o=di(i,r);ms(o),o=ps(o);var a=e-Tr,s=a>0?1:-1,c=o[0]*Ae*s,l,u=be(a)>180;u^(s*Tr<c&&c<s*e)?(l=o[1]*Ae,l>_t&&(_t=l)):(c=(c+360)%360-180,u^(s*Tr<c&&c<s*e)?(l=-o[1]*Ae,l<xt&&(xt=l)):(t<xt&&(xt=t),t>_t&&(_t=t))),u?e<Tr?Dt(Me,e)>Dt(Me,Le)&&(Le=e):Dt(e,Le)>Dt(Me,Le)&&(Me=e):Le>=Me?(e<Me&&(Me=e),e>Le&&(Le=e)):e>Tr?Dt(Me,e)>Dt(Me,Le)&&(Le=e):Dt(e,Le)>Dt(Me,Le)&&(Me=e)}else Gn.push($n=[Me=e,Le=e]);t<xt&&(xt=t),t>_t&&(_t=t),gi=n,Tr=e}function Ym(){Sn.point=Fm}function Wm(){$n[0]=Me,$n[1]=Le,Sn.point=Mu,gi=null}function Gm(e,t){if(gi){var n=e-Tr;po.add(be(n)>180?n+(n>0?360:-360):n)}else Om=e,zm=t;rn.point(e,t),Fm(e,t)}function PP(){rn.lineStart()}function MP(){Gm(Om,zm),rn.lineEnd(),be(po)>se&&(Me=-(Le=180)),$n[0]=Me,$n[1]=Le,gi=null}function Dt(e,t){return(t-=e)<0?t+360:t}function CP(e,t){return e[0]-t[0]}function Vm(e,t){return e[0]<=e[1]?e[0]<=t&&t<=e[1]:t<e[0]||e[1]<t}function LP(e){var t,n,r,i,o,a,s;if(_t=Le=-(Me=xt=1/0),Gn=[],Wt(e,Sn),n=Gn.length){for(Gn.sort(CP),t=1,r=Gn[0],o=[r];t<n;++t)i=Gn[t],Vm(r,i[0])||Vm(r,i[1])?(Dt(r[0],i[1])>Dt(r[0],r[1])&&(r[1]=i[1]),Dt(i[0],r[1])>Dt(r[0],r[1])&&(r[0]=i[0])):o.push(r=i);for(a=-1/0,n=o.length-1,t=0,r=o[n];t<=n;r=i,++t)i=o[t],(s=Dt(r[1],i[0]))>a&&(a=s,Me=i[0],Le=r[1])}return Gn=$n=null,Me===1/0||xt===1/0?[[NaN,NaN],[NaN,NaN]]:[[Me,xt],[Le,_t]]}var go,ys,bs,xs,vs,$s,Ss,As,Cu,Lu,ku,Xm,jm,ut,ft,ht,Gt={sphere:Pe,point:Eu,lineStart:Hm,lineEnd:Um,polygonStart:function(){Gt.lineStart=RP,Gt.lineEnd=BP},polygonEnd:function(){Gt.lineStart=Hm,Gt.lineEnd=Um}};function Eu(e,t){e*=le,t*=le;var n=ie(t);mo(n*ie(e),n*ne(e),ne(t))}function mo(e,t,n){++go,bs+=(e-bs)/go,xs+=(t-xs)/go,vs+=(n-vs)/go}function Hm(){Gt.point=kP}function kP(e,t){e*=le,t*=le;var n=ie(t);ut=n*ie(e),ft=n*ne(e),ht=ne(t),Gt.point=EP,mo(ut,ft,ht)}function EP(e,t){e*=le,t*=le;var n=ie(t),r=n*ie(e),i=n*ne(e),o=ne(t),a=lt(ze((a=ft*o-ht*i)*a+(a=ht*r-ut*o)*a+(a=ut*i-ft*r)*a),ut*r+ft*i+ht*o);ys+=a,$s+=a*(ut+(ut=r)),Ss+=a*(ft+(ft=i)),As+=a*(ht+(ht=o)),mo(ut,ft,ht)}function Um(){Gt.point=Eu}function RP(){Gt.point=IP}function BP(){qm(Xm,jm),Gt.point=Eu}function IP(e,t){Xm=e,jm=t,e*=le,t*=le,Gt.point=qm;var n=ie(t);ut=n*ie(e),ft=n*ne(e),ht=ne(t),mo(ut,ft,ht)}function qm(e,t){e*=le,t*=le;var n=ie(t),r=n*ie(e),i=n*ne(e),o=ne(t),a=ft*o-ht*i,s=ht*r-ut*o,c=ut*i-ft*r,l=$u(a,s,c),u=ct(l),h=l&&-u/l;Cu.add(h*a),Lu.add(h*s),ku.add(h*c),ys+=u,$s+=u*(ut+(ut=r)),Ss+=u*(ft+(ft=i)),As+=u*(ht+(ht=o)),mo(ut,ft,ht)}function NP(e){go=ys=bs=xs=vs=$s=Ss=As=0,Cu=new Be,Lu=new Be,ku=new Be,Wt(e,Gt);var t=+Cu,n=+Lu,r=+ku,i=$u(t,n,r);return i<ho&&(t=$s,n=Ss,r=As,ys<se&&(t=bs,n=xs,r=vs),i=$u(t,n,r),i<ho)?[NaN,NaN]:[lt(n,t)*Ae,ct(r/i)*Ae]}function mi(e){return function(){return e}}function Ru(e,t){function n(r,i){return r=e(r,i),t(r[0],r[1])}return e.invert&&t.invert&&(n.invert=function(r,i){return r=t.invert(r,i),r&&e.invert(r[0],r[1])}),n}function Bu(e,t){return be(e)>ye&&(e-=Math.round(e/st)*st),[e,t]}Bu.invert=Bu;function Iu(e,t,n){return(e%=st)?t||n?Ru(Zm(e),Jm(t,n)):Zm(e):t||n?Jm(t,n):Bu}function Km(e){return function(t,n){return t+=e,be(t)>ye&&(t-=Math.round(t/st)*st),[t,n]}}function Zm(e){var t=Km(e);return t.invert=Km(-e),t}function Jm(e,t){var n=ie(e),r=ne(e),i=ie(t),o=ne(t);function a(s,c){var l=ie(c),u=ie(s)*l,h=ne(s)*l,f=ne(c),p=f*n+u*r;return[lt(h*i-p*o,u*n-f*r),ct(p*i+h*o)]}return a.invert=function(s,c){var l=ie(c),u=ie(s)*l,h=ne(s)*l,f=ne(c),p=f*i-h*o;return[lt(h*i+f*o,u*n+p*r),ct(p*n-u*r)]},a}function Qm(e){e=Iu(e[0]*le,e[1]*le,e.length>2?e[2]*le:0);function t(n){return n=e(n[0]*le,n[1]*le),n[0]*=Ae,n[1]*=Ae,n}return t.invert=function(n){return n=e.invert(n[0]*le,n[1]*le),n[0]*=Ae,n[1]*=Ae,n},t}function e0(e,t,n,r,i,o){if(n){var a=ie(t),s=ne(t),c=r*n;i==null?(i=t+r*st,o=t-c/2):(i=t0(a,i),o=t0(a,o),(r>0?i<o:i>o)&&(i+=r*st));for(var l,u=i;r>0?u>o:u<o;u-=c)l=ps([a,-s*ie(u),-s*ne(u)]),e.point(l[0],l[1])}}function t0(e,t){t=Ar(t),t[0]-=e,ms(t);var n=Cm(-t[1]);return((-t[2]<0?-n:n)+st-se)%st}function OP(){var e=mi([0,0]),t=mi(90),n=mi(2),r,i,o={point:a};function a(c,l){r.push(c=i(c,l)),c[0]*=Ae,c[1]*=Ae}function s(){var c=e.apply(this,arguments),l=t.apply(this,arguments)*le,u=n.apply(this,arguments)*le;return r=[],i=Iu(-c[0]*le,-c[1]*le,0).invert,e0(o,l,u,1),c={type:"Polygon",coordinates:[r]},r=i=null,c}return s.center=function(c){return arguments.length?(e=typeof c=="function"?c:mi([+c[0],+c[1]]),s):e},s.radius=function(c){return arguments.length?(t=typeof c=="function"?c:mi(+c),s):t},s.precision=function(c){return arguments.length?(n=typeof c=="function"?c:mi(+c),s):n},s}function n0(){var e=[],t;return{point:function(n,r,i){t.push([n,r,i])},lineStart:function(){e.push(t=[])},lineEnd:Pe,rejoin:function(){e.length>1&&e.push(e.pop().concat(e.shift()))},result:function(){var n=e;return e=[],t=null,n}}}function Ts(e,t){return be(e[0]-t[0])<se&&be(e[1]-t[1])<se}function ws(e,t,n,r){this.x=e,this.z=t,this.o=n,this.e=r,this.v=!1,this.n=this.p=null}function r0(e,t,n,r,i){var o=[],a=[],s,c;if(e.forEach(function(g){if(!((m=g.length-1)<=0)){var m,d=g[0],y=g[m],b;if(Ts(d,y)){if(!d[2]&&!y[2]){for(i.lineStart(),s=0;s<m;++s)i.point((d=g[s])[0],d[1]);i.lineEnd();return}y[0]+=2*se}o.push(b=new ws(d,g,null,!0)),a.push(b.o=new ws(d,null,b,!1)),o.push(b=new ws(y,g,null,!1)),a.push(b.o=new ws(y,null,b,!0))}}),!!o.length){for(a.sort(t),i0(o),i0(a),s=0,c=a.length;s<c;++s)a[s].e=n=!n;for(var l=o[0],u,h;;){for(var f=l,p=!0;f.v;)if((f=f.n)===l)return;u=f.z,i.lineStart();do{if(f.v=f.o.v=!0,f.e){if(p)for(s=0,c=u.length;s<c;++s)i.point((h=u[s])[0],h[1]);else r(f.x,f.n.x,1,i);f=f.n}else{if(p)for(u=f.p.z,s=u.length-1;s>=0;--s)i.point((h=u[s])[0],h[1]);else r(f.x,f.p.x,-1,i);f=f.p}f=f.o,u=f.z,p=!p}while(!f.v);i.lineEnd()}}}function i0(e){if(t=e.length){for(var t,n=0,r=e[0],i;++n<t;)r.n=i=e[n],i.p=r,r=i;r.n=i=e[0],i.p=r}}function Nu(e){return be(e[0])<=ye?e[0]:Ct(e[0])*((be(e[0])+ye)%st-ye)}function o0(e,t){var n=Nu(t),r=t[1],i=ne(r),o=[ne(n),-ie(n),0],a=0,s=0,c=new Be;i===1?r=Ce+se:i===-1&&(r=-Ce-se);for(var l=0,u=e.length;l<u;++l)if(f=(h=e[l]).length)for(var h,f,p=h[f-1],g=Nu(p),m=p[1]/2+ss,d=ne(m),y=ie(m),b=0;b<f;++b,g=v,d=$,y=L,p=x){var x=h[b],v=Nu(x),S=x[1]/2+ss,$=ne(S),L=ie(S),E=v-g,M=E>=0?1:-1,C=M*E,B=C>ye,D=d*$;if(c.add(lt(D*M*ne(C),y*L+D*ie(C))),a+=B?E+M*st:E,B^g>=n^v>=n){var P=di(Ar(p),Ar(x));ms(P);var w=di(o,P);ms(w);var k=(B^E>=0?-1:1)*ct(w[2]);(r>k||r===k&&(P[0]||P[1]))&&(s+=B^E>=0?1:-1)}}return(a<-se||a<se&&c<-ho)^s&1}function a0(e,t,n,r){return function(i){var o=t(i),a=n0(),s=t(a),c=!1,l,u,h,f={point:p,lineStart:m,lineEnd:d,polygonStart:function(){f.point=y,f.lineStart=b,f.lineEnd=x,u=[],l=[]},polygonEnd:function(){f.point=p,f.lineStart=m,f.lineEnd=d,u=cc(u);var v=o0(l,r);u.length?(c||(i.polygonStart(),c=!0),r0(u,FP,v,n,i)):v&&(c||(i.polygonStart(),c=!0),i.lineStart(),n(null,null,1,i),i.lineEnd()),c&&(i.polygonEnd(),c=!1),u=l=null},sphere:function(){i.polygonStart(),i.lineStart(),n(null,null,1,i),i.lineEnd(),i.polygonEnd()}};function p(v,S){e(v,S)&&i.point(v,S)}function g(v,S){o.point(v,S)}function m(){f.point=g,o.lineStart()}function d(){f.point=p,o.lineEnd()}function y(v,S){h.push([v,S]),s.point(v,S)}function b(){s.lineStart(),h=[]}function x(){y(h[0][0],h[0][1]),s.lineEnd();var v=s.clean(),S=a.result(),$,L=S.length,E,M,C;if(h.pop(),l.push(h),h=null,!!L){if(v&1){if(M=S[0],(E=M.length-1)>0){for(c||(i.polygonStart(),c=!0),i.lineStart(),$=0;$<E;++$)i.point((C=M[$])[0],C[1]);i.lineEnd()}return}L>1&&v&2&&S.push(S.pop().concat(S.shift())),u.push(S.filter(zP))}}return f}}function zP(e){return e.length>1}function FP(e,t){return((e=e.x)[0]<0?e[1]-Ce-se:Ce-e[1])-((t=t.x)[0]<0?t[1]-Ce-se:Ce-t[1])}const Ou=a0(function(){return!0},YP,GP,[-ye,-Ce]);function YP(e){var t=NaN,n=NaN,r=NaN,i;return{lineStart:function(){e.lineStart(),i=1},point:function(o,a){var s=o>0?ye:-ye,c=be(o-t);be(c-ye)<se?(e.point(t,n=(n+a)/2>0?Ce:-Ce),e.point(r,n),e.lineEnd(),e.lineStart(),e.point(s,n),e.point(o,n),i=0):r!==s&&c>=ye&&(be(t-r)<se&&(t-=r*se),be(o-s)<se&&(o-=s*se),n=WP(t,n,o,a),e.point(r,n),e.lineEnd(),e.lineStart(),e.point(s,n),i=0),e.point(t=o,n=a),r=s},lineEnd:function(){e.lineEnd(),t=n=NaN},clean:function(){return 2-i}}}function WP(e,t,n,r){var i,o,a=ne(e-n);return be(a)>se?pi((ne(t)*(o=ie(r))*ne(n)-ne(r)*(i=ie(t))*ne(e))/(i*o*a)):(t+r)/2}function GP(e,t,n,r){var i;if(e==null)i=n*Ce,r.point(-ye,i),r.point(0,i),r.point(ye,i),r.point(ye,0),r.point(ye,-i),r.point(0,-i),r.point(-ye,-i),r.point(-ye,0),r.point(-ye,i);else if(be(e[0]-t[0])>se){var o=e[0]<t[0]?ye:-ye;i=n*o/2,r.point(-o,i),r.point(0,i),r.point(o,i)}else r.point(t[0],t[1])}function s0(e){var t=ie(e),n=2*le,r=t>0,i=be(t)>se;function o(u,h,f,p){e0(p,e,n,f,u,h)}function a(u,h){return ie(u)*ie(h)>t}function s(u){var h,f,p,g,m;return{lineStart:function(){g=p=!1,m=1},point:function(d,y){var b=[d,y],x,v=a(d,y),S=r?v?0:l(d,y):v?l(d+(d<0?ye:-ye),y):0;if(!h&&(g=p=v)&&u.lineStart(),v!==p&&(x=c(h,b),(!x||Ts(h,x)||Ts(b,x))&&(b[2]=1)),v!==p)m=0,v?(u.lineStart(),x=c(b,h),u.point(x[0],x[1])):(x=c(h,b),u.point(x[0],x[1],2),u.lineEnd()),h=x;else if(i&&h&&r^v){var $;!(S&f)&&($=c(b,h,!0))&&(m=0,r?(u.lineStart(),u.point($[0][0],$[0][1]),u.point($[1][0],$[1][1]),u.lineEnd()):(u.point($[1][0],$[1][1]),u.lineEnd(),u.lineStart(),u.point($[0][0],$[0][1],3)))}v&&(!h||!Ts(h,b))&&u.point(b[0],b[1]),h=b,p=v,f=S},lineEnd:function(){p&&u.lineEnd(),h=null},clean:function(){return m|(g&&p)<<1}}}function c(u,h,f){var p=Ar(u),g=Ar(h),m=[1,0,0],d=di(p,g),y=ds(d,d),b=d[0],x=y-b*b;if(!x)return!f&&u;var v=t*y/x,S=-t*b/x,$=di(m,d),L=gs(m,v),E=gs(d,S);Pu(L,E);var M=$,C=ds(L,M),B=ds(M,M),D=C*C-B*(ds(L,L)-1);if(!(D<0)){var P=ze(D),w=gs(M,(-C-P)/B);if(Pu(w,L),w=ps(w),!f)return w;var k=u[0],T=h[0],I=u[1],_=h[1],O;T<k&&(O=k,k=T,T=O);var F=T-k,j=be(F-ye)<se,Z=j||F<se;if(!j&&_<I&&(O=I,I=_,_=O),Z?j?I+_>0^w[1]<(be(w[0]-k)<se?I:_):I<=w[1]&&w[1]<=_:F>ye^(k<=w[0]&&w[0]<=T)){var re=gs(M,(-C+P)/B);return Pu(re,L),[w,ps(re)]}}}function l(u,h){var f=r?e:ye-e,p=0;return u<-f?p|=1:u>f&&(p|=2),h<-f?p|=4:h>f&&(p|=8),p}return a0(a,s,o,r?[0,-e]:[-ye,e-ye])}function VP(e,t,n,r,i,o){var a=e[0],s=e[1],c=t[0],l=t[1],u=0,h=1,f=c-a,p=l-s,g;if(g=n-a,!(!f&&g>0)){if(g/=f,f<0){if(g<u)return;g<h&&(h=g)}else if(f>0){if(g>h)return;g>u&&(u=g)}if(g=i-a,!(!f&&g<0)){if(g/=f,f<0){if(g>h)return;g>u&&(u=g)}else if(f>0){if(g<u)return;g<h&&(h=g)}if(g=r-s,!(!p&&g>0)){if(g/=p,p<0){if(g<u)return;g<h&&(h=g)}else if(p>0){if(g>h)return;g>u&&(u=g)}if(g=o-s,!(!p&&g<0)){if(g/=p,p<0){if(g>h)return;g>u&&(u=g)}else if(p>0){if(g<u)return;g<h&&(h=g)}return u>0&&(e[0]=a+u*f,e[1]=s+u*p),h<1&&(t[0]=a+h*f,t[1]=s+h*p),!0}}}}}var yo=1e9,_s=-yo;function Ds(e,t,n,r){function i(l,u){return e<=l&&l<=n&&t<=u&&u<=r}function o(l,u,h,f){var p=0,g=0;if(l==null||(p=a(l,h))!==(g=a(u,h))||c(l,u)<0^h>0)do f.point(p===0||p===3?e:n,p>1?r:t);while((p=(p+h+4)%4)!==g);else f.point(u[0],u[1])}function a(l,u){return be(l[0]-e)<se?u>0?0:3:be(l[0]-n)<se?u>0?2:1:be(l[1]-t)<se?u>0?1:0:u>0?3:2}function s(l,u){return c(l.x,u.x)}function c(l,u){var h=a(l,1),f=a(u,1);return h!==f?h-f:h===0?u[1]-l[1]:h===1?l[0]-u[0]:h===2?l[1]-u[1]:u[0]-l[0]}return function(l){var u=l,h=n0(),f,p,g,m,d,y,b,x,v,S,$,L={point:E,lineStart:D,lineEnd:P,polygonStart:C,polygonEnd:B};function E(k,T){i(k,T)&&u.point(k,T)}function M(){for(var k=0,T=0,I=p.length;T<I;++T)for(var _=p[T],O=1,F=_.length,j=_[0],Z,re,te=j[0],G=j[1];O<F;++O)Z=te,re=G,j=_[O],te=j[0],G=j[1],re<=r?G>r&&(te-Z)*(r-re)>(G-re)*(e-Z)&&++k:G<=r&&(te-Z)*(r-re)<(G-re)*(e-Z)&&--k;return k}function C(){u=h,f=[],p=[],$=!0}function B(){var k=M(),T=$&&k,I=(f=cc(f)).length;(T||I)&&(l.polygonStart(),T&&(l.lineStart(),o(null,null,1,l),l.lineEnd()),I&&r0(f,s,k,o,l),l.polygonEnd()),u=l,f=p=g=null}function D(){L.point=w,p&&p.push(g=[]),S=!0,v=!1,b=x=NaN}function P(){f&&(w(m,d),y&&v&&h.rejoin(),f.push(h.result())),L.point=E,v&&u.lineEnd()}function w(k,T){var I=i(k,T);if(p&&g.push([k,T]),S)m=k,d=T,y=I,S=!1,I&&(u.lineStart(),u.point(k,T));else if(I&&v)u.point(k,T);else{var _=[b=Math.max(_s,Math.min(yo,b)),x=Math.max(_s,Math.min(yo,x))],O=[k=Math.max(_s,Math.min(yo,k)),T=Math.max(_s,Math.min(yo,T))];VP(_,O,e,t,n,r)?(v||(u.lineStart(),u.point(_[0],_[1])),u.point(O[0],O[1]),I||u.lineEnd(),$=!1):I&&(u.lineStart(),u.point(k,T),$=!1)}b=k,x=T,v=I}return L}}function XP(){var e=0,t=0,n=960,r=500,i,o,a;return a={stream:function(s){return i&&o===s?i:i=Ds(e,t,n,r)(o=s)},extent:function(s){return arguments.length?(e=+s[0][0],t=+s[0][1],n=+s[1][0],r=+s[1][1],i=o=null,a):[[e,t],[n,r]]}}}var zu,Fu,Ps,Ms,yi={sphere:Pe,point:Pe,lineStart:jP,lineEnd:Pe,polygonStart:Pe,polygonEnd:Pe};function jP(){yi.point=UP,yi.lineEnd=HP}function HP(){yi.point=yi.lineEnd=Pe}function UP(e,t){e*=le,t*=le,Fu=e,Ps=ne(t),Ms=ie(t),yi.point=qP}function qP(e,t){e*=le,t*=le;var n=ne(t),r=ie(t),i=be(e-Fu),o=ie(i),a=ne(i),s=r*a,c=Ms*n-Ps*r*o,l=Ps*n+Ms*r*o;zu.add(lt(ze(s*s+c*c),l)),Fu=e,Ps=n,Ms=r}function l0(e){return zu=new Be,Wt(e,yi),+zu}var Yu=[null,null],KP={type:"LineString",coordinates:Yu};function Cs(e,t){return Yu[0]=e,Yu[1]=t,l0(KP)}var c0={Feature:function(e,t){return Ls(e.geometry,t)},FeatureCollection:function(e,t){for(var n=e.features,r=-1,i=n.length;++r<i;)if(Ls(n[r].geometry,t))return!0;return!1}},u0={Sphere:function(){return!0},Point:function(e,t){return f0(e.coordinates,t)},MultiPoint:function(e,t){for(var n=e.coordinates,r=-1,i=n.length;++r<i;)if(f0(n[r],t))return!0;return!1},LineString:function(e,t){return h0(e.coordinates,t)},MultiLineString:function(e,t){for(var n=e.coordinates,r=-1,i=n.length;++r<i;)if(h0(n[r],t))return!0;return!1},Polygon:function(e,t){return p0(e.coordinates,t)},MultiPolygon:function(e,t){for(var n=e.coordinates,r=-1,i=n.length;++r<i;)if(p0(n[r],t))return!0;return!1},GeometryCollection:function(e,t){for(var n=e.geometries,r=-1,i=n.length;++r<i;)if(Ls(n[r],t))return!0;return!1}};function Ls(e,t){return e&&u0.hasOwnProperty(e.type)?u0[e.type](e,t):!1}function f0(e,t){return Cs(e,t)===0}function h0(e,t){for(var n,r,i,o=0,a=e.length;o<a;o++){if(r=Cs(e[o],t),r===0||o>0&&(i=Cs(e[o],e[o-1]),i>0&&n<=i&&r<=i&&(n+r-i)*(1-Math.pow((n-r)/i,2))<ho*i))return!0;n=r}return!1}function p0(e,t){return!!o0(e.map(ZP),d0(t))}function ZP(e){return e=e.map(d0),e.pop(),e}function d0(e){return[e[0]*le,e[1]*le]}function JP(e,t){return(e&&c0.hasOwnProperty(e.type)?c0[e.type]:Ls)(e,t)}function g0(e,t,n){var r=Nn(e,t-se,n).concat(t);return function(i){return r.map(function(o){return[i,o]})}}function m0(e,t,n){var r=Nn(e,t-se,n).concat(t);return function(i){return r.map(function(o){return[o,i]})}}function y0(){var e,t,n,r,i,o,a,s,c=10,l=c,u=90,h=360,f,p,g,m,d=2.5;function y(){return{type:"MultiLineString",coordinates:b()}}function b(){return Nn(ls(r/u)*u,n,u).map(g).concat(Nn(ls(s/h)*h,a,h).map(m)).concat(Nn(ls(t/c)*c,e,c).filter(function(x){return be(x%u)>se}).map(f)).concat(Nn(ls(o/l)*l,i,l).filter(function(x){return be(x%h)>se}).map(p))}return y.lines=function(){return b().map(function(x){return{type:"LineString",coordinates:x}})},y.outline=function(){return{type:"Polygon",coordinates:[g(r).concat(m(a).slice(1),g(n).reverse().slice(1),m(s).reverse().slice(1))]}},y.extent=function(x){return arguments.length?y.extentMajor(x).extentMinor(x):y.extentMinor()},y.extentMajor=function(x){return arguments.length?(r=+x[0][0],n=+x[1][0],s=+x[0][1],a=+x[1][1],r>n&&(x=r,r=n,n=x),s>a&&(x=s,s=a,a=x),y.precision(d)):[[r,s],[n,a]]},y.extentMinor=function(x){return arguments.length?(t=+x[0][0],e=+x[1][0],o=+x[0][1],i=+x[1][1],t>e&&(x=t,t=e,e=x),o>i&&(x=o,o=i,i=x),y.precision(d)):[[t,o],[e,i]]},y.step=function(x){return arguments.length?y.stepMajor(x).stepMinor(x):y.stepMinor()},y.stepMajor=function(x){return arguments.length?(u=+x[0],h=+x[1],y):[u,h]},y.stepMinor=function(x){return arguments.length?(c=+x[0],l=+x[1],y):[c,l]},y.precision=function(x){return arguments.length?(d=+x,f=g0(o,i,90),p=m0(t,e,d),g=g0(s,a,90),m=m0(r,n,d),y):d},y.extentMajor([[-180,-90+se],[180,90-se]]).extentMinor([[-180,-80-se],[180,80+se]])}function QP(){return y0()()}function eM(e,t){var n=e[0]*le,r=e[1]*le,i=t[0]*le,o=t[1]*le,a=ie(r),s=ne(r),c=ie(o),l=ne(o),u=a*ie(n),h=a*ne(n),f=c*ie(i),p=c*ne(i),g=2*ct(ze(Lm(o-r)+a*c*Lm(i-n))),m=ne(g),d=g?function(y){var b=ne(y*=g)/m,x=ne(g-y)/m,v=x*u+b*f,S=x*h+b*p,$=x*s+b*l;return[lt(S,v)*Ae,lt($,ze(v*v+S*S))*Ae]}:function(){return[n*Ae,r*Ae]};return d.distance=g,d}const bo=e=>e;var Wu=new Be,Gu=new Be,b0,x0,Vu,Xu,An={point:Pe,lineStart:Pe,lineEnd:Pe,polygonStart:function(){An.lineStart=tM,An.lineEnd=rM},polygonEnd:function(){An.lineStart=An.lineEnd=An.point=Pe,Wu.add(be(Gu)),Gu=new Be},result:function(){var e=Wu/2;return Wu=new Be,e}};function tM(){An.point=nM}function nM(e,t){An.point=v0,b0=Vu=e,x0=Xu=t}function v0(e,t){Gu.add(Xu*e-Vu*t),Vu=e,Xu=t}function rM(){v0(b0,x0)}var bi=1/0,ks=bi,xo=-bi,Es=xo,Rs={point:iM,lineStart:Pe,lineEnd:Pe,polygonStart:Pe,polygonEnd:Pe,result:function(){var e=[[bi,ks],[xo,Es]];return xo=Es=-(ks=bi=1/0),e}};function iM(e,t){e<bi&&(bi=e),e>xo&&(xo=e),t<ks&&(ks=t),t>Es&&(Es=t)}var ju=0,Hu=0,vo=0,Bs=0,Is=0,xi=0,Uu=0,qu=0,$o=0,$0,S0,on,an,Lt={point:wr,lineStart:A0,lineEnd:T0,polygonStart:function(){Lt.lineStart=sM,Lt.lineEnd=lM},polygonEnd:function(){Lt.point=wr,Lt.lineStart=A0,Lt.lineEnd=T0},result:function(){var e=$o?[Uu/$o,qu/$o]:xi?[Bs/xi,Is/xi]:vo?[ju/vo,Hu/vo]:[NaN,NaN];return ju=Hu=vo=Bs=Is=xi=Uu=qu=$o=0,e}};function wr(e,t){ju+=e,Hu+=t,++vo}function A0(){Lt.point=oM}function oM(e,t){Lt.point=aM,wr(on=e,an=t)}function aM(e,t){var n=e-on,r=t-an,i=ze(n*n+r*r);Bs+=i*(on+e)/2,Is+=i*(an+t)/2,xi+=i,wr(on=e,an=t)}function T0(){Lt.point=wr}function sM(){Lt.point=cM}function lM(){w0($0,S0)}function cM(e,t){Lt.point=w0,wr($0=on=e,S0=an=t)}function w0(e,t){var n=e-on,r=t-an,i=ze(n*n+r*r);Bs+=i*(on+e)/2,Is+=i*(an+t)/2,xi+=i,i=an*e-on*t,Uu+=i*(on+e),qu+=i*(an+t),$o+=i*3,wr(on=e,an=t)}function _0(e){this._context=e}_0.prototype={_radius:4.5,pointRadius:function(e){return this._radius=e,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){this._line===0&&this._context.closePath(),this._point=NaN},point:function(e,t){switch(this._point){case 0:{this._context.moveTo(e,t),this._point=1;break}case 1:{this._context.lineTo(e,t);break}default:{this._context.moveTo(e+this._radius,t),this._context.arc(e,t,this._radius,0,st);break}}},result:Pe};var Ku=new Be,Zu,D0,P0,So,Ao,To={point:Pe,lineStart:function(){To.point=uM},lineEnd:function(){Zu&&M0(D0,P0),To.point=Pe},polygonStart:function(){Zu=!0},polygonEnd:function(){Zu=null},result:function(){var e=+Ku;return Ku=new Be,e}};function uM(e,t){To.point=M0,D0=So=e,P0=Ao=t}function M0(e,t){So-=e,Ao-=t,Ku.add(ze(So*So+Ao*Ao)),So=e,Ao=t}let C0,Ns,L0,k0;class E0{constructor(t){this._append=t==null?R0:fM(t),this._radius=4.5,this._=""}pointRadius(t){return this._radius=+t,this}polygonStart(){this._line=0}polygonEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){this._line===0&&(this._+="Z"),this._point=NaN}point(t,n){switch(this._point){case 0:{this._append`M${t},${n}`,this._point=1;break}case 1:{this._append`L${t},${n}`;break}default:{if(this._append`M${t},${n}`,this._radius!==L0||this._append!==Ns){const r=this._radius,i=this._;this._="",this._append`m0,${r}a${r},${r} 0 1,1 0,${-2*r}a${r},${r} 0 1,1 0,${2*r}z`,L0=r,Ns=this._append,k0=this._,this._=i}this._+=k0;break}}}result(){const t=this._;return this._="",t.length?t:null}}function R0(e){let t=1;this._+=e[0];for(const n=e.length;t<n;++t)this._+=arguments[t]+e[t]}function fM(e){const t=Math.floor(e);if(!(t>=0))throw new RangeError(`invalid digits: ${e}`);if(t>15)return R0;if(t!==C0){const n=10**t;C0=t,Ns=function(i){let o=1;this._+=i[0];for(const a=i.length;o<a;++o)this._+=Math.round(arguments[o]*n)/n+i[o]}}return Ns}function hM(e,t){let n=3,r=4.5,i,o;function a(s){return s&&(typeof r=="function"&&o.pointRadius(+r.apply(this,arguments)),Wt(s,i(o))),o.result()}return a.area=function(s){return Wt(s,i(An)),An.result()},a.measure=function(s){return Wt(s,i(To)),To.result()},a.bounds=function(s){return Wt(s,i(Rs)),Rs.result()},a.centroid=function(s){return Wt(s,i(Lt)),Lt.result()},a.projection=function(s){return arguments.length?(i=s==null?(e=null,bo):(e=s).stream,a):e},a.context=function(s){return arguments.length?(o=s==null?(t=null,new E0(n)):new _0(t=s),typeof r!="function"&&o.pointRadius(r),a):t},a.pointRadius=function(s){return arguments.length?(r=typeof s=="function"?s:(o.pointRadius(+s),+s),a):r},a.digits=function(s){if(!arguments.length)return n;if(s==null)n=null;else{const c=Math.floor(s);if(!(c>=0))throw new RangeError(`invalid digits: ${s}`);n=c}return t===null&&(o=new E0(n)),a},a.projection(e).digits(n).context(t)}function pM(e){return{stream:wo(e)}}function wo(e){return function(t){var n=new Ju;for(var r in e)n[r]=e[r];return n.stream=t,n}}function Ju(){}Ju.prototype={constructor:Ju,point:function(e,t){this.stream.point(e,t)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}};function Qu(e,t,n){var r=e.clipExtent&&e.clipExtent();return e.scale(150).translate([0,0]),r!=null&&e.clipExtent(null),Wt(n,e.stream(Rs)),t(Rs.result()),r!=null&&e.clipExtent(r),e}function Os(e,t,n){return Qu(e,function(r){var i=t[1][0]-t[0][0],o=t[1][1]-t[0][1],a=Math.min(i/(r[1][0]-r[0][0]),o/(r[1][1]-r[0][1])),s=+t[0][0]+(i-a*(r[1][0]+r[0][0]))/2,c=+t[0][1]+(o-a*(r[1][1]+r[0][1]))/2;e.scale(150*a).translate([s,c])},n)}function ef(e,t,n){return Os(e,[[0,0],t],n)}function tf(e,t,n){return Qu(e,function(r){var i=+t,o=i/(r[1][0]-r[0][0]),a=(i-o*(r[1][0]+r[0][0]))/2,s=-o*r[0][1];e.scale(150*o).translate([a,s])},n)}function nf(e,t,n){return Qu(e,function(r){var i=+t,o=i/(r[1][1]-r[0][1]),a=-o*r[0][0],s=(i-o*(r[1][1]+r[0][1]))/2;e.scale(150*o).translate([a,s])},n)}var B0=16,dM=ie(30*le);function I0(e,t){return+t?mM(e,t):gM(e)}function gM(e){return wo({point:function(t,n){t=e(t,n),this.stream.point(t[0],t[1])}})}function mM(e,t){function n(r,i,o,a,s,c,l,u,h,f,p,g,m,d){var y=l-r,b=u-i,x=y*y+b*b;if(x>4*t&&m--){var v=a+f,S=s+p,$=c+g,L=ze(v*v+S*S+$*$),E=ct($/=L),M=be(be($)-1)<se||be(o-h)<se?(o+h)/2:lt(S,v),C=e(M,E),B=C[0],D=C[1],P=B-r,w=D-i,k=b*P-y*w;(k*k/x>t||be((y*P+b*w)/x-.5)>.3||a*f+s*p+c*g<dM)&&(n(r,i,o,a,s,c,B,D,M,v/=L,S/=L,$,m,d),d.point(B,D),n(B,D,M,v,S,$,l,u,h,f,p,g,m,d))}}return function(r){var i,o,a,s,c,l,u,h,f,p,g,m,d={point:y,lineStart:b,lineEnd:v,polygonStart:function(){r.polygonStart(),d.lineStart=S},polygonEnd:function(){r.polygonEnd(),d.lineStart=b}};function y(E,M){E=e(E,M),r.point(E[0],E[1])}function b(){h=NaN,d.point=x,r.lineStart()}function x(E,M){var C=Ar([E,M]),B=e(E,M);n(h,f,u,p,g,m,h=B[0],f=B[1],u=E,p=C[0],g=C[1],m=C[2],B0,r),r.point(h,f)}function v(){d.point=y,r.lineEnd()}function S(){b(),d.point=$,d.lineEnd=L}function $(E,M){x(i=E,M),o=h,a=f,s=p,c=g,l=m,d.point=x}function L(){n(h,f,u,p,g,m,o,a,i,s,c,l,B0,r),d.lineEnd=v,v()}return d}}var yM=wo({point:function(e,t){this.stream.point(e*le,t*le)}});function bM(e){return wo({point:function(t,n){var r=e(t,n);return this.stream.point(r[0],r[1])}})}function xM(e,t,n,r,i){function o(a,s){return a*=r,s*=i,[t+e*a,n-e*s]}return o.invert=function(a,s){return[(a-t)/e*r,(n-s)/e*i]},o}function N0(e,t,n,r,i,o){if(!o)return xM(e,t,n,r,i);var a=ie(o),s=ne(o),c=a*e,l=s*e,u=a/e,h=s/e,f=(s*n-a*t)/e,p=(s*t+a*n)/e;function g(m,d){return m*=r,d*=i,[c*m-l*d+t,n-l*m-c*d]}return g.invert=function(m,d){return[r*(u*m-h*d+f),i*(p-h*m-u*d)]},g}function sn(e){return rf(function(){return e})()}function rf(e){var t,n=150,r=480,i=250,o=0,a=0,s=0,c=0,l=0,u,h=0,f=1,p=1,g=null,m=Ou,d=null,y,b,x,v=bo,S=.5,$,L,E,M,C;function B(k){return E(k[0]*le,k[1]*le)}function D(k){return k=E.invert(k[0],k[1]),k&&[k[0]*Ae,k[1]*Ae]}B.stream=function(k){return M&&C===k?M:M=yM(bM(u)(m($(v(C=k)))))},B.preclip=function(k){return arguments.length?(m=k,g=void 0,w()):m},B.postclip=function(k){return arguments.length?(v=k,d=y=b=x=null,w()):v},B.clipAngle=function(k){return arguments.length?(m=+k?s0(g=k*le):(g=null,Ou),w()):g*Ae},B.clipExtent=function(k){return arguments.length?(v=k==null?(d=y=b=x=null,bo):Ds(d=+k[0][0],y=+k[0][1],b=+k[1][0],x=+k[1][1]),w()):d==null?null:[[d,y],[b,x]]},B.scale=function(k){return arguments.length?(n=+k,P()):n},B.translate=function(k){return arguments.length?(r=+k[0],i=+k[1],P()):[r,i]},B.center=function(k){return arguments.length?(o=k[0]%360*le,a=k[1]%360*le,P()):[o*Ae,a*Ae]},B.rotate=function(k){return arguments.length?(s=k[0]%360*le,c=k[1]%360*le,l=k.length>2?k[2]%360*le:0,P()):[s*Ae,c*Ae,l*Ae]},B.angle=function(k){return arguments.length?(h=k%360*le,P()):h*Ae},B.reflectX=function(k){return arguments.length?(f=k?-1:1,P()):f<0},B.reflectY=function(k){return arguments.length?(p=k?-1:1,P()):p<0},B.precision=function(k){return arguments.length?($=I0(L,S=k*k),w()):ze(S)},B.fitExtent=function(k,T){return Os(B,k,T)},B.fitSize=function(k,T){return ef(B,k,T)},B.fitWidth=function(k,T){return tf(B,k,T)},B.fitHeight=function(k,T){return nf(B,k,T)};function P(){var k=N0(n,0,0,f,p,h).apply(null,t(o,a)),T=N0(n,r-k[0],i-k[1],f,p,h);return u=Iu(s,c,l),L=Ru(t,T),E=Ru(u,L),$=I0(L,S),w()}function w(){return M=C=null,B}return function(){return t=e.apply(this,arguments),B.invert=t.invert&&D,P()}}function of(e){var t=0,n=ye/3,r=rf(e),i=r(t,n);return i.parallels=function(o){return arguments.length?r(t=o[0]*le,n=o[1]*le):[t*Ae,n*Ae]},i}function vM(e){var t=ie(e);function n(r,i){return[r*t,ne(i)/t]}return n.invert=function(r,i){return[r/t,ct(i*t)]},n}function O0(e,t){var n=ne(e),r=(n+ne(t))/2;if(be(r)<se)return vM(e);var i=1+n*(2*r-n),o=ze(i)/r;function a(s,c){var l=ze(i-2*r*ne(c))/r;return[l*ne(s*=r),o-l*ie(s)]}return a.invert=function(s,c){var l=o-c,u=lt(s,be(l))*Ct(l);return l*r<0&&(u-=ye*Ct(s)*Ct(l)),[u/r,ct((i-(s*s+l*l)*r*r)/(2*r))]},a}function zs(){return of(O0).scale(155.424).center([0,33.6442])}function z0(){return zs().parallels([29.5,45.5]).scale(1070).translate([480,250]).rotate([96,0]).center([-.6,38.7])}function $M(e){var t=e.length;return{point:function(n,r){for(var i=-1;++i<t;)e[i].point(n,r)},sphere:function(){for(var n=-1;++n<t;)e[n].sphere()},lineStart:function(){for(var n=-1;++n<t;)e[n].lineStart()},lineEnd:function(){for(var n=-1;++n<t;)e[n].lineEnd()},polygonStart:function(){for(var n=-1;++n<t;)e[n].polygonStart()},polygonEnd:function(){for(var n=-1;++n<t;)e[n].polygonEnd()}}}function SM(){var e,t,n=z0(),r,i=zs().rotate([154,0]).center([-2,58.5]).parallels([55,65]),o,a=zs().rotate([157,0]).center([-3,19.9]).parallels([8,18]),s,c,l={point:function(f,p){c=[f,p]}};function u(f){var p=f[0],g=f[1];return c=null,r.point(p,g),c||(o.point(p,g),c)||(s.point(p,g),c)}u.invert=function(f){var p=n.scale(),g=n.translate(),m=(f[0]-g[0])/p,d=(f[1]-g[1])/p;return(d>=.12&&d<.234&&m>=-.425&&m<-.214?i:d>=.166&&d<.234&&m>=-.214&&m<-.115?a:n).invert(f)},u.stream=function(f){return e&&t===f?e:e=$M([n.stream(t=f),i.stream(f),a.stream(f)])},u.precision=function(f){return arguments.length?(n.precision(f),i.precision(f),a.precision(f),h()):n.precision()},u.scale=function(f){return arguments.length?(n.scale(f),i.scale(f*.35),a.scale(f),u.translate(n.translate())):n.scale()},u.translate=function(f){if(!arguments.length)return n.translate();var p=n.scale(),g=+f[0],m=+f[1];return r=n.translate(f).clipExtent([[g-.455*p,m-.238*p],[g+.455*p,m+.238*p]]).stream(l),o=i.translate([g-.307*p,m+.201*p]).clipExtent([[g-.425*p+se,m+.12*p+se],[g-.214*p-se,m+.234*p-se]]).stream(l),s=a.translate([g-.205*p,m+.212*p]).clipExtent([[g-.214*p+se,m+.166*p+se],[g-.115*p-se,m+.234*p-se]]).stream(l),h()},u.fitExtent=function(f,p){return Os(u,f,p)},u.fitSize=function(f,p){return ef(u,f,p)},u.fitWidth=function(f,p){return tf(u,f,p)},u.fitHeight=function(f,p){return nf(u,f,p)};function h(){return e=t=null,u}return u.scale(1070)}function F0(e){return function(t,n){var r=ie(t),i=ie(n),o=e(r*i);return o===1/0?[2,0]:[o*i*ne(t),o*ne(n)]}}function _o(e){return function(t,n){var r=ze(t*t+n*n),i=e(r),o=ne(i),a=ie(i);return[lt(t*o,r*a),ct(r&&n*o/r)]}}var af=F0(function(e){return ze(2/(1+e))});af.invert=_o(function(e){return 2*ct(e/2)});function AM(){return sn(af).scale(124.75).clipAngle(180-.001)}var sf=F0(function(e){return(e=Cm(e))&&e/ne(e)});sf.invert=_o(function(e){return e});function TM(){return sn(sf).scale(79.4188).clipAngle(180-.001)}function Do(e,t){return[e,cs(Au((Ce+t)/2))]}Do.invert=function(e,t){return[e,2*pi(Mm(t))-Ce]};function wM(){return Y0(Do).scale(961/st)}function Y0(e){var t=sn(e),n=t.center,r=t.scale,i=t.translate,o=t.clipExtent,a=null,s,c,l;t.scale=function(h){return arguments.length?(r(h),u()):r()},t.translate=function(h){return arguments.length?(i(h),u()):i()},t.center=function(h){return arguments.length?(n(h),u()):n()},t.clipExtent=function(h){return arguments.length?(h==null?a=s=c=l=null:(a=+h[0][0],s=+h[0][1],c=+h[1][0],l=+h[1][1]),u()):a==null?null:[[a,s],[c,l]]};function u(){var h=ye*r(),f=t(Qm(t.rotate()).invert([0,0]));return o(a==null?[[f[0]-h,f[1]-h],[f[0]+h,f[1]+h]]:e===Do?[[Math.max(f[0]-h,a),s],[Math.min(f[0]+h,c),l]]:[[a,Math.max(f[1]-h,s)],[c,Math.min(f[1]+h,l)]])}return u()}function Fs(e){return Au((Ce+e)/2)}function W0(e,t){var n=ie(e),r=e===t?ne(e):cs(n/ie(t))/cs(Fs(t)/Fs(e)),i=n*Su(Fs(e),r)/r;if(!r)return Do;function o(a,s){i>0?s<-Ce+se&&(s=-Ce+se):s>Ce-se&&(s=Ce-se);var c=i/Su(Fs(s),r);return[c*ne(r*a),i-c*ie(r*a)]}return o.invert=function(a,s){var c=i-s,l=Ct(r)*ze(a*a+c*c),u=lt(a,be(c))*Ct(c);return c*r<0&&(u-=ye*Ct(a)*Ct(c)),[u/r,2*pi(Su(i/l,1/r))-Ce]},o}function _M(){return of(W0).scale(109.5).parallels([30,30])}function Po(e,t){return[e,t]}Po.invert=Po;function DM(){return sn(Po).scale(152.63)}function G0(e,t){var n=ie(e),r=e===t?ne(e):(n-ie(t))/(t-e),i=n/r+e;if(be(r)<se)return Po;function o(a,s){var c=i-s,l=r*a;return[c*ne(l),i-c*ie(l)]}return o.invert=function(a,s){var c=i-s,l=lt(a,be(c))*Ct(c);return c*r<0&&(l-=ye*Ct(a)*Ct(c)),[l/r,i-Ct(r)*ze(a*a+c*c)]},o}function PM(){return of(G0).scale(131.154).center([0,13.9389])}var Mo=1.340264,Co=-.081106,Lo=893e-6,ko=.003796,Ys=ze(3)/2,MM=12;function lf(e,t){var n=ct(Ys*ne(t)),r=n*n,i=r*r*r;return[e*ie(n)/(Ys*(Mo+3*Co*r+i*(7*Lo+9*ko*r))),n*(Mo+Co*r+i*(Lo+ko*r))]}lf.invert=function(e,t){for(var n=t,r=n*n,i=r*r*r,o=0,a,s,c;o<MM&&(s=n*(Mo+Co*r+i*(Lo+ko*r))-t,c=Mo+3*Co*r+i*(7*Lo+9*ko*r),n-=a=s/c,r=n*n,i=r*r*r,!(be(a)<ho));++o);return[Ys*e*(Mo+3*Co*r+i*(7*Lo+9*ko*r))/ie(n),ct(ne(n)/Ys)]};function CM(){return sn(lf).scale(177.158)}function cf(e,t){var n=ie(t),r=ie(e)*n;return[n*ne(e)/r,ne(t)/r]}cf.invert=_o(pi);function LM(){return sn(cf).scale(144.049).clipAngle(60)}function kM(){var e=1,t=0,n=0,r=1,i=1,o=0,a,s,c=null,l,u,h,f=1,p=1,g=wo({point:function(v,S){var $=x([v,S]);this.stream.point($[0],$[1])}}),m=bo,d,y;function b(){return f=e*r,p=e*i,d=y=null,x}function x(v){var S=v[0]*f,$=v[1]*p;if(o){var L=$*a-S*s;S=S*a+$*s,$=L}return[S+t,$+n]}return x.invert=function(v){var S=v[0]-t,$=v[1]-n;if(o){var L=$*a+S*s;S=S*a-$*s,$=L}return[S/f,$/p]},x.stream=function(v){return d&&y===v?d:d=g(m(y=v))},x.postclip=function(v){return arguments.length?(m=v,c=l=u=h=null,b()):m},x.clipExtent=function(v){return arguments.length?(m=v==null?(c=l=u=h=null,bo):Ds(c=+v[0][0],l=+v[0][1],u=+v[1][0],h=+v[1][1]),b()):c==null?null:[[c,l],[u,h]]},x.scale=function(v){return arguments.length?(e=+v,b()):e},x.translate=function(v){return arguments.length?(t=+v[0],n=+v[1],b()):[t,n]},x.angle=function(v){return arguments.length?(o=v%360*le,s=ne(o),a=ie(o),b()):o*Ae},x.reflectX=function(v){return arguments.length?(r=v?-1:1,b()):r<0},x.reflectY=function(v){return arguments.length?(i=v?-1:1,b()):i<0},x.fitExtent=function(v,S){return Os(x,v,S)},x.fitSize=function(v,S){return ef(x,v,S)},x.fitWidth=function(v,S){return tf(x,v,S)},x.fitHeight=function(v,S){return nf(x,v,S)},x}function uf(e,t){var n=t*t,r=n*n;return[e*(.8707-.131979*n+r*(-.013791+r*(.003971*n-.001529*r))),t*(1.007226+n*(.015085+r*(-.044475+.028874*n-.005916*r)))]}uf.invert=function(e,t){var n=t,r=25,i;do{var o=n*n,a=o*o;n-=i=(n*(1.007226+o*(.015085+a*(-.044475+.028874*o-.005916*a)))-t)/(1.007226+o*(.015085*3+a*(-.044475*7+.028874*9*o-.005916*11*a)))}while(be(i)>se&&--r>0);return[e/(.8707+(o=n*n)*(-.131979+o*(-.013791+o*o*o*(.003971-.001529*o)))),n]};function EM(){return sn(uf).scale(175.295)}function ff(e,t){return[ie(t)*ne(e),ne(t)]}ff.invert=_o(ct);function RM(){return sn(ff).scale(249.5).clipAngle(90+se)}function hf(e,t){var n=ie(t),r=1+ie(e)*n;return[n*ne(e)/r,ne(t)/r]}hf.invert=_o(function(e){return 2*pi(e)});function BM(){return sn(hf).scale(250).clipAngle(142)}function pf(e,t){return[cs(Au((Ce+t)/2)),-e]}pf.invert=function(e,t){return[-t,2*pi(Mm(e))-Ce]};function IM(){var e=Y0(pf),t=e.center,n=e.rotate;return e.center=function(r){return arguments.length?t([-r[1],r[0]]):(r=t(),[r[1],-r[0]])},e.rotate=function(r){return arguments.length?n([r[0],r[1],r.length>2?r[2]+90:90]):(r=n(),[r[0],r[1],r[2]-90])},n([0,0,90]).scale(159.155)}function NM(e,t){return e.parent===t.parent?1:2}function OM(e){return e.reduce(zM,0)/e.length}function zM(e,t){return e+t.x}function FM(e){return 1+e.reduce(YM,0)}function YM(e,t){return Math.max(e,t.y)}function WM(e){for(var t;t=e.children;)e=t[0];return e}function GM(e){for(var t;t=e.children;)e=t[t.length-1];return e}function VM(){var e=NM,t=1,n=1,r=!1;function i(o){var a,s=0;o.eachAfter(function(f){var p=f.children;p?(f.x=OM(p),f.y=FM(p)):(f.x=a?s+=e(f,a):0,f.y=0,a=f)});var c=WM(o),l=GM(o),u=c.x-e(c,l)/2,h=l.x+e(l,c)/2;return o.eachAfter(r?function(f){f.x=(f.x-o.x)*t,f.y=(o.y-f.y)*n}:function(f){f.x=(f.x-u)/(h-u)*t,f.y=(1-(o.y?f.y/o.y:1))*n})}return i.separation=function(o){return arguments.length?(e=o,i):e},i.size=function(o){return arguments.length?(r=!1,t=+o[0],n=+o[1],i):r?null:[t,n]},i.nodeSize=function(o){return arguments.length?(r=!0,t=+o[0],n=+o[1],i):r?[t,n]:null},i}function XM(e){var t=0,n=e.children,r=n&&n.length;if(!r)t=1;else for(;--r>=0;)t+=n[r].value;e.value=t}function jM(){return this.eachAfter(XM)}function HM(e,t){let n=-1;for(const r of this)e.call(t,r,++n,this);return this}function UM(e,t){for(var n=this,r=[n],i,o,a=-1;n=r.pop();)if(e.call(t,n,++a,this),i=n.children)for(o=i.length-1;o>=0;--o)r.push(i[o]);return this}function qM(e,t){for(var n=this,r=[n],i=[],o,a,s,c=-1;n=r.pop();)if(i.push(n),o=n.children)for(a=0,s=o.length;a<s;++a)r.push(o[a]);for(;n=i.pop();)e.call(t,n,++c,this);return this}function KM(e,t){let n=-1;for(const r of this)if(e.call(t,r,++n,this))return r}function ZM(e){return this.eachAfter(function(t){for(var n=+e(t.data)||0,r=t.children,i=r&&r.length;--i>=0;)n+=r[i].value;t.value=n})}function JM(e){return this.eachBefore(function(t){t.children&&t.children.sort(e)})}function QM(e){for(var t=this,n=eC(t,e),r=[t];t!==n;)t=t.parent,r.push(t);for(var i=r.length;e!==n;)r.splice(i,0,e),e=e.parent;return r}function eC(e,t){if(e===t)return e;var n=e.ancestors(),r=t.ancestors(),i=null;for(e=n.pop(),t=r.pop();e===t;)i=e,e=n.pop(),t=r.pop();return i}function tC(){for(var e=this,t=[e];e=e.parent;)t.push(e);return t}function nC(){return Array.from(this)}function rC(){var e=[];return this.eachBefore(function(t){t.children||e.push(t)}),e}function iC(){var e=this,t=[];return e.each(function(n){n!==e&&t.push({source:n.parent,target:n})}),t}function*oC(){var e=this,t,n=[e],r,i,o;do for(t=n.reverse(),n=[];e=t.pop();)if(yield e,r=e.children)for(i=0,o=r.length;i<o;++i)n.push(r[i]);while(n.length)}function Ws(e,t){e instanceof Map?(e=[void 0,e],t===void 0&&(t=lC)):t===void 0&&(t=sC);for(var n=new _r(e),r,i=[n],o,a,s,c;r=i.pop();)if((a=t(r.data))&&(c=(a=Array.from(a)).length))for(r.children=a,s=c-1;s>=0;--s)i.push(o=a[s]=new _r(a[s])),o.parent=r,o.depth=r.depth+1;return n.eachBefore(V0)}function aC(){return Ws(this).eachBefore(cC)}function sC(e){return e.children}function lC(e){return Array.isArray(e)?e[1]:null}function cC(e){e.data.value!==void 0&&(e.value=e.data.value),e.data=e.data.data}function V0(e){var t=0;do e.height=t;while((e=e.parent)&&e.height<++t)}function _r(e){this.data=e,this.depth=this.height=0,this.parent=null}_r.prototype=Ws.prototype={constructor:_r,count:jM,each:HM,eachAfter:qM,eachBefore:UM,find:KM,sum:ZM,sort:JM,path:QM,ancestors:tC,descendants:nC,leaves:rC,links:iC,copy:aC,[Symbol.iterator]:oC};function Gs(e){return e==null?null:X0(e)}function X0(e){if(typeof e!="function")throw new Error;return e}function Dr(){return 0}function vi(e){return function(){return e}}const uC=1664525,fC=1013904223,j0=4294967296;function df(){let e=1;return()=>(e=(uC*e+fC)%j0)/j0}function hC(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function pC(e,t){let n=e.length,r,i;for(;n;)i=t()*n--|0,r=e[n],e[n]=e[i],e[i]=r;return e}function dC(e){return H0(e,df())}function H0(e,t){for(var n=0,r=(e=pC(Array.from(e),t)).length,i=[],o,a;n<r;)o=e[n],a&&U0(a,o)?++n:(a=mC(i=gC(i,o)),n=0);return a}function gC(e,t){var n,r;if(gf(t,e))return[t];for(n=0;n<e.length;++n)if(Vs(t,e[n])&&gf(Eo(e[n],t),e))return[e[n],t];for(n=0;n<e.length-1;++n)for(r=n+1;r<e.length;++r)if(Vs(Eo(e[n],e[r]),t)&&Vs(Eo(e[n],t),e[r])&&Vs(Eo(e[r],t),e[n])&&gf(q0(e[n],e[r],t),e))return[e[n],e[r],t];throw new Error}function Vs(e,t){var n=e.r-t.r,r=t.x-e.x,i=t.y-e.y;return n<0||n*n<r*r+i*i}function U0(e,t){var n=e.r-t.r+Math.max(e.r,t.r,1)*1e-9,r=t.x-e.x,i=t.y-e.y;return n>0&&n*n>r*r+i*i}function gf(e,t){for(var n=0;n<t.length;++n)if(!U0(e,t[n]))return!1;return!0}function mC(e){switch(e.length){case 1:return yC(e[0]);case 2:return Eo(e[0],e[1]);case 3:return q0(e[0],e[1],e[2])}}function yC(e){return{x:e.x,y:e.y,r:e.r}}function Eo(e,t){var n=e.x,r=e.y,i=e.r,o=t.x,a=t.y,s=t.r,c=o-n,l=a-r,u=s-i,h=Math.sqrt(c*c+l*l);return{x:(n+o+c/h*u)/2,y:(r+a+l/h*u)/2,r:(h+i+s)/2}}function q0(e,t,n){var r=e.x,i=e.y,o=e.r,a=t.x,s=t.y,c=t.r,l=n.x,u=n.y,h=n.r,f=r-a,p=r-l,g=i-s,m=i-u,d=c-o,y=h-o,b=r*r+i*i-o*o,x=b-a*a-s*s+c*c,v=b-l*l-u*u+h*h,S=p*g-f*m,$=(g*v-m*x)/(S*2)-r,L=(m*d-g*y)/S,E=(p*x-f*v)/(S*2)-i,M=(f*y-p*d)/S,C=L*L+M*M-1,B=2*(o+$*L+E*M),D=$*$+E*E-o*o,P=-(Math.abs(C)>1e-6?(B+Math.sqrt(B*B-4*C*D))/(2*C):D/B);return{x:r+$+L*P,y:i+E+M*P,r:P}}function K0(e,t,n){var r=e.x-t.x,i,o,a=e.y-t.y,s,c,l=r*r+a*a;l?(o=t.r+n.r,o*=o,c=e.r+n.r,c*=c,o>c?(i=(l+c-o)/(2*l),s=Math.sqrt(Math.max(0,c/l-i*i)),n.x=e.x-i*r-s*a,n.y=e.y-i*a+s*r):(i=(l+o-c)/(2*l),s=Math.sqrt(Math.max(0,o/l-i*i)),n.x=t.x+i*r-s*a,n.y=t.y+i*a+s*r)):(n.x=t.x+n.r,n.y=t.y)}function Z0(e,t){var n=e.r+t.r-1e-6,r=t.x-e.x,i=t.y-e.y;return n>0&&n*n>r*r+i*i}function J0(e){var t=e._,n=e.next._,r=t.r+n.r,i=(t.x*n.r+n.x*t.r)/r,o=(t.y*n.r+n.y*t.r)/r;return i*i+o*o}function Xs(e){this._=e,this.next=null,this.previous=null}function Q0(e,t){if(!(o=(e=hC(e)).length))return 0;var n,r,i,o,a,s,c,l,u,h,f;if(n=e[0],n.x=0,n.y=0,!(o>1))return n.r;if(r=e[1],n.x=-r.r,r.x=n.r,r.y=0,!(o>2))return n.r+r.r;K0(r,n,i=e[2]),n=new Xs(n),r=new Xs(r),i=new Xs(i),n.next=i.previous=r,r.next=n.previous=i,i.next=r.previous=n;e:for(c=3;c<o;++c){K0(n._,r._,i=e[c]),i=new Xs(i),l=r.next,u=n.previous,h=r._.r,f=n._.r;do if(h<=f){if(Z0(l._,i._)){r=l,n.next=r,r.previous=n,--c;continue e}h+=l._.r,l=l.next}else{if(Z0(u._,i._)){n=u,n.next=r,r.previous=n,--c;continue e}f+=u._.r,u=u.previous}while(l!==u.next);for(i.previous=n,i.next=r,n.next=r.previous=r=i,a=J0(n);(i=i.next)!==r;)(s=J0(i))<a&&(n=i,a=s);r=n.next}for(n=[r._],i=r;(i=i.next)!==r;)n.push(i._);for(i=H0(n,t),c=0;c<o;++c)n=e[c],n.x-=i.x,n.y-=i.y;return i.r}function bC(e){return Q0(e,df()),e}function xC(e){return Math.sqrt(e.value)}function vC(){var e=null,t=1,n=1,r=Dr;function i(o){const a=df();return o.x=t/2,o.y=n/2,e?o.eachBefore(ey(e)).eachAfter(mf(r,.5,a)).eachBefore(ty(1)):o.eachBefore(ey(xC)).eachAfter(mf(Dr,1,a)).eachAfter(mf(r,o.r/Math.min(t,n),a)).eachBefore(ty(Math.min(t,n)/(2*o.r))),o}return i.radius=function(o){return arguments.length?(e=Gs(o),i):e},i.size=function(o){return arguments.length?(t=+o[0],n=+o[1],i):[t,n]},i.padding=function(o){return arguments.length?(r=typeof o=="function"?o:vi(+o),i):r},i}function ey(e){return function(t){t.children||(t.r=Math.max(0,+e(t)||0))}}function mf(e,t,n){return function(r){if(i=r.children){var i,o,a=i.length,s=e(r)*t||0,c;if(s)for(o=0;o<a;++o)i[o].r+=s;if(c=Q0(i,n),s)for(o=0;o<a;++o)i[o].r-=s;r.r=c+s}}}function ty(e){return function(t){var n=t.parent;t.r*=e,n&&(t.x=n.x+e*t.x,t.y=n.y+e*t.y)}}function ny(e){e.x0=Math.round(e.x0),e.y0=Math.round(e.y0),e.x1=Math.round(e.x1),e.y1=Math.round(e.y1)}function Ro(e,t,n,r,i){for(var o=e.children,a,s=-1,c=o.length,l=e.value&&(r-t)/e.value;++s<c;)a=o[s],a.y0=n,a.y1=i,a.x0=t,a.x1=t+=a.value*l}function $C(){var e=1,t=1,n=0,r=!1;function i(a){var s=a.height+1;return a.x0=a.y0=n,a.x1=e,a.y1=t/s,a.eachBefore(o(t,s)),r&&a.eachBefore(ny),a}function o(a,s){return function(c){c.children&&Ro(c,c.x0,a*(c.depth+1)/s,c.x1,a*(c.depth+2)/s);var l=c.x0,u=c.y0,h=c.x1-n,f=c.y1-n;h<l&&(l=h=(l+h)/2),f<u&&(u=f=(u+f)/2),c.x0=l,c.y0=u,c.x1=h,c.y1=f}}return i.round=function(a){return arguments.length?(r=!!a,i):r},i.size=function(a){return arguments.length?(e=+a[0],t=+a[1],i):[e,t]},i.padding=function(a){return arguments.length?(n=+a,i):n},i}var SC={depth:-1},ry={},yf={};function AC(e){return e.id}function TC(e){return e.parentId}function wC(){var e=AC,t=TC,n;function r(i){var o=Array.from(i),a=e,s=t,c,l,u,h,f,p,g,m,d=new Map;if(n!=null){const y=o.map((v,S)=>_C(n(v,S,i))),b=y.map(iy),x=new Set(y).add("");for(const v of b)x.has(v)||(x.add(v),y.push(v),b.push(iy(v)),o.push(yf));a=(v,S)=>y[S],s=(v,S)=>b[S]}for(u=0,c=o.length;u<c;++u)l=o[u],p=o[u]=new _r(l),(g=a(l,u,i))!=null&&(g+="")&&(m=p.id=g,d.set(m,d.has(m)?ry:p)),(g=s(l,u,i))!=null&&(g+="")&&(p.parent=g);for(u=0;u<c;++u)if(p=o[u],g=p.parent){if(f=d.get(g),!f)throw new Error("missing: "+g);if(f===ry)throw new Error("ambiguous: "+g);f.children?f.children.push(p):f.children=[p],p.parent=f}else{if(h)throw new Error("multiple roots");h=p}if(!h)throw new Error("no root");if(n!=null){for(;h.data===yf&&h.children.length===1;)h=h.children[0],--c;for(let y=o.length-1;y>=0&&(p=o[y],p.data===yf);--y)p.data=null}if(h.parent=SC,h.eachBefore(function(y){y.depth=y.parent.depth+1,--c}).eachBefore(V0),h.parent=null,c>0)throw new Error("cycle");return h}return r.id=function(i){return arguments.length?(e=Gs(i),r):e},r.parentId=function(i){return arguments.length?(t=Gs(i),r):t},r.path=function(i){return arguments.length?(n=Gs(i),r):n},r}function _C(e){e=`${e}`;let t=e.length;return bf(e,t-1)&&!bf(e,t-2)&&(e=e.slice(0,-1)),e[0]==="/"?e:`/${e}`}function iy(e){let t=e.length;if(t<2)return"";for(;--t>1&&!bf(e,t););return e.slice(0,t)}function bf(e,t){if(e[t]==="/"){let n=0;for(;t>0&&e[--t]==="\\";)++n;if(!(n&1))return!0}return!1}function DC(e,t){return e.parent===t.parent?1:2}function xf(e){var t=e.children;return t?t[0]:e.t}function vf(e){var t=e.children;return t?t[t.length-1]:e.t}function PC(e,t,n){var r=n/(t.i-e.i);t.c-=r,t.s+=n,e.c+=r,t.z+=n,t.m+=n}function MC(e){for(var t=0,n=0,r=e.children,i=r.length,o;--i>=0;)o=r[i],o.z+=t,o.m+=t,t+=o.s+(n+=o.c)}function CC(e,t,n){return e.a.parent===t.parent?e.a:n}function js(e,t){this._=e,this.parent=null,this.children=null,this.A=null,this.a=this,this.z=0,this.m=0,this.c=0,this.s=0,this.t=null,this.i=t}js.prototype=Object.create(_r.prototype);function LC(e){for(var t=new js(e,0),n,r=[t],i,o,a,s;n=r.pop();)if(o=n._.children)for(n.children=new Array(s=o.length),a=s-1;a>=0;--a)r.push(i=n.children[a]=new js(o[a],a)),i.parent=n;return(t.parent=new js(null,0)).children=[t],t}function kC(){var e=DC,t=1,n=1,r=null;function i(l){var u=LC(l);if(u.eachAfter(o),u.parent.m=-u.z,u.eachBefore(a),r)l.eachBefore(c);else{var h=l,f=l,p=l;l.eachBefore(function(b){b.x<h.x&&(h=b),b.x>f.x&&(f=b),b.depth>p.depth&&(p=b)});var g=h===f?1:e(h,f)/2,m=g-h.x,d=t/(f.x+g+m),y=n/(p.depth||1);l.eachBefore(function(b){b.x=(b.x+m)*d,b.y=b.depth*y})}return l}function o(l){var u=l.children,h=l.parent.children,f=l.i?h[l.i-1]:null;if(u){MC(l);var p=(u[0].z+u[u.length-1].z)/2;f?(l.z=f.z+e(l._,f._),l.m=l.z-p):l.z=p}else f&&(l.z=f.z+e(l._,f._));l.parent.A=s(l,f,l.parent.A||h[0])}function a(l){l._.x=l.z+l.parent.m,l.m+=l.parent.m}function s(l,u,h){if(u){for(var f=l,p=l,g=u,m=f.parent.children[0],d=f.m,y=p.m,b=g.m,x=m.m,v;g=vf(g),f=xf(f),g&&f;)m=xf(m),p=vf(p),p.a=l,v=g.z+b-f.z-d+e(g._,f._),v>0&&(PC(CC(g,l,h),l,v),d+=v,y+=v),b+=g.m,d+=f.m,x+=m.m,y+=p.m;g&&!vf(p)&&(p.t=g,p.m+=b-y),f&&!xf(m)&&(m.t=f,m.m+=d-x,h=l)}return h}function c(l){l.x*=t,l.y=l.depth*n}return i.separation=function(l){return arguments.length?(e=l,i):e},i.size=function(l){return arguments.length?(r=!1,t=+l[0],n=+l[1],i):r?null:[t,n]},i.nodeSize=function(l){return arguments.length?(r=!0,t=+l[0],n=+l[1],i):r?[t,n]:null},i}function Hs(e,t,n,r,i){for(var o=e.children,a,s=-1,c=o.length,l=e.value&&(i-n)/e.value;++s<c;)a=o[s],a.x0=t,a.x1=r,a.y0=n,a.y1=n+=a.value*l}var oy=(1+Math.sqrt(5))/2;function ay(e,t,n,r,i,o){for(var a=[],s=t.children,c,l,u=0,h=0,f=s.length,p,g,m=t.value,d,y,b,x,v,S,$;u<f;){p=i-n,g=o-r;do d=s[h++].value;while(!d&&h<f);for(y=b=d,S=Math.max(g/p,p/g)/(m*e),$=d*d*S,v=Math.max(b/$,$/y);h<f;++h){if(d+=l=s[h].value,l<y&&(y=l),l>b&&(b=l),$=d*d*S,x=Math.max(b/$,$/y),x>v){d-=l;break}v=x}a.push(c={value:d,dice:p<g,children:s.slice(u,h)}),c.dice?Ro(c,n,r,i,m?r+=g*d/m:o):Hs(c,n,r,m?n+=p*d/m:i,o),m-=d,u=h}return a}const $f=function e(t){function n(r,i,o,a,s){ay(t,r,i,o,a,s)}return n.ratio=function(r){return e((r=+r)>1?r:1)},n}(oy);function sy(){var e=$f,t=!1,n=1,r=1,i=[0],o=Dr,a=Dr,s=Dr,c=Dr,l=Dr;function u(f){return f.x0=f.y0=0,f.x1=n,f.y1=r,f.eachBefore(h),i=[0],t&&f.eachBefore(ny),f}function h(f){var p=i[f.depth],g=f.x0+p,m=f.y0+p,d=f.x1-p,y=f.y1-p;d<g&&(g=d=(g+d)/2),y<m&&(m=y=(m+y)/2),f.x0=g,f.y0=m,f.x1=d,f.y1=y,f.children&&(p=i[f.depth+1]=o(f)/2,g+=l(f)-p,m+=a(f)-p,d-=s(f)-p,y-=c(f)-p,d<g&&(g=d=(g+d)/2),y<m&&(m=y=(m+y)/2),e(f,g,m,d,y))}return u.round=function(f){return arguments.length?(t=!!f,u):t},u.size=function(f){return arguments.length?(n=+f[0],r=+f[1],u):[n,r]},u.tile=function(f){return arguments.length?(e=X0(f),u):e},u.padding=function(f){return arguments.length?u.paddingInner(f).paddingOuter(f):u.paddingInner()},u.paddingInner=function(f){return arguments.length?(o=typeof f=="function"?f:vi(+f),u):o},u.paddingOuter=function(f){return arguments.length?u.paddingTop(f).paddingRight(f).paddingBottom(f).paddingLeft(f):u.paddingTop()},u.paddingTop=function(f){return arguments.length?(a=typeof f=="function"?f:vi(+f),u):a},u.paddingRight=function(f){return arguments.length?(s=typeof f=="function"?f:vi(+f),u):s},u.paddingBottom=function(f){return arguments.length?(c=typeof f=="function"?f:vi(+f),u):c},u.paddingLeft=function(f){return arguments.length?(l=typeof f=="function"?f:vi(+f),u):l},u}function EC(e,t,n,r,i){var o=e.children,a,s=o.length,c,l=new Array(s+1);for(l[0]=c=a=0;a<s;++a)l[a+1]=c+=o[a].value;u(0,s,e.value,t,n,r,i);function u(h,f,p,g,m,d,y){if(h>=f-1){var b=o[h];b.x0=g,b.y0=m,b.x1=d,b.y1=y;return}for(var x=l[h],v=p/2+x,S=h+1,$=f-1;S<$;){var L=S+$>>>1;l[L]<v?S=L+1:$=L}v-l[S-1]<l[S]-v&&h+1<S&&--S;var E=l[S]-x,M=p-E;if(d-g>y-m){var C=p?(g*M+d*E)/p:d;u(h,S,E,g,m,C,y),u(S,f,M,C,m,d,y)}else{var B=p?(m*M+y*E)/p:y;u(h,S,E,g,m,d,B),u(S,f,M,g,B,d,y)}}}function RC(e,t,n,r,i){(e.depth&1?Hs:Ro)(e,t,n,r,i)}const BC=function e(t){function n(r,i,o,a,s){if((c=r._squarify)&&c.ratio===t)for(var c,l,u,h,f=-1,p,g=c.length,m=r.value;++f<g;){for(l=c[f],u=l.children,h=l.value=0,p=u.length;h<p;++h)l.value+=u[h].value;l.dice?Ro(l,i,o,a,m?o+=(s-o)*l.value/m:s):Hs(l,i,o,m?i+=(a-i)*l.value/m:a,s),m-=l.value}else r._squarify=c=ay(t,r,i,o,a,s),c.ratio=t}return n.ratio=function(r){return e((r=+r)>1?r:1)},n}(oy);function IC(e){for(var t=-1,n=e.length,r,i=e[n-1],o=0;++t<n;)r=i,i=e[t],o+=r[1]*i[0]-r[0]*i[1];return o/2}function NC(e){for(var t=-1,n=e.length,r=0,i=0,o,a=e[n-1],s,c=0;++t<n;)o=a,a=e[t],c+=s=o[0]*a[1]-a[0]*o[1],r+=(o[0]+a[0])*s,i+=(o[1]+a[1])*s;return c*=3,[r/c,i/c]}function OC(e,t,n){return(t[0]-e[0])*(n[1]-e[1])-(t[1]-e[1])*(n[0]-e[0])}function zC(e,t){return e[0]-t[0]||e[1]-t[1]}function ly(e){const t=e.length,n=[0,1];let r=2,i;for(i=2;i<t;++i){for(;r>1&&OC(e[n[r-2]],e[n[r-1]],e[i])<=0;)--r;n[r++]=i}return n.slice(0,r)}function FC(e){if((n=e.length)<3)return null;var t,n,r=new Array(n),i=new Array(n);for(t=0;t<n;++t)r[t]=[+e[t][0],+e[t][1],t];for(r.sort(zC),t=0;t<n;++t)i[t]=[r[t][0],-r[t][1]];var o=ly(r),a=ly(i),s=a[0]===o[0],c=a[a.length-1]===o[o.length-1],l=[];for(t=o.length-1;t>=0;--t)l.push(e[r[o[t]][2]]);for(t=+s;t<a.length-c;++t)l.push(e[r[a[t]][2]]);return l}function YC(e,t){for(var n=e.length,r=e[n-1],i=t[0],o=t[1],a=r[0],s=r[1],c,l,u=!1,h=0;h<n;++h)r=e[h],c=r[0],l=r[1],l>o!=s>o&&i<(a-c)*(o-l)/(s-l)+c&&(u=!u),a=c,s=l;return u}function WC(e){for(var t=-1,n=e.length,r=e[n-1],i,o,a=r[0],s=r[1],c=0;++t<n;)i=a,o=s,r=e[t],a=r[0],s=r[1],i-=a,o-=s,c+=Math.hypot(i,o);return c}const je=Math.random,GC=function e(t){function n(r,i){return r=r==null?0:+r,i=i==null?1:+i,arguments.length===1?(i=r,r=0):i-=r,function(){return t()*i+r}}return n.source=e,n}(je),VC=function e(t){function n(r,i){return arguments.length<2&&(i=r,r=0),r=Math.floor(r),i=Math.floor(i)-r,function(){return Math.floor(t()*i+r)}}return n.source=e,n}(je),Sf=function e(t){function n(r,i){var o,a;return r=r==null?0:+r,i=i==null?1:+i,function(){var s;if(o!=null)s=o,o=null;else do o=t()*2-1,s=t()*2-1,a=o*o+s*s;while(!a||a>1);return r+i*s*Math.sqrt(-2*Math.log(a)/a)}}return n.source=e,n}(je),XC=function e(t){var n=Sf.source(t);function r(){var i=n.apply(this,arguments);return function(){return Math.exp(i())}}return r.source=e,r}(je),cy=function e(t){function n(r){return(r=+r)<=0?()=>0:function(){for(var i=0,o=r;o>1;--o)i+=t();return i+o*t()}}return n.source=e,n}(je),jC=function e(t){var n=cy.source(t);function r(i){if((i=+i)==0)return t;var o=n(i);return function(){return o()/i}}return r.source=e,r}(je),HC=function e(t){function n(r){return function(){return-Math.log1p(-t())/r}}return n.source=e,n}(je),UC=function e(t){function n(r){if((r=+r)<0)throw new RangeError("invalid alpha");return r=1/-r,function(){return Math.pow(1-t(),r)}}return n.source=e,n}(je),qC=function e(t){function n(r){if((r=+r)<0||r>1)throw new RangeError("invalid p");return function(){return Math.floor(t()+r)}}return n.source=e,n}(je),uy=function e(t){function n(r){if((r=+r)<0||r>1)throw new RangeError("invalid p");return r===0?()=>1/0:r===1?()=>1:(r=Math.log1p(-r),function(){return 1+Math.floor(Math.log1p(-t())/r)})}return n.source=e,n}(je),Af=function e(t){var n=Sf.source(t)();function r(i,o){if((i=+i)<0)throw new RangeError("invalid k");if(i===0)return()=>0;if(o=o==null?1:+o,i===1)return()=>-Math.log1p(-t())*o;var a=(i<1?i+1:i)-1/3,s=1/(3*Math.sqrt(a)),c=i<1?()=>Math.pow(t(),1/i):()=>1;return function(){do{do var l=n(),u=1+s*l;while(u<=0);u*=u*u;var h=1-t()}while(h>=1-.0331*l*l*l*l&&Math.log(h)>=.5*l*l+a*(1-u+Math.log(u)));return a*u*c()*o}}return r.source=e,r}(je),fy=function e(t){var n=Af.source(t);function r(i,o){var a=n(i),s=n(o);return function(){var c=a();return c===0?0:c/(c+s())}}return r.source=e,r}(je),hy=function e(t){var n=uy.source(t),r=fy.source(t);function i(o,a){return o=+o,(a=+a)>=1?()=>o:a<=0?()=>0:function(){for(var s=0,c=o,l=a;c*l>16&&c*(1-l)>16;){var u=Math.floor((c+1)*l),h=r(u,c-u+1)();h<=l?(s+=u,c-=u,l=(l-h)/(1-h)):(c=u-1,l/=h)}for(var f=l<.5,p=f?l:1-l,g=n(p),m=g(),d=0;m<=c;++d)m+=g();return s+(f?d:c-d)}}return i.source=e,i}(je),KC=function e(t){function n(r,i,o){var a;return(r=+r)==0?a=s=>-Math.log(s):(r=1/r,a=s=>Math.pow(s,r)),i=i==null?0:+i,o=o==null?1:+o,function(){return i+o*a(-Math.log1p(-t()))}}return n.source=e,n}(je),ZC=function e(t){function n(r,i){return r=r==null?0:+r,i=i==null?1:+i,function(){return r+i*Math.tan(Math.PI*t())}}return n.source=e,n}(je),JC=function e(t){function n(r,i){return r=r==null?0:+r,i=i==null?1:+i,function(){var o=t();return r+i*Math.log(o/(1-o))}}return n.source=e,n}(je),QC=function e(t){var n=Af.source(t),r=hy.source(t);function i(o){return function(){for(var a=0,s=o;s>16;){var c=Math.floor(.875*s),l=n(c)();if(l>s)return a+r(c-1,s/l)();a+=c,s-=l}for(var u=-Math.log1p(-t()),h=0;u<=s;++h)u-=Math.log1p(-t());return a+h}}return i.source=e,i}(je),e3=1664525,t3=1013904223,py=1/4294967296;function n3(e=Math.random()){let t=(0<=e&&e<1?e/py:Math.abs(e))|0;return()=>(t=e3*t+t3|0,py*(t>>>0))}function kt(e,t){switch(arguments.length){case 0:break;case 1:this.range(e);break;default:this.range(t).domain(e);break}return this}function Tn(e,t){switch(arguments.length){case 0:break;case 1:{typeof e=="function"?this.interpolator(e):this.range(e);break}default:{this.domain(e),typeof t=="function"?this.interpolator(t):this.range(t);break}}return this}const Tf=Symbol("implicit");function wf(){var e=new zi,t=[],n=[],r=Tf;function i(o){let a=e.get(o);if(a===void 0){if(r!==Tf)return r;e.set(o,a=t.push(o)-1)}return n[a%n.length]}return i.domain=function(o){if(!arguments.length)return t.slice();t=[],e=new zi;for(const a of o)e.has(a)||e.set(a,t.push(a)-1);return i},i.range=function(o){return arguments.length?(n=Array.from(o),i):n.slice()},i.unknown=function(o){return arguments.length?(r=o,i):r},i.copy=function(){return wf(t,n).unknown(r)},kt.apply(i,arguments),i}function _f(){var e=wf().unknown(void 0),t=e.domain,n=e.range,r=0,i=1,o,a,s=!1,c=0,l=0,u=.5;delete e.unknown;function h(){var f=t().length,p=i<r,g=p?i:r,m=p?r:i;o=(m-g)/Math.max(1,f-c+l*2),s&&(o=Math.floor(o)),g+=(m-g-o*(f-c))*u,a=o*(1-c),s&&(g=Math.round(g),a=Math.round(a));var d=Nn(f).map(function(y){return g+o*y});return n(p?d.reverse():d)}return e.domain=function(f){return arguments.length?(t(f),h()):t()},e.range=function(f){return arguments.length?([r,i]=f,r=+r,i=+i,h()):[r,i]},e.rangeRound=function(f){return[r,i]=f,r=+r,i=+i,s=!0,h()},e.bandwidth=function(){return a},e.step=function(){return o},e.round=function(f){return arguments.length?(s=!!f,h()):s},e.padding=function(f){return arguments.length?(c=Math.min(1,l=+f),h()):c},e.paddingInner=function(f){return arguments.length?(c=Math.min(1,f),h()):c},e.paddingOuter=function(f){return arguments.length?(l=+f,h()):l},e.align=function(f){return arguments.length?(u=Math.max(0,Math.min(1,f)),h()):u},e.copy=function(){return _f(t(),[r,i]).round(s).paddingInner(c).paddingOuter(l).align(u)},kt.apply(h(),arguments)}function dy(e){var t=e.copy;return e.padding=e.paddingOuter,delete e.paddingInner,delete e.paddingOuter,e.copy=function(){return dy(t())},e}function Us(){return dy(_f.apply(null,arguments).paddingInner(1))}function r3(e){return function(){return e}}function qs(e){return+e}var gy=[0,1];function pt(e){return e}function Df(e,t){return(t-=e=+e)?function(n){return(n-e)/t}:r3(isNaN(t)?NaN:.5)}function i3(e,t){var n;return e>t&&(n=e,e=t,t=n),function(r){return Math.max(e,Math.min(t,r))}}function o3(e,t,n){var r=e[0],i=e[1],o=t[0],a=t[1];return i<r?(r=Df(i,r),o=n(a,o)):(r=Df(r,i),o=n(o,a)),function(s){return o(r(s))}}function a3(e,t,n){var r=Math.min(e.length,t.length)-1,i=new Array(r),o=new Array(r),a=-1;for(e[r]<e[0]&&(e=e.slice().reverse(),t=t.slice().reverse());++a<r;)i[a]=Df(e[a],e[a+1]),o[a]=n(t[a],t[a+1]);return function(s){var c=In(e,s,1,r)-1;return o[c](i[c](s))}}function Bo(e,t){return t.domain(e.domain()).range(e.range()).interpolate(e.interpolate()).clamp(e.clamp()).unknown(e.unknown())}function Ks(){var e=gy,t=gy,n=gn,r,i,o,a=pt,s,c,l;function u(){var f=Math.min(e.length,t.length);return a!==pt&&(a=i3(e[0],e[f-1])),s=f>2?a3:o3,c=l=null,h}function h(f){return f==null||isNaN(f=+f)?o:(c||(c=s(e.map(r),t,n)))(r(a(f)))}return h.invert=function(f){return a(i((l||(l=s(t,e.map(r),wt)))(f)))},h.domain=function(f){return arguments.length?(e=Array.from(f,qs),u()):e.slice()},h.range=function(f){return arguments.length?(t=Array.from(f),u()):t.slice()},h.rangeRound=function(f){return t=Array.from(f),n=Zi,u()},h.clamp=function(f){return arguments.length?(a=f?!0:pt,u()):a!==pt},h.interpolate=function(f){return arguments.length?(n=f,u()):n},h.unknown=function(f){return arguments.length?(o=f,h):o},function(f,p){return r=f,i=p,u()}}function Pf(){return Ks()(pt,pt)}function my(e,t,n,r){var i=ha(e,t,n),o;switch(r=hi(r??",f"),r.type){case"s":{var a=Math.max(Math.abs(e),Math.abs(t));return r.precision==null&&!isNaN(o=Dm(i,a))&&(r.precision=o),vu(r,a)}case"":case"e":case"g":case"p":case"r":{r.precision==null&&!isNaN(o=Pm(i,Math.max(Math.abs(e),Math.abs(t))))&&(r.precision=o-(r.type==="e"));break}case"f":case"%":{r.precision==null&&!isNaN(o=_m(i))&&(r.precision=o-(r.type==="%")*2);break}}return fo(r)}function Vn(e){var t=e.domain;return e.ticks=function(n){var r=t();return or(r[0],r[r.length-1],n??10)},e.tickFormat=function(n,r){var i=t();return my(i[0],i[i.length-1],n??10,r)},e.nice=function(n){n==null&&(n=10);var r=t(),i=0,o=r.length-1,a=r[i],s=r[o],c,l,u=10;for(s<a&&(l=a,a=s,s=l,l=i,i=o,o=l);u-- >0;){if(l=ar(a,s,n),l===c)return r[i]=a,r[o]=s,t(r);if(l>0)a=Math.floor(a/l)*l,s=Math.ceil(s/l)*l;else if(l<0)a=Math.ceil(a*l)/l,s=Math.floor(s*l)/l;else break;c=l}return e},e}function Je(){var e=Pf();return e.copy=function(){return Bo(e,Je())},kt.apply(e,arguments),Vn(e)}function yy(e){var t;function n(r){return r==null||isNaN(r=+r)?t:r}return n.invert=n,n.domain=n.range=function(r){return arguments.length?(e=Array.from(r,qs),n):e.slice()},n.unknown=function(r){return arguments.length?(t=r,n):t},n.copy=function(){return yy(e).unknown(t)},e=arguments.length?Array.from(e,qs):[0,1],Vn(n)}function by(e,t){e=e.slice();var n=0,r=e.length-1,i=e[n],o=e[r],a;return o<i&&(a=n,n=r,r=a,a=i,i=o,o=a),e[n]=t.floor(i),e[r]=t.ceil(o),e}function xy(e){return Math.log(e)}function vy(e){return Math.exp(e)}function s3(e){return-Math.log(-e)}function l3(e){return-Math.exp(-e)}function c3(e){return isFinite(e)?+("1e"+e):e<0?0:e}function u3(e){return e===10?c3:e===Math.E?Math.exp:t=>Math.pow(e,t)}function f3(e){return e===Math.E?Math.log:e===10&&Math.log10||e===2&&Math.log2||(e=Math.log(e),t=>Math.log(t)/e)}function $y(e){return(t,n)=>-e(-t,n)}function Mf(e){const t=e(xy,vy),n=t.domain;let r=10,i,o;function a(){return i=f3(r),o=u3(r),n()[0]<0?(i=$y(i),o=$y(o),e(s3,l3)):e(xy,vy),t}return t.base=function(s){return arguments.length?(r=+s,a()):r},t.domain=function(s){return arguments.length?(n(s),a()):n()},t.ticks=s=>{const c=n();let l=c[0],u=c[c.length-1];const h=u<l;h&&([l,u]=[u,l]);let f=i(l),p=i(u),g,m;const d=s==null?10:+s;let y=[];if(!(r%1)&&p-f<d){if(f=Math.floor(f),p=Math.ceil(p),l>0){for(;f<=p;++f)for(g=1;g<r;++g)if(m=f<0?g/o(-f):g*o(f),!(m<l)){if(m>u)break;y.push(m)}}else for(;f<=p;++f)for(g=r-1;g>=1;--g)if(m=f>0?g/o(-f):g*o(f),!(m<l)){if(m>u)break;y.push(m)}y.length*2<d&&(y=or(l,u,d))}else y=or(f,p,Math.min(p-f,d)).map(o);return h?y.reverse():y},t.tickFormat=(s,c)=>{if(s==null&&(s=10),c==null&&(c=r===10?"s":","),typeof c!="function"&&(!(r%1)&&(c=hi(c)).precision==null&&(c.trim=!0),c=fo(c)),s===1/0)return c;const l=Math.max(1,r*s/t.ticks().length);return u=>{let h=u/o(Math.round(i(u)));return h*r<r-.5&&(h*=r),h<=l?c(u):""}},t.nice=()=>n(by(n(),{floor:s=>o(Math.floor(i(s))),ceil:s=>o(Math.ceil(i(s)))})),t}function Sy(){const e=Mf(Ks()).domain([1,10]);return e.copy=()=>Bo(e,Sy()).base(e.base()),kt.apply(e,arguments),e}function Ay(e){return function(t){return Math.sign(t)*Math.log1p(Math.abs(t/e))}}function Ty(e){return function(t){return Math.sign(t)*Math.expm1(Math.abs(t))*e}}function Cf(e){var t=1,n=e(Ay(t),Ty(t));return n.constant=function(r){return arguments.length?e(Ay(t=+r),Ty(t)):t},Vn(n)}function wy(){var e=Cf(Ks());return e.copy=function(){return Bo(e,wy()).constant(e.constant())},kt.apply(e,arguments)}function _y(e){return function(t){return t<0?-Math.pow(-t,e):Math.pow(t,e)}}function h3(e){return e<0?-Math.sqrt(-e):Math.sqrt(e)}function p3(e){return e<0?-e*e:e*e}function Lf(e){var t=e(pt,pt),n=1;function r(){return n===1?e(pt,pt):n===.5?e(h3,p3):e(_y(n),_y(1/n))}return t.exponent=function(i){return arguments.length?(n=+i,r()):n},Vn(t)}function ln(){var e=Lf(Ks());return e.copy=function(){return Bo(e,ln()).exponent(e.exponent())},kt.apply(e,arguments),e}function d3(){return ln.apply(null,arguments).exponent(.5)}function Dy(e){return Math.sign(e)*e*e}function g3(e){return Math.sign(e)*Math.sqrt(Math.abs(e))}function Py(){var e=Pf(),t=[0,1],n=!1,r;function i(o){var a=g3(e(o));return isNaN(a)?r:n?Math.round(a):a}return i.invert=function(o){return e.invert(Dy(o))},i.domain=function(o){return arguments.length?(e.domain(o),i):e.domain()},i.range=function(o){return arguments.length?(e.range((t=Array.from(o,qs)).map(Dy)),i):t.slice()},i.rangeRound=function(o){return i.range(o).round(!0)},i.round=function(o){return arguments.length?(n=!!o,i):n},i.clamp=function(o){return arguments.length?(e.clamp(o),i):e.clamp()},i.unknown=function(o){return arguments.length?(r=o,i):r},i.copy=function(){return Py(e.domain(),t).round(n).clamp(e.clamp()).unknown(r)},kt.apply(i,arguments),Vn(i)}function My(){var e=[],t=[],n=[],r;function i(){var a=0,s=Math.max(1,t.length);for(n=new Array(s-1);++a<s;)n[a-1]=hd(e,a/s);return o}function o(a){return a==null||isNaN(a=+a)?r:t[In(n,a)]}return o.invertExtent=function(a){var s=t.indexOf(a);return s<0?[NaN,NaN]:[s>0?n[s-1]:e[0],s<n.length?n[s]:e[e.length-1]]},o.domain=function(a){if(!arguments.length)return e.slice();e=[];for(let s of a)s!=null&&!isNaN(s=+s)&&e.push(s);return e.sort(De),i()},o.range=function(a){return arguments.length?(t=Array.from(a),i()):t.slice()},o.unknown=function(a){return arguments.length?(r=a,o):r},o.quantiles=function(){return n.slice()},o.copy=function(){return My().domain(e).range(t).unknown(r)},kt.apply(o,arguments)}function kf(){var e=0,t=1,n=1,r=[.5],i=[0,1],o;function a(c){return c!=null&&c<=c?i[In(r,c,0,n)]:o}function s(){var c=-1;for(r=new Array(n);++c<n;)r[c]=((c+1)*t-(c-n)*e)/(n+1);return a}return a.domain=function(c){return arguments.length?([e,t]=c,e=+e,t=+t,s()):[e,t]},a.range=function(c){return arguments.length?(n=(i=Array.from(c)).length-1,s()):i.slice()},a.invertExtent=function(c){var l=i.indexOf(c);return l<0?[NaN,NaN]:l<1?[e,r[0]]:l>=n?[r[n-1],t]:[r[l-1],r[l]]},a.unknown=function(c){return arguments.length&&(o=c),a},a.thresholds=function(){return r.slice()},a.copy=function(){return kf().domain([e,t]).range(i).unknown(o)},kt.apply(Vn(a),arguments)}function Cy(){var e=[.5],t=[0,1],n,r=1;function i(o){return o!=null&&o<=o?t[In(e,o,0,r)]:n}return i.domain=function(o){return arguments.length?(e=Array.from(o),r=Math.min(e.length,t.length-1),i):e.slice()},i.range=function(o){return arguments.length?(t=Array.from(o),r=Math.min(e.length,t.length-1),i):t.slice()},i.invertExtent=function(o){var a=t.indexOf(o);return[e[a-1],e[a]]},i.unknown=function(o){return arguments.length?(n=o,i):n},i.copy=function(){return Cy().domain(e).range(t).unknown(n)},kt.apply(i,arguments)}const Ef=new Date,Rf=new Date;function Re(e,t,n,r){function i(o){return e(o=arguments.length===0?new Date:new Date(+o)),o}return i.floor=o=>(e(o=new Date(+o)),o),i.ceil=o=>(e(o=new Date(o-1)),t(o,1),e(o),o),i.round=o=>{const a=i(o),s=i.ceil(o);return o-a<s-o?a:s},i.offset=(o,a)=>(t(o=new Date(+o),a==null?1:Math.floor(a)),o),i.range=(o,a,s)=>{const c=[];if(o=i.ceil(o),s=s==null?1:Math.floor(s),!(o<a)||!(s>0))return c;let l;do c.push(l=new Date(+o)),t(o,s),e(o);while(l<o&&o<a);return c},i.filter=o=>Re(a=>{if(a>=a)for(;e(a),!o(a);)a.setTime(a-1)},(a,s)=>{if(a>=a)if(s<0)for(;++s<=0;)for(;t(a,-1),!o(a););else for(;--s>=0;)for(;t(a,1),!o(a););}),n&&(i.count=(o,a)=>(Ef.setTime(+o),Rf.setTime(+a),e(Ef),e(Rf),Math.floor(n(Ef,Rf))),i.every=o=>(o=Math.floor(o),!isFinite(o)||!(o>0)?null:o>1?i.filter(r?a=>r(a)%o===0:a=>i.count(0,a)%o===0):i)),i}const $i=Re(()=>{},(e,t)=>{e.setTime(+e+t)},(e,t)=>t-e);$i.every=e=>(e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?Re(t=>{t.setTime(Math.floor(t/e)*e)},(t,n)=>{t.setTime(+t+n*e)},(t,n)=>(n-t)/e):$i);const Ly=$i.range,wn=1e3,Et=wn*60,_n=Et*60,Dn=_n*24,Bf=Dn*7,ky=Dn*30,If=Dn*365,Pn=Re(e=>{e.setTime(e-e.getMilliseconds())},(e,t)=>{e.setTime(+e+t*wn)},(e,t)=>(t-e)/wn,e=>e.getUTCSeconds()),Ey=Pn.range,Zs=Re(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*wn)},(e,t)=>{e.setTime(+e+t*Et)},(e,t)=>(t-e)/Et,e=>e.getMinutes()),m3=Zs.range,Js=Re(e=>{e.setUTCSeconds(0,0)},(e,t)=>{e.setTime(+e+t*Et)},(e,t)=>(t-e)/Et,e=>e.getUTCMinutes()),y3=Js.range,Qs=Re(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*wn-e.getMinutes()*Et)},(e,t)=>{e.setTime(+e+t*_n)},(e,t)=>(t-e)/_n,e=>e.getHours()),b3=Qs.range,el=Re(e=>{e.setUTCMinutes(0,0,0)},(e,t)=>{e.setTime(+e+t*_n)},(e,t)=>(t-e)/_n,e=>e.getUTCHours()),x3=el.range,Si=Re(e=>e.setHours(0,0,0,0),(e,t)=>e.setDate(e.getDate()+t),(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*Et)/Dn,e=>e.getDate()-1),v3=Si.range,Io=Re(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/Dn,e=>e.getUTCDate()-1),$3=Io.range,Nf=Re(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/Dn,e=>Math.floor(e/Dn)),S3=Nf.range;function Pr(e){return Re(t=>{t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)},(t,n)=>{t.setDate(t.getDate()+n*7)},(t,n)=>(n-t-(n.getTimezoneOffset()-t.getTimezoneOffset())*Et)/Bf)}const Ai=Pr(0),No=Pr(1),Ry=Pr(2),By=Pr(3),Mr=Pr(4),Iy=Pr(5),Ny=Pr(6),Oy=Ai.range,A3=No.range,T3=Ry.range,w3=By.range,_3=Mr.range,D3=Iy.range,P3=Ny.range;function Cr(e){return Re(t=>{t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)},(t,n)=>{t.setUTCDate(t.getUTCDate()+n*7)},(t,n)=>(n-t)/Bf)}const Ti=Cr(0),Oo=Cr(1),zy=Cr(2),Fy=Cr(3),Lr=Cr(4),Yy=Cr(5),Wy=Cr(6),Gy=Ti.range,M3=Oo.range,C3=zy.range,L3=Fy.range,k3=Lr.range,E3=Yy.range,R3=Wy.range,tl=Re(e=>{e.setDate(1),e.setHours(0,0,0,0)},(e,t)=>{e.setMonth(e.getMonth()+t)},(e,t)=>t.getMonth()-e.getMonth()+(t.getFullYear()-e.getFullYear())*12,e=>e.getMonth()),B3=tl.range,nl=Re(e=>{e.setUTCDate(1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCMonth(e.getUTCMonth()+t)},(e,t)=>t.getUTCMonth()-e.getUTCMonth()+(t.getUTCFullYear()-e.getUTCFullYear())*12,e=>e.getUTCMonth()),I3=nl.range,cn=Re(e=>{e.setMonth(0,1),e.setHours(0,0,0,0)},(e,t)=>{e.setFullYear(e.getFullYear()+t)},(e,t)=>t.getFullYear()-e.getFullYear(),e=>e.getFullYear());cn.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:Re(t=>{t.setFullYear(Math.floor(t.getFullYear()/e)*e),t.setMonth(0,1),t.setHours(0,0,0,0)},(t,n)=>{t.setFullYear(t.getFullYear()+n*e)});const N3=cn.range,un=Re(e=>{e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCFullYear(e.getUTCFullYear()+t)},(e,t)=>t.getUTCFullYear()-e.getUTCFullYear(),e=>e.getUTCFullYear());un.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:Re(t=>{t.setUTCFullYear(Math.floor(t.getUTCFullYear()/e)*e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,n)=>{t.setUTCFullYear(t.getUTCFullYear()+n*e)});const O3=un.range;function Vy(e,t,n,r,i,o){const a=[[Pn,1,wn],[Pn,5,5*wn],[Pn,15,15*wn],[Pn,30,30*wn],[o,1,Et],[o,5,5*Et],[o,15,15*Et],[o,30,30*Et],[i,1,_n],[i,3,3*_n],[i,6,6*_n],[i,12,12*_n],[r,1,Dn],[r,2,2*Dn],[n,1,Bf],[t,1,ky],[t,3,3*ky],[e,1,If]];function s(l,u,h){const f=u<l;f&&([l,u]=[u,l]);const p=h&&typeof h.range=="function"?h:c(l,u,h),g=p?p.range(l,+u+1):[];return f?g.reverse():g}function c(l,u,h){const f=Math.abs(u-l)/h,p=la(([,,d])=>d).right(a,f);if(p===a.length)return e.every(ha(l/If,u/If,h));if(p===0)return $i.every(Math.max(ha(l,u,h),1));const[g,m]=a[f/a[p-1][2]<a[p][2]/f?p-1:p];return g.every(m)}return[s,c]}const[Xy,jy]=Vy(un,nl,Ti,Nf,el,Js),[Hy,Uy]=Vy(cn,tl,Ai,Si,Qs,Zs);function Of(e){if(0<=e.y&&e.y<100){var t=new Date(-1,e.m,e.d,e.H,e.M,e.S,e.L);return t.setFullYear(e.y),t}return new Date(e.y,e.m,e.d,e.H,e.M,e.S,e.L)}function zf(e){if(0<=e.y&&e.y<100){var t=new Date(Date.UTC(-1,e.m,e.d,e.H,e.M,e.S,e.L));return t.setUTCFullYear(e.y),t}return new Date(Date.UTC(e.y,e.m,e.d,e.H,e.M,e.S,e.L))}function zo(e,t,n){return{y:e,m:t,d:n,H:0,M:0,S:0,L:0}}function qy(e){var t=e.dateTime,n=e.date,r=e.time,i=e.periods,o=e.days,a=e.shortDays,s=e.months,c=e.shortMonths,l=Fo(i),u=Yo(i),h=Fo(o),f=Yo(o),p=Fo(a),g=Yo(a),m=Fo(s),d=Yo(s),y=Fo(c),b=Yo(c),x={a:I,A:_,b:O,B:F,c:null,d:tb,e:tb,f:sL,g:yL,G:xL,H:iL,I:oL,j:aL,L:nb,m:lL,M:cL,p:j,q:Z,Q:lb,s:cb,S:uL,u:fL,U:hL,V:pL,w:dL,W:gL,x:null,X:null,y:mL,Y:bL,Z:vL,"%":sb},v={a:re,A:te,b:G,B:ee,c:null,d:ib,e:ib,f:TL,g:RL,G:IL,H:$L,I:SL,j:AL,L:ob,m:wL,M:_L,p:ae,q:ce,Q:lb,s:cb,S:DL,u:PL,U:ML,V:CL,w:LL,W:kL,x:null,X:null,y:EL,Y:BL,Z:NL,"%":sb},S={a:C,A:B,b:D,B:P,c:w,d:Qy,e:Qy,f:eL,g:Jy,G:Zy,H:eb,I:eb,j:K3,L:Q3,m:q3,M:Z3,p:M,q:U3,Q:nL,s:rL,S:J3,u:G3,U:V3,V:X3,w:W3,W:j3,x:k,X:T,y:Jy,Y:Zy,Z:H3,"%":tL};x.x=$(n,x),x.X=$(r,x),x.c=$(t,x),v.x=$(n,v),v.X=$(r,v),v.c=$(t,v);function $(Q,oe){return function(ue){var K=[],$e=-1,ve=0,Ve=Q.length,Xe,fe,ke;for(ue instanceof Date||(ue=new Date(+ue));++$e<Ve;)Q.charCodeAt($e)===37&&(K.push(Q.slice(ve,$e)),(fe=Ky[Xe=Q.charAt(++$e)])!=null?Xe=Q.charAt(++$e):fe=Xe==="e"?" ":"0",(ke=oe[Xe])&&(Xe=ke(ue,fe)),K.push(Xe),ve=$e+1);return K.push(Q.slice(ve,$e)),K.join("")}}function L(Q,oe){return function(ue){var K=zo(1900,void 0,1),$e=E(K,Q,ue+="",0),ve,Ve;if($e!=ue.length)return null;if("Q"in K)return new Date(K.Q);if("s"in K)return new Date(K.s*1e3+("L"in K?K.L:0));if(oe&&!("Z"in K)&&(K.Z=0),"p"in K&&(K.H=K.H%12+K.p*12),K.m===void 0&&(K.m="q"in K?K.q:0),"V"in K){if(K.V<1||K.V>53)return null;"w"in K||(K.w=1),"Z"in K?(ve=zf(zo(K.y,0,1)),Ve=ve.getUTCDay(),ve=Ve>4||Ve===0?Oo.ceil(ve):Oo(ve),ve=Io.offset(ve,(K.V-1)*7),K.y=ve.getUTCFullYear(),K.m=ve.getUTCMonth(),K.d=ve.getUTCDate()+(K.w+6)%7):(ve=Of(zo(K.y,0,1)),Ve=ve.getDay(),ve=Ve>4||Ve===0?No.ceil(ve):No(ve),ve=Si.offset(ve,(K.V-1)*7),K.y=ve.getFullYear(),K.m=ve.getMonth(),K.d=ve.getDate()+(K.w+6)%7)}else("W"in K||"U"in K)&&("w"in K||(K.w="u"in K?K.u%7:"W"in K?1:0),Ve="Z"in K?zf(zo(K.y,0,1)).getUTCDay():Of(zo(K.y,0,1)).getDay(),K.m=0,K.d="W"in K?(K.w+6)%7+K.W*7-(Ve+5)%7:K.w+K.U*7-(Ve+6)%7);return"Z"in K?(K.H+=K.Z/100|0,K.M+=K.Z%100,zf(K)):Of(K)}}function E(Q,oe,ue,K){for(var $e=0,ve=oe.length,Ve=ue.length,Xe,fe;$e<ve;){if(K>=Ve)return-1;if(Xe=oe.charCodeAt($e++),Xe===37){if(Xe=oe.charAt($e++),fe=S[Xe in Ky?oe.charAt($e++):Xe],!fe||(K=fe(Q,ue,K))<0)return-1}else if(Xe!=ue.charCodeAt(K++))return-1}return K}function M(Q,oe,ue){var K=l.exec(oe.slice(ue));return K?(Q.p=u.get(K[0].toLowerCase()),ue+K[0].length):-1}function C(Q,oe,ue){var K=p.exec(oe.slice(ue));return K?(Q.w=g.get(K[0].toLowerCase()),ue+K[0].length):-1}function B(Q,oe,ue){var K=h.exec(oe.slice(ue));return K?(Q.w=f.get(K[0].toLowerCase()),ue+K[0].length):-1}function D(Q,oe,ue){var K=y.exec(oe.slice(ue));return K?(Q.m=b.get(K[0].toLowerCase()),ue+K[0].length):-1}function P(Q,oe,ue){var K=m.exec(oe.slice(ue));return K?(Q.m=d.get(K[0].toLowerCase()),ue+K[0].length):-1}function w(Q,oe,ue){return E(Q,t,oe,ue)}function k(Q,oe,ue){return E(Q,n,oe,ue)}function T(Q,oe,ue){return E(Q,r,oe,ue)}function I(Q){return a[Q.getDay()]}function _(Q){return o[Q.getDay()]}function O(Q){return c[Q.getMonth()]}function F(Q){return s[Q.getMonth()]}function j(Q){return i[+(Q.getHours()>=12)]}function Z(Q){return 1+~~(Q.getMonth()/3)}function re(Q){return a[Q.getUTCDay()]}function te(Q){return o[Q.getUTCDay()]}function G(Q){return c[Q.getUTCMonth()]}function ee(Q){return s[Q.getUTCMonth()]}function ae(Q){return i[+(Q.getUTCHours()>=12)]}function ce(Q){return 1+~~(Q.getUTCMonth()/3)}return{format:function(Q){var oe=$(Q+="",x);return oe.toString=function(){return Q},oe},parse:function(Q){var oe=L(Q+="",!1);return oe.toString=function(){return Q},oe},utcFormat:function(Q){var oe=$(Q+="",v);return oe.toString=function(){return Q},oe},utcParse:function(Q){var oe=L(Q+="",!0);return oe.toString=function(){return Q},oe}}}var Ky={"-":"",_:" ",0:"0"},Fe=/^\s*\d+/,z3=/^%/,F3=/[\\^$*+?|[\]().{}]/g;function xe(e,t,n){var r=e<0?"-":"",i=(r?-e:e)+"",o=i.length;return r+(o<n?new Array(n-o+1).join(t)+i:i)}function Y3(e){return e.replace(F3,"\\$&")}function Fo(e){return new RegExp("^(?:"+e.map(Y3).join("|")+")","i")}function Yo(e){return new Map(e.map((t,n)=>[t.toLowerCase(),n]))}function W3(e,t,n){var r=Fe.exec(t.slice(n,n+1));return r?(e.w=+r[0],n+r[0].length):-1}function G3(e,t,n){var r=Fe.exec(t.slice(n,n+1));return r?(e.u=+r[0],n+r[0].length):-1}function V3(e,t,n){var r=Fe.exec(t.slice(n,n+2));return r?(e.U=+r[0],n+r[0].length):-1}function X3(e,t,n){var r=Fe.exec(t.slice(n,n+2));return r?(e.V=+r[0],n+r[0].length):-1}function j3(e,t,n){var r=Fe.exec(t.slice(n,n+2));return r?(e.W=+r[0],n+r[0].length):-1}function Zy(e,t,n){var r=Fe.exec(t.slice(n,n+4));return r?(e.y=+r[0],n+r[0].length):-1}function Jy(e,t,n){var r=Fe.exec(t.slice(n,n+2));return r?(e.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function H3(e,t,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(t.slice(n,n+6));return r?(e.Z=r[1]?0:-(r[2]+(r[3]||"00")),n+r[0].length):-1}function U3(e,t,n){var r=Fe.exec(t.slice(n,n+1));return r?(e.q=r[0]*3-3,n+r[0].length):-1}function q3(e,t,n){var r=Fe.exec(t.slice(n,n+2));return r?(e.m=r[0]-1,n+r[0].length):-1}function Qy(e,t,n){var r=Fe.exec(t.slice(n,n+2));return r?(e.d=+r[0],n+r[0].length):-1}function K3(e,t,n){var r=Fe.exec(t.slice(n,n+3));return r?(e.m=0,e.d=+r[0],n+r[0].length):-1}function eb(e,t,n){var r=Fe.exec(t.slice(n,n+2));return r?(e.H=+r[0],n+r[0].length):-1}function Z3(e,t,n){var r=Fe.exec(t.slice(n,n+2));return r?(e.M=+r[0],n+r[0].length):-1}function J3(e,t,n){var r=Fe.exec(t.slice(n,n+2));return r?(e.S=+r[0],n+r[0].length):-1}function Q3(e,t,n){var r=Fe.exec(t.slice(n,n+3));return r?(e.L=+r[0],n+r[0].length):-1}function eL(e,t,n){var r=Fe.exec(t.slice(n,n+6));return r?(e.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function tL(e,t,n){var r=z3.exec(t.slice(n,n+1));return r?n+r[0].length:-1}function nL(e,t,n){var r=Fe.exec(t.slice(n));return r?(e.Q=+r[0],n+r[0].length):-1}function rL(e,t,n){var r=Fe.exec(t.slice(n));return r?(e.s=+r[0],n+r[0].length):-1}function tb(e,t){return xe(e.getDate(),t,2)}function iL(e,t){return xe(e.getHours(),t,2)}function oL(e,t){return xe(e.getHours()%12||12,t,2)}function aL(e,t){return xe(1+Si.count(cn(e),e),t,3)}function nb(e,t){return xe(e.getMilliseconds(),t,3)}function sL(e,t){return nb(e,t)+"000"}function lL(e,t){return xe(e.getMonth()+1,t,2)}function cL(e,t){return xe(e.getMinutes(),t,2)}function uL(e,t){return xe(e.getSeconds(),t,2)}function fL(e){var t=e.getDay();return t===0?7:t}function hL(e,t){return xe(Ai.count(cn(e)-1,e),t,2)}function rb(e){var t=e.getDay();return t>=4||t===0?Mr(e):Mr.ceil(e)}function pL(e,t){return e=rb(e),xe(Mr.count(cn(e),e)+(cn(e).getDay()===4),t,2)}function dL(e){return e.getDay()}function gL(e,t){return xe(No.count(cn(e)-1,e),t,2)}function mL(e,t){return xe(e.getFullYear()%100,t,2)}function yL(e,t){return e=rb(e),xe(e.getFullYear()%100,t,2)}function bL(e,t){return xe(e.getFullYear()%1e4,t,4)}function xL(e,t){var n=e.getDay();return e=n>=4||n===0?Mr(e):Mr.ceil(e),xe(e.getFullYear()%1e4,t,4)}function vL(e){var t=e.getTimezoneOffset();return(t>0?"-":(t*=-1,"+"))+xe(t/60|0,"0",2)+xe(t%60,"0",2)}function ib(e,t){return xe(e.getUTCDate(),t,2)}function $L(e,t){return xe(e.getUTCHours(),t,2)}function SL(e,t){return xe(e.getUTCHours()%12||12,t,2)}function AL(e,t){return xe(1+Io.count(un(e),e),t,3)}function ob(e,t){return xe(e.getUTCMilliseconds(),t,3)}function TL(e,t){return ob(e,t)+"000"}function wL(e,t){return xe(e.getUTCMonth()+1,t,2)}function _L(e,t){return xe(e.getUTCMinutes(),t,2)}function DL(e,t){return xe(e.getUTCSeconds(),t,2)}function PL(e){var t=e.getUTCDay();return t===0?7:t}function ML(e,t){return xe(Ti.count(un(e)-1,e),t,2)}function ab(e){var t=e.getUTCDay();return t>=4||t===0?Lr(e):Lr.ceil(e)}function CL(e,t){return e=ab(e),xe(Lr.count(un(e),e)+(un(e).getUTCDay()===4),t,2)}function LL(e){return e.getUTCDay()}function kL(e,t){return xe(Oo.count(un(e)-1,e),t,2)}function EL(e,t){return xe(e.getUTCFullYear()%100,t,2)}function RL(e,t){return e=ab(e),xe(e.getUTCFullYear()%100,t,2)}function BL(e,t){return xe(e.getUTCFullYear()%1e4,t,4)}function IL(e,t){var n=e.getUTCDay();return e=n>=4||n===0?Lr(e):Lr.ceil(e),xe(e.getUTCFullYear()%1e4,t,4)}function NL(){return"+0000"}function sb(){return"%"}function lb(e){return+e}function cb(e){return Math.floor(+e/1e3)}var wi,Ff,ub,rl,Yf;fb({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 fb(e){return wi=qy(e),Ff=wi.format,ub=wi.parse,rl=wi.utcFormat,Yf=wi.utcParse,wi}var hb="%Y-%m-%dT%H:%M:%S.%LZ";function OL(e){return e.toISOString()}var zL=Date.prototype.toISOString?OL:rl(hb);function FL(e){var t=new Date(e);return isNaN(t)?null:t}var YL=+new Date("2000-01-01T00:00:00.000Z")?FL:Yf(hb);function WL(e){return new Date(e)}function GL(e){return e instanceof Date?+e:+new Date(+e)}function Wf(e,t,n,r,i,o,a,s,c,l){var u=Pf(),h=u.invert,f=u.domain,p=l(".%L"),g=l(":%S"),m=l("%I:%M"),d=l("%I %p"),y=l("%a %d"),b=l("%b %d"),x=l("%B"),v=l("%Y");function S($){return(c($)<$?p:s($)<$?g:a($)<$?m:o($)<$?d:r($)<$?i($)<$?y:b:n($)<$?x:v)($)}return u.invert=function($){return new Date(h($))},u.domain=function($){return arguments.length?f(Array.from($,GL)):f().map(WL)},u.ticks=function($){var L=f();return e(L[0],L[L.length-1],$??10)},u.tickFormat=function($,L){return L==null?S:l(L)},u.nice=function($){var L=f();return(!$||typeof $.range!="function")&&($=t(L[0],L[L.length-1],$??10)),$?f(by(L,$)):u},u.copy=function(){return Bo(u,Wf(e,t,n,r,i,o,a,s,c,l))},u}function VL(){return kt.apply(Wf(Hy,Uy,cn,tl,Ai,Si,Qs,Zs,Pn,Ff).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)}function XL(){return kt.apply(Wf(Xy,jy,un,nl,Ti,Io,el,Js,Pn,rl).domain([Date.UTC(2e3,0,1),Date.UTC(2e3,0,2)]),arguments)}function il(){var e=0,t=1,n,r,i,o,a=pt,s=!1,c;function l(h){return h==null||isNaN(h=+h)?c:a(i===0?.5:(h=(o(h)-n)*i,s?Math.max(0,Math.min(1,h)):h))}l.domain=function(h){return arguments.length?([e,t]=h,n=o(e=+e),r=o(t=+t),i=n===r?0:1/(r-n),l):[e,t]},l.clamp=function(h){return arguments.length?(s=!!h,l):s},l.interpolator=function(h){return arguments.length?(a=h,l):a};function u(h){return function(f){var p,g;return arguments.length?([p,g]=f,a=h(p,g),l):[a(0),a(1)]}}return l.range=u(gn),l.rangeRound=u(Zi),l.unknown=function(h){return arguments.length?(c=h,l):c},function(h){return o=h,n=h(e),r=h(t),i=n===r?0:1/(r-n),l}}function Xn(e,t){return t.domain(e.domain()).interpolator(e.interpolator()).clamp(e.clamp()).unknown(e.unknown())}function pb(){var e=Vn(il()(pt));return e.copy=function(){return Xn(e,pb())},Tn.apply(e,arguments)}function db(){var e=Mf(il()).domain([1,10]);return e.copy=function(){return Xn(e,db()).base(e.base())},Tn.apply(e,arguments)}function gb(){var e=Cf(il());return e.copy=function(){return Xn(e,gb()).constant(e.constant())},Tn.apply(e,arguments)}function Gf(){var e=Lf(il());return e.copy=function(){return Xn(e,Gf()).exponent(e.exponent())},Tn.apply(e,arguments)}function jL(){return Gf.apply(null,arguments).exponent(.5)}function mb(){var e=[],t=pt;function n(r){if(r!=null&&!isNaN(r=+r))return t((In(e,r,1)-1)/(e.length-1))}return n.domain=function(r){if(!arguments.length)return e.slice();e=[];for(let i of r)i!=null&&!isNaN(i=+i)&&e.push(i);return e.sort(De),n},n.interpolator=function(r){return arguments.length?(t=r,n):t},n.range=function(){return e.map((r,i)=>t(i/(e.length-1)))},n.quantiles=function(r){return Array.from({length:r+1},(i,o)=>Wi(e,o/r))},n.copy=function(){return mb(t).domain(e)},Tn.apply(n,arguments)}function ol(){var e=0,t=.5,n=1,r=1,i,o,a,s,c,l=pt,u,h=!1,f;function p(m){return isNaN(m=+m)?f:(m=.5+((m=+u(m))-o)*(r*m<r*o?s:c),l(h?Math.max(0,Math.min(1,m)):m))}p.domain=function(m){return arguments.length?([e,t,n]=m,i=u(e=+e),o=u(t=+t),a=u(n=+n),s=i===o?0:.5/(o-i),c=o===a?0:.5/(a-o),r=o<i?-1:1,p):[e,t,n]},p.clamp=function(m){return arguments.length?(h=!!m,p):h},p.interpolator=function(m){return arguments.length?(l=m,p):l};function g(m){return function(d){var y,b,x;return arguments.length?([y,b,x]=d,l=$g(m,[y,b,x]),p):[l(0),l(.5),l(1)]}}return p.range=g(gn),p.rangeRound=g(Zi),p.unknown=function(m){return arguments.length?(f=m,p):f},function(m){return u=m,i=m(e),o=m(t),a=m(n),s=i===o?0:.5/(o-i),c=o===a?0:.5/(a-o),r=o<i?-1:1,p}}function yb(){var e=Vn(ol()(pt));return e.copy=function(){return Xn(e,yb())},Tn.apply(e,arguments)}function bb(){var e=Mf(ol()).domain([.1,1,10]);return e.copy=function(){return Xn(e,bb()).base(e.base())},Tn.apply(e,arguments)}function xb(){var e=Cf(ol());return e.copy=function(){return Xn(e,xb()).constant(e.constant())},Tn.apply(e,arguments)}function Vf(){var e=Lf(ol());return e.copy=function(){return Xn(e,Vf()).exponent(e.exponent())},Tn.apply(e,arguments)}function HL(){return Vf.apply(null,arguments).exponent(.5)}function ge(e){for(var t=e.length/6|0,n=new Array(t),r=0;r<t;)n[r]="#"+e.slice(r*6,++r*6);return n}const UL=ge("1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf"),qL=ge("7fc97fbeaed4fdc086ffff99386cb0f0027fbf5b17666666"),KL=ge("1b9e77d95f027570b3e7298a66a61ee6ab02a6761d666666"),ZL=ge("4269d0efb118ff725c6cc5b03ca951ff8ab7a463f297bbf59c6b4e9498a0"),JL=ge("a6cee31f78b4b2df8a33a02cfb9a99e31a1cfdbf6fff7f00cab2d66a3d9affff99b15928"),QL=ge("fbb4aeb3cde3ccebc5decbe4fed9a6ffffcce5d8bdfddaecf2f2f2"),e5=ge("b3e2cdfdcdaccbd5e8f4cae4e6f5c9fff2aef1e2cccccccc"),t5=ge("e41a1c377eb84daf4a984ea3ff7f00ffff33a65628f781bf999999"),n5=ge("66c2a5fc8d628da0cbe78ac3a6d854ffd92fe5c494b3b3b3"),r5=ge("8dd3c7ffffb3bebadafb807280b1d3fdb462b3de69fccde5d9d9d9bc80bdccebc5ffed6f"),i5=ge("4e79a7f28e2ce1575976b7b259a14fedc949af7aa1ff9da79c755fbab0ab"),Te=e=>ag(e[e.length-1]);var vb=new Array(3).concat("d8b365f5f5f55ab4ac","a6611adfc27d80cdc1018571","a6611adfc27df5f5f580cdc1018571","8c510ad8b365f6e8c3c7eae55ab4ac01665e","8c510ad8b365f6e8c3f5f5f5c7eae55ab4ac01665e","8c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e","8c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e","5430058c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e003c30","5430058c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e003c30").map(ge);const o5=Te(vb);var $b=new Array(3).concat("af8dc3f7f7f77fbf7b","7b3294c2a5cfa6dba0008837","7b3294c2a5cff7f7f7a6dba0008837","762a83af8dc3e7d4e8d9f0d37fbf7b1b7837","762a83af8dc3e7d4e8f7f7f7d9f0d37fbf7b1b7837","762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b7837","762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b7837","40004b762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b783700441b","40004b762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b783700441b").map(ge);const a5=Te($b);var Sb=new Array(3).concat("e9a3c9f7f7f7a1d76a","d01c8bf1b6dab8e1864dac26","d01c8bf1b6daf7f7f7b8e1864dac26","c51b7de9a3c9fde0efe6f5d0a1d76a4d9221","c51b7de9a3c9fde0eff7f7f7e6f5d0a1d76a4d9221","c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221","c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221","8e0152c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221276419","8e0152c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221276419").map(ge);const s5=Te(Sb);var Ab=new Array(3).concat("998ec3f7f7f7f1a340","5e3c99b2abd2fdb863e66101","5e3c99b2abd2f7f7f7fdb863e66101","542788998ec3d8daebfee0b6f1a340b35806","542788998ec3d8daebf7f7f7fee0b6f1a340b35806","5427888073acb2abd2d8daebfee0b6fdb863e08214b35806","5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b35806","2d004b5427888073acb2abd2d8daebfee0b6fdb863e08214b358067f3b08","2d004b5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b358067f3b08").map(ge);const l5=Te(Ab);var Tb=new Array(3).concat("ef8a62f7f7f767a9cf","ca0020f4a58292c5de0571b0","ca0020f4a582f7f7f792c5de0571b0","b2182bef8a62fddbc7d1e5f067a9cf2166ac","b2182bef8a62fddbc7f7f7f7d1e5f067a9cf2166ac","b2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac","b2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac","67001fb2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac053061","67001fb2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac053061").map(ge);const c5=Te(Tb);var wb=new Array(3).concat("ef8a62ffffff999999","ca0020f4a582bababa404040","ca0020f4a582ffffffbababa404040","b2182bef8a62fddbc7e0e0e09999994d4d4d","b2182bef8a62fddbc7ffffffe0e0e09999994d4d4d","b2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d","b2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d","67001fb2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d1a1a1a","67001fb2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d1a1a1a").map(ge);const u5=Te(wb);var _b=new Array(3).concat("fc8d59ffffbf91bfdb","d7191cfdae61abd9e92c7bb6","d7191cfdae61ffffbfabd9e92c7bb6","d73027fc8d59fee090e0f3f891bfdb4575b4","d73027fc8d59fee090ffffbfe0f3f891bfdb4575b4","d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4","d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4","a50026d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4313695","a50026d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4313695").map(ge);const f5=Te(_b);var Db=new Array(3).concat("fc8d59ffffbf91cf60","d7191cfdae61a6d96a1a9641","d7191cfdae61ffffbfa6d96a1a9641","d73027fc8d59fee08bd9ef8b91cf601a9850","d73027fc8d59fee08bffffbfd9ef8b91cf601a9850","d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850","d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850","a50026d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850006837","a50026d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850006837").map(ge);const h5=Te(Db);var Pb=new Array(3).concat("fc8d59ffffbf99d594","d7191cfdae61abdda42b83ba","d7191cfdae61ffffbfabdda42b83ba","d53e4ffc8d59fee08be6f59899d5943288bd","d53e4ffc8d59fee08bffffbfe6f59899d5943288bd","d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd","d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd","9e0142d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd5e4fa2","9e0142d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd5e4fa2").map(ge);const p5=Te(Pb);var Mb=new Array(3).concat("e5f5f999d8c92ca25f","edf8fbb2e2e266c2a4238b45","edf8fbb2e2e266c2a42ca25f006d2c","edf8fbccece699d8c966c2a42ca25f006d2c","edf8fbccece699d8c966c2a441ae76238b45005824","f7fcfde5f5f9ccece699d8c966c2a441ae76238b45005824","f7fcfde5f5f9ccece699d8c966c2a441ae76238b45006d2c00441b").map(ge);const d5=Te(Mb);var Cb=new Array(3).concat("e0ecf49ebcda8856a7","edf8fbb3cde38c96c688419d","edf8fbb3cde38c96c68856a7810f7c","edf8fbbfd3e69ebcda8c96c68856a7810f7c","edf8fbbfd3e69ebcda8c96c68c6bb188419d6e016b","f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d6e016b","f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d810f7c4d004b").map(ge);const g5=Te(Cb);var Lb=new Array(3).concat("e0f3dba8ddb543a2ca","f0f9e8bae4bc7bccc42b8cbe","f0f9e8bae4bc7bccc443a2ca0868ac","f0f9e8ccebc5a8ddb57bccc443a2ca0868ac","f0f9e8ccebc5a8ddb57bccc44eb3d32b8cbe08589e","f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe08589e","f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe0868ac084081").map(ge);const m5=Te(Lb);var kb=new Array(3).concat("fee8c8fdbb84e34a33","fef0d9fdcc8afc8d59d7301f","fef0d9fdcc8afc8d59e34a33b30000","fef0d9fdd49efdbb84fc8d59e34a33b30000","fef0d9fdd49efdbb84fc8d59ef6548d7301f990000","fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301f990000","fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301fb300007f0000").map(ge);const y5=Te(kb);var Eb=new Array(3).concat("ece2f0a6bddb1c9099","f6eff7bdc9e167a9cf02818a","f6eff7bdc9e167a9cf1c9099016c59","f6eff7d0d1e6a6bddb67a9cf1c9099016c59","f6eff7d0d1e6a6bddb67a9cf3690c002818a016450","fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016450","fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016c59014636").map(ge);const b5=Te(Eb);var Rb=new Array(3).concat("ece7f2a6bddb2b8cbe","f1eef6bdc9e174a9cf0570b0","f1eef6bdc9e174a9cf2b8cbe045a8d","f1eef6d0d1e6a6bddb74a9cf2b8cbe045a8d","f1eef6d0d1e6a6bddb74a9cf3690c00570b0034e7b","fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0034e7b","fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0045a8d023858").map(ge);const x5=Te(Rb);var Bb=new Array(3).concat("e7e1efc994c7dd1c77","f1eef6d7b5d8df65b0ce1256","f1eef6d7b5d8df65b0dd1c77980043","f1eef6d4b9dac994c7df65b0dd1c77980043","f1eef6d4b9dac994c7df65b0e7298ace125691003f","f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125691003f","f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125698004367001f").map(ge);const v5=Te(Bb);var Ib=new Array(3).concat("fde0ddfa9fb5c51b8a","feebe2fbb4b9f768a1ae017e","feebe2fbb4b9f768a1c51b8a7a0177","feebe2fcc5c0fa9fb5f768a1c51b8a7a0177","feebe2fcc5c0fa9fb5f768a1dd3497ae017e7a0177","fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a0177","fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a017749006a").map(ge);const $5=Te(Ib);var Nb=new Array(3).concat("edf8b17fcdbb2c7fb8","ffffcca1dab441b6c4225ea8","ffffcca1dab441b6c42c7fb8253494","ffffccc7e9b47fcdbb41b6c42c7fb8253494","ffffccc7e9b47fcdbb41b6c41d91c0225ea80c2c84","ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea80c2c84","ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea8253494081d58").map(ge);const S5=Te(Nb);var Ob=new Array(3).concat("f7fcb9addd8e31a354","ffffccc2e69978c679238443","ffffccc2e69978c67931a354006837","ffffccd9f0a3addd8e78c67931a354006837","ffffccd9f0a3addd8e78c67941ab5d238443005a32","ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443005a32","ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443006837004529").map(ge);const A5=Te(Ob);var zb=new Array(3).concat("fff7bcfec44fd95f0e","ffffd4fed98efe9929cc4c02","ffffd4fed98efe9929d95f0e993404","ffffd4fee391fec44ffe9929d95f0e993404","ffffd4fee391fec44ffe9929ec7014cc4c028c2d04","ffffe5fff7bcfee391fec44ffe9929ec7014cc4c028c2d04","ffffe5fff7bcfee391fec44ffe9929ec7014cc4c02993404662506").map(ge);const T5=Te(zb);var Fb=new Array(3).concat("ffeda0feb24cf03b20","ffffb2fecc5cfd8d3ce31a1c","ffffb2fecc5cfd8d3cf03b20bd0026","ffffb2fed976feb24cfd8d3cf03b20bd0026","ffffb2fed976feb24cfd8d3cfc4e2ae31a1cb10026","ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cb10026","ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cbd0026800026").map(ge);const w5=Te(Fb);var Yb=new Array(3).concat("deebf79ecae13182bd","eff3ffbdd7e76baed62171b5","eff3ffbdd7e76baed63182bd08519c","eff3ffc6dbef9ecae16baed63182bd08519c","eff3ffc6dbef9ecae16baed64292c62171b5084594","f7fbffdeebf7c6dbef9ecae16baed64292c62171b5084594","f7fbffdeebf7c6dbef9ecae16baed64292c62171b508519c08306b").map(ge);const _5=Te(Yb);var Wb=new Array(3).concat("e5f5e0a1d99b31a354","edf8e9bae4b374c476238b45","edf8e9bae4b374c47631a354006d2c","edf8e9c7e9c0a1d99b74c47631a354006d2c","edf8e9c7e9c0a1d99b74c47641ab5d238b45005a32","f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45005a32","f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45006d2c00441b").map(ge);const D5=Te(Wb);var Gb=new Array(3).concat("f0f0f0bdbdbd636363","f7f7f7cccccc969696525252","f7f7f7cccccc969696636363252525","f7f7f7d9d9d9bdbdbd969696636363252525","f7f7f7d9d9d9bdbdbd969696737373525252252525","fffffff0f0f0d9d9d9bdbdbd969696737373525252252525","fffffff0f0f0d9d9d9bdbdbd969696737373525252252525000000").map(ge);const P5=Te(Gb);var Vb=new Array(3).concat("efedf5bcbddc756bb1","f2f0f7cbc9e29e9ac86a51a3","f2f0f7cbc9e29e9ac8756bb154278f","f2f0f7dadaebbcbddc9e9ac8756bb154278f","f2f0f7dadaebbcbddc9e9ac8807dba6a51a34a1486","fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a34a1486","fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a354278f3f007d").map(ge);const M5=Te(Vb);var Xb=new Array(3).concat("fee0d2fc9272de2d26","fee5d9fcae91fb6a4acb181d","fee5d9fcae91fb6a4ade2d26a50f15","fee5d9fcbba1fc9272fb6a4ade2d26a50f15","fee5d9fcbba1fc9272fb6a4aef3b2ccb181d99000d","fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181d99000d","fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181da50f1567000d").map(ge);const C5=Te(Xb);var jb=new Array(3).concat("fee6cefdae6be6550d","feeddefdbe85fd8d3cd94701","feeddefdbe85fd8d3ce6550da63603","feeddefdd0a2fdae6bfd8d3ce6550da63603","feeddefdd0a2fdae6bfd8d3cf16913d948018c2d04","fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d948018c2d04","fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d94801a636037f2704").map(ge);const L5=Te(jb);function k5(e){return e=Math.max(0,Math.min(1,e)),"rgb("+Math.max(0,Math.min(255,Math.round(-4.54-e*(35.34-e*(2381.73-e*(6402.7-e*(7024.72-e*2710.57)))))))+", "+Math.max(0,Math.min(255,Math.round(32.49+e*(170.73+e*(52.82-e*(131.46-e*(176.58-e*67.37)))))))+", "+Math.max(0,Math.min(255,Math.round(81.24+e*(442.36-e*(2482.43-e*(6167.24-e*(6614.94-e*2475.67)))))))+")"}const E5=Na(Ft(300,.5,0),Ft(-240,.5,1));var R5=Na(Ft(-100,.75,.35),Ft(80,1.5,.8)),B5=Na(Ft(260,.75,.35),Ft(80,1.5,.8)),al=Ft();function I5(e){(e<0||e>1)&&(e-=Math.floor(e));var t=Math.abs(e-.5);return al.h=360*e-100,al.s=1.5-1.5*t,al.l=.8-.9*t,al+""}var sl=ei(),N5=Math.PI/3,O5=Math.PI*2/3;function z5(e){var t;return e=(.5-e)*Math.PI,sl.r=255*(t=Math.sin(e))*t,sl.g=255*(t=Math.sin(e+N5))*t,sl.b=255*(t=Math.sin(e+O5))*t,sl+""}function F5(e){return e=Math.max(0,Math.min(1,e)),"rgb("+Math.max(0,Math.min(255,Math.round(34.61+e*(1172.33-e*(10793.56-e*(33300.12-e*(38394.49-e*14825.05)))))))+", "+Math.max(0,Math.min(255,Math.round(23.31+e*(557.33+e*(1225.33-e*(3574.96-e*(1073.77+e*707.56)))))))+", "+Math.max(0,Math.min(255,Math.round(27.2+e*(3211.1-e*(15327.97-e*(27814-e*(22569.18-e*6838.66)))))))+")"}function ll(e){var t=e.length;return function(n){return e[Math.max(0,Math.min(t-1,Math.floor(n*t)))]}}const Y5=ll(ge("44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725"));var W5=ll(ge("00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf")),G5=ll(ge("00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4")),V5=ll(ge("0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921"));function pe(e){return function(){return e}}const Hb=Math.abs,Qe=Math.atan2,Mn=Math.cos,X5=Math.max,_i=Math.min,vt=Math.sin,_e=Math.sqrt,et=1e-12,jn=Math.PI,cl=jn/2,Hn=2*jn;function j5(e){return e>1?0:e<-1?jn:Math.acos(e)}function Ub(e){return e>=1?cl:e<=-1?-cl:Math.asin(e)}function Wo(e){let t=3;return e.digits=function(n){if(!arguments.length)return t;if(n==null)t=null;else{const r=Math.floor(n);if(!(r>=0))throw new RangeError(`invalid digits: ${n}`);t=r}return e},()=>new so(t)}function H5(e){return e.innerRadius}function U5(e){return e.outerRadius}function q5(e){return e.startAngle}function K5(e){return e.endAngle}function Z5(e){return e&&e.padAngle}function J5(e,t,n,r,i,o,a,s){var c=n-e,l=r-t,u=a-i,h=s-o,f=h*c-u*l;if(!(f*f<et))return f=(u*(t-o)-h*(e-i))/f,[e+f*c,t+f*l]}function ul(e,t,n,r,i,o,a){var s=e-n,c=t-r,l=(a?o:-o)/_e(s*s+c*c),u=l*c,h=-l*s,f=e+u,p=t+h,g=n+u,m=r+h,d=(f+g)/2,y=(p+m)/2,b=g-f,x=m-p,v=b*b+x*x,S=i-o,$=f*m-g*p,L=(x<0?-1:1)*_e(X5(0,S*S*v-$*$)),E=($*x-b*L)/v,M=(-$*b-x*L)/v,C=($*x+b*L)/v,B=(-$*b+x*L)/v,D=E-d,P=M-y,w=C-d,k=B-y;return D*D+P*P>w*w+k*k&&(E=C,M=B),{cx:E,cy:M,x01:-u,y01:-h,x11:E*(i/S-1),y11:M*(i/S-1)}}function fl(){var e=H5,t=U5,n=pe(0),r=null,i=q5,o=K5,a=Z5,s=null,c=Wo(l);function l(){var u,h,f=+e.apply(this,arguments),p=+t.apply(this,arguments),g=i.apply(this,arguments)-cl,m=o.apply(this,arguments)-cl,d=Hb(m-g),y=m>g;if(s||(s=u=c()),p<f&&(h=p,p=f,f=h),!(p>et))s.moveTo(0,0);else if(d>Hn-et)s.moveTo(p*Mn(g),p*vt(g)),s.arc(0,0,p,g,m,!y),f>et&&(s.moveTo(f*Mn(m),f*vt(m)),s.arc(0,0,f,m,g,y));else{var b=g,x=m,v=g,S=m,$=d,L=d,E=a.apply(this,arguments)/2,M=E>et&&(r?+r.apply(this,arguments):_e(f*f+p*p)),C=_i(Hb(p-f)/2,+n.apply(this,arguments)),B=C,D=C,P,w;if(M>et){var k=Ub(M/f*vt(E)),T=Ub(M/p*vt(E));($-=k*2)>et?(k*=y?1:-1,v+=k,S-=k):($=0,v=S=(g+m)/2),(L-=T*2)>et?(T*=y?1:-1,b+=T,x-=T):(L=0,b=x=(g+m)/2)}var I=p*Mn(b),_=p*vt(b),O=f*Mn(S),F=f*vt(S);if(C>et){var j=p*Mn(x),Z=p*vt(x),re=f*Mn(v),te=f*vt(v),G;if(d<jn)if(G=J5(I,_,re,te,j,Z,O,F)){var ee=I-G[0],ae=_-G[1],ce=j-G[0],Q=Z-G[1],oe=1/vt(j5((ee*ce+ae*Q)/(_e(ee*ee+ae*ae)*_e(ce*ce+Q*Q)))/2),ue=_e(G[0]*G[0]+G[1]*G[1]);B=_i(C,(f-ue)/(oe-1)),D=_i(C,(p-ue)/(oe+1))}else B=D=0}L>et?D>et?(P=ul(re,te,I,_,p,D,y),w=ul(j,Z,O,F,p,D,y),s.moveTo(P.cx+P.x01,P.cy+P.y01),D<C?s.arc(P.cx,P.cy,D,Qe(P.y01,P.x01),Qe(w.y01,w.x01),!y):(s.arc(P.cx,P.cy,D,Qe(P.y01,P.x01),Qe(P.y11,P.x11),!y),s.arc(0,0,p,Qe(P.cy+P.y11,P.cx+P.x11),Qe(w.cy+w.y11,w.cx+w.x11),!y),s.arc(w.cx,w.cy,D,Qe(w.y11,w.x11),Qe(w.y01,w.x01),!y))):(s.moveTo(I,_),s.arc(0,0,p,b,x,!y)):s.moveTo(I,_),!(f>et)||!($>et)?s.lineTo(O,F):B>et?(P=ul(O,F,j,Z,f,-B,y),w=ul(I,_,re,te,f,-B,y),s.lineTo(P.cx+P.x01,P.cy+P.y01),B<C?s.arc(P.cx,P.cy,B,Qe(P.y01,P.x01),Qe(w.y01,w.x01),!y):(s.arc(P.cx,P.cy,B,Qe(P.y01,P.x01),Qe(P.y11,P.x11),!y),s.arc(0,0,f,Qe(P.cy+P.y11,P.cx+P.x11),Qe(w.cy+w.y11,w.cx+w.x11),y),s.arc(w.cx,w.cy,B,Qe(w.y11,w.x11),Qe(w.y01,w.x01),!y))):s.arc(0,0,f,S,v,y)}if(s.closePath(),u)return s=null,u+""||null}return l.centroid=function(){var u=(+e.apply(this,arguments)+ +t.apply(this,arguments))/2,h=(+i.apply(this,arguments)+ +o.apply(this,arguments))/2-jn/2;return[Mn(h)*u,vt(h)*u]},l.innerRadius=function(u){return arguments.length?(e=typeof u=="function"?u:pe(+u),l):e},l.outerRadius=function(u){return arguments.length?(t=typeof u=="function"?u:pe(+u),l):t},l.cornerRadius=function(u){return arguments.length?(n=typeof u=="function"?u:pe(+u),l):n},l.padRadius=function(u){return arguments.length?(r=u==null?null:typeof u=="function"?u:pe(+u),l):r},l.startAngle=function(u){return arguments.length?(i=typeof u=="function"?u:pe(+u),l):i},l.endAngle=function(u){return arguments.length?(o=typeof u=="function"?u:pe(+u),l):o},l.padAngle=function(u){return arguments.length?(a=typeof u=="function"?u:pe(+u),l):a},l.context=function(u){return arguments.length?(s=u??null,l):s},l}var Q5=Array.prototype.slice;function hl(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function qb(e){this._context=e}qb.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._context.lineTo(e,t);break}}};function pl(e){return new qb(e)}function Xf(e){return e[0]}function jf(e){return e[1]}function dl(e,t){var n=pe(!0),r=null,i=pl,o=null,a=Wo(s);e=typeof e=="function"?e:e===void 0?Xf:pe(e),t=typeof t=="function"?t:t===void 0?jf:pe(t);function s(c){var l,u=(c=hl(c)).length,h,f=!1,p;for(r==null&&(o=i(p=a())),l=0;l<=u;++l)!(l<u&&n(h=c[l],l,c))===f&&((f=!f)?o.lineStart():o.lineEnd()),f&&o.point(+e(h,l,c),+t(h,l,c));if(p)return o=null,p+""||null}return s.x=function(c){return arguments.length?(e=typeof c=="function"?c:pe(+c),s):e},s.y=function(c){return arguments.length?(t=typeof c=="function"?c:pe(+c),s):t},s.defined=function(c){return arguments.length?(n=typeof c=="function"?c:pe(!!c),s):n},s.curve=function(c){return arguments.length?(i=c,r!=null&&(o=i(r)),s):i},s.context=function(c){return arguments.length?(c==null?r=o=null:o=i(r=c),s):r},s}function Hf(e,t,n){var r=null,i=pe(!0),o=null,a=pl,s=null,c=Wo(l);e=typeof e=="function"?e:e===void 0?Xf:pe(+e),t=typeof t=="function"?t:pe(t===void 0?0:+t),n=typeof n=="function"?n:n===void 0?jf:pe(+n);function l(h){var f,p,g,m=(h=hl(h)).length,d,y=!1,b,x=new Array(m),v=new Array(m);for(o==null&&(s=a(b=c())),f=0;f<=m;++f){if(!(f<m&&i(d=h[f],f,h))===y)if(y=!y)p=f,s.areaStart(),s.lineStart();else{for(s.lineEnd(),s.lineStart(),g=f-1;g>=p;--g)s.point(x[g],v[g]);s.lineEnd(),s.areaEnd()}y&&(x[f]=+e(d,f,h),v[f]=+t(d,f,h),s.point(r?+r(d,f,h):x[f],n?+n(d,f,h):v[f]))}if(b)return s=null,b+""||null}function u(){return dl().defined(i).curve(a).context(o)}return l.x=function(h){return arguments.length?(e=typeof h=="function"?h:pe(+h),r=null,l):e},l.x0=function(h){return arguments.length?(e=typeof h=="function"?h:pe(+h),l):e},l.x1=function(h){return arguments.length?(r=h==null?null:typeof h=="function"?h:pe(+h),l):r},l.y=function(h){return arguments.length?(t=typeof h=="function"?h:pe(+h),n=null,l):t},l.y0=function(h){return arguments.length?(t=typeof h=="function"?h:pe(+h),l):t},l.y1=function(h){return arguments.length?(n=h==null?null:typeof h=="function"?h:pe(+h),l):n},l.lineX0=l.lineY0=function(){return u().x(e).y(t)},l.lineY1=function(){return u().x(e).y(n)},l.lineX1=function(){return u().x(r).y(t)},l.defined=function(h){return arguments.length?(i=typeof h=="function"?h:pe(!!h),l):i},l.curve=function(h){return arguments.length?(a=h,o!=null&&(s=a(o)),l):a},l.context=function(h){return arguments.length?(h==null?o=s=null:s=a(o=h),l):o},l}function e6(e,t){return t<e?-1:t>e?1:t>=e?0:NaN}function t6(e){return e}function Kb(){var e=t6,t=e6,n=null,r=pe(0),i=pe(Hn),o=pe(0);function a(s){var c,l=(s=hl(s)).length,u,h,f=0,p=new Array(l),g=new Array(l),m=+r.apply(this,arguments),d=Math.min(Hn,Math.max(-Hn,i.apply(this,arguments)-m)),y,b=Math.min(Math.abs(d)/l,o.apply(this,arguments)),x=b*(d<0?-1:1),v;for(c=0;c<l;++c)(v=g[p[c]=c]=+e(s[c],c,s))>0&&(f+=v);for(t!=null?p.sort(function(S,$){return t(g[S],g[$])}):n!=null&&p.sort(function(S,$){return n(s[S],s[$])}),c=0,h=f?(d-l*x)/f:0;c<l;++c,m=y)u=p[c],v=g[u],y=m+(v>0?v*h:0)+x,g[u]={data:s[u],index:c,value:v,startAngle:m,endAngle:y,padAngle:b};return g}return a.value=function(s){return arguments.length?(e=typeof s=="function"?s:pe(+s),a):e},a.sortValues=function(s){return arguments.length?(t=s,n=null,a):t},a.sort=function(s){return arguments.length?(n=s,t=null,a):n},a.startAngle=function(s){return arguments.length?(r=typeof s=="function"?s:pe(+s),a):r},a.endAngle=function(s){return arguments.length?(i=typeof s=="function"?s:pe(+s),a):i},a.padAngle=function(s){return arguments.length?(o=typeof s=="function"?s:pe(+s),a):o},a}var Zb=Uf(pl);function Jb(e){this._curve=e}Jb.prototype={areaStart:function(){this._curve.areaStart()},areaEnd:function(){this._curve.areaEnd()},lineStart:function(){this._curve.lineStart()},lineEnd:function(){this._curve.lineEnd()},point:function(e,t){this._curve.point(t*Math.sin(e),t*-Math.cos(e))}};function Uf(e){function t(n){return new Jb(e(n))}return t._curve=e,t}function Go(e){var t=e.curve;return e.angle=e.x,delete e.x,e.radius=e.y,delete e.y,e.curve=function(n){return arguments.length?t(Uf(n)):t()._curve},e}function Qb(){return Go(dl().curve(Zb))}function e1(){var e=Hf().curve(Zb),t=e.curve,n=e.lineX0,r=e.lineX1,i=e.lineY0,o=e.lineY1;return e.angle=e.x,delete e.x,e.startAngle=e.x0,delete e.x0,e.endAngle=e.x1,delete e.x1,e.radius=e.y,delete e.y,e.innerRadius=e.y0,delete e.y0,e.outerRadius=e.y1,delete e.y1,e.lineStartAngle=function(){return Go(n())},delete e.lineX0,e.lineEndAngle=function(){return Go(r())},delete e.lineX1,e.lineInnerRadius=function(){return Go(i())},delete e.lineY0,e.lineOuterRadius=function(){return Go(o())},delete e.lineY1,e.curve=function(a){return arguments.length?t(Uf(a)):t()._curve},e}function Vo(e,t){return[(t=+t)*Math.cos(e-=Math.PI/2),t*Math.sin(e)]}class t1{constructor(t,n){this._context=t,this._x=n}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(t,n){switch(t=+t,n=+n,this._point){case 0:{this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+t)/2,this._y0,this._x0,n,t,n):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+n)/2,t,this._y0,t,n);break}}this._x0=t,this._y0=n}}class n6{constructor(t){this._context=t}lineStart(){this._point=0}lineEnd(){}point(t,n){if(t=+t,n=+n,this._point===0)this._point=1;else{const r=Vo(this._x0,this._y0),i=Vo(this._x0,this._y0=(this._y0+n)/2),o=Vo(t,this._y0),a=Vo(t,n);this._context.moveTo(...r),this._context.bezierCurveTo(...i,...o,...a)}this._x0=t,this._y0=n}}function n1(e){return new t1(e,!0)}function r1(e){return new t1(e,!1)}function r6(e){return new n6(e)}function i6(e){return e.source}function o6(e){return e.target}function gl(e){let t=i6,n=o6,r=Xf,i=jf,o=null,a=null,s=Wo(c);function c(){let l;const u=Q5.call(arguments),h=t.apply(this,u),f=n.apply(this,u);if(o==null&&(a=e(l=s())),a.lineStart(),u[0]=h,a.point(+r.apply(this,u),+i.apply(this,u)),u[0]=f,a.point(+r.apply(this,u),+i.apply(this,u)),a.lineEnd(),l)return a=null,l+""||null}return c.source=function(l){return arguments.length?(t=l,c):t},c.target=function(l){return arguments.length?(n=l,c):n},c.x=function(l){return arguments.length?(r=typeof l=="function"?l:pe(+l),c):r},c.y=function(l){return arguments.length?(i=typeof l=="function"?l:pe(+l),c):i},c.context=function(l){return arguments.length?(l==null?o=a=null:a=e(o=l),c):o},c}function a6(){return gl(n1)}function s6(){return gl(r1)}function l6(){const e=gl(r6);return e.angle=e.x,delete e.x,e.radius=e.y,delete e.y,e}const c6=_e(3),i1={draw(e,t){const n=_e(t+_i(t/28,.75))*.59436,r=n/2,i=r*c6;e.moveTo(0,n),e.lineTo(0,-n),e.moveTo(-i,-r),e.lineTo(i,r),e.moveTo(-i,r),e.lineTo(i,-r)}},ml={draw(e,t){const n=_e(t/jn);e.moveTo(n,0),e.arc(0,0,n,0,Hn)}},o1={draw(e,t){const n=_e(t/5)/2;e.moveTo(-3*n,-n),e.lineTo(-n,-n),e.lineTo(-n,-3*n),e.lineTo(n,-3*n),e.lineTo(n,-n),e.lineTo(3*n,-n),e.lineTo(3*n,n),e.lineTo(n,n),e.lineTo(n,3*n),e.lineTo(-n,3*n),e.lineTo(-n,n),e.lineTo(-3*n,n),e.closePath()}},a1=_e(1/3),u6=a1*2,s1={draw(e,t){const n=_e(t/u6),r=n*a1;e.moveTo(0,-n),e.lineTo(r,0),e.lineTo(0,n),e.lineTo(-r,0),e.closePath()}},l1={draw(e,t){const n=_e(t)*.62625;e.moveTo(0,-n),e.lineTo(n,0),e.lineTo(0,n),e.lineTo(-n,0),e.closePath()}},c1={draw(e,t){const n=_e(t-_i(t/7,2))*.87559;e.moveTo(-n,0),e.lineTo(n,0),e.moveTo(0,n),e.lineTo(0,-n)}},u1={draw(e,t){const n=_e(t),r=-n/2;e.rect(r,r,n,n)}},f1={draw(e,t){const n=_e(t)*.4431;e.moveTo(n,n),e.lineTo(n,-n),e.lineTo(-n,-n),e.lineTo(-n,n),e.closePath()}},f6=.8908130915292852,h1=vt(jn/10)/vt(7*jn/10),h6=vt(Hn/10)*h1,p6=-Mn(Hn/10)*h1,p1={draw(e,t){const n=_e(t*f6),r=h6*n,i=p6*n;e.moveTo(0,-n),e.lineTo(r,i);for(let o=1;o<5;++o){const a=Hn*o/5,s=Mn(a),c=vt(a);e.lineTo(c*n,-s*n),e.lineTo(s*r-c*i,c*r+s*i)}e.closePath()}},qf=_e(3),d1={draw(e,t){const n=-_e(t/(qf*3));e.moveTo(0,n*2),e.lineTo(-qf*n,-n),e.lineTo(qf*n,-n),e.closePath()}},d6=_e(3),g1={draw(e,t){const n=_e(t)*.6824,r=n/2,i=n*d6/2;e.moveTo(0,-n),e.lineTo(i,r),e.lineTo(-i,r),e.closePath()}},Rt=-.5,Bt=_e(3)/2,Kf=1/_e(12),g6=(Kf/2+1)*3,m1={draw(e,t){const n=_e(t/g6),r=n/2,i=n*Kf,o=r,a=n*Kf+n,s=-o,c=a;e.moveTo(r,i),e.lineTo(o,a),e.lineTo(s,c),e.lineTo(Rt*r-Bt*i,Bt*r+Rt*i),e.lineTo(Rt*o-Bt*a,Bt*o+Rt*a),e.lineTo(Rt*s-Bt*c,Bt*s+Rt*c),e.lineTo(Rt*r+Bt*i,Rt*i-Bt*r),e.lineTo(Rt*o+Bt*a,Rt*a-Bt*o),e.lineTo(Rt*s+Bt*c,Rt*c-Bt*s),e.closePath()}},Zf={draw(e,t){const n=_e(t-_i(t/6,1.7))*.6189;e.moveTo(-n,-n),e.lineTo(n,n),e.moveTo(-n,n),e.lineTo(n,-n)}},y1=[ml,o1,s1,u1,p1,d1,m1],m6=[ml,c1,Zf,g1,i1,f1,l1];function y6(e,t){let n=null,r=Wo(i);e=typeof e=="function"?e:pe(e||ml),t=typeof t=="function"?t:pe(t===void 0?64:+t);function i(){let o;if(n||(n=o=r()),e.apply(this,arguments).draw(n,+t.apply(this,arguments)),o)return n=null,o+""||null}return i.type=function(o){return arguments.length?(e=typeof o=="function"?o:pe(o),i):e},i.size=function(o){return arguments.length?(t=typeof o=="function"?o:pe(+o),i):t},i.context=function(o){return arguments.length?(n=o??null,i):n},i}function Un(){}function yl(e,t,n){e._context.bezierCurveTo((2*e._x0+e._x1)/3,(2*e._y0+e._y1)/3,(e._x0+2*e._x1)/3,(e._y0+2*e._y1)/3,(e._x0+4*e._x1+t)/6,(e._y0+4*e._y1+n)/6)}function bl(e){this._context=e}bl.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:yl(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:yl(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function b6(e){return new bl(e)}function b1(e){this._context=e}b1.prototype={areaStart:Un,areaEnd:Un,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x2=e,this._y2=t;break;case 1:this._point=2,this._x3=e,this._y3=t;break;case 2:this._point=3,this._x4=e,this._y4=t,this._context.moveTo((this._x0+4*this._x1+e)/6,(this._y0+4*this._y1+t)/6);break;default:yl(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function x6(e){return new b1(e)}function x1(e){this._context=e}x1.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var n=(this._x0+4*this._x1+e)/6,r=(this._y0+4*this._y1+t)/6;this._line?this._context.lineTo(n,r):this._context.moveTo(n,r);break;case 3:this._point=4;default:yl(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function v6(e){return new x1(e)}function v1(e,t){this._basis=new bl(e),this._beta=t}v1.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var e=this._x,t=this._y,n=e.length-1;if(n>0)for(var r=e[0],i=t[0],o=e[n]-r,a=t[n]-i,s=-1,c;++s<=n;)c=s/n,this._basis.point(this._beta*e[s]+(1-this._beta)*(r+c*o),this._beta*t[s]+(1-this._beta)*(i+c*a));this._x=this._y=null,this._basis.lineEnd()},point:function(e,t){this._x.push(+e),this._y.push(+t)}};const $6=function e(t){function n(r){return t===1?new bl(r):new v1(r,t)}return n.beta=function(r){return e(+r)},n}(.85);function xl(e,t,n){e._context.bezierCurveTo(e._x1+e._k*(e._x2-e._x0),e._y1+e._k*(e._y2-e._y0),e._x2+e._k*(e._x1-t),e._y2+e._k*(e._y1-n),e._x2,e._y2)}function Jf(e,t){this._context=e,this._k=(1-t)/6}Jf.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:xl(this,this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2,this._x1=e,this._y1=t;break;case 2:this._point=3;default:xl(this,e,t);break}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};const S6=function e(t){function n(r){return new Jf(r,t)}return n.tension=function(r){return e(+r)},n}(0);function Qf(e,t){this._context=e,this._k=(1-t)/6}Qf.prototype={areaStart:Un,areaEnd:Un,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x3=e,this._y3=t;break;case 1:this._point=2,this._context.moveTo(this._x4=e,this._y4=t);break;case 2:this._point=3,this._x5=e,this._y5=t;break;default:xl(this,e,t);break}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};const A6=function e(t){function n(r){return new Qf(r,t)}return n.tension=function(r){return e(+r)},n}(0);function eh(e,t){this._context=e,this._k=(1-t)/6}eh.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:xl(this,e,t);break}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};const T6=function e(t){function n(r){return new eh(r,t)}return n.tension=function(r){return e(+r)},n}(0);function th(e,t,n){var r=e._x1,i=e._y1,o=e._x2,a=e._y2;if(e._l01_a>et){var s=2*e._l01_2a+3*e._l01_a*e._l12_a+e._l12_2a,c=3*e._l01_a*(e._l01_a+e._l12_a);r=(r*s-e._x0*e._l12_2a+e._x2*e._l01_2a)/c,i=(i*s-e._y0*e._l12_2a+e._y2*e._l01_2a)/c}if(e._l23_a>et){var l=2*e._l23_2a+3*e._l23_a*e._l12_a+e._l12_2a,u=3*e._l23_a*(e._l23_a+e._l12_a);o=(o*l+e._x1*e._l23_2a-t*e._l12_2a)/u,a=(a*l+e._y1*e._l23_2a-n*e._l12_2a)/u}e._context.bezierCurveTo(r,i,o,a,e._x2,e._y2)}function $1(e,t){this._context=e,this._alpha=t}$1.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){if(e=+e,t=+t,this._point){var n=this._x2-e,r=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3;default:th(this,e,t);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};const w6=function e(t){function n(r){return t?new $1(r,t):new Jf(r,0)}return n.alpha=function(r){return e(+r)},n}(.5);function S1(e,t){this._context=e,this._alpha=t}S1.prototype={areaStart:Un,areaEnd:Un,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(e,t){if(e=+e,t=+t,this._point){var n=this._x2-e,r=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=e,this._y3=t;break;case 1:this._point=2,this._context.moveTo(this._x4=e,this._y4=t);break;case 2:this._point=3,this._x5=e,this._y5=t;break;default:th(this,e,t);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};const _6=function e(t){function n(r){return t?new S1(r,t):new Qf(r,0)}return n.alpha=function(r){return e(+r)},n}(.5);function A1(e,t){this._context=e,this._alpha=t}A1.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){if(e=+e,t=+t,this._point){var n=this._x2-e,r=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:th(this,e,t);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};const D6=function e(t){function n(r){return t?new A1(r,t):new eh(r,0)}return n.alpha=function(r){return e(+r)},n}(.5);function T1(e){this._context=e}T1.prototype={areaStart:Un,areaEnd:Un,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(e,t){e=+e,t=+t,this._point?this._context.lineTo(e,t):(this._point=1,this._context.moveTo(e,t))}};function P6(e){return new T1(e)}function w1(e){return e<0?-1:1}function _1(e,t,n){var r=e._x1-e._x0,i=t-e._x1,o=(e._y1-e._y0)/(r||i<0&&-0),a=(n-e._y1)/(i||r<0&&-0),s=(o*i+a*r)/(r+i);return(w1(o)+w1(a))*Math.min(Math.abs(o),Math.abs(a),.5*Math.abs(s))||0}function D1(e,t){var n=e._x1-e._x0;return n?(3*(e._y1-e._y0)/n-t)/2:t}function nh(e,t,n){var r=e._x0,i=e._y0,o=e._x1,a=e._y1,s=(o-r)/3;e._context.bezierCurveTo(r+s,i+s*t,o-s,a-s*n,o,a)}function vl(e){this._context=e}vl.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:nh(this,this._t0,D1(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){var n=NaN;if(e=+e,t=+t,!(e===this._x1&&t===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,nh(this,D1(this,n=_1(this,e,t)),n);break;default:nh(this,this._t0,n=_1(this,e,t));break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=n}}};function P1(e){this._context=new M1(e)}(P1.prototype=Object.create(vl.prototype)).point=function(e,t){vl.prototype.point.call(this,t,e)};function M1(e){this._context=e}M1.prototype={moveTo:function(e,t){this._context.moveTo(t,e)},closePath:function(){this._context.closePath()},lineTo:function(e,t){this._context.lineTo(t,e)},bezierCurveTo:function(e,t,n,r,i,o){this._context.bezierCurveTo(t,e,r,n,o,i)}};function M6(e){return new vl(e)}function C6(e){return new P1(e)}function C1(e){this._context=e}C1.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var e=this._x,t=this._y,n=e.length;if(n)if(this._line?this._context.lineTo(e[0],t[0]):this._context.moveTo(e[0],t[0]),n===2)this._context.lineTo(e[1],t[1]);else for(var r=L1(e),i=L1(t),o=0,a=1;a<n;++o,++a)this._context.bezierCurveTo(r[0][o],i[0][o],r[1][o],i[1][o],e[a],t[a]);(this._line||this._line!==0&&n===1)&&this._context.closePath(),this._line=1-this._line,this._x=this._y=null},point:function(e,t){this._x.push(+e),this._y.push(+t)}};function L1(e){var t,n=e.length-1,r,i=new Array(n),o=new Array(n),a=new Array(n);for(i[0]=0,o[0]=2,a[0]=e[0]+2*e[1],t=1;t<n-1;++t)i[t]=1,o[t]=4,a[t]=4*e[t]+2*e[t+1];for(i[n-1]=2,o[n-1]=7,a[n-1]=8*e[n-1]+e[n],t=1;t<n;++t)r=i[t]/o[t-1],o[t]-=r,a[t]-=r*a[t-1];for(i[n-1]=a[n-1]/o[n-1],t=n-2;t>=0;--t)i[t]=(a[t]-i[t+1])/o[t];for(o[n-1]=(e[n]+i[n-1])/2,t=0;t<n-1;++t)o[t]=2*e[t+1]-i[t+1];return[i,o]}function L6(e){return new C1(e)}function $l(e,t){this._context=e,this._t=t}$l.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0<this._t&&this._t<1&&this._point===2&&this._context.lineTo(this._x,this._y),(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line>=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,t),this._context.lineTo(e,t);else{var n=this._x*(1-this._t)+e*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,t)}break}}this._x=e,this._y=t}};function k6(e){return new $l(e,.5)}function E6(e){return new $l(e,0)}function R6(e){return new $l(e,1)}function Di(e,t){if((a=e.length)>1)for(var n=1,r,i,o=e[t[0]],a,s=o.length;n<a;++n)for(i=o,o=e[t[n]],r=0;r<s;++r)o[r][1]+=o[r][0]=isNaN(i[r][1])?i[r][0]:i[r][1]}function Pi(e){for(var t=e.length,n=new Array(t);--t>=0;)n[t]=t;return n}function B6(e,t){return e[t]}function I6(e){const t=[];return t.key=e,t}function N6(){var e=pe([]),t=Pi,n=Di,r=B6;function i(o){var a=Array.from(e.apply(this,arguments),I6),s,c=a.length,l=-1,u;for(const h of o)for(s=0,++l;s<c;++s)(a[s][l]=[0,+r(h,a[s].key,l,o)]).data=h;for(s=0,u=hl(t(a));s<c;++s)a[u[s]].index=s;return n(a,u),a}return i.keys=function(o){return arguments.length?(e=typeof o=="function"?o:pe(Array.from(o)),i):e},i.value=function(o){return arguments.length?(r=typeof o=="function"?o:pe(+o),i):r},i.order=function(o){return arguments.length?(t=o==null?Pi:typeof o=="function"?o:pe(Array.from(o)),i):t},i.offset=function(o){return arguments.length?(n=o??Di,i):n},i}function O6(e,t){if((r=e.length)>0){for(var n,r,i=0,o=e[0].length,a;i<o;++i){for(a=n=0;n<r;++n)a+=e[n][i][1]||0;if(a)for(n=0;n<r;++n)e[n][i][1]/=a}Di(e,t)}}function z6(e,t){if((c=e.length)>0)for(var n,r=0,i,o,a,s,c,l=e[t[0]].length;r<l;++r)for(a=s=0,n=0;n<c;++n)(o=(i=e[t[n]][r])[1]-i[0])>0?(i[0]=a,i[1]=a+=o):o<0?(i[1]=s,i[0]=s+=o):(i[0]=0,i[1]=o)}function F6(e,t){if((i=e.length)>0){for(var n=0,r=e[t[0]],i,o=r.length;n<o;++n){for(var a=0,s=0;a<i;++a)s+=e[a][n][1]||0;r[n][1]+=r[n][0]=-s/2}Di(e,t)}}function Y6(e,t){if(!(!((a=e.length)>0)||!((o=(i=e[t[0]]).length)>0))){for(var n=0,r=1,i,o,a;r<o;++r){for(var s=0,c=0,l=0;s<a;++s){for(var u=e[t[s]],h=u[r][1]||0,f=u[r-1][1]||0,p=(h-f)/2,g=0;g<s;++g){var m=e[t[g]],d=m[r][1]||0,y=m[r-1][1]||0;p+=d-y}c+=h,l+=p*h}i[r-1][1]+=i[r-1][0]=n,c&&(n-=l/c)}i[r-1][1]+=i[r-1][0]=n,Di(e,t)}}function k1(e){var t=e.map(W6);return Pi(e).sort(function(n,r){return t[n]-t[r]})}function W6(e){for(var t=-1,n=0,r=e.length,i,o=-1/0;++t<r;)(i=+e[t][1])>o&&(o=i,n=t);return n}function E1(e){var t=e.map(R1);return Pi(e).sort(function(n,r){return t[n]-t[r]})}function R1(e){for(var t=0,n=-1,r=e.length,i;++n<r;)(i=+e[n][1])&&(t+=i);return t}function G6(e){return E1(e).reverse()}function V6(e){var t=e.length,n,r,i=e.map(R1),o=k1(e),a=0,s=0,c=[],l=[];for(n=0;n<t;++n)r=o[n],a<s?(a+=i[r],c.push(r)):(s+=i[r],l.push(r));return l.reverse().concat(c)}function X6(e){return Pi(e).reverse()}const Sl=e=>()=>e;function j6(e,{sourceEvent:t,target:n,transform:r,dispatch:i}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:r,enumerable:!0,configurable:!0},_:{value:i}})}function fn(e,t,n){this.k=e,this.x=t,this.y=n}fn.prototype={constructor:fn,scale:function(e){return e===1?this:new fn(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new fn(this.k,this.x+this.k*e,this.y+this.k*t)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var Mi=new fn(1,0,0);B1.prototype=fn.prototype;function B1(e){for(;!e.__zoom;)if(!(e=e.parentNode))return Mi;return e.__zoom}function rh(e){e.stopImmediatePropagation()}function Xo(e){e.preventDefault(),e.stopImmediatePropagation()}function H6(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function U6(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function I1(){return this.__zoom||Mi}function q6(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function K6(){return navigator.maxTouchPoints||"ontouchstart"in this}function Z6(e,t,n){var r=e.invertX(t[0][0])-n[0][0],i=e.invertX(t[1][0])-n[1][0],o=e.invertY(t[0][1])-n[0][1],a=e.invertY(t[1][1])-n[1][1];return e.translate(i>r?(r+i)/2:Math.min(0,r)||Math.max(0,i),a>o?(o+a)/2:Math.min(0,o)||Math.max(0,a))}function Pt(){var e=H6,t=U6,n=Z6,r=q6,i=K6,o=[0,1/0],a=[[-1/0,-1/0],[1/0,1/0]],s=250,c=yg,l=sr("start","zoom","end"),u,h,f,p=500,g=150,m=0,d=10;function y(w){w.property("__zoom",I1).on("wheel.zoom",E,{passive:!1}).on("mousedown.zoom",M).on("dblclick.zoom",C).filter(i).on("touchstart.zoom",B).on("touchmove.zoom",D).on("touchend.zoom touchcancel.zoom",P).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}y.transform=function(w,k,T,I){var _=w.selection?w.selection():w;_.property("__zoom",I1),w!==_?S(w,k,T,I):_.interrupt().each(function(){$(this,arguments).event(I).start().zoom(null,typeof k=="function"?k.apply(this,arguments):k).end()})},y.scaleBy=function(w,k,T,I){y.scaleTo(w,function(){var _=this.__zoom.k,O=typeof k=="function"?k.apply(this,arguments):k;return _*O},T,I)},y.scaleTo=function(w,k,T,I){y.transform(w,function(){var _=t.apply(this,arguments),O=this.__zoom,F=T==null?v(_):typeof T=="function"?T.apply(this,arguments):T,j=O.invert(F),Z=typeof k=="function"?k.apply(this,arguments):k;return n(x(b(O,Z),F,j),_,a)},T,I)},y.translateBy=function(w,k,T,I){y.transform(w,function(){return n(this.__zoom.translate(typeof k=="function"?k.apply(this,arguments):k,typeof T=="function"?T.apply(this,arguments):T),t.apply(this,arguments),a)},null,I)},y.translateTo=function(w,k,T,I,_){y.transform(w,function(){var O=t.apply(this,arguments),F=this.__zoom,j=I==null?v(O):typeof I=="function"?I.apply(this,arguments):I;return n(Mi.translate(j[0],j[1]).scale(F.k).translate(typeof k=="function"?-k.apply(this,arguments):-k,typeof T=="function"?-T.apply(this,arguments):-T),O,a)},I,_)};function b(w,k){return k=Math.max(o[0],Math.min(o[1],k)),k===w.k?w:new fn(k,w.x,w.y)}function x(w,k,T){var I=k[0]-T[0]*w.k,_=k[1]-T[1]*w.k;return I===w.x&&_===w.y?w:new fn(w.k,I,_)}function v(w){return[(+w[0][0]+ +w[1][0])/2,(+w[0][1]+ +w[1][1])/2]}function S(w,k,T,I){w.on("start.zoom",function(){$(this,arguments).event(I).start()}).on("interrupt.zoom end.zoom",function(){$(this,arguments).event(I).end()}).tween("zoom",function(){var _=this,O=arguments,F=$(_,O).event(I),j=t.apply(_,O),Z=T==null?v(j):typeof T=="function"?T.apply(_,O):T,re=Math.max(j[1][0]-j[0][0],j[1][1]-j[0][1]),te=_.__zoom,G=typeof k=="function"?k.apply(_,O):k,ee=c(te.invert(Z).concat(re/te.k),G.invert(Z).concat(re/G.k));return function(ae){if(ae===1)ae=G;else{var ce=ee(ae),Q=re/ce[2];ae=new fn(Q,Z[0]-ce[0]*Q,Z[1]-ce[1]*Q)}F.zoom(null,ae)}})}function $(w,k,T){return!T&&w.__zooming||new L(w,k)}function L(w,k){this.that=w,this.args=k,this.active=0,this.sourceEvent=null,this.extent=t.apply(w,k),this.taps=0}L.prototype={event:function(w){return w&&(this.sourceEvent=w),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(w,k){return this.mouse&&w!=="mouse"&&(this.mouse[1]=k.invert(this.mouse[0])),this.touch0&&w!=="touch"&&(this.touch0[1]=k.invert(this.touch0[0])),this.touch1&&w!=="touch"&&(this.touch1[1]=k.invert(this.touch1[0])),this.that.__zoom=k,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(w){var k=Y(this.that).datum();l.call(w,this.that,new j6(w,{sourceEvent:this.sourceEvent,target:y,transform:this.that.__zoom,dispatch:l}),k)}};function E(w,...k){if(!e.apply(this,arguments))return;var T=$(this,k).event(w),I=this.__zoom,_=Math.max(o[0],Math.min(o[1],I.k*Math.pow(2,r.apply(this,arguments)))),O=Tt(w);if(T.wheel)(T.mouse[0][0]!==O[0]||T.mouse[0][1]!==O[1])&&(T.mouse[1]=I.invert(T.mouse[0]=O)),clearTimeout(T.wheel);else{if(I.k===_)return;T.mouse=[O,I.invert(O)],gr(this),T.start()}Xo(w),T.wheel=setTimeout(F,g),T.zoom("mouse",n(x(b(I,_),T.mouse[0],T.mouse[1]),T.extent,a));function F(){T.wheel=null,T.end()}}function M(w,...k){if(f||!e.apply(this,arguments))return;var T=w.currentTarget,I=$(this,k,!0).event(w),_=Y(w.view).on("mousemove.zoom",Z,!0).on("mouseup.zoom",re,!0),O=Tt(w,T),F=w.clientX,j=w.clientY;Aa(w.view),rh(w),I.mouse=[O,this.__zoom.invert(O)],gr(this),I.start();function Z(te){if(Xo(te),!I.moved){var G=te.clientX-F,ee=te.clientY-j;I.moved=G*G+ee*ee>m}I.event(te).zoom("mouse",n(x(I.that.__zoom,I.mouse[0]=Tt(te,T),I.mouse[1]),I.extent,a))}function re(te){_.on("mousemove.zoom mouseup.zoom",null),Ta(te.view,I.moved),Xo(te),I.event(te).end()}}function C(w,...k){if(e.apply(this,arguments)){var T=this.__zoom,I=Tt(w.changedTouches?w.changedTouches[0]:w,this),_=T.invert(I),O=T.k*(w.shiftKey?.5:2),F=n(x(b(T,O),I,_),t.apply(this,k),a);Xo(w),s>0?Y(this).transition().duration(s).call(S,F,I,w):Y(this).call(y.transform,F,I,w)}}function B(w,...k){if(e.apply(this,arguments)){var T=w.touches,I=T.length,_=$(this,k,w.changedTouches.length===I).event(w),O,F,j,Z;for(rh(w),F=0;F<I;++F)j=T[F],Z=Tt(j,this),Z=[Z,this.__zoom.invert(Z),j.identifier],_.touch0?!_.touch1&&_.touch0[2]!==Z[2]&&(_.touch1=Z,_.taps=0):(_.touch0=Z,O=!0,_.taps=1+!!u);u&&(u=clearTimeout(u)),O&&(_.taps<2&&(h=Z[0],u=setTimeout(function(){u=null},p)),gr(this),_.start())}}function D(w,...k){if(this.__zooming){var T=$(this,k).event(w),I=w.changedTouches,_=I.length,O,F,j,Z;for(Xo(w),O=0;O<_;++O)F=I[O],j=Tt(F,this),T.touch0&&T.touch0[2]===F.identifier?T.touch0[0]=j:T.touch1&&T.touch1[2]===F.identifier&&(T.touch1[0]=j);if(F=T.that.__zoom,T.touch1){var re=T.touch0[0],te=T.touch0[1],G=T.touch1[0],ee=T.touch1[1],ae=(ae=G[0]-re[0])*ae+(ae=G[1]-re[1])*ae,ce=(ce=ee[0]-te[0])*ce+(ce=ee[1]-te[1])*ce;F=b(F,Math.sqrt(ae/ce)),j=[(re[0]+G[0])/2,(re[1]+G[1])/2],Z=[(te[0]+ee[0])/2,(te[1]+ee[1])/2]}else if(T.touch0)j=T.touch0[0],Z=T.touch0[1];else return;T.zoom("touch",n(x(F,j,Z),T.extent,a))}}function P(w,...k){if(this.__zooming){var T=$(this,k).event(w),I=w.changedTouches,_=I.length,O,F;for(rh(w),f&&clearTimeout(f),f=setTimeout(function(){f=null},p),O=0;O<_;++O)F=I[O],T.touch0&&T.touch0[2]===F.identifier?delete T.touch0:T.touch1&&T.touch1[2]===F.identifier&&delete T.touch1;if(T.touch1&&!T.touch0&&(T.touch0=T.touch1,delete T.touch1),T.touch0)T.touch0[1]=this.__zoom.invert(T.touch0[0]);else if(T.end(),T.taps===2&&(F=Tt(F,this),Math.hypot(h[0]-F[0],h[1]-F[1])<d)){var j=Y(this).on("dblclick.zoom");j&&j.apply(this,arguments)}}}return y.wheelDelta=function(w){return arguments.length?(r=typeof w=="function"?w:Sl(+w),y):r},y.filter=function(w){return arguments.length?(e=typeof w=="function"?w:Sl(!!w),y):e},y.touchable=function(w){return arguments.length?(i=typeof w=="function"?w:Sl(!!w),y):i},y.extent=function(w){return arguments.length?(t=typeof w=="function"?w:Sl([[+w[0][0],+w[0][1]],[+w[1][0],+w[1][1]]]),y):t},y.scaleExtent=function(w){return arguments.length?(o[0]=+w[0],o[1]=+w[1],y):[o[0],o[1]]},y.translateExtent=function(w){return arguments.length?(a[0][0]=+w[0][0],a[1][0]=+w[1][0],a[0][1]=+w[0][1],a[1][1]=+w[1][1],y):[[a[0][0],a[0][1]],[a[1][0],a[1][1]]]},y.constrain=function(w){return arguments.length?(n=w,y):n},y.duration=function(w){return arguments.length?(s=+w,y):s},y.interpolate=function(w){return arguments.length?(c=w,y):c},y.on=function(){var w=l.on.apply(l,arguments);return w===l?y:w},y.clickDistance=function(w){return arguments.length?(m=(w=+w)*w,y):Math.sqrt(m)},y.tapDistance=function(w){return arguments.length?(d=+w,y):d},y}const ih=Object.freeze(Object.defineProperty({__proto__:null,Adder:Be,Delaunay:hu,FormatSpecifier:os,InternMap:zi,InternSet:ir,Node:_r,Path:so,Voronoi:om,ZoomTransform:fn,active:o_,arc:fl,area:Hf,areaRadial:e1,ascending:De,autoType:MD,axisBottom:hc,axisLeft:pc,axisRight:QS,axisTop:ba,bin:ud,bisect:In,bisectCenter:K$,bisectLeft:q$,bisectRight:In,bisector:la,blob:kD,blur:Z$,blur2:Kp,blurImage:J$,brush:b_,brushSelection:g_,brushX:m_,brushY:y_,buffer:RD,chord:v_,chordDirected:S_,chordTranspose:$_,cluster:VM,color:zn,contourDensity:U_,contours:su,count:ua,create:RA,creator:va,cross:oS,csv:ND,csvFormat:bD,csvFormatBody:xD,csvFormatRow:$D,csvFormatRows:vD,csvFormatValue:SD,csvParse:cm,csvParseRows:yD,cubehelix:Ft,cumsum:aS,curveBasis:b6,curveBasisClosed:x6,curveBasisOpen:v6,curveBumpX:n1,curveBumpY:r1,curveBundle:$6,curveCardinal:S6,curveCardinalClosed:A6,curveCardinalOpen:T6,curveCatmullRom:w6,curveCatmullRomClosed:_6,curveCatmullRomOpen:D6,curveLinear:pl,curveLinearClosed:P6,curveMonotoneX:M6,curveMonotoneY:C6,curveNatural:L6,curveStep:k6,curveStepAfter:R6,curveStepBefore:E6,descending:Up,deviation:Qp,difference:YS,disjoint:WS,dispatch:sr,drag:_a,dragDisable:Aa,dragEnable:Ta,dsv:ID,dsvFormat:Ja,easeBack:zg,easeBackIn:Zw,easeBackInOut:zg,easeBackOut:Jw,easeBounce:oo,easeBounceIn:qw,easeBounceInOut:Kw,easeBounceOut:oo,easeCircle:Og,easeCircleIn:zw,easeCircleInOut:Og,easeCircleOut:Fw,easeCubic:io,easeCubicIn:Lw,easeCubicInOut:io,easeCubicOut:kw,easeElastic:mr,easeElasticIn:Qw,easeElasticInOut:e_,easeElasticOut:mr,easeExp:Ng,easeExpIn:Nw,easeExpInOut:Ng,easeExpOut:Ow,easeLinear:yn,easePoly:Eg,easePolyIn:Ew,easePolyInOut:Eg,easePolyOut:Rw,easeQuad:kg,easeQuadIn:Mw,easeQuadInOut:kg,easeQuadOut:Cw,easeSin:Ig,easeSinIn:Bw,easeSinInOut:Ig,easeSinOut:Iw,every:BS,extent:Oi,fcumsum:lS,filter:NS,flatGroup:cS,flatRollup:uS,forceCenter:yu,forceCollide:ts,forceLink:xu,forceManyBody:rs,forceRadial:yP,forceSimulation:ns,forceX:mm,forceY:ym,get format(){return fo},formatDefaultLocale:wm,formatLocale:Tm,get formatPrefix(){return vu},formatSpecifier:hi,fsum:sS,geoAlbers:z0,geoAlbersUsa:SM,geoArea:DP,geoAzimuthalEqualArea:AM,geoAzimuthalEqualAreaRaw:af,geoAzimuthalEquidistant:TM,geoAzimuthalEquidistantRaw:sf,geoBounds:LP,geoCentroid:NP,geoCircle:OP,geoClipAntimeridian:Ou,geoClipCircle:s0,geoClipExtent:XP,geoClipRectangle:Ds,geoConicConformal:_M,geoConicConformalRaw:W0,geoConicEqualArea:zs,geoConicEqualAreaRaw:O0,geoConicEquidistant:PM,geoConicEquidistantRaw:G0,geoContains:JP,geoDistance:Cs,geoEqualEarth:CM,geoEqualEarthRaw:lf,geoEquirectangular:DM,geoEquirectangularRaw:Po,geoGnomonic:LM,geoGnomonicRaw:cf,geoGraticule:y0,geoGraticule10:QP,geoIdentity:kM,geoInterpolate:eM,geoLength:l0,geoMercator:wM,geoMercatorRaw:Do,geoNaturalEarth1:EM,geoNaturalEarth1Raw:uf,geoOrthographic:RM,geoOrthographicRaw:ff,geoPath:hM,geoProjection:sn,geoProjectionMutator:rf,geoRotation:Qm,geoStereographic:BM,geoStereographicRaw:hf,geoStream:Wt,geoTransform:pM,geoTransverseMercator:IM,geoTransverseMercatorRaw:pf,gray:QA,greatest:fd,greatestIndex:CS,group:rd,groupSort:pS,groups:id,hcl:ka,hierarchy:Ws,histogram:ud,hsl:Ma,html:GD,image:zD,index:fS,indexes:hS,interpolate:gn,interpolateArray:oT,interpolateBasis:ng,interpolateBasisClosed:rg,interpolateBlues:_5,interpolateBrBG:o5,interpolateBuGn:d5,interpolateBuPu:g5,interpolateCividis:k5,interpolateCool:B5,interpolateCubehelix:vT,interpolateCubehelixDefault:E5,interpolateCubehelixLong:Na,interpolateDate:cg,interpolateDiscrete:lT,interpolateGnBu:m5,interpolateGreens:D5,interpolateGreys:P5,interpolateHcl:bT,interpolateHclLong:xT,interpolateHsl:gT,interpolateHslLong:mT,interpolateHue:cT,interpolateInferno:G5,interpolateLab:yT,interpolateMagma:W5,interpolateNumber:wt,interpolateNumberArray:kc,interpolateObject:ug,interpolateOrRd:y5,interpolateOranges:L5,interpolatePRGn:a5,interpolatePiYG:s5,interpolatePlasma:V5,interpolatePuBu:x5,interpolatePuBuGn:b5,interpolatePuOr:l5,interpolatePuRd:v5,interpolatePurples:M5,interpolateRainbow:I5,interpolateRdBu:c5,interpolateRdGy:u5,interpolateRdPu:$5,interpolateRdYlBu:f5,interpolateRdYlGn:h5,interpolateReds:C5,interpolateRgb:Ki,interpolateRgbBasis:ag,interpolateRgbBasisClosed:iT,interpolateRound:Zi,interpolateSinebow:z5,interpolateSpectral:p5,interpolateString:Bc,interpolateTransformCss:dg,interpolateTransformSvg:gg,interpolateTurbo:F5,interpolateViridis:Y5,interpolateWarm:R5,interpolateYlGn:A5,interpolateYlGnBu:S5,interpolateYlOrBr:T5,interpolateYlOrRd:w5,interpolateZoom:yg,interrupt:gr,intersection:GS,interval:wT,isoFormat:zL,isoParse:YL,json:YD,lab:Ui,lch:eT,least:MS,leastIndex:dd,line:dl,lineRadial:Qb,link:gl,linkHorizontal:a6,linkRadial:l6,linkVertical:s6,local:Md,map:OS,matcher:yc,max:Fi,maxIndex:sc,mean:$S,median:SS,medianIndex:AS,merge:cc,min:pa,minIndex:lc,mode:wS,namespace:Vi,namespaces:gc,nice:oc,now:no,pack:vC,packEnclose:dC,packSiblings:bC,pairs:_S,partition:$C,path:au,pathRound:w_,permute:cd,pie:Kb,piecewise:$g,pointRadial:Vo,pointer:Tt,pointers:IA,polygonArea:IC,polygonCentroid:NC,polygonContains:YC,polygonHull:FC,polygonLength:WC,precisionFixed:_m,precisionPrefix:Dm,precisionRound:Pm,quadtree:es,quantile:Wi,quantileIndex:pd,quantileSorted:hd,quantize:$T,quickselect:da,radialArea:e1,radialLine:Qb,randomBates:jC,randomBernoulli:qC,randomBeta:fy,randomBinomial:hy,randomCauchy:ZC,randomExponential:HC,randomGamma:Af,randomGeometric:uy,randomInt:VC,randomIrwinHall:cy,randomLcg:n3,randomLogNormal:XC,randomLogistic:JC,randomNormal:Sf,randomPareto:UC,randomPoisson:QC,randomUniform:GC,randomWeibull:KC,range:Nn,rank:PS,reduce:zS,reverse:FS,rgb:ei,ribbon:E_,ribbonArrow:R_,rollup:ad,rollups:sd,scaleBand:_f,scaleDiverging:yb,scaleDivergingLog:bb,scaleDivergingPow:Vf,scaleDivergingSqrt:HL,scaleDivergingSymlog:xb,scaleIdentity:yy,scaleImplicit:Tf,scaleLinear:Je,scaleLog:Sy,scaleOrdinal:wf,scalePoint:Us,scalePow:ln,scaleQuantile:My,scaleQuantize:kf,scaleRadial:Py,scaleSequential:pb,scaleSequentialLog:db,scaleSequentialPow:Gf,scaleSequentialQuantile:mb,scaleSequentialSqrt:jL,scaleSequentialSymlog:gb,scaleSqrt:d3,scaleSymlog:wy,scaleThreshold:Cy,scaleTime:VL,scaleUtc:XL,scan:LS,schemeAccent:qL,schemeBlues:Yb,schemeBrBG:vb,schemeBuGn:Mb,schemeBuPu:Cb,schemeCategory10:UL,schemeDark2:KL,schemeGnBu:Lb,schemeGreens:Wb,schemeGreys:Gb,schemeObservable10:ZL,schemeOrRd:kb,schemeOranges:jb,schemePRGn:$b,schemePaired:JL,schemePastel1:QL,schemePastel2:e5,schemePiYG:Sb,schemePuBu:Rb,schemePuBuGn:Eb,schemePuOr:Ab,schemePuRd:Bb,schemePurples:Vb,schemeRdBu:Tb,schemeRdGy:wb,schemeRdPu:Ib,schemeRdYlBu:_b,schemeRdYlGn:Db,schemeReds:Xb,schemeSet1:t5,schemeSet2:n5,schemeSet3:r5,schemeSpectral:Pb,schemeTableau10:i5,schemeYlGn:Ob,schemeYlGnBu:Nb,schemeYlOrBr:zb,schemeYlOrRd:Fb,select:Y,selectAll:Ld,selection:cr,selector:$a,selectorAll:mc,shuffle:kS,shuffler:gd,some:IS,sort:nc,stack:N6,stackOffsetDiverging:z6,stackOffsetExpand:O6,stackOffsetNone:Di,stackOffsetSilhouette:F6,stackOffsetWiggle:Y6,stackOrderAppearance:k1,stackOrderAscending:E1,stackOrderDescending:G6,stackOrderInsideOut:V6,stackOrderNone:Pi,stackOrderReverse:X6,stratify:wC,style:lr,subset:XS,sum:uc,superset:yd,svg:VD,symbol:y6,symbolAsterisk:i1,symbolCircle:ml,symbolCross:o1,symbolDiamond:s1,symbolDiamond2:l1,symbolPlus:c1,symbolSquare:u1,symbolSquare2:f1,symbolStar:p1,symbolTimes:Zf,symbolTriangle:d1,symbolTriangle2:g1,symbolWye:m1,symbolX:Zf,symbols:y1,symbolsFill:y1,symbolsStroke:m6,text:Qa,thresholdFreedmanDiaconis:xS,thresholdScott:vS,thresholdSturges:ac,tickFormat:my,tickIncrement:ar,tickStep:ha,ticks:or,timeDay:Si,timeDays:v3,get timeFormat(){return Ff},timeFormatDefaultLocale:fb,timeFormatLocale:qy,timeFriday:Iy,timeFridays:D3,timeHour:Qs,timeHours:b3,timeInterval:Re,timeMillisecond:$i,timeMilliseconds:Ly,timeMinute:Zs,timeMinutes:m3,timeMonday:No,timeMondays:A3,timeMonth:tl,timeMonths:B3,get timeParse(){return ub},timeSaturday:Ny,timeSaturdays:P3,timeSecond:Pn,timeSeconds:Ey,timeSunday:Ai,timeSundays:Oy,timeThursday:Mr,timeThursdays:_3,timeTickInterval:Uy,timeTicks:Hy,timeTuesday:Ry,timeTuesdays:T3,timeWednesday:By,timeWednesdays:w3,timeWeek:Ai,timeWeeks:Oy,timeYear:cn,timeYears:N3,timeout:Oc,timer:Ya,timerFlush:Tg,transition:Cg,transpose:md,tree:kC,treemap:sy,treemapBinary:EC,treemapDice:Ro,treemapResquarify:BC,treemapSlice:Hs,treemapSliceDice:RC,treemapSquarify:$f,tsv:OD,tsvFormat:TD,tsvFormatBody:wD,tsvFormatRow:DD,tsvFormatRows:_D,tsvFormatValue:PD,tsvParse:um,tsvParseRows:AD,union:jS,unixDay:Nf,unixDays:S3,utcDay:Io,utcDays:$3,get utcFormat(){return rl},utcFriday:Yy,utcFridays:E3,utcHour:el,utcHours:x3,utcMillisecond:$i,utcMilliseconds:Ly,utcMinute:Js,utcMinutes:y3,utcMonday:Oo,utcMondays:M3,utcMonth:nl,utcMonths:I3,get utcParse(){return Yf},utcSaturday:Wy,utcSaturdays:R3,utcSecond:Pn,utcSeconds:Ey,utcSunday:Ti,utcSundays:Gy,utcThursday:Lr,utcThursdays:k3,utcTickInterval:jy,utcTicks:Xy,utcTuesday:zy,utcTuesdays:C3,utcWednesday:Fy,utcWednesdays:L3,utcWeek:Ti,utcWeeks:Gy,utcYear:un,utcYears:O3,variance:Jp,window:bc,xml:WD,zip:RS,zoom:Pt,zoomIdentity:Mi,zoomTransform:B1},Symbol.toStringTag,{value:"Module"})),Ye=({maxValue:e=1,minValue:t=0,axisWidth:n,scaleDomain:r=yt.scaleDomain,scaleRange:i=yt.scaleRange,reverse:o=!1})=>{const a=r[0]??yt.scaleDomain[0],s=r[1]??yt.scaleDomain[1],c=i[0]??yt.scaleRange[0],l=i[1]??yt.scaleRange[1];let u=a==="auto"?t<0?t:0:a==="min"?t:a,h=s==="auto"?e>=0?e:0:s==="max"?e:s;const f=e-(e-u)/(1-c),p=h/l;return o?Je().domain([f,p]).range([n,0]):Je().domain([f,p]).range([0,n])},N1=({maxValue:e=1,minValue:t=0,axisWidth:n,scaleDomain:r=yt.scaleDomain,scaleRange:i=yt.scaleRange,reverse:o=!1})=>{t===e&&(e+=1,t-=1);const a=r[0]??yt.scaleDomain[0],s=r[1]??yt.scaleDomain[1],c=i[0]??yt.scaleRange[0],l=i[1]??yt.scaleRange[1];let u=a==="auto"?t<0?t:0:a==="min"?t:a,h=s==="auto"?e>=0?e:0:s==="max"?e:s;const f=e-(e-u)/(1-c),p=h/l;return o?Je().domain([n,0]).range([f,p]):Je().domain([0,n]).range([f,p])},O1=({axisLabels:e,axisWidth:t,padding:n=.5})=>{let r=[0,t];return Us().domain(e).range(r).padding(n)},oh=({axisLabels:e,axisWidth:t,padding:n=0,reverse:r=!1})=>{let i=e.map((c,l)=>l);r&&i.reverse(),i.length||(i=[0]);const o=i.length-1+n*2,a=t/o,s=a*n-a*.5;return kf().domain([s,t-s]).range(i)};function z1(e){try{return e.node().getBBox()}catch(t){throw new Error(t)}}function J6(e,t){function n(i){var s;const o=document.createElementNS("http://www.w3.org/1999/xhtml","div");o.innerHTML='<svg xmlns="http://www.w3.org/2000/svg">'+i+"</svg>";const a=document.createDocumentFragment();for(;a&&((s=o==null?void 0:o.firstChild)!=null&&s.firstChild);)a.appendChild(o.firstChild.firstChild);return a}const r=e.node();for(;r.hasChildNodes();)r.removeChild(r.firstChild);e.node().appendChild(n(t))}function Vt(e){return e.substring(0,4)!=="ease"?io:ih[e]??io}function Al({axisWidth:e,innerRadius:t,outerRadius:n,padAngle:r,cornerRadius:i}){const o=Je().domain([0,1]).range([0,e/2]),a=o(n);return fl().innerRadius(o(t)).outerRadius(a).padAngle(r).padRadius(a).cornerRadius(i)}const Xt=(e,t)=>{if(t instanceof Function){const n=t(e);return String(n??"")}return fo(t)(e)};function ah(e){return!(Ui(e).l<=60)}function Tl(e){const t=e.filter(n=>n.value!=null&&n.visible!=!1).map(n=>n.value);return Vr(t)}function jo(e){return e==="auto"?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":e}function de(e,t){const n=jo(t.colorScheme),r=t.colors[n];return e==="data"?r.data[0]:e==="dataContrast"?ah(r.data[0])?r.dataContrast[1]:r.dataContrast[0]:e=="none"?"none":r[e]!=null?r[e]:r.primary}function we({datum:e,colorType:t,theme:n}){const r=n.colors[jo(n.colorScheme)];if(t==="data"){const i=e.color;return i||r.data[0]}else if(t==="dataContrast"){const i=e.color;return i?ah(i)?r.dataContrast[1]:r.dataContrast[0]:ah(r.data[0])?r.dataContrast[1]:r.dataContrast[0]}return t=="none"?"none":r[t]!=null?r[t]:r.primary}function U(e,t,n,r){const i=r?`--${r}`:"";return`${Zl(e,t)}__${n}${i}`}function We(e,t,n){const i=Math.random().toString(36).substr(2,5);return U(e,t,n,i)}function F1(e){let t=Math.floor(Math.sqrt(e)),n=Math.ceil(e/t);for(;t*n<e;)n++;return{rowAmount:t,columnAmount:n}}function Q6(e,t,n){const r=t.columnGap==="auto"?e.left+e.right:t.columnGap,i=t.rowGap==="auto"?e.top+e.bottom:t.rowGap,{rowAmount:o,columnAmount:a}=t.rowAmount*t.columnAmount>=n?t:F1(n);return new Array(n).fill(null).map((s,c)=>{const l=c%a,u=Math.floor(c/a),h=(e.width-r*(a-1))/a,f=(e.height-i*(o-1))/o,p=l*h+l*r,g=u*f+u*i;return{slotIndex:c,rowIndex:u,columnIndex:l,startX:p,startY:g,centerX:p+h/2,centerY:g+f/2,width:h,height:f}})}function wl(e,t,n){const r=t.columnGap==="auto"?e.left+e.right:t.columnGap,i=t.rowGap==="auto"?e.top+e.bottom:t.rowGap,{rowAmount:o,columnAmount:a}=t.rowAmount*t.columnAmount>=n?t:F1(n);return new Array(n).fill(null).map((s,c)=>{const l=c%a,u=Math.floor(c/a),h=(e.width-r*(a-1))/a,f=(e.height-i*(o-1))/o,p=l*h+l*r,g=u*f+u*i,m=[p,g],d=[h/e.width,f/e.height];return{slotIndex:c,rowIndex:u,columnIndex:l,translate:m,scale:d}})}const Y1=0,_l=1,e8=({selectedMultivariateData$:e,pluginParams$:t})=>N({selectedMultivariateData:e,pluginParams:t}).pipe(W(0),A(({selectedMultivariateData:n,pluginParams:r})=>n.map(i=>i.map((o,a)=>{const s=r.visibleFilter;return{...o,visible:s?s(o):!0}}))));function t8(e,t){return`value${t}`}const n8=({encoding$:e})=>e.pipe(A(t=>t.multivariate.map((n,r)=>n.name??t8("multivariate",r))),X((t,n)=>JSON.stringify(t)===JSON.stringify(n))),r8=({computedData$:e,xyValueIndex$:t})=>N({computedData:e,xyValueIndex:t}).pipe(A(n=>{const r=n.computedData.flat(),[i,o]=Vr(r.map(c=>c.multivariate[n.xyValueIndex[0]].value)),[a,s]=Vr(r.map(c=>c.multivariate[n.xyValueIndex[1]].value));return{minX:i,maxX:o,minY:a,maxY:s}})),i8=({computedData$:e,xyMinMax$:t,xyValueIndex$:n,layout$:r})=>{function i(a,s){let c=a.maxX,l=a.minX;return l===c&&c===0&&(c=1),Ye({maxValue:c,minValue:l,axisWidth:s.width,scaleDomain:["auto","auto"],scaleRange:[0,1]})}function o(a,s){let c=a.maxY,l=a.minY;return l===c&&c===0&&(c=1),Ye({maxValue:c,minValue:l,axisWidth:s.height,scaleDomain:["auto","auto"],scaleRange:[0,1],reverse:!0})}return N({computedData:e,xyMinMax:t,xyValueIndex:n,layout:r}).pipe(V(async a=>a),A(a=>{const s=i(a.xyMinMax,a.layout),c=o(a.xyMinMax,a.layout);return a.computedData.map((l,u)=>l.map((h,f)=>({...h,axisX:s(h.multivariate[a.xyValueIndex[0]].value??0),axisY:c(h.multivariate[a.xyValueIndex[1]].value??0)})))}))},o8=({computedData$:e})=>e.pipe(A(t=>t.map(n=>n[0]?n[0].series:"")),X((t,n)=>JSON.stringify(t)===JSON.stringify(n))),a8=({computedData$:e})=>e.pipe(A(t=>t.map(n=>n.filter(r=>r.visible==!0)).filter(n=>n.length>0))),s8=({visibleComputedData$:e,xAxis$:t})=>N({visibleComputedData:e,xAxis:t}).pipe(A(n=>{let r=n.visibleComputedData[0]&&n.visibleComputedData[0][0]&&n.visibleComputedData[0][0].multivariate.length?n.visibleComputedData[0][0].multivariate.length-1:0;return[n.xAxis.scaleDomain[0]==="auto"||n.xAxis.scaleDomain[0]==="min"?0:n.xAxis.scaleDomain[0],n.xAxis.scaleDomain[1]==="auto"||n.xAxis.scaleDomain[1]==="max"?r:n.xAxis.scaleDomain[1]]}),X((n,r)=>n[0]===r[0]&&n[1]===r[1])),l8=({visibleComputedData$:e,ordinalScaleDomain$:t})=>N({visibleComputedData:e,ordinalScaleDomain:t}).pipe(A(n=>n.visibleComputedData.map(r=>r.map((i,o)=>{let a=i;return a.sum=a.multivariate.filter((s,c)=>c>=n.ordinalScaleDomain[0]&&c<=n.ordinalScaleDomain[1]).reduce((s,c)=>s+c.value,0),a})))),c8=({xyValueIndex$:e,isSeriesSeprate$:t,visibleComputedData$:n})=>N({isSeriesSeprate:t,xyValueIndex:e,visibleComputedData:n}).pipe(V(async r=>r),A(r=>{const i=r.xyValueIndex[0];return r.isSeriesSeprate?r.visibleComputedData.map(o=>o.sort((a,s)=>{const c=s.multivariate[i].value??-1/0,l=a.multivariate[i].value??-1/0;return c-l})):[r.visibleComputedData.flat().sort((o,a)=>{const s=a.multivariate[i].value??-1/0,c=o.multivariate[i].value??-1/0;return s-c})]})),u8=({isSeriesSeprate$:e,visibleComputedSumData$:t})=>N({isSeriesSeprate:e,visibleComputedSumData:t}).pipe(V(async n=>n),A(n=>n.isSeriesSeprate?n.visibleComputedSumData.map(r=>r.sort((i,o)=>o.sum-i.sum)):[n.visibleComputedSumData.flat().sort((r,i)=>i.sum-r.sum)])),f8=({computedXYData$:e})=>e.pipe(A(t=>t.map(n=>n.filter(r=>r.visible==!0)).filter(n=>n.length>0))),h8=({computedData$:e,pluginParams$:t,layout$:n})=>N({computedData:e,pluginParams:t,layout:n}).pipe(W(0),A(i=>{if(i.computedData.length===0)return[{slotIndex:0,rowIndex:0,columnIndex:0,translate:[0,0],scale:[1,1]}];if(i.pluginParams.separateSeries)return wl(i.layout,i.pluginParams.container,i.computedData.length);{const o=wl(i.layout,i.pluginParams.container,1);return i.computedData.map((a,s)=>o[0])}})),p8=({visibleComputedXYData$:e,xyMinMax$:t,xyValueIndex$:n,xAxis$:r,yAxis$:i})=>N({visibleComputedXYData:e,xyMinMax:t,xyValueIndex:n,xAxis:r,yAxis:i}).pipe(A(o=>{const{minX:a,maxX:s,minY:c,maxY:l}=(()=>{let{minX:m,maxX:d,minY:y,maxY:b}=o.xyMinMax;return o.xAxis.scaleDomain[0]==="auto"&&m>0?m=0:typeof o.xAxis.scaleDomain[0]=="number"&&(m=o.xAxis.scaleDomain[0]),o.xAxis.scaleDomain[1]==="auto"&&d<0?d=0:typeof o.xAxis.scaleDomain[1]=="number"&&(d=o.xAxis.scaleDomain[1]),o.yAxis.scaleDomain[0]==="auto"&&y>0?y=0:typeof o.yAxis.scaleDomain[0]=="number"&&(y=o.yAxis.scaleDomain[0]),o.yAxis.scaleDomain[1]==="auto"&&b<0?b=0:typeof o.yAxis.scaleDomain[1]=="number"&&(b=o.yAxis.scaleDomain[1]),{minX:m,maxX:d,minY:y,maxY:b}})();let u=[],h=null,f=null,p=null,g=null;for(let m of o.visibleComputedXYData)for(let d of m){const y=d.multivariate[o.xyValueIndex[0]].value,b=d.multivariate[o.xyValueIndex[1]].value;y>=a&&y<=s&&b>=c&&b<=l&&(u.push(d),(h==null||y<h.multivariate[o.xyValueIndex[0]].value)&&(h=d),(f==null||y>f.multivariate[o.xyValueIndex[0]].value)&&(f=d),(p==null||b<p.multivariate[o.xyValueIndex[1]].value)&&(p=d),(g==null||b>g.multivariate[o.xyValueIndex[1]].value)&&(g=d))}return{datumList:u,minXDatum:h,maxXDatum:f,minYDatum:p,maxYDatum:g}})),d8=({xyMinMax$:e,xyValueIndex$:t,filteredXYMinMaxData$:n,xAxis$:r,yAxis$:i,layout$:o})=>{const a=new J;function s({xyMinMax:c,xyValueIndex:l,filteredXYMinMaxData:u,xAxis:h,yAxis:f,width:p,height:g}){let m=0,d=0,y=0,b=0,{minX:x,maxX:v,minY:S,maxY:$}=c,L=u.minXDatum.multivariate[l[0]].value??0,E=u.maxXDatum.multivariate[l[0]].value??0,M=u.minYDatum.multivariate[l[1]].value??0,C=u.maxYDatum.multivariate[l[1]].value??0;L===E&&E===0&&(E=1),M===C&&C===0&&(C=1),x===v&&v===0&&(v=1),S===$&&$===0&&($=1);const B=Ye({maxValue:E,minValue:L,axisWidth:p,scaleDomain:h.scaleDomain,scaleRange:h.scaleRange}),D=B(x>0?0:x),P=B(v<0?0:v);m=D,y=(P-D)/p;const k=Ye({maxValue:C,minValue:M,axisWidth:g,scaleDomain:f.scaleDomain,scaleRange:f.scaleRange,reverse:!0}),T=k(S>0?0:S),I=k($<0?0:$);return d=I,b=(T-I)/g,{translate:[m,d],scale:[y,b],rotate:0,rotateX:0,rotateY:0,value:`translate(${m}px, ${d}px) scale(${y}, ${b})`}}return new me(c=>(N({xyMinMax:e,xyValueIndex:t,filteredXYMinMaxData:n,xAxis:r,yAxis:i,layout:o}).pipe(R(a),W(0)).subscribe(l=>{if(!l.filteredXYMinMaxData.minXDatum||!l.filteredXYMinMaxData.maxXDatum||l.filteredXYMinMaxData.minXDatum.multivariate[l.xyValueIndex[0]].value==null||l.filteredXYMinMaxData.maxXDatum.multivariate[l.xyValueIndex[0]].value==null||!l.filteredXYMinMaxData.minYDatum||!l.filteredXYMinMaxData.maxYDatum||l.filteredXYMinMaxData.minYDatum.multivariate[l.xyValueIndex[1]].value==null||l.filteredXYMinMaxData.maxYDatum.multivariate[l.xyValueIndex[1]].value==null)return;const u=s({xyMinMax:l.xyMinMax,xyValueIndex:l.xyValueIndex,filteredXYMinMaxData:l.filteredXYMinMaxData,xAxis:l.xAxis,yAxis:l.yAxis,width:l.layout.width,height:l.layout.height});c.next(u)}),function(){a.next(void 0)}))},g8=({containerPosition$:e,graphicTransform$:t})=>N({containerPosition:e,graphicTransform:t}).pipe(W(0),A(n=>n.containerPosition.map((r,i)=>[1/n.graphicTransform.scale[0]/n.containerPosition[i].scale[0],1/n.graphicTransform.scale[1]/n.containerPosition[i].scale[1]]))),m8=({visibleComputedSumData$:e,filteredXYMinMaxData$:t,xAxis$:n,containerSize$:r})=>N({visibleComputedSumData:e,xAxis:n,containerSize:r,filteredXYMinMaxData:t}).pipe(W(0),A(i=>{if(!i.filteredXYMinMaxData.minXDatum||!i.filteredXYMinMaxData.maxXDatum)return;let o=i.filteredXYMinMaxData.maxXDatum.multivariate[Y1].value,a=i.filteredXYMinMaxData.minXDatum.multivariate[Y1].value;return o===a&&o===0&&(o=1),Ye({maxValue:o,minValue:a,axisWidth:i.containerSize.width,scaleDomain:i.xAxis.scaleDomain,scaleRange:i.xAxis.scaleRange})})),y8=({yAxis$:e,filteredXYMinMaxData$:t,containerSize$:n})=>N({yAxis:e,containerSize:n,filteredXYMinMaxData:t}).pipe(W(0),A(r=>{if(!r.filteredXYMinMaxData.minYDatum||!r.filteredXYMinMaxData.maxYDatum||r.filteredXYMinMaxData.minYDatum.multivariate[_l].value==null||r.filteredXYMinMaxData.maxYDatum.multivariate[_l].value==null)return;let i=r.filteredXYMinMaxData.maxYDatum.multivariate[_l].value,o=r.filteredXYMinMaxData.minYDatum.multivariate[_l].value;return i===o&&i===0&&(i=1),Ye({maxValue:i,minValue:o,axisWidth:r.containerSize.height,scaleDomain:r.yAxis.scaleDomain,scaleRange:r.yAxis.scaleRange,reverse:!0})})),sh=({selection:e,pluginName:t,layerName:n,clipPathID:r,seriesLabels$:i,containerPosition$:o,graphicTransform$:a})=>{const s=U(t,n,"category"),c=U(t,n,"axes"),l=U(t,n,"graphic"),u=i.pipe(A((g,m)=>e.selectAll(`g.${s}`).data(g,d=>d).join(d=>d.append("g").classed(s,!0).each((y,b,x)=>{Y(x[b]).selectAll(`g.${c}`).data([b]).join(v=>v.append("g").classed(c,!0).attr("clip-path",`url(#${r})`).each((S,$,L)=>{Y(L[$]).selectAll("defs").data([$]).join("defs"),Y(L[$]).selectAll("g").data([$]).join("g").classed(l,!0)}),v=>v,v=>v.remove())}),d=>d,d=>d.remove())),z(1));N({seriesSelection:u,containerPosition:o}).pipe(W(0)).subscribe(g=>{g.seriesSelection.transition().attr("transform",(m,d)=>{const y=g.containerPosition[d]??g.containerPosition[0],b=y.translate,x=y.scale;return`translate(${b[0]}, ${b[1]}) scale(${x[0]}, ${x[1]})`})});const h=u.pipe(A(g=>g.select(`g.${c}`)),z(1)),f=h.pipe(A(g=>g.select("defs")),z(1)),p=N({axesSelection:h,graphicTransform:a}).pipe(W(0),A(g=>{const m=g.axesSelection.select(`g.${l}`);return m.transition().duration(50).style("transform",g.graphicTransform.value),m}),z(1));return{seriesSelection$:u,axesSelection$:h,defsSelection$:f,graphicGSelection$:p}},W1=({selection:e,pluginName:t,layerName:n,clipPathID:r,computedData$:i,containerPosition$:o,isSeriesSeprate$:a})=>{const s=U(t,n,"container"),c=N({computedData:i.pipe(X((l,u)=>l.length===u.length)),isSeriesSeprate:a}).pipe(V(async l=>l),A(l=>l.isSeriesSeprate?l.computedData:[l.computedData[0]]),A((l,u)=>e.selectAll(`g.${s}`).data(l,h=>h&&h[0]?h[0].categoryIndex:u).join("g").classed(s,!0).attr("clip-path",h=>"none")),z(1));return N({containerSelection:c,gridContainerPosition:o}).pipe(W(0)).subscribe(l=>{l.containerSelection.attr("transform",(u,h)=>{const f=l.gridContainerPosition[h]??l.gridContainerPosition[0],p=f.translate;return f.scale,`translate(${p[0]}, ${p[1]})`})}),c},b8=({rootSelection:e,xAxis$:t,yAxis$:n,xyValueIndex$:r,filteredXYMinMaxData$:i,containerPosition$:o,containerSize$:a,layout$:s})=>{const c=Rn(e,"mousemove").pipe(W(2)),l=new me(h=>{N({containerSize:a,filteredXYMinMaxData:i,xAxis:t,yAxis:n,xyValueIndex:r}).pipe(W(0)).subscribe(f=>{const[p,g]=f.xyValueIndex;if(!f.filteredXYMinMaxData.minXDatum||!f.filteredXYMinMaxData.maxXDatum||f.filteredXYMinMaxData.minXDatum.multivariate[p].value==null||f.filteredXYMinMaxData.maxXDatum.multivariate[p].value==null||!f.filteredXYMinMaxData.minYDatum||!f.filteredXYMinMaxData.maxYDatum||f.filteredXYMinMaxData.minYDatum.multivariate[g].value==null||f.filteredXYMinMaxData.maxYDatum.multivariate[g].value==null)return;const m=N1({maxValue:f.filteredXYMinMaxData.maxXDatum.multivariate[p].value,minValue:f.filteredXYMinMaxData.minXDatum.multivariate[p].value,axisWidth:f.containerSize.width,scaleDomain:f.xAxis.scaleDomain,scaleRange:f.xAxis.scaleRange}),d=N1({maxValue:f.filteredXYMinMaxData.maxYDatum.multivariate[g].value,minValue:f.filteredXYMinMaxData.minYDatum.multivariate[g].value,axisWidth:f.containerSize.height,scaleDomain:f.yAxis.scaleDomain,scaleRange:f.yAxis.scaleRange,reverse:!0});h.next({xScale:m,yScale:d})})}),u=N({rootMousemove:c,layout:s,containerPosition:o}).pipe(W(0),A(h=>{const f=(()=>{let g=h.rootMousemove.offsetX;const d=h.containerPosition.map((y,b)=>{var x;return[y.translate[0],((x=h.containerPosition[b+1])==null?void 0:x.translate[0])??h.layout.rootWidth]}).filter(y=>y[0]<y[1]).find(y=>g>=y[0]&&g<=y[1]);return d&&(g=g-d[0]),g-h.layout.left})(),p=(()=>{let g=h.rootMousemove.offsetY;const d=h.containerPosition.map((y,b)=>{var x;return[y.translate[1],((x=h.containerPosition[b+1])==null?void 0:x.translate[1])??h.layout.rootHeight]}).filter(y=>y[0]<y[1]).find(y=>g>=y[0]&&g<=y[1]);return d&&(g=g-d[0]),g-h.layout.top})();return{x:f,y:p}}));return N({xyScale:l,axisValue:u,containerPosition:o}).pipe(W(0),A(h=>({x:h.axisValue.x/h.containerPosition[0].scale[0],y:h.axisValue.y/h.containerPosition[0].scale[1],xValue:h.xyScale.xScale(h.axisValue.x),yValue:h.xyScale.yScale(h.axisValue.y)})))},lh=0,hn=2,x8=3,$t=4,Dl=5,G1=6,Ci=7,v8=8,$8=9,qn="ScatterPlot",Cn="Point";function S8({graphicGSelection:e,circleGClassName:t,circleClassName:n,visibleComputedXYData:r,layerParams:i,styles:o,theme:a,graphicReverseScale:s}){const c=h=>{const f=h.size();return o.transitionDuration/f};let l=0;return e.each((h,f,p)=>{Y(p[f]).selectAll("g").data(r[f],g=>g.id).join(g=>(l=c(g),g.append("g").classed(t,!0)),g=>g,g=>g.remove()).attr("transform",g=>`translate(${g.axisX}, ${g.axisY})`).each((g,m,d)=>{Y(d[m]).selectAll("circle").data([g]).join(y=>y.append("circle").style("cursor","pointer").style("vector-effect","non-scaling-stroke").classed(n,!0).attr("opacity",0).transition().delay((b,x)=>m*l).attr("opacity",1),y=>y.transition().duration(o.transitionDuration).attr("opacity",1),y=>y.remove()).attr("r",i.radius).attr("fill",(y,b)=>we({datum:y,colorType:i.fillColorType,theme:a})).attr("stroke",(y,b)=>we({datum:y,colorType:i.strokeColorType,theme:a})).attr("stroke-width",i.strokeWidth).attr("transform",`scale(${s[f][0]??1}, ${s[f][1]??1})`)})}),e.selectAll(`circle.${n}`)}function A8({selection:e,ids:t,styles:n}){if(e.interrupt("highlight"),!t.length){e.transition("highlight").duration(200).style("opacity",1);return}e.each((r,i,o)=>{t.includes(r.id)?Y(o[i]).style("opacity",1).transition("highlight").duration(200):Y(o[i]).style("opacity",n.unhighlightedOpacity).transition("highlight").duration(200)})}function T8({defsSelection:e,clipPathData:t}){e.selectAll("clipPath").data(t).join(n=>n.append("clipPath"),n=>n,n=>n.remove()).attr("id",n=>n.id).each((n,r,i)=>{Y(i[r]).selectAll("rect").data([n]).join("rect").attr("x",0).attr("y",0).attr("width",o=>o.width).attr("height",o=>o.height)})}const w8=he({name:Cn,defaultParams:Xp,layerIndex:$t,initShow:!0,validator:e=>H(e,{radius:{toBeTypes:["number"]},fillColorType:{toBeOption:"ColorType"},strokeColorType:{toBeOption:"ColorType"},strokeWidth:{toBeTypes:["number"]}}),setup:({svgG:e,pluginParams$:t,layerParams$:n,context:r})=>{const i=new J;r.layout$.pipe(R(i)).subscribe(g=>{Y(e).attr("transform",`translate(${g.left}, ${g.top})`)});const o=We(qn,Cn,"clipPath-box"),a=U(qn,Cn,"circleG"),s=U(qn,Cn,"circle"),{defsSelection$:c,graphicGSelection$:l}=sh({selection:Y(e),pluginName:qn,layerName:Cn,clipPathID:o,seriesLabels$:r.seriesLabels$,containerPosition$:r.containerPosition$,graphicTransform$:r.graphicTransform$}),u=N({computedData:r.computedData$,graphicReverseScale:r.graphicReverseScale$}).pipe(R(i),W(0),A(g=>g.computedData.map((m,d)=>g.graphicReverseScale[d])));N({defsSelection:c,layout:r.layout$}).pipe(R(i),W(0)).subscribe(g=>{const m=[{id:o,width:g.layout.width,height:g.layout.height}];T8({defsSelection:g.defsSelection,clipPathData:m})});const h=N({graphicGSelection:l,visibleComputedXYData:r.visibleComputedXYData$,layerParams:n,graphicReverseScale:u,styles:t.pipe(A(g=>g.styles)),theme:r.theme$}).pipe(R(i),W(0),A(g=>S8({graphicGSelection:g.graphicGSelection,circleGClassName:a,circleClassName:s,visibleComputedXYData:g.visibleComputedXYData,layerParams:g.layerParams,styles:g.styles,theme:g.theme,graphicReverseScale:g.graphicReverseScale}))),f=r.valueLabels$.pipe(R(i),A(g=>[g[0]??"X",g[1]??"Y"]),X((g,m)=>g[0]===m[0]&&g[1]===m[1])),p=t.pipe(R(i),A(g=>g.styles.highlightTarget),X());return N({graphicSelection:h,computedData:r.computedData$,highlightTarget:p,valueLabels:f}).pipe(R(i),W(0)).subscribe(g=>{g.graphicSelection.on("mouseover",(m,d)=>{r.eventTrigger$.next({eventName:"mouseover",pluginName:qn,layerName:Cn,target:d,event:m})}).on("mousemove",(m,d)=>{r.eventTrigger$.next({eventName:"mousemove",pluginName:qn,layerName:Cn,target:d,event:m})}).on("mouseout",(m,d)=>{r.eventTrigger$.next({eventName:"mouseout",pluginName:qn,layerName:Cn,target:d,event:m})}).on("click",(m,d)=>{r.eventTrigger$.next({eventName:"click",pluginName:qn,layerName:Cn,target:d,event:m})})}),N({graphicSelection:h,highlight:r.highlight$.pipe(A(g=>g.map(m=>m.id))),styles:t.pipe(A(g=>g.styles))}).pipe(R(i),V(async g=>g)).subscribe(g=>{A8({selection:g.graphicSelection,ids:g.highlight,styles:g.styles})}),()=>{i.next(void 0)}}}),Kn="ScatterPlot",Ln="Bubble",_8=.9;function D8({graphicGSelection:e,circleGClassName:t,circleClassName:n,bubbleData:r,layerParams:i,styles:o,theme:a,graphicReverseScale:s}){const c=h=>{const f=h.size();return o.transitionDuration/f};let l=0;return e.each((h,f,p)=>{Y(p[f]).selectAll("g").data(r[f],g=>g.id).join(g=>(l=c(g),g.append("g").classed(t,!0)),g=>g,g=>g.remove()).attr("transform",g=>`translate(${g.axisX}, ${g.axisY})`).each((g,m,d)=>{Y(d[m]).selectAll("circle").data([g]).join(y=>y.append("circle").style("cursor","pointer").style("vector-effect","non-scaling-stroke").classed(n,!0).attr("opacity",0).transition().delay((b,x)=>m*l).attr("opacity",b=>b.opacity),y=>y.transition().duration(o.transitionDuration).attr("opacity",b=>b.opacity),y=>y.remove()).attr("r",y=>y.r).attr("fill",(y,b)=>we({datum:y,colorType:i.fillColorType,theme:a})).attr("stroke",(y,b)=>we({datum:y,colorType:i.strokeColorType,theme:a})).attr("stroke-width",i.strokeWidth).attr("transform",`scale(${s[f][0]??1}, ${s[f][1]??1})`)})}),e.selectAll(`circle.${n}`)}function P8({selection:e,ids:t,styles:n}){if(e.interrupt("highlight"),!t.length){e.transition("highlight").duration(200).style("opacity",r=>r.opacity);return}e.each((r,i,o)=>{t.includes(r.id)?Y(o[i]).style("opacity",s=>s.opacity).transition("highlight").duration(200):Y(o[i]).style("opacity",n.unhighlightedOpacity).transition("highlight").duration(200)})}function M8({defsSelection:e,clipPathData:t}){e.selectAll("clipPath").data(t).join(n=>n.append("clipPath"),n=>n,n=>n.remove()).attr("id",n=>n.id).each((n,r,i)=>{Y(i[r]).selectAll("rect").data([n]).join("rect").attr("x",0).attr("y",0).attr("width",o=>o.width).attr("height",o=>o.height)})}const C8=he({name:Ln,defaultParams:jp,layerIndex:G1,initShow:!1,validator:e=>H(e,{fillColorType:{toBeOption:"ColorType"},strokeColorType:{toBeOption:"ColorType"},strokeWidth:{toBeTypes:["number"]},valueLinearOpacity:{toBeTypes:["number[]"]},arcScaleType:{toBe:"ArcScaleType",test:n=>n==="area"||n==="radius"},sizeAdjust:{toBeTypes:["number"]}}),setup:({svgG:e,pluginParams$:t,layerParams$:n,context:r})=>{const i=new J;r.layout$.pipe(R(i)).subscribe($=>{Y(e).attr("transform",`translate(${$.left}, ${$.top})`)});const o=We(Kn,Ln,"clipPath-box"),a=U(Kn,Ln,"circleG"),s=U(Kn,Ln,"circle"),{defsSelection$:c,graphicGSelection$:l}=sh({selection:Y(e),pluginName:Kn,layerName:Ln,clipPathID:o,seriesLabels$:r.seriesLabels$,containerPosition$:r.containerPosition$,graphicTransform$:r.graphicTransform$}),u=N({computedData:r.computedData$,graphicReverseScale:r.graphicReverseScale$}).pipe(R(i),W(0),A($=>$.computedData.map((L,E)=>$.graphicReverseScale[E])));N({defsSelection:c,layout:r.layout$}).pipe(R(i),W(0)).subscribe($=>{const L=[{id:o,width:$.layout.width,height:$.layout.height}];M8({defsSelection:$.defsSelection,clipPathData:L})});const h=r.filteredXYMinMaxData$.pipe(R(i),A($=>$.datumList.flat().map(L=>{var E;return((E=L.multivariate[2])==null?void 0:E.value)??0})),z(1)),f=r.filteredXYMinMaxData$.pipe(R(i),A($=>Vr($.datumList.flat().map(L=>{var E;return((E=L.multivariate[2])==null?void 0:E.value)??0})))),p=N({filteredMinMaxValue:f,layerParams:n}).pipe(R(i),W(0),A($=>Je().domain($.filteredMinMaxValue).range($.layerParams.valueLinearOpacity))),g=N({layout:r.layout$,layerParams:n}).pipe(R(i),A($=>Math.min($.layout.width,$.layout.height)/2*$.layerParams.sizeAdjust)),m=h.pipe(R(i),A($=>$.reduce((L,E)=>L+E,0)),mt($=>$>0)),d=N({totalR:g,totalValue:m,layerParams:n}).pipe(R(i),W(0),A($=>ln().domain([0,$.totalValue]).range([0,$.totalR]).exponent($.layerParams.arcScaleType==="area"?.5:1))),y=N({radiusScale:d,layerParams:n,totalR:g,filteredValueList:h}).pipe(R(i),W(0),A($=>$.layerParams.arcScaleType==="area"?1:(()=>{const L=$.totalR*$.totalR*Math.PI;return Math.sqrt(L/uc($.filteredValueList,E=>Math.PI*Math.pow($.radiusScale(E),2)))})())),b=N({visibleComputedXYData:r.visibleComputedXYData$,opacityScale:p,radiusScale:d,scaleFactor:y,layerParams:n}).pipe(R(i),W(0),A($=>$.visibleComputedXYData.map(L=>L.map(E=>{const M=E;return M.r=$.radiusScale(M.multivariate[2].value)*$.scaleFactor*_8,M.opacity=$.opacityScale(M.multivariate[2].value),M})))),x=N({graphicGSelection:l,bubbleData:b,graphicReverseScale:u,theme:r.theme$,styles:t.pipe(A($=>$.styles)),layerParams:n}).pipe(R(i),W(0),A($=>D8({graphicGSelection:$.graphicGSelection,circleGClassName:a,circleClassName:s,bubbleData:$.bubbleData,layerParams:$.layerParams,styles:$.styles,theme:$.theme,graphicReverseScale:$.graphicReverseScale}))),v=r.encoding$.pipe(R(i),A($=>[$.multivariate[0].name??"X",$.multivariate[1].name??"Y",$.multivariate[2].name??"Value"]),X(($,L)=>$[0]===L[0]&&$[1]===L[1]&&$[2]===L[2])),S=t.pipe(R(i),A($=>$.styles.highlightTarget),X());return N({graphicSelection:x,computedData:r.computedData$,highlightTarget:S,valueLabels:v}).pipe(R(i),W(0)).subscribe($=>{$.graphicSelection.on("mouseover",(L,E)=>{r.eventTrigger$.next({eventName:"mouseover",pluginName:Kn,layerName:Ln,target:E,event:L})}).on("mousemove",(L,E)=>{r.eventTrigger$.next({eventName:"mousemove",pluginName:Kn,layerName:Ln,target:E,event:L})}).on("mouseout",(L,E)=>{r.eventTrigger$.next({eventName:"mouseout",pluginName:Kn,layerName:Ln,target:E,event:L})}).on("click",(L,E)=>{r.eventTrigger$.next({eventName:"click",pluginName:Kn,layerName:Ln,target:E,event:L})})}),N({graphicSelection:x,highlight:r.highlight$.pipe(A($=>$.map(L=>L.id))),styles:t.pipe(A($=>$.styles))}).pipe(R(i),V(async $=>$)).subscribe($=>{P8({selection:$.graphicSelection,ids:$.highlight,styles:$.styles})}),()=>{i.next(void 0)}}});function V1(e,{text:t,radius:n,lineHeight:r,isBreakAll:i=!1,limit:o=0}){if(e==null||t==null){console.error("selection or text is not defined");return}n==null&&(n=e.node().getBBox().width/2);function a(p){let g;return i?g=p.split(""):g=p.split(/\s+/g),g[g.length-1]||g.pop(),g[0]||g.shift(),g}function s(p,g){return p&&g&&p.length>g&&(p=p.substring(0,g)+"..."),p}function c(p){var m;const g=document.createElement("canvas").getContext("2d");return((m=g==null?void 0:g.measureText(p))==null?void 0:m.width)??0}function l(p){const g=c(p.trim());return Math.sqrt(g*r)}function u(p,g){let m={width:0,text:""},d=1/0;const y=[];let b=" ";i&&(b="");for(let x=0,v=p.length;x<v;++x){const S=(m.text?m.text+b:"")+p[x],$=c(S);(d+$)/2<g?(m.width=d=$,m.text=S):(d=c(p[x]),m={width:d,text:p[x]},y.push(m))}return y}function h(p){let g=0;for(let m=0,d=p.length;m<d;++m){const y=(Math.abs(m-d/2+.5)+.5)*r,b=p[m].width/2;g=Math.max(g,Math.sqrt(b**2+y**2))}return g}function f(p,g){o>0&&(g=s(g,o));const m=a(g),d=l(g),y=u(m,d),b=h(y);let x=p.select("text");x.size()||(x=p.append("text")),x.attr("transform",`translate(0,0) scale(${n/b})`);const v=x.selectAll("tspan").data(y),S=v.enter().append("tspan").attr("x",0).merge(v).attr("y",($,L)=>(L-y.length/2+.8)*r).text($=>$.text);return v.exit().remove(),v.merge(S)}return f(e,t)}function Pl(e,{textArr:t,textSizePx:n,categoryAxisPosition:r,isContainerRotated:i}){e.text(null);const o=Number(e.attr("x"));let a=Number(e.attr("y"));i&&r==="top"&&(a-=(t.length-1)*n),e.selectAll("tspan").data(t).join("tspan").attr("x",o).attr("y",(s,c)=>a+c*n).text(s=>s)}function X1(e,{textArr:t,fontSizePx:n,quadrant:r}){e.selectAll("tspan").data(t).join("tspan").attr("x",0).attr("y",(i,o)=>r==1||r==2?-(t.length-1-o)*n:o*n).text(i=>i)}const Ml="ScatterPlot",Ho="XYGuide",ch=U(Ml,Ho,"label-box");function L8({axisX:e,axisY:t,layout:n,layerParams:r}){return e>=0&&e<=n.width&&t>=0&&t<=n.height?[{id:"line-x",x1:e,x2:e,y1:0,y2:n.height,dashArray:r.xAxis.lineDashArray??"none",colorType:r.xAxis.lineColorType},{id:"line-0",x1:0,x2:n.width,y1:t,y2:t,dashArray:r.yAxis.lineDashArray??"none",colorType:r.yAxis.lineColorType}]:[]}function k8({axisX:e,axisY:t,xValue:n,yValue:r,layerParams:i,fontSizePx:o,layout:a,columnAmount:s,rowAmount:c}){if(!(e>=0&&e<=a.width&&t>=0&&t<=a.height))return[];const l=6,u=3,h=e,f=a.height+i.xAxis.labelPadding*c,p=Xt(n,i.xAxis.labelTextFormat),g=p.split(`
61
+ `),m=g.reduce((j,Z)=>Z.length>j.length?Z:j,""),d=Gr(m,o),y=o*g.length,b=d+l*2,x=y+u*2,v=-b/2,S=-u,$=v+l,L=S+u,E=-(i.yAxis.labelPadding*s),M=t,C=Xt(r,i.yAxis.labelTextFormat),B=C.split(`
62
+ `),D=B.reduce((j,Z)=>Z.length>j.length?Z:j,""),P=Gr(D,o),w=o*B.length,k=P+l*2,T=w+u*2,I=-P-l,_=-u-w/2,O=I+l,F=_+u;return[{id:"label-x",x:h,y:f,text:p,textArr:g,textWidth:d,textHeight:y,colorType:i.xAxis.labelColorType,textColorType:i.xAxis.labelTextColorType,rectWidth:b,rectHeight:x,rectX:v,rectY:S,textX:$,textY:L},{id:"label-y",x:E,y:M,text:C,textArr:B,textWidth:P,textHeight:w,colorType:i.yAxis.labelColorType,textColorType:i.xAxis.labelTextColorType,rectWidth:k,rectHeight:T,rectX:I,rectY:_,textX:O,textY:F}]}function E8({selection:e,pluginName:t,lineData:n,theme:r}){const i=U(t,Ho,"auxline");return e.selectAll(`line.${i}`).data(n).join(a=>a.append("line").classed(i,!0).style("stroke-width",1).style("pointer-events","none").style("vector-effect","non-scaling-stroke").attr("x1",s=>s.x1).attr("y1",s=>s.y1).attr("x2",s=>s.x2).attr("y2",s=>s.y2),a=>a.transition().duration(50).attr("x1",c=>c.x1).attr("y1",c=>c.y1).attr("x2",c=>c.x2).attr("y2",c=>c.y2),a=>a.remove()).style("stroke",a=>de(a.colorType,r)).style("stroke-dasharray",a=>a.dashArray)}function R8(e){e.selectAll("line").data([]).exit().remove()}function B8({selection:e,labelData:t,layerParams:n,theme:r,textReverseTransform:i,fontSizePx:o}){return e.selectAll(`g.${ch}`).data(t).join(s=>s.append("g").classed(ch,!0).style("cursor","pointer").attr("transform",(c,l)=>`translate(${c.x}, ${c.y})`),s=>s.transition().duration(50).attr("transform",(l,u)=>`translate(${l.x}, ${l.y})`),s=>s.remove()).each((s,c,l)=>{Y(l[c]).selectAll("rect").data([s]).join(u=>u.append("rect").style("cursor","pointer").attr("rx",5).attr("ry",5),u=>u,u=>u.remove()).attr("width",u=>`${u.rectWidth}px`).attr("height",u=>`${u.rectHeight}px`).attr("fill",u=>de(u.colorType,r)).attr("x",u=>u.rectX).attr("y",u=>u.rectY).style("transform",i),Y(l[c]).selectAll("text").data([s]).join(u=>u.append("text").style("dominant-baseline","hanging").style("cursor","pointer").style("pointer-events","none"),u=>u,u=>u.remove()).style("transform",i).attr("fill",u=>de(u.textColorType,r)).attr("font-size",r.fontSize).attr("x",u=>u.textX).attr("y",u=>u.textY).each((u,h,f)=>{Pl(Y(f[h]),{textArr:s.textArr,textSizePx:o,categoryAxisPosition:h===0?"bottom":"left",isContainerRotated:!1})})})}function I8(e){e.selectAll(`g.${ch}`).data([]).exit().remove()}const N8=he({name:Ho,defaultParams:aa,layerIndex:Dl,initShow:!1,validator:e=>{const t=H(e,{xAxis:{toBeTypes:["object"]},yAxis:{toBeTypes:["object"]}});if(e.xAxis){const n=H(e.xAxis,{showLine:{toBeTypes:["boolean"]},showLabel:{toBeTypes:["boolean"]},lineDashArray:{toBeTypes:["string"]},lineColorType:{toBeOption:"ColorType"},labelColorType:{toBeOption:"ColorType"},labelTextColorType:{toBeOption:"ColorType"},labelTextFormat:{toBeTypes:["string","Function"]},labelPadding:{toBeTypes:["number"]}});if(n.status==="error")return n}if(e.yAxis){const n=H(e.yAxis,{showLine:{toBeTypes:["boolean"]},showLabel:{toBeTypes:["boolean"]},lineDashArray:{toBeTypes:["string"]},lineColorType:{toBeOption:"ColorType"},labelColorType:{toBeOption:"ColorType"},labelTextColorType:{toBeOption:"ColorType"},labelTextFormat:{toBeTypes:["string","Function"]},labelPadding:{toBeTypes:["number"]}});if(n.status==="error")return n}return t},setup:({svgG:e,pluginParams$:t,layerParams$:n,context:r})=>{const i=new J;r.layout$.pipe(R(i)).subscribe(p=>{Y(e).attr("transform",`translate(${p.left}, ${p.top})`)});const o=Y(r.svg),a=o.insert("rect","g").classed(U(Ml,Ho,"rect"),!0).attr("opacity",0),{axesSelection$:s}=sh({selection:Y(e),pluginName:Ml,layerName:Ho,clipPathID:"XYAuxClipPath",seriesLabels$:r.isSeriesSeprate$.pipe(V(p=>Ht(()=>p,r.seriesLabels$,r.seriesLabels$.pipe(A(g=>[g[0]]))))),containerPosition$:r.containerPosition$,graphicTransform$:r.graphicTransform$});r.layout$.pipe(R(i)).subscribe(p=>{a.attr("width",p.rootWidth).attr("height",p.rootHeight)});const c=r.containerPosition$.pipe(A(p=>p.reduce((m,d)=>d.columnIndex>m?d.columnIndex:m,0)+1),X()),l=r.containerPosition$.pipe(A(p=>p.reduce((m,d)=>d.rowIndex>m?d.rowIndex:m,0)+1),X()),u=r.containerPosition$.pipe(R(i),W(0),A(p=>`${`scale(${1/p[0].scale[0]}, ${1/p[0].scale[1]})`}`),X()),h=b8({rootSelection:o,xAxis$:r.zoomedXAxis$,yAxis$:r.yAxis$,xyValueIndex$:r.xyValueIndex$,filteredXYMinMaxData$:r.filteredXYMinMaxData$,containerPosition$:r.containerPosition$,containerSize$:r.containerSize$,layout$:r.layout$}).pipe(R(i));N({axesSelection:s,layout:r.layout$,xyPosition:h,layerParams:n,theme:r.theme$,textReverseTransform:u,fontSizePx:r.fontSizePx$,columnAmount:c,rowAmount:l}).pipe(R(i),W(0)).subscribe(p=>{const{x:g,y:m,xValue:d,yValue:y}=p.xyPosition,b=L8({axisX:g,axisY:m,layout:p.layout,layerParams:p.layerParams});E8({selection:p.axesSelection,pluginName:Ml,lineData:b,theme:p.theme});const x=k8({axisX:g,axisY:m,xValue:d,yValue:y,layerParams:p.layerParams,fontSizePx:p.fontSizePx,layout:p.layout,columnAmount:p.columnAmount,rowAmount:p.rowAmount});B8({selection:p.axesSelection,labelData:x,layerParams:p.layerParams,theme:p.theme,textReverseTransform:p.textReverseTransform,fontSizePx:p.fontSizePx})});const f=Rn(a,"mouseout").pipe(R(i));return N({rootRectMouseout:f,axesSelection:s}).pipe(R(i),W(0)).subscribe(p=>{setTimeout(()=>{R8(p.axesSelection),I8(p.axesSelection)})}),()=>{i.next(void 0),a.remove()}}}),O8=6,z8="middle",F8="hanging",Y8="start",W8="hanging";function G8({selection:e,position:t,xLabelClassName:n,layerParams:r,containerSize:i,xAxis:o,theme:a}){let c=r.tickPadding+r.labelOffset[0],l,u;t==="top"?(l=0,u=-r.tickPadding-r.labelOffset[1]):(l=i.height,u=r.tickPadding+r.labelOffset[1]);let h=u;e.selectAll(`g.${n}`).data([r]).join("g").classed(n,!0).each((f,p,g)=>{Y(g[p]).selectAll("text").data([f]).join(m=>m.append("text").style("font-weight","bold"),m=>m,m=>m.remove()).attr("text-anchor",Y8).attr("dominant-baseline",W8).attr("font-size",a.fontSize).style("fill",de(r.labelColorType,a)).attr("x",c).attr("y",h).text(m=>o.label)}).attr("transform",f=>`translate(${i.width}, ${l})`)}function V8({selection:e,position:t,xAxisClassName:n,layerParams:r,containerSize:i,theme:o,xScale:a,transitionDuration:s}){let c,l;t==="top"?(c=0,l=ba(a)):(c=i.height,l=hc(a));const u=e.selectAll(`g.${n}`).data([r]).join("g").classed(n,!0).attr("transform",`translate(0, ${c})`);let h=r.tickPadding;const f=l.scale(a).ticks(r.ticks).tickFormat(m=>Xt(m,r.tickFormat)).tickSize(r.tickFullLine==!0?-i.height:O8).tickSizeOuter(-i.height).tickPadding(h),p=u.transition().duration(s).ease(yn).call(f);return p.selectAll("line").style("fill","none").style("stroke",r.tickLineVisible==!0?de(r.tickColorType,o):"none").style("stroke-dasharray",r.tickFullLineDasharray).attr("pointer-events","none"),p.selectAll("path").style("fill","none").style("stroke",r.axisLineVisible==!0?de(r.axisLineColorType,o):"none").style("shape-rendering","crispEdges"),u.selectAll("text").attr("font-size",o.fontSize).style("color",de(r.tickTextColorType,o)).attr("text-anchor",z8).attr("dominant-baseline",F8).attr("dy",0),u}const X8=({selection:e,pluginName:t,layerName:n,position$:r,computedData$:i,layerParams$:o,xAxis$:a,theme$:s,isSeriesSeprate$:c,containerPosition$:l,containerSize$:u,xScale$:h,transitionDuration$:f})=>{const p=new J,g=U(t,n,"xAxisG"),m=U(t,n,"xAxis"),d=U(t,n,"xLabel"),b=W1({selection:e,pluginName:t,layerName:n,clipPathID:null,computedData$:i,containerPosition$:l,isSeriesSeprate$:c}).pipe(R(p)).pipe(R(p),A((x,v)=>x.selectAll(`g.${g}`).data([g]).join("g").classed(g,!0)));return N({axisSelection:b,position:r,layerParams:o,computedData:i,containerSize:u,xAxis:a,theme:s,xScale:h,transitionDuration:f}).pipe(R(p),V(async x=>x)).subscribe(x=>{V8({selection:x.axisSelection,position:x.position,xAxisClassName:m,layerParams:x.layerParams,theme:x.theme,containerSize:x.containerSize,xScale:x.xScale,transitionDuration:x.transitionDuration}),G8({selection:x.axisSelection,position:x.position,xLabelClassName:d,layerParams:x.layerParams,containerSize:x.containerSize,xAxis:x.xAxis,theme:x.theme})}),()=>{p.next(void 0)}},j8=6,H8="end",U8="middle",q8="end",K8="auto";function Z8({selection:e,yLabelClassName:t,layerParams:n,yAxis:r,theme:i}){const o=n.tickPadding-n.labelOffset[0],a=n.tickPadding+n.labelOffset[1];let s=-o,c=-a;e.selectAll(`g.${t}`).data([n]).join("g").classed(t,!0).each((l,u,h)=>{Y(h[u]).selectAll("text").data([l]).join(f=>f.append("text").style("font-weight","bold"),f=>f,f=>f.remove()).attr("text-anchor",q8).attr("dominant-baseline",K8).attr("font-size",i.fontSize).style("fill",de(n.labelColorType,i)).attr("x",s).attr("y",c).text(f=>r.label)})}function J8({selection:e,yAxisClassName:t,layerParams:n,containerSize:r,theme:i,yScale:o}){const a=e.selectAll(`g.${t}`).data([n]).join("g").classed(t,!0);let s=n.tickPadding;const c=pc(o).scale(o).ticks(n.ticks).tickFormat(u=>Xt(u,n.tickFormat)).tickSize(n.tickFullLine==!0?-r.width:j8).tickPadding(s),l=a.transition().duration(100).ease(yn).call(c);return l.selectAll("line").style("fill","none").style("stroke",n.tickLineVisible==!0?de(n.tickColorType,i):"none").style("stroke-dasharray",n.tickFullLineDasharray).attr("pointer-events","none"),l.selectAll("path").style("fill","none").style("stroke",n.axisLineVisible==!0?de(n.axisLineColorType,i):"none").style("shape-rendering","crispEdges"),a.selectAll("text").attr("font-size",i.fontSize).style("color",de(n.tickTextColorType,i)).attr("text-anchor",H8).attr("dominant-baseline",U8).attr("x",-s).attr("dy",0),a}const Q8=({selection:e,pluginName:t,layerName:n,computedData$:r,layerParams$:i,yAxis$:o,theme$:a,isSeriesSeprate$:s,containerPosition$:c,containerSize$:l,yScale$:u})=>{const h=new J,f=U(t,n,"yAxisG"),p=U(t,n,"yAxis"),g=U(t,n,"yLabel"),d=W1({selection:e,pluginName:t,layerName:n,clipPathID:null,computedData$:r,containerPosition$:c,isSeriesSeprate$:s}).pipe(R(h)).pipe(R(h),A((y,b)=>y.selectAll(`g.${f}`).data([f]).join("g").classed(f,!0)));return N({axisSelection:d,layerParams:i,computedData:r,containerSize:l,yAxis:o,yScale:u,theme:a}).pipe(R(h),V(async y=>y)).subscribe(y=>{J8({selection:y.axisSelection,yAxisClassName:p,layerParams:y.layerParams,containerSize:y.containerSize,theme:y.theme,yScale:y.yScale}),Z8({selection:y.axisSelection,yLabelClassName:g,layerParams:y.layerParams,yAxis:y.yAxis,theme:y.theme})}),()=>{h.next(void 0)}},j1="ScatterPlot",uh="XYAxes",ek=he({name:uh,defaultParams:sa,layerIndex:hn,initShow:!0,validator:e=>{const t=H(e,{xAxis:{toBeTypes:["object"]},yAxis:{toBeTypes:["object"]}});if(e.xAxis){const n=H(e.xAxis,{labelOffset:{toBe:"[number, number]",test:r=>Array.isArray(r)&&r.length===2&&typeof r[0]=="number"&&typeof r[1]=="number"},labelColorType:{toBeOption:"ColorType"},axisLineVisible:{toBeTypes:["boolean"]},axisLineColorType:{toBeOption:"ColorType"},ticks:{toBeTypes:["number","null"]},tickFormat:{toBeTypes:["string","Function"]},tickLineVisible:{toBeTypes:["boolean"]},tickPadding:{toBeTypes:["number"]},tickFullLine:{toBeTypes:["boolean"]},tickFullLineDasharray:{toBeTypes:["string"]},tickColorType:{toBeOption:"ColorType"},tickTextColorType:{toBeOption:"ColorType"}});if(n.status==="error")return n}if(e.yAxis){const n=H(e.yAxis,{labelOffset:{toBe:"[number, number]",test:r=>Array.isArray(r)&&r.length===2&&typeof r[0]=="number"&&typeof r[1]=="number"},labelColorType:{toBeOption:"ColorType"},axisLineVisible:{toBeTypes:["boolean"]},axisLineColorType:{toBeOption:"ColorType"},ticks:{toBeTypes:["number","null"]},tickFormat:{toBeTypes:["string","Function"]},tickLineVisible:{toBeTypes:["boolean"]},tickPadding:{toBeTypes:["number"]},tickFullLine:{toBeTypes:["boolean"]},tickFullLineDasharray:{toBeTypes:["string"]},tickColorType:{toBeOption:"ColorType"},tickTextColorType:{toBeOption:"ColorType"}});if(n.status==="error")return n}return t},setup:({svgG:e,pluginParams$:t,layerParams$:n,context:r})=>{const i=new J;r.layout$.pipe(R(i)).subscribe(l=>{Y(e).attr("transform",`translate(${l.left}, ${l.top})`)});const o=n.pipe(R(i),A(l=>l.xAxis),X((l,u)=>JSON.stringify(l)===JSON.stringify(u))),a=n.pipe(R(i),A(l=>l.yAxis),X((l,u)=>JSON.stringify(l)===JSON.stringify(u))),s=X8({selection:Y(e),pluginName:j1,layerName:`${uh}-x`,position$:Mt("bottom"),transitionDuration$:Mt(100),computedData$:r.computedData$,layerParams$:o,theme$:r.theme$,xAxis$:r.zoomedXAxis$,isSeriesSeprate$:r.isSeriesSeprate$,containerPosition$:r.containerPosition$,containerSize$:r.containerSize$,xScale$:r.xScale$}),c=Q8({selection:Y(e),pluginName:j1,layerName:`${uh}-y`,computedData$:r.computedData$,layerParams$:a,theme$:r.theme$,yAxis$:r.yAxis$,isSeriesSeprate$:r.isSeriesSeprate$,containerPosition$:r.containerPosition$,containerSize$:r.containerSize$,yScale$:r.yScale$});return()=>{i.next(void 0),s(),c()}}}),tk=({rootSelection:e,pluginName:t,layerName:n,initXAxis$:r,initYAxis$:i,xyMinMax$:o,layout$:a,eventTrigger$:s})=>{const c=new J;let l={k:1,x:0,y:0};const u=new me(f=>{N({initXAxis:r,layout:a,xyMinMax:o}).pipe(R(c),W(0)).subscribe(p=>{const g=Ye({maxValue:p.xyMinMax.maxX,minValue:p.xyMinMax.minX,axisWidth:p.layout.width,scaleDomain:p.initXAxis.scaleDomain,scaleRange:p.initXAxis.scaleRange});f.next(g)})}),h=N({initXAxis:r,initYAxis:i,xyMinMax:o}).pipe(R(c),W(0),A(f=>{let p=f.xyMinMax.minX,g=f.xyMinMax.maxX,m=f.xyMinMax.minY,d=f.xyMinMax.maxY;return f.initXAxis.scaleDomain[0]==="auto"&&p>0&&(p=0),f.initXAxis.scaleDomain[1]==="auto"&&g<0&&(g=0),f.initYAxis.scaleDomain[0]==="auto"&&m>0&&(m=0),f.initYAxis.scaleDomain[1]==="auto"&&d<0&&(d=0),{minX:p,maxX:g,minY:m,maxY:d}}));return N({initXScale:u,minMaxScaleDomain:h}).pipe(R(c),W(0)).subscribe(f=>{const p=f.initXScale.copy(),g=Pt().on("zoom",function(d){const y=d.transform,b=v=>{const S=Math.round(v);return Math.min(f.minMaxScaleDomain.maxX,Math.max(f.minMaxScaleDomain.minX,S))},x=y.rescaleX(p).domain().map(b);x[0]<=f.minMaxScaleDomain.minX&&x[1]>=f.minMaxScaleDomain.maxX?y.k<l.k&&(y.k=l.k,y.x=l.x,y.y=l.y):x[1]-x[0]<=1&&y.k>l.k&&(y.k=l.k,y.x=l.x,y.y=l.y),l.k=y.k,l.x=y.x,l.y=y.y,s.next({eventName:"zoom",pluginName:t,layerName:n,target:null,data:{scaleDomain:x}})});e.call(g)}),()=>{c.next(void 0),e.call(Pt().on("zoom",null))}},nk="ScatterPlot",H1="XZoom",rk=he({name:H1,defaultParams:Hp,layerIndex:hn,initShow:!1,validator:e=>({status:"success",columnName:"",expectToBe:""}),setup:({svgG:e,pluginParams$:t,layerParams$:n,context:r})=>{const i=new J,o=tk({rootSelection:Y(r.svg),pluginName:nk,layerName:H1,initXAxis$:t.pipe(A(a=>a.xAxis)),initYAxis$:t.pipe(A(a=>a.yAxis)),xyMinMax$:r.xyMinMax$,layout$:r.layout$,eventTrigger$:r.eventTrigger$});return()=>{i.next(void 0),o()}}}),ik=new w8,ok=new C8,ak=new N8,sk=new ek,lk=new rk,ck=It({name:"ScatterPlot",defaultParams:Ql,layers:[ik,ok,ak,sk,lk],setup:e=>{const t=new Ee(void 0);e.context.event$.subscribe(w=>{w.eventName==="zoom"&&w.data&&w.data.scaleDomain&&t.next(w.data.scaleDomain)});const n=e.pluginParams$.pipe(V(({xAxis:w})=>t.pipe(A(k=>k?{...w,scaleDomain:k}:w))),z(1)),r=e.pluginParams$.pipe(A(w=>w.yAxis),z(1)),i=N({multivariateData:e.context.multivariateData$,datasetIndex:e.pluginParams$.pipe(A(w=>w.datasetIndex))}).pipe(W(0),A(({multivariateData:w,datasetIndex:k})=>w[k]),z(1)),o=Jt({size$:e.context.size$,padding$:e.pluginParams$.pipe(A(w=>w.styles.padding))}).pipe(z(1)),a=e8({selectedMultivariateData$:i,pluginParams$:e.pluginParams$}).pipe(z(1)),s=Nt(e.context.theme$).pipe(z(1)),c=e.pluginParams$.pipe(A(w=>w.separateSeries),X(),z(1)),l=h8({computedData$:a,pluginParams$:e.pluginParams$,layout$:o}).pipe(z(1)),u=Ni({layout$:o,containerPosition$:l,container$:e.pluginParams$.pipe(A(w=>w.container))}).pipe(z(1)),h=e.context.encoding$.pipe(A(w=>[0,1]),X((w,k)=>w[0]===k[0]&&w[1]===k[1]),z(1)),f=a.pipe(A(w=>w.flat())).pipe(z(1)),p=dn({datumList$:f,styles$:e.pluginParams$.pipe(A(w=>w.styles)),event$:e.context.event$}).pipe(z(1)),g=o8({computedData$:a}),m=Bn({datumList$:f}).pipe(z(1)),d=n8({encoding$:e.context.encoding$}).pipe(z(1)),y=r8({computedData$:a,xyValueIndex$:h}).pipe(z(1)),b=a8({computedData$:a}).pipe(z(1)),x=s8({xAxis$:n,visibleComputedData$:b}).pipe(z(1)),v=l8({visibleComputedData$:b,ordinalScaleDomain$:x}).pipe(z(1)),S=c8({isSeriesSeprate$:c,visibleComputedData$:b,xyValueIndex$:h}).pipe(z(1));u8({isSeriesSeprate$:c,visibleComputedSumData$:v}).pipe(z(1));const $=i8({computedData$:a,xyMinMax$:y,xyValueIndex$:h,layout$:o}).pipe(z(1)),L=f8({computedXYData$:$}).pipe(z(1)),E=p8({visibleComputedXYData$:L,xyMinMax$:y,xyValueIndex$:h,xAxis$:n,yAxis$:r}).pipe(z(1)),M=d8({xyMinMax$:y,xyValueIndex$:h,filteredXYMinMaxData$:E,xAxis$:n,yAxis$:r,layout$:o}).pipe(z(1)),C=g8({containerPosition$:l,graphicTransform$:M}).pipe(z(1)),B=m8({visibleComputedSumData$:v,xAxis$:n,filteredXYMinMaxData$:E,containerSize$:u}).pipe(z(1)),D=y8({yAxis$:r,filteredXYMinMaxData$:E,containerSize$:u}).pipe(z(1)),P={layout$:o,computedData$:a,fontSizePx$:s,isSeriesSeprate$:c,containerPosition$:l,containerSize$:u,highlight$:p,seriesLabels$:g,SeriesDataMap$:m,valueLabels$:d,xyMinMax$:y,xyValueIndex$:h,filteredXYMinMaxData$:E,visibleComputedData$:b,visibleComputedRankingByIndexData$:S,visibleComputedXYData$:L,graphicTransform$:M,graphicReverseScale$:C,xScale$:B,yScale$:D,zoomedXAxis$:n,yAxis$:r};return e.context={...e.context,...P},()=>{}},validator:e=>{const t=H(e,{styles:{toBeTypes:["object"]},visibleFilter:{toBeTypes:["Function"]},container:{toBeTypes:["object"]},xAxis:{toBeTypes:["object"]},yAxis:{toBeTypes:["object"]},separateSeries:{toBeTypes:["boolean"]},datasetIndex:{toBeTypes:["number"]}});if(t.status==="error")return t;if(e.styles){const n=H(e.styles,{padding:{toBeTypes:["object"]},highlightTarget:{toBeTypes:["string"]},highlightDefault:{toBeTypes:["string","null"]},unhighlightedOpacity:{toBeTypes:["number"]},transitionDuration:{toBeTypes:["number"]},transitionEase:{toBeTypes:["string"]}});if(n.status==="error")return n;if(e.styles.padding){const r=H(e.styles.padding,{top:{toBeTypes:["number"]},right:{toBeTypes:["number"]},bottom:{toBeTypes:["number"]},left:{toBeTypes:["number"]}});if(r.status==="error")return r}}if(e.container){const n=H(e.container,{columnAmount:{toBeTypes:["number"]},rowAmount:{toBeTypes:["number"]},columnGap:{toBe:'number | "auto"',test:r=>typeof r=="number"||r==="auto"},rowGap:{toBe:'number | "auto"',test:r=>typeof r=="number"||r==="auto"}});if(n.status==="error")return n}if(e.yAxis){const n=H(e.yAxis,{scaleDomain:{toBe:'[number | "min" | "auto", number | "max" | "auto"]',test:r=>Array.isArray(r)&&r.length===2&&(typeof r[0]=="number"||r[0]==="min"||r[0]==="auto")&&(typeof r[1]=="number"||r[1]==="max"||r[1]==="auto")},scaleRange:{toBe:"[number, number]",test:r=>Array.isArray(r)&&r.length===2&&typeof r[0]=="number"&&typeof r[1]=="number"},label:{toBeTypes:["string"]}});if(n.status==="error")return n}if(e.xAxis){const n=H(e.xAxis,{scaleDomain:{toBe:'[number | "min" | "auto", number | "max" | "auto"]',test:r=>Array.isArray(r)&&r.length===2&&(typeof r[0]=="number"||r[0]==="min"||r[0]==="auto")&&(typeof r[1]=="number"||r[1]==="max"||r[1]==="auto")},scaleRange:{toBe:"[number, number]",test:r=>Array.isArray(r)&&r.length===2&&typeof r[0]=="number"&&typeof r[1]=="number"},label:{toBeTypes:["string"]}});if(n.status==="error")return n}return t}}),fh={styles:{padding:{top:20,right:60,bottom:80,left:60},highlightTarget:"datum",highlightDefault:null,unhighlightedOpacity:.3,transitionDuration:800,transitionEase:"easeCubic"},visibleFilter:e=>!0,container:{...Wr},direction:"bottom-up",valueAxis:{...yt},categoryAxis:{...Gp},separateSeries:!1,datasetIndex:0};fh.visibleFilter.toString=()=>"(datum) => true";const U1={lineCurve:"curveLinear",lineWidth:2},q1={lineCurve:"curveLinear",linearGradientOpacity:[1,0]},K1={radius:4,fillColorType:"background",strokeColorType:"data",strokeWidth:2,onlyShowHighlighted:!1},hh={showLine:!0,showLabel:!0,lineDashArray:"3, 3",lineColorType:"primary",labelColorType:"primary",labelTextColorType:"background",labelTextFormat:e=>e,labelPadding:20,labelRotate:0};hh.labelTextFormat.toString=()=>"text => text";const ph={barWidth:0,barPadding:1,barGroupPadding:40,barRadius:!1},uk={...ph},Z1={barWidth:0,barGroupPadding:10,barRadius:!1},J1={barWidth:0,barPadding:1,barGroupPadding:20,linearGradientOpacity:[1,0]},dh={labelOffset:[0,0],labelColorType:"primary",axisLineVisible:!0,axisLineColorType:"primary",ticks:"all",tickFormat:e=>e,tickLineVisible:!0,tickPadding:20,tickFullLine:!1,tickFullLineDasharray:"none",tickColorType:"secondary",tickTextRotate:0,tickTextColorType:"primary"};dh.tickFormat.toString=()=>"text => text";const Cl={labelOffset:[0,0],labelColorType:"primary",axisLineVisible:!1,axisLineColorType:"primary",ticks:null,tickFormat:e=>{if(e===null||Number.isNaN(e)==!0)return e||0;const t=e.toString().split(".");return t[0]=t[0].replace(/\B(?=(\d{3})+(?!\d))/g,","),t.join(".")},tickLineVisible:!0,tickPadding:20,tickFullLine:!0,tickFullLineDasharray:"none",tickColorType:"secondary",tickTextRotate:0,tickTextColorType:"primary",opposite:!1};Cl.tickFormat.toString=()=>`num => {
63
+ if (num === null || Number.isNaN(num) == true) {
64
+ return num || 0
279
65
  }
280
- return []
281
- }`;const Gi={dot:{radius:10,fillColorType:"label",strokeColorType:"label",strokeWidth:1,styleFn:t=>""},dotLabel:{colorType:"primary",sizeFixed:!1,styleFn:t=>""},arrow:{colorType:"primary",strokeWidth:1.5,pointerWidth:5,pointerHeight:5,styleFn:t=>""},arrowLabel:{colorType:"primary",sizeFixed:!1,styleFn:t=>""},force:{nodeStrength:-500,linkDistance:100,velocityDecay:.1,alphaDecay:.05},zoomable:!0,transform:{x:0,y:0,k:1},scaleExtent:{min:0,max:1/0}};Gi.dot.styleFn.toString=()=>"(node) => ''",Gi.dotLabel.styleFn.toString=()=>"(node) => ''",Gi.arrow.styleFn.toString=()=>"(edge) => ''",Gi.arrowLabel.styleFn.toString=()=>"(edge) => ''";const ji={bubble:{radiusMin:15,radiusMax:45,arcScaleType:"area",fillColorType:"label",strokeColorType:"label",strokeWidth:1,styleFn:t=>""},bubbleLabel:{fillRate:.9,lineHeight:1,maxLineLength:6,wordBreakAll:!0,colorType:"labelContrast",styleFn:t=>""},arrow:{colorType:"primary",strokeWidthMin:1.5,strokeWidthMax:4.5,pointerWidth:5,pointerHeight:5,styleFn:t=>""},arrowLabel:{colorType:"primary",sizeFixed:!1,styleFn:t=>""},force:{nodeStrength:-500,linkDistance:130,velocityDecay:.1,alphaDecay:.05},zoomable:!0,transform:{x:0,y:0,k:1},scaleExtent:{min:0,max:1/0}};ji.bubble.styleFn.toString=()=>"(node) => ''",ji.bubbleLabel.styleFn.toString=()=>"(node) => ''",ji.arrow.styleFn.toString=()=>"(edge) => ''",ji.arrowLabel.styleFn.toString=()=>"(edge) => ''";const YC={placement:"right-end",padding:28,backgroundFill:"none",backgroundStroke:"none",gap:10,listRectWidth:14,listRectHeight:14,listRectRadius:0,textColorType:"primary"},t0={backgroundColorType:"background",strokeColorType:"primary",backgroundOpacity:.8,textColorType:"primary",offset:[20,5],padding:10,renderFn:(t,{styles:e,utils:n})=>{const r=!!t.categoryLabel,a=!!t.datum.label,i=n.toCurrency(t.datum.value),o=e.textSizePx*.7,l=e.textSizePx/2-o/2,u=r?`<rect width="${o}" height="${o}" x="${l}" y="${l-1}" rx="${o/2}" fill="${t.datum.color}"></rect>
282
- <text x="${e.textSizePx*1.5}" font-size="${e.textSizePx}" dominant-baseline="hanging" fill="${e.textColor}">
283
- <tspan>${t.categoryLabel}</tspan>
284
- </text>`:"",s=a?`<tspan>${t.datum.label}</tspan> `:"",c=r?n.measureTextWidth(`${t.categoryLabel}${i}`,e.textSizePx)+e.textSizePx*1.5:0,d=a?n.measureTextWidth(`${t.datum.label}${i}`,e.textSizePx):0,f=Math.max(c,d),h=a?f+e.textSizePx*.5:0,p=a?"end":"start",g=`<text font-size="${e.textSizePx}" dominant-baseline="hanging" fill="${e.textColor}">
285
- ${s}<tspan font-weight="bold" text-anchor="${p}" x="${h}">${i}</tspan>
286
- </text>`;return`${u}
287
- <g ${r?`transform="translate(0, ${e.textSizePx*2})"`:""}>
288
- ${g}
289
- </g>`}};t0.renderFn.toString=()=>`(eventData, { styles, utils }) => {
290
- const hasCategoryLabel = eventData.categoryLabel ? true : false
291
- const hasDatumLabel = eventData.datum.label ? true : false
292
- const valueText = utils.toCurrency(eventData.datum.value)
293
- const bulletWidth = styles.textSizePx * 0.7
294
- const offset = (styles.textSizePx / 2) - (bulletWidth / 2)
295
- const categorySvg = hasCategoryLabel
296
- ? \`<rect width="\${bulletWidth}" height="\${bulletWidth}" x="\${offset}" y="\${offset - 1}" rx="\${bulletWidth / 2}" fill="\${eventData.datum.color}"></rect>
66
+ const parts = num.toString().split('.')
67
+ parts[0] = parts[0].replace(/B(?=(d{3})+(?!d))/g, ',')
68
+ return parts.join('.')
69
+ }`;const Q1={...Cl},ex={};function Li(e){return e==="left-right"||e==="right-left"}function fk(e){switch(e){case"bottom-up":return"bottom";case"top-down":return"top";case"left-right":return"left";case"right-left":return"right";default:return"bottom"}}function tx(e,t){return Li(e)?t?"bottom":"top":t?"right":"left"}const hk=({selectedGridData$:e,pluginParams$:t})=>N({selectedGridData:e,pluginParams:t}).pipe(W(0),A(({selectedGridData:n,pluginParams:r})=>n.map(i=>i.map((o,a)=>{const s=r.visibleFilter;return{...o,visible:s?s(o):!0}})))),pk=({computedData$:e,categoryAxis$:t,valueAxis$:n,direction$:r,layout$:i})=>{function o(s,c,l){const u=Li(c)?l.height:l.width,h=s[0]?s[0].length-1:0;return Ye({maxValue:h,minValue:0,axisWidth:u,scaleDomain:[0,h],scaleRange:[0,1]})}function a(s,c,l){const u=Li(c)?l.width:l.height,h=s.flat();let[f,p]=Tl(h);return f===p&&p===0&&(p=1),Ye({maxValue:p,minValue:f,axisWidth:u,scaleDomain:["auto","auto"],scaleRange:[0,1]})}return N({computedData:e,categoryAxis:t,valueAxis:n,direction:r,layout:i}).pipe(W(0),A(s=>{const c=o(s.computedData,s.direction,s.layout),l=a(s.computedData,s.direction,s.layout),u=l(0);return s.computedData.map((h,f)=>h.map((p,g)=>{const m=c(g),d=l(p.value??0);return{...p,axisX:m,axisY:d,axisYFromZero:d-u}}))}))},nx=({direction$:e,layout$:t})=>N({direction:e,layout:t}).pipe(W(0),A(({direction:n,layout:r})=>Li(n)?{width:r.height,height:r.width}:{width:r.width,height:r.height})),dk=({direction$:e,containerSize$:t})=>nx({direction$:e,layout$:t}),gk=({computedData$:e})=>e.pipe(A(t=>t.filter(n=>n.length).map(n=>n[0].series)),X((t,n)=>JSON.stringify(t)===JSON.stringify(n))),mk=({computedData$:e})=>e.pipe(A(t=>t.map(r=>r.filter(i=>i.visible==!0)).filter(r=>r.length))),yk=({computedAxesData$:e})=>e.pipe(A(t=>t.map(r=>r.filter(i=>i.visible==!0)).filter(r=>r.length))),bk=({selectedGridData$:e,pluginParams$:t,layout$:n})=>N({selectedGridData:e,pluginParams:t,layout:n}).pipe(W(0),A(i=>{if(i.selectedGridData.length===0)return[{slotIndex:0,rowIndex:0,columnIndex:0,translate:[0,0],scale:[1,1]}];if(i.pluginParams.separateSeries)return wl(i.layout,i.pluginParams.container,i.selectedGridData.length);{const o=wl(i.layout,i.pluginParams.container,1);return i.selectedGridData.map((a,s)=>o[0])}})),xk=({isSeriesSeprate$:e,computedData$:t})=>{const n=t.pipe(A(r=>{const i=new Array(r[0]?r[0].length:0).fill(null).map((a,s)=>r.reduce((c,l)=>{if(l&&l[s]){const u=l[s].value==null||l[s].visible==!1?0:l[s].value;return c+u}return c},0));return r.map((a,s)=>a.map((c,l)=>({...c,value:i[l]})))}));return e.pipe(V(r=>Ht(()=>r,t,n)))},vk=({selectedGridData$:e,categoryAxis$:t})=>N({selectedGridData:e,categoryAxis:t}).pipe(W(0),A(n=>{const r=n.categoryAxis,i=n.selectedGridData[0]?n.selectedGridData[0].length-1:0,o=r.scaleDomain[0]-r.scalePadding,a=r.scaleDomain[1]==="max"?i+r.scalePadding:r.scaleDomain[1]+r.scalePadding;return[o,a]})),rx=({computedData$:e,categoryScaleDomainValue$:t})=>N({computedData:e,categoryScaleDomainValue:t}).pipe(A(n=>{const r=n.computedData.map((o,a)=>o.filter((s,c)=>c>=n.categoryScaleDomainValue[0]&&c<=n.categoryScaleDomainValue[1]&&s.visible==!0));return Tl(r.flat())})),gh=({direction$:e,opposite$:t,layout$:n})=>{function r({direction:i,opposite:o,width:a,height:s}){let c=0,l=0,u=0,h=0,f=0;return i==="bottom-up"?(h=180,l=s,o&&(f=180,c=a)):i==="top-down"?o&&(f=180,c=a):i==="left-right"?(u=-90,o?l=s:f=180):i==="right-left"?(u=-90,h=180,c=a,o?l=s:f=180):(h=180,l=s),{translate:[c,l],scale:[1,1],rotate:u,rotateX:h,rotateY:f,value:`translate(${c}px, ${l}px) rotate(${u}deg) rotateX(${h}deg) rotateY(${f}deg)`}}return N({direction:e,opposite:t,layout:n}).pipe(W(0),A(i=>r({direction:i.direction,opposite:i.opposite,width:i.layout.width,height:i.layout.height})))},mh=({gridAxesTransform$:e})=>e.pipe(A(t=>{const n=[0,0],r=[1/t.scale[0],1/t.scale[1]],i=t.rotate*-1,o=t.rotateX*-1,a=t.rotateY*-1;return{translate:n,scale:r,rotate:i,rotateX:o,rotateY:a,value:`translate(${n[0]}px, ${n[1]}px) rotateX(${o}deg) rotateY(${a}deg) rotate(${i}deg)`}})),$k=({computedData$:e,categoryScaleDomainValue$:t,filteredMinMaxValue$:n,categoryAxis$:r,valueAxis$:i,direction$:o,layout$:a})=>{const s=new J;function c({data:l,categoryAxis:u,valueAxis:h,direction:f,categoryScaleDomainValue:p,filteredMinMaxValue:g,width:m,height:d}){let y=0,b=0,x=0,v=0;const S=Li(f),$=S?d:m,L=0,E=l[0]?l[0].length-1:0,M=Ye({maxValue:E,minValue:L,axisWidth:$,scaleDomain:p,scaleRange:[0,1],reverse:u.reverse}),C=M(L),B=M(E);L==E?(y=0,x=1):(y=C,x=(B-C)/$);const D=g[0];let P=g[1];D===P&&P===0&&(P=1);const w=S?m:d,k=Ye({maxValue:P,minValue:D,axisWidth:w,scaleDomain:h.scaleDomain,scaleRange:h.scaleRange}),T=Tl(l.flat());T[0],T[1];const I=k(T[0]>0?0:T[0]),_=k(T[1]<0?0:T[1]);return b=I,v=(_-I)/w,{translate:[y,b],scale:[x,v],rotate:0,rotateX:0,rotateY:0,value:`translate(${y}px, ${b}px) scale(${x}, ${v})`}}return new me(l=>(N({computedData:e,categoryScaleDomainValue:t,filteredMinMaxValue:n,categoryAxis:r,valueAxis:i,direction:o,layout:a}).pipe(R(s),W(0)).subscribe(u=>{const h=c({data:u.computedData,categoryAxis:u.categoryAxis,valueAxis:u.valueAxis,direction:u.direction,categoryScaleDomainValue:u.categoryScaleDomainValue,filteredMinMaxValue:u.filteredMinMaxValue,width:u.layout.width,height:u.layout.height});l.next(h)}),function(){s.next(void 0)}))},Sk=({gridContainerPosition$:e,gridAxesTransform$:t,gridGraphicTransform$:n})=>N({gridContainerPosition:e,gridAxesTransform:t,gridGraphicTransform:n}).pipe(W(0),A(r=>r.gridAxesTransform.rotate==0||r.gridAxesTransform.rotate==180?r.gridContainerPosition.map((i,o)=>[1/r.gridGraphicTransform.scale[0]/r.gridContainerPosition[o].scale[0],1/r.gridGraphicTransform.scale[1]/r.gridContainerPosition[o].scale[1]]):r.gridContainerPosition.map((i,o)=>[1/r.gridGraphicTransform.scale[0]/r.gridContainerPosition[o].scale[1],1/r.gridGraphicTransform.scale[1]/r.gridContainerPosition[o].scale[0]]))),Zn=({selection:e,pluginName:t,layerName:n,clipPathID:r,seriesLabels$:i,gridContainerPosition$:o,gridAxesTransform$:a,gridGraphicTransform$:s})=>{const c=U(t,n,"series"),l=U(t,n,"axes"),u=U(t,n,"graphic"),h=i.pipe(A((m,d)=>e.selectAll(`g.${c}`).data(m,y=>y).join(y=>y.append("g").classed(c,!0).each((b,x,v)=>{Y(v[x]).selectAll(`g.${l}`).data([x]).join(S=>S.append("g").classed(l,!0).attr("clip-path",`url(#${r})`).each(($,L,E)=>{Y(E[L]).selectAll("defs").data([L]).join("defs"),Y(E[L]).selectAll("g").data([L]).join("g").classed(u,!0)}),S=>S,S=>S.remove())}),y=>y,y=>y.remove())),z(1));N({seriesSelection:h,gridContainerPosition:o}).pipe(V(async m=>m)).subscribe(m=>{m.seriesSelection.transition().attr("transform",(d,y)=>{const b=m.gridContainerPosition[y]??m.gridContainerPosition[0],x=b.translate,v=b.scale;return`translate(${x[0]}, ${x[1]}) scale(${v[0]}, ${v[1]})`})});const f=N({seriesSelection:h,gridAxesTransform:a}).pipe(V(async m=>m),A(m=>m.seriesSelection.select(`g.${l}`).style("transform",m.gridAxesTransform.value)),z(1)),p=f.pipe(A(m=>m.select("defs")),z(1)),g=N({axesSelection:f,gridGraphicTransform:s}).pipe(V(async m=>m),A(m=>{const d=m.axesSelection.select(`g.${u}`);return d.transition().duration(50).style("transform",m.gridGraphicTransform.value),d}),z(1));return{seriesSelection$:h,axesSelection$:f,defsSelection$:p,graphicGSelection$:g}},Ak=({selection:e,pluginName:t,layerName:n,computedData$:r,gridContainerPosition$:i,isSeriesSeprate$:o})=>{const a=U(t,n,"container"),s=N({computedData:r.pipe(X((c,l)=>c.length===l.length)),isSeriesSeprate:o}).pipe(V(async c=>c),A(c=>c.isSeriesSeprate?c.computedData:[c.computedData[0]]),A((c,l)=>e.selectAll(`g.${a}`).data(c,u=>u&&u[0]?u[0].seriesIndex:l).join("g").classed(a,!0)),z(1));return N({containerSelection:s,gridContainerPosition:i}).pipe(V(async c=>c)).subscribe(c=>{c.containerSelection.attr("transform",(l,u)=>{const h=c.gridContainerPosition[u]??c.gridContainerPosition[0],f=h.translate,p=h.scale;return`translate(${f[0]}, ${f[1]}) scale(${p[0]}, ${p[1]})`})}),s},ix=({pluginParams$:e,gridAxesSize$:t,computedData$:n,gridContainerPosition$:r,layout$:i})=>{const o=new J,a=N({pluginParams:e,gridAxesSize:t,computedData:n}).pipe(V(async h=>h),A(h=>{const f=h.computedData[0]?h.computedData[0].length-1:0,p=h.pluginParams.categoryAxis.scaleDomain[0]-h.pluginParams.categoryAxis.scalePadding,g=h.pluginParams.categoryAxis.scaleDomain[1]==="max"?f+h.pluginParams.categoryAxis.scalePadding:h.pluginParams.categoryAxis.scaleDomain[1]+h.pluginParams.categoryAxis.scalePadding;return[p,g]}),z(1)),s=N({pluginParams:e,computedData:n}).pipe(V(async h=>h),A(h=>(h.computedData[0]??[]).map(f=>f.category))),c=N({categoryScaleDomain:a,categoryLabels:s}).pipe(V(async h=>h),A(h=>h.categoryLabels.filter((f,p)=>p>=h.categoryScaleDomain[0]&&p<=h.categoryScaleDomain[1]))),l=r.pipe(A(h=>h.reduce((p,g)=>g.columnIndex>p?g.columnIndex:p,0)+1),X()),u=r.pipe(A(h=>h.reduce((p,g)=>g.rowIndex>p?g.rowIndex:p,0)+1),X());return new me(h=>{N({pluginParams:e,axisSize:t,scaleRangeCategoryLabels:c,categoryLabels:s,categoryScaleDomain:a,columnAmount:l,rowAmount:u,layout:i}).pipe(R(o),V(async f=>f)).subscribe(f=>{const p=f.pluginParams.categoryAxis.reverse??!1,g=oh({axisLabels:f.scaleRangeCategoryLabels,axisWidth:f.axisSize.width,padding:f.pluginParams.categoryAxis.scalePadding,reverse:p}),m=f.pluginParams.direction==="bottom-up"||f.pluginParams.direction==="top-down",d=b=>m?b.offsetX-f.pluginParams.styles.padding.left:b.offsetY-f.pluginParams.styles.padding.top,y=b=>{const x={offsetX:b.offsetX*f.columnAmount%f.layout.rootWidth,offsetY:b.offsetY*f.rowAmount%f.layout.rootHeight},v=d(x),S=g(v),$=Math.ceil(f.categoryScaleDomain[0]),L=S+$;return{categoryIndex:L,categoryLabel:f.categoryLabels[L]??""}};return h.next(y),function(){o.next(void 0)}})})},Tk=({rootSelection:e,pluginParams$:t,zoomedCategoryAxis$:n,gridAxesContainerSize$:r,computedData$:i,gridContainerPosition$:o,layout$:a})=>{const s=Rn(e,"mousemove"),c=N({zoomedCategoryAxis:n,computedData:i}).pipe(V(async d=>d),A(d=>{const y=d.computedData[0]?d.computedData[0].length-1:0,b=d.zoomedCategoryAxis.scaleDomain[0]-d.zoomedCategoryAxis.scalePadding,x=d.zoomedCategoryAxis.scaleDomain[1]==="max"?y+d.zoomedCategoryAxis.scalePadding:d.zoomedCategoryAxis.scaleDomain[1]+d.zoomedCategoryAxis.scalePadding;return[b,x]}),z(1)),l=i.pipe(A(d=>(d[0]??[]).map(y=>y.category))),u=N({categoryScaleDomain:c,categoryLabels:l}).pipe(V(async d=>d),A(d=>d.categoryLabels.filter((y,b)=>b>=d.categoryScaleDomain[0]&&b<=d.categoryScaleDomain[1]))),h=n.pipe(A(d=>d.reverse??!1)),f=N({reverse:h,gridAxesContainerSize:r,scaleRangeCategoryLabels:u,zoomedCategoryAxis:n}).pipe(V(async d=>d),A(d=>oh({axisLabels:d.scaleRangeCategoryLabels,axisWidth:d.gridAxesContainerSize.width,padding:d.zoomedCategoryAxis.scalePadding,reverse:d.reverse}))),p=N({pluginParams:t,rootMousemove:s,gridContainerPosition:o,layout:a}).pipe(V(async d=>d),A(d=>{if(d.pluginParams.direction==="bottom-up"||d.pluginParams.direction==="top-down"){let y=d.rootMousemove.offsetX;const x=d.gridContainerPosition.map((v,S)=>{var $;return[v.translate[0],(($=d.gridContainerPosition[S+1])==null?void 0:$.translate[0])??d.layout.rootWidth]}).filter(v=>v[0]<v[1]).find(v=>y>=v[0]&&y<=v[1]);return x&&(y=y-x[0]),y-d.layout.left}else{let y=d.rootMousemove.offsetY;const x=d.gridContainerPosition.map((v,S)=>{var $;return[v.translate[1],(($=d.gridContainerPosition[S+1])==null?void 0:$.translate[1])??d.layout.rootHeight]}).filter(v=>v[0]<v[1]).find(v=>y>=v[0]&&y<=v[1]);return x&&(y=y-x[0]),y-d.layout.top}})),g=N({xIndexScale:f,axisValue:p,categoryScaleDomain:c}).pipe(V(async d=>d),A(d=>{const y=d.xIndexScale(d.axisValue),b=Math.ceil(d.categoryScaleDomain[0]);return y+b})),m=N({categoryIndex:g,categoryLabels:l}).pipe(V(async d=>d),A(d=>d.categoryLabels[d.categoryIndex]??""));return N({categoryIndex:g,categoryLabel:m}).pipe(V(async d=>d),A(d=>({categoryIndex:d.categoryIndex,categoryLabel:d.categoryLabel})))},ox=.3;function ax({axisWidth:e,groupAmount:t,barAmountOfGroup:n,barPadding:r=0,barGroupPadding:i=0}){const a=((t>1?e/(t-1):e)-i)/n-r;return a>1?a:1}function wk(e,t,n){const r=e/2,i=e*t.length+n.barPadding*t.length;return Us().domain(t).range([-i/2+r,i/2-r])}function _k(e,t){return e<=1?0:t/(e-1)*ox}function Dk(e,t){return e<=1?t:t*(1-ox)}function Pk({graphicGSelection:e,rectClassName:t,visibleComputedAxesData:n,zeroYArr:r,barScale:i,styles:o,barWidth:a,transformedBarRadius:s,delayGroup:c,transitionItem:l,isSeriesSeprate:u}){const h=a/2;return e.each((p,g,m)=>{Y(m[g]).selectAll(`rect.${t}`).data(n[g]??[],d=>d.id).join(d=>d.append("rect").classed(t,!0).attr("cursor","pointer").attr("height",y=>1),d=>d,d=>d.remove()).attr("transform",(d,y)=>`translate(${(d?d.axisX:0)-h}, 0)`).attr("fill",d=>d.color).attr("y",d=>d.axisY<r[g]?d.axisY:r[g]).attr("x",d=>u?0:i(d.series)).attr("width",a).attr("rx",s[g][0]??1).attr("ry",s[g][1]??1).transition().duration(l).ease(Vt(o.transitionEase)).delay((d,y)=>d.categoryIndex*c).attr("height",d=>Math.abs(d.axisYFromZero)||1)}),e.selectAll(`rect.${t}`)}function Mk({defsSelection:e,clipPathData:t}){e.selectAll("clipPath").data(t).join(n=>n.append("clipPath"),n=>n,n=>n.remove()).attr("id",n=>n.id).each((n,r,i)=>{Y(i[r]).selectAll("rect").data([n]).join(o=>o.append("rect"),o=>o,o=>o.remove()).attr("x",0).attr("y",0).attr("width",o=>o.width).attr("height",o=>o.height)})}function Ck({selection:e,ids:t,styles:n}){if(e.interrupt("highlight"),!t.length){e.transition("highlight").duration(200).style("opacity",1);return}e.each((r,i,o)=>{t.includes(r.id)?Y(o[i]).style("opacity",1):Y(o[i]).style("opacity",n.unhighlightedOpacity)})}const Lk=({selection:e,pluginName:t,layerName:n,computedData$:r,visibleComputedData$:i,visibleComputedAxesData$:o,seriesLabels$:a,SeriesDataMap$:s,CategoryDataMap$:c,baseBarParams$:l,gridAxesTransform$:u,gridGraphicTransform$:h,gridGraphicReverseScale$:f,gridAxesSize$:p,gridHighlight$:g,gridContainerPosition$:m,isSeriesSeprate$:d,styles$:y,eventTrigger$:b})=>{const x=new J,v=We(t,n,"clipPath-box"),S=U(t,n,"rect"),{defsSelection$:$,graphicGSelection$:L}=Zn({selection:e,pluginName:t,layerName:n,clipPathID:v,seriesLabels$:a,gridContainerPosition$:m,gridAxesTransform$:u,gridGraphicTransform$:h}),E=o.pipe(R(x),A(_=>_.map(O=>O[0]?O[0].axisY-O[0].axisYFromZero:0)),X()),M=N({computedData:r,visibleComputedData:i,params:l,gridAxesSize:p,isSeriesSeprate:d}).pipe(R(x),W(0),A(_=>_.params.barWidth?_.params.barWidth:_.isSeriesSeprate?ax({axisWidth:_.gridAxesSize.width,groupAmount:_.computedData[0]?_.computedData[0].length:0,barAmountOfGroup:1,barPadding:_.params.barPadding,barGroupPadding:_.params.barGroupPadding}):ax({axisWidth:_.gridAxesSize.width,groupAmount:_.computedData[0]?_.computedData[0].length:0,barAmountOfGroup:_.visibleComputedData.length,barPadding:_.params.barPadding,barGroupPadding:_.params.barGroupPadding})),X()),C=N({computedData:r,barWidth:M,params:l,gridGraphicReverseScale:f}).pipe(R(x),W(0),A(_=>{const O=_.barWidth/2,F=_.params.barRadius===!0?O:_.params.barRadius===!1?0:typeof _.params.barRadius=="number"?_.params.barRadius:0;return _.computedData.map((j,Z)=>{const re=_.gridGraphicReverseScale[Z]??_.gridGraphicReverseScale[0];let te=F*re[0],G=F*re[1];if(te>O){const ee=O/te;te=te*ee,G=G*ee}return[te,G]})})),B=i.pipe(R(x),A(_=>{const O=new Set;return _.forEach(F=>{F.forEach(j=>{O.add(j.category)})}),Array.from(O)})),D=N({seriesLabels:a,barWidth:M,params:l}).pipe(R(x),W(0),A(_=>wk(_.barWidth,_.seriesLabels,_.params))),P=y.pipe(R(x),A(_=>_.transitionDuration),X()),w=new me(_=>{N({categoryLabels:B,transitionDuration:P}).pipe(W(0)).subscribe(O=>{const F=_k(O.categoryLabels.length,O.transitionDuration);_.next(F)})}).pipe(R(x),X()),k=new me(_=>{N({categoryLabels:B,transitionDuration:P}).pipe(W(0)).subscribe(O=>{const F=Dk(O.categoryLabels.length,O.transitionDuration);_.next(F)})}).pipe(R(x),X());N({defsSelection:$,gridAxesSize:p}).pipe(R(x),W(0)).subscribe(_=>{const O=[{id:v,width:_.gridAxesSize.width,height:_.gridAxesSize.height}];Mk({defsSelection:_.defsSelection,clipPathData:O})});const T=y.pipe(R(x),A(_=>_.highlightTarget),X()),I=N({graphicGSelection:L,visibleComputedAxesData:o,zeroYArr:E,categoryLabels:B,barScale:D,params:l,styles:y,highlightTarget:T,barWidth:M,transformedBarRadius:C,delayGroup:w,transitionItem:k,isSeriesSeprate:d}).pipe(R(x),V(async _=>_),A(_=>Pk({graphicGSelection:_.graphicGSelection,rectClassName:S,visibleComputedAxesData:_.visibleComputedAxesData,zeroYArr:_.zeroYArr,barScale:_.barScale,styles:_.styles,barWidth:_.barWidth,transformedBarRadius:_.transformedBarRadius,delayGroup:_.delayGroup,transitionItem:_.transitionItem,isSeriesSeprate:_.isSeriesSeprate})));return N({barSelection:I,computedData:r,highlightTarget:T,SeriesDataMap:s,CategoryDataMap:c}).pipe(R(x),V(async _=>_)).subscribe(_=>{_.barSelection.on("mouseover",(O,F)=>{O.stopPropagation(),b.next({eventName:"mouseover",pluginName:t,layerName:n,target:F,event:O})}).on("mousemove",(O,F)=>{O.stopPropagation(),b.next({eventName:"mousemove",pluginName:t,layerName:n,target:F,event:O})}).on("mouseout",(O,F)=>{O.stopPropagation(),b.next({eventName:"mouseout",pluginName:t,layerName:n,target:F,event:O})}).on("click",(O,F)=>{O.stopPropagation(),b.next({eventName:"click",pluginName:t,layerName:n,target:F,event:O})})}),N({barSelection:I,highlight:g.pipe(A(_=>_.map(O=>O.id))),styles:y}).pipe(R(x),W(0)).subscribe(_=>{Ck({selection:_.barSelection,ids:_.highlight,styles:_.styles})}),()=>{x.next(void 0)}},kk="GridPlot",sx="Bar",Ek=he({name:sx,defaultParams:ph,layerIndex:$t,initShow:!0,validator:e=>H(e,{barWidth:{toBeTypes:["number"]},barPadding:{toBeTypes:["number"]},barGroupPadding:{toBeTypes:["number"]},barRadius:{toBeTypes:["number","boolean"]}}),setup:({svgG:e,pluginParams$:t,layerParams$:n,context:r})=>{const i=new J;r.layout$.pipe(R(i)).subscribe(a=>{Y(e).attr("transform",`translate(${a.left}, ${a.top})`)});const o=Lk({selection:Y(e),pluginName:kk,layerName:sx,computedData$:r.computedData$,visibleComputedData$:r.visibleComputedData$,visibleComputedAxesData$:r.visibleComputedAxesData$,seriesLabels$:r.seriesLabels$,SeriesDataMap$:r.SeriesDataMap$,CategoryDataMap$:r.CategoryDataMap$,baseBarParams$:n,gridAxesTransform$:r.gridAxesTransform$,gridGraphicTransform$:r.gridGraphicTransform$,gridGraphicReverseScale$:r.gridGraphicReverseScale$,gridAxesSize$:r.gridAxesSize$,gridHighlight$:r.gridHighlight$,gridContainerPosition$:r.gridContainerPosition$,isSeriesSeprate$:r.isSeriesSeprate$,styles$:t.pipe(A(a=>a.styles)),eventTrigger$:r.eventTrigger$});return()=>{i.next(void 0),o()}}}),lx=.3;function cx({axisWidth:e,groupAmount:t,barAmountOfGroup:n,barPadding:r=0,barGroupPadding:i=0}){const a=((t>1?e/(t-1):e)-i)/n-r;return a>1?a:1}function Rk(e,t,n){const r=e/2,i=e*t.length+n.barPadding*t.length;return Us().domain(t).range([-i/2+r,i/2-r])}function Bk(e,t){return e<=1?0:t/(e-1)*lx}function Ik(e,t){return e<=1?t:t*(1-lx)}function Nk({graphicGSelection:e,pathGClassName:t,pathClassName:n,visibleComputedAxesData:r,linearGradientIds:i,zeroYArr:o,barScale:a,styles:s,barWidth:c,delayGroup:l,transitionItem:u,isSeriesSeprate:h}){const f=c/2;return e.each((g,m,d)=>{Y(d[m]).selectAll(`g.${t}`).data(r[m]??[]).join(b=>{const x=b.append("g").classed(t,!0).attr("cursor","pointer");return x.append("path").classed(n,!0).style("vector-effect","non-scaling-stroke").attr("d",v=>{const S=-f,$=o[m],L=o[m];return`M${S},${$} L${S+c/2},${L} ${S+c},${$}`}),x},b=>b,b=>b.remove()).attr("transform",b=>`translate(${h?0:a(b.series)}, 0)`).select(`path.${n}`).attr("height",b=>Math.abs(b.axisYFromZero)||1).attr("y",b=>b.axisY<o[m]?b.axisY:o[m]).attr("x",b=>h?0:a(b.series)).style("fill",b=>`url(#${i[b.seriesIndex]})`).attr("stroke",b=>b.color).attr("transform",b=>`translate(${b?b.axisX:0}, 0)`).transition().duration(u).ease(Vt(s.transitionEase)).delay((b,x)=>b.categoryIndex*l).attr("d",b=>{const x=-f,v=o[m],S=b.axisY;return`M${x},${v} L${x+c/2},${S} ${x+c},${v}`})}),e.selectAll(`path.${n}`)}function Ok({defsSelection:e,computedData:t,linearGradientIds:n,params:r}){e.selectAll("linearGradient").data(t??[]).join(i=>i.append("linearGradient").attr("x1","0%").attr("x2","0%").attr("y1","100%").attr("y2","0%").attr("spreadMethod","pad"),i=>i,i=>i.remove()).attr("id",(i,o)=>i[0]?n[i[0].seriesIndex]:"").html((i,o)=>{const a=i[0]?i[0].color:"";return`
70
+ <stop offset="0%" stop-color="${a}" stop-opacity="${r.linearGradientOpacity[0]}"/>
71
+ <stop offset="100%" stop-color="${a}" stop-opacity="${r.linearGradientOpacity[1]}"/>
72
+ `})}function zk({defsSelection:e,clipPathData:t}){e.selectAll("clipPath").data(t).join(n=>n.append("clipPath"),n=>n,n=>n.remove()).attr("id",n=>n.id).each((n,r,i)=>{Y(i[r]).selectAll("rect").data([n]).join(o=>o.append("rect"),o=>o,o=>o.remove()).attr("x",0).attr("y",0).attr("width",o=>o.width).attr("height",o=>o.height)})}function Fk({selection:e,ids:t,styles:n}){e.interrupt("highlight");const r=()=>{e.transition("highlight").duration(200).style("opacity",1)};if(!t.length){r();return}e.each((i,o,a)=>{t.includes(i.id)?Y(a[o]).style("opacity",1):Y(a[o]).style("opacity",n.unhighlightedOpacity)})}const Yk=({selection:e,pluginName:t,layerName:n,computedData$:r,visibleComputedData$:i,visibleComputedAxesData$:o,seriesLabels$:a,SeriesDataMap$:s,CategoryDataMap$:c,baseBarsTriangleParams$:l,styles$:u,gridAxesTransform$:h,gridGraphicTransform$:f,gridAxesSize$:p,gridHighlight$:g,gridContainerPosition$:m,isSeriesSeprate$:d,eventTrigger$:y})=>{const b=new J,x=We(t,n,"clipPath-box"),v=U(t,n,"pathG"),S=U(t,n,"path"),{defsSelection$:$,graphicGSelection$:L}=Zn({selection:e,pluginName:t,layerName:n,clipPathID:x,seriesLabels$:a,gridContainerPosition$:m,gridAxesTransform$:h,gridGraphicTransform$:f});f.pipe(R(b),A(_=>-_.translate[1]/_.scale[1]));const E=o.pipe(A(_=>_.map(O=>O[0]?O[0].axisY-O[0].axisYFromZero:0)),X()),M=N({computedData:r,visibleComputedData:i,params:l,gridAxesSize:p,isSeriesSeprate:d}).pipe(R(b),W(0),A(_=>_.params.barWidth?_.params.barWidth:_.isSeriesSeprate?cx({axisWidth:_.gridAxesSize.width,groupAmount:_.computedData[0]?_.computedData[0].length:0,barAmountOfGroup:1,barPadding:_.params.barPadding,barGroupPadding:_.params.barGroupPadding}):cx({axisWidth:_.gridAxesSize.width,groupAmount:_.computedData[0]?_.computedData[0].length:0,barAmountOfGroup:_.visibleComputedData.length,barPadding:_.params.barPadding,barGroupPadding:_.params.barGroupPadding}))),C=i.pipe(R(b),A(_=>{const O=new Set;return _.forEach(F=>{F.forEach(j=>{O.add(j.category)})}),Array.from(O)})),B=new me(_=>{N({seriesLabels:a,barWidth:M,params:l}).pipe(R(b),W(0)).subscribe(O=>{const F=Rk(O.barWidth,O.seriesLabels,O.params);_.next(F)})}),D=u.pipe(R(b),A(_=>_.transitionDuration),X()),P=new me(_=>{N({groupLabels:C,transitionDuration:D}).pipe(W(0)).subscribe(O=>{const F=Bk(O.groupLabels.length,O.transitionDuration);_.next(F)})}).pipe(R(b),X()),w=new me(_=>{N({groupLabels:C,transitionDuration:D}).pipe(W(0)).subscribe(O=>{const F=Ik(O.groupLabels.length,O.transitionDuration);_.next(F)})}).pipe(R(b),X());N({defsSelection:$,gridAxesSize:p}).pipe(R(b),W(0)).subscribe(_=>{const O=[{id:x,width:_.gridAxesSize.width,height:_.gridAxesSize.height}];zk({defsSelection:_.defsSelection,clipPathData:O})});const k=u.pipe(R(b),A(_=>_.highlightTarget),X()),T=a.pipe(R(b),A(_=>_.map((O,F)=>We(t,n,`lineargradient-${O}`)))),I=N({graphicGSelection:L,defsSelection:$,computedData:r,visibleComputedAxesData:o,linearGradientIds:T,zeroYArr:E,groupLabels:C,barScale:B,params:l,styles:u,barWidth:M,delayGroup:P,transitionItem:w,isSeriesSeprate:d}).pipe(R(b),V(async _=>_),A(_=>(Ok({defsSelection:_.defsSelection,computedData:_.computedData,linearGradientIds:_.linearGradientIds,params:_.params}),Nk({graphicGSelection:_.graphicGSelection,pathGClassName:v,pathClassName:S,visibleComputedAxesData:_.visibleComputedAxesData,linearGradientIds:_.linearGradientIds,zeroYArr:_.zeroYArr,barScale:_.barScale,styles:_.styles,barWidth:_.barWidth,delayGroup:_.delayGroup,transitionItem:_.transitionItem,isSeriesSeprate:_.isSeriesSeprate}))));return N({barSelection:I,computedData:r,highlightTarget:k,SeriesDataMap:s,CategoryDataMap:c}).subscribe(_=>{_.barSelection.on("mouseover",(O,F)=>{O.stopPropagation(),y.next({eventName:"mouseover",pluginName:t,layerName:n,target:F,event:O})}).on("mousemove",(O,F)=>{O.stopPropagation(),y.next({eventName:"mousemove",pluginName:t,layerName:n,target:F,event:O})}).on("mouseout",(O,F)=>{O.stopPropagation(),y.next({eventName:"mouseout",pluginName:t,layerName:n,target:F,event:O})}).on("click",(O,F)=>{O.stopPropagation(),y.next({eventName:"click",pluginName:t,layerName:n,target:F,event:O})})}),N({barSelection:I,highlight:g.pipe(A(_=>_.map(O=>O.id))),styles:u}).pipe(R(b),W(0)).subscribe(_=>{Fk({selection:_.barSelection,ids:_.highlight,styles:_.styles})}),()=>{b.next(void 0)}},Wk="GridPlot",ux="TriangleBar",Gk=he({name:ux,defaultParams:J1,layerIndex:$t,initShow:!1,validator:e=>H(e,{barWidth:{toBeTypes:["number"]},barPadding:{toBeTypes:["number"]},barGroupPadding:{toBeTypes:["number"]},linearGradientOpacity:{toBe:"[number, number]",test:n=>Array.isArray(n)&&n.length===2&&typeof n[0]=="number"&&typeof n[1]=="number"}}),setup:({svgG:e,pluginParams$:t,layerParams$:n,context:r})=>{const i=new J;r.layout$.pipe(R(i)).subscribe(a=>{Y(e).attr("transform",`translate(${a.left}, ${a.top})`)});const o=Yk({selection:Y(e),pluginName:Wk,layerName:ux,computedData$:r.computedData$,visibleComputedData$:r.visibleComputedData$,visibleComputedAxesData$:r.visibleComputedAxesData$,seriesLabels$:r.seriesLabels$,SeriesDataMap$:r.SeriesDataMap$,CategoryDataMap$:r.CategoryDataMap$,baseBarsTriangleParams$:n,gridAxesTransform$:r.gridAxesTransform$,gridGraphicTransform$:r.gridGraphicTransform$,gridAxesSize$:r.gridAxesSize$,gridHighlight$:r.gridHighlight$,gridContainerPosition$:r.gridContainerPosition$,isSeriesSeprate$:r.isSeriesSeprate$,styles$:t.pipe(A(a=>a.styles)),eventTrigger$:r.eventTrigger$});return()=>{i.next(void 0),o()}}}),yh=6,fx=3;function Vk({categoryLabel:e,axisX:t,axisHeight:n,layerParams:r}){return r.showLine&&e?[{id:e,x1:t,x2:t,y1:0,y2:n}]:[]}function Xk({categoryLabel:e,axisX:t,layerParams:n,textSizePx:r,rowAmount:i}){if(!n.showLabel||!e)return[];const o=Xt(e,n.labelTextFormat),a=o.split(`
73
+ `),s=a.reduce((u,h)=>h.length>u.length?h:u,""),c=Gr(s,r),l=r*a.length;return[{id:e,x:t,y:-n.labelPadding*i,text:o,textArr:a,textWidth:c,textHeight:l}]}function jk({selection:e,lineClassName:t,lineData:n,layerParams:r,theme:i}){return e.selectAll(`line.${t}`).data(n).join(o=>o.append("line").classed(t,!0).style("stroke-width",1).style("pointer-events","none").style("vector-effect","non-scaling-stroke").attr("x1",a=>a.x1).attr("y1",a=>a.y1).attr("x2",a=>a.x2).attr("y2",a=>a.y2),o=>o.transition().duration(50).attr("x1",a=>a.x1).attr("y1",a=>a.y1).attr("x2",a=>a.x2).attr("y2",a=>a.y2),o=>o.remove()).style("stroke",()=>de(r.lineColorType,i)).style("stroke-dasharray",r.lineDashArray??"none")}function Hk(e,t){e.selectAll(`line.${t}`).data([]).exit().remove()}function Uk({selection:e,labelClassName:t,labelData:n,categoryAxisPosition:r,layerParams:i,theme:o,textReverseTransformWithRotate:a,fontSizePx:s}){return e.selectAll(`g.${t}`).data(n).join(c=>c.append("g").classed(t,!0).style("cursor","pointer").attr("transform",l=>`translate(${l.x}, ${l.y})`),c=>c.transition().duration(50).attr("transform",l=>`translate(${l.x}, ${l.y})`),c=>c.remove()).each((c,l,u)=>{const h=Y(u[l]),f=c.textWidth+yh*2,p=c.textHeight+fx*2;let g=-f/2,m=-2,d=g,y=m-3;r==="bottom"?(g=i.labelRotate?-f+p:-f/2,m=2,d=g,y=m-3):r==="left"?(g=-f+2,m=-p/2,d=g,y=m-3,i.labelRotate&&(y+=p)):r==="right"?(g=-2,m=-p/2,d=g,y=m-3,i.labelRotate&&(y+=p)):r==="top"&&(g=i.labelRotate?-f+p:-f/2,m=-p+6,d=-p,y=m-3);const b=h.selectAll("rect").data([c]).join($=>$.append("rect").style("cursor","pointer").attr("rx",5).attr("ry",5),$=>$,$=>$.remove()).attr("width",`${f}px`).attr("height",`${p}px`).attr("fill",()=>de(i.labelColorType,o)).attr("x",d).attr("y",y).style("transform",a),x=h.selectAll("text").data([c]).join($=>$.append("text").style("dominant-baseline","hanging").style("cursor","pointer"),$=>$,$=>$.remove()).style("transform",a).attr("fill",()=>de(i.labelTextColorType,o)).attr("font-size",o.fontSize).attr("x",d+yh).attr("y",y+fx).each(($,L,E)=>{Pl(Y(E[L]),{textArr:c.textArr,textSizePx:s,categoryAxisPosition:r,isContainerRotated:!1})}),v=[];x.selectAll("tspan").each(($,L,E)=>{const M=Y(E[L]).node();M!=null&&M.getBBox&&v.push(M.getBBox().width)});const S=Math.max(...v);S>0&&b.attr("width",S+yh*2)})}function qk(e,t){e.selectAll(`g.${t}`).data([]).exit().remove()}const Kk=({selection$:e,pluginName:t,layerName:n,categoryPosition$:r,clearTrigger$:i,gridAxesSize$:o,layerParams$:a,categoryAxisPosition$:s,textReverseTransformWithRotate$:c,rowAmount$:l,fontSizePx$:u,theme$:h,eventTrigger$:f})=>{const p=new J,g=U(t,n,"auxline"),m=U(t,n,"label-box");let d=!1;return N({selection:e,categoryPosition:r,gridAxesSize:o,layerParams:a,categoryAxisPosition:s,textReverseTransformWithRotate:c,rowAmount:l,fontSizePx:u,theme:h}).pipe(R(p),V(async y=>y)).subscribe(y=>{const{categoryLabel:b,axisX:x}=y.categoryPosition;jk({selection:y.selection,lineClassName:g,lineData:Vk({categoryLabel:b,axisX:x,axisHeight:y.gridAxesSize.height,layerParams:y.layerParams}),layerParams:y.layerParams,theme:y.theme}),Uk({selection:y.selection,labelClassName:m,labelData:Xk({categoryLabel:b,axisX:x,layerParams:y.layerParams,textSizePx:y.fontSizePx,rowAmount:y.rowAmount}),categoryAxisPosition:y.categoryAxisPosition,layerParams:y.layerParams,textReverseTransformWithRotate:y.textReverseTransformWithRotate,theme:y.theme,fontSizePx:y.fontSizePx}).on("mouseover",S=>{S.stopPropagation(),d=!0,f.next({eventName:"mouseover",pluginName:t,layerName:n,target:null,event:S})}).on("mousemove",S=>{S.stopPropagation(),f.next({eventName:"mousemove",pluginName:t,layerName:n,target:null,event:S})}).on("mouseout",S=>{S.stopPropagation(),d=!1,f.next({eventName:"mouseout",pluginName:t,layerName:n,target:null,event:S})}).on("click",S=>{S.stopPropagation(),f.next({eventName:"click",pluginName:t,layerName:n,target:null,event:S})})}),N({clearTrigger:i,selection:e}).pipe(R(p),W(0)).subscribe(y=>{setTimeout(()=>{d||(Hk(y.selection,g),qk(y.selection,m))})}),()=>{p.next()}},bh="GridPlot",Ll="CategoryGuide",Zk=he({name:Ll,defaultParams:hh,layerIndex:Dl,initShow:!1,validator:e=>H(e,{showLine:{toBeTypes:["boolean"]},showLabel:{toBeTypes:["boolean"]},lineDashArray:{toBeTypes:["string"]},lineColorType:{toBeOption:"ColorType"},labelColorType:{toBeOption:"ColorType"},labelTextColorType:{toBeOption:"ColorType"},labelTextFormat:{toBeTypes:["string","Function"]},labelPadding:{toBeTypes:["number"]},labelRotate:{toBeTypes:["number"]}}),setup:({svgG:e,pluginParams$:t,layerParams$:n,context:r})=>{const i=new J;r.layout$.pipe(R(i)).subscribe(d=>{Y(e).attr("transform",`translate(${d.left}, ${d.top})`)});const o=Y(r.svg),a=o.insert("rect","g").classed(U(bh,Ll,"rect"),!0).attr("opacity",0),{axesSelection$:s}=Zn({selection:Y(e),pluginName:bh,layerName:Ll,clipPathID:"category-guide-clip",seriesLabels$:r.isSeriesSeprate$.pipe(V(d=>Ht(()=>d,r.seriesLabels$,r.seriesLabels$.pipe(A(y=>[y[0]]))))),gridContainerPosition$:r.gridContainerPosition$,gridAxesTransform$:r.gridAxesTransform$,gridGraphicTransform$:r.gridGraphicTransform$});r.layout$.pipe(R(i)).subscribe(d=>{a.attr("width",d.rootWidth).attr("height",d.rootHeight)});const c=Tk({rootSelection:o,pluginParams$:t,zoomedCategoryAxis$:r.zoomedCategoryAxis$,gridAxesContainerSize$:r.gridAxesContainerSize$,computedData$:r.computedData$,gridContainerPosition$:r.gridContainerPosition$,layout$:r.layout$}).pipe(R(i)),l=N({categoryScaleDomainValue:r.categoryScaleDomainValue$,gridAxesSize:r.gridAxesSize$,pluginParams:t}).pipe(R(i),W(0),A(d=>{const y=d.pluginParams.categoryAxis.reverse??!1;return Je().domain(d.categoryScaleDomainValue).range(y?[d.gridAxesSize.width,0]:[0,d.gridAxesSize.width])})),u=N({gridGroupPosition:c,groupScale:l}).pipe(A(d=>({categoryIndex:d.gridGroupPosition.categoryIndex,categoryLabel:d.gridGroupPosition.categoryLabel,axisX:d.groupScale(d.gridGroupPosition.categoryIndex)??0}))),h=N({gridAxesReverseTransform:r.gridAxesReverseTransform$,gridContainerPosition:r.gridContainerPosition$}).pipe(R(i),W(0),A(d=>{const y=`rotateX(${d.gridAxesReverseTransform.rotateX}deg) rotateY(${d.gridAxesReverseTransform.rotateY}deg)`,b=`rotate(${d.gridAxesReverseTransform.rotate}deg)`,x=`scale(${1/d.gridContainerPosition[0].scale[0]}, ${1/d.gridContainerPosition[0].scale[1]})`;return`${y} ${b} ${x}`}),X()),f=N({textReverseTransform:h,layerParams:n}).pipe(R(i),W(0),A(d=>`${d.textReverseTransform} rotate(${d.layerParams.labelRotate}deg)`)),p=r.gridContainerPosition$.pipe(R(i),A(d=>d.reduce((y,b)=>b.rowIndex>y?b.rowIndex:y,0)+1),X()),g=Rn(o,"mouseleave").pipe(R(i)),m=Kk({selection$:s,pluginName:bh,layerName:Ll,categoryPosition$:u,clearTrigger$:g,gridAxesSize$:r.gridAxesSize$,layerParams$:n,categoryAxisPosition$:r.categoryAxisPosition$,textReverseTransformWithRotate$:f,rowAmount$:p,fontSizePx$:r.fontSizePx$,theme$:r.theme$,eventTrigger$:r.eventTrigger$});return()=>{i.next(void 0),a.remove(),m()}}}),xh=6;function Jk(e,t){return e.map((n,r)=>{const i=Xt(n,t),o=typeof i=="string"?i.split(`
74
+ `):[i];return{text:i,textArr:o}})}function Qk({selection:e,categoryLabelClassName:t,baseCategoryAxisParams:n,axisLabelAlign:r,gridAxesSize:i,categoryAxisPosition:o,valueAxisPosition:a,categoryAxisLabel:s,styles:c,theme:l,textReverseTransform:u}){const h=n.tickPadding+n.labelOffset[0],f=n.tickPadding+n.labelOffset[1];let p=0,g=0;o==="bottom"?(g=f,a==="left"?p=h:a==="right"&&(p=-h)):o==="top"?(g=-f,a==="left"?p=h:a==="right"&&(p=-h)):o==="left"?(p=-h,a==="bottom"?g=-f:a==="top"&&(g=f)):o==="right"&&(p=h,a==="bottom"?g=-f:a==="top"&&(g=f)),e.selectAll(`g.${t}`).data([n]).join("g").classed(t,!0).each((m,d,y)=>{Y(y[d]).selectAll("text").data([m]).join(b=>b.append("text").style("font-weight","bold"),b=>b,b=>b.remove()).attr("text-anchor",r.textAnchor).attr("dominant-baseline",r.dominantBaseline).attr("font-size",l.fontSize).style("fill",de(n.labelColorType,l)).style("transform",u).attr("x",p).attr("y",g).text(b=>s)}).attr("transform",m=>`translate(${i.width}, 0)`)}function eE({selection:e,xAxisClassName:t,baseCategoryAxisParams:n,tickTextAlign:r,gridAxesSize:i,categoryAxisPosition:o,categoryScale:a,categoryScaleDomain:s,categoryLabelData:c,textReverseTransformWithRotate:l,theme:u,fontSizePx:h}){const f=e.selectAll(`g.${t}`).data([n]).join("g").classed(t,!0),p=Math.floor(s[1])-Math.ceil(s[0])+1;let g=0,m=0;o==="left"?(g=0,m=-n.tickPadding):o==="right"?(g=0,m=n.tickPadding):o==="bottom"?(n.tickFullLine==!0?g=-n.tickPadding:g=-n.tickPadding-xh,m=0):o==="top"&&(n.tickFullLine==!0?g=n.tickPadding:g=n.tickPadding-xh,m=-0);const d=ba(a).scale(a).ticks(n.ticks==="all"||n.ticks>p?p:n.ticks).tickSize(n.tickFullLine==!0?-i.height:xh).tickSizeOuter(0).tickFormat(x=>{var v;return((v=c[x])==null?void 0:v.text)??""}).tickPadding(g),y=f.transition().duration(100).ease(yn).call(d).on("end",(x,v)=>{f.selectAll(".tick text").each((S,$,L)=>{var M;const E=((M=c[S])==null?void 0:M.textArr)??[];Pl(Y(L[$]),{textArr:E,textSizePx:h,categoryAxisPosition:o,isContainerRotated:!0})})});return y.selectAll("line").style("fill","none").style("stroke",n.tickLineVisible==!0?de(n.tickColorType,u):"none").style("stroke-dasharray",n.tickFullLineDasharray).style("vector-effect","non-scaling-stroke").attr("pointer-events","none"),y.selectAll("path").style("fill","none").style("stroke",n.axisLineVisible==!0?de(n.axisLineColorType,u):"none").style("shape-rendering","crispEdges"),f.selectAll("text").attr("font-size",u.fontSize).attr("fill",de(n.tickTextColorType,u)).attr("text-anchor",r.textAnchor).attr("dominant-baseline",r.dominantBaseline).attr("x",m).style("transform",l).attr("dy",0),f}const vh=({selection:e,pluginName:t,layerName:n,computedData$:r,baseCategoryAxisParams$:i,categoryAxis$:o,valueAxis$:a,theme$:s,styles$:c,gridAxesTransform$:l,gridAxesReverseTransform$:u,gridAxesSize$:h,gridContainerPosition$:f,isSeriesSeprate$:p,fontSizePx$:g,categoryAxisPosition$:m,valueAxisPosition$:d})=>{const y=new J,b=m??o.pipe(A(_=>_.position??"bottom")),x=d??a.pipe(A(_=>_.position??"left")),v=U(t,n,"container"),S=U(t,n,"xAxisG"),$=U(t,n,"xAxis"),L=U(t,n,"categoryLabel"),E=N({computedData:r.pipe(X((_,O)=>_.length===O.length)),isSeriesSeprate:p}).pipe(R(y),V(async _=>_),A(_=>_.isSeriesSeprate?_.computedData:[_.computedData[0]]),A((_,O)=>e.selectAll(`g.${v}`).data(_,F=>F&&F[0]?F[0].seriesIndex:O).join("g").classed(v,!0))),M=E.pipe(R(y),A((_,O)=>_.selectAll(`g.${S}`).data([S]).join("g").classed(S,!0)));N({containerSelection:E,gridContainerPosition:f}).pipe(R(y),W(0)).subscribe(_=>{_.containerSelection.attr("transform",(O,F)=>{const j=_.gridContainerPosition[F]??_.gridContainerPosition[0],Z=j.translate,re=j.scale;return`translate(${Z[0]}, ${Z[1]}) scale(${re[0]}, ${re[1]})`})}),N({axisSelection:M,gridAxesTransform:l}).pipe(R(y),W(0)).subscribe(_=>{_.axisSelection.style("transform",_.gridAxesTransform.value)});const C=N({gridAxesReverseTransform:u,gridContainerPosition:f}).pipe(R(y),V(async _=>_),A(_=>{const O=`rotateX(${_.gridAxesReverseTransform.rotateX}deg) rotateY(${_.gridAxesReverseTransform.rotateY}deg)`,F=`rotate(${_.gridAxesReverseTransform.rotate}deg)`,j=`scale(${1/_.gridContainerPosition[0].scale[0]}, ${1/_.gridContainerPosition[0].scale[1]})`;return`${O} ${F} ${j}`}),X()),B=N({textReverseTransform:C,baseCategoryAxisParams:i}).pipe(R(y),V(async _=>_),A(_=>`${_.textReverseTransform} rotate(${_.baseCategoryAxisParams.tickTextRotate}deg)`)),D=N({categoryAxis:o,valueAxis:a,gridAxesSize:h,computedData:r}).pipe(R(y),V(async _=>_),A(_=>{const O=_.computedData[0]?_.computedData[0].length-1:0,F=_.categoryAxis.scaleDomain[0]-_.categoryAxis.scalePadding,j=_.categoryAxis.scaleDomain[1]==="max"?O+_.categoryAxis.scalePadding:_.categoryAxis.scaleDomain[1]+_.categoryAxis.scalePadding;return[F,j]}),z(1)),P=N({categoryScaleDomain:D,gridAxesSize:h,categoryAxis:o}).pipe(R(y),V(async _=>_),A(_=>{const O=_.categoryAxis.reverse??!1;return Je().domain(_.categoryScaleDomain).range(O?[_.gridAxesSize.width,0]:[0,_.gridAxesSize.width])})),w=r.pipe(A(_=>(_[0]??[]).map(O=>O.category))),k=N({categoryAxisPosition:b,baseCategoryAxisParams:i}).pipe(R(y),V(async _=>_),A(_=>{let O="middle",F="hanging";return _.categoryAxisPosition==="bottom"?(O=_.baseCategoryAxisParams.tickTextRotate?"end":"middle",F="hanging"):_.categoryAxisPosition==="top"?(O=_.baseCategoryAxisParams.tickTextRotate?"start":"middle",F="auto"):_.categoryAxisPosition==="left"?(O="end",F="middle"):_.categoryAxisPosition==="right"&&(O="start",F="middle"),{textAnchor:O,dominantBaseline:F}})),T=N({categoryAxisPosition:b,valueAxisPosition:x}).pipe(R(y),W(0),A(_=>{let O="start",F="hanging";return _.categoryAxisPosition==="bottom"?F="hanging":_.categoryAxisPosition==="top"?F="auto":_.categoryAxisPosition==="left"?O="end":_.categoryAxisPosition==="right"&&(O="start"),_.valueAxisPosition==="left"?O="start":_.valueAxisPosition==="right"?O="end":_.valueAxisPosition==="bottom"?F="auto":_.valueAxisPosition==="top"&&(F="hanging"),{textAnchor:O,dominantBaseline:F}})),I=N({categoryLabels:w,baseCategoryAxisParams:i}).pipe(R(y),V(async _=>_),A(_=>Jk(_.categoryLabels,_.baseCategoryAxisParams.tickFormat)));return N({axisSelection:M,baseCategoryAxisParams:i,tickTextAlign:k,axisLabelAlign:T,gridAxesSize:h,categoryAxis:o,categoryAxisPosition:b,valueAxisPosition:x,theme:s,styles:c,categoryScale:P,categoryScaleDomain:D,categoryLabelData:I,textReverseTransform:C,textReverseTransformWithRotate:B,fontSizePx:g}).pipe(R(y),V(async _=>_)).subscribe(_=>{eE({selection:_.axisSelection,xAxisClassName:$,baseCategoryAxisParams:_.baseCategoryAxisParams,tickTextAlign:_.tickTextAlign,gridAxesSize:_.gridAxesSize,categoryAxisPosition:_.categoryAxisPosition,theme:_.theme,categoryScale:_.categoryScale,categoryScaleDomain:_.categoryScaleDomain,categoryLabelData:_.categoryLabelData,textReverseTransformWithRotate:_.textReverseTransformWithRotate,fontSizePx:_.fontSizePx}),Qk({selection:_.axisSelection,categoryLabelClassName:L,baseCategoryAxisParams:_.baseCategoryAxisParams,axisLabelAlign:_.axisLabelAlign,gridAxesSize:_.gridAxesSize,categoryAxisPosition:_.categoryAxisPosition,valueAxisPosition:_.valueAxisPosition,categoryAxisLabel:_.categoryAxis.label,theme:_.theme,styles:_.styles,textReverseTransform:_.textReverseTransform})}),()=>{y.next(void 0)}},tE="GridPlot",hx="CategoryAxis",nE=he({name:hx,defaultParams:dh,layerIndex:hn,initShow:!0,validator:e=>H(e,{labelOffset:{toBe:"[number, number]",test:n=>Array.isArray(n)&&n.length===2&&typeof n[0]=="number"&&typeof n[1]=="number"},labelColorType:{toBeOption:"ColorType"},axisLineVisible:{toBeTypes:["boolean"]},axisLineColorType:{toBeOption:"ColorType"},ticks:{toBe:'number | null | "all"',test:n=>n===null||n==="all"||typeof n=="number"}}),setup:({svgG:e,pluginParams$:t,layerParams$:n,context:r})=>{const i=new J;r.layout$.pipe(R(i)).subscribe(a=>{Y(e).attr("transform",`translate(${a.left}, ${a.top})`)});const o=vh({selection:Y(e),pluginName:tE,layerName:hx,computedData$:r.computedData$,baseCategoryAxisParams$:n,gridAxesTransform$:r.gridAxesTransform$,gridAxesReverseTransform$:r.gridAxesReverseTransform$,gridAxesSize$:r.gridAxesSize$,gridContainerPosition$:r.gridContainerPosition$,isSeriesSeprate$:r.isSeriesSeprate$,fontSizePx$:r.fontSizePx$,categoryAxis$:r.zoomedCategoryAxis$,valueAxis$:t.pipe(A(a=>a.valueAxis)),styles$:t.pipe(A(a=>a.styles)),theme$:r.theme$,categoryAxisPosition$:r.categoryAxisPosition$});return()=>{i.next(void 0),o()}}}),rE=({rootSelection:e,pluginName:t,layerName:n,initCategoryAxis$:r,categoryMaxIndex$:i,axisWidth$:o,isHorizontal$:a=Mt(!0),eventTrigger$:s})=>{const c=new J;let l={k:1,x:0,y:0};const u=N({initCategoryAxis:r,categoryMaxIndex:i,axisWidth:o}).pipe(R(c),W(0),A(h=>{const f=h.initCategoryAxis.scaleDomain[0]-h.initCategoryAxis.scalePadding,p=h.initCategoryAxis.scaleDomain[1]==="max"?h.categoryMaxIndex+h.initCategoryAxis.scalePadding:h.initCategoryAxis.scaleDomain[1]+h.initCategoryAxis.scalePadding;return Ye({maxValue:h.categoryMaxIndex,minValue:0,axisWidth:h.axisWidth,scaleDomain:[f,p],scaleRange:[0,1]})}));return N({initGroupScale:u,categoryMaxIndex:i,isHorizontal:a}).pipe(R(c),W(0)).subscribe(h=>{const p=h.initGroupScale.copy(),g=Pt().on("zoom",function(d){const y=d.transform,b=v=>{const S=Math.round(v);return Math.min(h.categoryMaxIndex,Math.max(0,S))},x=(h.isHorizontal?y.rescaleX(p):y.rescaleY(p)).domain().map(b);x[0]<=0&&x[1]>=h.categoryMaxIndex?y.k<l.k&&(y.k=l.k,y.x=l.x,y.y=l.y):x[1]-x[0]<=1&&y.k>l.k&&(y.k=l.k,y.x=l.x,y.y=l.y),l.k=y.k,l.x=y.x,l.y=y.y,s.next({eventName:"zoom",pluginName:t,layerName:n,target:null,data:{scaleDomain:x}})});e.call(g)}),()=>{c.next(),e.call(Pt().on("zoom",null))}},iE="GridPlot",px="CategoryZoom",oE=he({name:px,defaultParams:ex,layerIndex:lh,initShow:!1,validator:e=>({status:"success",columnName:"",expectToBe:""}),setup:({svgG:e,pluginParams$:t,layerParams$:n,context:r})=>{const i=Y(r.svg),o=r.computedData$.pipe(A(u=>u[0]?u[0].length-1:0),X()),a=t.pipe(A(u=>u.categoryAxis)),s=r.gridAxesSize$.pipe(A(u=>u.width)),c=t.pipe(A(u=>!Li(u.direction)),X()),l=rE({rootSelection:i,pluginName:iE,layerName:px,initCategoryAxis$:a,categoryMaxIndex$:o,axisWidth$:s,isHorizontal$:c,eventTrigger$:r.eventTrigger$});return()=>{l()}}});function aE({graphicGSelection:e,circleGClassName:t,circleClassName:n,visibleComputedAxesData:r,basePointParams:i,styles:o,theme:a,graphicReverseScale:s}){const c=h=>{const f=h.size();return o.transitionDuration/f};let l=0;return e.each((h,f,p)=>{Y(p[f]).selectAll("g").data(r[f],g=>g.id).join(g=>(l=c(g),g.append("g").classed(t,!0)),g=>g,g=>g.remove()).attr("transform",g=>`translate(${g.axisX}, ${g.axisY})`).each((g,m,d)=>{Y(d[m]).selectAll("circle").data([g]).join(y=>y.append("circle").style("cursor","pointer").style("vector-effect","non-scaling-stroke").classed(n,!0).attr("opacity",0).transition().delay((b,x)=>m*l).attr("opacity",1),y=>y.transition().duration(50).attr("opacity",1),y=>y.remove()).attr("r",i.radius).attr("fill",(y,b)=>we({datum:y,colorType:i.fillColorType,theme:a})).attr("stroke",(y,b)=>we({datum:y,colorType:i.strokeColorType,theme:a})).attr("stroke-width",i.strokeWidth).attr("transform",`scale(${s[f][0]??1}, ${s[f][1]??1})`)})}),e.selectAll(`circle.${n}`)}function sE({selection:e,ids:t,onlyShowHighlighted:n,styles:r}){if(e.interrupt("highlight"),!t.length){e.transition("highlight").duration(200).style("opacity",n===!0?0:1);return}e.each((i,o,a)=>{t.includes(i.id)?Y(a[o]).style("opacity",1).transition("highlight").duration(200):Y(a[o]).style("opacity",n===!0?0:r.unhighlightedOpacity).transition("highlight").duration(200)})}function lE({defsSelection:e,clipPathData:t}){e.selectAll("clipPath").data(t).join(n=>n.append("clipPath"),n=>n,n=>n.remove()).attr("id",n=>n.id).each((n,r,i)=>{Y(i[r]).selectAll("rect").data([n]).join("rect").attr("x",0).attr("y",0).attr("width",o=>o.width).attr("height",o=>o.height)})}const cE=({selection:e,pluginName:t,layerName:n,computedData$:r,visibleComputedAxesData$:i,seriesLabels$:o,SeriesDataMap$:a,CategoryDataMap$:s,basePointParams$:c,styles$:l,theme$:u,gridAxesTransform$:h,gridGraphicTransform$:f,gridGraphicReverseScale$:p,gridAxesSize$:g,gridHighlight$:m,gridContainerPosition$:d,eventTrigger$:y})=>{const b=new J,x=We(t,n,"clipPath-box"),v=U(t,n,"circleG"),S=U(t,n,"circle"),{defsSelection$:$,graphicGSelection$:L}=Zn({selection:e,pluginName:t,layerName:n,clipPathID:x,seriesLabels$:o,gridContainerPosition$:d,gridAxesTransform$:h,gridGraphicTransform$:f}),E=N({computedData:r,gridGraphicReverseScale:p}).pipe(R(b),V(async D=>D),A(D=>D.computedData.map((P,w)=>D.gridGraphicReverseScale[w])));N({defsSelection:$,gridAxesSize:g}).pipe(R(b),V(async D=>D)).subscribe(D=>{const P=[{id:x,width:D.gridAxesSize.width,height:D.gridAxesSize.height}];lE({defsSelection:D.defsSelection,clipPathData:P})});const M=l.pipe(R(b),A(D=>D.highlightTarget),X()),C=N({graphicGSelection:L,visibleComputedAxesData:i,graphicReverseScale:E,styles:l,theme:u,basePointParams:c}).pipe(R(b),V(async D=>D),A(D=>aE({graphicGSelection:D.graphicGSelection,circleGClassName:v,circleClassName:S,visibleComputedAxesData:D.visibleComputedAxesData,basePointParams:D.basePointParams,styles:D.styles,theme:D.theme,graphicReverseScale:D.graphicReverseScale})));N({graphicSelection:C,computedData:r,SeriesDataMap:a,CategoryDataMap:s,highlightTarget:M}).pipe(R(b),V(async D=>D)).subscribe(D=>{D.graphicSelection.on("mouseover",(P,w)=>{y.next({eventName:"mouseover",pluginName:t,layerName:n,target:w,event:P})}).on("mousemove",(P,w)=>{y.next({eventName:"mousemove",pluginName:t,layerName:n,target:w,event:P})}).on("mouseout",(P,w)=>{y.next({eventName:"mouseout",pluginName:t,layerName:n,target:w,event:P})}).on("click",(P,w)=>{y.next({eventName:"click",pluginName:t,layerName:n,target:w,event:P})})});const B=c.pipe(R(b),A(D=>D.onlyShowHighlighted),X());return N({graphicSelection:C,highlight:m.pipe(A(D=>D.map(P=>P.id))),onlyShowHighlighted:B,styles:l}).pipe(R(b),W(0)).subscribe(D=>{sE({selection:D.graphicSelection,ids:D.highlight,onlyShowHighlighted:D.onlyShowHighlighted,styles:D.styles})}),()=>{b.next(void 0)}},uE="GridPlot",dx="Point",fE=he({name:dx,defaultParams:K1,layerIndex:G1,initShow:!1,validator:e=>H(e,{radius:{toBeTypes:["number"]},fillColorType:{toBeOption:"ColorType"},strokeColorType:{toBeOption:"ColorType"},strokeWidth:{toBeTypes:["number"]},onlyShowHighlighted:{toBeTypes:["boolean"]}}),setup:({svgG:e,pluginParams$:t,layerParams$:n,context:r})=>{const i=new J;r.layout$.pipe(R(i)).subscribe(a=>{Y(e).attr("transform",`translate(${a.left}, ${a.top})`)});const o=cE({selection:Y(e),pluginName:uE,layerName:dx,computedData$:r.computedData$,visibleComputedAxesData$:r.visibleComputedAxesData$,seriesLabels$:r.seriesLabels$,SeriesDataMap$:r.SeriesDataMap$,CategoryDataMap$:r.CategoryDataMap$,basePointParams$:n,styles$:t.pipe(A(a=>a.styles)),theme$:r.theme$,gridAxesTransform$:r.gridAxesTransform$,gridGraphicTransform$:r.gridGraphicTransform$,gridGraphicReverseScale$:r.gridGraphicReverseScale$,gridAxesSize$:r.gridAxesSize$,gridHighlight$:r.gridHighlight$,gridContainerPosition$:r.gridContainerPosition$,eventTrigger$:r.eventTrigger$});return()=>{i.next(void 0),o()}}});function hE(e="curveLinear",t){return Hf().x(n=>n.axisX).y0(n=>t).y1(n=>n.axisY).curve(ih[e])}function pE(e){let t=[[]],n=0;for(let r in e){if(e[r].visible==!1||e[r].value===void 0||e[r].value===null){t[n].length&&(n++,t[n]=[]);continue}t[n].push(e[r])}return t}function dE({selection:e,pathClassName:t,segmentData:n,areaPath:r,linearGradientIds:i,params:o}){return e.selectAll("path").data(n,(s,c)=>s.length?`${s[0].id}_${s[s.length-1].id}`:c).join(s=>s.append("path").classed(t,!0).attr("fill","none").style("vector-effect","non-scaling-stroke").style("cursor","pointer"),s=>s,s=>s.remove()).attr("fill",(s,c)=>s[0]?`url(#${i[s[0].seriesIndex]})`:"").attr("d",s=>r(s))}function gE({selection:e,seriesLabel:t,styles:n}){if(e.interrupt("highlight"),!t){e.transition("highlight").duration(200).style("opacity",1);return}e.each((r,i,o)=>{r===t?Y(o[i]).style("opacity",1):Y(o[i]).style("opacity",n.unhighlightedOpacity)})}function mE({defsSelection:e,computedData:t,linearGradientIds:n,params:r}){e.selectAll("linearGradient").data(t??[]).join(i=>i.append("linearGradient").attr("x1","0%").attr("x2","0%").attr("y1","100%").attr("y2","0%").attr("spreadMethod","pad"),i=>i,i=>i.remove()).attr("id",(i,o)=>i[0]?n[i[0].seriesIndex]:"").html((i,o)=>{const a=i[0]?i[0].color:"";return`
75
+ <stop offset="0%" stop-color="${a}" stop-opacity="${r.linearGradientOpacity[0]}"/>
76
+ <stop offset="100%" stop-color="${a}" stop-opacity="${r.linearGradientOpacity[1]}"/>
77
+ `})}function yE({defsSelection:e,clipPathData:t,transitionDuration:n,transitionEase:r}){e.selectAll("clipPath").data(t).join(i=>i.append("clipPath"),i=>i,i=>i.remove()).attr("id",i=>i.id).each((i,o,a)=>{Y(a[o]).selectAll("rect").data([i]).join(s=>{const c=s.append("rect");return c.transition().duration(n).ease(Vt(r)).tween("tween",(l,u,h)=>f=>{const p=l.width*f;c.attr("x",0).attr("y",0).attr("width",g=>p).attr("height",g=>g.height)}),c},s=>s.attr("x",0).attr("y",0).attr("width",c=>c.width).attr("height",c=>c.height),s=>s.remove())})}const bE=({selection:e,pluginName:t,layerName:n,computedData$:r,visibleComputedAxesData$:i,seriesLabels$:o,SeriesDataMap$:a,CategoryDataMap$:s,pluginParams$:c,baseLineAreaParams$:l,styles$:u,gridAxesTransform$:h,gridGraphicTransform$:f,gridAxesSize$:p,gridHighlight$:g,gridContainerPosition$:m,layout$:d,eventTrigger$:y})=>{const b=new J,x=We(t,n,"clipPath-box"),v=U(t,n,"path"),{defsSelection$:S,graphicGSelection$:$}=Zn({selection:e,pluginName:t,layerName:n,clipPathID:x,seriesLabels$:o,gridContainerPosition$:m,gridAxesTransform$:h,gridGraphicTransform$:f}),L=f.pipe(R(b),A(T=>-T.translate[1]/T.scale[1])),E=new me(T=>{const I=N({baseLineAreaParams:l,valueAxisStart:L}).pipe(R(b)).subscribe(_=>{const O=hE(_.baseLineAreaParams.lineCurve,_.valueAxisStart);T.next(O)});return()=>{I.unsubscribe()}}),M=u.pipe(A(T=>T.transitionDuration),X()),C=u.pipe(A(T=>T.transitionEase),X());N({defsSelection:S,seriesLabels:o,axisSize:p,transitionDuration:M,transitionEase:C}).pipe(R(b),V(async T=>T)).subscribe(T=>{const _=[{id:x,width:T.axisSize.width,height:T.axisSize.height}].concat(T.seriesLabels.map(O=>({id:`orbcharts__clipPath_${O}`,width:T.axisSize.width,height:T.axisSize.height})));yE({defsSelection:T.defsSelection,clipPathData:_,transitionDuration:T.transitionDuration,transitionEase:T.transitionEase})});const B=r.pipe(A(T=>{const I=new Map;return T.flat().forEach(_=>I.set(_.id,_)),I})),D=ix({pluginParams$:c,gridAxesSize$:p,computedData$:r,gridContainerPosition$:m,layout$:d}),P=u.pipe(R(b),A(T=>T.highlightTarget),X()),w=o.pipe(R(b),A(T=>T.map((I,_)=>We(t,n,`lineargradient-${I}`)))),k=N({graphicGSelection:$,defsSelection:S,visibleComputedAxesData:i,linearGradientIds:w,areaPath:E,params:l}).pipe(R(b),V(async T=>T),A(T=>{let I=[];return T.graphicGSelection.each((_,O,F)=>{const j=pE(T.visibleComputedAxesData[O]??[]);I[O]=dE({selection:Y(F[O]),pathClassName:v,areaPath:T.areaPath,segmentData:j,linearGradientIds:T.linearGradientIds,params:T.params}),mE({defsSelection:T.defsSelection,computedData:T.visibleComputedAxesData,linearGradientIds:T.linearGradientIds,params:T.params})}),I}));return N({pathSelectionArr:k,computedData:r,SeriesDataMap:a,CategoryDataMap:s,highlightTarget:P,gridCategoryPositionFn:D}).pipe(R(b),V(async T=>T)).subscribe(T=>{T.pathSelectionArr.forEach(I=>{I.on("mouseover",(_,O)=>{const F=O[0]?O[0].series:"",{categoryIndex:j,categoryLabel:Z}=T.gridCategoryPositionFn(_),G=T.CategoryDataMap.get(Z).find(ee=>ee.series===F)??O[0];y.next({eventName:"mouseover",pluginName:t,layerName:n,target:G,event:_})}).on("mousemove",(_,O)=>{const F=O[0]?O[0].series:"",{categoryIndex:j,categoryLabel:Z}=T.gridCategoryPositionFn(_),G=T.CategoryDataMap.get(Z).find(ee=>ee.series===F)??O[0];y.next({eventName:"mousemove",pluginName:t,layerName:n,target:G,event:_})}).on("mouseout",(_,O)=>{const F=O[0]?O[0].series:"",{categoryIndex:j,categoryLabel:Z}=T.gridCategoryPositionFn(_),G=T.CategoryDataMap.get(Z).find(ee=>ee.series===F)??O[0];y.next({eventName:"mouseout",pluginName:t,layerName:n,target:G,event:_})}).on("click",(_,O)=>{const F=O[0]?O[0].series:"",{categoryIndex:j,categoryLabel:Z}=T.gridCategoryPositionFn(_),G=T.CategoryDataMap.get(Z).find(ee=>ee.series===F)??O[0];y.next({eventName:"click",pluginName:t,layerName:n,target:G,event:_})})})}),u.pipe(R(b),mt(T=>T.highlightTarget==="series"),V(T=>N({graphicGSelection:$,gridHighlight:g,DataMap:B,styles:u}).pipe(R(b),V(async I=>I)))).subscribe(T=>{const I=T.gridHighlight[0]?T.gridHighlight[0].series:null;gE({selection:T.graphicGSelection,seriesLabel:I,styles:T.styles})}),()=>{b.next(void 0)}},xE="GridPlot",gx="LineArea",vE=he({name:gx,defaultParams:q1,layerIndex:x8,initShow:!1,validator:e=>H(e,{lineCurve:{toBeTypes:["string"]},linearGradientOpacity:{toBe:"[number, number]",test:n=>Array.isArray(n)&&n.length===2&&typeof n[0]=="number"&&typeof n[1]=="number"}}),setup:({svgG:e,pluginParams$:t,layerParams$:n,context:r})=>{const i=new J;r.layout$.pipe(R(i)).subscribe(a=>{Y(e).attr("transform",`translate(${a.left}, ${a.top})`)});const o=bE({selection:Y(e),pluginName:xE,layerName:gx,computedData$:r.computedData$,visibleComputedAxesData$:r.visibleComputedAxesData$,seriesLabels$:r.seriesLabels$,SeriesDataMap$:r.SeriesDataMap$,CategoryDataMap$:r.CategoryDataMap$,baseLineAreaParams$:n,pluginParams$:t,styles$:t.pipe(A(a=>a.styles)),gridAxesTransform$:r.gridAxesTransform$,gridGraphicTransform$:r.gridGraphicTransform$,gridAxesSize$:r.gridAxesSize$,gridHighlight$:r.gridHighlight$,gridContainerPosition$:r.gridContainerPosition$,allContainerPosition$:r.gridContainerPosition$,layout$:r.layout$,eventTrigger$:r.eventTrigger$});return()=>{i.next(void 0),o()}}});function $E(e="curveLinear"){return dl().x(t=>t.axisX).y(t=>t.axisY).curve(ih[e])}function SE(e){let t=[[]],n=0;for(let r in e){if(e[r].visible==!1||e[r].value===void 0||e[r].value===null){t[n].length&&(n++,t[n]=[]);continue}t[n].push(e[r])}return t}function AE({selection:e,pathClassName:t,segmentData:n,linePath:r,params:i}){return e.selectAll("path").data(n,(a,s)=>a.length?`${a[0].id}_${a[a.length-1].id}`:s).join(a=>a.append("path").classed(t,!0).attr("fill","none").attr("pointer-events","visibleStroke").style("vector-effect","non-scaling-stroke").style("cursor","pointer"),a=>a,a=>a.remove()).attr("stroke-width",i.lineWidth).attr("stroke",(a,s)=>a[0]&&a[0].color).attr("d",a=>r(a))}function TE({selection:e,seriesLabel:t,styles:n}){if(e.interrupt("highlight"),!t){e.transition("highlight").duration(200).style("opacity",1);return}e.each((r,i,o)=>{r===t?Y(o[i]).style("opacity",1):Y(o[i]).style("opacity",n.unhighlightedOpacity)})}function wE({defsSelection:e,clipPathData:t,transitionDuration:n,transitionEase:r}){e.selectAll("clipPath").data(t).join(i=>i.append("clipPath"),i=>i,i=>i.remove()).attr("id",i=>i.id).each((i,o,a)=>{Y(a[o]).selectAll("rect").data([i]).join(s=>{const c=s.append("rect");return c.transition().duration(n).ease(Vt(r)).tween("tween",(l,u,h)=>f=>{const p=l.width*f;c.attr("x",0).attr("y",0).attr("width",g=>p).attr("height",g=>g.height)}),c},s=>s.attr("x",0).attr("y",0).attr("width",c=>c.width).attr("height",c=>c.height),s=>s.remove())})}const _E=({selection:e,pluginName:t,layerName:n,computedData$:r,visibleComputedAxesData$:i,seriesLabels$:o,SeriesDataMap$:a,CategoryDataMap$:s,pluginParams$:c,baseLineParams$:l,styles$:u,gridAxesTransform$:h,gridGraphicTransform$:f,gridAxesSize$:p,gridHighlight$:g,gridContainerPosition$:m,allContainerPosition$:d,layout$:y,eventTrigger$:b})=>{const x=new J,v=We(t,n,"clipPath-box"),S=U(t,n,"path"),{defsSelection$:$,graphicGSelection$:L}=Zn({selection:e,pluginName:t,layerName:n,clipPathID:v,seriesLabels$:o,gridContainerPosition$:m,gridAxesTransform$:h,gridGraphicTransform$:f}),E=new me(k=>{const T=l.pipe(R(x)).subscribe(I=>{if(!I)return;const _=$E(I.lineCurve);k.next(_)});return()=>{T.unsubscribe()}}),M=u.pipe(A(k=>k.transitionDuration),X()),C=u.pipe(A(k=>k.transitionEase),X());N({defsSelection:$,seriesLabels:o,axisSize:p,transitionDuration:M,transitionEase:C}).pipe(R(x),V(async k=>k)).subscribe(k=>{const I=[{id:v,width:k.axisSize.width,height:k.axisSize.height}].concat(k.seriesLabels.map(_=>({id:`orbcharts__clipPath_${_}`,width:k.axisSize.width,height:k.axisSize.height})));wE({defsSelection:k.defsSelection,clipPathData:I,transitionDuration:k.transitionDuration,transitionEase:k.transitionEase})});const B=r.pipe(A(k=>{const T=new Map;return k.flat().forEach(I=>T.set(I.id,I)),T})),D=ix({pluginParams$:c,gridAxesSize$:p,computedData$:r,gridContainerPosition$:d,layout$:y}),P=u.pipe(R(x),A(k=>k.highlightTarget),X()),w=N({graphicGSelection:L,visibleComputedAxesData:i,linePath:E,params:l}).pipe(R(x),V(async k=>k),A(k=>{let T=[];return k.graphicGSelection.each((I,_,O)=>{const F=SE(k.visibleComputedAxesData[_]??[]);T[_]=AE({selection:Y(O[_]),pathClassName:S,linePath:k.linePath,segmentData:F,params:k.params})}),T}));return N({pathSelectionArr:w,computedData:r,SeriesDataMap:a,CategoryDataMap:s,highlightTarget:P,gridGroupPositionFn:D}).pipe(R(x),V(async k=>k)).subscribe(k=>{k.pathSelectionArr.forEach(T=>{T.on("mouseover",(I,_)=>{const O=_[0]?_[0].series:"",{categoryIndex:F,categoryLabel:j}=k.gridGroupPositionFn(I),te=k.CategoryDataMap.get(j).find(G=>G.series===O)??_[0];b.next({eventName:"mouseover",pluginName:t,layerName:n,target:te,event:I})}).on("mousemove",(I,_)=>{const O=_[0]?_[0].series:"",{categoryIndex:F,categoryLabel:j}=k.gridGroupPositionFn(I),te=k.CategoryDataMap.get(j).find(G=>G.series===O)??_[0];b.next({eventName:"mousemove",pluginName:t,layerName:n,target:te,event:I})}).on("mouseout",(I,_)=>{const O=_[0]?_[0].series:"",{categoryIndex:F,categoryLabel:j}=k.gridGroupPositionFn(I),te=k.CategoryDataMap.get(j).find(G=>G.series===O)??_[0];b.next({eventName:"mouseout",pluginName:t,layerName:n,target:te,event:I})}).on("click",(I,_)=>{const O=_[0]?_[0].series:"",{categoryIndex:F,categoryLabel:j}=k.gridGroupPositionFn(I),te=k.CategoryDataMap.get(j).find(G=>G.series===O)??_[0];b.next({eventName:"click",pluginName:t,layerName:n,target:te,event:I})})})}),u.pipe(R(x),mt(k=>k.highlightTarget==="series"),V(k=>N({graphicGSelection:L,gridHighlight:g,DataMap:B,styles:u}).pipe(R(x),W(0)))).subscribe(k=>{const T=k.gridHighlight[0]?k.gridHighlight[0].series:null;TE({selection:k.graphicGSelection,seriesLabel:T,styles:k.styles})}),()=>{x.next(void 0)}},DE="GridPlot",mx="Line",PE=he({name:mx,defaultParams:U1,layerIndex:$t,initShow:!1,validator:e=>H(e,{lineCurve:{toBeTypes:["string"]},lineWidth:{toBeTypes:["number"]}}),setup:({svgG:e,pluginParams$:t,layerParams$:n,context:r})=>{const i=new J;r.layout$.pipe(R(i)).subscribe(a=>{Y(e).attr("transform",`translate(${a.left}, ${a.top})`)});const o=_E({selection:Y(e),pluginName:DE,layerName:mx,computedData$:r.computedData$,visibleComputedAxesData$:r.visibleComputedAxesData$,seriesLabels$:r.seriesLabels$,SeriesDataMap$:r.SeriesDataMap$,CategoryDataMap$:r.CategoryDataMap$,baseLineParams$:n,pluginParams$:t,styles$:t.pipe(A(a=>a.styles)),gridAxesTransform$:r.gridAxesTransform$,gridGraphicTransform$:r.gridGraphicTransform$,gridAxesSize$:r.gridAxesSize$,gridHighlight$:r.gridHighlight$,gridContainerPosition$:r.gridContainerPosition$,allContainerPosition$:r.gridContainerPosition$,layout$:r.layout$,eventTrigger$:r.eventTrigger$});return()=>{i.next(void 0),o()}}}),yx=.3;function ME({axisWidth:e,groupAmount:t,barGroupPadding:n=0}){const i=(t>1?e/(t-1):e)-n;return i>1?i:1}function CE(e,t){return e<=1?0:t/(e-1)*yx}function LE(e,t){return e<=1?t:t*(1-yx)}function kE({graphicGSelection:e,rectClassName:t,barData:n,zeroY:r,styles:i,barWidth:o,transformedBarRadius:a,delayGroup:s,transitionItem:c}){const l=o/2;return e.each((h,f,p)=>{Y(p[f]).selectAll(`rect.${t}`).data(n[f]??[],g=>g.id).join(g=>g.append("rect").classed(t,!0).attr("cursor","pointer").attr("height",m=>1),g=>g,g=>g.remove()).attr("transform",(g,m)=>`translate(${(g?g.axisX:0)-l}, 0)`).attr("fill",g=>g.color).attr("y",g=>r).attr("x",g=>0).attr("width",o).attr("rx",a[f][0]??1).attr("ry",a[f][1]??1).transition().duration(c).ease(Vt(i.transitionEase)).delay((g,m)=>g.categoryIndex*s).attr("y",g=>g._barStartY).attr("height",g=>g._barHeight>0?Math.abs(g._barHeight):1)}),e.selectAll(`rect.${t}`)}function EE({defsSelection:e,clipPathData:t}){e.selectAll("clipPath").data(t).join(n=>n.append("clipPath"),n=>n,n=>n.remove()).attr("id",n=>n.id).each((n,r,i)=>{Y(i[r]).selectAll("rect").data([n]).join(o=>o.append("rect"),o=>o,o=>o.remove()).attr("x",0).attr("y",0).attr("width",o=>o.width).attr("height",o=>o.height)})}function RE({selection:e,ids:t,styles:n}){if(e.interrupt("highlight"),!t.length){e.transition("highlight").duration(200).style("opacity",1);return}e.each((r,i,o)=>{t.includes(r.id)?Y(o[i]).style("opacity",1):Y(o[i]).style("opacity",n.unhighlightedOpacity)})}const BE=({selection:e,pluginName:t,layerName:n,computedData$:r,computedAxesData$:i,visibleComputedData$:o,visibleComputedAxesData$:a,filteredMinMaxValue$:s,filteredStackedMinMaxValue$:c,seriesLabels$:l,SeriesDataMap$:u,CategoryDataMap$:h,baseStackedBarParams$:f,pluginParams$:p,styles$:g,gridAxesTransform$:m,gridGraphicTransform$:d,gridGraphicReverseScale$:y,gridAxesSize$:b,gridHighlight$:x,gridContainerPosition$:v,isSeriesSeprate$:S,eventTrigger$:$})=>{const L=new J,E=We(t,n,"clipPath-box"),M=U(t,n,"rect"),{defsSelection$:C,graphicGSelection$:B}=Zn({selection:e,pluginName:t,layerName:n,clipPathID:E,seriesLabels$:l,gridContainerPosition$:v,gridAxesTransform$:m,gridGraphicTransform$:d}),D=a.pipe(R(L),A(G=>G[0]&&G[0][0]?G[0][0].axisY-G[0][0].axisYFromZero:0),X()),P=N({computedData:r,params:f,axisSize:b,isSeriesSeprate:S}).pipe(R(L),V(async G=>G),A(G=>G.params.barWidth?G.params.barWidth:ME({axisWidth:G.axisSize.width,groupAmount:G.computedData[0]?G.computedData[0].length:0,barGroupPadding:G.params.barGroupPadding})),X()),w=N({computedData:r,barWidth:P,params:f,gridGraphicReverseScale:y}).pipe(R(L),V(async G=>G),A(G=>{const ee=G.barWidth/2,ae=G.params.barRadius===!0?ee:G.params.barRadius===!1?0:typeof G.params.barRadius=="number"?G.params.barRadius:0;return G.computedData.map((ce,Q)=>{const oe=G.gridGraphicReverseScale[Q]??G.gridGraphicReverseScale[0],ue=ae*oe[0],K=ae*oe[1];return[ue,K]})})),k=o.pipe(R(L),A(G=>{const ee=new Set;return G.forEach(ae=>{ae.forEach(ce=>{ee.add(ce.category)})}),Array.from(ee)}),z(1)),T=g.pipe(R(L),A(G=>G.transitionDuration),X()),I=new me(G=>{N({groupLabels:k,transitionDuration:T}).pipe(V(async ee=>ee)).subscribe(ee=>{const ae=CE(ee.groupLabels.length,ee.transitionDuration);G.next(ae)})}).pipe(R(L),X()),_=new me(G=>{N({groupLabels:k,transitionDuration:T}).pipe(V(async ee=>ee)).subscribe(ee=>{const ae=LE(ee.groupLabels.length,ee.transitionDuration);G.next(ae)})}).pipe(R(L),X());N({computedData:r,pluginParams:p}).pipe(R(L),V(async G=>G),A(G=>{const ee=G.computedData[0]?G.computedData[0].length-1:0,ae=G.pluginParams.categoryAxis.scaleDomain[0],ce=G.pluginParams.categoryAxis.scaleDomain[1]==="max"?ee:G.pluginParams.categoryAxis.scaleDomain[1];return[ae,ce]}));const O=N({filteredMinMaxValue:s,filteredStackedMinMaxValue:c}).pipe(R(L),V(async G=>G),A(G=>G.filteredMinMaxValue[1]/G.filteredStackedMinMaxValue[1])),F=N({computedAxesData:i,yRatio:O,zeroY:D}).pipe(R(L),A(G=>{let ee=G.computedAxesData[0]?G.computedAxesData[0].map(()=>G.zeroY):[];return G.computedAxesData.map((ae,ce)=>ae.map((Q,oe)=>{ee[oe]||(ee[oe]=0);const ue=ee[oe];let K=0;return Q.visible&&(K=Q.axisYFromZero*G.yRatio,ee[oe]=ee[oe]+K),{...Q,_barStartY:ue,_barHeight:K}}))})),j=N({computedAxesData:i,zeroY:D}).pipe(R(L),A(G=>G.computedAxesData.map((ee,ae)=>ee.map((ce,Q)=>({...ce,_barStartY:G.zeroY,_barHeight:ce.axisYFromZero}))))),Z=S.pipe(V(G=>Ht(()=>G,j,F)));N({defsSelection:C,gridAxesSize:b}).pipe(R(L),V(async G=>G)).subscribe(G=>{const ee=[{id:E,width:G.gridAxesSize.width,height:G.gridAxesSize.height}];EE({defsSelection:G.defsSelection,clipPathData:ee})});const re=g.pipe(R(L),A(G=>G.highlightTarget),X()),te=N({graphicGSelection:B,graphicData:Z,zeroY:D,groupLabels:k,params:f,styles:g,highlightTarget:re,barWidth:P,transformedBarRadius:w,delayGroup:I,transitionItem:_,isSeriesSeprate:S}).pipe(R(L),V(async G=>G),A(G=>kE({graphicGSelection:G.graphicGSelection,rectClassName:M,barData:G.graphicData,zeroY:G.zeroY,styles:G.styles,barWidth:G.barWidth,transformedBarRadius:G.transformedBarRadius,delayGroup:G.delayGroup,transitionItem:G.transitionItem})));return N({barSelection:te,computedData:r,highlightTarget:re,SeriesDataMap:u,CategoryDataMap:h}).subscribe(G=>{G.barSelection.on("mouseover",(ee,ae)=>{ee.stopPropagation(),$.next({eventName:"mouseover",pluginName:t,layerName:n,target:ae,event:ee})}).on("mousemove",(ee,ae)=>{ee.stopPropagation(),$.next({eventName:"mousemove",pluginName:t,layerName:n,target:ae,event:ee})}).on("mouseout",(ee,ae)=>{ee.stopPropagation(),$.next({eventName:"mouseout",pluginName:t,layerName:n,target:ae,event:ee})}).on("click",(ee,ae)=>{ee.stopPropagation(),$.next({eventName:"click",pluginName:t,layerName:n,target:ae,event:ee})})}),N({barSelection:te,highlight:x.pipe(A(G=>G.map(ee=>ee.id))),styles:g}).pipe(R(L),V(async G=>G)).subscribe(G=>{RE({selection:G.barSelection,ids:G.highlight,styles:G.styles})}),()=>{L.next(void 0)}},IE="GridPlot",bx="StackedBar",NE=he({name:bx,defaultParams:Z1,layerIndex:$t,initShow:!1,validator:e=>H(e,{barWidth:{toBeTypes:["number"]},barGroupPadding:{toBeTypes:["number"]},barRadius:{toBeTypes:["number","boolean"]}}),setup:({svgG:e,pluginParams$:t,layerParams$:n,context:r})=>{const i=new J;r.layout$.pipe(R(i)).subscribe(a=>{Y(e).attr("transform",`translate(${a.left}, ${a.top})`)});const o=BE({selection:Y(e),pluginName:IE,layerName:bx,computedData$:r.computedData$,computedAxesData$:r.computedAxesData$,visibleComputedData$:r.visibleComputedData$,visibleComputedAxesData$:r.visibleComputedAxesData$,filteredMinMaxValue$:r.filteredMinMaxValue$,filteredStackedMinMaxValue$:r.filteredStackedMinMaxValue$,seriesLabels$:r.seriesLabels$,SeriesDataMap$:r.SeriesDataMap$,CategoryDataMap$:r.CategoryDataMap$,baseStackedBarParams$:n,pluginParams$:t,styles$:t.pipe(A(a=>a.styles)),gridAxesTransform$:r.gridAxesTransform$,gridGraphicTransform$:r.gridGraphicTransform$,gridGraphicReverseScale$:r.gridGraphicReverseScale$,gridAxesSize$:r.gridAxesSize$,gridHighlight$:r.gridHighlight$,gridContainerPosition$:r.gridContainerPosition$,isSeriesSeprate$:r.isSeriesSeprate$,eventTrigger$:r.eventTrigger$});return()=>{i.next(void 0),o()}}}),OE=6;function zE({selection:e,textClassName:t,baseValueAxisParams:n,axisLabelAlign:r,gridAxesSize:i,categoryAxisPosition:o,valueAxisPosition:a,valueAxisLabel:s,theme:c,textReverseTransform:l}){const u=n.tickPadding-n.labelOffset[0],h=n.tickPadding+n.labelOffset[1];let f=0,p=0;o==="bottom"?(p=-h,a==="left"?f=-u:a==="right"&&(f=u)):o==="top"?(p=h,a==="left"?f=-u:a==="right"&&(f=u)):o==="left"?(f=u,a==="bottom"?p=h:a==="top"&&(p=-h)):o==="right"&&(f=-u,a==="bottom"?p=h:a==="top"&&(p=-h)),e.selectAll(`g.${t}`).data([n]).join("g").classed(t,!0).each((g,m,d)=>{Y(d[m]).selectAll("text").data([g]).join(y=>y.append("text").style("font-weight","bold"),y=>y,y=>y.remove()).attr("text-anchor",r.textAnchor).attr("dominant-baseline",r.dominantBaseline).attr("font-size",c.fontSize).style("fill",de(n.labelColorType,c)).style("transform",l).attr("x",f).attr("y",p).text(y=>s)}).attr("transform",g=>`translate(0, ${i.height})`)}function FE({selection:e,yAxisClassName:t,baseValueAxisParams:n,tickTextAlign:r,gridAxesSize:i,valueAxisPosition:o,valueScale:a,textReverseTransformWithRotate:s,theme:c}){const l=e.selectAll(`g.${t}`).data([n]).join("g").classed(t,!0);let u=0,h=0;o==="left"?(u=n.tickPadding,h=0):o==="right"?(u=-n.tickPadding,h=0):o==="bottom"?(u=0,h=n.tickPadding):o==="top"&&(u=0,h=-n.tickPadding);const f=pc(a).scale(a).ticks(n.ticks).tickFormat(m=>Xt(m,n.tickFormat)).tickSize(n.tickFullLine==!0?-i.width:OE).tickPadding(u),p=l.transition().duration(100).ease(yn).call(f);p.selectAll("line").style("fill","none").style("stroke",n.tickLineVisible==!0?de(n.tickColorType,c):"none").style("stroke-dasharray",n.tickFullLineDasharray).style("vector-effect","non-scaling-stroke").attr("pointer-events","none"),p.selectAll("path").style("fill","none").style("stroke",n.axisLineVisible==!0?de(n.axisLineColorType,c):"none").style("shape-rendering","crispEdges");const g=l.selectAll("text").attr("font-size",c.fontSize).style("color",de(n.tickTextColorType,c)).attr("text-anchor",r.textAnchor).attr("dominant-baseline",r.dominantBaseline).attr("y",h).attr("dy",0);return g.style("transform",s),(o==="bottom"||o==="top")&&g.attr("dy",0),l}const $h=({selection:e,pluginName:t,layerName:n,computedData$:r,filteredMinMaxValue$:i,baseValueAxisParams$:o,categoryAxis$:a,valueAxis$:s,theme$:c,gridAxesSize$:l,gridAxesTransform$:u,gridAxesReverseTransform$:h,gridContainerPosition$:f,isSeriesSeprate$:p,categoryAxisPosition$:g,valueAxisPosition$:m})=>{const d=new J,y=g??a.pipe(A(P=>P.position??"bottom")),b=m??s.pipe(A(P=>P.position??"left")),x=U(t,n,"yAxisG"),v=U(t,n,"yAxis"),S=U(t,n,"text"),L=Ak({selection:e,pluginName:t,layerName:n,computedData$:r,gridContainerPosition$:f,isSeriesSeprate$:p}).pipe(R(d),A((P,w)=>P.selectAll(`g.${x}`).data([x]).join("g").classed(x,!0)));N({axisSelection:L,gridAxesTransform:u}).pipe(R(d),W(0)).subscribe(P=>{P.axisSelection.style("transform",P.gridAxesTransform.value)});const E=N({gridAxesReverseTransform:h,gridContainerPosition:f}).pipe(R(d),W(0),A(P=>{const w=`rotateX(${P.gridAxesReverseTransform.rotateX}deg) rotateY(${P.gridAxesReverseTransform.rotateY}deg)`,k=`rotate(${P.gridAxesReverseTransform.rotate}deg)`,T=`scale(${1/P.gridContainerPosition[0].scale[0]}, ${1/P.gridContainerPosition[0].scale[1]})`;return`${w} ${k} ${T}`}),X()),M=N({textReverseTransform:E,baseValueAxisParams:o}).pipe(R(d),W(0),A(P=>`${P.textReverseTransform} rotate(${P.baseValueAxisParams.tickTextRotate}deg)`)),C=new me(P=>{N({valueAxis:s,gridAxesSize:l,filteredMinMaxValue:i}).pipe(R(d),W(0)).subscribe(w=>{let k=w.filteredMinMaxValue[1],T=w.filteredMinMaxValue[0];k===T&&k===0&&(k=1);const I=Ye({maxValue:k,minValue:T,axisWidth:w.gridAxesSize.height,scaleDomain:w.valueAxis.scaleDomain,scaleRange:w.valueAxis.scaleRange});P.next(I)})}),B=N({valueAxisPosition:b,baseValueAxisParams:o}).pipe(R(d),W(0),A(P=>{let w="start",k="hanging";return P.valueAxisPosition==="left"?(w="end",k="middle"):P.valueAxisPosition==="right"?(w="start",k="middle"):P.valueAxisPosition==="bottom"?(w=P.baseValueAxisParams.tickTextRotate?"end":"middle",k="hanging"):P.valueAxisPosition==="top"&&(w=P.baseValueAxisParams.tickTextRotate?"start":"middle",k="auto"),{textAnchor:w,dominantBaseline:k}})),D=N({categoryAxisPosition:y,valueAxisPosition:b}).pipe(R(d),W(0),A(P=>{let w="start",k="hanging";return P.categoryAxisPosition==="bottom"?k="auto":P.categoryAxisPosition==="top"?k="hanging":P.categoryAxisPosition==="left"?w="start":P.categoryAxisPosition==="right"&&(w="end"),P.valueAxisPosition==="left"?w="end":P.valueAxisPosition==="right"?w="start":P.valueAxisPosition==="bottom"?k="hanging":P.valueAxisPosition==="top"&&(k="auto"),{textAnchor:w,dominantBaseline:k}}));return N({axisSelection:L,baseValueAxisParams:o,tickTextAlign:B,axisLabelAlign:D,computedData:r,gridAxesSize:l,valueAxis:s,categoryAxisPosition:y,valueAxisPosition:b,valueScale:C,textReverseTransform:E,textReverseTransformWithRotate:M,theme:c}).pipe(R(d),W(0)).subscribe(P=>{FE({selection:P.axisSelection,yAxisClassName:v,baseValueAxisParams:P.baseValueAxisParams,tickTextAlign:P.tickTextAlign,gridAxesSize:P.gridAxesSize,valueAxisPosition:P.valueAxisPosition,valueScale:P.valueScale,textReverseTransformWithRotate:P.textReverseTransformWithRotate,theme:P.theme}),zE({selection:P.axisSelection,textClassName:S,baseValueAxisParams:P.baseValueAxisParams,axisLabelAlign:P.axisLabelAlign,gridAxesSize:P.gridAxesSize,categoryAxisPosition:P.categoryAxisPosition,valueAxisPosition:P.valueAxisPosition,valueAxisLabel:P.valueAxis.label,theme:P.theme,textReverseTransform:P.textReverseTransform})}),()=>{d.next(void 0)}},YE="GridPlot",xx="StackedValueAxis",WE=he({name:xx,defaultParams:Q1,layerIndex:hn,initShow:!1,validator:e=>H(e,{labelOffset:{toBe:"[number, number]",test:n=>Array.isArray(n)&&n.length===2&&typeof n[0]=="number"&&typeof n[1]=="number"},labelColorType:{toBeOption:"ColorType"},axisLineVisible:{toBeTypes:["boolean"]},axisLineColorType:{toBeOption:"ColorType"},ticks:{toBeTypes:["number","null"]},tickFormat:{toBeTypes:["string","Function"]},tickLineVisible:{toBeTypes:["boolean"]},tickPadding:{toBeTypes:["number"]},tickFullLine:{toBeTypes:["boolean"]},tickFullLineDasharray:{toBeTypes:["string"]},tickColorType:{toBeOption:"ColorType"},tickTextRotate:{toBeTypes:["number"]},tickTextColorType:{toBeOption:"ColorType"}}),setup:({svgG:e,pluginParams$:t,layerParams$:n,context:r})=>{const i=new J;r.layout$.pipe(R(i)).subscribe(h=>{Y(e).attr("transform",`translate(${h.left}, ${h.top})`)});const o=t.pipe(A(h=>h.direction),X(),z(1)),a=n.pipe(A(h=>h.opposite),X(),z(1)),s=N({direction:o,opposite:a}).pipe(W(0),A(({direction:h,opposite:f})=>tx(h,f)),X(),z(1)),c=gh({direction$:o,opposite$:a,layout$:r.layout$}),l=mh({gridAxesTransform$:c}),u=$h({selection:Y(e),pluginName:YE,layerName:xx,computedData$:r.computedStackedData$,filteredMinMaxValue$:r.filteredStackedMinMaxValue$,baseValueAxisParams$:n,categoryAxis$:t.pipe(A(h=>h.categoryAxis)),valueAxis$:t.pipe(A(h=>h.valueAxis)),theme$:r.theme$,gridAxesTransform$:c,gridAxesReverseTransform$:l,gridAxesSize$:r.gridAxesSize$,gridContainerPosition$:r.gridContainerPosition$,isSeriesSeprate$:r.isSeriesSeprate$,categoryAxisPosition$:r.categoryAxisPosition$,valueAxisPosition$:s});return()=>{i.next(void 0),u()}}}),GE="GridPlot",vx="ValueAxis",VE=he({name:vx,defaultParams:Cl,layerIndex:hn,initShow:!0,validator:e=>H(e,{labelOffset:{toBe:"[number, number]",test:n=>Array.isArray(n)&&n.length===2&&typeof n[0]=="number"&&typeof n[1]=="number"},labelColorType:{toBeOption:"ColorType"},axisLineVisible:{toBeTypes:["boolean"]},axisLineColorType:{toBeOption:"ColorType"},ticks:{toBeTypes:["number","null"]},tickFormat:{toBeTypes:["string","Function"]},tickLineVisible:{toBeTypes:["boolean"]},tickPadding:{toBeTypes:["number"]},tickFullLine:{toBeTypes:["boolean"]},tickFullLineDasharray:{toBeTypes:["string"]},tickColorType:{toBeOption:"ColorType"},tickTextRotate:{toBeTypes:["number"]},tickTextColorType:{toBeOption:"ColorType"},opposite:{toBeTypes:["boolean"]}}),setup:({svgG:e,pluginParams$:t,layerParams$:n,context:r})=>{const i=new J;r.layout$.pipe(R(i)).subscribe(h=>{Y(e).attr("transform",`translate(${h.left}, ${h.top})`)});const o=t.pipe(A(h=>h.direction),X(),z(1)),a=n.pipe(A(h=>h.opposite),X(),z(1)),s=N({direction:o,opposite:a}).pipe(W(0),A(({direction:h,opposite:f})=>tx(h,f)),X(),z(1)),c=gh({direction$:o,opposite$:a,layout$:r.layout$}),l=mh({gridAxesTransform$:c}),u=$h({selection:Y(e),pluginName:GE,layerName:vx,computedData$:r.computedData$,filteredMinMaxValue$:r.filteredMinMaxValue$,baseValueAxisParams$:n,categoryAxis$:t.pipe(A(h=>h.categoryAxis)),valueAxis$:t.pipe(A(h=>h.valueAxis)),theme$:r.theme$,gridAxesTransform$:c,gridAxesReverseTransform$:l,gridAxesSize$:r.gridAxesSize$,gridContainerPosition$:r.gridContainerPosition$,isSeriesSeprate$:r.isSeriesSeprate$,categoryAxisPosition$:r.categoryAxisPosition$,valueAxisPosition$:s});return()=>{i.next(void 0),u()}}}),XE=new Ek,jE=new Gk,HE=new Zk,UE=new nE,qE=new oE,KE=new fE,ZE=new vE,JE=new PE,QE=new NE,eR=new WE,tR=new VE,nR=It({name:"GridPlot",defaultParams:fh,layers:[XE,jE,HE,UE,qE,KE,ZE,JE,QE,eR,tR],setup:e=>{const t=new Ee(void 0);e.context.event$.subscribe(T=>{T.eventName==="zoom"&&T.data&&T.data.scaleDomain&&t.next(T.data.scaleDomain)});const n=e.pluginParams$.pipe(A(T=>T.categoryAxis),V(T=>t.pipe(A(I=>I?{...T,scaleDomain:I}:T))),z(1)),r=e.pluginParams$.pipe(A(T=>T.valueAxis),z(1)),i=e.pluginParams$.pipe(A(T=>T.direction),X(),z(1)),o=i.pipe(A(T=>fk(T)),X(),z(1)),a=N({gridData:e.context.gridData$,datasetIndex:e.pluginParams$.pipe(A(T=>T.datasetIndex))}).pipe(W(0),A(({gridData:T,datasetIndex:I})=>T[I]),z(1)),s=Jt({size$:e.context.size$,padding$:e.pluginParams$.pipe(A(T=>T.styles.padding))}).pipe(z(1)),c=hk({selectedGridData$:a,pluginParams$:e.pluginParams$}).pipe(z(1)),l=Nt(e.context.theme$).pipe(z(1)),u=e.pluginParams$.pipe(A(T=>T.separateSeries),X(),z(1)),h=bk({selectedGridData$:a,pluginParams$:e.pluginParams$,layout$:s}).pipe(z(1)),f=Ni({layout$:s,containerPosition$:h,container$:e.pluginParams$.pipe(A(T=>T.container))}).pipe(z(1)),p=nx({direction$:i,layout$:s}).pipe(z(1)),g=dk({direction$:i,containerSize$:f}).pipe(z(1)),m=c.pipe(A(T=>T.flat())).pipe(z(1)),d=dn({datumList$:m,styles$:e.pluginParams$.pipe(A(T=>T.styles)),event$:e.context.event$}).pipe(z(1)),y=gk({computedData$:c}),b=Bn({datumList$:m}).pipe(z(1)),x=rr({datumList$:m}).pipe(z(1)),v=pk({computedData$:c,categoryAxis$:n,valueAxis$:r,direction$:i,layout$:s}).pipe(z(1)),S=mk({computedData$:c}).pipe(z(1)),$=yk({computedAxesData$:v}).pipe(z(1)),L=xk({computedData$:c,isSeriesSeprate$:u}).pipe(z(1)),E=vk({selectedGridData$:a,categoryAxis$:n}).pipe(z(1)),M=rx({computedData$:c,categoryScaleDomainValue$:E}).pipe(z(1)),C=rx({computedData$:L,categoryScaleDomainValue$:E}).pipe(z(1)),B=gh({direction$:i,opposite$:Mt(!1),layout$:s}).pipe(z(1)),D=mh({gridAxesTransform$:B}).pipe(z(1)),P=$k({computedData$:c,categoryScaleDomainValue$:E,filteredMinMaxValue$:M,categoryAxis$:n,valueAxis$:r,direction$:i,layout$:s}).pipe(z(1)),w=Sk({gridContainerPosition$:h,gridAxesTransform$:B,gridGraphicTransform$:P}).pipe(z(1)),k={layout$:s,computedData$:c,fontSizePx$:l,isSeriesSeprate$:u,gridContainerPosition$:h,containerSize$:f,gridAxesSize$:p,gridAxesContainerSize$:g,gridHighlight$:d,seriesLabels$:y,SeriesDataMap$:b,CategoryDataMap$:x,computedAxesData$:v,visibleComputedData$:S,visibleComputedAxesData$:$,computedStackedData$:L,categoryScaleDomainValue$:E,filteredMinMaxValue$:M,filteredStackedMinMaxValue$:C,gridAxesTransform$:B,gridAxesReverseTransform$:D,gridGraphicTransform$:P,gridGraphicReverseScale$:w,zoomedCategoryAxis$:n,categoryAxisPosition$:o};return e.context={...e.context,...k},()=>{}},validator:e=>{const t=H(e,{styles:{toBeTypes:["object"]},visibleFilter:{toBeTypes:["Function"]},container:{toBeTypes:["object"]},valueAxis:{toBeTypes:["object"]},categoryAxis:{toBeTypes:["object"]},separateSeries:{toBeTypes:["boolean"]},datasetIndex:{toBeTypes:["number"]}});if(t.status==="error")return t;if(e.styles){const n=H(e.styles,{padding:{toBeTypes:["object"]},highlightTarget:{toBeTypes:["string"]},highlightDefault:{toBeTypes:["string","null"]},unhighlightedOpacity:{toBeTypes:["number"]},transitionDuration:{toBeTypes:["number"]},transitionEase:{toBeTypes:["string"]}});if(n.status==="error")return n;if(e.styles.padding){const r=H(e.styles.padding,{top:{toBeTypes:["number"]},right:{toBeTypes:["number"]},bottom:{toBeTypes:["number"]},left:{toBeTypes:["number"]}});if(r.status==="error")return r}}if(e.container){const n=H(e.container,{columnAmount:{toBeTypes:["number"]},rowAmount:{toBeTypes:["number"]},columnGap:{toBe:'number | "auto"',test:r=>typeof r=="number"||r==="auto"},rowGap:{toBe:'number | "auto"',test:r=>typeof r=="number"||r==="auto"}});if(n.status==="error")return n}if(e.valueAxis){const n=H(e.valueAxis,{scaleDomain:{toBe:'[number | "min" | "auto", number | "max" | "auto"]',test:r=>Array.isArray(r)&&r.length===2&&(typeof r[0]=="number"||r[0]==="min"||r[0]==="auto")&&(typeof r[1]=="number"||r[1]==="max"||r[1]==="auto")},scaleRange:{toBe:"[number, number]",test:r=>Array.isArray(r)&&r.length===2&&typeof r[0]=="number"&&typeof r[1]=="number"},label:{toBeTypes:["string"]}});if(n.status==="error")return n}if(e.categoryAxis){const n=H(e.categoryAxis,{reverse:{toBeTypes:["boolean"]},scaleDomain:{toBe:'[number, number | "max"]',test:r=>Array.isArray(r)&&r.length===2&&typeof r[0]=="number"&&(typeof r[1]=="number"||r[1]==="max")},scalePadding:{toBeTypes:["number"]},label:{toBeTypes:["string"]}});if(n.status==="error")return n}return t}}),$x={styles:{padding:{top:20,right:20,bottom:60,left:20},highlightTarget:"datum",highlightDefault:null,unhighlightedOpacity:.3,transitionDuration:800,transitionEase:"easeCubic"},visibleFilter:e=>!0,datasetIndex:0},Sh={paddingInner:2,paddingOuter:2,labelColorType:"dataContrast",squarifyRatio:1.618034,sort:(e,t)=>t.value-e.value};Sh.sort.toString=()=>"(a, b) => b.value - a.value";const rR=({selectedTreeData$:e,pluginParams$:t})=>N({selectedTreeData:e,pluginParams:t}).pipe(W(0),A(({selectedTreeData:n,pluginParams:r})=>{function i(o,a=!0){const s=a&&(!r.visibleFilter||r.visibleFilter(o));return{...o,visible:s,children:(o.children||[]).map(c=>i(c,s))}}return i(n)})),iR=({computedData$:e})=>e.pipe(A(t=>{function n(r,i){return r.push(i),i.children&&i.children.forEach(o=>{r=n(r,o)}),r}return n([],t)})),oR=e=>e.pipe(A(t=>Array.from(t.keys())),X((t,n)=>JSON.stringify(t)===JSON.stringify(n))),aR=({computedData$:e})=>e.pipe(A(t=>{function n(r){const i=(r.children||[]).filter(o=>o.visible!==!1).map(o=>n(o));return{...r,children:i}}return n(t)})),ki="HierarchyPlot",kr="TreeMap",Sx=U(ki,kr,"tree"),Ax=U(ki,kr,"tile");function sR({selection:e,treeData:t,layerParams:n,theme:r,fontSizePx:i}){const o=i/2,a=i,s=e.selectAll(`g.${Sx}`).data(t,c=>c.data.id).join("g").attr("class",Sx);return s.attr("transform",c=>!c.x0||!c.y0?null:`translate(${c.x0},${c.y0})`).each((c,l,u)=>{const h=Y(u[l]);h.selectAll(`rect.${Ax}`).data([c],f=>f.data.id).join("rect").attr("id",f=>f.data.id).attr("class",Ax).attr("cursor","pointer").attr("width",f=>f.x1-f.x0).attr("height",f=>f.y1-f.y0).attr("fill",f=>f.data.color).attr("data-name",f=>f.data.name).attr("data-category",f=>f.data.series).attr("data-value",f=>f.data.value),h.selectAll("g").data([c]).join("g").each((f,p,g)=>{Y(g[p]).selectAll("text").data([f]).join("text").text(d=>d.data.name).attr("dominant-baseline","hanging").attr("x",o).attr("y",o).attr("font-size",r.fontSize).each(function(d){const y=Y(this),b=d.data.name.split(/\s+/).reverse();let x,v=[];const S=y.attr("x");let $=y.attr("y"),L=0,E=y.text(null).append("tspan").attr("cursor","pointer").attr("fill",we({colorType:n.labelColorType,datum:d.data,theme:r})).attr("font-size",r.fontSize).attr("x",S).attr("y",$);for(;x=b.pop();)v.push(x),E.text(v.join(" ")),E.node().getComputedTextLength()>d.x1-d.x0-o&&(v.pop(),E.text(v.join(" ")),v=[x],L+=a,E=y.append("tspan").attr("cursor","pointer").attr("fill",we({colorType:n.labelColorType,datum:d.data,theme:r})).attr("font-size",r.fontSize).attr("x",S).attr("y",$).attr("dy",L+"px").text(x))})})}),s}function lR({selection:e,ids:t,styles:n}){if(e.interrupt("highlight"),!t.length){e.transition("highlight").duration(200).style("opacity",1);return}e.each((r,i,o)=>{t.includes(r.data.id)?Y(o[i]).style("opacity",1):Y(o[i]).style("opacity",n.unhighlightedOpacity)})}const cR=he({name:kr,defaultParams:Sh,layerIndex:$t,initShow:!0,validator:e=>H(e,{paddingInner:{toBeTypes:["number"]},paddingOuter:{toBeTypes:["number"]},labelColorType:{toBeOption:"ColorType"},squarifyRatio:{toBeTypes:["number"]},sort:{toBeTypes:["Function"]}}),setup:({svgG:e,pluginParams$:t,layerParams$:n,context:r})=>{const i=new J,o=Y(e);r.layout$.pipe(R(i)).subscribe(c=>{o.attr("transform",`translate(${c.left}, ${c.top})`)});const a=N({layout:r.layout$,visibleComputedData:r.visibleComputedData$,layerParams:n}).pipe(R(i),W(0),A(c=>{const l=sy().size([c.layout.width,c.layout.height]).paddingInner(c.layerParams.paddingInner).paddingOuter(c.layerParams.paddingOuter).round(!0).tile($f.ratio(c.layerParams.squarifyRatio)),u=Ws(c.visibleComputedData).sum(f=>f.value).sort(c.layerParams.sort);return l(u),u.leaves()})),s=N({selection:Mt(o),treeData:a,layerParams:n,theme:r.theme$,fontSizePx:r.fontSizePx$}).pipe(R(i),W(0),A(c=>sR({selection:o,treeData:c.treeData,layerParams:c.layerParams,theme:c.theme,fontSizePx:c.fontSizePx})));return s.subscribe(c=>{c.on("mouseover",(l,u)=>{l.stopPropagation(),r.eventTrigger$.next({eventName:"mouseover",pluginName:ki,layerName:kr,target:u.data,event:l})}).on("mousemove",(l,u)=>{l.stopPropagation(),r.eventTrigger$.next({eventName:"mousemove",pluginName:ki,layerName:kr,target:u.data,event:l})}).on("mouseout",(l,u)=>{l.stopPropagation(),r.eventTrigger$.next({eventName:"mouseout",pluginName:ki,layerName:kr,target:u.data,event:l})}).on("click",(l,u)=>{l.stopPropagation(),r.eventTrigger$.next({eventName:"click",pluginName:ki,layerName:kr,target:u.data,event:l})})}),N({cellSelection:s,highlight:r.treeHighlight$.pipe(A(c=>c.map(l=>l.id))),styles:t.pipe(A(c=>c.styles))}).pipe(R(i),W(0)).subscribe(c=>{lR({selection:c.cellSelection,ids:c.highlight,styles:c.styles})}),()=>{i.next(void 0)}}}),uR=new cR,fR=It({name:"HierarchyPlot",defaultParams:$x,layers:[uR],setup:e=>{const t=N({treeData:e.context.treeData$,datasetIndex:e.pluginParams$.pipe(A(h=>h.datasetIndex))}).pipe(W(0),A(({treeData:h,datasetIndex:f})=>h[f]),z(1)),n=Jt({size$:e.context.size$,padding$:e.pluginParams$.pipe(A(h=>h.styles.padding))}).pipe(z(1)),r=rR({selectedTreeData$:t,pluginParams$:e.pluginParams$}).pipe(z(1)),i=Nt(e.context.theme$).pipe(z(1)),o=iR({computedData$:r}).pipe(z(1)),a=dn({datumList$:o,styles$:e.pluginParams$.pipe(A(h=>h.styles)),event$:e.context.event$}).pipe(z(1)),s=rr({datumList$:o}).pipe(z(1)),c=oR(s).pipe(z(1)),l=aR({computedData$:r}).pipe(z(1)),u={layout$:n,computedData$:r,fontSizePx$:i,treeHighlight$:a,categoryLabels$:c,CategoryDataMap$:s,visibleComputedData$:l};return e.context={...e.context,...u},()=>{}},validator:e=>{const t=H(e,{styles:{toBeTypes:["object"]},visibleFilter:{toBeTypes:["Function"]},datasetIndex:{toBeTypes:["number"]}});if(t.status==="error")return t;if(e.styles){const n=H(e.styles,{padding:{toBeTypes:["object"]},highlightTarget:{toBeTypes:["string"]},highlightDefault:{toBeTypes:["string","null"]},unhighlightedOpacity:{toBeTypes:["number"]},transitionDuration:{toBeTypes:["number"]},transitionEase:{toBeTypes:["string"]}});if(n.status==="error")return n;if(e.styles.padding){const r=H(e.styles.padding,{top:{toBeTypes:["number"]},right:{toBeTypes:["number"]},bottom:{toBeTypes:["number"]},left:{toBeTypes:["number"]}});if(r.status==="error")return r}}return t}}),Ah={styles:{padding:{top:60,right:60,bottom:60,left:60},highlightTarget:"datum",highlightDefault:null,unhighlightedOpacity:.3,transitionDuration:800,transitionEase:"easeCubic"},visibleFilter:e=>!0,sort:null,datasetIndex:0};Ah.visibleFilter.toString=()=>"(datum) => true";const Tx={placement:"bottom",padding:5,backgroundFill:"none",backgroundStroke:"none",gap:10,listRectWidth:14,listRectHeight:14,listRectRadius:0,textColorType:"primary"},hR=({selectedSeriesData$:e,pluginParams$:t})=>N({selectedSeriesData:e,pluginParams:t}).pipe(W(0),A(({selectedSeriesData:n,pluginParams:r})=>n.flat().sort(r.sort??void 0).map((i,o)=>{const a=r.visibleFilter;return{...i,visible:a?a(i):!0,seq:o}}).sort((i,o)=>i.index-o.index).reduce((i,o)=>(i[o.seriesIndex]||(i[o.seriesIndex]=[]),i[o.seriesIndex].push(o),i),[]))),pR=" - ",dR={listRectWidth:14,listRectHeight:14,listRectRadius:0};function wx(e,t){const n=e<t.colors[jo(t.colorScheme)].data.length?e:e%t.colors[jo(t.colorScheme)].data.length;return t.colors[jo(t.colorScheme)].data[n]}const gR=({pluginName:e,layerName:t,rootSelection:n,legendLabels$:r,baseLegendParams$:i,layout$:o,theme$:a,fontSizePx$:s})=>{const c=U(e,t,"root-position"),l=U(e,t,"legend-card"),u=U(e,t,"legend-list"),h=U(e,t,"legend-item"),f=new J,p=N({legendLabels:r,theme:a}).pipe(R(f),W(0),A(D=>{const P=new Map;let w=0;return D.legendLabels.forEach((k,T)=>{if(!P.has(k)){const I=wx(w,D.theme);P.set(k,I),w++}}),P})),g=r.pipe(R(f),A(D=>{const P=new Set;let w=[];return D.forEach(k=>{P.has(k)?w.push(!1):w.push(!0),P.add(k)}),w})),m=i.pipe(R(f),A(D=>D.placement==="top"||D.placement==="top-start"||D.placement==="top-end"?"top":D.placement==="bottom"||D.placement==="bottom-start"||D.placement==="bottom-end"?"bottom":D.placement==="left"||D.placement==="left-start"||D.placement==="left-end"?"left":"right"),X((D,P)=>D===P),z(1)),d=i.pipe(R(f),A(D=>D.placement==="top-start"||D.placement==="bottom-start"||D.placement==="left-start"||D.placement==="right-start"?"start":D.placement==="top-end"||D.placement==="bottom-end"||D.placement==="left-end"||D.placement==="right-end"?"end":(D.placement==="top"||D.placement==="bottom"||D.placement==="left"||D.placement==="right","center")),X((D,P)=>D===P),z(1)),y=m.pipe(R(f),A(D=>D==="bottom"||D==="top"?"row":"column"),X((D,P)=>D===P),z(1)),b=N({baseLegendParams:i,position:m,layout:o}).pipe(R(f),W(0),A(D=>{const P=D.baseLegendParams.padding*2+D.baseLegendParams.gap*2;return D.position==="bottom"||D.position==="top"?D.layout.rootWidth-P:D.layout.rootHeight-P})),v=N({layout:o,position:m,justify:d}).pipe(R(f),W(0),A(D=>{let P=0,w=0;return D.position==="bottom"?(w=D.layout.rootHeight,D.justify==="start"?P=0:D.justify==="center"?P=D.layout.rootWidth/2:D.justify==="end"&&(P=D.layout.rootWidth)):D.position==="right"?(P=D.layout.rootWidth,D.justify==="start"?w=0:D.justify==="center"?w=D.layout.rootHeight/2:D.justify==="end"&&(w=D.layout.rootHeight)):D.position==="top"?(w=0,D.justify==="start"?P=0:D.justify==="center"?P=D.layout.rootWidth/2:D.justify==="end"&&(P=D.layout.rootWidth)):D.position==="left"&&(P=0,D.justify==="start"?w=0:D.justify==="center"?w=D.layout.rootHeight/2:D.justify==="end"&&(w=D.layout.rootHeight)),{x:P,y:w}})).pipe(R(f),A(D=>n.selectAll(`g.${c}`).data([D]).join(P=>P.append("g").classed(c,!0).attr("transform",w=>`translate(${w.x}, ${w.y})`),P=>P.transition().attr("transform",w=>`translate(${w.x}, ${w.y})`),P=>P.remove()))),S=i.pipe(R(f),A(D=>D.labelList[0]?D.labelList[0]:dR)),$=N({visibleList:g,baseLegendParams:i,legendLabels:r,lineDirection:y,lineMaxSize:b,defaultListStyle:S,SeriesLabelColorMap:p,fontSizePx:s}).pipe(R(f),W(0),A(D=>D.legendLabels.reduce((P,w,k)=>{if(!D.visibleList[k])return P;const T=w!==""?w:pR,I=Gr(T,D.fontSizePx),_=D.fontSizePx*1.5+I,O=D.SeriesLabelColorMap.get(w),F=P[0]&&P[0][0]?P[P.length-1][P[P.length-1].length-1]:null,{translateX:j,translateY:Z,lineIndex:re,itemIndex:te}=((ee,ae,ce)=>{let Q=0,oe=0,ue=0,K=0;if(ee.lineDirection==="column"){let $e=ce?ce.translateY+ee.fontSizePx+ee.baseLegendParams.gap:0;if($e+ee.fontSizePx>ee.lineMaxSize){ue=ce.lineIndex+1,K=0,oe=0;const ve=ae[ae.length-1].reduce((Ve,Xe)=>Xe.itemWidth>Ve?Xe.itemWidth:Ve,0);Q=ce.translateX+ve+ee.baseLegendParams.gap}else ue=ce?ce.lineIndex:0,K=ce?ce.itemIndex+1:0,oe=$e,Q=ce?ce.translateX:0}else{let $e=ce?ce.translateX+ce.itemWidth+ee.baseLegendParams.gap:0;$e+_>ee.lineMaxSize?(ue=ce.lineIndex+1,K=0,Q=0):(ue=ce?ce.lineIndex:0,K=ce?ce.itemIndex+1:0,Q=$e),oe=(ee.fontSizePx+ee.baseLegendParams.gap)*ue}return{translateX:Q,translateY:oe,lineIndex:ue,itemIndex:K}})(D,P,F);P[re]||(P[re]=[]);const G=D.baseLegendParams.labelList[te]?D.baseLegendParams.labelList[te]:D.defaultListStyle;return P[re].push({id:T,seriesLabel:T,seriesIndex:k,lineIndex:re,itemIndex:te,text:T,itemWidth:_,translateX:j,translateY:Z,color:O,listRectWidth:G.listRectWidth,listRectHeight:G.listRectHeight,listRectRadius:G.listRectRadius}),P},[])),z(1)),L=N({baseLegendParams:i,lineDirection:y,lengendItems:$,fontSizePx:s}).pipe(R(f),W(0),A(D=>{const{width:P,height:w}=((k,T)=>{let I=0,_=0;if(!T.length||!T[0].length)return{width:I,height:_};const O=T[0][T[0].length-1];return k.lineDirection==="column"?(I=T.reduce((F,j)=>{const Z=j.reduce((re,te)=>te.itemWidth>re?te.itemWidth:re,0);return F+Z},0),I+=k.baseLegendParams.gap*(T.length-1),_=O.translateY+k.fontSizePx):(I=O.translateX+O.itemWidth,_=k.fontSizePx*T.length+k.baseLegendParams.gap*(T.length-1)),{width:I,height:_}})(D,D.lengendItems);return{direction:D.lineDirection,width:P,height:w,translateX:D.baseLegendParams.gap,translateY:D.baseLegendParams.gap}}),z(1)),E=N({baseLegendParams:i,position:m,justify:d,lengendList:L}).pipe(R(f),W(0),A(D=>{const P=D.lengendList.width+D.baseLegendParams.gap*2,w=D.lengendList.height+D.baseLegendParams.gap*2;let k=0,T=0;return D.position==="left"?D.justify==="start"?(k=D.baseLegendParams.padding,T=D.baseLegendParams.padding):D.justify==="center"?(k=D.baseLegendParams.padding,T=-w/2):D.justify==="end"&&(k=D.baseLegendParams.padding,T=-w-D.baseLegendParams.padding):D.position==="right"?D.justify==="start"?(k=-P-D.baseLegendParams.padding,T=D.baseLegendParams.padding):D.justify==="center"?(k=-P-D.baseLegendParams.padding,T=-w/2):D.justify==="end"&&(k=-P-D.baseLegendParams.padding,T=-w-D.baseLegendParams.padding):D.position==="top"?D.justify==="start"?(k=D.baseLegendParams.padding,T=D.baseLegendParams.padding):D.justify==="center"?(k=-P/2,T=D.baseLegendParams.padding):D.justify==="end"&&(k=-P-D.baseLegendParams.padding,T=D.baseLegendParams.padding):D.justify==="start"?(k=D.baseLegendParams.padding,T=-w-D.baseLegendParams.padding):D.justify==="center"?(k=-P/2,T=-w-D.baseLegendParams.padding):D.justify==="end"&&(k=-P-D.baseLegendParams.padding,T=-w-D.baseLegendParams.padding),{width:P,height:w,translateX:k,translateY:T}})),M=N({rootPositionSelection:v,baseLegendParams:i,theme:a,legendCard:E}).pipe(R(f),W(0),A(D=>D.rootPositionSelection.selectAll("g").data([D.legendCard]).join(P=>P.append("g").classed(l,!0).attr("transform",w=>`translate(${w.translateX}, ${w.translateY})`),P=>P.transition().attr("transform",w=>`translate(${w.translateX}, ${w.translateY})`),P=>P.remove()).each((P,w,k)=>{Y(k[w]).selectAll("rect").data([P]).join("rect").attr("width",T=>T.width).attr("height",T=>T.height).attr("fill",de(D.baseLegendParams.backgroundFill,D.theme)).attr("stroke",de(D.baseLegendParams.backgroundStroke,D.theme))}))),C=N({lengendCardSelection:M,baseLegendParams:i,lengendList:L}).pipe(R(f),W(0),A(D=>D.lengendCardSelection.selectAll("g").data([D.lengendList]).join(P=>P.append("g").classed(u,!0).attr("transform",w=>`translate(${w.translateX}, ${w.translateY})`),P=>P.transition().attr("transform",w=>`translate(${w.translateX}, ${w.translateY})`),P=>P.remove())));return N({lengendListSelection:C,baseLegendParams:i,theme:a,lengendItems:$,fontSizePx:s}).pipe(R(f),W(0),A(D=>{const P=D.lengendItems[0]?D.lengendItems.flat():[];return D.lengendListSelection.selectAll(`g.${h}`).data(P).join(w=>w.append("g").classed(h,!0).attr("cursor","default"),w=>w,w=>w.remove()).attr("transform",(w,k)=>`translate(${w.translateX}, ${w.translateY})`).each((w,k,T)=>{const I=D.fontSizePx/2,_=-w.listRectWidth/2,O=-w.listRectHeight/2;Y(T[k]).selectAll("rect").data([w]).join("rect").attr("x",I).attr("y",I).attr("width",F=>F.listRectWidth).attr("height",F=>F.listRectHeight).attr("transform",F=>`translate(${_}, ${O})`).attr("fill",F=>F.color).attr("rx",F=>F.listRectRadius),Y(T[k]).selectAll("text").data([w]).join(F=>F.append("text").attr("dominant-baseline","hanging"),F=>F,F=>F.remove()).attr("x",D.fontSizePx*1.5).attr("font-size",D.theme.fontSize).attr("fill",F=>D.baseLegendParams.textColorType==="data"?wx(F.seriesIndex,D.theme):de(D.baseLegendParams.textColorType,D.theme)).text(F=>F.text)})})).subscribe(),()=>{n.select(`g.${c}`).remove(),f.next(void 0)}},mR="Legend",_x="Legend",yR=he({name:_x,defaultParams:Tx,layerIndex:v8,initShow:!0,validator:e=>H(e,{placement:{toBe:'"top" | "top-start" | "top-end" | "bottom" | "bottom-start" | "bottom-end" | "left" | "left-start" | "left-end" | "right" | "right-start" | "right-end"',test:n=>["top","top-start","top-end","bottom","bottom-start","bottom-end","left","left-start","left-end","right","right-start","right-end"].includes(n)},padding:{toBeTypes:["number"]},backgroundFill:{toBeOption:"ColorType"},backgroundStroke:{toBeOption:"ColorType"},gap:{toBeTypes:["number"]},listRectWidth:{toBeTypes:["number"]},listRectHeight:{toBeTypes:["number"]},listRectRadius:{toBeTypes:["number"]},textColorType:{toBeOption:"ColorType"}}),setup:({svgG:e,pluginParams$:t,layerParams$:n,context:r})=>{const i=new J,o=r.SeriesDataMap$.pipe(R(i),A(c=>Array.from(c.keys()))),a=n.pipe(R(i),A(c=>{const l=[{listRectWidth:c.listRectWidth,listRectHeight:c.listRectHeight,listRectRadius:c.listRectRadius}];return{...c,labelList:l}})),s=gR({pluginName:mR,layerName:_x,rootSelection:Y(r.svg),legendLabels$:o,baseLegendParams$:a,layout$:r.layout$,theme$:r.theme$,fontSizePx$:r.fontSizePx$});return()=>{i.next(void 0),s()}}}),bR=new yR,xR=It({name:"Legend",defaultParams:Ah,layers:[bR],setup:e=>{const t=N({seriesData:e.context.seriesData$,datasetIndex:e.pluginParams$.pipe(A(c=>c.datasetIndex))}).pipe(W(0),A(({seriesData:c,datasetIndex:l})=>c[l]),z(1)),n=Jt({size$:e.context.size$,padding$:e.pluginParams$.pipe(A(c=>c.styles.padding))}).pipe(z(1)),r=hR({selectedSeriesData$:t,pluginParams$:e.pluginParams$}).pipe(z(1)),i=Nt(e.context.theme$).pipe(z(1)),o=r.pipe(A(c=>c.flat())).pipe(z(1)),a=Bn({datumList$:o}).pipe(z(1)),s={layout$:n,fontSizePx$:i,SeriesDataMap$:a};return e.context={...e.context,...s},()=>{}},validator:e=>{const t=H(e,{styles:{toBeTypes:["object"]},datasetIndex:{toBeTypes:["number"]}});if(e.styles){const n=H(e.styles,{padding:{toBeTypes:["object"]},highlightTarget:{toBeTypes:["string"]},highlightDefault:{toBeTypes:["string","null"]},unhighlightedOpacity:{toBeTypes:["number"]},transitionDuration:{toBeTypes:["number"]},transitionEase:{toBeTypes:["string"]}});if(n.status==="error")return n;if(e.styles.padding){const r=H(e.styles.padding,{top:{toBeTypes:["number"]},right:{toBeTypes:["number"]},bottom:{toBeTypes:["number"]},left:{toBeTypes:["number"]}});if(r.status==="error")return r}}return t}}),Dx={styles:{padding:{top:20,right:20,bottom:20,left:20},highlightTarget:"datum",highlightDefault:null,unhighlightedOpacity:.3,transitionDuration:800,transitionEase:"easeCubic"},visibleFilter:e=>!0,datasetIndex:0},Ei={point:{radius:10,fillColorType:"data",strokeColorType:"data",strokeWidth:1,styleFn:e=>""},pointLabel:{colorType:"primary",sizeFixed:!1,styleFn:e=>""},arrow:{colorType:"primary",strokeWidth:1.5,pointerWidth:5,pointerHeight:5,styleFn:e=>""},arrowLabel:{colorType:"primary",sizeFixed:!1,styleFn:e=>""},force:{nodeStrength:-500,linkDistance:100,velocityDecay:.1,alphaDecay:.05},zoomable:!0,transform:{x:0,y:0,k:1},scaleExtent:{min:0,max:1/0}};Ei.point.styleFn.toString=()=>"(node) => ''",Ei.pointLabel.styleFn.toString=()=>"(node) => ''",Ei.arrow.styleFn.toString=()=>"(edge) => ''",Ei.arrowLabel.styleFn.toString=()=>"(edge) => ''";const Ri={bubble:{radiusMin:15,radiusMax:45,arcScaleType:"area",fillColorType:"data",strokeColorType:"data",strokeWidth:1,styleFn:e=>""},bubbleLabel:{fillRate:.9,lineHeight:1,maxLineLength:6,wordBreakAll:!0,colorType:"dataContrast",styleFn:e=>""},arrow:{colorType:"primary",strokeWidthMin:1.5,strokeWidthMax:4.5,pointerWidth:5,pointerHeight:5,styleFn:e=>""},arrowLabel:{colorType:"primary",sizeFixed:!1,styleFn:e=>""},force:{nodeStrength:-500,linkDistance:130,velocityDecay:.1,alphaDecay:.05},zoomable:!0,transform:{x:0,y:0,k:1},scaleExtent:{min:0,max:1/0}};Ri.bubble.styleFn.toString=()=>"(node) => ''",Ri.bubbleLabel.styleFn.toString=()=>"(node) => ''",Ri.arrow.styleFn.toString=()=>"(edge) => ''",Ri.arrowLabel.styleFn.toString=()=>"(edge) => ''";const vR=({selectedGraphData$:e,pluginParams$:t})=>N({selectedGraphData:e,pluginParams:t}).pipe(W(0),A(({selectedGraphData:n,pluginParams:r})=>{const i=n.nodes.map((s,c)=>{const l=r.visibleFilter;return{...s,visible:l?l(s):!0}}),o=new Map(i.map(s=>[s.id,s])),a=n.edges.map((s,c)=>{const l=o.get(s.source),u=o.get(s.target);return{...s,visible:!!(l&&u&&l.visible&&u.visible)}});return{nodes:i,edges:a}})),$R=(e,t)=>N({CategoryNodeMap:e,CategoryEdgeMap:t}).pipe(V(async n=>n),A(n=>[...Array.from(n.CategoryNodeMap.keys()),...Array.from(n.CategoryEdgeMap.keys())]),X((n,r)=>JSON.stringify(n)===JSON.stringify(r))),SR=e=>e.pipe(A(t=>{const n=new Map;return t.nodes.forEach(r=>{n.set(r.id,r)}),n})),AR=e=>e.pipe(A(t=>{const n=new Map;return t.edges.forEach(r=>{n.set(r.id,r)}),n})),TR=({computedData$:e,NodeMap$:t})=>N({computedData:e,NodeMap:t}).pipe(V(async n=>n),A(n=>({nodes:n.computedData.nodes.filter(r=>r.visible),edges:n.computedData.edges.filter(r=>r.visible).filter(r=>n.NodeMap.has(r.source)&&n.NodeMap.has(r.target))}))),He="NetworkPlot",Ge="ForceDirected",wR=U(He,Ge,"zoom-area"),Px=We(He,Ge,"arrow"),Mx=U(He,Ge,"arrow-marker"),_R=U(He,Ge,"edge-list-g"),DR=U(He,Ge,"edge-g"),Cx=U(He,Ge,"edge-arrow-path"),Lx=U(He,Ge,"edge-label-g"),kx=U(He,Ge,"edge-label"),PR=U(He,Ge,"node-list-g"),MR=U(He,Ge,"node-g"),Ex=U(He,Ge,"node-circle"),Rx=U(He,Ge,"node-label-g"),Bx=U(He,Ge,"node-label");function CR(e,t){return ns().velocityDecay(t.force.velocityDecay).alphaDecay(t.force.alphaDecay).force("link",xu().id(n=>n.id).strength(1).distance(n=>t.force.linkDistance)).force("charge",rs().strength(t.force.nodeStrength)).force("collision",ts(t.point.radius).strength(1)).force("center",yu(e.width/2,e.height/2))}function LR(e){return"translate("+e.x+","+e.y+")"}function kR(e){const t=e._source.x+(e._target.x-e._source.x)/2,n=e._source.y+(e._target.y-e._source.y)/2;return"translate("+t+","+n+")"}function ER(e){return"M"+e._source.x+","+e._source.y+" L"+e._target.x+","+e._target.y}function RR(e,t,n){return e.selectAll(`marker.${Mx}`).data([t]).join(r=>{const i=r.append("marker").classed(Mx,!0).attr("id",Px).attr("fill",o=>de(t.arrow.colorType,n)).attr("viewBox",o=>`-${o.arrow.pointerWidth} -${o.arrow.pointerHeight/2} ${o.arrow.pointerWidth} ${o.arrow.pointerHeight}`).attr("orient","auto");return i.append("path").attr("d",o=>`M${-o.arrow.pointerWidth},${-o.arrow.pointerHeight/2}L0,0L${-o.arrow.pointerWidth},${o.arrow.pointerHeight/2}`),i},r=>r,r=>r.remove()).attr("markerWidth",r=>r.arrow.pointerWidth).attr("markerHeight",r=>r.arrow.pointerHeight).attr("refX",r=>(r.point.radius+t.point.strokeWidth/2)/r.arrow.strokeWidth-1).attr("refY",0)}function BR(e,t){function n(o,a){o.active||e.alphaTarget(.3).restart(),o.subject.fx=o.x,o.subject.fy=o.y,t.next("start")}function r(o,a){o.subject.fx=o.x,o.subject.fy=o.y,t.next("drag")}function i(o,a){o.active||e.alphaTarget(0),o.subject.fx=null,o.subject.fy=null,t.next("end")}return _a().on("start",n).on("drag",r).on("end",i)}function IR({nodeListGSelection:e,nodes:t}){return e.selectAll("g").data(t,n=>n.id).join(n=>n.append("g").classed(MR,!0),n=>n,n=>n.remove())}function NR({nodeGSelection:e,layerParams:t,theme:n}){return e.each((r,i,o)=>{Y(o[i]).selectAll("circle").data([r]).join(s=>s.append("circle").classed(Ex,!0).attr("cursor","pointer"),s=>s,s=>s.remove()).attr("r",t.point.radius).attr("fill",s=>we({datum:s,colorType:t.point.fillColorType,theme:n})).attr("stroke",s=>we({datum:s,colorType:t.point.strokeColorType,theme:n})).attr("stroke-width",t.point.strokeWidth).attr("style",s=>t.point.styleFn(s))}),e.select(`circle.${Ex}`)}function OR({nodeGSelection:e,layerParams:t}){return e.each((n,r,i)=>{Y(i[r]).selectAll("g").data([n]).join(a=>a.append("g").classed(Rx,!0),a=>a,a=>a.remove()).attr("transform",`translate(0, ${-t.point.radius-10})`)}),e.select(`g.${Rx}`)}function zR({nodeLabelGSelection:e,layerParams:t,theme:n}){return e.each((r,i,o)=>{Y(o[i]).selectAll("text").data([r],s=>s.id).join(s=>s.append("text").classed(Bx,!0).attr("text-anchor","middle").attr("pointer-events","none"),s=>s,s=>s.remove()).text(s=>s.name).attr("fill",s=>we({datum:s,colorType:t.pointLabel.colorType,theme:n})).attr("font-size",n.fontSize).attr("style",s=>t.pointLabel.styleFn(s))}),e.select(`text.${Bx}`)}function FR({edgeListGSelection:e,edges:t}){return e.selectAll("g").data(t,n=>n.id).join(n=>n.append("g").classed(DR,!0),n=>n,n=>n.remove())}function YR({edgeGSelection:e,layerParams:t,theme:n}){return e.each((r,i,o)=>{Y(o[i]).selectAll("path").data([r]).join(s=>s.append("path").classed(Cx,!0).attr("marker-end",`url(#${Px})`),s=>s,s=>s.remove()).attr("stroke",s=>we({datum:s.data,colorType:t.arrow.colorType,theme:n})).attr("stroke-width",t.arrow.strokeWidth).attr("style",s=>t.arrow.styleFn(s))}),e.select(`path.${Cx}`)}function WR({edgeGSelection:e}){return e.each((t,n,r)=>{Y(r[n]).selectAll("g").data([t]).join(o=>o.append("g").classed(Lx,!0),o=>o,o=>o.remove())}),e.select(`g.${Lx}`)}function GR({edgeLabelGSelection:e,layerParams:t,theme:n}){return e.each((r,i,o)=>{Y(o[i]).selectAll("text").data([r],s=>s.id).join(s=>s.append("text").classed(kx,!0).attr("text-anchor","middle").attr("pointer-events","none"),s=>s,s=>s.remove()).text(s=>s.name).attr("fill",s=>we({datum:s,colorType:t.arrowLabel.colorType,theme:n})).attr("font-size",n.fontSize).attr("style",s=>t.arrowLabel.styleFn(s))}),e.select(`text.${kx}`)}function VR({nodeGSelection:e,edgeGSelection:t,highlightIds:n,styles:r}){if(e.interrupt("highlight"),t.interrupt("highlight"),!n.length){e.transition("highlight").style("opacity",1),t.transition("highlight").style("opacity",1);return}t.style("opacity",r.unhighlightedOpacity),e.each((i,o,a)=>{const s=Y(a[o]);n.includes(i.id)?s.style("opacity",1).transition("highlight").ease(mr).duration(500):s.style("opacity",r.unhighlightedOpacity)})}const XR=he({name:Ge,defaultParams:Ei,layerIndex:$t,initShow:!0,validator:e=>{const t=H(e,{point:{toBeTypes:["object"]},pointLabel:{toBeTypes:["object"]},arrow:{toBeTypes:["object"]},arrowLabel:{toBeTypes:["object"]},force:{toBeTypes:["object"]},zoomable:{toBeTypes:["boolean"]},transform:{toBeTypes:["object"]},scaleExtent:{toBeTypes:["object"]}});if(e.point){const n=H(e.point,{radius:{toBeTypes:["number"]},fillColorType:{toBeOption:"ColorType"},strokeColorType:{toBeOption:"ColorType"},strokeWidth:{toBeTypes:["number"]},styleFn:{toBeTypes:["Function"]}});if(n.status==="error")return n}if(e.pointLabel){const n=H(e.pointLabel,{colorType:{toBeOption:"ColorType"},sizeFixed:{toBeTypes:["boolean"]},styleFn:{toBeTypes:["Function"]}});if(n.status==="error")return n}if(e.arrow){const n=H(e.arrow,{colorType:{toBeOption:"ColorType"},strokeWidth:{toBeTypes:["number"]},pointerWidth:{toBeTypes:["number"]},pointerHeight:{toBeTypes:["number"]},styleFn:{toBeTypes:["Function"]}});if(n.status==="error")return n}if(e.arrowLabel){const n=H(e.arrowLabel,{colorType:{toBeOption:"ColorType"},sizeFixed:{toBeTypes:["boolean"]},styleFn:{toBeTypes:["Function"]}});if(n.status==="error")return n}if(e.force){const n=H(e.force,{nodeStrength:{toBeTypes:["number"]},linkDistance:{toBeTypes:["number"]},velocityDecay:{toBeTypes:["number"]},alphaDecay:{toBeTypes:["number"]}});if(n.status==="error")return n}if(e.transform){const n=H(e.transform,{x:{toBeTypes:["number"]},y:{toBeTypes:["number"]},k:{toBeTypes:["number"]}});if(n.status==="error")return n}if(e.scaleExtent){const n=H(e.scaleExtent,{min:{toBeTypes:["number"]},max:{toBeTypes:["number"]}});if(n.status==="error")return n}return t},setup:({svgG:e,pluginParams$:t,layerParams$:n,context:r})=>{const i=new J,o=Y(r.svg),a=Y(e),s=a.append("g").classed(wR,!0),c=s.append("defs"),l=s.append("g").classed(_R,!0),u=s.append("g").classed(PR,!0);let h,f,p,g,m,d,y,b;const x=new Ee("end"),v=new J;r.layout$.pipe(R(i)).subscribe(E=>{a.attr("transform",`translate(${E.left}, ${E.top})`)}),N({layerParams:n,theme:r.theme$}).pipe(R(i),W(0),A(({layerParams:E,theme:M})=>RR(c,E,M))).subscribe();const S=n.pipe(R(i),A(E=>{let M=E.zoomable?Pt().on("zoom",C=>{s.attr("transform",`translate(
78
+ ${C.transform.x},
79
+ ${C.transform.y}
80
+ ) scale(
81
+ ${C.transform.k}
82
+ )`),E.pointLabel.sizeFixed&&g&&g.attr("transform",`scale(${1/C.transform.k})`),E.arrowLabel.sizeFixed&&b&&b.attr("transform",`scale(${1/C.transform.k})`)}):Pt().on("zoom",null);return E.scaleExtent&&M.scaleExtent([E.scaleExtent.min,E.scaleExtent.max]),o.call(M),M}));N({d3Zoom:S,transform:n.pipe(R(i),A(E=>E.transform))}).pipe(R(i),W(0)).subscribe(E=>{a.call(E.d3Zoom.transform,Mi.translate(E.transform.x,E.transform.y).scale(E.transform.k))});const $=N({layout:r.layout$.pipe(oa()),layerParams:n}).pipe(R(i),W(0),A(E=>CR(E.layout,E.layerParams)),z(1)),L=N({visibleComputedData:r.visibleComputedData$,NodeMap:r.NodeMap$}).pipe(R(i),A(E=>({nodes:E.visibleComputedData.nodes,edges:E.visibleComputedData.edges.map(M=>{let C=M;return C._source=E.NodeMap.get(M.source),C._target=E.NodeMap.get(M.target),C})})),z(1));return N({renderData:L,simulation:$,layerParams:n,theme:r.theme$}).pipe(R(i),W(0)).subscribe(E=>{h=IR({nodeListGSelection:u,nodes:E.renderData.nodes}),f=NR({nodeGSelection:h,layerParams:E.layerParams,theme:E.theme}),h.call(BR(E.simulation,x)),p=OR({nodeGSelection:h,layerParams:E.layerParams}),g=zR({nodeLabelGSelection:p,layerParams:E.layerParams,theme:E.theme}),m=FR({edgeListGSelection:l,edges:E.renderData.edges}),d=YR({edgeGSelection:m,layerParams:E.layerParams,theme:E.theme}),y=WR({edgeGSelection:m}),b=GR({edgeLabelGSelection:y,layerParams:E.layerParams,theme:E.theme}),E.simulation.nodes(E.renderData.nodes).on("tick",()=>{d.attr("d",ER),h.attr("transform",LR),y.attr("transform",M=>kR(M))}),E.simulation.force("link").links(E.renderData.edges),E.simulation.alpha(.3).restart(),f.on("mouseover",(M,C)=>{M.stopPropagation(),v.next({eventName:"mouseover",pluginName:He,layerName:Ge,target:C,event:M})}).on("mousemove",(M,C)=>{M.stopPropagation(),v.next({eventName:"mousemove",pluginName:He,layerName:Ge,target:C,event:M})}).on("mouseout",(M,C)=>{M.stopPropagation(),v.next({eventName:"mouseout",pluginName:He,layerName:Ge,target:C,event:M})}).on("click",(M,C)=>{M.stopPropagation(),v.next({eventName:"click",pluginName:He,layerName:Ge,target:C,event:M})})}),x.pipe(X((E,M)=>E===M),V(E=>Ht(()=>E==="end",v,pn))).subscribe(E=>{r.eventTrigger$.next(E)}),N({renderData:L,highlightNodes:r.graphHighlightNodes$.pipe(A(E=>E.map(M=>M.id))),styles:t.pipe(A(E=>E.styles))}).pipe(R(i),W(0)).subscribe(E=>{!h||!m||VR({nodeGSelection:h,edgeGSelection:m,styles:E.styles,highlightIds:E.highlightNodes})}),()=>{i.next(void 0)}}}),dt="NetworkPlot",tt="ForceDirectedBubble",Ix=12,jR=U(dt,tt,"zoom-area"),HR=We(dt,tt,"arrow"),Nx=U(dt,tt,"arrow-marker"),UR=U(dt,tt,"edge-list-g"),qR=U(dt,tt,"edge-g"),Ox=U(dt,tt,"edge-arrow-path"),zx=U(dt,tt,"edge-label-g"),Fx=U(dt,tt,"edge-label"),KR=U(dt,tt,"node-list-g"),ZR=U(dt,tt,"node-g"),Yx=U(dt,tt,"node-circle");function JR(e,t){return ns().velocityDecay(t.force.velocityDecay).alphaDecay(t.force.alphaDecay).force("link",xu().id(n=>n.id).strength(1).distance(n=>t.force.linkDistance)).force("charge",rs().strength(t.force.nodeStrength)).force("collision",ts(t.bubble.radiusMax).strength(1)).force("center",yu(e.width/2,e.height/2))}function QR(e){return"translate("+e.x+","+e.y+")"}function e4(e){const t=e.source.x+(e.target.x-e.source.x)/2,n=e.source.y+(e.target.y-e.source.y)/2;return"translate("+t+","+n+")"}function t4(e){return"M"+e._source.x+","+e._source.y+" L"+e._target.x+","+e._target.y}function n4({defsSelection:e,markerParams:t,markerData:n,layerParams:r,theme:i}){return e.selectAll(`marker.${Nx}`).data(n).join(o=>{const a=o.append("marker").classed(Nx,!0).attr("viewBox",t.viewBox).attr("orient","auto");return a.append("path").attr("d",t.d),a},o=>o,o=>o.remove()).attr("id",o=>o.id).attr("fill",o=>de(r.arrow.colorType,i)).attr("markerWidth",t.pointerWidth).attr("markerHeight",t.pointerHeight).attr("refX",o=>o.refX).attr("refY",0)}function r4(e,t){function n(o,a){o.active||e.alphaTarget(.3).restart(),o.subject.fx=o.subject.x,o.subject.fy=o.subject.y,t.next("start")}function r(o,a){o.subject.fx=o.x,o.subject.fy=o.y,t.next("drag")}function i(o,a){o.active||e.alphaTarget(0),o.subject.fx=null,o.subject.fy=null,t.next("end")}return _a().on("start",n).on("drag",r).on("end",i)}function i4({nodeListGSelection:e,nodes:t}){return e.selectAll("g").data(t,n=>n.id).join(n=>n.append("g").classed(ZR,!0),n=>n,n=>n.remove())}function o4({nodeGSelection:e,layerParams:t,theme:n}){return e.each((r,i,o)=>{Y(o[i]).selectAll("circle").data([r]).join(s=>s.append("circle").classed(Yx,!0).attr("cursor","pointer"),s=>s,s=>s.remove()).attr("r",s=>s.r).attr("fill",s=>we({datum:s,colorType:t.bubble.fillColorType,theme:n})).attr("stroke",s=>we({datum:s,colorType:t.bubble.strokeColorType,theme:n})).attr("stroke-width",t.bubble.strokeWidth).attr("style",s=>t.bubble.styleFn(s))}).attr("text-anchor","middle").attr("font-size",Ix).each((r,i,o)=>{const a=Y(o[i]);a.call(V1,{text:r.name,radius:r.r*t.bubbleLabel.fillRate,lineHeight:Ix*t.bubbleLabel.lineHeight,isBreakAll:r.name.length<=t.bubbleLabel.maxLineLength?!1:t.bubbleLabel.wordBreakAll}),a.select("text").attr("fill",s=>we({datum:r,colorType:t.bubbleLabel.colorType,theme:n}))}),e.select("text").attr("pointer-events","none").attr("style",r=>t.bubbleLabel.styleFn(r)),e.select(`circle.${Yx}`)}function a4({edgeListGSelection:e,edges:t}){return e.selectAll("g").data(t,n=>n.id).join(n=>n.append("g").classed(qR,!0),n=>n,n=>n.remove())}function s4({edgeGSelection:e,layerParams:t,theme:n}){return e.each((r,i,o)=>{Y(o[i]).selectAll("path").data([r]).join(s=>s.append("path").classed(Ox,!0),s=>s,s=>s.remove()).attr("marker-end",s=>`url(#${s.markerId})`).attr("stroke",s=>we({datum:s.data,colorType:t.arrow.colorType,theme:n})).attr("stroke-width",s=>s.strokeWidth).attr("style",s=>t.arrow.styleFn(s))}),e.select(`path.${Ox}`)}function l4({edgeGSelection:e}){return e.each((t,n,r)=>{Y(r[n]).selectAll("g").data([t]).join(o=>o.append("g").classed(zx,!0),o=>o,o=>o.remove())}),e.select(`g.${zx}`)}function c4({edgeLabelGSelection:e,layerParams:t,theme:n}){return e.each((r,i,o)=>{Y(o[i]).selectAll("text").data([r],s=>s.id).join(s=>s.append("text").classed(Fx,!0).attr("text-anchor","middle").attr("pointer-events","none"),s=>s,s=>s.remove()).text(s=>s.name).attr("fill",s=>we({datum:s,colorType:t.arrowLabel.colorType,theme:n})).attr("font-size",n.fontSize).attr("style",s=>t.arrowLabel.styleFn(s))}),e.select(`text.${Fx}`)}function u4({nodeGSelection:e,edgeGSelection:t,highlightIds:n,styles:r}){if(e.interrupt("highlight"),t.interrupt("highlight"),!n.length){e.transition("highlight").style("opacity",1),t.transition("highlight").style("opacity",1);return}t.style("opacity",r.unhighlightedOpacity),e.each((i,o,a)=>{const s=Y(a[o]);n.includes(i.id)?s.style("opacity",1).transition("highlight").ease(mr).duration(500):s.style("opacity",r.unhighlightedOpacity)})}const f4=he({name:tt,defaultParams:Ri,layerIndex:$t,initShow:!1,validator:e=>{const t=H(e,{bubble:{toBeTypes:["object"]},bubbleLabel:{toBeTypes:["object"]},arrow:{toBeTypes:["object"]},arrowLabel:{toBeTypes:["object"]},force:{toBeTypes:["object"]},zoomable:{toBeTypes:["boolean"]},transform:{toBeTypes:["object"]},scaleExtent:{toBeTypes:["object"]}});if(e.bubble){const n=H(e.bubble,{radiusMin:{toBeTypes:["number"]},radiusMax:{toBeTypes:["number"]},arcScaleType:{toBe:'"area" | "radius"',test:r=>r==="area"||r==="radius"},fillColorType:{toBeOption:"ColorType"},strokeColorType:{toBeOption:"ColorType"},strokeWidth:{toBeTypes:["number"]},styleFn:{toBeTypes:["Function"]}});if(n.status==="error")return n}if(e.bubbleLabel){const n=H(e.bubbleLabel,{fillRate:{toBeTypes:["number"]},lineHeight:{toBeTypes:["number"]},maxLineLength:{toBeTypes:["number"]},colorType:{toBeOption:"ColorType"},styleFn:{toBeTypes:["Function"]}});if(n.status==="error")return n}if(e.arrow){const n=H(e.arrow,{colorType:{toBeOption:"ColorType"},strokeWidthMin:{toBeTypes:["number"]},strokeWidthMax:{toBeTypes:["number"]},pointerWidth:{toBeTypes:["number"]},pointerHeight:{toBeTypes:["number"]},styleFn:{toBeTypes:["Function"]}});if(n.status==="error")return n}if(e.arrowLabel){const n=H(e.arrowLabel,{colorType:{toBeOption:"ColorType"},sizeFixed:{toBeTypes:["boolean"]},styleFn:{toBeTypes:["Function"]}});if(n.status==="error")return n}if(e.force){const n=H(e.force,{nodeStrength:{toBeTypes:["number"]},linkDistance:{toBeTypes:["number"]},velocityDecay:{toBeTypes:["number"]},alphaDecay:{toBeTypes:["number"]}});if(n.status==="error")return n}if(e.transform){const n=H(e.transform,{x:{toBeTypes:["number"]},y:{toBeTypes:["number"]},k:{toBeTypes:["number"]}});if(n.status==="error")return n}if(e.scaleExtent){const n=H(e.scaleExtent,{min:{toBeTypes:["number"]},max:{toBeTypes:["number"]}});if(n.status==="error")return n}return t},setup:({svgG:e,pluginParams$:t,layerParams$:n,context:r})=>{const i=new J,o=Y(r.svg),a=Y(e),s=a.append("g").classed(jR,!0),c=s.append("defs"),l=s.append("g").classed(UR,!0),u=s.append("g").classed(KR,!0);let h,f,p,g,m,d;const y=new Ee("end"),b=new J;r.layout$.pipe(R(i)).subscribe(T=>{a.attr("transform",`translate(${T.left}, ${T.top})`)});const x=n.pipe(R(i),A(T=>{let I=T.zoomable?Pt().on("zoom",_=>{s.attr("transform",`translate(
83
+ ${_.transform.x},
84
+ ${_.transform.y}
85
+ ) scale(
86
+ ${_.transform.k}
87
+ )`),T.arrowLabel.sizeFixed&&d&&d.attr("transform",`scale(${1/_.transform.k})`)}):Pt().on("zoom",null);return T.scaleExtent&&I.scaleExtent([T.scaleExtent.min,T.scaleExtent.max]),o.call(I),I}));N({d3Zoom:x,transform:n.pipe(R(i),A(T=>T.transform))}).pipe(R(i),W(0)).subscribe(T=>{a.call(T.d3Zoom.transform,Mi.translate(T.transform.x,T.transform.y).scale(T.transform.k))});const v=N({layout:r.layout$.pipe(oa()),layerParams:n}).pipe(R(i),W(0),A(T=>JR(T.layout,T.layerParams)),z(1)),S=r.computedData$.pipe(R(i),A(T=>{const I=T.nodes.filter(O=>O.value!=null);if(!I.length)return[0,2];const _=Vr(T.nodes.map(O=>O.value));return I.length==1||_[0]===_[1]?[_[0]-1,_[1]+1]:_}),z(1)),$=r.computedData$.pipe(R(i),A(T=>{const I=T.edges.filter(O=>O.value!=null);if(!I.length)return[0,2];const _=Vr(T.edges.map(O=>O.value));return I.length==1||_[0]===_[1]?[_[0]-1,_[1]+1]:_}),z(1)),L=S.pipe(R(i),A(T=>(T[1]-T[0])/2)),E=$.pipe(R(i),A(T=>(T[1]-T[0])/2)),M=N({nodeMinMaxValue:S,layerParams:n}).pipe(R(i),V(async T=>T),A(T=>ln().domain(T.nodeMinMaxValue).range([T.layerParams.bubble.radiusMin,T.layerParams.bubble.radiusMax]).exponent(T.layerParams.bubble.arcScaleType==="area"?.5:1))),C=N({edgeMinMaxValue:$,layerParams:n}).pipe(R(i),V(async T=>T),A(T=>Je().domain(T.edgeMinMaxValue).range([T.layerParams.arrow.strokeWidthMin,T.layerParams.arrow.strokeWidthMax]))),B=N({computedData:r.computedData$,radiusScale:M,defaultNodeValue:L}).pipe(R(i),V(async T=>T),A(T=>new Map(T.computedData.nodes.map(I=>{let _=I;return _.r=T.radiusScale(_.value??T.defaultNodeValue),[_.id,_]})))),D=N({computedData:r.computedData$,strokeWidthScale:C,defaultEdgeValue:E,NodeMap:B}).pipe(R(i),V(async T=>T),A(T=>new Map(T.computedData.edges.map(I=>{let _=I;return _._source=T.NodeMap.get(I.source),_._target=T.NodeMap.get(I.target),_.strokeWidth=T.strokeWidthScale(_.value??T.defaultEdgeValue),_.markerId=`${HR}__${_.id}`,[_.id,_]})))),P=N({visibleComputedData:r.visibleComputedData$,RenderNodeMap:B,RenderEdgeMap:D}).pipe(R(i),V(async T=>T),A(T=>({nodes:T.visibleComputedData.nodes.map(I=>T.RenderNodeMap.get(I.id)),edges:T.visibleComputedData.edges.map(I=>T.RenderEdgeMap.get(I.id))})),z(1)),w=n.pipe(R(i),A(T=>({viewBox:`-${T.arrow.pointerWidth} -${T.arrow.pointerHeight/2} ${T.arrow.pointerWidth} ${T.arrow.pointerHeight}`,d:`M${-T.arrow.pointerWidth},${-T.arrow.pointerHeight/2}L0,0L${-T.arrow.pointerWidth},${T.arrow.pointerHeight/2}`,pointerWidth:T.arrow.pointerWidth,pointerHeight:T.arrow.pointerHeight}))),k=N({computedData:r.computedData$,layerParams:n,RenderNodeMap:B,RenderEdgeMap:D}).pipe(R(i),W(0),A(T=>T.computedData.edges.map(I=>{const _=T.RenderEdgeMap.get(I.id),O=T.RenderNodeMap.get(I.target);return{id:_.markerId,edgeId:I.id,strokeWidth:_.strokeWidth,refX:(O.r+T.layerParams.bubble.strokeWidth/2)/_.strokeWidth-1}})));return N({defsSelection:c,markerParams:w,markerData:k,layerParams:n,theme:r.theme$}).pipe(R(i),W(0),A(T=>n4({defsSelection:c,markerParams:T.markerParams,markerData:T.markerData,layerParams:T.layerParams,theme:T.theme}))).subscribe(),N({renderData:P,simulation:v,layerParams:n,theme:r.theme$}).pipe(R(i),W(0)).subscribe(T=>{h=i4({nodeListGSelection:u,nodes:T.renderData.nodes}),f=o4({nodeGSelection:h,layerParams:T.layerParams,theme:T.theme}),h.call(r4(T.simulation,y)),p=a4({edgeListGSelection:l,edges:T.renderData.edges}),g=s4({edgeGSelection:p,layerParams:T.layerParams,theme:T.theme}),m=l4({edgeGSelection:p}),d=c4({edgeLabelGSelection:m,layerParams:T.layerParams,theme:T.theme}),T.simulation.nodes(T.renderData.nodes).on("tick",()=>{g.attr("d",t4),h.attr("transform",QR),m.attr("transform",I=>e4(I))}),T.simulation.force("link").links(T.renderData.edges),T.simulation.alpha(.3).restart(),f.on("mouseover",(I,_)=>{I.stopPropagation(),b.next({eventName:"mouseover",pluginName:dt,layerName:tt,target:_,event:I})}).on("mousemove",(I,_)=>{I.stopPropagation(),b.next({eventName:"mousemove",pluginName:dt,layerName:tt,target:_,event:I})}).on("mouseout",(I,_)=>{I.stopPropagation(),b.next({eventName:"mouseout",pluginName:dt,layerName:tt,target:_,event:I})}).on("click",(I,_)=>{I.stopPropagation(),b.next({eventName:"click",pluginName:dt,layerName:tt,target:_,event:I})})}),y.pipe(X((T,I)=>T===I),V(T=>Ht(()=>T==="end",b,pn))).subscribe(T=>{r.eventTrigger$.next(T)}),N({highlightNodes:r.graphHighlightNodes$.pipe(A(T=>T.map(I=>I.id))),styles:t.pipe(A(T=>T.styles))}).pipe(R(i),W(0)).subscribe(T=>{!h||!p||u4({nodeGSelection:h,edgeGSelection:p,highlightIds:T.highlightNodes,styles:T.styles})}),()=>{i.next(void 0)}}}),h4=new XR,p4=new f4,d4=It({name:"NetworkPlot",defaultParams:Dx,layers:[h4,p4],setup:e=>{const t=N({graphData:e.context.graphData$,datasetIndex:e.pluginParams$.pipe(A(g=>g.datasetIndex))}).pipe(W(0),A(({graphData:g,datasetIndex:m})=>g[m]),z(1)),n=Jt({size$:e.context.size$,padding$:e.pluginParams$.pipe(A(g=>g.styles.padding))}).pipe(z(1)),r=vR({selectedGraphData$:t,pluginParams$:e.pluginParams$}).pipe(z(1)),i=Nt(e.context.theme$).pipe(z(1)),o=dn({datumList$:r.pipe(A(g=>g.nodes)),styles$:e.pluginParams$.pipe(A(g=>g.styles)),event$:e.context.event$}).pipe(z(1)),a=dn({datumList$:r.pipe(A(g=>g.edges)),styles$:e.pluginParams$.pipe(A(g=>g.styles)),event$:e.context.event$}).pipe(z(1)),s=rr({datumList$:r.pipe(A(g=>g.nodes))}).pipe(z(1)),c=rr({datumList$:r.pipe(A(g=>g.edges))}).pipe(z(1)),l=SR(r).pipe(z(1)),u=AR(r).pipe(z(1)),h=$R(s,c).pipe(z(1)),f=TR({computedData$:r,NodeMap$:l}).pipe(z(1)),p={layout$:n,computedData$:r,fontSizePx$:i,graphHighlightNodes$:o,graphHighlightEdges$:a,categoryLabels$:h,CategoryNodeMap$:s,CategoryEdgeMap$:c,NodeMap$:l,EdgeMap$:u,visibleComputedData$:f};return e.context={...e.context,...p},()=>{}},validator:e=>{const t=H(e,{styles:{toBeTypes:["object"]},visibleFilter:{toBeTypes:["Function"]},datasetIndex:{toBeTypes:["number"]}});if(t.status==="error")return t;if(e.styles){const n=H(e.styles,{padding:{toBeTypes:["object"]},highlightTarget:{toBeTypes:["string"]},highlightDefault:{toBeTypes:["string","null"]},unhighlightedOpacity:{toBeTypes:["number"]},transitionDuration:{toBeTypes:["number"]},transitionEase:{toBeTypes:["string"]}});if(n.status==="error")return n;if(e.styles.padding){const r=H(e.styles.padding,{top:{toBeTypes:["number"]},right:{toBeTypes:["number"]},bottom:{toBeTypes:["number"]},left:{toBeTypes:["number"]}});if(r.status==="error")return r}}return t}}),Th={styles:{padding:{top:60,right:60,bottom:60,left:60},highlightTarget:"datum",highlightDefault:null,unhighlightedOpacity:.3,transitionDuration:800,transitionEase:"easeCubic"},visibleFilter:e=>!0,sort:null,datasetIndex:0};Th.visibleFilter.toString=()=>"(datum) => true";const wh={backgroundColorType:"background",strokeColorType:"primary",backgroundOpacity:.8,textColorType:"primary",offset:[20,5],padding:10,renderFn:(e,{styles:t,utils:n,categoryData:r})=>{function i(){const l=e.target.series.slice(0,7)!=="series_",u=e.target.name.slice(0,7)!=="series_",h=n.toCurrency(e.target.value),f=t.textSizePx*.7,p=t.textSizePx/2-f/2,g=l?`<rect width="${f}" height="${f}" x="${p}" y="${p-1}" rx="${f/2}" fill="${e.target.color}"></rect>
88
+ <text x="${t.textSizePx*1.5}" font-size="${t.textSizePx}" dominant-baseline="hanging" fill="${t.textColor}">
89
+ <tspan>${e.target.name}</tspan>
90
+ </text>`:"",m=u?`<tspan>${e.target.name}</tspan> `:"",d=l?n.measureTextWidth(`${e.target.series}${h}`,t.textSizePx)+t.textSizePx*1.5:0,y=u?n.measureTextWidth(`${e.target.name}${h}`,t.textSizePx):0,b=Math.max(d,y),x=u?b+t.textSizePx*1.5:0,v=u?"end":"start",S=`<text font-size="${t.textSizePx}" dominant-baseline="hanging" fill="${t.textColor}">
91
+ ${m}<tspan font-weight="bold" text-anchor="${v}" x="${x}">${h}</tspan>
92
+ </text>`;return`${g}
93
+ <g ${l?`transform="translate(0, ${t.textSizePx*2})"`:""}>
94
+ ${S}
95
+ </g>`}function o(){const l=t.textSizePx*.7,u=t.textSizePx/2-l/2,h=`<g><text dominant-baseline="hanging" font-size="${t.textSizePx}" fill="${t.textColor}">${e.target.category}</text></g>`,f=n.measureTextWidth(e.target.category,t.textSizePx),p=r.reduce((y,b)=>{const x=`${b.series}${n.toCurrency(b.value)}`,v=n.measureTextWidth(x,t.textSizePx);return v>y?v:y},0),m=Math.max(f,p)+t.textSizePx*3,d=r.map((y,b)=>{const x=b*t.textSizePx*1.5,v=y.id===(e.target&&e.target.id);return`<g transform="translate(0, ${t.textSizePx*2})">
96
+ <rect width="${l}" height="${l}" x="${u}" y="${x+u}" rx="${l/2}" fill="${y.color}"></rect>
97
+ <text x="${t.textSizePx*1.5}" y="${x}" font-size="${t.textSizePx}" dominant-baseline="hanging" fill="${t.textColor}">
98
+ <tspan font-weight="${v?"bold":""}">${y.series}</tspan>
99
+ <tspan font-weight="bold" text-anchor="end" x="${m}">${n.toCurrency(y.value)}</tspan>
100
+ </text>
101
+ </g>`}).join("");return`${h}
102
+ ${d}`}function a(){const l=e.target.category!=="",u=!(e==null||e.target.name.slice(0,11)==="multiValue_"),h=t.textSizePx*.7,f=t.textSizePx/2-h/2,p=l?`<rect width="${h}" height="${h}" x="${f}" y="${f-1}" rx="${h/2}" fill="${e.target.color}"></rect>
103
+ <text x="${t.textSizePx*1.5}" font-size="${t.textSizePx}" dominant-baseline="hanging" fill="${t.textColor}">
104
+ <tspan>${e.target.category}</tspan>
105
+ </text>`:"",g=u?`<text font-size="${t.textSizePx}" dominant-baseline="hanging" fill="${t.textColor}">
106
+ <tspan>${e.target.name}</tspan>
107
+ </text>`:"",m=(()=>{const b=n.measureTextWidth(e.target.category,t.textSizePx),x=u?n.measureTextWidth(e.target.name,t.textSizePx):0,v=e.target.multivariate.reduce((S,$)=>{const L=`${$.name}${n.toCurrency($.value)}`,E=n.measureTextWidth(L,t.textSizePx);return E>S?E:S},0);return Math.max(b,x,v)})(),d=e.target.multivariate.map((b,x)=>{const v=x*t.textSizePx*1.5+(g?t.textSizePx*2:0),S=m+t.textSizePx*3;return`<text x="0" y="${v}" font-weight="bold" font-size="${t.textSizePx}" dominant-baseline="hanging" fill="${t.textColor}">
108
+ <tspan>${b.name}</tspan>
109
+ <tspan text-anchor="end" x="${S}">${n.toCurrency(b.value)}</tspan>
110
+ </text>`}).join(""),y=g||d?`<g ${l?`transform="translate(0, ${t.textSizePx*2})"`:""}>
111
+ ${g}
112
+ ${d}
113
+ </g>`:"";return`${p}
114
+ ${y}`}function s(){const l=!!e.target.category,u=!!e.target.name,h=n.toCurrency(e.target.value),f=t.textSizePx*.7,p=t.textSizePx/2-f/2,g=l?`<rect width="${f}" height="${f}" x="${p}" y="${p-1}" rx="${f/2}" fill="${e.target.color}"></rect>
115
+ <text x="${t.textSizePx*1.5}" font-size="${t.textSizePx}" dominant-baseline="hanging" fill="${t.textColor}">
116
+ <tspan>${e.target.category}</tspan>
117
+ </text>`:"",m=u?`<tspan>${e.target.name}</tspan> `:"",d=l?n.measureTextWidth(`${e.target.category}${h}`,t.textSizePx)+t.textSizePx*1.5:0,y=u?n.measureTextWidth(`${e.target.name}${h}`,t.textSizePx):0,b=Math.max(d,y),x=u?b+t.textSizePx*.5:0,v=u?"end":"start",S=`<text font-size="${t.textSizePx}" dominant-baseline="hanging" fill="${t.textColor}">
118
+ ${m}<tspan font-weight="bold" text-anchor="${v}" x="${x}">${h}</tspan>
119
+ </text>`;return`${g}
120
+ <g ${l?`transform="translate(0, ${t.textSizePx*2})"`:""}>
121
+ ${S}
122
+ </g>`}function c(){const l=!!e.target.category,u=!!e.target.name,h=n.toCurrency(e.target.value),f=t.textSizePx*.7,p=t.textSizePx/2-f/2,g=l?`<rect width="${f}" height="${f}" x="${p}" y="${p-1}" rx="${f/2}" fill="${e.target.color}"></rect>
123
+ <text x="${t.textSizePx*1.5}" font-size="${t.textSizePx}" dominant-baseline="hanging" fill="${t.textColor}">
124
+ <tspan>${e.target.category}</tspan>
125
+ </text>`:"",m=u?`<tspan>${e.target.name}</tspan> `:"",d=l?n.measureTextWidth(`${e.target.category}${h}`,t.textSizePx)+t.textSizePx*1.5:0,y=u?n.measureTextWidth(`${e.target.name}${h}`,t.textSizePx):0,b=Math.max(d,y),x=u?b+t.textSizePx*.5:0,v=u?"end":"start",S=`<text font-size="${t.textSizePx}" dominant-baseline="hanging" fill="${t.textColor}">
126
+ ${m}<tspan font-weight="bold" text-anchor="${v}" x="${x}">${h}</tspan>
127
+ </text>`;return`${g}
128
+ <g ${l?`transform="translate(0, ${t.textSizePx*2})"`:""}>
129
+ ${S}
130
+ </g>`}return e.target.modelType==="series"?i():e.target.modelType==="grid"?o():e.target.modelType==="multivariate"?a():e.target.modelType==="graph"?s():e.target.modelType==="tree"?c():""}};wh.renderFn.toString=()=>`(eventData, { styles, utils }) => {
131
+ function renderSeriesData () {
132
+ const hasSeriesLabel = eventData.target.series.slice(0, 7) === 'series_' ? false : true
133
+ const hasDatumLabel = eventData.target.name.slice(0, 7) === 'series_' ? false : true
134
+ const valueText = utils.toCurrency(eventData.target.value)
135
+ const bulletWidth = styles.textSizePx * 0.7
136
+ const offset = (styles.textSizePx / 2) - (bulletWidth / 2)
137
+ const seriesSvg = hasSeriesLabel
138
+ ? \`<rect width="\${bulletWidth}" height="\${bulletWidth}" x="\${offset}" y="\${offset - 1}" rx="\${bulletWidth / 2}" fill="\${eventData.target.color}"></rect>
297
139
  <text x="\${styles.textSizePx * 1.5}" font-size="\${styles.textSizePx}" dominant-baseline="hanging" fill="\${styles.textColor}">
298
- <tspan>\${eventData.categoryLabel}</tspan>
140
+ <tspan>\${eventData.target.name}</tspan>
299
141
  </text>\`
300
- : ''
301
- const datumLabelSvg = hasDatumLabel
302
- ? \`<tspan>\${eventData.datum.label}</tspan> \`
303
- : ''
304
- const categoryLabelTextWidth = hasCategoryLabel
305
- ? utils.measureTextWidth(\`\${eventData.categoryLabel}\${valueText}\`, styles.textSizePx) + styles.textSizePx * 1.5
306
- : 0
307
- const datumLabelTextWidth = hasDatumLabel
308
- ? utils.measureTextWidth(\`\${eventData.datum.label}\${valueText}\`, styles.textSizePx)
309
- : 0
310
- const maxTextWidth = Math.max(categoryLabelTextWidth, datumLabelTextWidth)
311
- const lineEndX = hasDatumLabel
312
- ? maxTextWidth + styles.textSizePx * 0.5
313
- : 0
314
- const valueTextAnchor = hasDatumLabel ? 'end' : 'start'
315
- const datumSvg = \`<text font-size="\${styles.textSizePx}" dominant-baseline="hanging" fill="\${styles.textColor}">
142
+ : ''
143
+ const datumLabelSvg = hasDatumLabel
144
+ ? \`<tspan>\${eventData.target.name}</tspan> \`
145
+ : ''
146
+ const seriesLabelTextWidth = hasSeriesLabel
147
+ ? utils.measureTextWidth(\`\${eventData.target.series}\${valueText}\`, styles.textSizePx) + styles.textSizePx * 1.5
148
+ : 0
149
+ const datumLabelTextWidth = hasDatumLabel
150
+ ? utils.measureTextWidth(\`\${eventData.target.name}\${valueText}\`, styles.textSizePx)
151
+ : 0
152
+ const maxTextWidth = Math.max(seriesLabelTextWidth, datumLabelTextWidth)
153
+ const lineEndX = hasDatumLabel
154
+ ? maxTextWidth + styles.textSizePx * 1.5
155
+ : 0
156
+ const valueTextAnchor = hasDatumLabel ? 'end' : 'start'
157
+ const datumSvg = \`<text font-size="\${styles.textSizePx}" dominant-baseline="hanging" fill="\${styles.textColor}">
316
158
  \${datumLabelSvg}<tspan font-weight="bold" text-anchor="\${valueTextAnchor}" x="\${lineEndX}">\${valueText}</tspan>
317
159
  </text>\`
318
160
 
319
- return \`\${categorySvg}
320
- <g \${hasCategoryLabel ? \`transform="translate(0, \${styles.textSizePx * 2})"\` : ''}>
161
+ return \`\${seriesSvg}
162
+ <g \${hasSeriesLabel ? \`transform="translate(0, \${styles.textSizePx * 2})"\` : ''}>
321
163
  \${datumSvg}
322
164
  </g>\`
323
- }`;const Ut="ForceDirected",JJ=W(Ut,"zoom-area"),HC=Jt(Ut,"arrow"),WC=W(Ut,"arrow-marker"),KJ=W(Ut,"edge-list-g"),QJ=W(Ut,"edge-g"),XC=W(Ut,"edge-arrow-path"),UC=W(Ut,"edge-label-g"),qC=W(Ut,"edge-label"),tK=W(Ut,"node-list-g"),eK=W(Ut,"node-g"),ZC=W(Ut,"node-circle"),JC=W(Ut,"node-label-g"),KC=W(Ut,"node-label"),nK={name:Ut,defaultParams:Gi,layerIndex:be,validator:(t,{validateColumns:e})=>{const n=e(t,{dot:{toBeTypes:["object"]},dotLabel:{toBeTypes:["object"]},arrow:{toBeTypes:["object"]},arrowLabel:{toBeTypes:["object"]},force:{toBeTypes:["object"]},zoomable:{toBeTypes:["boolean"]},transform:{toBeTypes:["object"]},scaleExtent:{toBeTypes:["object"]}});if(t.dot){const r=e(t.dot,{radius:{toBeTypes:["number"]},fillColorType:{toBeOption:"ColorType"},strokeColorType:{toBeOption:"ColorType"},strokeWidth:{toBeTypes:["number"]},styleFn:{toBeTypes:["Function"]}});if(r.status==="error")return r}if(t.dotLabel){const r=e(t.dotLabel,{colorType:{toBeOption:"ColorType"},sizeFixed:{toBeTypes:["boolean"]},styleFn:{toBeTypes:["Function"]}});if(r.status==="error")return r}if(t.arrow){const r=e(t.arrow,{colorType:{toBeOption:"ColorType"},strokeWidth:{toBeTypes:["number"]},pointerWidth:{toBeTypes:["number"]},pointerHeight:{toBeTypes:["number"]},styleFn:{toBeTypes:["Function"]}});if(r.status==="error")return r}if(t.arrowLabel){const r=e(t.arrowLabel,{colorType:{toBeOption:"ColorType"},sizeFixed:{toBeTypes:["boolean"]},styleFn:{toBeTypes:["Function"]}});if(r.status==="error")return r}if(t.force){const r=e(t.force,{nodeStrength:{toBeTypes:["number"]},linkDistance:{toBeTypes:["number"]},velocityDecay:{toBeTypes:["number"]},alphaDecay:{toBeTypes:["number"]}});if(r.status==="error")return r}if(t.transform){const r=e(t.transform,{x:{toBeTypes:["number"]},y:{toBeTypes:["number"]},k:{toBeTypes:["number"]}});if(r.status==="error")return r}if(t.scaleExtent){const r=e(t.scaleExtent,{min:{toBeTypes:["number"]},max:{toBeTypes:["number"]}});if(r.status==="error")return r}return n}};function rK(t,e){return Wu().velocityDecay(e.force.velocityDecay).alphaDecay(e.force.alphaDecay).force("link",Lp().id(n=>n.id).strength(1).distance(n=>e.force.linkDistance)).force("charge",Xu().strength(e.force.nodeStrength)).force("collision",Hu(e.dot.radius).strength(1)).force("center",Bp(t.width/2,t.height/2))}function aK(t){return"translate("+t.x+","+t.y+")"}function iK(t){const e=t.source.x+(t.target.x-t.source.x)/2,n=t.source.y+(t.target.y-t.source.y)/2;return"translate("+e+","+n+")"}function oK(t){return"M"+t.source.x+","+t.source.y+" L"+t.target.x+","+t.target.y}function lK(t,e,n){return t.selectAll(`marker.${WC}`).data([e]).join(r=>{const a=r.append("marker").classed(WC,!0).attr("id",HC).attr("fill",i=>ht(e.arrow.colorType,n)).attr("viewBox",i=>`-${i.arrow.pointerWidth} -${i.arrow.pointerHeight/2} ${i.arrow.pointerWidth} ${i.arrow.pointerHeight}`).attr("orient","auto");return a.append("path").attr("d",i=>`M${-i.arrow.pointerWidth},${-i.arrow.pointerHeight/2}L0,0L${-i.arrow.pointerWidth},${i.arrow.pointerHeight/2}`),a},r=>r,r=>r.remove()).attr("markerWidth",r=>r.arrow.pointerWidth).attr("markerHeight",r=>r.arrow.pointerHeight).attr("refX",r=>(r.dot.radius+e.dot.strokeWidth/2)/r.arrow.strokeWidth-1).attr("refY",0)}function sK(t,e){function n(i,o){i.active||t.alphaTarget(.3).restart(),i.subject.fx=i.x,i.subject.fy=i.y,e.next("start")}function r(i,o){i.subject.fx=i.x,i.subject.fy=i.y,e.next("drag")}function a(i,o){i.active||t.alphaTarget(0),i.subject.fx=null,i.subject.fy=null,e.next("end")}return gu().on("start",n).on("drag",r).on("end",a)}function uK({nodeListGSelection:t,nodes:e}){return t.selectAll("g").data(e,n=>n.id).join(n=>n.append("g").classed(eK,!0),n=>n,n=>n.remove())}function cK({nodeGSelection:t,fullParams:e,fullChartParams:n}){return t.each((r,a,i)=>{Y(i[a]).selectAll("circle").data([r]).join(o=>o.append("circle").classed(ZC,!0).attr("cursor","pointer"),o=>o,o=>o.remove()).attr("r",e.dot.radius).attr("fill",o=>Pt({datum:o,colorType:e.dot.fillColorType,fullChartParams:n})).attr("stroke",o=>Pt({datum:o,colorType:e.dot.strokeColorType,fullChartParams:n})).attr("stroke-width",e.dot.strokeWidth).attr("style",o=>e.dot.styleFn(o))}),t.select(`circle.${ZC}`)}function fK({nodeGSelection:t,fullParams:e}){return t.each((n,r,a)=>{Y(a[r]).selectAll("g").data([n]).join(i=>i.append("g").classed(JC,!0),i=>i,i=>i.remove()).attr("transform",`translate(0, ${-e.dot.radius-10})`)}),t.select(`g.${JC}`)}function dK({nodeLabelGSelection:t,fullParams:e,fullChartParams:n}){return t.each((r,a,i)=>{Y(i[a]).selectAll("text").data([r],o=>o.id).join(o=>o.append("text").classed(KC,!0).attr("text-anchor","middle").attr("pointer-events","none"),o=>o,o=>o.remove()).text(o=>o.label).attr("fill",o=>Pt({datum:o,colorType:e.dotLabel.colorType,fullChartParams:n})).attr("font-size",n.styles.textSize).attr("style",o=>e.dotLabel.styleFn(o))}),t.select(`text.${KC}`)}function hK({edgeListGSelection:t,edges:e}){return t.selectAll("g").data(e,n=>n.id).join(n=>n.append("g").classed(QJ,!0),n=>n,n=>n.remove())}function pK({edgeGSelection:t,fullParams:e,fullChartParams:n}){return t.each((r,a,i)=>{Y(i[a]).selectAll("path").data([r]).join(o=>o.append("path").classed(XC,!0).attr("marker-end",`url(#${HC})`),o=>o,o=>o.remove()).attr("stroke",o=>Pt({datum:o.data,colorType:e.arrow.colorType,fullChartParams:n})).attr("stroke-width",e.arrow.strokeWidth).attr("style",o=>e.arrow.styleFn(o))}),t.select(`path.${XC}`)}function mK({edgeGSelection:t}){return t.each((e,n,r)=>{Y(r[n]).selectAll("g").data([e]).join(a=>a.append("g").classed(UC,!0),a=>a,a=>a.remove())}),t.select(`g.${UC}`)}function gK({edgeLabelGSelection:t,fullParams:e,fullChartParams:n}){return t.each((r,a,i)=>{Y(i[a]).selectAll("text").data([r],o=>o.id).join(o=>o.append("text").classed(qC,!0).attr("text-anchor","middle").attr("pointer-events","none"),o=>o,o=>o.remove()).text(o=>o.label).attr("fill",o=>Pt({datum:o,colorType:e.arrowLabel.colorType,fullChartParams:n})).attr("font-size",n.styles.textSize).attr("style",o=>e.arrowLabel.styleFn(o))}),t.select(`text.${qC}`)}function yK({nodeGSelection:t,edgeGSelection:e,highlightIds:n,fullChartParams:r}){if(t.interrupt("highlight"),e.interrupt("highlight"),!n.length){t.transition("highlight").style("opacity",1),e.transition("highlight").style("opacity",1);return}e.style("opacity",r.styles.unhighlightedOpacity),t.each((a,i,o)=>{const l=Y(o[i]);n.includes(a.id)?l.style("opacity",1).transition("highlight").ease(ta).duration(500):l.style("opacity",r.styles.unhighlightedOpacity)})}const bK=Js(nK)(({selection:t,rootSelection:e,name:n,observer:r,subject:a})=>{const i=new J,o=t.append("g").classed(JJ,!0),l=o.append("defs"),u=o.append("g").classed(KJ,!0),s=o.append("g").classed(tK,!0);let c,d,f,h,p,g,m,b;const y=new Fd("end"),x=new J;G({fullParams:r.fullParams$,fullChartParams:r.fullChartParams$}).pipe(w(i),O(async C=>C),L(({fullParams:C,fullChartParams:A})=>lK(l,C,A))).subscribe();const v=r.fullParams$.pipe(w(i),L(C=>{let A=C.zoomable?Qn().on("zoom",$=>{o.attr("transform",`translate(
324
- ${$.transform.x},
325
- ${$.transform.y}
326
- ) scale(
327
- ${$.transform.k}
328
- )`),C.dotLabel.sizeFixed&&h&&h.attr("transform",`scale(${1/$.transform.k})`),C.arrowLabel.sizeFixed&&b&&b.attr("transform",`scale(${1/$.transform.k})`)}):Qn().on("zoom",null);return C.scaleExtent&&A.scaleExtent([C.scaleExtent.min,C.scaleExtent.max]),e.call(A),A}));G({d3Zoom:v,transform:r.fullParams$.pipe(w(i),L(C=>C.transform))}).pipe(w(i),O(async C=>C)).subscribe(C=>{t.call(C.d3Zoom.transform,Ei.translate(C.transform.x,C.transform.y).scale(C.transform.k))});const _=G({layout:r.layout$.pipe(Na()),fullParams:r.fullParams$}).pipe(w(i),O(async C=>C),L(C=>rK(C.layout,C.fullParams)),nt(1)),D=r.visibleComputedData$.pipe(w(i),L(C=>({nodes:C.nodes,edges:C.edges.map(A=>{let $=A;return $.source=A.startNode,$.target=A.endNode,$})})),nt(1));return G({renderData:D,computedData:r.computedData$,CategoryNodeMap:r.CategoryNodeMap$,simulation:_,fullParams:r.fullParams$,fullChartParams:r.fullChartParams$}).pipe(w(i),O(async C=>C)).subscribe(C=>{c=uK({nodeListGSelection:s,nodes:C.renderData.nodes}),d=cK({nodeGSelection:c,fullParams:C.fullParams,fullChartParams:C.fullChartParams}),c.call(sK(C.simulation,y)),f=fK({nodeGSelection:c,fullParams:C.fullParams}),h=dK({nodeLabelGSelection:f,fullParams:C.fullParams,fullChartParams:C.fullChartParams}),p=hK({edgeListGSelection:u,edges:C.renderData.edges}),g=pK({edgeGSelection:p,fullParams:C.fullParams,fullChartParams:C.fullChartParams}),m=mK({edgeGSelection:p}),b=gK({edgeLabelGSelection:m,fullParams:C.fullParams,fullChartParams:C.fullChartParams}),C.simulation.nodes(C.renderData.nodes).on("tick",()=>{g.attr("d",oK),c.attr("transform",aK),m.attr("transform",A=>iK(A))}),C.simulation.force("link").links(C.renderData.edges),C.simulation.alpha(.3).restart(),d.on("mouseover",(A,$)=>{A.stopPropagation(),x.next({type:"relationship",eventName:"mouseover",pluginName:Ut,highlightTarget:C.fullChartParams.highlightTarget,datum:$,category:C.CategoryNodeMap.get($.categoryLabel),categoryIndex:$.categoryIndex,categoryLabel:$.categoryLabel,event:A,data:C.computedData})}).on("mousemove",(A,$)=>{A.stopPropagation(),x.next({type:"relationship",eventName:"mousemove",pluginName:Ut,highlightTarget:C.fullChartParams.highlightTarget,datum:$,category:C.CategoryNodeMap.get($.categoryLabel),categoryIndex:$.categoryIndex,categoryLabel:$.categoryLabel,event:A,data:C.computedData})}).on("mouseout",(A,$)=>{A.stopPropagation(),x.next({type:"relationship",eventName:"mouseout",pluginName:Ut,highlightTarget:C.fullChartParams.highlightTarget,datum:$,category:C.CategoryNodeMap.get($.categoryLabel),categoryIndex:$.categoryIndex,categoryLabel:$.categoryLabel,event:A,data:C.computedData})}).on("click",(A,$)=>{A.stopPropagation(),x.next({type:"relationship",eventName:"click",pluginName:Ut,highlightTarget:C.fullChartParams.highlightTarget,datum:$,category:C.CategoryNodeMap.get($.categoryLabel),categoryIndex:$.categoryIndex,categoryLabel:$.categoryLabel,event:A,data:C.computedData})})}),y.pipe(H((C,A)=>C===A),O(C=>Ln(()=>C==="end",x,Ds))).subscribe(C=>{a.event$.next(C)}),G({renderData:D,highlightNodes:r.relationshipHighlightNodes$.pipe(L(C=>C.map(A=>A.id))),highlightEdges:r.relationshipHighlightEdges$.pipe(L(C=>C.map(A=>A.id))),fullChartParams:r.fullChartParams$,fullParams:r.fullParams$}).pipe(w(i),O(async C=>C)).subscribe(C=>{!c||!p||yK({nodeGSelection:c,edgeGSelection:p,highlightIds:C.highlightNodes,fullChartParams:C.fullChartParams})}),()=>{i.next(void 0)}}),ae="ForceDirectedBubbles",QC=12,xK=W(ae,"zoom-area"),vK=Jt(ae,"arrow"),tP=W(ae,"arrow-marker"),$K=W(ae,"edge-list-g"),SK=W(ae,"edge-g"),eP=W(ae,"edge-arrow-path"),nP=W(ae,"edge-label-g"),rP=W(ae,"edge-label"),DK=W(ae,"node-list-g"),_K=W(ae,"node-g"),aP=W(ae,"node-circle"),AK={name:ae,defaultParams:ji,layerIndex:be,validator:(t,{validateColumns:e})=>{const n=e(t,{bubble:{toBeTypes:["object"]},bubbleLabel:{toBeTypes:["object"]},arrow:{toBeTypes:["object"]},arrowLabel:{toBeTypes:["object"]},force:{toBeTypes:["object"]},zoomable:{toBeTypes:["boolean"]},transform:{toBeTypes:["object"]},scaleExtent:{toBeTypes:["object"]}});if(t.bubble){const r=e(t.bubble,{radiusMin:{toBeTypes:["number"]},radiusMax:{toBeTypes:["number"]},arcScaleType:{toBe:'"area" | "radius"',test:a=>a==="area"||a==="radius"},fillColorType:{toBeOption:"ColorType"},strokeColorType:{toBeOption:"ColorType"},strokeWidth:{toBeTypes:["number"]},styleFn:{toBeTypes:["Function"]}});if(r.status==="error")return r}if(t.bubbleLabel){const r=e(t.bubbleLabel,{fillRate:{toBeTypes:["number"]},lineHeight:{toBeTypes:["number"]},maxLineLength:{toBeTypes:["number"]},colorType:{toBeOption:"ColorType"},styleFn:{toBeTypes:["Function"]}});if(r.status==="error")return r}if(t.arrow){const r=e(t.arrow,{colorType:{toBeOption:"ColorType"},strokeWidthMin:{toBeTypes:["number"]},strokeWidthMax:{toBeTypes:["number"]},pointerWidth:{toBeTypes:["number"]},pointerHeight:{toBeTypes:["number"]},styleFn:{toBeTypes:["Function"]}});if(r.status==="error")return r}if(t.arrowLabel){const r=e(t.arrowLabel,{colorType:{toBeOption:"ColorType"},sizeFixed:{toBeTypes:["boolean"]},styleFn:{toBeTypes:["Function"]}});if(r.status==="error")return r}if(t.force){const r=e(t.force,{nodeStrength:{toBeTypes:["number"]},linkDistance:{toBeTypes:["number"]},velocityDecay:{toBeTypes:["number"]},alphaDecay:{toBeTypes:["number"]}});if(r.status==="error")return r}if(t.transform){const r=e(t.transform,{x:{toBeTypes:["number"]},y:{toBeTypes:["number"]},k:{toBeTypes:["number"]}});if(r.status==="error")return r}if(t.scaleExtent){const r=e(t.scaleExtent,{min:{toBeTypes:["number"]},max:{toBeTypes:["number"]}});if(r.status==="error")return r}return n}};function CK(t,e){return Wu().velocityDecay(e.force.velocityDecay).alphaDecay(e.force.alphaDecay).force("link",Lp().id(n=>n.id).strength(1).distance(n=>e.force.linkDistance)).force("charge",Xu().strength(e.force.nodeStrength)).force("collision",Hu(e.bubble.radiusMax).strength(1)).force("center",Bp(t.width/2,t.height/2))}function PK(t){return"translate("+t.x+","+t.y+")"}function FK(t){const e=t.source.x+(t.target.x-t.source.x)/2,n=t.source.y+(t.target.y-t.source.y)/2;return"translate("+e+","+n+")"}function TK(t){return"M"+t.source.x+","+t.source.y+" L"+t.target.x+","+t.target.y}function wK({defsSelection:t,markerParams:e,markerData:n,fullParams:r,fullChartParams:a}){return t.selectAll(`marker.${tP}`).data(n).join(i=>{const o=i.append("marker").classed(tP,!0).attr("viewBox",e.viewBox).attr("orient","auto");return o.append("path").attr("d",e.d),o},i=>i,i=>i.remove()).attr("id",i=>i.id).attr("fill",i=>ht(r.arrow.colorType,a)).attr("markerWidth",e.pointerWidth).attr("markerHeight",e.pointerHeight).attr("refX",i=>i.refX).attr("refY",0)}function BK(t,e){function n(i,o){i.active||t.alphaTarget(.3).restart(),i.subject.fx=i.subject.x,i.subject.fy=i.subject.y,e.next("start")}function r(i,o){i.subject.fx=i.x,i.subject.fy=i.y,e.next("drag")}function a(i,o){i.active||t.alphaTarget(0),i.subject.fx=null,i.subject.fy=null,e.next("end")}return gu().on("start",n).on("drag",r).on("end",a)}function EK({nodeListGSelection:t,nodes:e}){return t.selectAll("g").data(e,n=>n.id).join(n=>n.append("g").classed(_K,!0),n=>n,n=>n.remove())}function LK({nodeGSelection:t,fullParams:e,fullChartParams:n}){return t.each((r,a,i)=>{Y(i[a]).selectAll("circle").data([r]).join(o=>o.append("circle").classed(aP,!0).attr("cursor","pointer"),o=>o,o=>o.remove()).attr("r",o=>o.r).attr("fill",o=>Pt({datum:o,colorType:e.bubble.fillColorType,fullChartParams:n})).attr("stroke",o=>Pt({datum:o,colorType:e.bubble.strokeColorType,fullChartParams:n})).attr("stroke-width",e.bubble.strokeWidth).attr("style",o=>e.bubble.styleFn(o))}).attr("text-anchor","middle").attr("font-size",QC).each((r,a,i)=>{const o=Y(i[a]);o.call(HA,{text:r.label,radius:r.r*e.bubbleLabel.fillRate,lineHeight:QC*e.bubbleLabel.lineHeight,isBreakAll:r.label.length<=e.bubbleLabel.maxLineLength?!1:e.bubbleLabel.wordBreakAll}),o.select("text").attr("fill",l=>Pt({datum:r,colorType:e.bubbleLabel.colorType,fullChartParams:n}))}),t.select("text").attr("pointer-events","none").attr("style",r=>e.bubbleLabel.styleFn(r)),t.select(`circle.${aP}`)}function MK({edgeListGSelection:t,edges:e}){return t.selectAll("g").data(e,n=>n.id).join(n=>n.append("g").classed(SK,!0),n=>n,n=>n.remove())}function RK({edgeGSelection:t,fullParams:e,fullChartParams:n}){return t.each((r,a,i)=>{Y(i[a]).selectAll("path").data([r]).join(o=>o.append("path").classed(eP,!0),o=>o,o=>o.remove()).attr("marker-end",o=>`url(#${o.markerId})`).attr("stroke",o=>Pt({datum:o.data,colorType:e.arrow.colorType,fullChartParams:n})).attr("stroke-width",o=>o.strokeWidth).attr("style",o=>e.arrow.styleFn(o))}),t.select(`path.${eP}`)}function IK({edgeGSelection:t}){return t.each((e,n,r)=>{Y(r[n]).selectAll("g").data([e]).join(a=>a.append("g").classed(nP,!0),a=>a,a=>a.remove())}),t.select(`g.${nP}`)}function kK({edgeLabelGSelection:t,fullParams:e,fullChartParams:n}){return t.each((r,a,i)=>{Y(i[a]).selectAll("text").data([r],o=>o.id).join(o=>o.append("text").classed(rP,!0).attr("text-anchor","middle").attr("pointer-events","none"),o=>o,o=>o.remove()).text(o=>o.label).attr("fill",o=>Pt({datum:o,colorType:e.arrowLabel.colorType,fullChartParams:n})).attr("font-size",n.styles.textSize).attr("style",o=>e.arrowLabel.styleFn(o))}),t.select(`text.${rP}`)}function NK({nodeGSelection:t,edgeGSelection:e,highlightIds:n,fullChartParams:r}){if(t.interrupt("highlight"),e.interrupt("highlight"),!n.length){t.transition("highlight").style("opacity",1),e.transition("highlight").style("opacity",1);return}e.style("opacity",r.styles.unhighlightedOpacity),t.each((a,i,o)=>{const l=Y(o[i]);n.includes(a.id)?l.style("opacity",1).transition("highlight").ease(ta).duration(500):l.style("opacity",r.styles.unhighlightedOpacity)})}const zK=Js(AK)(({selection:t,rootSelection:e,name:n,observer:r,subject:a})=>{const i=new J,o=t.append("g").classed(xK,!0),l=o.append("defs"),u=o.append("g").classed($K,!0),s=o.append("g").classed(DK,!0);let c,d,f,h,p,g;const m=new Fd("end"),b=new J,y=r.fullParams$.pipe(w(i),L(P=>{let B=P.zoomable?Qn().on("zoom",R=>{o.attr("transform",`translate(
329
- ${R.transform.x},
330
- ${R.transform.y}
331
- ) scale(
332
- ${R.transform.k}
333
- )`),P.arrowLabel.sizeFixed&&g&&g.attr("transform",`scale(${1/R.transform.k})`)}):Qn().on("zoom",null);return P.scaleExtent&&B.scaleExtent([P.scaleExtent.min,P.scaleExtent.max]),e.call(B),B}));G({d3Zoom:y,transform:r.fullParams$.pipe(w(i),L(P=>P.transform))}).pipe(w(i),O(async P=>P)).subscribe(P=>{t.call(P.d3Zoom.transform,Ei.translate(P.transform.x,P.transform.y).scale(P.transform.k))});const x=G({layout:r.layout$.pipe(Na()),fullParams:r.fullParams$}).pipe(w(i),O(async P=>P),L(P=>CK(P.layout,P.fullParams)),nt(1)),v=r.computedData$.pipe(w(i),L(P=>{const B=P.nodes.filter(F=>F.value!=null);if(!B.length)return[0,2];const R=rh(P.nodes.map(F=>F.value));return B.length==1||R[0]===R[1]?[R[0]-1,R[1]+1]:R}),nt(1)),_=r.computedData$.pipe(w(i),L(P=>{const B=P.edges.filter(F=>F.value!=null);if(!B.length)return[0,2];const R=rh(P.edges.map(F=>F.value));return B.length==1||R[0]===R[1]?[R[0]-1,R[1]+1]:R}),nt(1)),D=v.pipe(w(i),L(P=>(P[1]-P[0])/2)),C=_.pipe(w(i),L(P=>(P[1]-P[0])/2)),A=G({nodeMinMaxValue:v,fullParams:r.fullParams$}).pipe(w(i),O(async P=>P),L(P=>Xn().domain(P.nodeMinMaxValue).range([P.fullParams.bubble.radiusMin,P.fullParams.bubble.radiusMax]).exponent(P.fullParams.bubble.arcScaleType==="area"?.5:1))),$=G({edgeMinMaxValue:_,fullParams:r.fullParams$}).pipe(w(i),O(async P=>P),L(P=>Wn().domain(P.edgeMinMaxValue).range([P.fullParams.arrow.strokeWidthMin,P.fullParams.arrow.strokeWidthMax]))),T=G({computedData:r.computedData$,radiusScale:A,defaultNodeValue:D}).pipe(w(i),O(async P=>P),L(P=>new Map(P.computedData.nodes.map(B=>{let R=B;return R.r=P.radiusScale(R.value??P.defaultNodeValue),[R.id,R]})))),S=G({computedData:r.computedData$,strokeWidthScale:$,defaultEdgeValue:C}).pipe(w(i),O(async P=>P),L(P=>new Map(P.computedData.edges.map(B=>{let R=B;return R.source=B.startNode,R.target=B.endNode,R.strokeWidth=P.strokeWidthScale(R.value??P.defaultEdgeValue),R.markerId=`${vK}__${R.id}`,[R.id,R]})))),k=G({visibleComputedData:r.visibleComputedData$,RenderNodeMap:T,RenderEdgeMap:S}).pipe(w(i),O(async P=>P),L(P=>({nodes:P.visibleComputedData.nodes.map(B=>P.RenderNodeMap.get(B.id)),edges:P.visibleComputedData.edges.map(B=>P.RenderEdgeMap.get(B.id))})),nt(1)),N=r.fullParams$.pipe(w(i),L(P=>({viewBox:`-${P.arrow.pointerWidth} -${P.arrow.pointerHeight/2} ${P.arrow.pointerWidth} ${P.arrow.pointerHeight}`,d:`M${-P.arrow.pointerWidth},${-P.arrow.pointerHeight/2}L0,0L${-P.arrow.pointerWidth},${P.arrow.pointerHeight/2}`,pointerWidth:P.arrow.pointerWidth,pointerHeight:P.arrow.pointerHeight}))),E=G({computedData:r.computedData$,fullParams:r.fullParams$,RenderNodeMap:T,RenderEdgeMap:S}).pipe(w(i),O(async P=>P),L(P=>P.computedData.edges.map(B=>{const R=P.RenderEdgeMap.get(B.id),F=P.RenderNodeMap.get(B.endNode.id);return{id:R.markerId,edgeId:B.id,strokeWidth:R.strokeWidth,refX:(F.r+P.fullParams.bubble.strokeWidth/2)/R.strokeWidth-1}})));return G({defsSelection:l,markerParams:N,markerData:E,fullParams:r.fullParams$,fullChartParams:r.fullChartParams$}).pipe(w(i),O(async P=>P),L(P=>wK({defsSelection:l,markerParams:P.markerParams,markerData:P.markerData,fullParams:P.fullParams,fullChartParams:P.fullChartParams}))).subscribe(),G({renderData:k,computedData:r.computedData$,CategoryNodeMap:r.CategoryNodeMap$,simulation:x,fullParams:r.fullParams$,fullChartParams:r.fullChartParams$}).pipe(w(i),O(async P=>P)).subscribe(P=>{c=EK({nodeListGSelection:s,nodes:P.renderData.nodes}),d=LK({nodeGSelection:c,fullParams:P.fullParams,fullChartParams:P.fullChartParams}),c.call(BK(P.simulation,m)),f=MK({edgeListGSelection:u,edges:P.renderData.edges}),h=RK({edgeGSelection:f,fullParams:P.fullParams,fullChartParams:P.fullChartParams}),p=IK({edgeGSelection:f}),g=kK({edgeLabelGSelection:p,fullParams:P.fullParams,fullChartParams:P.fullChartParams}),P.simulation.nodes(P.renderData.nodes).on("tick",()=>{h.attr("d",TK),c.attr("transform",PK),p.attr("transform",B=>FK(B))}),P.simulation.force("link").links(P.renderData.edges),P.simulation.alpha(.3).restart(),d.on("mouseover",(B,R)=>{B.stopPropagation(),b.next({type:"relationship",eventName:"mouseover",pluginName:ae,highlightTarget:P.fullChartParams.highlightTarget,datum:R,category:P.CategoryNodeMap.get(R.categoryLabel),categoryIndex:R.categoryIndex,categoryLabel:R.categoryLabel,event:B,data:P.computedData})}).on("mousemove",(B,R)=>{B.stopPropagation(),b.next({type:"relationship",eventName:"mousemove",pluginName:ae,highlightTarget:P.fullChartParams.highlightTarget,datum:R,category:P.CategoryNodeMap.get(R.categoryLabel),categoryIndex:R.categoryIndex,categoryLabel:R.categoryLabel,event:B,data:P.computedData})}).on("mouseout",(B,R)=>{B.stopPropagation(),b.next({type:"relationship",eventName:"mouseout",pluginName:ae,highlightTarget:P.fullChartParams.highlightTarget,datum:R,category:P.CategoryNodeMap.get(R.categoryLabel),categoryIndex:R.categoryIndex,categoryLabel:R.categoryLabel,event:B,data:P.computedData})}).on("click",(B,R)=>{B.stopPropagation(),b.next({type:"relationship",eventName:"click",pluginName:ae,highlightTarget:P.fullChartParams.highlightTarget,datum:R,category:P.CategoryNodeMap.get(R.categoryLabel),categoryIndex:R.categoryIndex,categoryLabel:R.categoryLabel,event:B,data:P.computedData})})}),m.pipe(H((P,B)=>P===B),O(P=>Ln(()=>P==="end",b,Ds))).subscribe(P=>{a.event$.next(P)}),G({renderData:k,highlightNodes:r.relationshipHighlightNodes$.pipe(L(P=>P.map(B=>B.id))),highlightEdges:r.relationshipHighlightEdges$.pipe(L(P=>P.map(B=>B.id))),fullChartParams:r.fullChartParams$,fullParams:r.fullParams$}).pipe(w(i),O(async P=>P)).subscribe(P=>{!c||!f||NK({nodeGSelection:c,edgeGSelection:f,highlightIds:P.highlightNodes,fullChartParams:P.fullChartParams})}),()=>{i.next(void 0)}}),iP="RelationshipLegend",OK={name:iP,defaultParams:YC,layerIndex:Mi,validator:(t,{validateColumns:e})=>e(t,{placement:{toBe:'"top" | "top-start" | "top-end" | "bottom" | "bottom-start" | "bottom-end" | "left" | "left-start" | "left-end" | "right" | "right-start" | "right-end"',test:n=>["top","top-start","top-end","bottom","bottom-start","bottom-end","left","left-start","left-end","right","right-start","right-end"].includes(n)},padding:{toBeTypes:["number"]},backgroundFill:{toBeOption:"ColorType"},backgroundStroke:{toBeOption:"ColorType"},gap:{toBeTypes:["number"]},listRectWidth:{toBeTypes:["number"]},listRectHeight:{toBeTypes:["number"]},listRectRadius:{toBeTypes:["number"]},textColorType:{toBeOption:"ColorType"}})},GK=Js(OK)(({selection:t,rootSelection:e,observer:n,subject:r})=>{const a=new J,i=n.fullParams$.pipe(w(a),L(l=>{const u=[{listRectWidth:l.listRectWidth,listRectHeight:l.listRectHeight,listRectRadius:l.listRectRadius}];return{...l,labelList:u}})),o=Ii(iP,{rootSelection:e,legendLabels$:n.categoryLabels$,fullParams$:i,layout$:n.layout$,fullChartParams$:n.fullChartParams$,textSizePx$:n.textSizePx$});return()=>{a.next(void 0),o()}}),oP="RelationshipTooltip",jK={name:oP,defaultParams:t0,layerIndex:Ri,validator:(t,{validateColumns:e})=>e(t,{backgroundColorType:{toBeOption:"ColorType"},backgroundOpacity:{toBeTypes:["number"]},strokeColorType:{toBeOption:"ColorType"},offset:{toBe:"[number, number]",test:n=>Array.isArray(n)&&n.length===2&&typeof n[0]=="number"&&typeof n[1]=="number"},padding:{toBeTypes:["number"]},textColorType:{toBeOption:"ColorType"},renderFn:{toBeTypes:["Function"]}})},VK=Js(jK)(({selection:t,rootSelection:e,name:n,subject:r,observer:a})=>{const i=new J,o=Ni(oP,{rootSelection:e,fullParams$:a.fullParams$,fullChartParams$:a.fullChartParams$,layout$:a.layout$,event$:r.event$});return()=>{i.next(void 0),o()}}),e0={force:{strength:.08,velocityDecay:.3,collisionSpacing:2},bubbleLabel:{labelFn:t=>String(t.label),colorType:"labelContrast",fillRate:.6,lineHeight:1,maxLineLength:6,wordBreakAll:!0},arcScaleType:"area"};e0.bubbleLabel.labelFn.toString=()=>"d => String(d.label)";const lP={outerRadius:.85,innerRadius:0,outerRadiusWhileHighlight:.9,startAngle:0,endAngle:Math.PI*2,padAngle:0,strokeColorType:"background",strokeWidth:1,cornerRadius:0},n0={renderFn:t=>t.eventName==="mouseover"||t.eventName==="mousemove"?[String(t.datum.value)]:[String(Math.round(t.data.reduce((e,n)=>e+n.reduce((r,a)=>r+(a.value??0),0),0)*(t.tween??1)))],textAttrs:[{transform:"translate(0, 0)"}],textStyles:[{"font-weight":"bold","text-anchor":"middle","pointer-events":"none","dominant-baseline":"middle","font-size":64,fill:"#000"}]};n0.renderFn.toString=()=>`(eventData) => {
334
- if (eventData.eventName === 'mouseover' || eventData.eventName === 'mousemove') {
335
- return [String(eventData.datum.value)]
336
165
  }
337
- return [
338
- String(
339
- Math.round(
340
- eventData.data.reduce((acc, seriesData) => {
341
- return acc + seriesData.reduce((_acc, data) => {
342
- return _acc + (data.value ?? 0)
343
- }, 0)
344
- }, 0) * (eventData.tween ?? 1)
345
- )
346
- )
347
- ]
348
- }`;const r0={outerRadius:.85,outerRadiusWhileHighlight:.9,startAngle:0,endAngle:Math.PI*2,labelCentroid:2.1,labelColorType:"primary",labelFn:t=>String(t.label)};r0.labelFn.toString=()=>"d => String(d.label)";const sP={outerRadius:.95,padAngle:0,strokeColorType:"background",strokeWidth:.5,cornerRadius:0,arcScaleType:"area",angleIncreaseWhileHighlight:.05},a0={outerRadius:.95,labelCentroid:2.1,labelFn:t=>String(t.label),labelColorType:"primary",arcScaleType:"area"};a0.labelFn.toString=()=>"d => String(d.label)";const uP={placement:"right-end",padding:28,backgroundFill:"none",backgroundStroke:"none",gap:10,listRectWidth:14,listRectHeight:14,listRectRadius:0,textColorType:"primary"},i0={backgroundColorType:"background",strokeColorType:"primary",backgroundOpacity:.8,textColorType:"primary",offset:[20,5],padding:10,renderFn:(t,{styles:e,utils:n})=>{const r=t.seriesLabel.slice(0,7)!=="series_",a=t.datum.label.slice(0,7)!=="series_",i=n.toCurrency(t.datum.value),o=e.textSizePx*.7,l=e.textSizePx/2-o/2,u=r?`<rect width="${o}" height="${o}" x="${l}" y="${l-1}" rx="${o/2}" fill="${t.datum.color}"></rect>
349
- <text x="${e.textSizePx*1.5}" font-size="${e.textSizePx}" dominant-baseline="hanging" fill="${e.textColor}">
350
- <tspan>${t.seriesLabel}</tspan>
351
- </text>`:"",s=a?`<tspan>${t.datum.label}</tspan> `:"",c=r?n.measureTextWidth(`${t.seriesLabel}${i}`,e.textSizePx)+e.textSizePx*1.5:0,d=a?n.measureTextWidth(`${t.datum.label}${i}`,e.textSizePx):0,f=Math.max(c,d),h=a?f+e.textSizePx*1.5:0,p=a?"end":"start",g=`<text font-size="${e.textSizePx}" dominant-baseline="hanging" fill="${e.textColor}">
352
- ${s}<tspan font-weight="bold" text-anchor="${p}" x="${h}">${i}</tspan>
353
- </text>`;return`${u}
354
- <g ${r?`transform="translate(0, ${e.textSizePx*2})"`:""}>
355
- ${g}
356
- </g>`}};i0.renderFn.toString=()=>`(eventData, { styles, utils }) => {
357
- const hasSeriesLabel = eventData.seriesLabel.slice(0, 7) === 'series_' ? false : true
358
- const hasDatumLabel = eventData.datum.label.slice(0, 7) === 'series_' ? false : true
359
- const valueText = utils.toCurrency(eventData.datum.value)
360
- const bulletWidth = styles.textSizePx * 0.7
361
- const offset = (styles.textSizePx / 2) - (bulletWidth / 2)
362
- const seriesSvg = hasSeriesLabel
363
- ? \`<rect width="\${bulletWidth}" height="\${bulletWidth}" x="\${offset}" y="\${offset - 1}" rx="\${bulletWidth / 2}" fill="\${eventData.datum.color}"></rect>
166
+ function renderGridData () {
167
+ const bulletWidth = styles.textSizePx * 0.7
168
+ const offset = (styles.textSizePx / 2) - (bulletWidth / 2)
169
+
170
+ const titleSvg = \`<g><text dominant-baseline="hanging" font-size="\${styles.textSizePx}" fill="\${styles.textColor}">\${eventData.target.category}</text></g>\`
171
+ const categoryLabelTextWidth = utils.measureTextWidth(eventData.target.category, styles.textSizePx)
172
+ const listTextWidth = categoryData.reduce((acc, category) => {
173
+ const text = \`\${category.series}\${utils.toCurrency(category.value)}\`
174
+ const _maxTextWidth = utils.measureTextWidth(text, styles.textSizePx)
175
+ return _maxTextWidth > acc ? _maxTextWidth : acc
176
+ }, 0)
177
+ const maxTextWidth = Math.max(categoryLabelTextWidth, listTextWidth)
178
+ const lineEndX = maxTextWidth + styles.textSizePx * 3
179
+ const contentSvg = categoryData
180
+ .map((category, i) => {
181
+ const y = i * styles.textSizePx * 1.5
182
+ const isHighlight = category.id === (eventData.target && eventData.target.id)
183
+ return \`<g transform="translate(0, \${styles.textSizePx * 2})">
184
+ <rect width="\${bulletWidth}" height="\${bulletWidth}" x="\${offset}" y="\${y + offset}" rx="\${bulletWidth / 2}" fill="\${category.color}"></rect>
185
+ <text x="\${styles.textSizePx * 1.5}" y="\${y}" font-size="\${styles.textSizePx}" dominant-baseline="hanging" fill="\${styles.textColor}">
186
+ <tspan font-weight="\${isHighlight ? 'bold' : ''}">\${category.series}</tspan>
187
+ <tspan font-weight="bold" text-anchor="end" x="\${lineEndX}">\${utils.toCurrency(category.value)}</tspan>
188
+ </text>
189
+ </g>\`
190
+ })
191
+ .join('')
192
+ return \`\${titleSvg}
193
+ \${contentSvg}\`
194
+ }
195
+ function renderMultivariateData () {
196
+ const hasCategoryLabel = eventData.target.category === '' ? false : true
197
+ const hasDatumLabel = eventData == null || eventData.target.name.slice(0, 11) === 'multiValue_' ? false : true
198
+ const bulletWidth = styles.textSizePx * 0.7
199
+ const offset = (styles.textSizePx / 2) - (bulletWidth / 2)
200
+ const categorySvg = hasCategoryLabel
201
+ ? \`<rect width="\${bulletWidth}" height="\${bulletWidth}" x="\${offset}" y="\${offset - 1}" rx="\${bulletWidth / 2}" fill="\${eventData.target.color}"></rect>
202
+ <text x="\${styles.textSizePx * 1.5}" font-size="\${styles.textSizePx}" dominant-baseline="hanging" fill="\${styles.textColor}">
203
+ <tspan>\${eventData.target.category}</tspan>
204
+ </text>\`
205
+ : ''
206
+
207
+ const datumLabelSvg = hasDatumLabel
208
+ ? \`<text font-size="\${styles.textSizePx}" dominant-baseline="hanging" fill="\${styles.textColor}">
209
+ <tspan>\${eventData.target.name}</tspan>
210
+ </text>\`
211
+ : ''
212
+
213
+ const maxTextWidth = (() => {
214
+ const categoryLabelTextWidth = utils.measureTextWidth(eventData.target.category, styles.textSizePx)
215
+ const datumLabelTextWidth = hasDatumLabel ? utils.measureTextWidth(eventData.target.name, styles.textSizePx) : 0
216
+ const valueDetailTextWidth = (eventData.target as ModelDatumMultivariate).multivariate.reduce((acc, detail) => {
217
+ const text = \`\${detail.name}\${utils.toCurrency(detail.value)}\`
218
+ const _maxTextWidth = utils.measureTextWidth(text, styles.textSizePx)
219
+ return _maxTextWidth > acc ? _maxTextWidth : acc
220
+ }, 0)
221
+ return Math.max(categoryLabelTextWidth, datumLabelTextWidth, valueDetailTextWidth)
222
+ })()
223
+
224
+ const valueDetailSvg = (eventData.target as ModelDatumMultivariate).multivariate.map((detail, i) => {
225
+ const y = (i * styles.textSizePx * 1.5) + (datumLabelSvg ? styles.textSizePx * 2 : 0)
226
+ const lineEndX = maxTextWidth + styles.textSizePx * 3
227
+ return \`<text x="0" y="\${y}" font-weight="bold" font-size="\${styles.textSizePx}" dominant-baseline="hanging" fill="\${styles.textColor}">
228
+ <tspan>\${detail.name}</tspan>
229
+ <tspan text-anchor="end" x="\${lineEndX}">\${utils.toCurrency(detail.value)}</tspan>
230
+ </text>\`
231
+ }).join('')
232
+
233
+ const datumDetailSvg = datumLabelSvg || valueDetailSvg
234
+ ? \`<g \${hasCategoryLabel ? \`transform="translate(0, \${styles.textSizePx * 2})"\` : ''}>
235
+ \${datumLabelSvg}
236
+ \${valueDetailSvg}
237
+ </g>\`
238
+ : ''
239
+
240
+ return \`\${categorySvg}
241
+ \${datumDetailSvg}\`
242
+ }
243
+ function renderGraphData () {
244
+ const hasCategoryLabel = eventData.target.category ? true : false
245
+ const hasDatumLabel = eventData.target.name ? true : false
246
+ const valueText = utils.toCurrency(eventData.target.value)
247
+ const bulletWidth = styles.textSizePx * 0.7
248
+ const offset = (styles.textSizePx / 2) - (bulletWidth / 2)
249
+ const categorySvg = hasCategoryLabel
250
+ ? \`<rect width="\${bulletWidth}" height="\${bulletWidth}" x="\${offset}" y="\${offset - 1}" rx="\${bulletWidth / 2}" fill="\${eventData.target.color}"></rect>
364
251
  <text x="\${styles.textSizePx * 1.5}" font-size="\${styles.textSizePx}" dominant-baseline="hanging" fill="\${styles.textColor}">
365
- <tspan>\${eventData.seriesLabel}</tspan>
252
+ <tspan>\${eventData.target.category}</tspan>
366
253
  </text>\`
367
- : ''
368
- const datumLabelSvg = hasDatumLabel
369
- ? \`<tspan>\${eventData.datum.label}</tspan> \`
370
- : ''
371
- const seriesLabelTextWidth = hasSeriesLabel
372
- ? utils.measureTextWidth(\`\${eventData.seriesLabel}\${valueText}\`, styles.textSizePx) + styles.textSizePx * 1.5
373
- : 0
374
- const datumLabelTextWidth = hasDatumLabel
375
- ? utils.measureTextWidth(\`\${eventData.datum.label}\${valueText}\`, styles.textSizePx)
376
- : 0
377
- const maxTextWidth = Math.max(seriesLabelTextWidth, datumLabelTextWidth)
378
- const lineEndX = hasDatumLabel
379
- ? maxTextWidth + styles.textSizePx * 1.5
380
- : 0
381
- const valueTextAnchor = hasDatumLabel ? 'end' : 'start'
382
- const datumSvg = \`<text font-size="\${styles.textSizePx}" dominant-baseline="hanging" fill="\${styles.textColor}">
254
+ : ''
255
+ const datumLabelSvg = hasDatumLabel
256
+ ? \`<tspan>\${eventData.target.name}</tspan> \`
257
+ : ''
258
+ const categoryLabelTextWidth = hasCategoryLabel
259
+ ? utils.measureTextWidth(\`\${eventData.target.category}\${valueText}\`, styles.textSizePx) + styles.textSizePx * 1.5
260
+ : 0
261
+ const datumLabelTextWidth = hasDatumLabel
262
+ ? utils.measureTextWidth(\`\${eventData.target.name}\${valueText}\`, styles.textSizePx)
263
+ : 0
264
+ const maxTextWidth = Math.max(categoryLabelTextWidth, datumLabelTextWidth)
265
+ const lineEndX = hasDatumLabel
266
+ ? maxTextWidth + styles.textSizePx * 0.5
267
+ : 0
268
+ const valueTextAnchor = hasDatumLabel ? 'end' : 'start'
269
+ const datumSvg = \`<text font-size="\${styles.textSizePx}" dominant-baseline="hanging" fill="\${styles.textColor}">
383
270
  \${datumLabelSvg}<tspan font-weight="bold" text-anchor="\${valueTextAnchor}" x="\${lineEndX}">\${valueText}</tspan>
384
271
  </text>\`
385
272
 
386
- return \`\${seriesSvg}
387
- <g \${hasSeriesLabel ? \`transform="translate(0, \${styles.textSizePx * 2})"\` : ''}>
273
+ return \`\${categorySvg}
274
+ <g \${hasCategoryLabel ? \`transform="translate(0, \${styles.textSizePx * 2})"\` : ''}>
388
275
  \${datumSvg}
389
276
  </g>\`
390
- }`;const cP={startAngle:-Math.PI/2,endAngle:Math.PI/2,radius:.6,indicatorType:"needle",size:10,colorType:"label",value:0},YK="Bubbles",fP=12,HK={name:YK,defaultParams:e0,layerIndex:be,validator:(t,{validateColumns:e})=>{const n=e(t,{force:{toBeTypes:["object"]},bubbleLabel:{toBeTypes:["object"]},arcScaleType:{toBe:'"area" | "radius"',test:r=>r==="area"||r==="radius"}});if(t.force){const r=e(t.force,{velocityDecay:{toBeTypes:["number"]},collisionSpacing:{toBeTypes:["number"]},strength:{toBeTypes:["number"]}});if(r.status==="error")return r}if(t.bubbleLabel){const r=e(t.bubbleLabel,{labelFn:{toBeTypes:["Function"]},colorType:{toBeOption:"ColorType"},fillRate:{toBeTypes:["number"]},lineHeight:{toBeTypes:["number"]},maxLineLength:{toBeTypes:["number"]}});if(r.status==="error")return r}return n}};function WK(t,e){return Wu().velocityDecay(e.force.velocityDecay).force("collision",Hu().radius(n=>n.r+e.force.collisionSpacing)).force("charge",Xu().strength(n=>-Math.pow(n.r,2)*e.force.strength)).on("tick",()=>{t.attr("transform",n=>`translate(${n.x},${n.y})`)})}function XK({selection:t,bubblesData:e,fullParams:n,fullChartParams:r}){const a=t.selectAll("g").data(e,i=>i.id).join(i=>{const o=i.append("g").attr("cursor","pointer").attr("font-size",fP).style("fill","#ffffff").attr("text-anchor","middle");return o.append("circle").attr("class","node").attr("cx",0).attr("cy",0).attr("fill",l=>l.color),o.append("text").style("opacity",.8).attr("pointer-events","none"),o},i=>i,i=>i.remove()).attr("transform",i=>`translate(${i.x},${i.y})`);return a.select("circle").transition().duration(200).attr("r",i=>i.r).attr("fill",i=>i.color),a.each((i,o,l)=>{const u=Y(l[o]),s=i.renderLabel;u.call(HA,{text:s,radius:i.r*n.bubbleLabel.fillRate,lineHeight:fP*n.bubbleLabel.lineHeight,isBreakAll:s.length<=n.bubbleLabel.maxLineLength?!1:n.bubbleLabel.wordBreakAll}),u.select("text").attr("fill",c=>Pt({datum:i,colorType:n.bubbleLabel.colorType,fullChartParams:r}))}),a}function UK(t){return gu().on("start",(e,n)=>{e.active||t.alpha(1).restart(),n.fx=n.x,n.fy=n.y}).on("drag",(e,n)=>{e.active||t.alphaTarget(0),n.fx=e.x,n.fy=e.y}).on("end",(e,n)=>{n.fx=null,n.fy=null,t.alpha(1).restart()})}function qK({_simulation:t,fullParams:e,DatumContainerPositionMap:n}){t.force("x",e2().strength(e.force.strength).x(r=>{let a=n.get(r.id);return a||(a=n.get(Array.from(n.keys())[0])),(a==null?void 0:a.centerX)??null})).force("y",n2().strength(e.force.strength).y(r=>{let a=n.get(r.id);return a||(a=n.get(Array.from(n.keys())[0])),(a==null?void 0:a.centerY)??null}))}function ZK({bubblesSelection:t,highlightIds:e,fullChartParams:n}){if(t.interrupt("highlight"),!e.length){t.transition("highlight").style("opacity",1);return}t.each((r,a,i)=>{const o=Y(i[a]);e.includes(r.id)?o.style("opacity",1).transition("highlight").ease(ta).duration(500):o.style("opacity",n.styles.unhighlightedOpacity)})}const JK=In(HK)(({selection:t,name:e,observer:n,subject:r})=>{const a=new J;let i;const o=n.fullParams$.pipe(w(a),L(m=>m.arcScaleType),H(),nt(1)),l=n.layout$.pipe(w(a),L(m=>Math.min(m.width,m.height)/2),H(),nt(1)),u=n.visibleComputedSortedData$.pipe(w(a),L(m=>m.flat().reduce((b,y)=>b+y.value,0)),H(),nt(1)),s=G({totalR:l,totalValue:u,scaleType:o}).pipe(w(a),O(async m=>m),L(m=>Xn().domain([0,m.totalValue]).range([0,m.totalR]).exponent(m.scaleType==="area"?.5:1)),nt(1)),c=o.pipe(w(a),O(m=>Ln(()=>m==="area",Oe(1),G({totalR:l,radiusScale:s,visibleComputedSortedData:n.visibleComputedSortedData$}).pipe(O(async b=>b),L(b=>{const y=b.totalR*b.totalR*Math.PI;return Math.sqrt(y/Ch(b.visibleComputedSortedData.flat(),x=>Math.PI*Math.pow(b.radiusScale(x.value),2)))}))))),d=G({visibleComputedSortedData:n.visibleComputedSortedData$,radiusScale:s,scaleFactor:c}).pipe(w(a),O(async m=>m),L(m=>new Map(m.visibleComputedSortedData.flat().map(b=>[b.id,m.radiusScale(b.value??0)*m.scaleFactor*.9]))),nt(1)),f=n.DatumContainerPositionMap$.pipe(w(a),Ir(m=>m.size>0),L(m=>new Map(Array.from(m).map(([b,y])=>[b,{x:y.startX+y.width*Math.random(),y:y.startY+y.height*Math.random()}]))),Na(),nt(1)),h=G({visibleComputedSortedData:n.visibleComputedSortedData$,DatumRMap:d,DatumInitXYMap:f,fullParams:n.fullParams$}).pipe(w(a),O(async m=>m),L(m=>m.visibleComputedSortedData.flat().map(b=>{const y=b;if(y.x===void 0||y.y===void 0){let x=m.DatumInitXYMap.get(y.id);x||(x=m.DatumInitXYMap.get(Array.from(m.DatumInitXYMap.keys())[0])),y.x=x.x,y.y=x.y}return y.r=m.DatumRMap.get(y.id),y._originR=y.r,y.renderLabel=m.fullParams.bubbleLabel.labelFn(y),y})),nt(1)),p=n.fullChartParams$.pipe(w(a),L(m=>m.highlightTarget),H()),g=G({bubblesData:h,fullParams:n.fullParams$,fullChartParams:n.fullChartParams$,DatumContainerPositionMap:n.DatumContainerPositionMap$}).pipe(w(a),O(async m=>m),L(m=>{i&&i.stop();const b=XK({selection:t,bubblesData:m.bubblesData,fullParams:m.fullParams,fullChartParams:m.fullChartParams});return i=WK(b,m.fullParams),i.nodes(m.bubblesData),qK({_simulation:i,fullParams:m.fullParams,DatumContainerPositionMap:m.DatumContainerPositionMap}),i.alpha(1).restart(),b}),nt(1));return G({bubblesSelection:g,computedData:n.computedData$,SeriesDataMap:n.SeriesDataMap$,highlightTarget:p}).pipe(w(a),O(async m=>m)).subscribe(m=>{m.bubblesSelection.on("mouseover",(b,y)=>{r.event$.next({type:"series",eventName:"mouseover",pluginName:e,highlightTarget:m.highlightTarget,datum:y,series:m.SeriesDataMap.get(y.seriesLabel),seriesIndex:y.seriesIndex,seriesLabel:y.seriesLabel,event:b,data:m.computedData})}).on("mousemove",(b,y)=>{r.event$.next({type:"series",eventName:"mousemove",pluginName:e,highlightTarget:m.highlightTarget,datum:y,series:m.SeriesDataMap.get(y.seriesLabel),seriesIndex:y.seriesIndex,seriesLabel:y.seriesLabel,event:b,data:m.computedData})}).on("mouseout",(b,y)=>{r.event$.next({type:"series",eventName:"mouseout",pluginName:e,highlightTarget:m.highlightTarget,datum:y,series:m.SeriesDataMap.get(y.seriesLabel),seriesIndex:y.seriesIndex,seriesLabel:y.seriesLabel,event:b,data:m.computedData})}).on("click",(b,y)=>{r.event$.next({type:"series",eventName:"click",pluginName:e,highlightTarget:m.highlightTarget,datum:y,series:m.SeriesDataMap.get(y.seriesLabel),seriesIndex:y.seriesIndex,seriesLabel:y.seriesLabel,event:b,data:m.computedData})}).call(UK(i))}),G({bubblesSelection:g,highlight:n.seriesHighlight$.pipe(L(m=>m.map(b=>b.id))),fullChartParams:n.fullChartParams$}).pipe(w(a),O(async m=>m)).subscribe(m=>{ZK({bubblesSelection:m.bubblesSelection,highlightIds:m.highlight,fullChartParams:m.fullChartParams})}),()=>{a.next(void 0),i&&(i.stop(),i=void 0)}});function KK({selection:t,pluginName:e,visibleComputedSortedData$:n}){const r=W(e,"series");return n.pipe(L(a=>a.map(i=>i[0]?`${i[0].seriesLabel}_${i[0].label}`:"")),H((a,i)=>JSON.stringify(a)===JSON.stringify(i)),L(a=>t.selectAll(`g.${r}`).data(a,i=>i).join(i=>i.append("g").classed(r,!0),i=>i,i=>i.remove())),nt(1))}const Vi=({selection:t,pluginName:e,visibleComputedSortedData$:n,seriesContainerPosition$:r})=>{const a=KK({selection:t,pluginName:e,visibleComputedSortedData$:n});return G({seriesCenterSelection:a,seriesContainerPosition:r}).pipe(O(async i=>i),H((i,o)=>i.seriesContainerPosition.length===o.seriesContainerPosition.length)).subscribe(i=>{i.seriesCenterSelection.attr("transform",(o,l)=>{const u=i.seriesContainerPosition[l]??i.seriesContainerPosition[0];return`translate(${u.centerX}, ${u.centerY})`})}),G({seriesCenterSelection:a,seriesContainerPosition:r}).pipe(O(async i=>i)).subscribe(i=>{i.seriesCenterSelection.transition().attr("transform",(o,l)=>{const u=i.seriesContainerPosition[l]??i.seriesContainerPosition[0];return`translate(${u.centerX}, ${u.centerY})`})}),{seriesCenterSelection$:a}},Tn="Indicator",dP=W(Tn,"indicator-g"),hP=W(Tn,"triangle-g"),pP=W(Tn,"line-g"),mP=W(Tn,"needle-g"),gP=W(Tn,"pin-g"),QK={name:Tn,defaultParams:cP,layerIndex:Ml,validator:(t,{validateColumns:e})=>e(t,{startAngle:{toBeTypes:["number"]},endAngle:{toBeTypes:["number"]},radius:{toBeTypes:["number"]},indicatorType:{toBe:'"line" | "needle" | "pin" | "triangle"',test:n=>["line","needle","pin","triangle"].includes(n)},size:{toBeTypes:["number"]},colorType:{toBeOption:"ColorType"},value:{toBeTypes:["number"]}})};function Sf({containerSelection:t,angle:e,datum:n,value:r,computedData:a,SeriesDataMap:i,fullParams:o,fullChartParams:l,event$:u}){const s=t.selectAll(`g.${dP}`).data([e]).join(f=>f.append("g").attr("class",dP).attr("transform",`rotate(${o.startAngle/Math.PI*180})`),f=>f,f=>f.remove()),c=s.transition().duration(l.transitionDuration).attr("transform",`rotate(${e})`),d=i.get(n.seriesLabel);return c.tween("move",(f,h)=>p=>{u.next({type:"series",pluginName:Tn,eventName:"transitionMove",event:void 0,highlightTarget:l.highlightTarget,datum:n,series:d,seriesIndex:n.seriesIndex,seriesLabel:n.seriesLabel,data:a,mark:r,tween:p})}).on("end",(f,h)=>{u.next({type:"series",pluginName:Tn,eventName:"transitionEnd",event:void 0,highlightTarget:l.highlightTarget,datum:n,series:d,seriesIndex:n.seriesIndex,seriesLabel:n.seriesLabel,data:a,mark:r})}),s}function yP({containerSelection:t,angle:e,value:n,datum:r,computedData:a,SeriesDataMap:i,pointerDistance:o,fullParams:l,fullChartParams:u,graphicColor:s,event$:c}){Sf({containerSelection:t,angle:e,value:n,datum:r,computedData:a,SeriesDataMap:i,fullParams:l,fullChartParams:u,event$:c}).selectAll(`g.${hP}`).data([o]).join("g").attr("class",hP).attr("transform",`translate(0, -${o})`).selectAll("path").data([l.size]).join("path").attr("d",rA().type(ug).size(d=>Math.sqrt(3)/4*Math.pow(l.size,2))).attr("fill",s)}function tQ({containerSelection:t,angle:e,value:n,datum:r,computedData:a,SeriesDataMap:i,pointerDistance:o,fullParams:l,fullChartParams:u,graphicColor:s,event$:c}){Sf({containerSelection:t,angle:e,value:n,datum:r,computedData:a,SeriesDataMap:i,fullParams:l,fullChartParams:u,event$:c}).selectAll(`g.${pP}`).data([o]).join("g").attr("class",pP).selectAll("rect").data([l.size]).join("rect").attr("x",-l.size/2).attr("y",-o).attr("width",l.size).attr("height",o).attr("fill",s)}function eQ({containerSelection:t,angle:e,value:n,datum:r,computedData:a,SeriesDataMap:i,pointerDistance:o,fullParams:l,fullChartParams:u,graphicColor:s,event$:c}){Sf({containerSelection:t,angle:e,value:n,datum:r,computedData:a,SeriesDataMap:i,fullParams:l,fullChartParams:u,event$:c}).selectAll(`g.${mP}`).data([o]).join("g").attr("class",mP).selectAll("path").data([l.size]).join("path").attr("d",()=>{const d=l.size;return`M${[[0,-o],[d/2,0],[0,d/2],[-d/2,0]].map(f=>f.join(",")).join("L")}Z`}).attr("fill",s)}function nQ({containerSelection:t,angle:e,value:n,datum:r,computedData:a,SeriesDataMap:i,pointerDistance:o,fullParams:l,fullChartParams:u,graphicColor:s,event$:c}){const d=Sf({containerSelection:t,angle:e,value:n,datum:r,computedData:a,SeriesDataMap:i,fullParams:l,fullChartParams:u,event$:c}).selectAll(`g.${gP}`).data([o]).join("g").attr("class",gP);d.selectAll("line.pin-shaft").data([1]).join("line").attr("class","pin-shaft").attr("x1",0).attr("y1",0).attr("x2",0).attr("y2",-o).attr("stroke",s).attr("stroke-width",Math.min(l.size*.2,2)).attr("stroke-linecap","round"),d.selectAll("circle.pin-head").data([l.size]).join("circle").attr("class","pin-head").attr("cx",0).attr("cy",0).attr("r",l.size/2).attr("fill",s)}function rQ(t,e){const n=new J;e.containerSelection.selectAll("g").remove();const r=e.containerVisibleComputedSortedData$.pipe(L(c=>c.reduce((d,f)=>d+(f.value??0),0)),H()),a=G({fullParams:e.fullParams$,containerValueSum:r}).pipe(O(async c=>c),L(({fullParams:c,containerValueSum:d})=>Wn().domain([0,d]).range([c.startAngle/Math.PI*180,c.endAngle/Math.PI*180]))),i=e.fullParams$.pipe(L(c=>c.value),H()),o=G({value:i,valueToAngleScale:a,containerValueSum:r}).pipe(O(async c=>c),L(({value:c,valueToAngleScale:d,containerValueSum:f})=>{const h=Math.max(Math.min(c,f),0);return d(h)}),H()),l=G({fullParams:e.fullParams$,seriesContainerPosition:e.seriesContainerPosition$}).pipe(O(async c=>c),L(({fullParams:c,seriesContainerPosition:d})=>{const{radius:f}=c,{width:h,height:p}=d;return Math.min(h,p)*f/2}),H()),u=G({value:i,containerVisibleComputedSortedData:e.containerVisibleComputedSortedData$}).pipe(O(async c=>c),L(({value:c,containerVisibleComputedSortedData:d})=>{let f=null,h=0;for(let p=0;p<d.length;p++){const g=d[p].value??0;if(h+=g,h>=c){f=d[p];break}p===d.length-1&&(f=d[p])}return f}),H()),s=G({value:i,valueSeriesIndex:u.pipe(L(c=>c?c.seriesIndex:0)),fullParams:e.fullParams$,fullChartParams:e.fullChartParams$}).pipe(O(async c=>c),L(c=>{const d={color:c.fullParams.colorType==="label"?c.fullChartParams.colors[c.fullChartParams.colorScheme].label[c.valueSeriesIndex]:""};return Pt({datum:d,colorType:c.fullParams.colorType,fullChartParams:c.fullChartParams})}),H());return e.fullChartParams$.pipe(w(n)).subscribe(c=>{}),G({fullParams:e.fullParams$,fullChartParams:e.fullChartParams$,angle:o,pointerDistance:l,graphicColor:s,value:i,datum:u,computedData:e.computedData$,SeriesDataMap:e.SeriesDataMap$}).subscribe(c=>{e.renderFn({containerSelection:e.containerSelection,angle:c.angle,value:c.fullParams.value,datum:c.datum,computedData:c.computedData,SeriesDataMap:c.SeriesDataMap,pointerDistance:c.pointerDistance,fullParams:c.fullParams,fullChartParams:c.fullChartParams,graphicColor:c.graphicColor,event$:e.event$})}),()=>{n.next(void 0)}}const aQ=In(QK)(({selection:t,observer:e,subject:n})=>{n.plugins$.subscribe(l=>{console.log("Indicator params",l)});const r=new J,{seriesCenterSelection$:a}=Vi({selection:t,pluginName:Tn,visibleComputedSortedData$:e.visibleComputedSortedData$,seriesContainerPosition$:e.seriesContainerPosition$}),i=[],o=e.fullParams$.pipe(L(l=>l.indicatorType==="triangle"?yP:l.indicatorType==="line"?tQ:l.indicatorType==="needle"?eQ:l.indicatorType==="pin"?nQ:yP));return G({seriesCenterSelection:a,renderFn:o}).pipe(O(async l=>l),w(r)).subscribe(l=>{i.forEach(u=>u()),l.seriesCenterSelection.each((u,s,c)=>{const d=Y(c[s]),f=e.visibleComputedSortedData$.pipe(w(r),L(p=>p[s]??p[0])),h=e.seriesContainerPosition$.pipe(w(r),L(p=>p[s]??p[0]));i[s]=rQ(Tn,{containerSelection:d,renderFn:l.renderFn,containerVisibleComputedSortedData$:f,fullParams$:e.fullParams$,fullChartParams$:e.fullChartParams$,seriesContainerPosition$:h,computedData$:e.computedData$,SeriesDataMap$:e.SeriesDataMap$,subject:n,event$:n.event$})})}),()=>{r.next(void 0)}});function bP({data:t,startAngle:e,endAngle:n}){return I_().startAngle(e).endAngle(n).value(r=>r.value).sort((r,a)=>r.seq-a.seq)(t).map((r,a)=>{let i=r;return i.id=r.data.id,i})}const o0="Pie",iQ={name:o0,defaultParams:lP,layerIndex:be,validator:(t,{validateColumns:e})=>e(t,{outerRadius:{toBeTypes:["number"]},innerRadius:{toBeTypes:["number"]},outerRadiusWhileHighlight:{toBeTypes:["number"]},startAngle:{toBeTypes:["number"]},endAngle:{toBeTypes:["number"]},padAngle:{toBeTypes:["number"]},strokeColorType:{toBeTypes:["string"]},strokeWidth:{toBeTypes:["number"]},cornerRadius:{toBeTypes:["number"]}})};function oQ({enter:t,exit:e,data:n,lastTweenData:r,fullParams:a}){return!t.size()&&!e.size()?i=>{const o=n.map((l,u)=>{const s=r[u]??{startAngle:0,endAngle:0,value:0};return{...l,startAngle:l.startAngle*i+s.startAngle*(1-i),endAngle:l.endAngle*i+s.endAngle*(1-i),value:l.value*i+s.value*(1-i)}});return l0(o,a.startAngle,a.endAngle,1)}:i=>l0(n,a.startAngle,a.endAngle,i)}function l0(t,e,n,r){return t.map((a,i)=>{const o=e+(a.startAngle-e)*r,l=o+(a.endAngle-a.startAngle)*r;return{...a,startAngle:o,endAngle:l}})}function xP({selection:t,data:e,arc:n,pathClassName:r,fullParams:a,fullChartParams:i}){return t.selectAll("path").data(e,o=>o.id).join("path").classed(r,!0).style("cursor","pointer").attr("fill",(o,l)=>o.data.color).attr("stroke",(o,l)=>Pt({datum:o.data,colorType:a.strokeColorType,fullChartParams:i})).attr("stroke-width",a.strokeWidth).attr("d",(o,l)=>n(o))}function lQ({pathSelection:t,ids:e,fullChartParams:n,arc:r,arcHighlight:a}){if(t.interrupt("highlight"),!e.length){t.transition("highlight").style("opacity",1).attr("d",i=>r(i));return}t.each((i,o,l)=>{const u=Y(l[o]);e.includes(i.data.id)?u.style("opacity",1).transition("highlight").ease(ta).duration(500).attr("d",s=>a(s)):u.style("opacity",n.styles.unhighlightedOpacity).transition("highlight").attr("d",s=>r(s))})}function sQ(t,e){const n=new J,r=W(t,"path");let a=[],i=[];const o=e.seriesContainerPosition$.pipe(w(n),L(f=>f.width<f.height?f.width:f.height),H()),l=new bt(f=>{G({containerVisibleComputedSortedData:e.containerVisibleComputedSortedData$,fullParams:e.fullParams$}).pipe(w(n),O(async h=>h)).subscribe(h=>{const p=bP({data:h.containerVisibleComputedSortedData,startAngle:h.fullParams.startAngle,endAngle:h.fullParams.endAngle});f.next(p)})}),u=new bt(f=>{G({shorterSideWith:o,fullParams:e.fullParams$}).pipe(w(n),O(async h=>h)).subscribe(h=>{const p=mf({axisWidth:h.shorterSideWith,innerRadius:h.fullParams.innerRadius,outerRadius:h.fullParams.outerRadius,padAngle:h.fullParams.padAngle,cornerRadius:h.fullParams.cornerRadius});f.next(p)})}),s=new bt(f=>{G({shorterSideWith:o,fullParams:e.fullParams$}).pipe(w(n),O(async h=>h)).subscribe(h=>{const p=mf({axisWidth:h.shorterSideWith,innerRadius:h.fullParams.innerRadius,outerRadius:h.fullParams.outerRadiusWhileHighlight,padAngle:h.fullParams.padAngle,cornerRadius:h.fullParams.cornerRadius});f.next(p)})}),c=e.fullChartParams$.pipe(w(n),L(f=>f.highlightTarget),H());e.seriesHighlight$.pipe(w(n)).subscribe(f=>f);const d=new bt(f=>{G({pieData:l,arc:u,computedData:e.computedData$,fullParams:e.fullParams$,fullChartParams:e.fullChartParams$,highlightTarget:c}).pipe(w(n),O(async h=>h)).subscribe(h=>{e.containerSelection.interrupt("graphicMove");const p=e.containerSelection.selectAll("path").data(h.pieData,y=>y.id),g=p.enter(),m=p.exit(),b=oQ({enter:g,exit:m,data:h.pieData,lastTweenData:a,fullParams:h.fullParams});e.containerSelection.transition("graphicMove").duration(h.fullChartParams.transitionDuration).tween("move",(y,x)=>v=>{i=b(v),xP({selection:e.containerSelection,data:i,arc:h.arc,pathClassName:r,fullParams:h.fullParams,fullChartParams:h.fullChartParams})}).on("end",(y,x)=>{i=l0(h.pieData,h.fullParams.startAngle,h.fullParams.endAngle,1);const v=xP({selection:e.containerSelection,data:i,arc:h.arc,pathClassName:r,fullParams:h.fullParams,fullChartParams:h.fullChartParams});f.next(v),a=Object.assign([],h.pieData),e.event$.next({type:"series",pluginName:t,eventName:"transitionEnd",event:void 0,highlightTarget:h.highlightTarget,data:h.computedData,series:[],seriesIndex:-1,seriesLabel:"",datum:null})})})}).pipe(nt(1));return G({pathSelection:d,SeriesDataMap:e.SeriesDataMap$,computedData:e.computedData$,highlightTarget:c}).pipe(w(n),O(async f=>f)).subscribe(f=>{f.pathSelection.on("mouseover",(h,p)=>{h.stopPropagation(),e.event$.next({type:"series",eventName:"mouseover",pluginName:t,highlightTarget:f.highlightTarget,datum:p.data,series:f.SeriesDataMap.get(p.data.seriesLabel),seriesIndex:p.data.seriesIndex,seriesLabel:p.data.seriesLabel,event:h,data:f.computedData})}).on("mousemove",(h,p)=>{h.stopPropagation(),e.event$.next({type:"series",eventName:"mousemove",pluginName:t,highlightTarget:f.highlightTarget,datum:p.data,series:f.SeriesDataMap.get(p.data.seriesLabel),seriesIndex:p.data.seriesIndex,seriesLabel:p.data.seriesLabel,event:h,data:f.computedData})}).on("mouseout",(h,p)=>{h.stopPropagation(),e.event$.next({type:"series",eventName:"mouseout",pluginName:t,highlightTarget:f.highlightTarget,datum:p.data,series:f.SeriesDataMap.get(p.data.seriesLabel),seriesIndex:p.data.seriesIndex,seriesLabel:p.data.seriesLabel,event:h,data:f.computedData})}).on("click",(h,p)=>{h.stopPropagation(),e.event$.next({type:"series",eventName:"click",pluginName:t,highlightTarget:f.highlightTarget,datum:p.data,series:f.SeriesDataMap.get(p.data.seriesLabel),seriesIndex:p.data.seriesIndex,seriesLabel:p.data.seriesLabel,event:h,data:f.computedData})})}),G({pathSelection:d,highlight:e.seriesHighlight$.pipe(L(f=>f.map(h=>h.id))),fullChartParams:e.fullChartParams$,arc:u,arcHighlight:s}).pipe(w(n),O(async f=>f)).subscribe(f=>{lQ({pathSelection:f.pathSelection,ids:f.highlight,fullChartParams:f.fullChartParams,arc:f.arc,arcHighlight:f.arcHighlight})}),()=>{n.next(void 0)}}const uQ=In(iQ)(({selection:t,name:e,subject:n,observer:r})=>{const a=new J,{seriesCenterSelection$:i}=Vi({selection:t,pluginName:o0,visibleComputedSortedData$:r.visibleComputedSortedData$,seriesContainerPosition$:r.seriesContainerPosition$}),o=[];return i.pipe(w(a)).subscribe(l=>{o.forEach(u=>u()),l.each((u,s,c)=>{const d=Y(c[s]),f=r.visibleComputedSortedData$.pipe(w(a),L(p=>p[s]??p[0])),h=r.seriesContainerPosition$.pipe(w(a),L(p=>p[s]??p[0]));o[s]=sQ(o0,{containerSelection:d,computedData$:r.computedData$,containerVisibleComputedSortedData$:f,SeriesDataMap$:r.SeriesDataMap$,fullParams$:r.fullParams$,fullChartParams$:r.fullChartParams$,seriesHighlight$:r.seriesHighlight$,seriesContainerPosition$:h,event$:n.event$})})}),()=>{a.next(void 0),o.forEach(l=>l())}}),Df="PieEventTexts",vP=W(Df,"text"),cQ={name:Df,defaultParams:n0,layerIndex:gf,validator:(t,{validateColumns:e})=>e(t,{renderFn:{toBeTypes:["Function"]},textAttrs:{toBeTypes:["object[]"]},textStyles:{toBeTypes:["object[]"]}})};function s0(t,e){const n=t.selectAll(`text.${vP}`).data(e),r=n.enter().append("text").classed(vP,!0),a=n.merge(r);return a.each((i,o,l)=>{const u=Y(l[o]).text(i.text);Object.keys(i.attr).forEach(s=>{u.attr(s,i.attr[s])}),Object.keys(i.style).forEach(s=>{u.style(s,i.style[s])})}),n.exit().remove(),a}function u0({eventData:t,renderFn:e,textAttrs:n,textStyles:r}){const a=e(t);return a===null?null:(Array.isArray(a)?a:[a]).map((i,o)=>({text:i,attr:n[o],style:r[o]}))}function fQ(t,e){const n=new J;let r;const a=e.fullChartParams$.pipe(w(n),L(o=>o.highlightTarget),H());let i=[];return e.seriesHighlight$.pipe(w(n)).subscribe(o=>i=o),G({computedData:e.computedData$,fullParams:e.fullParams$,fullChartParams:e.fullChartParams$,highlightTarget:a}).pipe(w(n),O(async o=>o)).subscribe(o=>{e.containerSelection.transition("move").duration(o.fullChartParams.transitionDuration).tween("move",(l,u)=>s=>{const c=u0({eventData:{type:"series",pluginName:t,eventName:"transitionMove",event:l,tween:s,highlightTarget:o.highlightTarget,data:o.computedData,series:i,seriesIndex:i[0]?i[0].seriesIndex:-1,seriesLabel:i[0]?i[0].seriesLabel:"",datum:i[0]||null},renderFn:o.fullParams.renderFn,textAttrs:o.fullParams.textAttrs,textStyles:o.fullParams.textStyles});c!=null&&s0(e.containerSelection,c)}).on("end",(l,u)=>{const s=u0({eventData:{type:"series",pluginName:t,eventName:"transitionEnd",event:l,tween:1,highlightTarget:o.highlightTarget,data:o.computedData,series:i,seriesIndex:i[0]?i[0].seriesIndex:-1,seriesLabel:i[0]?i[0].seriesLabel:"",datum:i[0]||null},renderFn:o.fullParams.renderFn,textAttrs:o.fullParams.textAttrs,textStyles:o.fullParams.textStyles});s!=null&&s0(e.containerSelection,s),r&&r.unsubscribe(),r=e.event$.subscribe(c=>{const d=u0({eventData:c,renderFn:o.fullParams.renderFn,textAttrs:o.fullParams.textAttrs,textStyles:o.fullParams.textStyles});d!=null&&s0(e.containerSelection,d)})})}),()=>{n.next(void 0)}}const dQ=In(cQ)(({selection:t,name:e,observer:n,subject:r})=>{const a=new J,{seriesCenterSelection$:i}=Vi({selection:t,pluginName:Df,visibleComputedSortedData$:n.visibleComputedSortedData$,seriesContainerPosition$:n.seriesContainerPosition$}),o=[];return i.pipe(w(a)).subscribe(l=>{o.forEach(u=>u()),l.each((u,s,c)=>{const d=Y(c[s]);n.computedSortedData$.pipe(w(a),L(f=>f[s]??f[0])),n.seriesContainerPosition$.pipe(w(a),L(f=>f[s]??f[0])),o[s]=fQ(Df,{containerSelection:d,computedData$:n.computedData$,SeriesDataMap$:n.SeriesDataMap$,fullParams$:n.fullParams$,fullChartParams$:n.fullChartParams$,seriesHighlight$:n.seriesHighlight$,event$:r.event$})})}),()=>{a.next(void 0),o.forEach(l=>l())}}),Yi="PieLabels",hQ=W(Yi,"label-g"),pQ=W(Yi,"line-g"),mQ=W(Yi,"text"),$P=2,gQ={name:Yi,defaultParams:r0,layerIndex:gf,validator:(t,{validateColumns:e})=>e(t,{outerRadius:{toBeTypes:["number"]},outerRadiusWhileHighlight:{toBeTypes:["number"]},startAngle:{toBeTypes:["number"]},endAngle:{toBeTypes:["number"]},labelCentroid:{toBeTypes:["number"]},labelFn:{toBeTypes:["Function"]},labelColorType:{toBeOption:"ColorType"}})};function yQ({pieData:t,arc:e,arcMouseover:n,labelCentroid:r,lineStartCentroid:a,fullParams:i}){return t.map((o,l)=>{const[u,s]=e.centroid(o),[c,d]=n.centroid(o),f=i.labelFn(o.data);return{pieDatum:o,arcIndex:l,arcLabels:f.split(`
391
- `),lineStartX:u*a,lineStartY:s*a,lineStartMouseoverX:c*a,lineStartMouseoverY:d*a,x:u*r,y:s*r,mouseoverX:c*r,mouseoverY:d*r,textWidth:0,collisionShiftX:0,collisionShiftY:0,quadrant:u>=0&&s<=0?1:u<0&&s<=0?2:u<0&&s>0?3:4}}).filter(o=>o.pieDatum.data.visible)}function bQ({labelGSelection:t,data:e,fullParams:n,fullChartParams:r,textSizePx:a}){const i=t.selectAll("text").data(e,o=>o.pieDatum.id).join("text").classed(mQ,!0).attr("font-weight","bold").attr("text-anchor",o=>o.quadrant==1||o.quadrant==4?"start":"end").style("dominant-baseline",o=>o.quadrant==1||o.quadrant==2?"auto":"hanging").style("cursor",o=>r.highlightTarget&&r.highlightTarget!="none"?"pointer":"none").attr("font-size",r.styles.textSize).attr("x",0).attr("y",0).attr("fill",(o,l)=>Pt({datum:o.pieDatum.data,colorType:n.labelColorType,fullChartParams:r})).each((o,l,u)=>{WA(Y(u[l]),{textArr:o.arcLabels,textSizePx:a,quadrant:o.quadrant})});return i.transition().attr("transform",o=>"translate("+o.x+","+o.y+")"),i}function xQ(t,e,n){const r=t.nodes(),a=n,i=r.map((o,l)=>{const u=o.getBBox(),s=[e[l].x,e[l].y];return{node:o,x:s[0],y:s[1],width:u.width,height:u.height}});for(let o=0;o<i.length;o++){const l=i[o];for(let u=o+1;u<i.length;u++){const s=i[u];e[o].textWidth=l.width;const c=l.x+e[o].collisionShiftX,d=l.y+e[o].collisionShiftY,f=s.x+e[u].collisionShiftX,h=s.y+e[u].collisionShiftY;if(!(c+l.width/2<f-s.width/2||c-l.width/2>f+s.width/2||d+l.height/2<h-s.height/2||d-l.height/2>h+s.height/2)){if(e[u].quadrant==2){const p=h>d?-a*2:-a;e[u].collisionShiftY+=p}else if(e[u].quadrant==4){const p=h>d?a:a*2;e[u].collisionShiftY+=p}}}}for(let o=i.length-1;o>=0;o--){const l=i[o];for(let u=o-1;u>=0;u--){const s=i[u];e[o].textWidth=l.width;const c=l.x+e[o].collisionShiftX,d=l.y+e[o].collisionShiftY,f=s.x+e[u].collisionShiftX,h=s.y+e[u].collisionShiftY;if(!(c+l.width/2<f-s.width/2||c-l.width/2>f+s.width/2||d+l.height/2<h-s.height/2||d-l.height/2>h+s.height/2)){if(e[u].quadrant==1){const p=h>d?-a*2:-a;e[u].collisionShiftY+=p}else if(e[u].quadrant==3){const p=h>d?a:a*2;e[u].collisionShiftY+=p}}}}t.data(e).transition().attr("transform",o=>`translate(${o.x+o.collisionShiftX},${o.y+o.collisionShiftY})`)}function vQ({lineGSelection:t,data:e,fullParams:n,fullChartParams:r}){const a=e.filter(o=>o.collisionShiftX||o.collisionShiftY),i=t.selectAll("polyline").data(a,o=>o.pieDatum.id).join("polyline").attr("stroke",o=>Pt({datum:o.pieDatum.data,colorType:n.labelColorType,fullChartParams:r})).attr("stroke-width",1).attr("fill","none").attr("points",o=>[[o.lineStartX,o.lineStartY],[o.lineStartX,o.lineStartY]]);return i.transition().attr("points",o=>{let l=o.x+o.collisionShiftX,u=o.y+o.collisionShiftY;return[[l,u],[o.lineStartX,o.lineStartY]]}),i}function $Q({textSelection:t,lineSelection:e,ids:n,fullChartParams:r}){if(t.interrupt("highlight"),e.interrupt("highlight"),!n.length){t.transition("highlight").duration(200).attr("transform",a=>`translate(${a.x+a.collisionShiftX},${a.y+a.collisionShiftY})`).style("opacity",1),e.transition("highlight").duration(200).style("opacity",1);return}t.each((a,i,o)=>{const l=Y(o[i]);n.includes(a.pieDatum.id)?l.style("opacity",1).transition("highlight").duration(200).attr("transform",u=>u.collisionShiftX||u.collisionShiftY?`translate(${u.x+u.collisionShiftX},${u.y+u.collisionShiftY})`:`translate(${u.mouseoverX+u.collisionShiftX},${u.mouseoverY+u.collisionShiftY})`):l.style("opacity",r.styles.unhighlightedOpacity).transition("highlight").duration(200).attr("transform",u=>`translate(${u.x+u.collisionShiftX},${u.y+u.collisionShiftY})`)}),e.each((a,i,o)=>{const l=Y(o[i]);n.includes(a.pieDatum.data.id)?l.style("opacity",1).transition("highlight").duration(200):l.style("opacity",r.styles.unhighlightedOpacity).transition("highlight").duration(200)})}function SQ(t,e){const n=new J;e.containerSelection.selectAll("g").remove();const r=e.containerSelection.append("g");r.classed(pQ,!0);const a=e.containerSelection.append("g");a.classed(hQ,!0);const i=new J,o=new J;let l=[];const u=e.seriesContainerPosition$.pipe(w(n),L(c=>c.width<c.height?c.width:c.height),H()),s=e.fullParams$.pipe(w(n),L(c=>c.labelCentroid>=$P?$P:c.labelCentroid));return G({shorterSideWith:u,containerVisibleComputedSortedData:e.containerVisibleComputedSortedData$,fullParams:e.fullParams$,fullChartParams:e.fullChartParams$,textSizePx:e.textSizePx$,lineStartCentroid:s}).pipe(w(n),O(async c=>c)).subscribe(c=>{const d=mf({axisWidth:c.shorterSideWith,innerRadius:0,outerRadius:c.fullParams.outerRadius,padAngle:0,cornerRadius:0}),f=mf({axisWidth:c.shorterSideWith,innerRadius:0,outerRadius:c.fullParams.outerRadiusWhileHighlight,padAngle:0,cornerRadius:0}),h=bP({data:c.containerVisibleComputedSortedData,startAngle:c.fullParams.startAngle,endAngle:c.fullParams.endAngle});l=yQ({pieData:h,arc:d,arcMouseover:f,labelCentroid:c.fullParams.labelCentroid,lineStartCentroid:c.lineStartCentroid,fullParams:c.fullParams}),r.selectAll("polyline").remove();const p=bQ({labelGSelection:a,data:l,fullParams:c.fullParams,fullChartParams:c.fullChartParams,textSizePx:c.textSizePx});setTimeout(()=>{xQ(p,l,c.textSizePx);const g=vQ({lineGSelection:r,data:l,fullParams:c.fullParams,fullChartParams:c.fullChartParams});o.next(g)},1e3),i.next(p)}),G({textSelection:i,lineSelection:o,highlight:e.seriesHighlight$.pipe(L(c=>c.map(d=>d.id))),fullChartParams:e.fullChartParams$}).pipe(w(n),O(async c=>c)).subscribe(c=>{$Q({textSelection:c.textSelection,lineSelection:c.lineSelection,ids:c.highlight,fullChartParams:c.fullChartParams})}),()=>{n.next(void 0)}}const DQ=In(gQ)(({selection:t,observer:e,subject:n})=>{const r=new J,{seriesCenterSelection$:a}=Vi({selection:t,pluginName:Yi,visibleComputedSortedData$:e.visibleComputedSortedData$,seriesContainerPosition$:e.seriesContainerPosition$}),i=[];return a.pipe(w(r)).subscribe(o=>{i.forEach(l=>l()),o.each((l,u,s)=>{const c=Y(s[u]),d=e.visibleComputedSortedData$.pipe(w(r),L(h=>h[u]??h[0])),f=e.seriesContainerPosition$.pipe(w(r),L(h=>h[u]??h[0]));i[u]=SQ(Yi,{containerSelection:c,containerVisibleComputedSortedData$:d,fullParams$:e.fullParams$,fullChartParams$:e.fullChartParams$,textSizePx$:e.textSizePx$,seriesHighlight$:e.seriesHighlight$,seriesContainerPosition$:f,event$:n.event$})})}),()=>{r.next(void 0)}}),c0="Rose",_Q=Math.PI*2,AQ={name:c0,defaultParams:sP,layerIndex:be,validator:(t,{validateColumns:e})=>e(t,{outerRadius:{toBeTypes:["number"]},padAngle:{toBeTypes:["number"]},strokeColorType:{toBeOption:"ColorType"},strokeWidth:{toBeTypes:["number"]},cornerRadius:{toBeTypes:["number"]},arcScaleType:{toBe:'"area" | "radius"',test:n=>n==="area"||n==="radius"},angleIncreaseWhileHighlight:{toBeTypes:["number"]}})};function CQ({cornerRadius:t,outerRadius:e,axisWidth:n,maxValue:r,arcScaleType:a,fullParams:i}){const o=n/2*e,l=a==="area"?.5:1,u=Xn().domain([0,r]).range([0,o]).exponent(l);return s=>{const c=u(s.prevValue),d=u(s.value),f=kn(c,d);return h=>{const p=f(h);return nf().innerRadius(0).outerRadius(p).padAngle(i.padAngle).padRadius(p).cornerRadius(t)(s)}}}function PQ({pathSelection:t,ids:e,fullParams:n,fullChartParams:r,tweenArc:a}){if(t.interrupt("highlight"),!e.length){t.transition("highlight").style("opacity",1).attr("d",i=>a(i)(1));return}t.each((i,o,l)=>{const u=Y(l[o]);e.includes(i.data.id)?u.style("opacity",1).transition("highlight").ease(ta).duration(500).attr("d",s=>a({...s,startAngle:s.startAngle-n.angleIncreaseWhileHighlight,endAngle:s.endAngle+n.angleIncreaseWhileHighlight})(1)):u.style("opacity",r.styles.unhighlightedOpacity).transition("highlight").attr("d",s=>a(s)(1))})}function FQ(t,e){const n=new J,r=W(t,"path");let a=[];const i=e.seriesContainerPosition$.pipe(w(n),L(h=>h.width<h.height?h.width:h.height),H()),o=G({containerVisibleComputedSortedData:e.containerVisibleComputedSortedData$,fullParams:e.fullParams$}).pipe(w(n),O(async h=>h),L(h=>{const p=_Q/h.containerVisibleComputedSortedData.length;return h.containerVisibleComputedSortedData.map((g,m)=>({id:g.id,data:g,index:m,value:g.value,startAngle:p*m,endAngle:p*(m+1),padAngle:h.fullParams.padAngle,prevValue:a[m]&&a[m].id===g.id?a[m].value:0}))})),l=e.fullChartParams$.pipe(w(n),L(h=>h.highlightTarget),H()),u=e.visibleComputedSortedData$.pipe(L(h=>Math.max(...h.flat().map(p=>p.value))),H()),s=G({fullParams:e.fullParams$,axisWidth:i,maxValue:u}).pipe(w(n),O(async h=>h),L(h=>CQ({cornerRadius:h.fullParams.cornerRadius,outerRadius:h.fullParams.outerRadius,axisWidth:h.axisWidth,maxValue:h.maxValue,arcScaleType:h.fullParams.arcScaleType,fullParams:h.fullParams}))),c=e.fullChartParams$.pipe(w(n),L(h=>h.transitionDuration),H()),d=new Fd(!1),f=new bt(h=>{G({pieData:o,tweenArc:s,transitionDuration:c,fullParams:e.fullParams$,fullChartParams:e.fullChartParams$}).pipe(w(n),O(async p=>p)).subscribe(p=>{const g=p.pieData.map((b,y)=>(b.prevValue=a[y]&&a[y].id===b.id?a[y].value:0,b));d.next(!0);const m=e.containerSelection.selectAll("path").data(g,b=>b.id).join("path").classed(r,!0).style("cursor","pointer").attr("fill",(b,y)=>b.data.color).attr("stroke",(b,y)=>Pt({datum:b.data,colorType:p.fullParams.strokeColorType,fullChartParams:p.fullChartParams})).attr("stroke-width",p.fullParams.strokeWidth);m.interrupt("graphicMove"),m.transition("graphicMove").duration(p.transitionDuration).attrTween("d",p.tweenArc).on("end",()=>{h.next(m),d.next(!1)}),a=Object.assign([],g)})}).pipe(nt(1));return G({pathSelection:f,SeriesDataMap:e.SeriesDataMap$,computedData:e.computedData$,highlightTarget:l}).pipe(w(n),O(async h=>h)).subscribe(h=>{h.pathSelection.on("mouseover",(p,g)=>{p.stopPropagation(),e.event$.next({type:"series",eventName:"mouseover",pluginName:t,highlightTarget:h.highlightTarget,datum:g.data,series:h.SeriesDataMap.get(g.data.seriesLabel),seriesIndex:g.data.seriesIndex,seriesLabel:g.data.seriesLabel,event:p,data:h.computedData})}).on("mousemove",(p,g)=>{p.stopPropagation(),e.event$.next({type:"series",eventName:"mousemove",pluginName:t,highlightTarget:h.highlightTarget,datum:g.data,series:h.SeriesDataMap.get(g.data.seriesLabel),seriesIndex:g.data.seriesIndex,seriesLabel:g.data.seriesLabel,event:p,data:h.computedData})}).on("mouseout",(p,g)=>{p.stopPropagation(),e.event$.next({type:"series",eventName:"mouseout",pluginName:t,highlightTarget:h.highlightTarget,datum:g.data,series:h.SeriesDataMap.get(g.data.seriesLabel),seriesIndex:g.data.seriesIndex,seriesLabel:g.data.seriesLabel,event:p,data:h.computedData})}).on("click",(p,g)=>{p.stopPropagation(),e.event$.next({type:"series",eventName:"click",pluginName:t,highlightTarget:h.highlightTarget,datum:g.data,series:h.SeriesDataMap.get(g.data.seriesLabel),seriesIndex:g.data.seriesIndex,seriesLabel:g.data.seriesLabel,event:p,data:h.computedData})})}),G({pathSelection:f,highlight:e.seriesHighlight$.pipe(L(h=>h.map(p=>p.id))),fullParams:e.fullParams$,fullChartParams:e.fullChartParams$,tweenArc:s,isTransitionMoving:d}).pipe(w(n),O(async h=>h),Ir(h=>!h.isTransitionMoving)).subscribe(h=>{PQ({pathSelection:h.pathSelection,ids:h.highlight,fullParams:h.fullParams,fullChartParams:h.fullChartParams,tweenArc:h.tweenArc})}),()=>{n.next(void 0)}}const TQ=In(AQ)(({selection:t,name:e,subject:n,observer:r})=>{const a=new J,{seriesCenterSelection$:i}=Vi({selection:t,pluginName:c0,visibleComputedSortedData$:r.visibleComputedSortedData$,seriesContainerPosition$:r.seriesContainerPosition$}),o=[];return i.pipe(w(a)).subscribe(l=>{o.forEach(u=>u()),l.each((u,s,c)=>{const d=Y(c[s]),f=r.visibleComputedSortedData$.pipe(w(a),L(p=>JSON.parse(JSON.stringify(p[s]??p[0])))),h=r.seriesContainerPosition$.pipe(w(a),L(p=>JSON.parse(JSON.stringify(p[s]??p[0]))));o[s]=FQ(c0,{containerSelection:d,computedData$:r.computedData$,visibleComputedSortedData$:r.visibleComputedSortedData$,containerVisibleComputedSortedData$:f,SeriesDataMap$:r.SeriesDataMap$,fullParams$:r.fullParams$,fullChartParams$:r.fullChartParams$,seriesHighlight$:r.seriesHighlight$,seriesContainerPosition$:h,event$:n.event$})})}),()=>{a.next(void 0),o.forEach(l=>l())}}),Hi="RoseLabels",wQ=W(Hi,"label-g"),BQ=W(Hi,"line-g"),EQ=W(Hi,"text"),SP=2,LQ={name:Hi,defaultParams:a0,layerIndex:gf,validator:(t,{validateColumns:e})=>e(t,{outerRadius:{toBeTypes:["number"]},labelCentroid:{toBeTypes:["number"]},labelFn:{toBeTypes:["Function"]},labelColorType:{toBeOption:"ColorType"},arcScaleType:{toBe:'"area" | "radius"',test:n=>n==="area"||n==="radius"}})};function MQ({pieData:t,labelCentroid:e,arcScaleType:n,maxValue:r,axisWidth:a,outerRadius:i,lineStartCentroid:o,fullParams:l}){const u=a/2*i,s=n==="area"?.5:1,c=Xn().domain([0,r]).range([0,u]).exponent(s);return t.map((d,f)=>{const h=c(d.value),p=nf().innerRadius(0).outerRadius(h).padAngle(0).padRadius(h).cornerRadius(0),[g,m]=p.centroid(d),[b,y]=[g,m],x=l.labelFn(d.data);return{pieDatum:d,arcIndex:f,arcLabels:x.split(`
392
- `),lineStartX:g*o,lineStartY:m*o,lineStartMouseoverX:b*o,lineStartMouseoverY:y*o,x:g*e,y:m*e,mouseoverX:b*e,mouseoverY:y*e,textWidth:0,collisionShiftX:0,collisionShiftY:0,quadrant:g>=0&&m<=0?1:g<0&&m<=0?2:g<0&&m>0?3:4}}).filter(d=>d.pieDatum.data.visible)}function RQ({labelGSelection:t,data:e,fullParams:n,fullChartParams:r,textSizePx:a}){const i=t.selectAll("text").data(e,o=>o.pieDatum.id).join("text").classed(EQ,!0).attr("font-weight","bold").attr("text-anchor",o=>o.quadrant==1||o.quadrant==4?"start":"end").style("dominant-baseline",o=>o.quadrant==1||o.quadrant==2?"auto":"hanging").style("cursor",o=>r.highlightTarget&&r.highlightTarget!="none"?"pointer":"none").attr("font-size",r.styles.textSize).attr("fill",(o,l)=>Pt({datum:o.pieDatum.data,colorType:n.labelColorType,fullChartParams:r})).each((o,l,u)=>{WA(Y(u[l]),{textArr:o.arcLabels,textSizePx:a,quadrant:o.quadrant})});return i.transition().attr("transform",o=>"translate("+o.x+","+o.y+")"),i}function IQ(t,e,n){const r=t.nodes(),a=n,i=r.map((o,l)=>{const u=o.getBBox(),s=[e[l].x,e[l].y];return{node:o,x:s[0],y:s[1],width:u.width,height:u.height}});for(let o=0;o<i.length;o++){const l=i[o];for(let u=o+1;u<i.length;u++){const s=i[u];e[o].textWidth=l.width;const c=l.x+e[o].collisionShiftX,d=l.y+e[o].collisionShiftY,f=s.x+e[u].collisionShiftX,h=s.y+e[u].collisionShiftY;if(!(c+l.width/2<f-s.width/2||c-l.width/2>f+s.width/2||d+l.height/2<h-s.height/2||d-l.height/2>h+s.height/2)){if(e[u].quadrant==2){const p=h>d?-a*2:-a;e[u].collisionShiftY+=p}else if(e[u].quadrant==4){const p=h>d?a:a*2;e[u].collisionShiftY+=p}}}}for(let o=i.length-1;o>=0;o--){const l=i[o];for(let u=o-1;u>=0;u--){const s=i[u];e[o].textWidth=l.width;const c=l.x+e[o].collisionShiftX,d=l.y+e[o].collisionShiftY,f=s.x+e[u].collisionShiftX,h=s.y+e[u].collisionShiftY;if(!(c+l.width/2<f-s.width/2||c-l.width/2>f+s.width/2||d+l.height/2<h-s.height/2||d-l.height/2>h+s.height/2)){if(e[u].quadrant==1){const p=h>d?-a*2:-a;e[u].collisionShiftY+=p}else if(e[u].quadrant==3){const p=h>d?a:a*2;e[u].collisionShiftY+=p}}}}t.data(e).transition().attr("transform",o=>`translate(${o.x+o.collisionShiftX},${o.y+o.collisionShiftY})`)}function kQ({lineGSelection:t,data:e,fullParams:n,fullChartParams:r}){const a=e.filter(o=>o.collisionShiftX||o.collisionShiftY),i=t.selectAll("polyline").data(a,o=>o.pieDatum.id).join("polyline").attr("stroke",o=>Pt({datum:o.pieDatum.data,colorType:n.labelColorType,fullChartParams:r})).attr("stroke-width",1).attr("fill","none").attr("points",o=>[[o.lineStartX,o.lineStartY],[o.lineStartX,o.lineStartY]]);return i.transition().attr("points",o=>{let l=o.x+o.collisionShiftX,u=o.y+o.collisionShiftY;return[[l,u],[o.lineStartX,o.lineStartY]]}),i}function NQ({textSelection:t,lineSelection:e,ids:n,fullChartParams:r}){if(t.interrupt("highlight"),e.interrupt("highlight"),!n.length){t.transition("highlight").duration(200).attr("transform",a=>`translate(${a.x+a.collisionShiftX},${a.y+a.collisionShiftY})`).style("opacity",1),e.transition("highlight").duration(200).style("opacity",1);return}t.each((a,i,o)=>{const l=Y(o[i]);n.includes(a.pieDatum.data.id)?l.style("opacity",1).transition("highlight").duration(200).attr("transform",u=>`translate(${u.mouseoverX+u.collisionShiftX},${u.mouseoverY+u.collisionShiftY})`):l.style("opacity",r.styles.unhighlightedOpacity).transition("highlight").duration(200).attr("transform",u=>`translate(${u.x+u.collisionShiftX},${u.y+u.collisionShiftY})`)}),e.each((a,i,o)=>{const l=Y(o[i]);n.includes(a.pieDatum.data.id)?l.style("opacity",1).transition("highlight").duration(200):l.style("opacity",r.styles.unhighlightedOpacity).transition("highlight").duration(200)})}function zQ(t,e){const n=new J;e.containerSelection.selectAll("g").remove();const r=e.containerSelection.append("g");r.classed(BQ,!0);const a=e.containerSelection.append("g");a.classed(wQ,!0);const i=new J,o=new J;let l=[];const u=e.seriesContainerPosition$.pipe(w(n),L(d=>d.width<d.height?d.width:d.height),H()),s=e.visibleComputedSortedData$.pipe(L(d=>Math.max(...d.flat().map(f=>f.value))),H()),c=e.fullParams$.pipe(w(n),L(d=>d.labelCentroid>=SP?SP:d.labelCentroid));return G({shorterSideWith:u,containerVisibleComputedSortedData:e.containerVisibleComputedSortedData$,maxValue:s,fullParams:e.fullParams$,fullChartParams:e.fullChartParams$,textSizePx:e.textSizePx$,lineStartCentroid:c}).pipe(w(n),O(async d=>d)).subscribe(d=>{const f=Math.PI*2/d.containerVisibleComputedSortedData.length,h=d.containerVisibleComputedSortedData.map((g,m)=>({id:g.id,data:g,index:m,value:g.value,startAngle:f*m,endAngle:f*(m+1),padAngle:0}));l=MQ({pieData:h,labelCentroid:d.fullParams.labelCentroid,arcScaleType:d.fullParams.arcScaleType,maxValue:d.maxValue,axisWidth:d.shorterSideWith,outerRadius:d.fullParams.outerRadius,lineStartCentroid:d.lineStartCentroid,fullParams:d.fullParams}),r.selectAll("polyline").remove();const p=RQ({labelGSelection:a,data:l,fullParams:d.fullParams,fullChartParams:d.fullChartParams,textSizePx:d.textSizePx});setTimeout(()=>{IQ(p,l,d.textSizePx);const g=kQ({lineGSelection:r,data:l,fullParams:d.fullParams,fullChartParams:d.fullChartParams});o.next(g)},1e3),i.next(p)}),G({textSelection:i,lineSelection:o,highlight:e.seriesHighlight$.pipe(L(d=>d.map(f=>f.id))),fullChartParams:e.fullChartParams$}).pipe(w(n),O(async d=>d)).subscribe(d=>{NQ({textSelection:d.textSelection,lineSelection:d.lineSelection,ids:d.highlight,fullChartParams:d.fullChartParams})}),()=>{n.next(void 0)}}const OQ=In(LQ)(({selection:t,observer:e,subject:n})=>{const r=new J,{seriesCenterSelection$:a}=Vi({selection:t,pluginName:Hi,visibleComputedSortedData$:e.visibleComputedSortedData$,seriesContainerPosition$:e.seriesContainerPosition$}),i=[];return a.pipe(w(r)).subscribe(o=>{i.forEach(l=>l()),o.each((l,u,s)=>{const c=Y(s[u]),d=e.visibleComputedSortedData$.pipe(w(r),L(h=>JSON.parse(JSON.stringify(h[u]??h[0])))),f=e.seriesContainerPosition$.pipe(w(r),L(h=>JSON.parse(JSON.stringify(h[u]??h[0]))));i[u]=zQ(Hi,{containerSelection:c,visibleComputedSortedData$:e.visibleComputedSortedData$,containerVisibleComputedSortedData$:d,fullParams$:e.fullParams$,fullChartParams$:e.fullChartParams$,textSizePx$:e.textSizePx$,seriesHighlight$:e.seriesHighlight$,seriesContainerPosition$:f,event$:n.event$})})}),()=>{r.next(void 0)}}),DP="SeriesLegend",GQ={name:DP,defaultParams:uP,layerIndex:Mi,validator:(t,{validateColumns:e})=>e(t,{placement:{toBe:'"top" | "top-start" | "top-end" | "bottom" | "bottom-start" | "bottom-end" | "left" | "left-start" | "left-end" | "right" | "right-start" | "right-end"',test:n=>["top","top-start","top-end","bottom","bottom-start","bottom-end","left","left-start","left-end","right","right-start","right-end"].includes(n)},padding:{toBeTypes:["number"]},backgroundFill:{toBeOption:"ColorType"},backgroundStroke:{toBeOption:"ColorType"},gap:{toBeTypes:["number"]},listRectWidth:{toBeTypes:["number"]},listRectHeight:{toBeTypes:["number"]},listRectRadius:{toBeTypes:["number"]},textColorType:{toBeOption:"ColorType"}})},jQ=In(GQ)(({selection:t,rootSelection:e,observer:n,subject:r})=>{const a=new J,i=n.SeriesDataMap$.pipe(w(a),L(u=>Array.from(u.keys()))),o=n.fullParams$.pipe(w(a),L(u=>{const s=[{listRectWidth:u.listRectWidth,listRectHeight:u.listRectHeight,listRectRadius:u.listRectRadius}];return{...u,labelList:s}})),l=Ii(DP,{rootSelection:e,legendLabels$:i,fullParams$:o,layout$:n.layout$,fullChartParams$:n.fullChartParams$,textSizePx$:n.textSizePx$});return()=>{a.next(void 0),l()}}),_P="SeriesTooltip",VQ={name:_P,defaultParams:i0,layerIndex:Ri,validator:(t,{validateColumns:e})=>e(t,{backgroundColorType:{toBeOption:"ColorType"},backgroundOpacity:{toBeTypes:["number"]},strokeColorType:{toBeOption:"ColorType"},offset:{toBe:"[number, number]",test:n=>Array.isArray(n)&&n.length===2&&typeof n[0]=="number"&&typeof n[1]=="number"},padding:{toBeTypes:["number"]},textColorType:{toBeOption:"ColorType"},renderFn:{toBeTypes:["Function"]}})},YQ=In(VQ)(({selection:t,rootSelection:e,name:n,subject:r,observer:a})=>{const i=new J,o=Ni(_P,{rootSelection:e,fullParams$:a.fullParams$,fullChartParams$:a.fullChartParams$,layout$:a.layout$,event$:r.event$});return()=>{i.next(void 0),o()}}),f0={paddingInner:2,paddingOuter:2,labelColorType:"labelContrast",squarifyRatio:1.618034,sort:(t,e)=>e.value-t.value};f0.sort.toString=()=>"(a, b) => b.value - a.value";const AP={placement:"right-end",padding:28,backgroundFill:"none",backgroundStroke:"none",gap:10,listRectWidth:14,listRectHeight:14,listRectRadius:0,textColorType:"primary"},d0={backgroundColorType:"background",strokeColorType:"primary",backgroundOpacity:.8,textColorType:"primary",offset:[20,5],padding:10,renderFn:(t,{styles:e,utils:n})=>{const r=!!t.categoryLabel,a=!!t.datum.label,i=n.toCurrency(t.datum.value),o=e.textSizePx*.7,l=e.textSizePx/2-o/2,u=r?`<rect width="${o}" height="${o}" x="${l}" y="${l-1}" rx="${o/2}" fill="${t.datum.color}"></rect>
393
- <text x="${e.textSizePx*1.5}" font-size="${e.textSizePx}" dominant-baseline="hanging" fill="${e.textColor}">
394
- <tspan>${t.categoryLabel}</tspan>
395
- </text>`:"",s=a?`<tspan>${t.datum.label}</tspan> `:"",c=r?n.measureTextWidth(`${t.categoryLabel}${i}`,e.textSizePx)+e.textSizePx*1.5:0,d=a?n.measureTextWidth(`${t.datum.label}${i}`,e.textSizePx):0,f=Math.max(c,d),h=a?f+e.textSizePx*.5:0,p=a?"end":"start",g=`<text font-size="${e.textSizePx}" dominant-baseline="hanging" fill="${e.textColor}">
396
- ${s}<tspan font-weight="bold" text-anchor="${p}" x="${h}">${i}</tspan>
397
- </text>`;return`${u}
398
- <g ${r?`transform="translate(0, ${e.textSizePx*2})"`:""}>
399
- ${g}
400
- </g>`}};d0.renderFn.toString=()=>`(eventData, { styles, utils }) => {
401
- const hasCategoryLabel = eventData.categoryLabel ? true : false
402
- const hasDatumLabel = eventData.datum.label ? true : false
403
- const valueText = utils.toCurrency(eventData.datum.value)
404
- const bulletWidth = styles.textSizePx * 0.7
405
- const offset = (styles.textSizePx / 2) - (bulletWidth / 2)
406
- const categorySvg = hasCategoryLabel
407
- ? \`<rect width="\${bulletWidth}" height="\${bulletWidth}" x="\${offset}" y="\${offset - 1}" rx="\${bulletWidth / 2}" fill="\${eventData.datum.color}"></rect>
277
+ }
278
+ function renderTreeData () {
279
+ const hasCategoryLabel = eventData.target.category ? true : false
280
+ const hasDatumLabel = eventData.target.name ? true : false
281
+ const valueText = utils.toCurrency(eventData.target.value)
282
+ const bulletWidth = styles.textSizePx * 0.7
283
+ const offset = (styles.textSizePx / 2) - (bulletWidth / 2)
284
+ const categorySvg = hasCategoryLabel
285
+ ? \`<rect width="\${bulletWidth}" height="\${bulletWidth}" x="\${offset}" y="\${offset - 1}" rx="\${bulletWidth / 2}" fill="\${eventData.target.color}"></rect>
408
286
  <text x="\${styles.textSizePx * 1.5}" font-size="\${styles.textSizePx}" dominant-baseline="hanging" fill="\${styles.textColor}">
409
- <tspan>\${eventData.categoryLabel}</tspan>
287
+ <tspan>\${eventData.target.category}</tspan>
410
288
  </text>\`
411
- : ''
412
- const datumLabelSvg = hasDatumLabel
413
- ? \`<tspan>\${eventData.datum.label}</tspan> \`
414
- : ''
415
- const categoryLabelTextWidth = hasCategoryLabel
416
- ? utils.measureTextWidth(\`\${eventData.categoryLabel}\${valueText}\`, styles.textSizePx) + styles.textSizePx * 1.5
417
- : 0
418
- const datumLabelTextWidth = hasDatumLabel
419
- ? utils.measureTextWidth(\`\${eventData.datum.label}\${valueText}\`, styles.textSizePx)
420
- : 0
421
- const maxTextWidth = Math.max(categoryLabelTextWidth, datumLabelTextWidth)
422
- const lineEndX = hasDatumLabel
423
- ? maxTextWidth + styles.textSizePx * 0.5
424
- : 0
425
- const valueTextAnchor = hasDatumLabel ? 'end' : 'start'
426
- const datumSvg = \`<text font-size="\${styles.textSizePx}" dominant-baseline="hanging" fill="\${styles.textColor}">
289
+ : ''
290
+ const datumLabelSvg = hasDatumLabel
291
+ ? \`<tspan>\${eventData.target.name}</tspan> \`
292
+ : ''
293
+ const categoryLabelTextWidth = hasCategoryLabel
294
+ ? utils.measureTextWidth(\`\${eventData.target.category}\${valueText}\`, styles.textSizePx) + styles.textSizePx * 1.5
295
+ : 0
296
+ const datumLabelTextWidth = hasDatumLabel
297
+ ? utils.measureTextWidth(\`\${eventData.target.name}\${valueText}\`, styles.textSizePx)
298
+ : 0
299
+ const maxTextWidth = Math.max(categoryLabelTextWidth, datumLabelTextWidth)
300
+ const lineEndX = hasDatumLabel
301
+ ? maxTextWidth + styles.textSizePx * 0.5
302
+ : 0
303
+ const valueTextAnchor = hasDatumLabel ? 'end' : 'start'
304
+ const datumSvg = \`<text font-size="\${styles.textSizePx}" dominant-baseline="hanging" fill="\${styles.textColor}">
427
305
  \${datumLabelSvg}<tspan font-weight="bold" text-anchor="\${valueTextAnchor}" x="\${lineEndX}">\${valueText}</tspan>
428
306
  </text>\`
429
307
 
430
- return \`\${categorySvg}
308
+ return \`\${categorySvg}
431
309
  <g \${hasCategoryLabel ? \`transform="translate(0, \${styles.textSizePx * 2})"\` : ''}>
432
310
  \${datumSvg}
433
311
  </g>\`
434
- }`;const CP="TreeLegend",HQ={name:CP,defaultParams:AP,layerIndex:Mi,validator:(t,{validateColumns:e})=>e(t,{placement:{toBe:'"top" | "top-start" | "top-end" | "bottom" | "bottom-start" | "bottom-end" | "left" | "left-start" | "left-end" | "right" | "right-start" | "right-end"',test:n=>["top","top-start","top-end","bottom","bottom-start","bottom-end","left","left-start","left-end","right","right-start","right-end"].includes(n)},padding:{toBeTypes:["number"]},backgroundFill:{toBeOption:"ColorType"},backgroundStroke:{toBeOption:"ColorType"},gap:{toBeTypes:["number"]},listRectWidth:{toBeTypes:["number"]},listRectHeight:{toBeTypes:["number"]},listRectRadius:{toBeTypes:["number"]},textColorType:{toBeOption:"ColorType"}})},WQ=mh(HQ)(({selection:t,rootSelection:e,observer:n,subject:r})=>{const a=new J,i=n.fullParams$.pipe(w(a),L(l=>{const u=[{listRectWidth:l.listRectWidth,listRectHeight:l.listRectHeight,listRectRadius:l.listRectRadius}];return{...l,labelList:u}})),o=Ii(CP,{rootSelection:e,legendLabels$:n.categoryLabels$,fullParams$:i,layout$:n.layout$,fullChartParams$:n.fullChartParams$,textSizePx$:n.textSizePx$});return()=>{a.next(void 0),o()}}),$a="TreeMap",PP=W($a,"tree"),FP=W($a,"tile"),XQ={name:$a,defaultParams:f0,layerIndex:be,validator:(t,{validateColumns:e})=>e(t,{paddingInner:{toBeTypes:["number"]},paddingOuter:{toBeTypes:["number"]},labelColorType:{toBeOption:"ColorType"},squarifyRatio:{toBeTypes:["number"]},sort:{toBeTypes:["Function"]}})};function UQ({selection:t,treeData:e,fullParams:n,fullChartParams:r,textSizePx:a}){const i=a/2,o=a,l=t.selectAll(`g.${PP}`).data(e,u=>u.data.id).join("g").attr("class",PP);return l.attr("transform",u=>!u.x0||!u.y0?null:`translate(${u.x0},${u.y0})`).each((u,s,c)=>{const d=Y(c[s]);d.selectAll(`rect.${FP}`).data([u],f=>f.data.id).join("rect").attr("id",f=>f.data.id).attr("class",FP).attr("cursor","pointer").attr("width",f=>f.x1-f.x0).attr("height",f=>f.y1-f.y0).attr("fill",f=>f.data.color).attr("data-name",f=>f.data.label).attr("data-category",f=>f.data.categoryLabel).attr("data-value",f=>f.data.value),d.selectAll("g").data([u]).join("g").each((f,h,p)=>{Y(p[h]).selectAll("text").data([f]).join("text").text(g=>g.data.label).attr("dominant-baseline","hanging").attr("x",i).attr("y",i).attr("font-size",r.styles.textSize).each(function(g){const m=Y(this),b=g.data.label.split(/\s+/).reverse();let y,x=[];const v=m.attr("x");let _=m.attr("y"),D=0,C=m.text(null).append("tspan").attr("cursor","pointer").attr("fill",Pt({colorType:n.labelColorType,datum:g.data,fullChartParams:r})).attr("font-size",r.styles.textSize).attr("x",v).attr("y",_);for(;y=b.pop();)x.push(y),C.text(x.join(" ")),C.node().getComputedTextLength()>g.x1-g.x0-i&&(x.pop(),C.text(x.join(" ")),x=[y],D+=o,C=m.append("tspan").attr("cursor","pointer").attr("fill",Pt({colorType:n.labelColorType,datum:g.data,fullChartParams:r})).attr("font-size",r.styles.textSize).attr("x",v).attr("y",_).attr("dy",D+"px").text(y))})})}),l}function qQ({selection:t,ids:e,fullChartParams:n}){if(t.interrupt("highlight"),!e.length){t.transition("highlight").duration(200).style("opacity",1);return}t.each((r,a,i)=>{e.includes(r.data.id)?Y(i[a]).style("opacity",1):Y(i[a]).style("opacity",n.styles.unhighlightedOpacity)})}const ZQ=mh(XQ)(({selection:t,name:e,subject:n,observer:r})=>{const a=new J,i=G({layout:r.layout$,visibleComputedData:r.visibleComputedData$,fullParams:r.fullParams$,fullDataFormatter:r.fullDataFormatter$,fullChartParams:r.fullChartParams$}).pipe(w(a),O(async u=>u),L(u=>{const s=WS().size([u.layout.width,u.layout.height]).paddingInner(u.fullParams.paddingInner).paddingOuter(u.fullParams.paddingOuter).round(!0).tile(Mm.ratio(u.fullParams.squarifyRatio)),c=Mc(u.visibleComputedData).sum(d=>d.value).sort(u.fullParams.sort);return s(c),c.leaves()})),o=G({selection:Oe(t),treeData:i,fullParams:r.fullParams$,fullChartParams:r.fullChartParams$,textSizePx:r.textSizePx$}).pipe(w(a),O(async u=>u),L(u=>UQ({selection:t,treeData:u.treeData,fullParams:u.fullParams,fullChartParams:u.fullChartParams,textSizePx:u.textSizePx}))),l=r.fullChartParams$.pipe(w(a),L(u=>u.highlightTarget),H());return G({cellSelection:o,computedData:r.computedData$,treeData:i,fullParams:r.fullParams$,fullChartParams:r.fullChartParams$,highlightTarget:l,CategoryDataMap:r.CategoryDataMap$}).pipe(w(a),O(async u=>u)).subscribe(u=>{u.cellSelection.on("mouseover",(s,c)=>{s.stopPropagation(),n.event$.next({type:"tree",eventName:"mouseover",pluginName:$a,highlightTarget:u.highlightTarget,datum:c.data,category:u.CategoryDataMap.get(c.data.categoryLabel),categoryIndex:c.data.categoryIndex,categoryLabel:c.data.categoryLabel,event:s,data:u.computedData})}).on("mousemove",(s,c)=>{s.stopPropagation(),n.event$.next({type:"tree",eventName:"mousemove",pluginName:$a,highlightTarget:u.highlightTarget,datum:c.data,category:u.CategoryDataMap.get(c.data.categoryLabel),categoryIndex:c.data.categoryIndex,categoryLabel:c.data.categoryLabel,event:s,data:u.computedData})}).on("mouseout",(s,c)=>{s.stopPropagation(),n.event$.next({type:"tree",eventName:"mouseout",pluginName:$a,highlightTarget:u.highlightTarget,datum:c.data,category:u.CategoryDataMap.get(c.data.categoryLabel),categoryIndex:c.data.categoryIndex,categoryLabel:c.data.categoryLabel,event:s,data:u.computedData})}).on("click",(s,c)=>{s.stopPropagation(),n.event$.next({type:"tree",eventName:"click",pluginName:$a,highlightTarget:u.highlightTarget,datum:c.data,category:u.CategoryDataMap.get(c.data.categoryLabel),categoryIndex:c.data.categoryIndex,categoryLabel:c.data.categoryLabel,event:s,data:u.computedData})})}),G({cellSelection:o,highlight:r.treeHighlight$.pipe(L(u=>u.map(s=>s.id))),fullChartParams:r.fullChartParams$}).pipe(w(a),O(async u=>u)).subscribe(u=>{qQ({selection:u.cellSelection,ids:u.highlight,fullChartParams:u.fullChartParams})}),()=>{a.next(void 0)}}),TP="TreeTooltip",JQ={name:TP,defaultParams:d0,layerIndex:Ri,validator:(t,{validateColumns:e})=>e(t,{backgroundColorType:{toBeOption:"ColorType"},backgroundOpacity:{toBeTypes:["number"]},strokeColorType:{toBeOption:"ColorType"},offset:{toBe:"[number, number]",test:n=>Array.isArray(n)&&n.length===2&&typeof n[0]=="number"&&typeof n[1]=="number"},padding:{toBeTypes:["number"]},textColorType:{toBeOption:"ColorType"},renderFn:{toBeTypes:["Function"]}})},KQ=mh(JQ)(({selection:t,rootSelection:e,name:n,subject:r,observer:a})=>{const i=new J,o=Ni(TP,{rootSelection:e,fullParams$:a.fullParams$,fullChartParams$:a.fullChartParams$,layout$:a.layout$,event$:r.event$});return()=>{i.next(void 0),o()}}),QQ={name:"PRESET_BUBBLES_BASIC",description:"Basic bubble chart",descriptionZh:"基本泡泡圖",chartParams:{colors:{light:{label:["#0088FF","#FF3232","#38BEA8","#6F3BD5","#314285","#42C724","#D52580","#F4721B","#D117EA","#7E7D7D"]},dark:{label:["#4BABFF","#FF6C6C","#7DD3C4","#8E6BC9","#5366AC","#86DC72","#FF72BB","#F9B052","#EF76FF","#C4C4C4"]}}},pluginParams:{SeriesLegend:{listRectRadius:7}}},ttt={name:"PRESET_BUBBLES_SCALING_BY_RADIUS",description:"Bubble chart scaled by radius size",descriptionZh:"以半徑尺寸為比例的泡泡圖",chartParams:{colors:{light:{label:["#0088FF","#FF3232","#38BEA8","#6F3BD5","#314285","#42C724","#D52580","#F4721B","#D117EA","#7E7D7D"]},dark:{label:["#4BABFF","#FF6C6C","#7DD3C4","#8E6BC9","#5366AC","#86DC72","#FF72BB","#F9B052","#EF76FF","#C4C4C4"]}}},pluginParams:{Bubbles:{arcScaleType:"radius"},SeriesLegend:{listRectRadius:7}}},ett={name:"PRESET_BUBBLES_SEPARATE_SERIES",description:"Bubble chart showing series separately",descriptionZh:"分開顯示Series的泡泡圖",chartParams:{colors:{light:{label:["#0088FF","#FF3232","#38BEA8","#6F3BD5","#314285","#42C724","#D52580","#F4721B","#D117EA","#7E7D7D"]},dark:{label:["#4BABFF","#FF6C6C","#7DD3C4","#8E6BC9","#5366AC","#86DC72","#FF72BB","#F9B052","#EF76FF","#C4C4C4"]}},padding:{top:100,right:140,bottom:100,left:140}},dataFormatter:{separateSeries:!0,container:{columnGap:0,rowGap:0}},pluginParams:{Bubbles:{force:{strength:.1}},SeriesLegend:{listRectRadius:7},SeriesTooltip:{}}},ntt={name:"PRESET_BUBBLES_SEPARATE_LABEL",description:"Bubble chart showing label separately",descriptionZh:"分開顯示Label的泡泡圖",chartParams:{colors:{light:{label:["#0088FF","#FF3232","#38BEA8","#6F3BD5","#314285","#42C724","#D52580","#F4721B","#D117EA","#7E7D7D"]},dark:{label:["#4BABFF","#FF6C6C","#7DD3C4","#8E6BC9","#5366AC","#86DC72","#FF72BB","#F9B052","#EF76FF","#C4C4C4"]}},padding:{top:100,right:140,bottom:100,left:140}},dataFormatter:{separateLabel:!0,container:{columnGap:0,rowGap:0}},pluginParams:{Bubbles:{force:{strength:.1}},SeriesLegend:{listRectRadius:7},SeriesTooltip:{}}},rtt={name:"PRESET_BUBBLES_SEPARATE_ALL",description:"Bubble chart showing all data separately",descriptionZh:"全部資料分開顯示的泡泡圖",chartParams:{colors:{light:{label:["#0088FF","#FF3232","#38BEA8","#6F3BD5","#314285","#42C724","#D52580","#F4721B","#D117EA","#7E7D7D"]},dark:{label:["#4BABFF","#FF6C6C","#7DD3C4","#8E6BC9","#5366AC","#86DC72","#FF72BB","#F9B052","#EF76FF","#C4C4C4"]}},padding:{top:100,right:160,bottom:100,left:160}},dataFormatter:{separateSeries:!0,separateLabel:!0,sort:(t,e)=>e.value-t.value,container:{columnGap:0,rowGap:0}},pluginParams:{Bubbles:{force:{strength:.12}},SeriesLegend:{listRectRadius:7,padding:7},SeriesTooltip:{}}},att={name:"PRESET_BUBBLES_SIMPLE",description:"Simple bubble chart",descriptionZh:"簡單泡泡圖",chartParams:{padding:{top:40,right:40,bottom:40,left:40},colors:{light:{label:["#0088FF","#FF3232","#38BEA8","#6F3BD5","#314285","#42C724","#D52580","#F4721B","#D117EA","#7E7D7D"]},dark:{label:["#4BABFF","#FF6C6C","#7DD3C4","#8E6BC9","#5366AC","#86DC72","#FF72BB","#F9B052","#EF76FF","#C4C4C4"]}}},pluginParams:{SeriesLegend:{listRectRadius:7,padding:7}}},wP={name:"PRESET_BUBBLES_SUM_SERIES",description:"Bubble chart of combined Series data",descriptionZh:"合併Series資料的泡泡圖",chartParams:{colors:{light:{label:["#0088FF","#FF3232","#38BEA8","#6F3BD5","#314285","#42C724","#D52580","#F4721B","#D117EA","#7E7D7D"]},dark:{label:["#4BABFF","#FF6C6C","#7DD3C4","#8E6BC9","#5366AC","#86DC72","#FF72BB","#F9B052","#EF76FF","#C4C4C4"]}}},dataFormatter:{sort:(t,e)=>e.value-t.value,sumSeries:!0},pluginParams:{}};wP.dataFormatter.sort.toString=()=>"(a, b) => b.value - a.value";const BP={name:"PRESET_PIE_BASIC",description:"Basic pie chart",descriptionZh:"基本圓餅圖",chartParams:{colors:{light:{label:["#0088FF","#4BABFF","#38BEA8","#86DC72","#F9B052","#F4721B","#FF3232","#5F2714","#D117EA","7E7D7D"]},dark:{label:["#4BABFF","#8BC8FF","#61CBB9","#ACE1A0","#FCDCAD","#F9B052","#FF6C6C","#904026","#EF76FF","#C4C4C4"]}}},dataFormatter:{sort:(t,e)=>e.value-t.value},pluginParams:{SeriesLegend:{listRectRadius:7}}};BP.dataFormatter.sort.toString=()=>"(a, b) => b.value - a.value";const EP={name:"PRESET_PIE_DONUT",description:"Donut chart",descriptionZh:"甜甜圈圖",chartParams:{colors:{light:{label:["#0088FF","#4BABFF","#38BEA8","#86DC72","#F9B052","#F4721B","#FF3232","#5F2714","#D117EA","7E7D7D"]},dark:{label:["#4BABFF","#8BC8FF","#61CBB9","#ACE1A0","#FCDCAD","#F9B052","#FF6C6C","#904026","#EF76FF","#C4C4C4"]}}},dataFormatter:{sort:(t,e)=>e.value-t.value},pluginParams:{Pie:{innerRadius:.5},PieLabels:{},PieEventTexts:{},SeriesLegend:{listRectRadius:7}}};EP.dataFormatter.sort.toString=()=>"(a, b) => b.value - a.value";const itt={name:"PRESET_PIE_INDICATOR_LINE",description:"Line indicator chart",descriptionZh:"線條指針圖",chartParams:{colors:{light:{label:["#4BABFF","#0088FF","#435399","#86DC72","#42C724","#16B59B","#F9B052","#F4721B","#FF3232","#7E7D7D"]},dark:{label:["#8BC8FF","#4BABFF","#0088FF","#55D339","#29AB0C","#16B59B","#FCDCAD","#F9B052","#FF6C6C","#C4C4C4"]}},padding:{top:120,right:60,bottom:0,left:60},styles:{},highlightTarget:"datum"},pluginParams:{Pie:{outerRadius:1,outerRadiusWhileHighlight:1,innerRadius:.75,startAngle:-Math.PI/2,endAngle:Math.PI/2},PieLabels:{},PieEventTexts:{textAttrs:[{transform:"translate(0, -36)"}],textStyles:[{"font-weight":"bold","text-anchor":"middle","pointer-events":"none","dominant-baseline":"middle","font-size":24,fill:"#000"}],renderFn:t=>t.mark??null},Indicator:{startAngle:-Math.PI/2,endAngle:Math.PI/2,radius:.65,indicatorType:"line",size:4,value:0},SeriesLegend:{placement:"bottom",listRectRadius:7}}},ott={name:"PRESET_PIE_INDICATOR_NEEDLE",description:"Needle indicator chart",descriptionZh:"指針圖",chartParams:{colors:{light:{label:["#4BABFF","#0088FF","#435399","#86DC72","#42C724","#16B59B","#F9B052","#F4721B","#FF3232","#7E7D7D"]},dark:{label:["#8BC8FF","#4BABFF","#0088FF","#55D339","#29AB0C","#16B59B","#FCDCAD","#F9B052","#FF6C6C","#C4C4C4"]}},padding:{top:120,right:60,bottom:0,left:60},styles:{},highlightTarget:"datum"},pluginParams:{Pie:{outerRadius:1,outerRadiusWhileHighlight:1,innerRadius:.75,startAngle:-Math.PI/2,endAngle:Math.PI/2},PieLabels:{},PieEventTexts:{textAttrs:[{transform:"translate(0, -36)"}],textStyles:[{"font-weight":"bold","text-anchor":"middle","pointer-events":"none","dominant-baseline":"middle","font-size":24,fill:"#000"}],renderFn:t=>t.mark??null},Indicator:{startAngle:-Math.PI/2,endAngle:Math.PI/2,radius:.65,indicatorType:"needle",size:10,value:0},SeriesLegend:{placement:"bottom",listRectRadius:7}}},ltt={name:"PRESET_PIE_INDICATOR_PIN",description:"Pin indicator chart",descriptionZh:"大頭指針圖",chartParams:{colors:{light:{label:["#4BABFF","#0088FF","#435399","#86DC72","#42C724","#16B59B","#F9B052","#F4721B","#FF3232","#7E7D7D"]},dark:{label:["#8BC8FF","#4BABFF","#0088FF","#55D339","#29AB0C","#16B59B","#FCDCAD","#F9B052","#FF6C6C","#C4C4C4"]}},padding:{top:120,right:60,bottom:0,left:60},styles:{},highlightTarget:"datum"},pluginParams:{Pie:{outerRadius:1,outerRadiusWhileHighlight:1,innerRadius:.75,startAngle:-Math.PI/2,endAngle:Math.PI/2},PieLabels:{},PieEventTexts:{textAttrs:[{transform:"translate(0, -36)"}],textStyles:[{"font-weight":"bold","text-anchor":"middle","pointer-events":"none","dominant-baseline":"middle","font-size":24,fill:"#000"}],renderFn:t=>t.mark??null},Indicator:{startAngle:-Math.PI/2,endAngle:Math.PI/2,radius:.65,indicatorType:"pin",size:15,value:0},SeriesLegend:{placement:"bottom",listRectRadius:7}}},stt={name:"PRESET_PIE_INDICATOR_TRIANGLE",description:"Triangle indicator chart",descriptionZh:"三角指針圖",chartParams:{colors:{light:{label:["#4BABFF","#0088FF","#435399","#86DC72","#42C724","#16B59B","#F9B052","#F4721B","#FF3232","#7E7D7D"]},dark:{label:["#8BC8FF","#4BABFF","#0088FF","#55D339","#29AB0C","#16B59B","#FCDCAD","#F9B052","#FF6C6C","#C4C4C4"]}},padding:{top:120,right:60,bottom:0,left:60},styles:{},highlightTarget:"datum"},pluginParams:{Pie:{outerRadius:1,outerRadiusWhileHighlight:1,innerRadius:.75,startAngle:-Math.PI/2,endAngle:Math.PI/2},PieLabels:{},PieEventTexts:{textAttrs:[{transform:"translate(0, -36)"}],textStyles:[{"font-weight":"bold","text-anchor":"middle","pointer-events":"none","dominant-baseline":"middle","font-size":24,fill:"#000"}],renderFn:t=>t.mark??null},Indicator:{startAngle:-Math.PI/2,endAngle:Math.PI/2,radius:.65,indicatorType:"triangle",size:20,value:0},SeriesLegend:{placement:"bottom",listRectRadius:7}}},LP={name:"PRESET_PIE_HALF_DONUT",description:"Half donut chart",descriptionZh:"半圓甜甜圈圖",chartParams:{colors:{light:{label:["#0088FF","#4BABFF","#38BEA8","#86DC72","#F9B052","#F4721B","#FF3232","#5F2714","#D117EA","7E7D7D"]},dark:{label:["#4BABFF","#8BC8FF","#61CBB9","#ACE1A0","#FCDCAD","#F9B052","#FF6C6C","#904026","#EF76FF","#C4C4C4"]}},padding:{top:120,right:60,bottom:0,left:60}},dataFormatter:{sort:(t,e)=>e.value-t.value},pluginParams:{Pie:{innerRadius:.5,startAngle:-Math.PI/2,endAngle:Math.PI/2},PieLabels:{startAngle:-Math.PI/2,endAngle:Math.PI/2},PieEventTexts:{},SeriesLegend:{placement:"bottom",listRectRadius:7}}};LP.dataFormatter.sort.toString=()=>"(a, b) => b.value - a.value";const MP={name:"PRESET_PIE_WITH_INNER_LABELS",description:"Pie chart with inner data labels",descriptionZh:"圓餅圖及內部資料標籤",chartParams:{colors:{light:{label:["#0088FF","#4BABFF","#38BEA8","#86DC72","#F9B052","#F4721B","#FF3232","#5F2714","#D117EA","7E7D7D"]},dark:{label:["#4BABFF","#8BC8FF","#61CBB9","#ACE1A0","#FCDCAD","#F9B052","#FF6C6C","#904026","#EF76FF","#C4C4C4"]}}},dataFormatter:{sort:(t,e)=>e.value-t.value},pluginParams:{Pie:{},PieLabels:{labelCentroid:1.3,labelColorType:"labelContrast"},PieEventTexts:{},SeriesLegend:{listRectRadius:7}}};MP.dataFormatter.sort.toString=()=>"(a, b) => b.value - a.value";const RP={name:"PRESET_PIE_SEPARATE_SERIES",description:"Separate pie chart of Series",descriptionZh:"分開顯示Series的圓餅圖",chartParams:{colors:{light:{label:["#0088FF","#4BABFF","#38BEA8","#86DC72","#F9B052","#F4721B","#FF3232","#5F2714","#D117EA","7E7D7D"]},dark:{label:["#4BABFF","#8BC8FF","#61CBB9","#ACE1A0","#FCDCAD","#F9B052","#FF6C6C","#904026","#EF76FF","#C4C4C4"]}}},dataFormatter:{sort:(t,e)=>e.value-t.value,separateSeries:!0},pluginParams:{}};RP.dataFormatter.sort.toString=()=>"(a, b) => b.value - a.value";const IP={name:"PRESET_PIE_SEPARATE_LABEL",description:"Separate pie chart of Label",descriptionZh:"分開顯示Label的圓餅圖",chartParams:{colors:{light:{label:["#0088FF","#4BABFF","#38BEA8","#86DC72","#F9B052","#F4721B","#FF3232","#5F2714","#D117EA","7E7D7D"]},dark:{label:["#4BABFF","#8BC8FF","#61CBB9","#ACE1A0","#FCDCAD","#F9B052","#FF6C6C","#904026","#EF76FF","#C4C4C4"]}}},dataFormatter:{sort:(t,e)=>e.value-t.value,separateLabel:!0},pluginParams:{PieLabels:{}}};IP.dataFormatter.sort.toString=()=>"(a, b) => b.value - a.value";const kP={name:"PRESET_PIE_SIMPLE",description:"Simple pie chart",descriptionZh:"簡單圓餅圖",chartParams:{padding:{top:30,right:30,bottom:30,left:30},colors:{light:{label:["#0088FF","#4BABFF","#38BEA8","#86DC72","#F9B052","#F4721B","#FF3232","#5F2714","#D117EA","7E7D7D"]},dark:{label:["#4BABFF","#8BC8FF","#61CBB9","#ACE1A0","#FCDCAD","#F9B052","#FF6C6C","#904026","#EF76FF","#C4C4C4"]}}},dataFormatter:{sort:(t,e)=>e.value-t.value},pluginParams:{SeriesLegend:{listRectRadius:7,padding:7}}};kP.dataFormatter.sort.toString=()=>"(a, b) => b.value - a.value";const NP={name:"PRESET_PIE_SUM_SERIES",description:"Pie chart of combined Series data",descriptionZh:"合併Series資料的圓餅圖",chartParams:{colors:{light:{label:["#0088FF","#4BABFF","#38BEA8","#86DC72","#F9B052","#F4721B","#FF3232","#5F2714","#D117EA","7E7D7D"]},dark:{label:["#4BABFF","#8BC8FF","#61CBB9","#ACE1A0","#FCDCAD","#F9B052","#FF6C6C","#904026","#EF76FF","#C4C4C4"]}}},dataFormatter:{sort:(t,e)=>e.value-t.value,sumSeries:!0},pluginParams:{}};NP.dataFormatter.sort.toString=()=>"(a, b) => b.value - a.value";const zP={name:"PRESET_ROSE_BASIC",description:"Basic Rose chart",descriptionZh:"基本Rose參數",chartParams:{padding:{top:40,right:40,bottom:40,left:40},colors:{light:{label:["#4BABFF","#0088FF","#435399","#86DC72","#42C724","#16B59B","#F9B052","#F4721B","#FF3232","#7E7D7D"]},dark:{label:["#8BC8FF","#4BABFF","#0088FF","#55D339","#29AB0C","#16B59B","#FCDCAD","#F9B052","#FF6C6C","#C4C4C4"]}}},dataFormatter:{sort:(t,e)=>e.value-t.value},pluginParams:{SeriesLegend:{listRectRadius:7}}};zP.dataFormatter.sort.toString=()=>"(a, b) => b.value - a.value";const OP={name:"PRESET_ROSE_SCALING_BY_RADIUS",description:"Rose chart with radius scaling",descriptionZh:"以半徑尺寸為比例的玫瑰圖",chartParams:{padding:{top:40,right:40,bottom:40,left:40},colors:{light:{label:["#4BABFF","#0088FF","#435399","#86DC72","#42C724","#16B59B","#F9B052","#F4721B","#FF3232","#7E7D7D"]},dark:{label:["#8BC8FF","#4BABFF","#0088FF","#55D339","#29AB0C","#16B59B","#FCDCAD","#F9B052","#FF6C6C","#C4C4C4"]}}},dataFormatter:{sort:(t,e)=>e.value-t.value},pluginParams:{Rose:{arcScaleType:"radius"},RoseLabels:{arcScaleType:"radius"},SeriesLegend:{listRectRadius:7}}};OP.dataFormatter.sort.toString=()=>"(a, b) => b.value - a.value";const GP={name:"PRESET_ROSE_SEPARATE_LABEL",description:"Separate rose chart of Label",descriptionZh:"分開顯示Label的玫瑰圖",chartParams:{padding:{top:40,right:40,bottom:40,left:40},colors:{light:{label:["#4BABFF","#0088FF","#435399","#86DC72","#42C724","#16B59B","#F9B052","#F4721B","#FF3232","#7E7D7D"]},dark:{label:["#8BC8FF","#4BABFF","#0088FF","#55D339","#29AB0C","#16B59B","#FCDCAD","#F9B052","#FF6C6C","#C4C4C4"]}}},dataFormatter:{sort:(t,e)=>e.value-t.value,separateLabel:!0},pluginParams:{RoseLabels:{}}};GP.dataFormatter.sort.toString=()=>"(a, b) => b.value - a.value";const jP={name:"PRESET_ROSE_SEPARATE_ALL",description:"Separate rose chart of all data",descriptionZh:"全部資料分開顯示的玫瑰圖",chartParams:{padding:{top:40,right:40,bottom:40,left:40},colors:{light:{label:["#4BABFF","#0088FF","#435399","#86DC72","#42C724","#16B59B","#F9B052","#F4721B","#FF3232","#7E7D7D"]},dark:{label:["#8BC8FF","#4BABFF","#0088FF","#55D339","#29AB0C","#16B59B","#FCDCAD","#F9B052","#FF6C6C","#C4C4C4"]}}},dataFormatter:{sort:(t,e)=>e.value-t.value,separateLabel:!0,separateSeries:!0},pluginParams:{}};jP.dataFormatter.sort.toString=()=>"(a, b) => b.value - a.value";const VP={name:"PRESET_ROSE_SEPARATE_SERIES",description:"Separate rose chart of Series",descriptionZh:"分開顯示Series的玫瑰圖",chartParams:{padding:{top:40,right:40,bottom:40,left:40},colors:{light:{label:["#4BABFF","#0088FF","#435399","#86DC72","#42C724","#16B59B","#F9B052","#F4721B","#FF3232","#7E7D7D"]},dark:{label:["#8BC8FF","#4BABFF","#0088FF","#55D339","#29AB0C","#16B59B","#FCDCAD","#F9B052","#FF6C6C","#C4C4C4"]}}},dataFormatter:{sort:(t,e)=>e.value-t.value,separateSeries:!0},pluginParams:{}};VP.dataFormatter.sort.toString=()=>"(a, b) => b.value - a.value";const YP={name:"PRESET_ROSE_SIMPLE",description:"Simple Rose chart",descriptionZh:"簡單Rose參數",chartParams:{padding:{top:20,right:20,bottom:20,left:20},colors:{light:{label:["#4BABFF","#0088FF","#435399","#86DC72","#42C724","#16B59B","#F9B052","#F4721B","#FF3232","#7E7D7D"]},dark:{label:["#8BC8FF","#4BABFF","#0088FF","#55D339","#29AB0C","#16B59B","#FCDCAD","#F9B052","#FF6C6C","#C4C4C4"]}}},dataFormatter:{sort:(t,e)=>e.value-t.value},pluginParams:{SeriesLegend:{listRectRadius:7,padding:7}}};YP.dataFormatter.sort.toString=()=>"(a, b) => b.value - a.value";const HP={name:"PRESET_ROSE_SUM_SERIES",description:"Rose chart of combined Series data",descriptionZh:"合併Series資料的玫瑰圖",chartParams:{padding:{top:40,right:40,bottom:40,left:40},colors:{light:{label:["#4BABFF","#0088FF","#435399","#86DC72","#42C724","#16B59B","#F9B052","#F4721B","#FF3232","#7E7D7D"]},dark:{label:["#8BC8FF","#4BABFF","#0088FF","#55D339","#29AB0C","#16B59B","#FCDCAD","#F9B052","#FF6C6C","#C4C4C4"]}}},dataFormatter:{sort:(t,e)=>e.value-t.value,sumSeries:!0},pluginParams:{}};HP.dataFormatter.sort.toString=()=>"(a, b) => b.value - a.value";const WP={name:"PRESET_ROSE_SEPARATE_SERIES_AND_SUM_SERIES",description:"Separate and sum Series data",descriptionZh:"分開顯示Series並合併Series資料",chartParams:{padding:{top:40,right:40,bottom:40,left:40},colors:{light:{label:["#4BABFF","#0088FF","#435399","#86DC72","#42C724","#16B59B","#F9B052","#F4721B","#FF3232","#7E7D7D"]},dark:{label:["#8BC8FF","#4BABFF","#0088FF","#55D339","#29AB0C","#16B59B","#FCDCAD","#F9B052","#FF6C6C","#C4C4C4"]}}},dataFormatter:{sort:(t,e)=>e.value-t.value,separateSeries:!0,sumSeries:!0},pluginParams:{}};WP.dataFormatter.sort.toString=()=>"(a, b) => b.value - a.value";const utt={name:"PRESET_SERIES_BASIC",description:"Basic Series parameters",descriptionZh:"基本Series參數",chartParams:{colors:{light:{label:["#0088FF","#FF3232","#38BEA8","#6F3BD5","#314285","#42C724","#D52580","#F4721B","#D117EA","#7E7D7D"]},dark:{label:["#4BABFF","#FF6C6C","#7DD3C4","#8E6BC9","#5366AC","#86DC72","#FF72BB","#F9B052","#EF76FF","#C4C4C4"]}}},pluginParams:{SeriesLegend:{listRectRadius:7}}},ctt={name:"PRESET_SERIES_SEPARATE_SERIES_AND_SUM_SERIES",description:"Separate and sum Series data",descriptionZh:"分開顯示Series並合併Series資料",chartParams:{colors:{light:{label:["#0088FF","#FF3232","#38BEA8","#6F3BD5","#314285","#42C724","#D52580","#F4721B","#D117EA","#7E7D7D"]},dark:{label:["#4BABFF","#FF6C6C","#7DD3C4","#8E6BC9","#5366AC","#86DC72","#FF72BB","#F9B052","#EF76FF","#C4C4C4"]}}},dataFormatter:{sort:(t,e)=>e.value-t.value,separateSeries:!0,sumSeries:!0},pluginParams:{}},XP={name:"PRESET_SERIES_SEPARATE_SERIES",description:"Separate Series",descriptionZh:"分開顯示Series",chartParams:{colors:{light:{label:["#0088FF","#FF3232","#38BEA8","#6F3BD5","#314285","#42C724","#D52580","#F4721B","#D117EA","#7E7D7D"]},dark:{label:["#4BABFF","#FF6C6C","#7DD3C4","#8E6BC9","#5366AC","#86DC72","#FF72BB","#F9B052","#EF76FF","#C4C4C4"]}}},dataFormatter:{sort:(t,e)=>e.value-t.value,separateSeries:!0},pluginParams:{}};XP.dataFormatter.sort.toString=()=>"(a, b) => b.value - a.value";const UP={name:"PRESET_SERIES_SUM_SERIES",description:"Combine Series data",descriptionZh:"合併Series資料",chartParams:{colors:{light:{label:["#0088FF","#FF3232","#38BEA8","#6F3BD5","#314285","#42C724","#D52580","#F4721B","#D117EA","#7E7D7D"]},dark:{label:["#4BABFF","#FF6C6C","#7DD3C4","#8E6BC9","#5366AC","#86DC72","#FF72BB","#F9B052","#EF76FF","#C4C4C4"]}}},dataFormatter:{sort:(t,e)=>e.value-t.value,sumSeries:!0},pluginParams:{}};UP.dataFormatter.sort.toString=()=>"(a, b) => b.value - a.value";const ftt={name:"PRESET_BARS_HORIZONTAL_AND_ROUND",description:"Horizontal bars with round corners",descriptionZh:"橫向圓角長條圖",chartParams:{colors:{light:{label:["#0088FF","#FF72BB","#16B59B","#F9B052","#6F3BD5","#42C724","#FF3232","#904026","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#FFA0A0","#7DD3C4","#FAC77D","#8454D4","#42C724","#FF6C6C","#D4785A","#5366AC","#FF8DC8"]}},padding:{top:40,right:40,bottom:100,left:160}},dataFormatter:{valueAxis:{position:"bottom"},groupAxis:{position:"left"}},pluginParams:{Bars:{barWidth:0,barPadding:1,barGroupPadding:10,barRadius:!0},GroupAxis:{},ValueAxis:{},GroupAux:{},GridLegend:{placement:"bottom",padding:14,listRectRadius:7}}},dtt={name:"PRESET_BARS_HORIZONTAL_AND_THIN",description:"Horizontal thin bars",descriptionZh:"橫向細長長條圖",chartParams:{colors:{light:{label:["#0088FF","#FF72BB","#16B59B","#F9B052","#6F3BD5","#42C724","#FF3232","#904026","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#FFA0A0","#7DD3C4","#FAC77D","#8454D4","#42C724","#FF6C6C","#D4785A","#5366AC","#FF8DC8"]}},padding:{top:40,right:40,bottom:100,left:160}},dataFormatter:{valueAxis:{position:"bottom"},groupAxis:{position:"left"}},pluginParams:{Bars:{barWidth:20,barPadding:1,barGroupPadding:10},GroupAxis:{},ValueAxis:{},GroupAux:{},GridLegend:{placement:"bottom",padding:14}}},htt={name:"PRESET_BARS_ROUND",description:"Rounded bars",descriptionZh:"圓角長條圖",chartParams:{colors:{light:{label:["#0088FF","#FF72BB","#16B59B","#F9B052","#6F3BD5","#42C724","#FF3232","#904026","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#FFA0A0","#7DD3C4","#FAC77D","#8454D4","#42C724","#FF6C6C","#D4785A","#5366AC","#FF8DC8"]}},padding:{top:40,right:40,bottom:100,left:80}},pluginParams:{Bars:{barWidth:0,barPadding:1,barGroupPadding:10,barRadius:!0},GroupAxis:{},ValueAxis:{},GroupAux:{},GridLegend:{placement:"bottom",padding:14,listRectRadius:7}}},ptt={name:"PRESET_BARS_THIN",description:"Thin bars",descriptionZh:"細長條圖",chartParams:{colors:{light:{label:["#0088FF","#FF72BB","#16B59B","#F9B052","#6F3BD5","#42C724","#FF3232","#904026","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#FFA0A0","#7DD3C4","#FAC77D","#8454D4","#42C724","#FF6C6C","#D4785A","#5366AC","#FF8DC8"]}},padding:{top:40,right:40,bottom:100,left:80}},pluginParams:{Bars:{barWidth:20,barPadding:1,barGroupPadding:10},GroupAxis:{},ValueAxis:{},GroupAux:{},GridLegend:{placement:"bottom",padding:14}}},mtt={name:"PRESET_GRID_BASIC",description:"Basic Grid",descriptionZh:"基本Grid",chartParams:{colors:{light:{label:["#0088FF","#FF72BB","#16B59B","#F9B052","#6F3BD5","#42C724","#FF3232","#904026","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#FFA0A0","#7DD3C4","#FAC77D","#8454D4","#42C724","#FF6C6C","#D4785A","#5366AC","#FF8DC8"]}},padding:{top:40,right:40,bottom:100,left:80}},pluginParams:{GridLegend:{placement:"bottom",padding:14}}},gtt={name:"PRESET_GRID_HORIZONTAL",description:"Horizontal Grid",descriptionZh:"橫向圖",chartParams:{colors:{light:{label:["#0088FF","#FF72BB","#16B59B","#F9B052","#6F3BD5","#42C724","#FF3232","#904026","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#FFA0A0","#7DD3C4","#FAC77D","#8454D4","#42C724","#FF6C6C","#D4785A","#5366AC","#FF8DC8"]}},padding:{top:40,right:40,bottom:100,left:160}},dataFormatter:{valueAxis:{position:"bottom"},groupAxis:{position:"left"}},pluginParams:{GridLegend:{placement:"bottom",padding:14}}},ytt={name:"PRESET_GRID_PN_SCALE_SIMPLE",description:"Simple positive negative scale",descriptionZh:"簡單正負值分向圖",chartParams:{colors:{light:{label:["#0088FF","#FF72BB","#16B59B","#F9B052","#6F3BD5","#42C724","#FF3232","#904026","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#FFA0A0","#7DD3C4","#FAC77D","#8454D4","#42C724","#FF6C6C","#D4785A","#5366AC","#FF8DC8"]}},padding:{top:40,right:40,bottom:80,left:40}},dataFormatter:{valueAxis:{scaleDomain:["auto","auto"],scaleRange:[.05,.95]}},pluginParams:{GridLegend:{placement:"bottom",padding:7}}},btt={name:"PRESET_GRID_PN_SCALE",description:"Positive negative scale",descriptionZh:"正負值分向圖",chartParams:{colors:{light:{label:["#0088FF","#FF72BB","#16B59B","#F9B052","#6F3BD5","#42C724","#FF3232","#904026","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#FFA0A0","#7DD3C4","#FAC77D","#8454D4","#42C724","#FF6C6C","#D4785A","#5366AC","#FF8DC8"]}},padding:{top:40,right:40,bottom:100,left:80}},dataFormatter:{valueAxis:{scaleDomain:["auto","auto"],scaleRange:[.05,.95]}},pluginParams:{GridLegend:{placement:"bottom",padding:14}}},xtt={name:"PRESET_GRID_ROTATE_AXIS_LABEL",description:"Rotate axis label",descriptionZh:"傾斜標籤",chartParams:{colors:{light:{label:["#0088FF","#FF72BB","#16B59B","#F9B052","#6F3BD5","#42C724","#FF3232","#904026","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#FFA0A0","#7DD3C4","#FAC77D","#8454D4","#42C724","#FF6C6C","#D4785A","#5366AC","#FF8DC8"]}},padding:{top:40,right:40,bottom:120,left:80}},pluginParams:{GroupAux:{labelRotate:-30},GroupAxis:{tickPadding:15,tickTextRotate:-30},GridLegend:{placement:"bottom",padding:14}}},vtt={name:"PRESET_GRID_SEPARATE_SERIES",description:"Separate Series",descriptionZh:"分開顯示Series",chartParams:{colors:{light:{label:["#0088FF","#FF72BB","#16B59B","#F9B052","#6F3BD5","#42C724","#FF3232","#904026","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#FFA0A0","#7DD3C4","#FAC77D","#8454D4","#42C724","#FF6C6C","#D4785A","#5366AC","#FF8DC8"]}},padding:{top:40,right:40,bottom:120,left:80}},dataFormatter:{separateSeries:!0,container:{columnGap:100,rowGap:80}},pluginParams:{GroupAux:{labelRotate:-30},GroupAxis:{tickPadding:15,tickTextRotate:-30},GridLegend:{placement:"bottom",padding:14}}},$tt={name:"PRESET_GRID_SIMPLE",description:"Simple Grid",descriptionZh:"簡單Grid",chartParams:{colors:{light:{label:["#0088FF","#FF72BB","#16B59B","#F9B052","#6F3BD5","#42C724","#FF3232","#904026","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#FFA0A0","#7DD3C4","#FAC77D","#8454D4","#42C724","#FF6C6C","#D4785A","#5366AC","#FF8DC8"]}},padding:{top:40,right:40,bottom:80,left:40}},dataFormatter:{valueAxis:{scaleRange:[0,.95]}},pluginParams:{GridLegend:{placement:"bottom",padding:7}}},Stt={name:"PRESET_LINE_AREAS_BASIC",description:"Basic LineArea",descriptionZh:"基本折線區域圖",chartParams:{colors:{light:{label:["#0088FF","#FF72BB","#16B59B","#F9B052","#6F3BD5","#42C724","#FF3232","#904026","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#FFA0A0","#7DD3C4","#FAC77D","#8454D4","#42C724","#FF6C6C","#D4785A","#5366AC","#FF8DC8"]}},padding:{top:40,right:60,bottom:100,left:60},highlightTarget:"series"},dataFormatter:{groupAxis:{scalePadding:0}},pluginParams:{Lines:{},LineAreas:{},Dots:{},GroupAxis:{},ValueAxis:{},GroupAux:{},GridLegend:{placement:"bottom",padding:14,listRectHeight:2}}},Dtt={name:"PRESET_LINE_AREAS_CURVE",description:"Curve LineArea",descriptionZh:"弧線的折線區域圖",chartParams:{colors:{light:{label:["#0088FF","#FF72BB","#16B59B","#F9B052","#6F3BD5","#42C724","#FF3232","#904026","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#FFA0A0","#7DD3C4","#FAC77D","#8454D4","#42C724","#FF6C6C","#D4785A","#5366AC","#FF8DC8"]}},padding:{top:40,right:60,bottom:100,left:60},highlightTarget:"series"},dataFormatter:{groupAxis:{scalePadding:0}},pluginParams:{Lines:{lineCurve:"curveMonotoneX",lineWidth:3},LineAreas:{lineCurve:"curveMonotoneX"},Dots:{},GroupAxis:{},ValueAxis:{},GroupAux:{},GridLegend:{placement:"bottom",padding:14,listRectHeight:2}}},_tt={name:"PRESET_LINE_AREAS_HORIZONTAL",description:"Horizontal LineArea",descriptionZh:"橫向折線區域圖",chartParams:{colors:{light:{label:["#0088FF","#FF72BB","#16B59B","#F9B052","#6F3BD5","#42C724","#FF3232","#904026","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#FFA0A0","#7DD3C4","#FAC77D","#8454D4","#42C724","#FF6C6C","#D4785A","#5366AC","#FF8DC8"]}},padding:{top:40,right:40,bottom:100,left:160},highlightTarget:"series"},dataFormatter:{valueAxis:{position:"bottom"},groupAxis:{position:"left",scalePadding:0}},pluginParams:{Lines:{},LineAreas:{},Dots:{},GroupAxis:{},ValueAxis:{},GroupAux:{},GridLegend:{placement:"bottom",padding:14,listRectHeight:2}}},Att={name:"PRESET_LINE_AREAS_LOOSE_TICKS",description:"Loose Ticks LineArea",descriptionZh:"寬鬆標籤的折線區域圖",chartParams:{colors:{light:{label:["#0088FF","#FF72BB","#16B59B","#F9B052","#6F3BD5","#42C724","#FF3232","#904026","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#FFA0A0","#7DD3C4","#FAC77D","#8454D4","#42C724","#FF6C6C","#D4785A","#5366AC","#FF8DC8"]}},padding:{top:40,right:60,bottom:100,left:60},highlightTarget:"series"},dataFormatter:{groupAxis:{scalePadding:0}},pluginParams:{Lines:{},LineAreas:{},Dots:{},GroupAxis:{ticks:6},ValueAxis:{},GroupAux:{},GridLegend:{placement:"bottom",padding:14,listRectHeight:2}}},Ctt={name:"PRESET_LINE_AREAS_ROTATE_AXIS_LABEL",description:"Rotate Axis Label LineArea",descriptionZh:"傾斜標籤的折線區域圖",chartParams:{colors:{light:{label:["#0088FF","#FF72BB","#16B59B","#F9B052","#6F3BD5","#42C724","#FF3232","#904026","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#FFA0A0","#7DD3C4","#FAC77D","#8454D4","#42C724","#FF6C6C","#D4785A","#5366AC","#FF8DC8"]}},padding:{top:40,right:40,bottom:120,left:80},highlightTarget:"series"},dataFormatter:{groupAxis:{scalePadding:0}},pluginParams:{Lines:{},LineAreas:{},Dots:{},GroupAxis:{tickPadding:15,tickTextRotate:-30},ValueAxis:{},GroupAux:{labelRotate:-30},GridLegend:{placement:"bottom",padding:14,listRectHeight:2}}},Ptt={name:"PRESET_LINE_AREAS_SEPARATE_SERIES",description:"Separate Series LineArea",descriptionZh:"分開顯示Series的折線區域圖",chartParams:{colors:{light:{label:["#0088FF","#FF72BB","#16B59B","#F9B052","#6F3BD5","#42C724","#FF3232","#904026","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#FFA0A0","#7DD3C4","#FAC77D","#8454D4","#42C724","#FF6C6C","#D4785A","#5366AC","#FF8DC8"]}},padding:{top:40,right:40,bottom:120,left:80},highlightTarget:"series"},dataFormatter:{separateSeries:!0,groupAxis:{scalePadding:0},container:{columnGap:100,rowGap:80}},pluginParams:{Lines:{},LineAreas:{},Dots:{},GroupAxis:{tickPadding:15,tickTextRotate:-30},ValueAxis:{},GroupAux:{labelRotate:-30},GridLegend:{placement:"bottom",padding:14,listRectHeight:2}}},Ftt={name:"PRESET_LINE_AREAS_SIMPLE",description:"Simple LineArea",descriptionZh:"簡單折線區域圖",chartParams:{colors:{light:{label:["#0088FF","#FF72BB","#16B59B","#F9B052","#6F3BD5","#42C724","#FF3232","#904026","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#FFA0A0","#7DD3C4","#FAC77D","#8454D4","#42C724","#FF6C6C","#D4785A","#5366AC","#FF8DC8"]}},padding:{top:40,right:60,bottom:80,left:60},highlightTarget:"series"},dataFormatter:{groupAxis:{scalePadding:0},valueAxis:{scaleRange:[0,.95]}},pluginParams:{Lines:{},LineAreas:{},Dots:{},GroupAxis:{},ValueAxis:{},GroupAux:{},GridLegend:{placement:"bottom",padding:7,listRectHeight:2}}},Ttt={name:"PRESET_LINES_BASIC",description:"Basic Line",descriptionZh:"基本折線圖",chartParams:{colors:{light:{label:["#0088FF","#FF72BB","#16B59B","#F9B052","#6F3BD5","#42C724","#FF3232","#904026","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#FFA0A0","#7DD3C4","#FAC77D","#8454D4","#42C724","#FF6C6C","#D4785A","#5366AC","#FF8DC8"]}},padding:{top:40,right:40,bottom:100,left:80},highlightTarget:"series"},pluginParams:{Lines:{},Dots:{},GroupAxis:{},ValueAxis:{},GroupAux:{},GridLegend:{placement:"bottom",padding:14,listRectHeight:2}}},wtt={name:"PRESET_LINES_CURVE",description:"Curve Line",descriptionZh:"弧線折線圖",chartParams:{colors:{light:{label:["#0088FF","#FF72BB","#16B59B","#F9B052","#6F3BD5","#42C724","#FF3232","#904026","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#FFA0A0","#7DD3C4","#FAC77D","#8454D4","#42C724","#FF6C6C","#D4785A","#5366AC","#FF8DC8"]}},padding:{top:40,right:40,bottom:100,left:80},highlightTarget:"series"},pluginParams:{Lines:{lineCurve:"curveMonotoneX",lineWidth:3},Dots:{},GroupAxis:{},ValueAxis:{},GroupAux:{},GridLegend:{placement:"bottom",padding:14,listRectHeight:2}}},Btt={name:"PRESET_LINES_HORIZONTAL",description:"Horizontal Line",descriptionZh:"橫向折線圖",chartParams:{colors:{light:{label:["#0088FF","#FF72BB","#16B59B","#F9B052","#6F3BD5","#42C724","#FF3232","#904026","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#FFA0A0","#7DD3C4","#FAC77D","#8454D4","#42C724","#FF6C6C","#D4785A","#5366AC","#FF8DC8"]}},padding:{top:40,right:40,bottom:100,left:160},highlightTarget:"series"},dataFormatter:{valueAxis:{position:"bottom"},groupAxis:{position:"left"}},pluginParams:{Lines:{},Dots:{},GroupAxis:{},ValueAxis:{},GroupAux:{},GridLegend:{placement:"bottom",padding:14,listRectHeight:2}}},Ett={name:"PRESET_LINES_LOOSE_TICKS",description:"Loose Ticks Line",descriptionZh:"寬鬆標籤的折線圖",chartParams:{colors:{light:{label:["#0088FF","#FF72BB","#16B59B","#F9B052","#6F3BD5","#42C724","#FF3232","#904026","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#FFA0A0","#7DD3C4","#FAC77D","#8454D4","#42C724","#FF6C6C","#D4785A","#5366AC","#FF8DC8"]}},padding:{top:40,right:40,bottom:100,left:80},highlightTarget:"series"},pluginParams:{Lines:{},Dots:{},GroupAxis:{ticks:6},ValueAxis:{},GroupAux:{},GridLegend:{placement:"bottom",padding:14,listRectHeight:2}}},Ltt={name:"PRESET_LINES_ROTATE_AXIS_LABEL",description:"Line chart with slanted labels",descriptionZh:"傾斜標籤的折線圖",chartParams:{colors:{light:{label:["#0088FF","#FF72BB","#16B59B","#F9B052","#6F3BD5","#42C724","#FF3232","#904026","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#FFA0A0","#7DD3C4","#FAC77D","#8454D4","#42C724","#FF6C6C","#D4785A","#5366AC","#FF8DC8"]}},padding:{top:40,right:40,bottom:120,left:80},highlightTarget:"series"},pluginParams:{Lines:{},Dots:{},GroupAxis:{tickPadding:15,tickTextRotate:-30},ValueAxis:{},GroupAux:{labelRotate:-30},GridLegend:{placement:"bottom",padding:14,listRectHeight:2}}},Mtt={name:"PRESET_LINES_SIMPLE",description:"Simple line",descriptionZh:"簡單折線圖",chartParams:{colors:{light:{label:["#0088FF","#FF72BB","#16B59B","#F9B052","#6F3BD5","#42C724","#FF3232","#904026","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#FFA0A0","#7DD3C4","#FAC77D","#8454D4","#42C724","#FF6C6C","#D4785A","#5366AC","#FF8DC8"]}},padding:{top:40,right:40,bottom:80,left:40},highlightTarget:"series"},dataFormatter:{valueAxis:{scaleRange:[0,.95]}},pluginParams:{Lines:{},Dots:{},GroupAxis:{},ValueAxis:{},GroupAux:{},GridLegend:{placement:"bottom",padding:7,listRectHeight:2}}},Rtt={name:"PRESET_LINES_WITH_SOLID_DOTS",description:"Solid Dots Line",descriptionZh:"實心圓點的折線圖",chartParams:{colors:{light:{label:["#0088FF","#FF72BB","#16B59B","#F9B052","#6F3BD5","#42C724","#FF3232","#904026","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#FFA0A0","#7DD3C4","#FAC77D","#8454D4","#42C724","#FF6C6C","#D4785A","#5366AC","#FF8DC8"]}},padding:{top:40,right:40,bottom:100,left:80},highlightTarget:"series"},pluginParams:{Lines:{},Dots:{radius:3,fillColorType:"label",onlyShowHighlighted:!1},GroupAxis:{},ValueAxis:{},GroupAux:{},GridLegend:{placement:"bottom",padding:14,listRectHeight:2}}},Itt={name:"PRESET_MULTI_GRID_BASIC",description:"Basic MultiGrid",descriptionZh:"基本MultiGrid",chartParams:{colors:{light:{label:["#0088FF","#16B59B","#6F3BD5","#EE5F13","#F9B052","#D4785A","#42C724","#FF4B4B","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#7DD3C4","#8454D4","#FF6C6C","#FAC77D","#D58C75","#42C724","#FF8B8B","#5366AC","#FF8DC8"]}},padding:{top:40,right:40,bottom:100,left:80},highlightTarget:"series"},pluginParams:{MultiGridLegend:{placement:"bottom",padding:14,gridList:[{},{listRectHeight:2}]}}},ktt={name:"PRESET_MULTI_GRID_DIVERGING_SIMPLE",description:"Simple diverging Grid",descriptionZh:"簡單雙向Grid",chartParams:{colors:{light:{label:["#0088FF","#16B59B","#6F3BD5","#EE5F13","#F9B052","#D4785A","#42C724","#FF4B4B","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#7DD3C4","#8454D4","#FF6C6C","#FAC77D","#D58C75","#42C724","#FF8B8B","#5366AC","#FF8DC8"]}},padding:{top:40,right:40,bottom:60,left:40}},dataFormatter:{gridList:[{groupAxis:{position:"right"},valueAxis:{position:"bottom",scaleRange:[0,.95]}},{groupAxis:{position:"left"},valueAxis:{position:"bottom",scaleRange:[0,.95]}}],container:{columnGap:140,rowAmount:1,columnAmount:2},separateGrid:!0},pluginParams:{MultiGroupAxis:{tickPadding:10,gridIndexes:[0]},MultiValueAxis:{gridIndexes:[0,1]},MultiStackedValueAxis:{gridIndexes:[0,1]},MultiBars:{gridIndexes:[0,1]},MultiStackedBars:{gridIndexes:[0,1]},MultiBarsTriangle:{gridIndexes:[0,1]},MultiLines:{gridIndexes:[0,1]},MultiLineAreas:{gridIndexes:[0,1]},MultiDots:{gridIndexes:[0,1]},MultiGridLegend:{placement:"bottom",padding:7}}},Ntt={name:"PRESET_MULTI_GRID_DIVERGING",description:"Diverging Grid",descriptionZh:"雙向Grid",chartParams:{colors:{light:{label:["#0088FF","#16B59B","#6F3BD5","#EE5F13","#F9B052","#D4785A","#42C724","#FF4B4B","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#7DD3C4","#8454D4","#FF6C6C","#FAC77D","#D58C75","#42C724","#FF8B8B","#5366AC","#FF8DC8"]}},padding:{top:40,right:40,bottom:100,left:80}},dataFormatter:{gridList:[{groupAxis:{position:"right"},valueAxis:{position:"bottom"}},{groupAxis:{position:"left"},valueAxis:{position:"bottom"}}],container:{columnGap:160,rowAmount:1,columnAmount:2},separateGrid:!0},pluginParams:{MultiGroupAxis:{gridIndexes:[0]},MultiValueAxis:{gridIndexes:[0,1]},MultiStackedValueAxis:{gridIndexes:[0,1]},MultiBars:{gridIndexes:[0,1]},MultiStackedBars:{gridIndexes:[0,1]},MultiBarsTriangle:{gridIndexes:[0,1]},MultiLines:{gridIndexes:[0,1]},MultiLineAreas:{gridIndexes:[0,1]},MultiDots:{gridIndexes:[0,1]},MultiGridLegend:{placement:"bottom",padding:14}}},ztt={name:"PRESET_MULTI_GRID_ROUND_STYLE_SIMPLE",description:"Simple MultiGrid with round style",descriptionZh:"簡單MultiGrid圓弧風格",chartParams:{colors:{light:{label:["#0088FF","#16B59B","#6F3BD5","#EE5F13","#F9B052","#D4785A","#42C724","#FF4B4B","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#7DD3C4","#8454D4","#FF6C6C","#FAC77D","#D58C75","#42C724","#FF8B8B","#5366AC","#FF8DC8"]}},padding:{top:40,right:40,bottom:60,left:80},highlightTarget:"series"},dataFormatter:{gridList:[{valueAxis:{scaleRange:[0,.95]}}],container:{columnGap:40,rowGap:60}},pluginParams:{MultiBars:{barWidth:0,barPadding:1,barGroupPadding:10,barRadius:!0},MultiStackedBars:{},MultiDots:{},MultiGridLegend:{placement:"bottom",padding:14,gridList:[{listRectRadius:7},{listRectHeight:2}]},MultiGroupAxis:{},MultiLineAreas:{},MultiLines:{lineCurve:"curveMonotoneX",lineWidth:3},MultiValueAxis:{},MultiStackedValueAxis:{},OverlappingValueAxes:{},OverlappingStackedValueAxes:{}}},Ott={name:"PRESET_MULTI_GRID_ROUND_STYLE",description:"MultiGrid with round style",descriptionZh:"MultiGrid圓弧風格",chartParams:{colors:{light:{label:["#0088FF","#16B59B","#6F3BD5","#EE5F13","#F9B052","#D4785A","#42C724","#FF4B4B","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#7DD3C4","#8454D4","#FF6C6C","#FAC77D","#D58C75","#42C724","#FF8B8B","#5366AC","#FF8DC8"]}},padding:{top:40,right:40,bottom:100,left:80},highlightTarget:"series"},pluginParams:{MultiBars:{barWidth:0,barPadding:1,barGroupPadding:10,barRadius:!0},MultiStackedBars:{},MultiDots:{},MultiGridLegend:{placement:"bottom",padding:14,gridList:[{listRectRadius:7},{listRectHeight:2}]},MultiGroupAxis:{},MultiLineAreas:{},MultiLines:{lineCurve:"curveMonotoneX",lineWidth:3},MultiValueAxis:{},MultiStackedValueAxis:{},OverlappingValueAxes:{},OverlappingStackedValueAxes:{}}},Gtt={name:"PRESET_MULTI_GRID_SEPARATE_GRID_SIMPLE",description:"Simple separate grid",descriptionZh:"簡單的分開顯示Grid圖表",chartParams:{colors:{light:{label:["#0088FF","#16B59B","#6F3BD5","#EE5F13","#F9B052","#D4785A","#42C724","#FF4B4B","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#7DD3C4","#8454D4","#FF6C6C","#FAC77D","#D58C75","#42C724","#FF8B8B","#5366AC","#FF8DC8"]}},padding:{top:40,right:40,bottom:80,left:40}},dataFormatter:{gridList:[{valueAxis:{scaleRange:[0,.95]}}],separateGrid:!0,container:{columnGap:40,rowGap:60}},pluginParams:{MultiGroupAxis:{gridIndexes:"all"},MultiValueAxis:{gridIndexes:"all"},MultiStackedValueAxis:{gridIndexes:"all"},MultiBars:{gridIndexes:"all"},MultiStackedBars:{gridIndexes:"all"},MultiBarsTriangle:{gridIndexes:"all"},MultiLines:{gridIndexes:"all"},MultiLineAreas:{gridIndexes:"all"},MultiDots:{gridIndexes:"all"},MultiGridLegend:{placement:"bottom",padding:7}}},jtt={name:"PRESET_MULTI_GRID_SEPARATE_GRID",description:"Separate Grid",descriptionZh:"分開顯示Grid圖表",chartParams:{colors:{light:{label:["#0088FF","#16B59B","#6F3BD5","#EE5F13","#F9B052","#D4785A","#42C724","#FF4B4B","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#7DD3C4","#8454D4","#FF6C6C","#FAC77D","#D58C75","#42C724","#FF8B8B","#5366AC","#FF8DC8"]}},padding:{top:40,right:40,bottom:120,left:80}},dataFormatter:{separateGrid:!0,container:{columnGap:100,rowGap:80}},pluginParams:{MultiGroupAxis:{tickTextRotate:-30,gridIndexes:"all"},MultiValueAxis:{gridIndexes:"all"},MultiStackedValueAxis:{gridIndexes:"all"},MultiBars:{gridIndexes:"all"},MultiStackedBars:{gridIndexes:"all"},MultiBarsTriangle:{gridIndexes:"all"},MultiLines:{gridIndexes:"all"},MultiLineAreas:{gridIndexes:"all"},MultiDots:{gridIndexes:"all"},MultiGridLegend:{placement:"bottom",padding:14}}},Vtt={name:"PRESET_MULTI_GRID_SIMPLE",description:"Simple MultiGrid",descriptionZh:"簡單MultiGrid",chartParams:{colors:{light:{label:["#0088FF","#16B59B","#6F3BD5","#EE5F13","#F9B052","#D4785A","#42C724","#FF4B4B","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#7DD3C4","#8454D4","#FF6C6C","#FAC77D","#D58C75","#42C724","#FF8B8B","#5366AC","#FF8DC8"]}},padding:{top:40,right:40,bottom:80,left:40},highlightTarget:"series"},dataFormatter:{gridList:[{valueAxis:{scaleRange:[0,.95]}}]},pluginParams:{MultiGridLegend:{placement:"bottom",padding:7,gridList:[{},{listRectHeight:2}]}}},Ytt={name:"PRESET_MULTI_LINE_AREAS_SEPARATE_GRID_SIMPLE",description:"Simple separate grid line areas",descriptionZh:"簡單的分開顯示Grid的折線區域圖",chartParams:{colors:{light:{label:["#0088FF","#16B59B","#6F3BD5","#EE5F13","#F9B052","#D4785A","#42C724","#FF4B4B","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#7DD3C4","#8454D4","#FF6C6C","#FAC77D","#D58C75","#42C724","#FF8B8B","#5366AC","#FF8DC8"]}},padding:{top:40,right:60,bottom:80,left:60}},dataFormatter:{gridList:[{groupAxis:{scalePadding:0},valueAxis:{scaleRange:[0,.95]}}],separateGrid:!0,container:{columnGap:60,rowGap:60}},pluginParams:{MultiGroupAxis:{gridIndexes:"all"},MultiValueAxis:{gridIndexes:"all"},MultiStackedValueAxis:{gridIndexes:"all"},MultiBars:{gridIndexes:"all"},MultiStackedBars:{gridIndexes:"all"},MultiBarsTriangle:{gridIndexes:"all"},MultiLines:{gridIndexes:"all"},MultiLineAreas:{gridIndexes:"all"},MultiDots:{gridIndexes:"all"},MultiGridLegend:{placement:"bottom",padding:7,gridList:[{listRectHeight:2},{listRectHeight:2},{listRectHeight:2},{listRectHeight:2},{listRectHeight:2},{listRectHeight:2},{listRectHeight:2},{listRectHeight:2}]}}},Htt={name:"PRESET_MULTI_LINE_AREAS_SEPARATE_GRID",description:"Separate Grid line areas",descriptionZh:"分開顯示Grid的折線區域圖",chartParams:{colors:{light:{label:["#0088FF","#16B59B","#6F3BD5","#EE5F13","#F9B052","#D4785A","#42C724","#FF4B4B","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#7DD3C4","#8454D4","#FF6C6C","#FAC77D","#D58C75","#42C724","#FF8B8B","#5366AC","#FF8DC8"]}},padding:{top:40,right:40,bottom:120,left:80}},dataFormatter:{gridList:[{groupAxis:{scalePadding:0}},{groupAxis:{scalePadding:0}}],separateGrid:!0,container:{columnGap:100,rowGap:80}},pluginParams:{MultiGroupAxis:{tickTextRotate:-30,gridIndexes:"all"},MultiValueAxis:{gridIndexes:"all"},MultiStackedValueAxis:{gridIndexes:"all"},MultiBars:{gridIndexes:"all"},MultiStackedBars:{gridIndexes:"all"},MultiBarsTriangle:{gridIndexes:"all"},MultiLines:{gridIndexes:"all"},MultiLineAreas:{gridIndexes:"all"},MultiDots:{gridIndexes:"all"},MultiGridLegend:{placement:"bottom",padding:14,gridList:[{listRectHeight:2},{listRectHeight:2},{listRectHeight:2},{listRectHeight:2},{listRectHeight:2},{listRectHeight:2},{listRectHeight:2},{listRectHeight:2}]}}},Wtt={name:"PRESET_MULTI_LINES_SEPARATE_GRID_SIMPLE",description:"Simple separate grid line",descriptionZh:"簡單的分開顯示Grid的折線圖",chartParams:{colors:{light:{label:["#0088FF","#16B59B","#6F3BD5","#EE5F13","#F9B052","#D4785A","#42C724","#FF4B4B","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#7DD3C4","#8454D4","#FF6C6C","#FAC77D","#D58C75","#42C724","#FF8B8B","#5366AC","#FF8DC8"]}},padding:{top:40,right:40,bottom:80,left:40}},dataFormatter:{gridList:[{valueAxis:{scaleRange:[0,.95]}}],separateGrid:!0,container:{columnGap:40,rowGap:60}},pluginParams:{MultiGroupAxis:{gridIndexes:"all"},MultiValueAxis:{gridIndexes:"all"},MultiStackedValueAxis:{gridIndexes:"all"},MultiBars:{gridIndexes:"all"},MultiStackedBars:{gridIndexes:"all"},MultiBarsTriangle:{gridIndexes:"all"},MultiLines:{gridIndexes:"all"},MultiLineAreas:{gridIndexes:"all"},MultiDots:{gridIndexes:"all"},MultiGridLegend:{placement:"bottom",padding:7,gridList:[{listRectHeight:2},{listRectHeight:2},{listRectHeight:2},{listRectHeight:2},{listRectHeight:2},{listRectHeight:2},{listRectHeight:2},{listRectHeight:2}]}}},Xtt={name:"PRESET_MULTI_LINES_SEPARATE_GRID",description:"Separate Grid line",descriptionZh:"分開顯示Grid的折線圖",chartParams:{colors:{light:{label:["#0088FF","#16B59B","#6F3BD5","#EE5F13","#F9B052","#D4785A","#42C724","#FF4B4B","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#7DD3C4","#8454D4","#FF6C6C","#FAC77D","#D58C75","#42C724","#FF8B8B","#5366AC","#FF8DC8"]}},padding:{top:40,right:40,bottom:120,left:80}},dataFormatter:{separateGrid:!0,container:{columnGap:100,rowGap:80}},pluginParams:{MultiGroupAxis:{tickTextRotate:-30,gridIndexes:"all"},MultiValueAxis:{gridIndexes:"all"},MultiStackedValueAxis:{gridIndexes:"all"},MultiBars:{gridIndexes:"all"},MultiStackedBars:{gridIndexes:"all"},MultiBarsTriangle:{gridIndexes:"all"},MultiLines:{gridIndexes:"all"},MultiLineAreas:{gridIndexes:"all"},MultiDots:{gridIndexes:"all"},MultiGridLegend:{placement:"bottom",padding:14,gridList:[{listRectHeight:2},{listRectHeight:2},{listRectHeight:2},{listRectHeight:2},{listRectHeight:2},{listRectHeight:2},{listRectHeight:2},{listRectHeight:2}]}}},Utt={name:"PRESET_MULTI_VALUE_BASIC",description:"Basic MultiValue",descriptionZh:"基本MultiValue參數",chartParams:{colors:{light:{label:["#7DD3C4","#FFA0A0","#6CBAFF","#55D339","#F9B052","#FF6C6C","#8E6BC9","#0088FF","#904026","#C4C4C4"]},dark:{label:["#7DD3C4","#FFA0A0","#6CBAFF","#55D339","#F9B052","#FF6C6C","#8E6BC9","#0088FF","#904026","#C4C4C4"]}},padding:{top:40,right:40,bottom:100,left:80}},pluginParams:{MultiValueLegend:{placement:"bottom",padding:14}}},qtt={name:"PRESET_MULTI_VALUE_SEPARATE_CATEGORY",description:"MultiValue separate category",descriptionZh:"MultiValue 分開顯示category",chartParams:{colors:{light:{label:["#7DD3C4","#FFA0A0","#6CBAFF","#55D339","#F9B052","#FF6C6C","#8E6BC9","#0088FF","#904026","#C4C4C4"]},dark:{label:["#7DD3C4","#FFA0A0","#6CBAFF","#55D339","#F9B052","#FF6C6C","#8E6BC9","#0088FF","#904026","#C4C4C4"]}},padding:{top:40,right:40,bottom:100,left:80}},dataFormatter:{separateCategory:!0,container:{columnGap:100,rowGap:80}},pluginParams:{XYAxes:{xAxis:{ticks:3},yAxis:{ticks:3}},MultiValueLegend:{placement:"bottom",padding:14}}},Ztt={name:"PRESET_MULTI_VALUE_SIMPLE",description:"Simple MultiValue",descriptionZh:"簡單MultiValue參數",chartParams:{colors:{light:{label:["#7DD3C4","#FFA0A0","#6CBAFF","#55D339","#F9B052","#FF6C6C","#8E6BC9","#0088FF","#904026","#C4C4C4"]},dark:{label:["#7DD3C4","#FFA0A0","#6CBAFF","#55D339","#F9B052","#FF6C6C","#8E6BC9","#0088FF","#904026","#C4C4C4"]}},padding:{top:40,right:40,bottom:60,left:80}},pluginParams:{MultiValueLegend:{placement:"bottom",padding:7}}},Jtt={name:"PRESET_ORDINAL_BUBBLES_ALL_ITEMS",description:"Ordinal bubbles with all items",descriptionZh:"顯示全部項目的序數泡泡圖",chartParams:{colors:{light:{label:["#0088FF","#FF3232","#38BEA8","#6F3BD5","#314285","#42C724","#D52580","#F4721B","#D117EA","#7E7D7D"]},dark:{label:["#4BABFF","#FF6C6C","#7DD3C4","#8E6BC9","#5366AC","#86DC72","#FF72BB","#F9B052","#EF76FF","#C4C4C4"]}},padding:{top:60,right:40,bottom:60,left:160}},pluginParams:{OrdinalBubbles:{rankingAmount:"auto"},MultiValueLegend:{placement:"bottom",padding:14,listRectRadius:7}}},Ktt={name:"PRESET_ORDINAL_BUBBLES_BASIC",description:"Basic ordinal bubbles",descriptionZh:"序數泡泡圖",chartParams:{colors:{light:{label:["#0088FF","#FF3232","#38BEA8","#6F3BD5","#314285","#42C724","#D52580","#F4721B","#D117EA","#7E7D7D"]},dark:{label:["#4BABFF","#FF6C6C","#7DD3C4","#8E6BC9","#5366AC","#86DC72","#FF72BB","#F9B052","#EF76FF","#C4C4C4"]}},padding:{top:60,right:40,bottom:60,left:160}},pluginParams:{OrdinalBubbles:{},MultiValueLegend:{placement:"bottom",padding:14,listRectRadius:7}}},Qtt={name:"PRESET_ORDINAL_BUBBLES_LINEAR_OPACITY",description:"Ordinal bubbles with linear opacity",descriptionZh:"漸變透明度的序數泡泡圖",chartParams:{colors:{light:{label:["#0088FF","#FF3232","#38BEA8","#6F3BD5","#314285","#42C724","#D52580","#F4721B","#D117EA","#7E7D7D"]},dark:{label:["#4BABFF","#FF6C6C","#7DD3C4","#8E6BC9","#5366AC","#86DC72","#FF72BB","#F9B052","#EF76FF","#C4C4C4"]}},padding:{top:60,right:40,bottom:60,left:160}},pluginParams:{OrdinalBubbles:{bubble:{valueLinearOpacity:[.5,1]}},MultiValueLegend:{placement:"bottom",padding:14,listRectRadius:7}}},tet={name:"PRESET_ORDINAL_BUBBLES_SCALING_BY_RADIUS",description:"Ordinal bubbles with radius scaling",descriptionZh:"以半徑尺寸為比例的序數泡泡圖",chartParams:{colors:{light:{label:["#0088FF","#FF3232","#38BEA8","#6F3BD5","#314285","#42C724","#D52580","#F4721B","#D117EA","#7E7D7D"]},dark:{label:["#4BABFF","#FF6C6C","#7DD3C4","#8E6BC9","#5366AC","#86DC72","#FF72BB","#F9B052","#EF76FF","#C4C4C4"]}},padding:{top:60,right:40,bottom:60,left:160}},pluginParams:{OrdinalBubbles:{bubble:{arcScaleType:"radius"}},MultiValueLegend:{placement:"bottom",padding:14,listRectRadius:7}}},eet={name:"PRESET_ORDINAL_BUBBLES_SEPARATE_CATEGORY",description:"Ordinal bubbles with separate category",descriptionZh:"分開顯示category的序數泡泡圖",chartParams:{colors:{light:{label:["#0088FF","#FF3232","#38BEA8","#6F3BD5","#314285","#42C724","#D52580","#F4721B","#D117EA","#7E7D7D"]},dark:{label:["#4BABFF","#FF6C6C","#7DD3C4","#8E6BC9","#5366AC","#86DC72","#FF72BB","#F9B052","#EF76FF","#C4C4C4"]}},padding:{top:60,right:40,bottom:60,left:140}},dataFormatter:{separateCategory:!0,container:{columnGap:140,rowGap:60}},pluginParams:{OrdinalBubbles:{},OrdinalAxis:{ticks:2},MultiValueLegend:{placement:"bottom",padding:14,listRectRadius:7}}},net={name:"PRESET_ORDINAL_BUBBLES_SIMPLE",description:"Simple ordinal bubbles",descriptionZh:"簡單的序數泡泡圖",chartParams:{colors:{light:{label:["#0088FF","#FF3232","#38BEA8","#6F3BD5","#314285","#42C724","#D52580","#F4721B","#D117EA","#7E7D7D"]},dark:{label:["#4BABFF","#FF6C6C","#7DD3C4","#8E6BC9","#5366AC","#86DC72","#FF72BB","#F9B052","#EF76FF","#C4C4C4"]}},padding:{top:60,right:40,bottom:60,left:140}},pluginParams:{OrdinalBubbles:{},OrdinalAxis:{ticks:2},MultiValueLegend:{placement:"bottom",padding:7,listRectRadius:7}}},ret={name:"PRESET_RACING_BARS_ALL_ITEMS",description:"Racing bars for all items",descriptionZh:"顯示全部項目的賽跑長條圖",chartParams:{colors:{light:{label:["#0088FF","#16B59B","#6F3BD5","#EE5F13","#F9B052","#D4785A","#42C724","#FF4B4B","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#7DD3C4","#8454D4","#FF6C6C","#FAC77D","#D58C75","#42C724","#FF8B8B","#5366AC","#FF8DC8"]}},padding:{top:60,right:60,bottom:100,left:60},transitionDuration:500},pluginParams:{RacingBars:{rankingAmount:"auto",autorun:!0},MultiValueLegend:{placement:"bottom",padding:14}}},aet={name:"PRESET_RACING_BARS_BASIC",description:"Basic racing bars",descriptionZh:"基本賽跑長條圖",chartParams:{colors:{light:{label:["#0088FF","#16B59B","#6F3BD5","#EE5F13","#F9B052","#D4785A","#42C724","#FF4B4B","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#7DD3C4","#8454D4","#FF6C6C","#FAC77D","#D58C75","#42C724","#FF8B8B","#5366AC","#FF8DC8"]}},padding:{top:60,right:60,bottom:100,left:60},transitionDuration:500},pluginParams:{RacingBars:{autorun:!0},MultiValueLegend:{placement:"bottom",padding:14}}},iet={name:"PRESET_RACING_BARS_FAST",description:"Fast racing bars",descriptionZh:"快速的賽跑長條圖",chartParams:{colors:{light:{label:["#0088FF","#16B59B","#6F3BD5","#EE5F13","#F9B052","#D4785A","#42C724","#FF4B4B","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#7DD3C4","#8454D4","#FF6C6C","#FAC77D","#D58C75","#42C724","#FF8B8B","#5366AC","#FF8DC8"]}},padding:{top:60,right:60,bottom:100,left:60},transitionDuration:250},pluginParams:{RacingBars:{autorun:!0},MultiValueLegend:{placement:"bottom",padding:14}}},oet={name:"PRESET_RACING_BARS_FASTER",description:"Faster racing bars",descriptionZh:"更快速的賽跑長條圖",chartParams:{colors:{light:{label:["#0088FF","#16B59B","#6F3BD5","#EE5F13","#F9B052","#D4785A","#42C724","#FF4B4B","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#7DD3C4","#8454D4","#FF6C6C","#FAC77D","#D58C75","#42C724","#FF8B8B","#5366AC","#FF8DC8"]}},padding:{top:60,right:60,bottom:100,left:60},transitionDuration:125},pluginParams:{RacingBars:{autorun:!0},MultiValueLegend:{placement:"bottom",padding:14}}},set={name:"PRESET_RACING_BARS_LOOP",description:"Looping racing bars",descriptionZh:"循環的賽跑長條圖",chartParams:{colors:{light:{label:["#0088FF","#16B59B","#6F3BD5","#EE5F13","#F9B052","#D4785A","#42C724","#FF4B4B","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#7DD3C4","#8454D4","#FF6C6C","#FAC77D","#D58C75","#42C724","#FF8B8B","#5366AC","#FF8DC8"]}},padding:{top:60,right:60,bottom:100,left:60},transitionDuration:500},pluginParams:{RacingBars:{autorun:!0,loop:!0},MultiValueLegend:{placement:"bottom",padding:14}}},uet={name:"PRESET_RACING_BARS_OUTSIDE_LABELS",description:"Racing bars with labels outside",descriptionZh:"標籤在外面的賽跑長條圖",chartParams:{colors:{light:{label:["#0088FF","#16B59B","#6F3BD5","#EE5F13","#F9B052","#D4785A","#42C724","#FF4B4B","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#7DD3C4","#8454D4","#FF6C6C","#FAC77D","#D58C75","#42C724","#FF8B8B","#5366AC","#FF8DC8"]}},padding:{top:60,right:60,bottom:100,left:160},transitionDuration:500},pluginParams:{RacingBars:{barLabel:{position:"outside",colorType:"primary"},autorun:!0},MultiValueLegend:{placement:"bottom",padding:14}}},cet={name:"PRESET_RACING_BARS_SEPARATE_CATEGORY",description:"Racing bars with separate category",descriptionZh:"分開顯示category的賽跑長條圖",chartParams:{colors:{light:{label:["#0088FF","#16B59B","#6F3BD5","#EE5F13","#F9B052","#D4785A","#42C724","#FF4B4B","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#7DD3C4","#8454D4","#FF6C6C","#FAC77D","#D58C75","#42C724","#FF8B8B","#5366AC","#FF8DC8"]}},padding:{top:40,right:40,bottom:60,left:140},transitionDuration:500},dataFormatter:{separateCategory:!0,container:{rowGap:60}},pluginParams:{RacingBars:{barLabel:{position:"outside",colorType:"primary",padding:10},valueLabel:{padding:10},autorun:!0},RacingValueAxis:{ticks:3},MultiValueLegend:{placement:"bottom",padding:14}}},fet={name:"PRESET_RACING_BARS_SIMPLE",description:"Simple racing bars",descriptionZh:"簡單賽跑長條圖",chartParams:{colors:{light:{label:["#0088FF","#16B59B","#6F3BD5","#EE5F13","#F9B052","#D4785A","#42C724","#FF4B4B","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#7DD3C4","#8454D4","#FF6C6C","#FAC77D","#D58C75","#42C724","#FF8B8B","#5366AC","#FF8DC8"]}},padding:{top:60,right:40,bottom:40,left:40},transitionDuration:500},pluginParams:{RacingBars:{autorun:!0},MultiValueLegend:{placement:"bottom",padding:7}}},det={name:"PRESET_RACING_BARS_STOP",description:"Stopped racing bars",descriptionZh:"停止的賽跑長條圖",chartParams:{colors:{light:{label:["#0088FF","#16B59B","#6F3BD5","#EE5F13","#F9B052","#D4785A","#42C724","#FF4B4B","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#7DD3C4","#8454D4","#FF6C6C","#FAC77D","#D58C75","#42C724","#FF8B8B","#5366AC","#FF8DC8"]}},padding:{top:60,right:60,bottom:100,left:60}},pluginParams:{RacingBars:{autorun:!1},MultiValueLegend:{placement:"bottom",padding:14}}},het={name:"PRESET_SCATTER_BASIC",description:"Basic scatter",descriptionZh:"基本散布圖",chartParams:{colors:{light:{label:["#16B59B","#0088FF","#FF3232","#8E6BC9","#904026","#E23D93","#F38428","#6BDC51","#C50669","#4B25B3"]},dark:{label:["#7DD3C4","#4BABFF","#FF6C6C","#AA93D2","#D58C75","#FF8DC8","#F9B052","#ACE1A0","#F35CAA","#6F3BD5"]}},padding:{top:40,right:40,bottom:100,left:80}},pluginParams:{MultiValueLegend:{placement:"bottom",padding:14,listRectRadius:7}}},pet={name:"PRESET_SCATTER_BUBBLES_BASIC",description:"Basic scatter bubbles",descriptionZh:"基本的散布泡泡圖",chartParams:{colors:{light:{label:["#0088FF","#FF3232","#38BEA8","#6F3BD5","#314285","#42C724","#D52580","#F4721B","#D117EA","#7E7D7D"]},dark:{label:["#4BABFF","#FF6C6C","#7DD3C4","#8E6BC9","#5366AC","#86DC72","#FF72BB","#F9B052","#EF76FF","#C4C4C4"]}},padding:{top:40,right:40,bottom:100,left:80}},pluginParams:{MultiValueLegend:{placement:"bottom",padding:14,listRectRadius:7}}},met={name:"PRESET_SCATTER_BUBBLES_SCALING_BY_RADIUS",description:"Scatter bubbles with radius scaling",descriptionZh:"以半徑尺寸為比例的散布泡泡圖",chartParams:{colors:{light:{label:["#0088FF","#FF3232","#38BEA8","#6F3BD5","#314285","#42C724","#D52580","#F4721B","#D117EA","#7E7D7D"]},dark:{label:["#4BABFF","#FF6C6C","#7DD3C4","#8E6BC9","#5366AC","#86DC72","#FF72BB","#F9B052","#EF76FF","#C4C4C4"]}},padding:{top:40,right:40,bottom:100,left:80}},pluginParams:{MultiValueLegend:{placement:"bottom",padding:14,listRectRadius:7},ScatterBubbles:{arcScaleType:"radius"}}},get={name:"PRESET_SCATTER_BUBBLES_LINEAR_OPACITY",description:"Scatter bubbles with linear opacity",descriptionZh:"以資料量漸變透明度的散布泡泡圖",chartParams:{colors:{light:{label:["#0088FF","#FF3232","#38BEA8","#6F3BD5","#314285","#42C724","#D52580","#F4721B","#D117EA","#7E7D7D"]},dark:{label:["#4BABFF","#FF6C6C","#7DD3C4","#8E6BC9","#5366AC","#86DC72","#FF72BB","#F9B052","#EF76FF","#C4C4C4"]}},padding:{top:40,right:40,bottom:100,left:80}},pluginParams:{MultiValueLegend:{placement:"bottom",padding:14,listRectRadius:7},ScatterBubbles:{valueLinearOpacity:[.5,1]}}},yet={name:"PRESET_SCATTER_BUBBLES_SEPARATE_CATEGORY",description:"Scatter bubbles with separate category",descriptionZh:"分開顯示category的散布泡泡圖",chartParams:{colors:{light:{label:["#0088FF","#FF3232","#38BEA8","#6F3BD5","#314285","#42C724","#D52580","#F4721B","#D117EA","#7E7D7D"]},dark:{label:["#4BABFF","#FF6C6C","#7DD3C4","#8E6BC9","#5366AC","#86DC72","#FF72BB","#F9B052","#EF76FF","#C4C4C4"]}},padding:{top:40,right:40,bottom:100,left:80}},dataFormatter:{separateCategory:!0,container:{columnGap:100,rowGap:70}},pluginParams:{MultiValueLegend:{placement:"bottom",padding:14,listRectRadius:7}}},bet={name:"PRESET_SCATTER_BUBBLES_SIMPLE",description:"Simple scatter bubbles",descriptionZh:"簡單的散布泡泡圖",chartParams:{colors:{light:{label:["#0088FF","#FF3232","#38BEA8","#6F3BD5","#314285","#42C724","#D52580","#F4721B","#D117EA","#7E7D7D"]},dark:{label:["#4BABFF","#FF6C6C","#7DD3C4","#8E6BC9","#5366AC","#86DC72","#FF72BB","#F9B052","#EF76FF","#C4C4C4"]}},padding:{top:40,right:40,bottom:60,left:80}},pluginParams:{MultiValueLegend:{placement:"bottom",padding:7,listRectRadius:7}}},xet={name:"PRESET_SCATTER_SEPARATE_CATEGORY",description:"Scatter with separate category",descriptionZh:"分開顯示category的散布圖",chartParams:{colors:{light:{label:["#16B59B","#0088FF","#FF3232","#8E6BC9","#904026","#E23D93","#F38428","#6BDC51","#C50669","#4B25B3"]},dark:{label:["#7DD3C4","#4BABFF","#FF6C6C","#AA93D2","#D58C75","#FF8DC8","#F9B052","#ACE1A0","#F35CAA","#6F3BD5"]}},padding:{top:40,right:40,bottom:100,left:80}},dataFormatter:{separateCategory:!0,container:{columnGap:100,rowGap:70}},pluginParams:{XYAxes:{xAxis:{ticks:3},yAxis:{ticks:3}},MultiValueLegend:{placement:"bottom",padding:14,listRectRadius:7}}},vet={name:"PRESET_SCATTER_SIMPLE",description:"Simple scatter",descriptionZh:"簡單散布圖",chartParams:{colors:{light:{label:["#16B59B","#0088FF","#FF3232","#8E6BC9","#904026","#E23D93","#F38428","#6BDC51","#C50669","#4B25B3"]},dark:{label:["#7DD3C4","#4BABFF","#FF6C6C","#AA93D2","#D58C75","#FF8DC8","#F9B052","#ACE1A0","#F35CAA","#6F3BD5"]}},padding:{top:40,right:40,bottom:60,left:80}},pluginParams:{MultiValueLegend:{placement:"bottom",padding:7,listRectRadius:7}}},$et={name:"PRESET_FORCE_DIRECTED_BASIC",description:"Basic force directed chart",descriptionZh:"基本力導向圖",chartParams:{colors:{light:{label:["#0088FF","#FF72BB","#16B59B","#F9B052","#6F3BD5","#42C724","#FF3232","#904026","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#FFA0A0","#7DD3C4","#FAC77D","#8454D4","#42C724","#FF6C6C","#D4785A","#5366AC","#FF8DC8"]}}},pluginParams:{ForceDirected:{},RelationshipLegend:{listRectRadius:7}}},Det={name:"PRESET_FORCE_DIRECTED_BUBBLES_BASIC",description:"Basic force directed bubbles chart",descriptionZh:"基本力導向泡泡圖",chartParams:{colors:{light:{label:["#0088FF","#FF3232","#38BEA8","#6F3BD5","#314285","#42C724","#D52580","#F4721B","#D117EA","#7E7D7D"]},dark:{label:["#4BABFF","#FF6C6C","#7DD3C4","#8E6BC9","#5366AC","#86DC72","#FF72BB","#F9B052","#EF76FF","#C4C4C4"]}}},pluginParams:{ForceDirectedBubbles:{},RelationshipLegend:{listRectRadius:7}}},_et={name:"PRESET_FORCE_DIRECTED_BUBBLES_FIX_ARROW_WIDTH",description:"Force-directed bubble chart with fixed arrow width",descriptionZh:"固定箭頭寬度的力導向泡泡圖",chartParams:{colors:{light:{label:["#0088FF","#FF3232","#38BEA8","#6F3BD5","#314285","#42C724","#D52580","#F4721B","#D117EA","#7E7D7D"]},dark:{label:["#4BABFF","#FF6C6C","#7DD3C4","#8E6BC9","#5366AC","#86DC72","#FF72BB","#F9B052","#EF76FF","#C4C4C4"]}}},pluginParams:{ForceDirectedBubbles:{arrow:{strokeWidthMin:1.5,strokeWidthMax:1.5}},RelationshipLegend:{listRectRadius:7}}},Aet={name:"PRESET_FORCE_DIRECTED_BUBBLES_NONE_ARROW",description:"Force-directed bubble chart without arrows",descriptionZh:"沒有箭頭的力導向泡泡圖",chartParams:{colors:{light:{label:["#0088FF","#FF3232","#38BEA8","#6F3BD5","#314285","#42C724","#D52580","#F4721B","#D117EA","#7E7D7D"]},dark:{label:["#4BABFF","#FF6C6C","#7DD3C4","#8E6BC9","#5366AC","#86DC72","#FF72BB","#F9B052","#EF76FF","#C4C4C4"]}}},pluginParams:{ForceDirectedBubbles:{arrow:{pointerWidth:0,pointerHeight:0}},RelationshipLegend:{listRectRadius:7}}},Cet={name:"PRESET_FORCE_DIRECTED_BUBBLES_NONE_ZOOM",description:"Force Directed bubbles chart without mouse drag and zoom control",descriptionZh:"無滑鼠托曳及縮放控制的力導向泡泡圖",chartParams:{colors:{light:{label:["#0088FF","#FF3232","#38BEA8","#6F3BD5","#314285","#42C724","#D52580","#F4721B","#D117EA","#7E7D7D"]},dark:{label:["#4BABFF","#FF6C6C","#7DD3C4","#8E6BC9","#5366AC","#86DC72","#FF72BB","#F9B052","#EF76FF","#C4C4C4"]}}},pluginParams:{ForceDirectedBubbles:{zoomable:!1},RelationshipLegend:{listRectRadius:7}}},Pet={name:"PRESET_FORCE_DIRECTED_BUBBLES_SIMPLE",description:"Simple force directed bubbles chart",descriptionZh:"簡單力導向泡泡圖",chartParams:{colors:{light:{label:["#0088FF","#FF3232","#38BEA8","#6F3BD5","#314285","#42C724","#D52580","#F4721B","#D117EA","#7E7D7D"]},dark:{label:["#4BABFF","#FF6C6C","#7DD3C4","#8E6BC9","#5366AC","#86DC72","#FF72BB","#F9B052","#EF76FF","#C4C4C4"]}}},pluginParams:{ForceDirectedBubbles:{},RelationshipLegend:{listRectRadius:7,padding:7}}},Fet={name:"PRESET_FORCE_DIRECTED_NONE_ZOOM",description:"Force directed chart without mouse drag and zoom control",descriptionZh:"無滑鼠托曳及縮放控制的力導向圖",chartParams:{colors:{light:{label:["#0088FF","#FF72BB","#16B59B","#F9B052","#6F3BD5","#42C724","#FF3232","#904026","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#FFA0A0","#7DD3C4","#FAC77D","#8454D4","#42C724","#FF6C6C","#D4785A","#5366AC","#FF8DC8"]}}},pluginParams:{ForceDirected:{zoomable:!1},RelationshipLegend:{listRectRadius:7}}},Tet={name:"PRESET_FORCE_DIRECTED_FIX_FONT_SIZE",description:"Force directed chart with fixed font size",descriptionZh:"固定字體大小的力導向圖",chartParams:{colors:{light:{label:["#0088FF","#FF72BB","#16B59B","#F9B052","#6F3BD5","#42C724","#FF3232","#904026","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#FFA0A0","#7DD3C4","#FAC77D","#8454D4","#42C724","#FF6C6C","#D4785A","#5366AC","#FF8DC8"]}}},pluginParams:{ForceDirected:{dotLabel:{sizeFixed:!0},arrowLabel:{sizeFixed:!0}},RelationshipLegend:{listRectRadius:7}}},wet={name:"PRESET_FORCE_DIRECTED_NONE_ARROW",description:"Force directed chart without arrows",descriptionZh:"沒有箭頭的力導向圖",chartParams:{colors:{light:{label:["#0088FF","#FF72BB","#16B59B","#F9B052","#6F3BD5","#42C724","#FF3232","#904026","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#FFA0A0","#7DD3C4","#FAC77D","#8454D4","#42C724","#FF6C6C","#D4785A","#5366AC","#FF8DC8"]}}},pluginParams:{ForceDirected:{arrow:{pointerWidth:0,pointerHeight:0}},RelationshipLegend:{listRectRadius:7}}},Bet={name:"PRESET_FORCE_DIRECTED_SIMPLE",description:"Simple force directed chart",descriptionZh:"簡單力導向圖",chartParams:{colors:{light:{label:["#0088FF","#FF72BB","#16B59B","#F9B052","#6F3BD5","#42C724","#FF3232","#904026","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#FFA0A0","#7DD3C4","#FAC77D","#8454D4","#42C724","#FF6C6C","#D4785A","#5366AC","#FF8DC8"]}}},pluginParams:{ForceDirected:{},RelationshipLegend:{listRectRadius:7,padding:7}}},Eet={name:"PRESET_TREE_MAP_BASIC",description:"Basic tree map",descriptionZh:"基本樹狀矩形圖",chartParams:{colors:{light:{label:["#0088FF","#16B59B","#6F3BD5","#EE5F13","#F9B052","#D4785A","#42C724","#FF4B4B","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#7DD3C4","#8454D4","#FF6C6C","#FAC77D","#D58C75","#42C724","#FF8B8B","#5366AC","#FF8DC8"]}},padding:{top:40,right:40,bottom:70,left:40}},pluginParams:{TreeMap:{},TreeLegend:{placement:"bottom",padding:14}}},Let={name:"PRESET_TREE_MAP_SIMPLE",description:"Simple tree map",descriptionZh:"簡單樹狀矩形圖",chartParams:{colors:{light:{label:["#0088FF","#16B59B","#6F3BD5","#EE5F13","#F9B052","#D4785A","#42C724","#FF4B4B","#1F3172","#E23D93"]},dark:{label:["#4BABFF","#7DD3C4","#8454D4","#FF6C6C","#FAC77D","#D58C75","#42C724","#FF8B8B","#5366AC","#FF8DC8"]}},padding:{top:40,right:40,bottom:40,left:40}},pluginParams:{TreeMap:{},TreeLegend:{placement:"bottom",padding:7}}};I.Bars=AU,I.BarsPN=PU,I.BarsTriangle=YU,I.Bubbles=JK,I.CONTAINER_PLUGIN_PARAMS=ZJ,I.DEFAULTL_DATA_RELATIONA=tF,I.DEFAULT_BARS_DIVERGING_PARAMS=G3,I.DEFAULT_BARS_PARAMS=bs,I.DEFAULT_BARS_TRIANGLE_PARAMS=Mb,I.DEFAULT_BUBBLES_PARAMS=e0,I.DEFAULT_CHART_HEIGHT=p0,I.DEFAULT_CHART_OPTIONS=nr,I.DEFAULT_CHART_PARAMS=Af,I.DEFAULT_CHART_WIDTH=h0,I.DEFAULT_DATA_FORMATTER_CONTAINER=Wi,I.DEFAULT_DATA_FORMATTER_GRID=Tf,I.DEFAULT_DATA_FORMATTER_GRID_GRID=Ff,I.DEFAULT_DATA_FORMATTER_GROUP_AXIS=m0,I.DEFAULT_DATA_FORMATTER_MULTI_GRID=wf,I.DEFAULT_DATA_FORMATTER_MULTI_GRID_GRID=Xi,I.DEFAULT_DATA_FORMATTER_MULTI_VALUE=Bf,I.DEFAULT_DATA_FORMATTER_RELATIONSHIP=Lf,I.DEFAULT_DATA_FORMATTER_SERIES=Pf,I.DEFAULT_DATA_FORMATTER_TREE=Ef,I.DEFAULT_DATA_FORMATTER_VALUE_AXIS=$e,I.DEFAULT_DATA_FORMATTER_X_Y_AXIS=Cf,I.DEFAULT_DATA_GRID=ZP,I.DEFAULT_DATA_MULTI_GRID=JP,I.DEFAULT_DATA_MULTI_VALUE=KP,I.DEFAULT_DATA_SERIES=qP,I.DEFAULT_DATA_TREE=QP,I.DEFAULT_DOTS_PARAMS=Eb,I.DEFAULT_FORCE_DIRECTED_BUBBLES_PARAMS=ji,I.DEFAULT_FORCE_DIRECTED_PARAMS=Gi,I.DEFAULT_GRID_LEGEND_PARAMS=kb,I.DEFAULT_GRID_TOOLTIP_PARAMS=$d,I.DEFAULT_GROUP_AUX_PARAMS=xd,I.DEFAULT_GROUP_AXIS_PARAMS=vd,I.DEFAULT_GROUP_ZOOM_PARAMS=Ib,I.DEFAULT_INDICATOR_PARAMS=cP,I.DEFAULT_LINES_PARAMS=wb,I.DEFAULT_LINE_AREAS_PARAMS=Bb,I.DEFAULT_MULTI_BARS_PARAMS=eC,I.DEFAULT_MULTI_BARS_TRIANGLE_PARAMS=rC,I.DEFAULT_MULTI_DOTS_PARAMS=oC,I.DEFAULT_MULTI_GRID_LEGEND_PARAMS=tC,I.DEFAULT_MULTI_GRID_TOOLTIP_PARAMS=Fg,I.DEFAULT_MULTI_GROUP_AXIS_PARAMS=Cg,I.DEFAULT_MULTI_LINES_PARAMS=aC,I.DEFAULT_MULTI_LINE_AREAS_PARAMS=iC,I.DEFAULT_MULTI_STACKED_BARS_PARAMS=nC,I.DEFAULT_MULTI_STACKED_VALUE_AXIS_PARAMS=Pq,I.DEFAULT_MULTI_VALUE_AXIS_PARAMS=Il,I.DEFAULT_MULTI_VALUE_LEGEND_PARAMS=AC,I.DEFAULT_MULTI_VALUE_TOOLTIP_PARAMS=Og,I.DEFAULT_ORDINAL_AUX_PARAMS=Gg,I.DEFAULT_ORDINAL_AXIS_PARAMS=jg,I.DEFAULT_ORDINAL_BUBBLES_PARAMS=CC,I.DEFAULT_ORDINAL_ZOOM_PARAMS=iZ,I.DEFAULT_OVERLAPPING_STACKED_VALUE_AXES_PARAMS=lC,I.DEFAULT_OVERLAPPING_VALUE_AXES_PARAMS=Pg,I.DEFAULT_PADDING=_f,I.DEFAULT_PIE_EVENT_TEXTS_PARAMS=n0,I.DEFAULT_PIE_LABELS_PARAMS=r0,I.DEFAULT_PIE_PARAMS=lP,I.DEFAULT_RACING_BARS_PARAMS=Vg,I.DEFAULT_RACING_COUNTER_TEXTS_PARAMS=Yg,I.DEFAULT_RACING_VALUE_AXIS_PARAMS=Hg,I.DEFAULT_RELATIONSHIP_LEGEND_PARAMS=YC,I.DEFAULT_RELATIONSHIP_TOOLTIP_PARAMS=t0,I.DEFAULT_ROSE_LABELS_PARAMS=a0,I.DEFAULT_ROSE_PARAMS=sP,I.DEFAULT_SCATTER_BUBBLES_PARAMS=FC,I.DEFAULT_SCATTER_PARAMS=PC,I.DEFAULT_SERIES_LEGEND_PARAMS=uP,I.DEFAULT_SERIES_TOOLTIP_PARAMS=i0,I.DEFAULT_STACKED_BARS_PARAMS=Lb,I.DEFAULT_STACKED_VALUE_AXIS_PARAMS=Rb,I.DEFAULT_TREE_LEGEND_PARAMS=AP,I.DEFAULT_TREE_MAP_PARAMS=f0,I.DEFAULT_TREE_TOOLTIP_PARAMS=d0,I.DEFAULT_VALUE_AXIS_PARAMS=xs,I.DEFAULT_X_AXIS_PARAMS=Wg,I.DEFAULT_X_Y_AUX_PARAMS=bf,I.DEFAULT_X_Y_AXES_PARAMS=xf,I.DEFAULT_X_ZOOM_PARAMS=Xg,I.Dots=qU,I.ForceDirected=bK,I.ForceDirectedBubbles=zK,I.GridChart=O6,I.GridLegend=QU,I.GridTooltip=mq,I.GroupAux=Cq,I.GroupAxis=aq,I.GroupZoom=bq,I.Indicator=aQ,I.LineAreas=yU,I.Lines=uU,I.MultiBars=Bq,I.MultiBarsTriangle=Rq,I.MultiDots=Gq,I.MultiGridChart=W6,I.MultiGridLegend=Tq,I.MultiGridTooltip=Xq,I.MultiGroupAxis=Vq,I.MultiLineAreas=zq,I.MultiLines=kq,I.MultiStackedBars=Lq,I.MultiStackedValueAxis=qq,I.MultiValueAxis=Hq,I.MultiValueChart=m3,I.MultiValueLegend=lZ,I.MultiValueTooltip=uZ,I.OrdinalAux=vZ,I.OrdinalAxis=FZ,I.OrdinalBubbles=jZ,I.OrdinalZoom=YZ,I.OverlappingStackedValueAxes=aZ,I.OverlappingValueAxes=nZ,I.PRESET_BARS_HORIZONTAL_AND_ROUND=ftt,I.PRESET_BARS_HORIZONTAL_AND_THIN=dtt,I.PRESET_BARS_ROUND=htt,I.PRESET_BARS_THIN=ptt,I.PRESET_BUBBLES_BASIC=QQ,I.PRESET_BUBBLES_SCALING_BY_RADIUS=ttt,I.PRESET_BUBBLES_SEPARATE_ALL=rtt,I.PRESET_BUBBLES_SEPARATE_LABEL=ntt,I.PRESET_BUBBLES_SEPARATE_SERIES=ett,I.PRESET_BUBBLES_SIMPLE=att,I.PRESET_BUBBLES_SUM_SERIES=wP,I.PRESET_FORCE_DIRECTED_BASIC=$et,I.PRESET_FORCE_DIRECTED_BUBBLES_BASIC=Det,I.PRESET_FORCE_DIRECTED_BUBBLES_FIX_ARROW_WIDTH=_et,I.PRESET_FORCE_DIRECTED_BUBBLES_NONE_ARROW=Aet,I.PRESET_FORCE_DIRECTED_BUBBLES_NONE_ZOOM=Cet,I.PRESET_FORCE_DIRECTED_BUBBLES_SIMPLE=Pet,I.PRESET_FORCE_DIRECTED_FIX_FONT_SIZE=Tet,I.PRESET_FORCE_DIRECTED_NONE_ARROW=wet,I.PRESET_FORCE_DIRECTED_NONE_ZOOM=Fet,I.PRESET_FORCE_DIRECTED_SIMPLE=Bet,I.PRESET_GRID_BASIC=mtt,I.PRESET_GRID_HORIZONTAL=gtt,I.PRESET_GRID_PN_SCALE=btt,I.PRESET_GRID_PN_SCALE_SIMPLE=ytt,I.PRESET_GRID_ROTATE_AXIS_LABEL=xtt,I.PRESET_GRID_SEPARATE_SERIES=vtt,I.PRESET_GRID_SIMPLE=$tt,I.PRESET_LINES_BASIC=Ttt,I.PRESET_LINES_CURVE=wtt,I.PRESET_LINES_HORIZONTAL=Btt,I.PRESET_LINES_LOOSE_TICKS=Ett,I.PRESET_LINES_ROTATE_AXIS_LABEL=Ltt,I.PRESET_LINES_SIMPLE=Mtt,I.PRESET_LINES_WITH_SOLID_DOTS=Rtt,I.PRESET_LINE_AREAS_BASIC=Stt,I.PRESET_LINE_AREAS_CURVE=Dtt,I.PRESET_LINE_AREAS_HORIZONTAL=_tt,I.PRESET_LINE_AREAS_LOOSE_TICKS=Att,I.PRESET_LINE_AREAS_ROTATE_AXIS_LABEL=Ctt,I.PRESET_LINE_AREAS_SEPARATE_SERIES=Ptt,I.PRESET_LINE_AREAS_SIMPLE=Ftt,I.PRESET_MULTI_GRID_BASIC=Itt,I.PRESET_MULTI_GRID_DIVERGING=Ntt,I.PRESET_MULTI_GRID_DIVERGING_SIMPLE=ktt,I.PRESET_MULTI_GRID_ROUND_STYLE=Ott,I.PRESET_MULTI_GRID_ROUND_STYLE_SIMPLE=ztt,I.PRESET_MULTI_GRID_SEPARATE_GRID=jtt,I.PRESET_MULTI_GRID_SEPARATE_GRID_SIMPLE=Gtt,I.PRESET_MULTI_GRID_SIMPLE=Vtt,I.PRESET_MULTI_LINES_SEPARATE_GRID=Xtt,I.PRESET_MULTI_LINES_SEPARATE_GRID_SIMPLE=Wtt,I.PRESET_MULTI_LINE_AREAS_SEPARATE_GRID=Htt,I.PRESET_MULTI_LINE_AREAS_SEPARATE_GRID_SIMPLE=Ytt,I.PRESET_MULTI_VALUE_BASIC=Utt,I.PRESET_MULTI_VALUE_SEPARATE_CATEGORY=qtt,I.PRESET_MULTI_VALUE_SIMPLE=Ztt,I.PRESET_ORDINAL_BUBBLES_ALL_ITEMS=Jtt,I.PRESET_ORDINAL_BUBBLES_BASIC=Ktt,I.PRESET_ORDINAL_BUBBLES_LINEAR_OPACITY=Qtt,I.PRESET_ORDINAL_BUBBLES_SCALING_BY_RADIUS=tet,I.PRESET_ORDINAL_BUBBLES_SEPARATE_CATEGORY=eet,I.PRESET_ORDINAL_BUBBLES_SIMPLE=net,I.PRESET_PIE_BASIC=BP,I.PRESET_PIE_DONUT=EP,I.PRESET_PIE_HALF_DONUT=LP,I.PRESET_PIE_INDICATOR_LINE=itt,I.PRESET_PIE_INDICATOR_NEEDLE=ott,I.PRESET_PIE_INDICATOR_PIN=ltt,I.PRESET_PIE_INDICATOR_TRIANGLE=stt,I.PRESET_PIE_SEPARATE_LABEL=IP,I.PRESET_PIE_SEPARATE_SERIES=RP,I.PRESET_PIE_SIMPLE=kP,I.PRESET_PIE_SUM_SERIES=NP,I.PRESET_PIE_WITH_INNER_LABELS=MP,I.PRESET_RACING_BARS_ALL_ITEMS=ret,I.PRESET_RACING_BARS_BASIC=aet,I.PRESET_RACING_BARS_FAST=iet,I.PRESET_RACING_BARS_FASTER=oet,I.PRESET_RACING_BARS_LOOP=set,I.PRESET_RACING_BARS_OUTSIDE_LABELS=uet,I.PRESET_RACING_BARS_SEPARATE_CATEGORY=cet,I.PRESET_RACING_BARS_SIMPLE=fet,I.PRESET_RACING_BARS_STOP=det,I.PRESET_ROSE_BASIC=zP,I.PRESET_ROSE_SCALING_BY_RADIUS=OP,I.PRESET_ROSE_SEPARATE_ALL=jP,I.PRESET_ROSE_SEPARATE_LABEL=GP,I.PRESET_ROSE_SEPARATE_SERIES=VP,I.PRESET_ROSE_SEPARATE_SERIES_AND_SUM_SERIES=WP,I.PRESET_ROSE_SIMPLE=YP,I.PRESET_ROSE_SUM_SERIES=HP,I.PRESET_SCATTER_BASIC=het,I.PRESET_SCATTER_BUBBLES_BASIC=pet,I.PRESET_SCATTER_BUBBLES_LINEAR_OPACITY=get,I.PRESET_SCATTER_BUBBLES_SCALING_BY_RADIUS=met,I.PRESET_SCATTER_BUBBLES_SEPARATE_CATEGORY=yet,I.PRESET_SCATTER_BUBBLES_SIMPLE=bet,I.PRESET_SCATTER_SEPARATE_CATEGORY=xet,I.PRESET_SCATTER_SIMPLE=vet,I.PRESET_SERIES_BASIC=utt,I.PRESET_SERIES_SEPARATE_SERIES=XP,I.PRESET_SERIES_SEPARATE_SERIES_AND_SUM_SERIES=ctt,I.PRESET_SERIES_SUM_SERIES=UP,I.PRESET_TREE_MAP_BASIC=Eet,I.PRESET_TREE_MAP_SIMPLE=Let,I.Pie=uQ,I.PieEventTexts=dQ,I.PieLabels=DQ,I.RacingBars=nJ,I.RacingCounterTexts=lJ,I.RacingValueAxis=gJ,I.RelationshipChart=_3,I.RelationshipLegend=GK,I.RelationshipTooltip=VK,I.Rose=TQ,I.RoseLabels=OQ,I.Scatter=$J,I.ScatterBubbles=PJ,I.SeriesChart=M6,I.SeriesLegend=jQ,I.SeriesTooltip=YQ,I.StackedBars=RU,I.StackedValueAxis=fq,I.TOOLTIP_PARAMS=VC,I.TreeChart=E3,I.TreeLegend=WQ,I.TreeMap=ZQ,I.TreeTooltip=KQ,I.ValueAxis=uq,I.XAxis=TJ,I.XYAux=kJ,I.XYAxes=XJ,I.XZoom=qJ,I.calcContainerPosition=By,I.calcContainerPositionScaled=Pa,I.categoryDataMapObservable=so,I.containerSizeObservable=gs,I.createAxisToLabelIndexScale=F6,I.createAxisToValueScale=C6,I.createDefaultCategoryLabel=cs,I.createDefaultDatumId=ao,I.createDefaultGroupLabel=td,I.createDefaultSeriesLabel=us,I.createDefaultValueLabel=_y,I.createGridGroupLabels=Cy,I.createGridSeriesLabels=ed,I.createLabelToAxisScale=P6,I.createMultiGridGroupLabels=Py,I.createMultiGridSeriesLabels=Ay,I.createValueToAxisScale=Ne,I.defineGridPlugin=R3,I.defineMultiGridPlugin=I3,I.defineMultiValuePlugin=k3,I.defineNoneDataPlugin=N3,I.defineRelationshipPlugin=z3,I.defineSeriesPlugin=M3,I.defineTreePlugin=O3,I.formatCommaNumber=eF,I.formatValueToLabel=a5,I.getMinMax=ar,I.getMinMaxGrid=nd,I.getMinMaxMultiGrid=o5,I.getMinMaxMultiValue=l5,I.getMinMaxMultiValueXY=s5,I.getMinMaxSeries=i5,I.getMinMaxValue=Fy,I.groupDataMapObservable=gd,I.highlightObservable=ur,I.isDom=y0,I.isFunction=g0,I.isPlainObject=ie,I.mergeOptionsWithDefault=rr,I.resizeObservable=pb,I.seriesColorPredicate=ir,I.seriesDataMapObservable=ms,I.textSizePxObservable=Br,I.transposeData=Ty,Object.defineProperty(I,Symbol.toStringTag,{value:"Module"})});
312
+ }
313
+ if (eventData.target.modelType === 'series') {
314
+ return renderSeriesData()
315
+ } else if (eventData.target.modelType === 'grid') {
316
+ return renderGridData()
317
+ } else if (eventData.target.modelType === 'multivariate') {
318
+ return renderMultivariateData()
319
+ } else if (eventData.target.modelType === 'graph') {
320
+ return renderGraphData()
321
+ } else if (eventData.target.modelType === 'tree') {
322
+ return renderTreeData()
323
+ }
324
+ return ''
325
+ }`;const g4=({selectedSeriesData$:e,pluginParams$:t})=>N({selectedSeriesData:e,pluginParams:t}).pipe(W(0),A(({selectedSeriesData:n,pluginParams:r})=>n.flat().sort(r.sort??void 0).map((i,o)=>{const a=r.visibleFilter;return{...i,visible:a?a(i):!0,seq:o}}).sort((i,o)=>i.index-o.index).reduce((i,o)=>(i[o.seriesIndex]||(i[o.seriesIndex]=[]),i[o.seriesIndex].push(o),i),[])));function Wx(e,t){const n=t.textSizePx*1.5,i=(e==null?[]:Array.isArray(e)?e:typeof e=="string"?e.split(`
326
+ `):[e]).filter(o=>o!="").map((o,a)=>`<tspan x="0" y="${a*n}">${o}</tspan>`).join("");return i?`<text font-size="${t.textSize}" fill="${t.textColor}" x="0" y="0" style="dominant-baseline:text-before-edge">
327
+ ${i}
328
+ </text>`:""}function m4({rootSelection:e,pluginName:t,layerName:n,gClassName:r,boxClassName:i,rootWidth:o,rootHeight:a,svgString:s,tooltipStyle:c,event:l}){e.interrupt("fadeout");const u=5,h=s?[s]:[],f=s?[c]:[],g=e.selectAll(`g.${r}`).data(h).join(L=>L.append("g").classed(r,!0).attr("pointer-events","none"),L=>L,L=>L.style("opacity",0).remove()).attr("transform",()=>`translate(${l.offsetX}, ${l.offsetY})`).selectAll(`g.${i}`).data(f).join(L=>L.append("g").classed(U(t,n,"box"),!0)),m=g.selectAll("rect").data(f).join(L=>L.append("rect").attr("rx",u).attr("ry",u)).attr("fill",L=>L.backgroundColor).attr("stroke",L=>L.strokeColor).attr("opacity",L=>L.backgroundOpacity),d=g.selectAll("g").data(h).join(L=>L.append("g").classed(U(t,n,"content"),!0).attr("transform",()=>`translate(${c.padding}, ${c.padding})`));h.length&&J6(d,h[0]);const y=d!=null&&d.node()?z1(d):{width:0,height:0};m.attr("width",y.width+c.padding*2).attr("height",y.height+c.padding*2);const b=g!=null&&g.node()?z1(g):{width:0,height:0},x=o-b.width,v=a-b.height,S=l.offsetX+c.offset[0]>x?x-l.offsetX:c.offset[0],$=l.offsetY+c.offset[1]>v?v-l.offsetY:c.offset[1];g.attr("transform",L=>`translate(${S}, ${$})`),g.attr("transform",L=>`translate(${S}, ${$})`)}function y4(e){Ld(`g.${e}`).remove()}const b4=({pluginName:e,layerName:t,rootSelection:n,baseTooltipParams$:r,theme$:i,layout$:o,event$:a,SeriesDataMap$:s,CategoryDataMap$:c})=>{const l=new J,u=U(e,t,"g"),h=U(e,t,"box"),f=a.pipe(R(l),mt(S=>S.eventName==="mouseover"||S.eventName==="mousemove")),p=a.pipe(R(l),mt(S=>S.eventName==="mouseout")),g=Nt(i),m=N({theme:i,fontSizePx:g,baseTooltipParams:r}).pipe(R(l),W(0),A(S=>({backgroundColor:de(S.baseTooltipParams.backgroundColorType,S.theme),backgroundOpacity:S.baseTooltipParams.backgroundOpacity,strokeColor:de(S.baseTooltipParams.strokeColorType,S.theme),offset:S.baseTooltipParams.offset,padding:S.baseTooltipParams.padding,textSize:S.theme.fontSize,textSizePx:S.fontSizePx,textColor:de(S.baseTooltipParams.textColorType,S.theme)}))),d=N({baseTooltipParams:r,tooltipStyle:m,SeriesDataMap:s,CategoryDataMap:c}).pipe(R(l),W(0),A(S=>$=>{const L=S.baseTooltipParams.renderFn($,{utils:{toCurrency:j$,measureTextWidth:Gr},styles:S.tooltipStyle,seriesData:$.target.series?S.SeriesDataMap.get($.target.series):[],categoryData:$.target.category?S.CategoryDataMap.get($.target.category):[]});if(typeof L=="string"){const E=L.trim();if(E.slice(0,1)==="<"&&E.slice(E.length-1,E.length)===">")return L;{const C=L.split(`
329
+ `);return Wx(C,S.tooltipStyle)}}else if(Array.isArray(L))return Wx(L,S.tooltipStyle);return""})),y=N({event:f,contentRenderFn:d}).pipe(R(l),W(0),A(S=>S.contentRenderFn(S.event))),b=p.pipe(R(l),A(S=>"")),x=ia(y,b).pipe(R(l),X((S,$)=>S===$)),v=ia(f,p).pipe(R(l));return N({svgString:x,layout:o,tooltipStyle:m}).pipe(R(l),W(0),V(S=>v.pipe(A($=>({svgString:S.svgString,layout:S.layout,tooltipStyle:S.tooltipStyle,eventTooltip:$}))))).subscribe(S=>{if(S.eventTooltip.eventName==="mouseout"){y4(u);return}m4({rootSelection:n,pluginName:e,layerName:t,gClassName:u,boxClassName:h,rootWidth:S.layout.rootWidth,rootHeight:S.layout.rootHeight,svgString:S.svgString,tooltipStyle:S.tooltipStyle,event:S.eventTooltip.event})}),()=>{l.next(void 0)}},x4="Tooltip",Gx="Tooltip",v4=he({name:Gx,defaultParams:wh,layerIndex:$8,initShow:!0,validator:e=>H(e,{backgroundColorType:{toBe:"ColorType",test:n=>typeof n=="string"&&["data","primary","secondary","dataContrast","background","none"].includes(n)},backgroundOpacity:{toBeTypes:["number"]},strokeColorType:{toBe:"ColorType",test:n=>typeof n=="string"&&["data","primary","secondary","dataContrast","background","none"].includes(n)},offset:{toBe:"[number, number]",test:n=>Array.isArray(n)&&n.length===2&&typeof n[0]=="number"&&typeof n[1]=="number"},padding:{toBeTypes:["number"]},textColorType:{toBe:"ColorType",test:n=>typeof n=="string"&&["data","primary","secondary","dataContrast","background","none"].includes(n)},renderFn:{toBeTypes:["Function"]}}),setup:({svgG:e,pluginParams$:t,layerParams$:n,context:r})=>{const i=new J,o=b4({rootSelection:Y(e),pluginName:x4,layerName:Gx,baseTooltipParams$:n,theme$:r.theme$,layout$:r.layout$,event$:r.event$,SeriesDataMap$:r.SeriesDataMap$,CategoryDataMap$:r.CategoryDataMap$});return()=>{i.next(void 0),o()}}}),$4=new v4,S4=It({name:"Tooltip",defaultParams:Th,layers:[$4],setup:e=>{const t=N({gridData:e.context.gridData$,datasetIndex:e.pluginParams$.pipe(A(l=>l.datasetIndex))}).pipe(W(0),A(({gridData:l,datasetIndex:u})=>l[u]),z(1)),n=Jt({size$:e.context.size$,padding$:e.pluginParams$.pipe(A(l=>l.styles.padding))}).pipe(z(1)),r=g4({selectedSeriesData$:t,pluginParams$:e.pluginParams$}).pipe(z(1)),i=Nt(e.context.theme$).pipe(z(1)),o=r.pipe(A(l=>l.flat())).pipe(z(1)),a=Bn({datumList$:o}).pipe(z(1)),s=rr({datumList$:o}).pipe(z(1)),c={layout$:n,fontSizePx$:i,SeriesDataMap$:a,CategoryDataMap$:s};return e.context={...e.context,...c},()=>{}},validator:e=>{const t=H(e,{styles:{toBeTypes:["object"]},datasetIndex:{toBeTypes:["number"]}});if(e.styles){const n=H(e.styles,{padding:{toBeTypes:["object"]},highlightTarget:{toBeTypes:["string"]},highlightDefault:{toBeTypes:["string","null"]},unhighlightedOpacity:{toBeTypes:["number"]},transitionDuration:{toBeTypes:["number"]},transitionEase:{toBeTypes:["string"]}});if(n.status==="error")return n;if(e.styles.padding){const r=H(e.styles.padding,{top:{toBeTypes:["number"]},right:{toBeTypes:["number"]},bottom:{toBeTypes:["number"]},left:{toBeTypes:["number"]}});if(r.status==="error")return r}}return t}}),_h={styles:{padding:{top:20,right:20,bottom:60,left:20},highlightTarget:"datum",highlightDefault:null,unhighlightedOpacity:.3,transitionDuration:800,transitionEase:"easeCubic"},visibleFilter:e=>!0,sort:null,container:{...Wr},separateSeries:!1,separateName:!1,datasetIndex:0};_h.visibleFilter.toString=()=>"(datum) => true";const Dh={force:{strength:.08,velocityDecay:.3,collisionSpacing:2},bubbleLabel:{labelFn:e=>String(e.name),colorType:"dataContrast",fillRate:.6,lineHeight:1,maxLineLength:6,wordBreakAll:!0},arcScaleType:"area"};Dh.bubbleLabel.labelFn.toString=()=>"d => String(d.name)";const Vx={outerRadius:.85,innerRadius:0,outerRadiusWhileHighlight:.9,startAngle:0,endAngle:Math.PI*2,padAngle:0,strokeColorType:"background",strokeWidth:1,cornerRadius:0},Ph={renderFn:e=>e.eventName==="mouseover"||e.eventName==="mousemove"?[String(e.target.value)]:[],textAttrs:[{transform:"translate(0, 0)"}],textStyles:[{"font-weight":"bold","text-anchor":"middle","pointer-events":"none","dominant-baseline":"middle","font-size":64,fill:"#000"}]};Ph.renderFn.toString=()=>`(eventData) => {
330
+ if (eventData.eventName === 'mouseover' || eventData.eventName === 'mousemove') {
331
+ return [String(eventData.target.value)]
332
+ }
333
+ return [
334
+ String(
335
+ Math.round(
336
+ eventData.data.reduce((acc, seriesData) => {
337
+ return acc + seriesData.reduce((_acc, data) => {
338
+ return _acc + (data.value ?? 0)
339
+ }, 0)
340
+ }, 0) * (eventData.tween ?? 1)
341
+ )
342
+ )
343
+ ]
344
+ }`;const Mh={outerRadius:.85,outerRadiusWhileHighlight:.9,startAngle:0,endAngle:Math.PI*2,labelCentroid:2.1,labelColorType:"primary",labelFn:e=>String(e.name)};Mh.labelFn.toString=()=>"d => String(d.name)";const Xx={outerRadius:.95,padAngle:0,strokeColorType:"background",strokeWidth:.5,cornerRadius:0,arcScaleType:"area",angleIncreaseWhileHighlight:.05},Ch={outerRadius:.95,labelCentroid:2.1,labelFn:e=>String(e.name),labelColorType:"primary",arcScaleType:"area"};Ch.labelFn.toString=()=>"d => String(d.name)";const A4={startAngle:-Math.PI/2,endAngle:Math.PI/2,radius:.6,indicatorType:"needle",size:10,colorType:"data",value:0},T4=({selectedSeriesData$:e,pluginParams$:t})=>N({selectedSeriesData:e,pluginParams:t}).pipe(W(0),A(({selectedSeriesData:n,pluginParams:r})=>n.flat().sort(r.sort??void 0).map((i,o)=>{const a=r.visibleFilter;return{...i,visible:a?a(i):!0,seq:o}}).sort((i,o)=>i.index-o.index).reduce((i,o)=>(i[o.seriesIndex]||(i[o.seriesIndex]=[]),i[o.seriesIndex].push(o),i),[]))),w4=({selectedSeriesData$:e})=>{const t=new Set;return e.pipe(A(n=>(n.forEach(r=>{r.forEach(i=>{t.add(i.name)})}),Array.from(t))))},_4=({pluginParams$:e})=>e.pipe(A(t=>t.separateSeries),X()),D4=({pluginParams$:e})=>e.pipe(A(t=>t.separateName),X()),P4=({selectedSeriesData$:e})=>e.pipe(A(t=>{const n=t.filter(r=>r.length).map(r=>r[0].series);return Array.from(new Set(n))}),X((t,n)=>JSON.stringify(t)===JSON.stringify(n))),M4=({seriesComputedData$:e})=>e.pipe(A(t=>t.map(n=>n.filter(r=>r.visible!=!1)))),C4=({seriesComputedData$:e,separateSeries$:t,separateName$:n,datumLabels$:r})=>N({seriesComputedData:e,separateSeries:t,separateName:n,datumLabels:r}).pipe(V(async i=>i),A(i=>{const o=i.separateSeries==!0?i.seriesComputedData:[i.seriesComputedData.flat()],a=i.separateName==!0?(()=>{const s=i.datumLabels.reduce((c,l,u)=>(c[l]=u,c),{});return o.map(c=>c.reduce((l,u)=>{const h=s[u.name];return l[h]==null&&(l[h]=[]),l[h].push(u),l},[])).flat()})():o;return i.separateSeries==!0&&i.separateName==!0?a.sort((s,c)=>s[0].seq-c[0].seq):a.map(s=>s.sort((c,l)=>c.seq-l.seq))})),L4=({computedSortedData$:e,pluginParams$:t,layout$:n})=>N({computedSortedData:e,pluginParams:t,layout:n}).pipe(V(async i=>i),A(i=>{const o=i.computedSortedData.length;return Q6(i.layout,i.pluginParams.container,o)})),k4=({seriesContainerPosition$:e,computedSortedData$:t})=>N({seriesContainerPosition:e,computedSortedData:t}).pipe(V(async n=>n),A(n=>new Map(n.computedSortedData.map((r,i)=>r.map(o=>[o.id,n.seriesContainerPosition[i]])).flat()))),kl="PartitionPlot",Uo="Bubble",jx=12;function E4(e,t){return ns().velocityDecay(t.force.velocityDecay).force("collision",ts().radius(n=>n.r+t.force.collisionSpacing)).force("charge",rs().strength(n=>-Math.pow(n.r,2)*t.force.strength)).on("tick",()=>{e.attr("transform",n=>`translate(${n.x},${n.y})`)})}function R4({selection:e,bubblesData:t,fullParams:n,theme:r}){const i=e.selectAll("g").data(t,o=>o.id).join(o=>{const a=o.append("g").attr("cursor","pointer").attr("font-size",jx).style("fill","#ffffff").attr("text-anchor","middle");return a.append("circle").attr("class","node").attr("cx",0).attr("cy",0).attr("fill",s=>s.color),a.append("text").style("opacity",.8).attr("pointer-events","none"),a},o=>o,o=>o.remove()).attr("transform",o=>`translate(${o.x},${o.y})`);return i.select("circle").transition().duration(200).attr("r",o=>o.r).attr("fill",o=>o.color),i.each((o,a,s)=>{const c=Y(s[a]),l=o.renderLabel;c.call(V1,{text:l,radius:o.r*n.bubbleLabel.fillRate,lineHeight:jx*n.bubbleLabel.lineHeight,isBreakAll:l.length<=n.bubbleLabel.maxLineLength?!1:n.bubbleLabel.wordBreakAll}),c.select("text").attr("fill",u=>we({datum:o,colorType:n.bubbleLabel.colorType,theme:r}))}),i}function B4(e){return _a().on("start",(t,n)=>{t.active||e.alpha(1).restart(),n.fx=n.x,n.fy=n.y}).on("drag",(t,n)=>{t.active||e.alphaTarget(0),n.fx=t.x,n.fy=t.y}).on("end",(t,n)=>{n.fx=null,n.fy=null,e.alpha(1).restart()})}function I4({_simulation:e,fullParams:t,DatumContainerPositionMap:n}){e.force("x",mm().strength(t.force.strength).x(r=>{let i=n.get(r.id);return i||(i=n.get(Array.from(n.keys())[0])),(i==null?void 0:i.centerX)??null})).force("y",ym().strength(t.force.strength).y(r=>{let i=n.get(r.id);return i||(i=n.get(Array.from(n.keys())[0])),(i==null?void 0:i.centerY)??null}))}function N4({bubblesSelection:e,highlightIds:t,pluginParams:n}){if(e.interrupt("highlight"),!t.length){e.transition("highlight").style("opacity",1);return}e.each((r,i,o)=>{const a=Y(o[i]);t.includes(r.id)?a.style("opacity",1).transition("highlight").ease(mr).duration(500):a.style("opacity",n.styles.unhighlightedOpacity)})}const O4=he({name:Uo,defaultParams:Dh,layerIndex:$t,initShow:!0,validator:e=>{const t=H(e,{force:{toBeTypes:["object"]},bubbleLabel:{toBeTypes:["object"]},arcScaleType:{toBe:'"area" | "radius"',test:n=>n==="area"||n==="radius"}});if(e.force){const n=H(e.force,{velocityDecay:{toBeTypes:["number"]},collisionSpacing:{toBeTypes:["number"]},strength:{toBeTypes:["number"]}});if(n.status==="error")return n}if(e.bubbleLabel){const n=H(e.bubbleLabel,{labelFn:{toBeTypes:["Function"]},colorType:{toBeOption:"ColorType"},fillRate:{toBeTypes:["number"]},lineHeight:{toBeTypes:["number"]},maxLineLength:{toBeTypes:["number"]}});if(n.status==="error")return n}return t},setup:({svgG:e,pluginParams$:t,layerParams$:n,context:r})=>{const i=new J;r.layout$.pipe(R(i)).subscribe(m=>{Y(e).attr("transform",`translate(${m.left}, ${m.top})`)});let o;const a=n.pipe(R(i),A(m=>m.arcScaleType),X(),z(1)),s=r.layout$.pipe(R(i),A(m=>Math.min(m.width,m.height)/2),X(),z(1)),c=r.visibleComputedSortedData$.pipe(R(i),A(m=>m.flat().reduce((d,y)=>d+y.value,0)),X(),z(1)),l=N({totalR:s,totalValue:c,scaleType:a}).pipe(R(i),V(async m=>m),A(m=>ln().domain([0,m.totalValue]).range([0,m.totalR]).exponent(m.scaleType==="area"?.5:1)),z(1)),u=a.pipe(R(i),V(m=>Ht(()=>m==="area",Mt(1),N({totalR:s,radiusScale:l,visibleComputedSortedData:r.visibleComputedSortedData$}).pipe(V(async d=>d),A(d=>{const y=d.totalR*d.totalR*Math.PI;return Math.sqrt(y/uc(d.visibleComputedSortedData.flat(),b=>Math.PI*Math.pow(d.radiusScale(b.value),2)))}))))),h=N({visibleComputedSortedData:r.visibleComputedSortedData$,radiusScale:l,scaleFactor:u}).pipe(R(i),V(async m=>m),A(m=>new Map(m.visibleComputedSortedData.flat().map(y=>[y.id,m.radiusScale(y.value??0)*m.scaleFactor*.9]))),z(1)),f=r.DatumContainerPositionMap$.pipe(R(i),mt(m=>m.size>0),A(m=>new Map(Array.from(m).map(([d,y])=>[d,{x:y.startX+y.width*Math.random(),y:y.startY+y.height*Math.random()}]))),oa(),z(1)),p=N({visibleComputedSortedData:r.visibleComputedSortedData$,DatumRMap:h,DatumInitXYMap:f,fullParams:n}).pipe(R(i),V(async m=>m),A(m=>m.visibleComputedSortedData.flat().map(d=>{const y=d;if(y.x===void 0||y.y===void 0){let b=m.DatumInitXYMap.get(y.id);b||(b=m.DatumInitXYMap.get(Array.from(m.DatumInitXYMap.keys())[0])),y.x=b.x,y.y=b.y}return y.r=m.DatumRMap.get(y.id),y._originR=y.r,y.renderLabel=m.fullParams.bubbleLabel.labelFn(y),y})),z(1)),g=N({bubblesData:p,fullParams:n,theme:r.theme$,DatumContainerPositionMap:r.DatumContainerPositionMap$}).pipe(R(i),V(async m=>m),A(m=>{o&&o.stop();const d=R4({selection:Y(e),bubblesData:m.bubblesData,fullParams:m.fullParams,theme:m.theme});return o=E4(d,m.fullParams),o.nodes(m.bubblesData),I4({_simulation:o,fullParams:m.fullParams,DatumContainerPositionMap:m.DatumContainerPositionMap}),o.alpha(1).restart(),d}),z(1));return N({bubblesSelection:g,computedData:r.computedData$}).pipe(R(i),V(async m=>m)).subscribe(m=>{m.bubblesSelection.on("mouseover",(d,y)=>{r.eventTrigger$.next({eventName:"mouseover",pluginName:kl,layerName:Uo,target:y,event:d})}).on("mousemove",(d,y)=>{r.eventTrigger$.next({eventName:"mousemove",pluginName:kl,layerName:Uo,target:y,event:d})}).on("mouseout",(d,y)=>{r.eventTrigger$.next({eventName:"mouseout",pluginName:kl,layerName:Uo,target:y,event:d})}).on("click",(d,y)=>{r.eventTrigger$.next({eventName:"click",pluginName:kl,layerName:Uo,target:y,event:d})}).call(B4(o))}),N({bubblesSelection:g,highlight:r.seriesHighlight$.pipe(A(m=>m.map(d=>d.id))),pluginParams:t}).pipe(R(i),W(0)).subscribe(m=>{N4({bubblesSelection:m.bubblesSelection,highlightIds:m.highlight,pluginParams:m.pluginParams})}),()=>{i.next(void 0),o&&(o.stop(),o=void 0)}}});function z4({selection:e,pluginName:t,layerName:n,visibleComputedSortedData$:r}){const i=U(t,n,"series");return r.pipe(A(o=>o.map(a=>a[0]?`${a[0].series}_${a[0].name}`:"")),X((o,a)=>JSON.stringify(o)===JSON.stringify(a)),A(o=>e.selectAll(`g.${i}`).data(o,a=>a).join(a=>a.append("g").classed(i,!0),a=>a,a=>a.remove())),z(1))}const qo=({selection:e,pluginName:t,layerName:n,visibleComputedSortedData$:r,seriesContainerPosition$:i})=>{const o=z4({selection:e,pluginName:t,layerName:n,visibleComputedSortedData$:r});return N({seriesCenterSelection:o,seriesContainerPosition:i}).pipe(V(async a=>a),X((a,s)=>a.seriesContainerPosition.length===s.seriesContainerPosition.length)).subscribe(a=>{a.seriesCenterSelection.attr("transform",(s,c)=>{const l=a.seriesContainerPosition[c]??a.seriesContainerPosition[0];return`translate(${l.centerX}, ${l.centerY})`})}),N({seriesCenterSelection:o,seriesContainerPosition:i}).pipe(V(async a=>a)).subscribe(a=>{a.seriesCenterSelection.transition().attr("transform",(s,c)=>{const l=a.seriesContainerPosition[c]??a.seriesContainerPosition[0];return`translate(${l.centerX}, ${l.centerY})`})}),{seriesCenterSelection$:o}};function Hx({data:e,startAngle:t,endAngle:n}){return Kb().startAngle(t).endAngle(n).value(o=>o.value).sort((o,a)=>o.seq-a.seq)(e).map((o,a)=>{let s=o;return s.id=o.data.id,s})}const Er="PartitionPlot",Jn="Pie";function F4({enter:e,exit:t,data:n,lastTweenData:r,fullParams:i}){return!e.size()&&!t.size()?o=>{const a=n.map((s,c)=>{const l=r[c]??{startAngle:0,endAngle:0,value:0};return{...s,startAngle:s.startAngle*o+l.startAngle*(1-o),endAngle:s.endAngle*o+l.endAngle*(1-o),value:s.value*o+l.value*(1-o)}});return Lh(a,i.startAngle,i.endAngle,1)}:o=>Lh(n,i.startAngle,i.endAngle,o)}function Lh(e,t,n,r){return e.map((i,o)=>{const a=t+(i.startAngle-t)*r,s=a+(i.endAngle-i.startAngle)*r;return{...i,startAngle:a,endAngle:s}})}function Ux({selection:e,data:t,arc:n,pathClassName:r,fullParams:i,theme:o}){return e.selectAll("path").data(t,s=>s.id).join("path").classed(r,!0).style("cursor","pointer").attr("fill",(s,c)=>s.data.color).attr("stroke",(s,c)=>we({datum:s.data,colorType:i.strokeColorType,theme:o})).attr("stroke-width",i.strokeWidth).attr("d",(s,c)=>n(s))}function Y4({pathSelection:e,ids:t,styles:n,arc:r,arcHighlight:i}){if(e.interrupt("highlight"),!t.length){e.transition("highlight").style("opacity",1).attr("d",o=>r(o));return}e.each((o,a,s)=>{const c=Y(s[a]);t.includes(o.data.id)?c.style("opacity",1).transition("highlight").ease(mr).duration(500).attr("d",l=>i(l)):c.style("opacity",n.unhighlightedOpacity).transition("highlight").attr("d",l=>r(l))})}function W4(e){const t=new J,n=U(Er,Jn,"path");let r=[],i=[];const o=e.seriesContainerPosition$.pipe(R(t),A(h=>h.width<h.height?h.width:h.height),X()),a=new me(h=>{N({containerVisibleComputedSortedData:e.containerVisibleComputedSortedData$,fullParams:e.fullParams$}).pipe(R(t),W(0)).subscribe(f=>{const p=Hx({data:f.containerVisibleComputedSortedData,startAngle:f.fullParams.startAngle,endAngle:f.fullParams.endAngle});h.next(p)})}),s=new me(h=>{N({shorterSideWith:o,fullParams:e.fullParams$}).pipe(R(t),W(0)).subscribe(f=>{const p=Al({axisWidth:f.shorterSideWith,innerRadius:f.fullParams.innerRadius,outerRadius:f.fullParams.outerRadius,padAngle:f.fullParams.padAngle,cornerRadius:f.fullParams.cornerRadius});h.next(p)})}),c=new me(h=>{N({shorterSideWith:o,fullParams:e.fullParams$}).pipe(R(t),W(0)).subscribe(f=>{const p=Al({axisWidth:f.shorterSideWith,innerRadius:f.fullParams.innerRadius,outerRadius:f.fullParams.outerRadiusWhileHighlight,padAngle:f.fullParams.padAngle,cornerRadius:f.fullParams.cornerRadius});h.next(p)})}),l=e.pluginParams$.pipe(R(t),A(h=>h.styles.highlightTarget),X());e.seriesHighlight$.pipe(R(t)).subscribe(h=>h);const u=new me(h=>{N({pieData:a,arc:s,fullParams:e.fullParams$,styles:e.pluginParams$.pipe(A(f=>f.styles)),theme:e.theme$}).pipe(R(t),W(0)).subscribe(f=>{e.containerSelection.interrupt("graphicMove");const p=e.containerSelection.selectAll("path").data(f.pieData,y=>y.id),g=p.enter(),m=p.exit(),d=F4({enter:g,exit:m,data:f.pieData,lastTweenData:r,fullParams:f.fullParams});e.containerSelection.transition("graphicMove").duration(f.styles.transitionDuration).tween("move",(y,b)=>x=>{i=d(x),Ux({selection:e.containerSelection,data:i,arc:f.arc,pathClassName:n,fullParams:f.fullParams,theme:f.theme})}).on("end",(y,b)=>{i=Lh(f.pieData,f.fullParams.startAngle,f.fullParams.endAngle,1);const x=Ux({selection:e.containerSelection,data:i,arc:f.arc,pathClassName:n,fullParams:f.fullParams,theme:f.theme});h.next(x),r=Object.assign([],f.pieData),e.eventTrigger$.next({eventName:"transitionEnd",pluginName:Er,layerName:Jn,target:null,event:void 0})})})}).pipe(z(1));return N({pathSelection:u,highlightTarget:l}).pipe(R(t),W(0)).subscribe(h=>{h.pathSelection.on("mouseover",(f,p)=>{e.eventTrigger$.next({eventName:"mouseover",pluginName:Er,layerName:Jn,target:p.data,event:f})}).on("mousemove",(f,p)=>{f.stopPropagation(),e.eventTrigger$.next({eventName:"mousemove",pluginName:Er,layerName:Jn,target:p.data,event:f})}).on("mouseout",(f,p)=>{f.stopPropagation(),e.eventTrigger$.next({eventName:"mouseout",pluginName:Er,layerName:Jn,target:p.data,event:f})}).on("click",(f,p)=>{f.stopPropagation(),e.eventTrigger$.next({eventName:"click",pluginName:Er,layerName:Jn,target:p.data,event:f})})}),N({pathSelection:u,highlight:e.seriesHighlight$.pipe(A(h=>h.map(f=>f.id))),styles:e.pluginParams$.pipe(A(h=>h.styles)),arc:s,arcHighlight:c}).pipe(R(t),W(0)).subscribe(h=>{Y4({pathSelection:h.pathSelection,ids:h.highlight,styles:h.styles,arc:h.arc,arcHighlight:h.arcHighlight})}),()=>{t.next(void 0)}}const G4=he({name:Jn,defaultParams:Vx,layerIndex:$t,initShow:!1,validator:e=>H(e,{outerRadius:{toBeTypes:["number"]},innerRadius:{toBeTypes:["number"]},outerRadiusWhileHighlight:{toBeTypes:["number"]},startAngle:{toBeTypes:["number"]},endAngle:{toBeTypes:["number"]},padAngle:{toBeTypes:["number"]},strokeColorType:{toBeTypes:["string"]},strokeWidth:{toBeTypes:["number"]},cornerRadius:{toBeTypes:["number"]}}),setup:({svgG:e,pluginParams$:t,layerParams$:n,context:r})=>{const i=new J;r.layout$.pipe(R(i)).subscribe(s=>{Y(e).attr("transform",`translate(${s.left}, ${s.top})`)});const{seriesCenterSelection$:o}=qo({selection:Y(e),pluginName:Er,layerName:Jn,visibleComputedSortedData$:r.visibleComputedSortedData$,seriesContainerPosition$:r.seriesContainerPosition$}),a=[];return o.pipe(R(i)).subscribe(s=>{a.forEach(c=>c()),s.each((c,l,u)=>{const h=Y(u[l]),f=r.visibleComputedSortedData$.pipe(R(i),A(g=>g[l]??g[0])),p=r.seriesContainerPosition$.pipe(R(i),A(g=>g[l]??g[0]));a[l]=W4({containerSelection:h,containerVisibleComputedSortedData$:f,fullParams$:n,theme$:r.theme$,pluginParams$:t,seriesHighlight$:r.seriesHighlight$,seriesContainerPosition$:p,eventTrigger$:r.eventTrigger$})})}),()=>{i.next(void 0),a.forEach(s=>s())}}}),El="PartitionPlot",Ko="PieEventText",qx=U(El,Ko,"text");function kh(e,t){const n=e.selectAll(`text.${qx}`).data(t),r=n.enter().append("text").classed(qx,!0),i=n.merge(r);return i.each((o,a,s)=>{const c=Y(s[a]).text(o.text);Object.keys(o.attr).forEach(l=>{c.attr(l,o.attr[l])}),Object.keys(o.style).forEach(l=>{c.style(l,o.style[l])})}),n.exit().remove(),i}function Eh({eventData:e,renderFn:t,textAttrs:n,textStyles:r}){const i=t(e);return i===null?null:(Array.isArray(i)?i:[i]).map((a,s)=>({text:a,attr:n[s],style:r[s]}))}function V4(e){const t=new J;let n;const r=e.pluginParams$.pipe(R(t),A(o=>o.styles.highlightTarget),X());let i=[];return e.seriesHighlight$.pipe(R(t)).subscribe(o=>i=o),N({computedData:e.computedData$,layerParams:e.layerParams$,pluginParams:e.pluginParams$,highlightTarget:r}).pipe(R(t),V(async o=>o)).subscribe(o=>{e.containerSelection.transition("move").duration(o.pluginParams.styles.transitionDuration).tween("move",(a,s)=>c=>{const l=Eh({eventData:{eventName:"mousemove",pluginName:El,layerName:Ko,target:i[0]||null,event:a},renderFn:o.layerParams.renderFn,textAttrs:o.layerParams.textAttrs,textStyles:o.layerParams.textStyles});l!=null&&kh(e.containerSelection,l)}).on("end",(a,s)=>{const c=Eh({eventData:{eventName:"mousemove",pluginName:El,layerName:Ko,target:i[0]||null,event:a},renderFn:o.layerParams.renderFn,textAttrs:o.layerParams.textAttrs,textStyles:o.layerParams.textStyles});c!=null&&kh(e.containerSelection,c),n&&n.unsubscribe(),n=e.eventTrigger$.subscribe(l=>{const u=Eh({eventData:l,renderFn:o.layerParams.renderFn,textAttrs:o.layerParams.textAttrs,textStyles:o.layerParams.textStyles});u!=null&&kh(e.containerSelection,u)})})}),()=>{t.next(void 0)}}const X4=he({name:Ko,defaultParams:Ph,layerIndex:Ci,initShow:!1,validator:e=>H(e,{renderFn:{toBeTypes:["Function"]},textAttrs:{toBeTypes:["object[]"]},textStyles:{toBeTypes:["object[]"]}}),setup:({svgG:e,pluginParams$:t,layerParams$:n,context:r})=>{const i=new J;r.layout$.pipe(R(i)).subscribe(s=>{Y(e).attr("transform",`translate(${s.left}, ${s.top})`)});const{seriesCenterSelection$:o}=qo({selection:Y(e),pluginName:El,layerName:Ko,visibleComputedSortedData$:r.visibleComputedSortedData$,seriesContainerPosition$:r.seriesContainerPosition$}),a=[];return o.pipe(R(i)).subscribe(s=>{a.forEach(c=>c()),s.each((c,l,u)=>{const h=Y(u[l]);r.computedSortedData$.pipe(R(i),A(f=>f[l]??f[0])),r.seriesContainerPosition$.pipe(R(i),A(f=>f[l]??f[0])),a[l]=V4({containerSelection:h,computedData$:r.computedData$,SeriesDataMap$:r.SeriesDataMap$,layerParams$:n,pluginParams$:t,seriesHighlight$:r.seriesHighlight$,eventTrigger$:r.eventTrigger$})})}),()=>{i.next(void 0),a.forEach(s=>s())}}}),Rl="PartitionPlot",Zo="PieLabel",j4=U(Rl,Zo,"label-g"),H4=U(Rl,Zo,"line-g"),U4=U(Rl,Zo,"text"),Kx=2;function q4({pieData:e,arc:t,arcMouseover:n,labelCentroid:r,lineStartCentroid:i,layerParams:o}){return e.map((a,s)=>{const[c,l]=t.centroid(a),[u,h]=n.centroid(a),f=o.labelFn(a.data);return{pieDatum:a,arcIndex:s,arcLabels:f.split(`
345
+ `),lineStartX:c*i,lineStartY:l*i,lineStartMouseoverX:u*i,lineStartMouseoverY:h*i,x:c*r,y:l*r,mouseoverX:u*r,mouseoverY:h*r,textWidth:0,collisionShiftX:0,collisionShiftY:0,quadrant:c>=0&&l<=0?1:c<0&&l<=0?2:c<0&&l>0?3:4}}).filter(a=>a.pieDatum.data.visible)}function K4({labelGSelection:e,data:t,layerParams:n,pluginParams:r,theme:i,fontSizePx:o}){const a=e.selectAll("text").data(t,s=>s.pieDatum.id).join("text").classed(U4,!0).attr("font-weight","bold").attr("text-anchor",s=>s.quadrant==1||s.quadrant==4?"start":"end").style("dominant-baseline",s=>s.quadrant==1||s.quadrant==2?"auto":"hanging").style("cursor",s=>r.styles.highlightTarget&&r.styles.highlightTarget!="none"?"pointer":"none").attr("font-size",o).attr("x",0).attr("y",0).attr("fill",(s,c)=>we({datum:s.pieDatum.data,colorType:n.labelColorType,theme:i})).each((s,c,l)=>{X1(Y(l[c]),{textArr:s.arcLabels,fontSizePx:o,quadrant:s.quadrant})});return a.transition().attr("transform",s=>"translate("+s.x+","+s.y+")"),a}function Z4(e,t,n){const r=e.nodes(),i=n,o=r.map((a,s)=>{const c=a.getBBox(),l=[t[s].x,t[s].y];return{node:a,x:l[0],y:l[1],width:c.width,height:c.height}});for(let a=0;a<o.length;a++){const s=o[a];for(let c=a+1;c<o.length;c++){const l=o[c];t[a].textWidth=s.width;const u=s.x+t[a].collisionShiftX,h=s.y+t[a].collisionShiftY,f=l.x+t[c].collisionShiftX,p=l.y+t[c].collisionShiftY;if(!(u+s.width/2<f-l.width/2||u-s.width/2>f+l.width/2||h+s.height/2<p-l.height/2||h-s.height/2>p+l.height/2)){if(t[c].quadrant==2){const g=p>h?-i*2:-i;t[c].collisionShiftY+=g}else if(t[c].quadrant==4){const g=p>h?i:i*2;t[c].collisionShiftY+=g}}}}for(let a=o.length-1;a>=0;a--){const s=o[a];for(let c=a-1;c>=0;c--){const l=o[c];t[a].textWidth=s.width;const u=s.x+t[a].collisionShiftX,h=s.y+t[a].collisionShiftY,f=l.x+t[c].collisionShiftX,p=l.y+t[c].collisionShiftY;if(!(u+s.width/2<f-l.width/2||u-s.width/2>f+l.width/2||h+s.height/2<p-l.height/2||h-s.height/2>p+l.height/2)){if(t[c].quadrant==1){const g=p>h?-i*2:-i;t[c].collisionShiftY+=g}else if(t[c].quadrant==3){const g=p>h?i:i*2;t[c].collisionShiftY+=g}}}}e.data(t).transition().attr("transform",a=>`translate(${a.x+a.collisionShiftX},${a.y+a.collisionShiftY})`)}function J4({lineGSelection:e,data:t,layerParams:n,theme:r}){const i=t.filter(a=>a.collisionShiftX||a.collisionShiftY),o=e.selectAll("polyline").data(i,a=>a.pieDatum.id).join("polyline").attr("stroke",a=>we({datum:a.pieDatum.data,colorType:n.labelColorType,theme:r})).attr("stroke-width",1).attr("fill","none").attr("points",a=>[[a.lineStartX,a.lineStartY],[a.lineStartX,a.lineStartY]]);return o.transition().attr("points",a=>{let s=a.x+a.collisionShiftX,c=a.y+a.collisionShiftY;return[[s,c],[a.lineStartX,a.lineStartY]]}),o}function Q4({textSelection:e,lineSelection:t,ids:n,pluginParams:r}){if(e.interrupt("highlight"),t.interrupt("highlight"),!n.length){e.transition("highlight").duration(200).attr("transform",i=>`translate(${i.x+i.collisionShiftX},${i.y+i.collisionShiftY})`).style("opacity",1),t.transition("highlight").duration(200).style("opacity",1);return}e.each((i,o,a)=>{const s=Y(a[o]);n.includes(i.pieDatum.id)?s.style("opacity",1).transition("highlight").duration(200).attr("transform",c=>c.collisionShiftX||c.collisionShiftY?`translate(${c.x+c.collisionShiftX},${c.y+c.collisionShiftY})`:`translate(${c.mouseoverX+c.collisionShiftX},${c.mouseoverY+c.collisionShiftY})`):s.style("opacity",r.styles.unhighlightedOpacity).transition("highlight").duration(200).attr("transform",c=>`translate(${c.x+c.collisionShiftX},${c.y+c.collisionShiftY})`)}),t.each((i,o,a)=>{const s=Y(a[o]);n.includes(i.pieDatum.data.id)?s.style("opacity",1).transition("highlight").duration(200):s.style("opacity",r.styles.unhighlightedOpacity).transition("highlight").duration(200)})}function e7(e){const t=new J;e.containerSelection.selectAll("g").remove();const n=e.containerSelection.append("g");n.classed(H4,!0);const r=e.containerSelection.append("g");r.classed(j4,!0);const i=new J,o=new J;let a=[];const s=e.seriesContainerPosition$.pipe(R(t),A(l=>l.width<l.height?l.width:l.height),X()),c=e.layerParams$.pipe(R(t),A(l=>l.labelCentroid>=Kx?Kx:l.labelCentroid));return N({shorterSideWith:s,containerVisibleComputedSortedData:e.containerVisibleComputedSortedData$,layerParams:e.layerParams$,pluginParams:e.pluginParams$,theme:e.theme$,fontSizePx:e.fontSizePx$,lineStartCentroid:c}).pipe(R(t),V(async l=>l)).subscribe(l=>{const u=Al({axisWidth:l.shorterSideWith,innerRadius:0,outerRadius:l.layerParams.outerRadius,padAngle:0,cornerRadius:0}),h=Al({axisWidth:l.shorterSideWith,innerRadius:0,outerRadius:l.layerParams.outerRadiusWhileHighlight,padAngle:0,cornerRadius:0}),f=Hx({data:l.containerVisibleComputedSortedData,startAngle:l.layerParams.startAngle,endAngle:l.layerParams.endAngle});a=q4({pieData:f,arc:u,arcMouseover:h,labelCentroid:l.layerParams.labelCentroid,lineStartCentroid:l.lineStartCentroid,layerParams:l.layerParams}),n.selectAll("polyline").remove();const p=K4({labelGSelection:r,data:a,layerParams:l.layerParams,pluginParams:l.pluginParams,theme:l.theme,fontSizePx:l.fontSizePx});setTimeout(()=>{Z4(p,a,l.fontSizePx);const g=J4({lineGSelection:n,data:a,layerParams:l.layerParams,theme:l.theme});o.next(g)},1e3),i.next(p)}),N({textSelection:i,lineSelection:o,highlight:e.seriesHighlight$.pipe(A(l=>l.map(u=>u.id))),pluginParams:e.pluginParams$}).pipe(R(t),W(0)).subscribe(l=>{Q4({textSelection:l.textSelection,lineSelection:l.lineSelection,ids:l.highlight,pluginParams:l.pluginParams})}),()=>{t.next(void 0)}}const t7=he({name:Zo,defaultParams:Mh,layerIndex:Ci,initShow:!1,validator:e=>H(e,{outerRadius:{toBeTypes:["number"]},outerRadiusWhileHighlight:{toBeTypes:["number"]},startAngle:{toBeTypes:["number"]},endAngle:{toBeTypes:["number"]},labelCentroid:{toBeTypes:["number"]},labelFn:{toBeTypes:["Function"]},labelColorType:{toBeOption:"ColorType"}}),setup:({svgG:e,pluginParams$:t,layerParams$:n,context:r})=>{const i=new J;r.layout$.pipe(R(i)).subscribe(s=>{Y(e).attr("transform",`translate(${s.left}, ${s.top})`)});const{seriesCenterSelection$:o}=qo({selection:Y(e),pluginName:Rl,layerName:Zo,visibleComputedSortedData$:r.visibleComputedSortedData$,seriesContainerPosition$:r.seriesContainerPosition$}),a=[];return o.pipe(R(i)).subscribe(s=>{a.forEach(c=>c()),s.each((c,l,u)=>{const h=Y(u[l]),f=r.visibleComputedSortedData$.pipe(R(i),A(g=>g[l]??g[0])),p=r.seriesContainerPosition$.pipe(R(i),A(g=>g[l]??g[0]));a[l]=e7({containerSelection:h,containerVisibleComputedSortedData$:f,layerParams$:n,pluginParams$:t,theme$:r.theme$,fontSizePx$:r.fontSizePx$,seriesHighlight$:r.seriesHighlight$,seriesContainerPosition$:p,eventTrigger$:r.eventTrigger$})})}),()=>{i.next(void 0),a.forEach(s=>s())}}}),Zx="PartitionPlot",Rr="Rose",n7=Math.PI*2;function r7({cornerRadius:e,outerRadius:t,axisWidth:n,maxValue:r,arcScaleType:i,layerParams:o}){const a=n/2*t,s=i==="area"?.5:1,c=ln().domain([0,r]).range([0,a]).exponent(s);return l=>{const u=c(l.prevValue),h=c(l.value),f=gn(u,h);return p=>{const g=f(p);return fl().innerRadius(0).outerRadius(g).padAngle(o.padAngle).padRadius(g).cornerRadius(e)(l)}}}function i7({pathSelection:e,ids:t,layerParams:n,pluginParams:r,tweenArc:i}){if(e.interrupt("highlight"),!t.length){e.transition("highlight").style("opacity",1).attr("d",o=>i(o)(1));return}e.each((o,a,s)=>{const c=Y(s[a]);t.includes(o.data.id)?c.style("opacity",1).transition("highlight").ease(mr).duration(500).attr("d",l=>i({...l,startAngle:l.startAngle-n.angleIncreaseWhileHighlight,endAngle:l.endAngle+n.angleIncreaseWhileHighlight})(1)):c.style("opacity",r.styles.unhighlightedOpacity).transition("highlight").attr("d",l=>i(l)(1))})}function o7(e,t){const n=new J,r=U(e,Rr,"path");let i=[];const o=t.seriesContainerPosition$.pipe(R(n),A(p=>p.width<p.height?p.width:p.height),X()),a=N({containerVisibleComputedSortedData:t.containerVisibleComputedSortedData$,layerParams:t.layerParams$}).pipe(R(n),V(async p=>p),A(p=>{const g=n7/p.containerVisibleComputedSortedData.length;return p.containerVisibleComputedSortedData.map((m,d)=>({id:m.id,data:m,index:d,value:m.value,startAngle:g*d,endAngle:g*(d+1),padAngle:p.layerParams.padAngle,prevValue:i[d]&&i[d].id===m.id?i[d].value:0}))})),s=t.pluginParams$.pipe(R(n),A(p=>p.styles.highlightTarget),X()),c=t.visibleComputedSortedData$.pipe(A(p=>Math.max(...p.flat().map(g=>g.value))),X()),l=N({layerParams:t.layerParams$,axisWidth:o,maxValue:c}).pipe(R(n),W(0),A(p=>r7({cornerRadius:p.layerParams.cornerRadius,outerRadius:p.layerParams.outerRadius,axisWidth:p.axisWidth,maxValue:p.maxValue,arcScaleType:p.layerParams.arcScaleType,layerParams:p.layerParams}))),u=t.pluginParams$.pipe(R(n),A(p=>p.styles.transitionDuration),X()),h=new Ee(!1),f=new me(p=>{N({roseData:a,tweenArc:l,transitionDuration:u,layerParams:t.layerParams$,pluginParams:t.pluginParams$,theme:t.theme$}).pipe(R(n),W(0)).subscribe(g=>{const m=g.roseData.map((y,b)=>(y.prevValue=i[b]&&i[b].id===y.id?i[b].value:0,y));h.next(!0);const d=t.containerSelection.selectAll("path").data(m,y=>y.id).join("path").classed(r,!0).style("cursor","pointer").attr("fill",(y,b)=>y.data.color).attr("stroke",(y,b)=>we({datum:y.data,colorType:g.layerParams.strokeColorType,theme:g.theme})).attr("stroke-width",g.layerParams.strokeWidth);d.interrupt("graphicMove"),d.transition("graphicMove").duration(g.transitionDuration).attrTween("d",g.tweenArc).on("end",()=>{p.next(d),h.next(!1)}),i=Object.assign([],m)})}).pipe(z(1));return N({pathSelection:f,SeriesDataMap:t.SeriesDataMap$,computedData:t.computedData$,highlightTarget:s}).pipe(R(n),W(0)).subscribe(p=>{p.pathSelection.on("mouseover",(g,m)=>{g.stopPropagation(),t.eventTrigger$.next({eventName:"mouseover",pluginName:e,layerName:Rr,target:m.data,event:g})}).on("mousemove",(g,m)=>{g.stopPropagation(),t.eventTrigger$.next({eventName:"mousemove",pluginName:e,layerName:Rr,target:m.data,event:g})}).on("mouseout",(g,m)=>{g.stopPropagation(),t.eventTrigger$.next({eventName:"mouseout",pluginName:e,layerName:Rr,target:m.data,event:g})}).on("click",(g,m)=>{g.stopPropagation(),t.eventTrigger$.next({eventName:"click",pluginName:e,layerName:Rr,target:m.data,event:g})})}),N({pathSelection:f,highlight:t.seriesHighlight$.pipe(A(p=>p.map(g=>g.id))),layerParams:t.layerParams$,pluginParams:t.pluginParams$,tweenArc:l,isTransitionMoving:h}).pipe(R(n),W(0),mt(p=>!p.isTransitionMoving)).subscribe(p=>{i7({pathSelection:p.pathSelection,ids:p.highlight,layerParams:p.layerParams,pluginParams:p.pluginParams,tweenArc:p.tweenArc})}),()=>{n.next(void 0)}}const a7=he({name:Rr,defaultParams:Xx,layerIndex:$t,initShow:!1,validator:e=>H(e,{outerRadius:{toBeTypes:["number"]},padAngle:{toBeTypes:["number"]},strokeColorType:{toBeOption:"ColorType"},strokeWidth:{toBeTypes:["number"]},cornerRadius:{toBeTypes:["number"]},arcScaleType:{toBe:'"area" | "radius"',test:n=>n==="area"||n==="radius"},angleIncreaseWhileHighlight:{toBeTypes:["number"]}}),setup:({svgG:e,pluginParams$:t,layerParams$:n,context:r})=>{const i=new J;r.layout$.pipe(R(i)).subscribe(s=>{Y(e).attr("transform",`translate(${s.left}, ${s.top})`)});const{seriesCenterSelection$:o}=qo({selection:Y(e),pluginName:Zx,layerName:Rr,visibleComputedSortedData$:r.visibleComputedSortedData$,seriesContainerPosition$:r.seriesContainerPosition$}),a=[];return o.pipe(R(i)).subscribe(s=>{a.forEach(c=>c()),s.each((c,l,u)=>{const h=Y(u[l]),f=r.visibleComputedSortedData$.pipe(R(i),A(g=>JSON.parse(JSON.stringify(g[l]??g[0])))),p=r.seriesContainerPosition$.pipe(R(i),A(g=>JSON.parse(JSON.stringify(g[l]??g[0]))));a[l]=o7(Zx,{containerSelection:h,computedData$:r.computedData$,visibleComputedSortedData$:r.visibleComputedSortedData$,containerVisibleComputedSortedData$:f,SeriesDataMap$:r.SeriesDataMap$,layerParams$:n,pluginParams$:t,theme$:r.theme$,seriesHighlight$:r.seriesHighlight$,seriesContainerPosition$:p,eventTrigger$:r.eventTrigger$})})}),()=>{i.next(void 0),a.forEach(s=>s())}}}),Bl="PartitionPlot",Jo="RoseLabel",s7=U(Bl,Jo,"label-g"),l7=U(Bl,Jo,"line-g"),c7=U(Bl,Jo,"text"),Jx=2;function u7({pieData:e,labelCentroid:t,arcScaleType:n,maxValue:r,axisWidth:i,outerRadius:o,lineStartCentroid:a,layerParams:s}){const c=i/2*o,l=n==="area"?.5:1,u=ln().domain([0,r]).range([0,c]).exponent(l);return e.map((h,f)=>{const p=u(h.value),g=fl().innerRadius(0).outerRadius(p).padAngle(0).padRadius(p).cornerRadius(0),[m,d]=g.centroid(h),[y,b]=[m,d],x=s.labelFn(h.data);return{pieDatum:h,arcIndex:f,arcLabels:x.split(`
346
+ `),lineStartX:m*a,lineStartY:d*a,lineStartMouseoverX:y*a,lineStartMouseoverY:b*a,x:m*t,y:d*t,mouseoverX:y*t,mouseoverY:b*t,textWidth:0,collisionShiftX:0,collisionShiftY:0,quadrant:m>=0&&d<=0?1:m<0&&d<=0?2:m<0&&d>0?3:4}}).filter(h=>h.pieDatum.data.visible)}function f7({labelGSelection:e,data:t,layerParams:n,pluginParams:r,theme:i,fontSizePx:o}){const a=e.selectAll("text").data(t,s=>s.pieDatum.id).join("text").classed(c7,!0).attr("font-weight","bold").attr("text-anchor",s=>s.quadrant==1||s.quadrant==4?"start":"end").style("dominant-baseline",s=>s.quadrant==1||s.quadrant==2?"auto":"hanging").style("cursor",s=>r.styles.highlightTarget&&r.styles.highlightTarget!="none"?"pointer":"none").attr("font-size",o).attr("fill",(s,c)=>we({datum:s.pieDatum.data,colorType:n.labelColorType,theme:i})).each((s,c,l)=>{X1(Y(l[c]),{textArr:s.arcLabels,fontSizePx:o,quadrant:s.quadrant})});return a.transition().attr("transform",s=>"translate("+s.x+","+s.y+")"),a}function h7(e,t,n){const r=e.nodes(),i=n,o=r.map((a,s)=>{const c=a.getBBox(),l=[t[s].x,t[s].y];return{node:a,x:l[0],y:l[1],width:c.width,height:c.height}});for(let a=0;a<o.length;a++){const s=o[a];for(let c=a+1;c<o.length;c++){const l=o[c];t[a].textWidth=s.width;const u=s.x+t[a].collisionShiftX,h=s.y+t[a].collisionShiftY,f=l.x+t[c].collisionShiftX,p=l.y+t[c].collisionShiftY;if(!(u+s.width/2<f-l.width/2||u-s.width/2>f+l.width/2||h+s.height/2<p-l.height/2||h-s.height/2>p+l.height/2)){if(t[c].quadrant==2){const g=p>h?-i*2:-i;t[c].collisionShiftY+=g}else if(t[c].quadrant==4){const g=p>h?i:i*2;t[c].collisionShiftY+=g}}}}for(let a=o.length-1;a>=0;a--){const s=o[a];for(let c=a-1;c>=0;c--){const l=o[c];t[a].textWidth=s.width;const u=s.x+t[a].collisionShiftX,h=s.y+t[a].collisionShiftY,f=l.x+t[c].collisionShiftX,p=l.y+t[c].collisionShiftY;if(!(u+s.width/2<f-l.width/2||u-s.width/2>f+l.width/2||h+s.height/2<p-l.height/2||h-s.height/2>p+l.height/2)){if(t[c].quadrant==1){const g=p>h?-i*2:-i;t[c].collisionShiftY+=g}else if(t[c].quadrant==3){const g=p>h?i:i*2;t[c].collisionShiftY+=g}}}}e.data(t).transition().attr("transform",a=>`translate(${a.x+a.collisionShiftX},${a.y+a.collisionShiftY})`)}function p7({lineGSelection:e,data:t,layerParams:n,theme:r}){const i=t.filter(a=>a.collisionShiftX||a.collisionShiftY),o=e.selectAll("polyline").data(i,a=>a.pieDatum.id).join("polyline").attr("stroke",a=>we({datum:a.pieDatum.data,colorType:n.labelColorType,theme:r})).attr("stroke-width",1).attr("fill","none").attr("points",a=>[[a.lineStartX,a.lineStartY],[a.lineStartX,a.lineStartY]]);return o.transition().attr("points",a=>{let s=a.x+a.collisionShiftX,c=a.y+a.collisionShiftY;return[[s,c],[a.lineStartX,a.lineStartY]]}),o}function d7({textSelection:e,lineSelection:t,ids:n,pluginParams:r}){if(e.interrupt("highlight"),t.interrupt("highlight"),!n.length){e.transition("highlight").duration(200).attr("transform",i=>`translate(${i.x+i.collisionShiftX},${i.y+i.collisionShiftY})`).style("opacity",1),t.transition("highlight").duration(200).style("opacity",1);return}e.each((i,o,a)=>{const s=Y(a[o]);n.includes(i.pieDatum.data.id)?s.style("opacity",1).transition("highlight").duration(200).attr("transform",c=>`translate(${c.mouseoverX+c.collisionShiftX},${c.mouseoverY+c.collisionShiftY})`):s.style("opacity",r.styles.unhighlightedOpacity).transition("highlight").duration(200).attr("transform",c=>`translate(${c.x+c.collisionShiftX},${c.y+c.collisionShiftY})`)}),t.each((i,o,a)=>{const s=Y(a[o]);n.includes(i.pieDatum.data.id)?s.style("opacity",1).transition("highlight").duration(200):s.style("opacity",r.styles.unhighlightedOpacity).transition("highlight").duration(200)})}function g7(e){const t=new J;e.containerSelection.selectAll("g").remove();const n=e.containerSelection.append("g");n.classed(l7,!0);const r=e.containerSelection.append("g");r.classed(s7,!0);const i=new J,o=new J;let a=[];const s=e.seriesContainerPosition$.pipe(R(t),A(u=>u.width<u.height?u.width:u.height),X()),c=e.visibleComputedSortedData$.pipe(A(u=>Math.max(...u.flat().map(h=>h.value))),X()),l=e.layerParams$.pipe(R(t),A(u=>u.labelCentroid>=Jx?Jx:u.labelCentroid));return N({shorterSideWith:s,containerVisibleComputedSortedData:e.containerVisibleComputedSortedData$,maxValue:c,layerParams:e.layerParams$,pluginParams:e.pluginParams$,theme:e.theme$,fontSizePx:e.fontSizePx$,lineStartCentroid:l}).pipe(R(t),V(async u=>u)).subscribe(u=>{const h=Math.PI*2/u.containerVisibleComputedSortedData.length,f=u.containerVisibleComputedSortedData.map((g,m)=>({id:g.id,data:g,index:m,value:g.value,startAngle:h*m,endAngle:h*(m+1),padAngle:0}));a=u7({pieData:f,labelCentroid:u.layerParams.labelCentroid,arcScaleType:u.layerParams.arcScaleType,maxValue:u.maxValue,axisWidth:u.shorterSideWith,outerRadius:u.layerParams.outerRadius,lineStartCentroid:u.lineStartCentroid,layerParams:u.layerParams}),n.selectAll("polyline").remove();const p=f7({labelGSelection:r,data:a,layerParams:u.layerParams,pluginParams:u.pluginParams,theme:u.theme,fontSizePx:u.fontSizePx});setTimeout(()=>{h7(p,a,u.fontSizePx);const g=p7({lineGSelection:n,data:a,layerParams:u.layerParams,theme:u.theme});o.next(g)},1e3),i.next(p)}),N({textSelection:i,lineSelection:o,highlight:e.seriesHighlight$.pipe(A(u=>u.map(h=>h.id))),pluginParams:e.pluginParams$}).pipe(R(t),W(0)).subscribe(u=>{d7({textSelection:u.textSelection,lineSelection:u.lineSelection,ids:u.highlight,pluginParams:u.pluginParams})}),()=>{t.next(void 0)}}const m7=he({name:Jo,defaultParams:Ch,layerIndex:Ci,initShow:!1,validator:e=>H(e,{outerRadius:{toBeTypes:["number"]},labelCentroid:{toBeTypes:["number"]},labelFn:{toBeTypes:["Function"]},labelColorType:{toBeOption:"ColorType"},arcScaleType:{toBe:'"area" | "radius"',test:n=>n==="area"||n==="radius"}}),setup:({svgG:e,pluginParams$:t,layerParams$:n,context:r})=>{const i=new J;r.layout$.pipe(R(i)).subscribe(s=>{Y(e).attr("transform",`translate(${s.left}, ${s.top})`)});const{seriesCenterSelection$:o}=qo({selection:Y(e),pluginName:Bl,layerName:Jo,visibleComputedSortedData$:r.visibleComputedSortedData$,seriesContainerPosition$:r.seriesContainerPosition$}),a=[];return o.pipe(R(i)).subscribe(s=>{a.forEach(c=>c()),s.each((c,l,u)=>{const h=Y(u[l]),f=r.visibleComputedSortedData$.pipe(R(i),A(g=>JSON.parse(JSON.stringify(g[l]??g[0])))),p=r.seriesContainerPosition$.pipe(R(i),A(g=>JSON.parse(JSON.stringify(g[l]??g[0]))));a[l]=g7({containerSelection:h,visibleComputedSortedData$:r.visibleComputedSortedData$,containerVisibleComputedSortedData$:f,layerParams$:n,pluginParams$:t,theme$:r.theme$,fontSizePx$:r.fontSizePx$,seriesHighlight$:r.seriesHighlight$,seriesContainerPosition$:p,eventTrigger$:r.eventTrigger$})})}),()=>{i.next(void 0)}}}),y7=new O4,b7=new G4,x7=new X4,v7=new t7,$7=new a7,S7=new m7,A7=It({name:"PartitionPlot",defaultParams:_h,layers:[y7,b7,x7,v7,$7,S7],setup:e=>{const t=N({seriesData:e.context.seriesData$,datasetIndex:e.pluginParams$.pipe(A(y=>y.datasetIndex))}).pipe(W(0),A(({seriesData:y,datasetIndex:b})=>y[b]),z(1)),n=Jt({size$:e.context.size$,padding$:e.pluginParams$.pipe(A(y=>y.styles.padding))}).pipe(z(1)),r=T4({selectedSeriesData$:t,pluginParams$:e.pluginParams$}).pipe(z(1)),i=Nt(e.context.theme$).pipe(z(1)),o=w4({selectedSeriesData$:t}).pipe(z(1)),a=_4({pluginParams$:e.pluginParams$}).pipe(z(1)),s=D4({pluginParams$:e.pluginParams$}).pipe(z(1)),c=C4({seriesComputedData$:r,separateSeries$:a,separateName$:s,datumLabels$:o}).pipe(z(1)),l=M4({seriesComputedData$:c}).pipe(z(1)),u=r.pipe(A(y=>y.flat())).pipe(z(1)),h=dn({datumList$:u,styles$:e.pluginParams$.pipe(A(y=>y.styles)),event$:e.context.event$}).pipe(z(1)),f=P4({selectedSeriesData$:t}).pipe(z(1)),p=Bn({datumList$:u}).pipe(z(1)),g=L4({computedSortedData$:c,pluginParams$:e.pluginParams$,layout$:n}).pipe(z(1)),m=k4({seriesContainerPosition$:g,computedSortedData$:c}).pipe(z(1)),d={layout$:n,computedData$:r,fontSizePx$:i,datumLabels$:o,separateSeries$:a,separateName$:s,computedSortedData$:c,visibleComputedSortedData$:l,datumList$:u,seriesHighlight$:h,seriesLabels$:f,SeriesDataMap$:p,seriesContainerPosition$:g,DatumContainerPositionMap$:m};return e.context={...e.context,...d},()=>{}},validator:e=>{const t=H(e,{styles:{toBeTypes:["object"]},visibleFilter:{toBeTypes:["Function","null"]},sort:{toBeTypes:["Function","null"]},container:{toBeTypes:["object"]},separateSeries:{toBeTypes:["boolean"]},separateName:{toBeTypes:["boolean"]},datasetIndex:{toBeTypes:["number"]}});if(t.status==="error")return t;if(e.styles){const n=H(e.styles,{padding:{toBeTypes:["object"]},highlightTarget:{toBeTypes:["string"]},highlightDefault:{toBeTypes:["string","null"]},unhighlightedOpacity:{toBeTypes:["number"]},transitionDuration:{toBeTypes:["number"]},transitionEase:{toBeTypes:["string"]}});if(n.status==="error")return n;if(e.styles.padding){const r=H(e.styles.padding,{top:{toBeTypes:["number"]},right:{toBeTypes:["number"]},bottom:{toBeTypes:["number"]},left:{toBeTypes:["number"]}});if(r.status==="error")return r}}if(e.container){const n=H(e.container,{columnAmount:{toBeTypes:["number"]},rowAmount:{toBeTypes:["number"]},columnGap:{toBe:'number | "auto"',test:r=>typeof r=="number"||r==="auto"},rowGap:{toBe:'number | "auto"',test:r=>typeof r=="number"||r==="auto"}});if(n.status==="error")return n}return t}}),Rh={styles:{padding:{top:60,right:60,bottom:60,left:200},highlightTarget:"datum",highlightDefault:null,unhighlightedOpacity:.3,transitionDuration:100,transitionEase:"easeCubic"},visibleFilter:e=>!0,categoryAxis:{...Gp},rankedAxis:{label:"",limit:10},datasetIndex:0};Rh.visibleFilter.toString=()=>"(datum) => true";const Qx={sizeAdjust:.8,arcScaleType:"area",valueLinearOpacity:[.5,1],showZeroValue:!1},ev={axisLabel:{offset:[0,0],colorType:"primary"},seriesLabel:{padding:20,colorType:"primary"}},Bh={showLine:!0,showLabel:!0,lineDashArray:"3, 3",lineColorType:"primary",labelColorType:"primary",labelTextColorType:"background",labelTextFormat:e=>e,labelPadding:20};Bh.labelTextFormat.toString=()=>"text => text";const Ih={labelOffset:[0,0],labelColorType:"primary",axisLineVisible:!0,axisLineColorType:"primary",ticks:"all",tickFormat:e=>e,tickLineVisible:!0,tickPadding:20,tickFullLine:!1,tickFullLineDasharray:"none",tickColorType:"secondary",tickTextRotate:0,tickTextColorType:"primary",placement:"top"};Ih.tickFormat.toString=()=>"text => text";const tv={},T7=({selectedGridData$:e,pluginParams$:t})=>N({selectedGridData:e,pluginParams:t}).pipe(W(0),A(({selectedGridData:n,pluginParams:r})=>n.map(i=>i.map(o=>{const a=r.visibleFilter;return{...o,visible:a?a(o):!0}})))),w7=({computedData$:e})=>e.pipe(A(t=>t.filter(n=>n.length).map(n=>n[0].series)),X((t,n)=>JSON.stringify(t)===JSON.stringify(n))),_7=({computedData$:e})=>e.pipe(A(t=>t.map(n=>n.filter(r=>r.visible==!0)).filter(n=>n.length))),D7=({selectedGridData$:e,layout$:t})=>e.pipe(W(0),A(n=>{const r={slotIndex:0,rowIndex:0,columnIndex:0,translate:[0,0],scale:[1,1]};return n.length===0?[r]:n.map(()=>r)})),P7=({selectedGridData$:e,categoryAxis$:t})=>N({selectedGridData:e,categoryAxis:t}).pipe(W(0),A(n=>{const r=n.categoryAxis,i=n.selectedGridData[0]?n.selectedGridData[0].length-1:0,o=r.scaleDomain[0]-r.scalePadding,a=r.scaleDomain[1]==="max"?i+r.scalePadding:r.scaleDomain[1]+r.scalePadding;return[o,a]})),M7=({computedData$:e,categoryScaleDomainValue$:t,layout$:n})=>N({computedData:e,categoryScaleDomainValue:t,layout:n}).pipe(W(0),A(r=>{const i=r.computedData[0]?r.computedData[0].length-1:0;return Ye({maxValue:i,minValue:0,axisWidth:r.layout.width,scaleDomain:r.categoryScaleDomainValue,scaleRange:[0,1]})})),C7=({layout$:e})=>e.pipe(A(t=>({width:t.width,height:t.height})),X((t,n)=>t.width===n.width&&t.height===n.height)),L7=({layout$:e,categoryAxisPosition$:t})=>N({layout:e,position:t}).pipe(A(({layout:n,position:r})=>{const o=r==="top"?0:n.height,a=r==="top"?0:180;return{translate:[0,o],scale:[1,1],rotate:0,rotateX:a,rotateY:0,value:`translate(0px, ${o}px) rotate(0deg) rotateX(${a}deg) rotateY(0deg)`}})),k7=({gridAxesTransform$:e})=>e.pipe(A(t=>{const n=[0,0],r=[1,1],i=t.rotate*-1,o=t.rotateX*-1,a=t.rotateY*-1;return{translate:n,scale:r,rotate:i,rotateX:o,rotateY:a,value:`translate(${n[0]}px, ${n[1]}px) rotateX(${o}deg) rotateY(${a}deg) rotate(${i}deg)`}})),E7=({visibleComputedData$:e})=>e.pipe(A(t=>{const n=t.map(r=>({seriesData:r,sum:r.reduce((i,o)=>i+(o.value??0),0)}));return n.sort((r,i)=>i.sum-r.sum),n.map(r=>r.seriesData)})),R7=({containerSize$:e,visibleComputedData$:t,fontSizePx$:n,limit$:r})=>{const i=n.pipe(A(s=>s*2),z(1)),o=N({minLineHeight:i,containerSize:e}).pipe(V(async s=>s),A(s=>s.containerSize.height>s.minLineHeight?s.containerSize.height:s.minLineHeight),X(),z(1)),a=N({minLineHeight:i,containerHeight:o}).pipe(V(async s=>s),A(s=>Math.floor(s.containerHeight/s.minLineHeight)),X(),z(1));return r.pipe(V(s=>Ht(()=>s==="auto",N({visibleComputedData:t,rankingAmountLimit:a}).pipe(V(async c=>c),A(c=>{const l=c.visibleComputedData.length;return Math.min(c.rankingAmountLimit,l)})),r)))},B7=({containerSize$:e,fontSizePx$:t,computedRankedAmount$:n})=>{const r=t.pipe(A(o=>o*2),z(1)),i=N({minLineHeight:r,containerSize:e}).pipe(V(async o=>o),A(o=>o.containerSize.height>o.minLineHeight?o.containerSize.height:o.minLineHeight),X(),z(1));return N({containerHeight:i,computedRankedAmount:n}).pipe(V(async o=>o),A(o=>o.containerHeight/Math.max(1,o.computedRankedAmount)))},I7=({rankedSeriesData$:e,rankedItemHeight$:t})=>N({rankedSeriesData:e,rankedItemHeight:t}).pipe(V(async n=>n),A(n=>{const r=n.rankedSeriesData.map(a=>{var s;return((s=a[0])==null?void 0:s.series)??""}),i=n.rankedItemHeight*r.length;return[O1({axisLabels:r,axisWidth:i,padding:.5})]})),N7=({rootSelection:e,zoomedCategoryAxis$:t,computedData$:n,layout$:r,gridContainerPosition$:i})=>{const o=Rn(e,"mousemove"),a=N({zoomedCategoryAxis:t,computedData:n}).pipe(V(async f=>f),A(f=>{const p=f.computedData[0]?f.computedData[0].length-1:0,g=f.zoomedCategoryAxis,m=g.scaleDomain[0]-g.scalePadding,d=g.scaleDomain[1]==="max"?p+g.scalePadding:g.scaleDomain[1]+g.scalePadding;return[m,d]}),z(1)),s=n.pipe(A(f=>(f[0]??[]).map(p=>p.category))),c=N({categoryScaleDomain:a,categoryLabels:s}).pipe(V(async f=>f),A(f=>f.categoryLabels.filter((p,g)=>g>=f.categoryScaleDomain[0]&&g<=f.categoryScaleDomain[1]))),l=N({scaleRangeCategoryLabels:c,zoomedCategoryAxis:t,layout:r}).pipe(V(async f=>f),A(f=>oh({axisLabels:f.scaleRangeCategoryLabels,axisWidth:f.layout.width,padding:f.zoomedCategoryAxis.scalePadding,reverse:!1}))),u=N({rootMousemove:o,gridContainerPosition:i,layout:r}).pipe(V(async f=>f),A(f=>{let p=f.rootMousemove.offsetX;const m=f.gridContainerPosition.map((d,y)=>{var b;return[d.translate[0],((b=f.gridContainerPosition[y+1])==null?void 0:b.translate[0])??f.layout.rootWidth]}).filter(d=>d[0]<d[1]).find(d=>p>=d[0]&&p<=d[1]);return m&&(p=p-m[0]),p-f.layout.left})),h=N({xIndexScale:l,axisValue:u,categoryScaleDomain:a}).pipe(V(async f=>f),A(f=>{const p=f.xIndexScale(f.axisValue),g=Math.ceil(f.categoryScaleDomain[0]);return p+g}));return N({categoryIndex:h,categoryLabels:s}).pipe(V(async f=>f),A(f=>({categoryIndex:f.categoryIndex,categoryLabel:f.categoryLabels[f.categoryIndex]??""})))},O7="RankedPlot",nv="CategoryAxis",z7=he({name:nv,defaultParams:Ih,layerIndex:hn,initShow:!0,validator:e=>H(e,{labelOffset:{toBe:"[number, number]",test:n=>Array.isArray(n)&&n.length===2&&typeof n[0]=="number"&&typeof n[1]=="number"},labelColorType:{toBeOption:"ColorType"},axisLineVisible:{toBeTypes:["boolean"]},axisLineColorType:{toBeOption:"ColorType"},ticks:{toBe:'number | null | "all"',test:n=>n===null||n==="all"||typeof n=="number"},placement:{toBe:'"top" | "bottom"',test:n=>n==="top"||n==="bottom"}}),setup:({svgG:e,pluginParams$:t,layerParams$:n,context:r})=>{const i=new J;r.layout$.pipe(R(i)).subscribe(c=>{Y(e).attr("transform",`translate(${c.left}, ${c.top})`)});const o=L7({layout$:r.layout$,categoryAxisPosition$:n.pipe(A(c=>c.placement))}).pipe(z(1)),a=k7({gridAxesTransform$:o}).pipe(z(1)),s=vh({selection:Y(e),pluginName:O7,layerName:nv,computedData$:r.computedData$,baseCategoryAxisParams$:n,gridAxesTransform$:o,gridAxesReverseTransform$:a,gridAxesSize$:r.gridAxesSize$,gridContainerPosition$:r.gridContainerPosition$,isSeriesSeprate$:Mt(!1),fontSizePx$:r.fontSizePx$,categoryAxis$:r.zoomedCategoryAxis$.pipe(A(c=>({...c,reverse:!1}))),valueAxis$:t.pipe(A(c=>c.rankedAxis)),styles$:t.pipe(A(c=>c.styles)),theme$:r.theme$,categoryAxisPosition$:n.pipe(A(c=>c.placement))});return()=>{i.next(void 0),s()}}}),rv="RankedPlot",Nh="CategoryGuide",iv=6,ov=3,F7=he({name:Nh,defaultParams:Bh,layerIndex:Dl,initShow:!1,validator:e=>H(e,{showLine:{toBeTypes:["boolean"]},showLabel:{toBeTypes:["boolean"]},lineDashArray:{toBeTypes:["string"]},lineColorType:{toBeOption:"ColorType"},labelColorType:{toBeOption:"ColorType"},labelTextColorType:{toBeOption:"ColorType"},labelTextFormat:{toBeTypes:["string","Function"]},labelPadding:{toBeTypes:["number"]}}),setup:({svgG:e,pluginParams$:t,layerParams$:n,context:r})=>{const i=new J,o=Y(e);r.layout$.pipe(R(i)).subscribe(u=>{o.attr("transform",`translate(${u.left}, ${u.top})`)});const a=o.selectAll("g.aux-container").data([null]).join("g").classed("aux-container",!0);r.gridContainerPosition$.pipe(R(i)).subscribe(u=>{const h=u[0];h&&a.attr("transform",`translate(${h.translate[0]}, ${h.translate[1]})`)});const s=U(rv,Nh,"aux-line"),c=U(rv,Nh,"label-box"),l=N7({rootSelection:Y(r.svg),zoomedCategoryAxis$:r.zoomedCategoryAxis$,computedData$:r.computedData$,layout$:r.layout$,gridContainerPosition$:r.gridContainerPosition$}).pipe(R(i),z(1));return Rn(Y(r.svg),"mouseleave").pipe(R(i)).subscribe(()=>{a.selectAll(`line.${s}`).remove(),a.selectAll(`g.${c}`).remove()}),N({categoryPosition:l,layerParams:n,gridAxesSize:r.gridAxesSize$,ordinalScale:r.ordinalScale$,fontSizePx:r.fontSizePx$,theme:r.theme$}).pipe(R(i),W(0),V(async u=>u)).subscribe(u=>{const{categoryPosition:h,layerParams:f,gridAxesSize:p,ordinalScale:g,fontSizePx:m,theme:d}=u,{categoryIndex:y,categoryLabel:b}=h,x=g(y);if(f.showLine&&b?a.selectAll(`line.${s}`).data([{axisX:x}]).join("line").classed(s,!0).style("pointer-events","none").style("vector-effect","non-scaling-stroke").style("stroke",de(f.lineColorType,d)).style("stroke-dasharray",f.lineDashArray??"none").attr("x1",v=>v.axisX).attr("x2",v=>v.axisX).attr("y1",0).attr("y2",p.height):a.selectAll(`line.${s}`).remove(),f.showLabel&&b){const v=Xt(b,f.labelTextFormat),S=v.length*m*.6,$=m,L=S+iv*2,E=$+ov*2,M=a.selectAll(`g.${c}`).data([{axisX:x,text:v}]).join("g").classed(c,!0).attr("transform",C=>`translate(${C.axisX-L/2}, ${-f.labelPadding})`);M.selectAll("rect").data([null]).join("rect").attr("x",0).attr("y",-E).attr("width",L).attr("height",E).attr("rx",4).attr("ry",4).attr("fill",de(f.labelColorType,d)),M.selectAll("text").data([v]).join("text").attr("x",iv).attr("y",-ov-2).attr("fill",de(f.labelTextColorType,d)).attr("font-size",m).style("dominant-baseline","auto").text(C=>C)}else a.selectAll(`g.${c}`).remove()}),()=>{i.next(void 0)}}}),Y7="RankedPlot",av="CategoryZoom",W7=he({name:av,defaultParams:tv,layerIndex:lh,initShow:!1,validator:e=>({status:"success",columnName:"",expectToBe:""}),setup:({svgG:e,pluginParams$:t,layerParams$:n,context:r})=>{const i=new J,o=Y(r.svg);let a={k:1,x:0,y:0};const s=r.computedData$.pipe(A(u=>u[0]?u[0].length-1:0),X()),c=t.pipe(A(u=>u.categoryAxis)),l=N({initCategoryAxis:c,categoryMaxIndex:s,axisSize:r.gridAxesSize$}).pipe(R(i),W(0),A(u=>{const h=u.initCategoryAxis.scaleDomain[0]-u.initCategoryAxis.scalePadding,f=u.initCategoryAxis.scaleDomain[1]==="max"?u.categoryMaxIndex+u.initCategoryAxis.scalePadding:u.initCategoryAxis.scaleDomain[1]+u.initCategoryAxis.scalePadding;return Ye({maxValue:u.categoryMaxIndex,minValue:0,axisWidth:u.axisSize.width,scaleDomain:[h,f],scaleRange:[0,1]})}));return N({initGroupScale:l,pluginParams:t,categoryMaxIndex:s}).pipe(R(i),W(0)).subscribe(u=>{const f=u.initGroupScale.copy(),p=Pt().on("zoom",function(m){const d=m.transform,y=x=>{const v=Math.round(x);return Math.min(u.categoryMaxIndex,Math.max(0,v))},b=d.rescaleX(f).domain().map(y);b[0]<=0&&b[1]>=u.categoryMaxIndex?d.k<a.k&&(d.k=a.k,d.x=a.x,d.y=a.y):b[1]-b[0]<=1&&d.k>a.k&&(d.k=a.k,d.x=a.x,d.y=a.y),a.k=d.k,a.x=d.x,a.y=d.y,r.eventTrigger$.next({eventName:"zoom",pluginName:Y7,layerName:av,target:null,data:{scaleDomain:b}})});o.call(p)}),()=>{i.next(void 0),o.call(Pt().on("zoom",null))}}});function G7({defsSelection:e,clipPathData:t}){e.selectAll("clipPath").data(t).join(n=>n.append("clipPath"),n=>n,n=>n.remove()).attr("id",n=>n.id).each((n,r,i)=>{Y(i[r]).selectAll("rect").data([n]).join(o=>o.append("rect"),o=>o,o=>o.remove()).attr("x",0).attr("y",0).attr("width",o=>o.width).attr("height",o=>o.height)})}function V7({containerSelection:e,paddingGClassName:t,itemGClassName:n,bubbleData:r,transitionDuration:i,transitionEase:o}){return e.selectAll(`g.${t}`).data([0]).join(a=>a.append("g").attr("class",t),a=>a,a=>a.remove()).selectAll(`g.${n}`).data(r,a=>a.series).join(a=>a.append("g").attr("class",n).attr("cursor","pointer").attr("transform",s=>{var c;return`translate(0, ${((c=s.graphicValue[0])==null?void 0:c.y)??0})`}),a=>a.transition().duration(i).ease(Vt(o)).attr("transform",s=>{var c;return`translate(0, ${((c=s.graphicValue[0])==null?void 0:c.y)??0})`}),a=>a.remove()),e.selectAll(`g.${n}`)}function X7({graphicGSelection:e,bubbleValueClassName:t,transitionDuration:n}){return e.each((r,i,o)=>{Y(o[i]).selectAll(`circle.${t}`).data(r.graphicValue,a=>String(a.categoryIndex)).join(a=>a.append("circle").attr("class",t),a=>a,a=>a.remove()).attr("fill",()=>r.color).style("opacity",a=>a.opacity).transition().duration(n).ease(yn).attr("cx",a=>a.x).attr("r",a=>a.r)}),e.selectAll(`circle.${t}`)}function j7({selection:e,ids:t,unhighlightedOpacity:n}){if(e.interrupt("highlight"),!t.length){e.transition("highlight").duration(200).style("opacity",r=>r.opacity);return}e.each((r,i,o)=>{const a=r._refDatum;Y(o[i]).style("opacity",t.includes(a.id)?r.opacity:n)})}function H7({selection:e,pluginName:t,layerName:n,computedData$:r,rankedSeriesData$:i,CategoryDataMap$:o,fullParams$:a,styles$:s,gridHighlight$:c,rankingItemHeight$:l,rankingScaleList$:u,containerPosition$:h,containerSize$:f,layout$:p,ordinalScale$:g,eventTrigger$:m}){const d=new J,y=We(t,n,"clipPath-box"),b=U(t,n,"container"),x=U(t,n,"padding-g"),v=U(t,n,"item-g"),S=U(t,n,"bubble"),$=e.selectAll(`g.${b}`).data([null]).join("g").classed(b,!0).attr("clip-path",`url(#${y})`);h.pipe(R(d)).subscribe(I=>{const _=I[0];_&&$.attr("transform",`translate(${_.translate[0]}, ${_.translate[1]})`)});const L=e.selectAll("defs").data([y]).join("defs");N({size:f,layout:p}).pipe(R(d)).subscribe(({size:I,layout:_})=>{G7({defsSelection:L,clipPathData:[{id:y,width:I.width+_.right,height:I.height}]})});const E=N({sizeAdjust:a.pipe(A(I=>I.sizeAdjust),X()),rankingItemHeight:l}).pipe(R(d),V(async I=>I),A(I=>I.rankingItemHeight*I.sizeAdjust/2),X(),z(1)),M=i.pipe(R(d),A(I=>{const _=I.flat().map(j=>j.value??0),O=Math.min(0,..._),F=Math.max(0,..._);return[O,F]}),X((I,_)=>I[0]===_[0]&&I[1]===_[1]),z(1)),C=N({minMaxValue:M,fullParams:a}).pipe(R(d),A(I=>Je().domain(I.minMaxValue).range(I.fullParams.valueLinearOpacity)),z(1)),B=N({maxRadius:E,minMaxValue:M,arcScaleType:a.pipe(A(I=>I.arcScaleType),X())}).pipe(R(d),V(async I=>I),A(I=>ln().domain([0,Math.max(I.minMaxValue[1],1)]).range([2,I.maxRadius]).exponent(I.arcScaleType==="area"?.5:1)),z(1)),D=N({rankedSeriesData:i,radiusScale:B,rankingScaleList:u,ordinalScale:g,opacityScale:C,showZeroValue:a.pipe(A(I=>I.showZeroValue),X())}).pipe(R(d),V(async I=>I),A(I=>{const _=I.rankingScaleList[0];return _?I.rankedSeriesData.map(O=>{const F=O[0];if(!F)return null;const j=_(F.series)??0,Z=O.filter(te=>I.showZeroValue||te.value!==null&&te.value!==0).map(te=>({categoryIndex:te.categoryIndex,x:I.ordinalScale(te.categoryIndex),y:j,r:I.radiusScale(te.value??0),opacity:I.opacityScale(te.value??0),_refDatum:te}));return{...F,graphicValue:Z}}).filter(Boolean):[]})),P=s.pipe(R(d),A(I=>I.transitionDuration),X()),w=s.pipe(R(d),A(I=>I.transitionEase),X()),k=N({bubbleData:D,transitionDuration:P,transitionEase:w}).pipe(R(d),V(async I=>I),A(I=>V7({containerSelection:$,paddingGClassName:x,itemGClassName:v,bubbleData:I.bubbleData,transitionDuration:I.transitionDuration,transitionEase:I.transitionEase}))),T=N({graphicGSelection:k,transitionDuration:P}).pipe(R(d),V(async I=>I),A(I=>X7({graphicGSelection:I.graphicGSelection,bubbleValueClassName:S,transitionDuration:I.transitionDuration})),z(1));return N({graphicSelection:T,computedData:r,CategoryDataMap:o}).pipe(R(d),V(async I=>I)).subscribe(I=>{I.graphicSelection.on("mouseover",(_,O)=>{m.next({eventName:"mouseover",pluginName:t,layerName:n,target:O._refDatum,event:_})}).on("mousemove",(_,O)=>{m.next({eventName:"mousemove",pluginName:t,layerName:n,target:O._refDatum,event:_})}).on("mouseout",(_,O)=>{m.next({eventName:"mouseout",pluginName:t,layerName:n,target:O._refDatum,event:_})}).on("click",(_,O)=>{m.next({eventName:"click",pluginName:t,layerName:n,target:O._refDatum,event:_})})}),N({graphicSelection:T,highlight:c.pipe(A(I=>I.map(_=>_.id))),styles:s}).pipe(R(d),V(async I=>I)).subscribe(I=>{j7({selection:I.graphicSelection,ids:I.highlight,unhighlightedOpacity:I.styles.unhighlightedOpacity})}),()=>{d.next(),d.complete()}}const U7="RankedPlot",sv="RankedBubble",q7=he({name:sv,defaultParams:Qx,layerIndex:$t,initShow:!0,validator:e=>H(e,{sizeAdjust:{toBeTypes:["number"]},arcScaleType:{toBe:'"area" | "radius"',test:n=>n==="area"||n==="radius"},valueLinearOpacity:{toBe:"[number, number]",test:n=>Array.isArray(n)&&n.length===2&&typeof n[0]=="number"&&typeof n[1]=="number"},showZeroValue:{toBeTypes:["boolean"]}}),setup:({svgG:e,pluginParams$:t,layerParams$:n,context:r})=>{const i=new J;r.layout$.pipe(R(i)).subscribe(a=>{Y(e).attr("transform",`translate(${a.left}, ${a.top})`)});const o=H7({selection:Y(e),pluginName:U7,layerName:sv,computedData$:r.computedData$,rankedSeriesData$:r.rankedSeriesData$,CategoryDataMap$:r.CategoryDataMap$,fullParams$:n,styles$:t.pipe(A(a=>a.styles)),gridHighlight$:r.gridHighlight$,rankingItemHeight$:r.rankedItemHeight$,rankingScaleList$:r.rankedScaleList$,containerPosition$:r.gridContainerPosition$,containerSize$:r.containerSize$,layout$:r.layout$,ordinalScale$:r.ordinalScale$,eventTrigger$:r.eventTrigger$});return()=>{i.next(void 0),o()}}});function K7({defsSelection:e,clipPathData:t}){e.selectAll("clipPath").data(t).join(n=>n.append("clipPath"),n=>n,n=>n.remove()).attr("id",n=>n.id).each((n,r,i)=>{Y(i[r]).selectAll("rect").data([n]).join(o=>o.append("rect"),o=>o,o=>o.remove()).attr("x",o=>-o.width).attr("y",0).attr("width",o=>o.width*2).attr("height",o=>o.height)})}function Z7({labelSelection:e,axisLabel:t,fullParams:n,theme:r}){const i=n.axisLabel.offset[0],o=n.axisLabel.offset[1];e.selectAll("text.axis-label").data([t]).join(a=>a.append("text").attr("class","axis-label"),a=>a,a=>a.remove()).attr("text-anchor","end").attr("dominant-baseline","auto").attr("x",-i).attr("y",-o).style("fill",de(n.axisLabel.colorType,r)).text(a=>a)}function J7({labelsSelection:e,seriesLabelClassName:t,rankingScale:n,rankedSeriesData:r,fullParams:i,transitionDuration:o,transitionEase:a,theme:s}){const c=r.map(u=>u[0]).filter(Boolean),l=i.seriesLabel.padding;e.selectAll(`text.${t}`).data(c,u=>u.series).join(u=>u.append("text").attr("class",t).style("pointer-events","none").attr("x",-l).attr("y",h=>n(h.series)??0),u=>u.transition().duration(o).ease(Vt(a)).attr("y",h=>n(h.series)??0),u=>u.remove()).attr("text-anchor","end").attr("dominant-baseline","middle").attr("x",-l).style("fill",()=>de(i.seriesLabel.colorType,s)).text(u=>u.series)}function Q7({selection:e,pluginName:t,layerName:n,rankedSeriesData$:r,fullParams$:i,styles$:o,rankingAxisLabel$:a,rankingScaleList$:s,containerPosition$:c,containerSize$:l,theme$:u}){const h=new J,f=We(t,n,"clipPath-box"),p=U(t,n,"container"),g=U(t,n,"series-label"),m=U(t,n,"axis-label-g"),d=e.selectAll(`g.${p}`).data([null]).join("g").classed(p,!0).attr("clip-path",`url(#${f})`);c.pipe(R(h)).subscribe(v=>{const S=v[0];S&&d.attr("transform",`translate(${S.translate[0]}, ${S.translate[1]})`)});const y=d.selectAll("g.labels-g").data([null]).join("g").classed("labels-g",!0),b=d.selectAll(`g.${m}`).data([null]).join("g").classed(m,!0),x=e.selectAll("defs").data([f]).join("defs");return l.pipe(R(h)).subscribe(v=>{K7({defsSelection:x,clipPathData:[{id:f,width:v.width,height:v.height}]})}),N({rankedSeriesData:r,rankingScaleList:s,fullParams:i,transitionDuration:o.pipe(A(v=>v.transitionDuration),X()),transitionEase:o.pipe(A(v=>v.transitionEase),X()),theme:u}).pipe(R(h),V(async v=>v)).subscribe(v=>{const S=v.rankingScaleList[0];S&&J7({labelsSelection:y,seriesLabelClassName:g,rankingScale:S,rankedSeriesData:v.rankedSeriesData,fullParams:v.fullParams,transitionDuration:v.transitionDuration,transitionEase:v.transitionEase,theme:v.theme})}),N({axisLabel:a,fullParams:i,containerSize:l,theme:u}).pipe(R(h),V(async v=>v)).subscribe(v=>{Z7({labelSelection:b,axisLabel:v.axisLabel,fullParams:v.fullParams,containerSize:v.containerSize,theme:v.theme})}),()=>{h.next(),h.complete()}}const e9="RankedPlot",lv="RankAxis",t9=he({name:lv,defaultParams:ev,layerIndex:hn,initShow:!0,validator:e=>{const t=H(e,{axisLabel:{toBeTypes:["object"]},seriesLabel:{toBeTypes:["object"]}});if(t.status==="error")return t;if(e.axisLabel){const n=H(e.axisLabel,{offset:{toBe:"[number, number]",test:r=>Array.isArray(r)&&r.length===2&&typeof r[0]=="number"&&typeof r[1]=="number"},colorType:{toBeOption:"ColorType"}});if(n.status==="error")return n}if(e.seriesLabel){const n=H(e.seriesLabel,{padding:{toBeTypes:["number"]},colorType:{toBeOption:"ColorType"}});if(n.status==="error")return n}return t},setup:({svgG:e,pluginParams$:t,layerParams$:n,context:r})=>{const i=new J;r.layout$.pipe(R(i)).subscribe(a=>{Y(e).attr("transform",`translate(${a.left}, ${a.top})`)});const o=Q7({selection:Y(e),pluginName:e9,layerName:lv,computedData$:r.computedData$,rankedSeriesData$:r.rankedSeriesData$,fullParams$:n,styles$:t.pipe(A(a=>a.styles)),rankingAxisLabel$:t.pipe(A(a=>a.rankedAxis.label)),rankingScaleList$:r.rankedScaleList$,containerPosition$:r.gridContainerPosition$,containerSize$:r.containerSize$,theme$:r.theme$});return()=>{i.next(void 0),o()}}}),n9=new z7,r9=new F7,i9=new W7,o9=new q7,a9=new t9,s9=It({name:"RankedPlot",defaultParams:Rh,layers:[n9,r9,i9,o9,a9],setup:e=>{const t=new Ee(void 0);e.context.event$.subscribe(L=>{L.eventName==="zoom"&&L.data&&L.data.scaleDomain&&t.next(L.data.scaleDomain)});const n=e.pluginParams$.pipe(A(L=>L.categoryAxis),V(L=>t.pipe(A(E=>E?{...L,scaleDomain:E}:L))),z(1)),r=N({gridData:e.context.gridData$,datasetIndex:e.pluginParams$.pipe(A(L=>L.datasetIndex))}).pipe(W(0),A(({gridData:L,datasetIndex:E})=>L[E]),z(1)),i=Jt({size$:e.context.size$,padding$:e.pluginParams$.pipe(A(L=>L.styles.padding))}).pipe(z(1)),o=T7({selectedGridData$:r,pluginParams$:e.pluginParams$}).pipe(z(1)),a=Nt(e.context.theme$).pipe(z(1)),s=D7({selectedGridData$:r,layout$:i}).pipe(z(1)),c=Ni({layout$:i,containerPosition$:s,container$:Mt(Wr)}).pipe(z(1)),l=C7({layout$:i}).pipe(z(1)),u=o.pipe(A(L=>L.flat()),z(1)),h=dn({datumList$:u,styles$:e.pluginParams$.pipe(A(L=>L.styles)),event$:e.context.event$}).pipe(z(1)),f=w7({computedData$:o}),p=Bn({datumList$:u}).pipe(z(1)),g=rr({datumList$:u}).pipe(z(1)),m=_7({computedData$:o}).pipe(z(1)),d=P7({selectedGridData$:r,categoryAxis$:n}).pipe(z(1)),y=M7({computedData$:o,categoryScaleDomainValue$:d,layout$:i}).pipe(z(1)),b=E7({visibleComputedData$:m}).pipe(z(1)),x=R7({containerSize$:c,visibleComputedData$:m,fontSizePx$:a,limit$:e.pluginParams$.pipe(A(L=>L.rankedAxis.limit))}).pipe(z(1)),v=B7({containerSize$:c,fontSizePx$:a,computedRankedAmount$:x}).pipe(z(1)),S=I7({rankedSeriesData$:b,rankedItemHeight$:v}).pipe(z(1)),$={layout$:i,computedData$:o,fontSizePx$:a,containerSize$:c,gridHighlight$:h,gridContainerPosition$:s,seriesLabels$:f,SeriesDataMap$:p,CategoryDataMap$:g,visibleComputedData$:m,ordinalScale$:y,categoryScaleDomainValue$:d,zoomedCategoryAxis$:n,gridAxesSize$:l,rankedSeriesData$:b,computedRankedAmount$:x,rankedItemHeight$:v,rankedScaleList$:S};return e.context={...e.context,...$},()=>{}},validator:e=>H(e,{styles:{toBeTypes:["object"]},visibleFilter:{toBeTypes:["Function"]}})}),Oh={styles:{padding:{top:60,right:60,bottom:60,left:60},highlightTarget:"datum",highlightDefault:null,unhighlightedOpacity:.3,transitionDuration:500,transitionEase:"easeLinear"},visibleFilter:e=>!0,datasetIndex:0,rankedAxis:{label:"",limit:10},autorun:!0,loop:!1,frameInterval:1e3};Oh.visibleFilter.toString=()=>"(datum) => true";const cv={barWidth:null,barPadding:4,barRadius:4},zh={padding:8,colorType:"primary",format:e=>e};zh.format.toString=()=>"text => text";const uv={axisLabel:{offset:[0,0],colorType:"primary"},seriesLabel:{position:"inside-right",padding:20,colorType:"dataContrast"}},Fh={renderFn:(e,t,n)=>e,textAttrs:[{}],textStyles:[{"font-size":"3em","font-weight":"bold"}],paddingRight:0,paddingBottom:0};Fh.renderFn.toString=()=>"(categoryLabel, frameIndex, data) => categoryLabel";const Yh={labelOffset:[0,0],labelColorType:"primary",axisLineVisible:!0,axisLineColorType:"primary",ticks:null,tickFormat:e=>e,tickLineVisible:!0,tickPadding:20,tickFullLine:!0,tickFullLineDasharray:"none",tickColorType:"secondary",tickTextColorType:"primary",placement:"top"};Yh.tickFormat.toString=()=>"text => text";const l9=({selectedGridData$:e,pluginParams$:t})=>N({selectedGridData:e,pluginParams:t}).pipe(W(0),A(({selectedGridData:n,pluginParams:r})=>n.map(i=>i.map(o=>{const a=r.visibleFilter;return{...o,visible:a?a(o):!0}})))),c9=({computedData$:e})=>e.pipe(A(t=>t.filter(n=>n.length).map(n=>n[0].series)),X((t,n)=>JSON.stringify(t)===JSON.stringify(n))),u9=({computedData$:e})=>e.pipe(A(t=>t.map(n=>n.filter(r=>r.visible==!0)).filter(n=>n.length))),f9=({selectedGridData$:e})=>e.pipe(W(0),A(t=>{const n={slotIndex:0,rowIndex:0,columnIndex:0,translate:[0,0],scale:[1,1]};return t.length===0?[n]:t.map(()=>n)})),h9=({computedData$:e})=>e.pipe(A(t=>{const n=t[0];return!n||n.length===0?0:n.length-1}),X()),p9=({computedData$:e,currentFrameIndex$:t})=>N({computedData:e,currentFrameIndex:t}).pipe(A(({computedData:n,currentFrameIndex:r})=>{var o;const i=n[0];return i?((o=i[r])==null?void 0:o.category)??"":""}),X()),d9=({racingRankedSeriesData$:e,currentFrameIndex$:t,containerSize$:n})=>N({racingRankedSeriesData:e,currentFrameIndex:t,containerSize:n}).pipe(W(0),A(({racingRankedSeriesData:r,currentFrameIndex:i,containerSize:o})=>{var c,l;const a=Math.max(1,((l=(c=r[0])==null?void 0:c[i])==null?void 0:l.value)??0),s=Math.max(1,a/.9);return Je().domain([0,s]).range([0,o.width]).clamp(!0)})),g9=({visibleComputedData$:e,currentFrameIndex$:t})=>N({visibleComputedData:e,currentFrameIndex:t}).pipe(A(({visibleComputedData:n,currentFrameIndex:r})=>{const i=n.map(o=>{var a;return{seriesData:o,currentValue:((a=o[r])==null?void 0:a.value)??0}});return i.sort((o,a)=>a.currentValue-o.currentValue),i.map(o=>o.seriesData)})),m9=({containerSize$:e,visibleComputedData$:t,fontSizePx$:n,limit$:r})=>{const i=n.pipe(A(s=>s*2),z(1)),o=N({minLineHeight:i,containerSize:e}).pipe(V(async s=>s),A(s=>s.containerSize.height>s.minLineHeight?s.containerSize.height:s.minLineHeight),X(),z(1)),a=N({minLineHeight:i,containerHeight:o}).pipe(V(async s=>s),A(s=>Math.floor(s.containerHeight/s.minLineHeight)),X(),z(1));return r.pipe(V(s=>Ht(()=>s==="auto",N({visibleComputedData:t,rankingAmountLimit:a}).pipe(V(async c=>c),A(c=>{const l=c.visibleComputedData.length;return Math.min(c.rankingAmountLimit,l)})),r)))},y9=({containerSize$:e,fontSizePx$:t,computedRankedAmount$:n})=>{const r=t.pipe(A(o=>o*2),z(1)),i=N({minLineHeight:r,containerSize:e}).pipe(V(async o=>o),A(o=>o.containerSize.height>o.minLineHeight?o.containerSize.height:o.minLineHeight),X(),z(1));return N({containerHeight:i,computedRankedAmount:n}).pipe(V(async o=>o),A(o=>o.containerHeight/Math.max(1,o.computedRankedAmount)))},b9=({racingRankedSeriesData$:e,rankedItemHeight$:t})=>N({racingRankedSeriesData:e,rankedItemHeight:t}).pipe(V(async n=>n),A(n=>{const r=n.racingRankedSeriesData.map(a=>{var s;return((s=a[0])==null?void 0:s.series)??""}),i=n.rankedItemHeight*r.length;return[O1({axisLabels:r,axisWidth:i,padding:.5})]}));function x9({defsSelection:e,clipPathData:t}){e.selectAll("clipPath").data(t).join(n=>n.append("clipPath"),n=>n,n=>n.remove()).attr("id",n=>n.id).each((n,r,i)=>{Y(i[r]).selectAll("rect").data([n]).join(o=>o.append("rect"),o=>o,o=>o.remove()).attr("x",0).attr("y",0).attr("width",o=>o.width).attr("height",o=>o.height)})}function v9({selection:e,pluginName:t,layerName:n,computedData$:r,racingRankedSeriesData$:i,currentFrameIndex$:o,fullParams$:a,styles$:s,gridHighlight$:c,rankedItemHeight$:l,rankedScaleList$:u,containerPosition$:h,containerSize$:f,layout$:p,xScale$:g,theme$:m,eventTrigger$:d}){const y=new J,b=We(t,n,"clipPath-box"),x=U(t,n,"container"),v=U(t,n,"bar"),S=e.selectAll(`g.${x}`).data([null]).join("g").classed(x,!0).attr("clip-path",`url(#${b})`),$=e.selectAll("defs").data([b]).join("defs");h.pipe(R(y)).subscribe(D=>{const P=D[0];P&&S.attr("transform",`translate(${P.translate[0]}, ${P.translate[1]})`)}),f.pipe(R(y)).subscribe(D=>{x9({defsSelection:$,clipPathData:[{id:b,width:D.width,height:D.height}]})});const L=N({fullParams:a,rankedItemHeight:l}).pipe(R(y),A(D=>D.fullParams.barWidth!=null?D.fullParams.barWidth:Math.max(1,D.rankedItemHeight-D.fullParams.barPadding)),X()),E=s.pipe(R(y),A(D=>D.transitionDuration),X()),M=s.pipe(R(y),A(D=>D.transitionEase),X()),C=N({racingRankedSeriesData:i,rankedScaleList:u,transitionDuration:E,transitionEase:M}).pipe(R(y),V(async D=>D),A(D=>{const P=D.rankedScaleList[0];return S.selectAll("g.bar-g").data(D.racingRankedSeriesData,w=>{var k;return((k=w[0])==null?void 0:k.series)??""}).join(w=>w.append("g").attr("class","bar-g").attr("cursor","pointer").attr("transform",k=>{var I;return`translate(0, ${P?P(((I=k[0])==null?void 0:I.series)??"")??0:0})`}),w=>w.transition().duration(D.transitionDuration).ease(Vt(D.transitionEase)).attr("transform",k=>{var I;return`translate(0, ${P?P(((I=k[0])==null?void 0:I.series)??"")??0:0})`}),w=>w.remove())}),z(1)),B=N({barGSelection:C,currentFrameIndex:o,xScale:g,barWidth:L,transitionDuration:E,transitionEase:M,fullParams:a}).pipe(R(y),V(async D=>D),A(D=>{const P=D.barWidth/2,w=D.fullParams.barRadius===!0?P:D.fullParams.barRadius===!1?0:typeof D.fullParams.barRadius=="number"?D.fullParams.barRadius:0;return D.barGSelection.each((k,T,I)=>{const _=k[D.currentFrameIndex];_&&Y(I[T]).selectAll(`rect.${v}`).data([_],O=>O.series).join(O=>O.append("rect").attr("class",v).attr("transform",`translate(0, ${-P})`).attr("height",D.barWidth).attr("width",F=>Math.max(1,D.xScale(F.value??0))).attr("fill",F=>F.color).attr("rx",w).attr("ry",w),O=>O.attr("fill",F=>F.color).attr("rx",w).attr("ry",w).transition().duration(D.transitionDuration).ease(yn).attr("transform",`translate(0, ${-P})`).attr("height",D.barWidth).attr("width",F=>Math.max(1,D.xScale(F.value??0))),O=>O.remove())}),D.barGSelection.selectAll(`rect.${v}`)}),z(1));return N({barRectSelection:B,computedData:r}).pipe(R(y),V(async D=>D)).subscribe(D=>{D.barRectSelection.on("mouseover",(P,w)=>{d.next({eventName:"mouseover",pluginName:t,layerName:n,target:w,event:P})}).on("mousemove",(P,w)=>{d.next({eventName:"mousemove",pluginName:t,layerName:n,target:w,event:P})}).on("mouseout",(P,w)=>{d.next({eventName:"mouseout",pluginName:t,layerName:n,target:w,event:P})}).on("click",(P,w)=>{d.next({eventName:"click",pluginName:t,layerName:n,target:w,event:P})})}),N({barGSelection:C,highlight:c.pipe(A(D=>D.map(P=>P.id))),styles:s}).pipe(R(y),V(async D=>D)).subscribe(D=>{if(D.barGSelection.interrupt("highlight"),!D.highlight.length){D.barGSelection.transition("highlight").duration(200).style("opacity",1);return}D.barGSelection.each((P,w,k)=>{const T=D.highlight.some(I=>P.some(_=>_.id===I));Y(k[w]).style("opacity",T?1:D.styles.unhighlightedOpacity)})}),()=>{y.next(),y.complete()}}const $9="RacingPlot",fv="RacingBar",S9=he({name:fv,defaultParams:cv,layerIndex:$t,initShow:!0,validator:e=>H(e,{barWidth:{toBeTypes:["number","null"]},barPadding:{toBeTypes:["number"]},barRadius:{toBeTypes:["number","boolean"]}}),setup:({svgG:e,pluginParams$:t,layerParams$:n,context:r})=>{const i=new J;r.layout$.pipe(R(i)).subscribe(a=>{Y(e).attr("transform",`translate(${a.left}, ${a.top})`)});const o=v9({selection:Y(e),pluginName:$9,layerName:fv,computedData$:r.computedData$,racingRankedSeriesData$:r.racingRankedSeriesData$,currentFrameIndex$:r.currentFrameIndex$,fullParams$:n,styles$:t.pipe(A(a=>a.styles)),gridHighlight$:r.gridHighlight$,rankedItemHeight$:r.rankedItemHeight$,rankedScaleList$:r.rankedScaleList$,containerPosition$:r.gridContainerPosition$,containerSize$:r.containerSize$,layout$:r.layout$,xScale$:r.xScale$,theme$:r.theme$,eventTrigger$:r.eventTrigger$});return()=>{i.next(),o()}}});function A9({defsSelection:e,clipPathData:t}){e.selectAll("clipPath").data(t).join(n=>n.append("clipPath"),n=>n,n=>n.remove()).attr("id",n=>n.id).each((n,r,i)=>{Y(i[r]).selectAll("rect").data([n]).join(o=>o.append("rect"),o=>o,o=>o.remove()).attr("x",o=>-o.width).attr("y",0).attr("width",o=>o.width*2).attr("height",o=>o.height)})}function T9({labelSelection:e,axisLabel:t,fullParams:n,containerSize:r,theme:i}){const o=n.axisLabel.offset[0],a=n.axisLabel.offset[1];e.attr("transform",`translate(0, ${r.height})`).selectAll("text.axis-label").data([t]).join(s=>s.append("text").attr("class","axis-label").style("font-weight","bold"),s=>s,s=>s.remove()).attr("text-anchor","end").attr("dominant-baseline","auto").attr("x",-o).attr("y",-a).style("fill",de(n.axisLabel.colorType,i)).text(s=>s)}function w9({labelsG:e,seriesLabelClassName:t,rankingScale:n,rankedSeriesData:r,currentFrameIndex:i,xScale:o,fullParams:a,transitionDuration:s,transitionEase:c,theme:l}){const u=r.map(d=>d[i]).filter(Boolean),h=a.seriesLabel.padding,f=a.seriesLabel.position,p=d=>f==="outside"?-h:f==="inside-right"?Math.max(h,o(d.value??0)-h):h,g=f==="outside"||f==="inside-right"?"end":"start",m=e.selectAll(`text.${t}`).data(u,d=>d.series).join(d=>d.append("text").attr("class",t).style("pointer-events","none").attr("x",y=>p(y)).attr("y",y=>n(y.series)??0),d=>d,d=>d.remove());m.attr("text-anchor",g).attr("dominant-baseline","middle").style("fill",d=>we({datum:d,colorType:a.seriesLabel.colorType,theme:l})).text(d=>d.series),m.transition().duration(s).ease(Vt(c)).attr("x",d=>p(d)).attr("y",d=>n(d.series)??0)}function _9({selection:e,pluginName:t,layerName:n,racingRankedSeriesData$:r,currentFrameIndex$:i,xScale$:o,fullParams$:a,styles$:s,rankingAxisLabel$:c,rankedScaleList$:l,containerPosition$:u,containerSize$:h,theme$:f}){const p=new J,g=We(t,n,"clipPath-box"),m=U(t,n,"container"),d=U(t,n,"series-label"),y=U(t,n,"axis-label-g"),b=e.selectAll(`g.${m}`).data([null]).join("g").classed(m,!0).attr("clip-path",`url(#${g})`);u.pipe(R(p)).subscribe($=>{const L=$[0];L&&b.attr("transform",`translate(${L.translate[0]}, ${L.translate[1]})`)});const x=b.selectAll("g.labels-g").data([null]).join("g").classed("labels-g",!0),v=b.selectAll(`g.${y}`).data([null]).join("g").classed(y,!0),S=e.selectAll("defs").data([g]).join("defs");return h.pipe(R(p)).subscribe($=>{A9({defsSelection:S,clipPathData:[{id:g,width:$.width,height:$.height}]})}),N({racingRankedSeriesData:r,currentFrameIndex:i,xScale:o,fullParams:a,rankedScaleList:l,transitionDuration:s.pipe(A($=>$.transitionDuration)),transitionEase:s.pipe(A($=>$.transitionEase)),theme:f}).pipe(R(p),V(async $=>$)).subscribe($=>{const L=$.rankedScaleList[0];L&&w9({labelsG:x,seriesLabelClassName:d,rankingScale:L,rankedSeriesData:$.racingRankedSeriesData,currentFrameIndex:$.currentFrameIndex,xScale:$.xScale,fullParams:$.fullParams,transitionDuration:$.transitionDuration,transitionEase:$.transitionEase,theme:$.theme})}),N({rankingAxisLabel:c,fullParams:a,containerSize:h,theme:f}).pipe(R(p),V(async $=>$)).subscribe($=>{T9({labelSelection:v,axisLabel:$.rankingAxisLabel,fullParams:$.fullParams,containerSize:$.containerSize,theme:$.theme})}),()=>{p.next(),p.complete()}}const D9="RacingPlot",hv="SeriesLabel",P9=he({name:hv,defaultParams:uv,layerIndex:Ci,initShow:!0,validator:e=>{const t=H(e,{axisLabel:{toBeTypes:["object"]},seriesLabel:{toBeTypes:["object"]}});if(t.status==="error")return t;if(e.axisLabel){const n=H(e.axisLabel,{offset:{toBe:"[number, number]",test:r=>Array.isArray(r)&&r.length===2&&typeof r[0]=="number"&&typeof r[1]=="number"},colorType:{toBeOption:"ColorType"}});if(n.status==="error")return n}if(e.seriesLabel){const n=H(e.seriesLabel,{position:{toBe:'"inside-left" | "inside-right" | "outside"',test:r=>r==="inside-left"||r==="inside-right"||r==="outside"},padding:{toBeTypes:["number"]},colorType:{toBeOption:"ColorType"}});if(n.status==="error")return n}return t},setup:({svgG:e,pluginParams$:t,layerParams$:n,context:r})=>{const i=new J;r.layout$.pipe(R(i)).subscribe(a=>{Y(e).attr("transform",`translate(${a.left}, ${a.top})`)});const o=_9({selection:Y(e),pluginName:D9,layerName:hv,racingRankedSeriesData$:r.racingRankedSeriesData$,currentFrameIndex$:r.currentFrameIndex$,xScale$:r.xScale$,fullParams$:n,styles$:t.pipe(A(a=>a.styles)),rankingAxisLabel$:t.pipe(A(a=>a.rankedAxis.label)),rankedScaleList$:r.rankedScaleList$,containerPosition$:r.gridContainerPosition$,containerSize$:r.containerSize$,theme$:r.theme$});return()=>{i.next(),o()}}});function M9({computedData:e,frameLabel:t,frameIndex:n,renderFn:r,textAttrs:i,textStyles:o}){const a=r(t,n,e);return(Array.isArray(a)?a:[a]).map((c,l)=>({text:c,attr:i[l]??{},style:o[l]??{}}))}function C9({boxG:e,textClassName:t,textData:n,containerSize:r,fullParams:i}){const o=r.width-i.paddingRight,a=r.height-i.paddingBottom;e.attr("transform",`translate(${o}, ${a})`),e.selectAll(`text.${t}`).data(n).join(s=>s.append("text").attr("class",t),s=>s,s=>s.remove()).attr("text-anchor","end").attr("dominant-baseline","auto").each((s,c,l)=>{const u=Y(l[c]).text(s.text);Object.keys(s.attr).forEach(h=>u.attr(h,s.attr[h])),Object.keys(s.style).forEach(h=>u.style(h,s.style[h]))})}function L9({selection:e,pluginName:t,layerName:n,computedData$:r,currentFrameIndex$:i,currentFrameLabel$:o,fullParams$:a,containerPosition$:s,containerSize$:c}){const l=new J,u=U(t,n,"container"),h=U(t,n,"box"),f=U(t,n,"text"),p=e.selectAll(`g.${u}`).data([null]).join("g").classed(u,!0);s.pipe(R(l)).subscribe(m=>{const d=m[0];d&&p.attr("transform",`translate(${d.translate[0]}, ${d.translate[1]})`)});const g=p.selectAll(`g.${h}`).data([null]).join("g").classed(h,!0);return N({computedData:r,currentFrameIndex:i,currentFrameLabel:o,fullParams:a,containerSize:c}).pipe(R(l),V(async m=>m)).subscribe(m=>{const d=M9({computedData:m.computedData,frameLabel:m.currentFrameLabel,frameIndex:m.currentFrameIndex,renderFn:m.fullParams.renderFn,textAttrs:m.fullParams.textAttrs,textStyles:m.fullParams.textStyles});C9({boxG:g,textClassName:f,textData:d,containerSize:m.containerSize,fullParams:m.fullParams})}),()=>{l.next(),l.complete()}}const k9="RacingPlot",pv="CounterText",E9=he({name:pv,defaultParams:Fh,layerIndex:Ci,initShow:!0,validator:e=>H(e,{renderFn:{toBeTypes:["Function"]},textAttrs:{toBe:"Array<{ [key: string]: string | number }>",test:n=>Array.isArray(n)&&n.every(r=>typeof r=="object"&&r!==null&&!Array.isArray(r)&&Object.values(r).every(i=>typeof i=="string"||typeof i=="number"))},textStyles:{toBe:"Array<{ [key: string]: string | number }>",test:n=>Array.isArray(n)&&n.every(r=>typeof r=="object"&&r!==null&&!Array.isArray(r)&&Object.values(r).every(i=>typeof i=="string"||typeof i=="number"))},paddingRight:{toBeTypes:["number"]},paddingBottom:{toBeTypes:["number"]}}),setup:({svgG:e,pluginParams$:t,layerParams$:n,context:r})=>{const i=new J;r.layout$.pipe(R(i)).subscribe(a=>{Y(e).attr("transform",`translate(${a.left}, ${a.top})`)});const o=L9({selection:Y(e),pluginName:k9,layerName:pv,computedData$:r.computedData$,currentFrameIndex$:r.currentFrameIndex$,currentFrameLabel$:r.currentFrameLabel$,fullParams$:n,containerPosition$:r.gridContainerPosition$,containerSize$:r.containerSize$});return()=>{i.next(),o()}}}),R9=6;function B9({selection:e,pluginName:t,layerName:n,fullParams$:r,position$:i,xScale$:o,containerPosition$:a,containerSize$:s,theme$:c,transitionDuration$:l}){const u=new J,h=U(t,n,"container"),f=U(t,n,"axis"),p=U(t,n,"label"),g=e.selectAll(`g.${h}`).data([null]).join("g").classed(h,!0);a.pipe(R(u)).subscribe(y=>{const b=y[0];b&&g.attr("transform",`translate(${b.translate[0]}, ${b.translate[1]})`)});const m=g.selectAll(`g.${f}`).data([null]).join("g").classed(f,!0),d=g.selectAll(`g.${p}`).data([null]).join("g").classed(p,!0);return N({fullParams:r,position:i,xScale:o,containerSize:s,theme:c,transitionDuration:l}).pipe(R(u),V(async y=>y)).subscribe(y=>{const{fullParams:b,position:x,xScale:v,containerSize:S,theme:$,transitionDuration:L}=y,E=Je().domain(v.domain?v.domain():[0,1]).range([0,S.width]),M=x==="bottom"?hc(E):ba(E);b.ticks!=null&&M.ticks(b.ticks),M.tickFormat(C=>Xt(C,b.tickFormat)).tickSize(b.tickFullLine?-S.height:R9).tickSizeOuter(0).tickPadding(b.tickPadding),m.attr("transform",`translate(0, ${x==="bottom"?S.height:0})`),m.transition().duration(L).ease(yn).call(M),m.selectAll("line").style("fill","none").style("stroke",b.tickLineVisible?de(b.tickColorType,$):"none").style("stroke-dasharray",b.tickFullLineDasharray).attr("pointer-events","none"),m.selectAll("path").style("fill","none").style("stroke",b.axisLineVisible?de(b.axisLineColorType,$):"none").style("shape-rendering","crispEdges"),m.selectAll("text").attr("font-size",$.fontSize).style("color",de(b.tickTextColorType,$)).attr("dy",0),d.attr("transform",`translate(${S.width}, ${x==="bottom"?S.height:0})`).selectAll("text.axis-label").data([""]).join(C=>C.append("text").attr("class","axis-label").style("font-weight","bold"),C=>C,C=>C.remove()).attr("text-anchor","start").attr("dominant-baseline",x==="bottom"?"auto":"hanging").attr("x",b.labelOffset[0]).attr("y",x==="bottom"?-b.labelOffset[1]:b.labelOffset[1]).attr("font-size",$.fontSize).style("fill",de(b.labelColorType,$))}),()=>{u.next(),u.complete()}}const I9="RacingPlot",dv="ValueAxis",N9=he({name:dv,defaultParams:Yh,layerIndex:hn,initShow:!0,validator:e=>H(e,{labelOffset:{toBe:"[number, number]",test:n=>Array.isArray(n)&&n.length===2&&typeof n[0]=="number"&&typeof n[1]=="number"},labelColorType:{toBeOption:"ColorType"},axisLineVisible:{toBeTypes:["boolean"]},axisLineColorType:{toBeOption:"ColorType"},ticks:{toBeTypes:["number","null"]},tickFormat:{toBeTypes:["string","Function"]},tickLineVisible:{toBeTypes:["boolean"]},tickPadding:{toBeTypes:["number"]},tickFullLine:{toBeTypes:["boolean"]},tickFullLineDasharray:{toBeTypes:["string"]},tickColorType:{toBeOption:"ColorType"},tickTextColorType:{toBeOption:"ColorType"},placement:{toBe:'"top" | "bottom"',test:n=>n==="top"||n==="bottom"}}),setup:({svgG:e,pluginParams$:t,layerParams$:n,context:r})=>{const i=new J;r.layout$.pipe(R(i)).subscribe(a=>{Y(e).attr("transform",`translate(${a.left}, ${a.top})`)});const o=B9({selection:Y(e),pluginName:I9,layerName:dv,fullParams$:n,position$:n.pipe(A(a=>a.placement)),xScale$:r.xScale$,containerPosition$:r.gridContainerPosition$,containerSize$:r.containerSize$,theme$:r.theme$,transitionDuration$:t.pipe(A(a=>a.styles.transitionDuration))});return()=>{i.next(),o()}}});function O9({defsSelection:e,clipPathData:t}){e.selectAll("clipPath").data(t).join(n=>n.append("clipPath"),n=>n,n=>n.remove()).attr("id",n=>n.id).each((n,r,i)=>{Y(i[r]).selectAll("rect").data([n]).join(o=>o.append("rect"),o=>o,o=>o.remove()).attr("x",0).attr("y",0).attr("width",o=>o.width).attr("height",o=>o.height)})}function z9({selection:e,pluginName:t,layerName:n,racingRankedSeriesData$:r,currentFrameIndex$:i,fullParams$:o,styles$:a,gridHighlight$:s,rankedScaleList$:c,containerPosition$:l,containerSize$:u,xScale$:h,theme$:f}){const p=new J,g=We(t,n,"clipPath-box"),m=U(t,n,"container"),d=U(t,n,"value-label"),y=e.selectAll(`g.${m}`).data([null]).join("g").classed(m,!0).attr("clip-path",`url(#${g})`),b=e.selectAll("defs").data([g]).join("defs");l.pipe(R(p)).subscribe($=>{const L=$[0];L&&y.attr("transform",`translate(${L.translate[0]}, ${L.translate[1]})`)}),u.pipe(R(p)).subscribe($=>{O9({defsSelection:b,clipPathData:[{id:g,width:$.width,height:$.height}]})});const x=a.pipe(R(p),A($=>$.transitionDuration),X()),v=a.pipe(R(p),A($=>$.transitionEase),X()),S=N({racingRankedSeriesData:r,rankedScaleList:c,transitionDuration:x,transitionEase:v}).pipe(R(p),V(async $=>$),A($=>{const L=$.rankedScaleList[0];return y.selectAll("g.label-g").data($.racingRankedSeriesData,E=>{var M;return((M=E[0])==null?void 0:M.series)??""}).join(E=>E.append("g").attr("class","label-g").attr("transform",M=>{var B;return`translate(0, ${L?L(((B=M[0])==null?void 0:B.series)??"")??0:0})`}),E=>E.transition().duration($.transitionDuration).ease(Vt($.transitionEase)).attr("transform",M=>{var B;return`translate(0, ${L?L(((B=M[0])==null?void 0:B.series)??"")??0:0})`}),E=>E.remove())}),z(1));return N({labelGSelection:S,currentFrameIndex:i,xScale:h,transitionDuration:x,fullParams:o,theme:f}).pipe(R(p),V(async $=>$)).subscribe($=>{$.labelGSelection.each((L,E,M)=>{const C=L[$.currentFrameIndex];if(!C)return;const B=Math.max(0,$.currentFrameIndex-1),D=L[B],P=(D==null?void 0:D.value)??0,w=C.value??0;Y(M[E]).selectAll(`text.${d}`).data([C],k=>k.series).join(k=>k.append("text").attr("class",d).style("pointer-events","none").attr("x",$.xScale(w)+$.fullParams.padding).attr("y",0),k=>k,k=>k.remove()).attr("text-anchor","start").attr("dominant-baseline","middle").style("fill",k=>we({datum:k,colorType:$.fullParams.colorType,theme:$.theme})).transition().duration($.transitionDuration).ease(yn).attr("x",$.xScale(w)+$.fullParams.padding).textTween(()=>k=>{const T=k===1?wt(P,w)(k):Zi(P,w)(k);return Xt(T,$.fullParams.format)})})}),N({labelGSelection:S,highlight:s.pipe(A($=>$.map(L=>L.id))),styles:a}).pipe(R(p),V(async $=>$)).subscribe($=>{if($.labelGSelection.interrupt("highlight"),!$.highlight.length){$.labelGSelection.transition("highlight").duration(200).style("opacity",1);return}$.labelGSelection.each((L,E,M)=>{const C=$.highlight.some(B=>L.some(D=>D.id===B));Y(M[E]).style("opacity",C?1:$.styles.unhighlightedOpacity)})}),()=>{p.next(),p.complete()}}const F9="RacingPlot",gv="ValueLabel",Y9=he({name:gv,defaultParams:zh,layerIndex:Ci,initShow:!0,validator:e=>H(e,{padding:{toBeTypes:["number"]},colorType:{toBeOption:"ColorType"},format:{toBeTypes:["string","Function"]}}),setup:({svgG:e,pluginParams$:t,layerParams$:n,context:r})=>{const i=new J;r.layout$.pipe(R(i)).subscribe(a=>{Y(e).attr("transform",`translate(${a.left}, ${a.top})`)});const o=z9({selection:Y(e),pluginName:F9,layerName:gv,racingRankedSeriesData$:r.racingRankedSeriesData$,currentFrameIndex$:r.currentFrameIndex$,fullParams$:n,styles$:t.pipe(A(a=>a.styles)),gridHighlight$:r.gridHighlight$,rankedScaleList$:r.rankedScaleList$,containerPosition$:r.gridContainerPosition$,containerSize$:r.containerSize$,xScale$:r.xScale$,theme$:r.theme$});return()=>{i.next(),o()}}}),W9=new S9,G9=new Y9,V9=new P9,X9=new E9,j9=new N9,H9=It({name:"RacingPlot",defaultParams:Oh,layers:[j9,W9,G9,V9,X9],setup:e=>{const t=new J,n=new Ee(0),r=N({gridData:e.context.gridData$,datasetIndex:e.pluginParams$.pipe(A(M=>M.datasetIndex))}).pipe(W(0),A(({gridData:M,datasetIndex:C})=>M[C]??[]),z(1)),i=Jt({size$:e.context.size$,padding$:e.pluginParams$.pipe(A(M=>M.styles.padding))}).pipe(z(1)),o=l9({selectedGridData$:r,pluginParams$:e.pluginParams$}).pipe(z(1)),a=Nt(e.context.theme$).pipe(z(1)),s=f9({selectedGridData$:r}).pipe(z(1)),c=Ni({layout$:i,containerPosition$:s,container$:e.pluginParams$.pipe(A(()=>Wr))}).pipe(z(1)),l=o.pipe(A(M=>M.flat()),z(1)),u=dn({datumList$:l,styles$:e.pluginParams$.pipe(A(M=>M.styles)),event$:e.context.event$}).pipe(z(1)),h=c9({computedData$:o}),f=Bn({datumList$:l}).pipe(z(1)),p=rr({datumList$:l}).pipe(z(1)),g=u9({computedData$:o}).pipe(z(1)),m=h9({computedData$:o}).pipe(z(1)),d=p9({computedData$:o,currentFrameIndex$:n}).pipe(z(1)),y=g9({visibleComputedData$:g,currentFrameIndex$:n}).pipe(z(1)),b=d9({racingRankedSeriesData$:y,currentFrameIndex$:n,containerSize$:c}).pipe(z(1)),x=m9({containerSize$:c,visibleComputedData$:g,fontSizePx$:a,limit$:e.pluginParams$.pipe(A(M=>M.rankedAxis.limit))}).pipe(z(1)),v=y9({containerSize$:c,fontSizePx$:a,computedRankedAmount$:x}).pipe(z(1)),S=b9({racingRankedSeriesData$:y,rankedItemHeight$:v}).pipe(z(1));let $=null;const L=()=>{$!=null&&(clearTimeout($),$=null)};o.pipe(R(t)).subscribe(()=>{L(),n.next(0)}),N({pluginParams:e.pluginParams$,maxFrameIndex:m}).pipe(R(t)).subscribe(({pluginParams:M,maxFrameIndex:C})=>{if(L(),!M.autorun)return;const B=()=>{$=setTimeout(()=>{const D=n.getValue();D<C?(n.next(D+1),B()):M.loop&&(n.next(0),B())},M.frameInterval)};B()});const E={layout$:i,computedData$:o,fontSizePx$:a,containerSize$:c,gridHighlight$:u,gridContainerPosition$:s,seriesLabels$:h,SeriesDataMap$:f,CategoryDataMap$:p,visibleComputedData$:g,currentFrameIndex$:n,maxFrameIndex$:m,currentFrameLabel$:d,xScale$:b,racingRankedSeriesData$:y,computedRankedAmount$:x,rankedItemHeight$:v,rankedScaleList$:S};return e.context={...e.context,...E},()=>{L(),t.next(),t.complete()}},validator:e=>H(e,{styles:{toBeTypes:["object"]},visibleFilter:{toBeTypes:["Function"]},autorun:{toBeTypes:["boolean"]},loop:{toBeTypes:["boolean"]},frameInterval:{toBeTypes:["number"]}})}),Wh={styles:{padding:{top:20,right:60,bottom:80,left:60},highlightTarget:"datum",highlightDefault:null,unhighlightedOpacity:.3,transitionDuration:200,transitionEase:"easeCubic"},visibleFilter:e=>!0,position:"left",categoryAxis:{scaleDomain:[0,"max"],scalePadding:.5,label:""},valueAxis:{...yt},datasetIndex:0};Wh.visibleFilter.toString=()=>"(datum) => true";const mv={sizeAdjust:.8,arcScaleType:"area",valueLinearOpacity:[.5,1],showZeroValue:!1},Gh={labelOffset:[0,0],labelColorType:"primary",axisLineVisible:!0,axisLineColorType:"primary",ticks:"all",tickFormat:e=>e,tickLineVisible:!0,tickPadding:20,tickFullLine:!1,tickFullLineDasharray:"none",tickColorType:"secondary",tickTextRotate:0,tickTextColorType:"primary"};Gh.tickFormat.toString=()=>"text => text";const Vh={labelOffset:[0,0],labelColorType:"primary",axisLineVisible:!1,axisLineColorType:"primary",ticks:null,tickFormat:e=>{if(e===null||Number.isNaN(e)==!0)return e||0;const t=e.toString().split(".");return t[0]=t[0].replace(/\B(?=(\d{3})+(?!\d))/g,","),t.join(".")},tickLineVisible:!0,tickPadding:20,tickFullLine:!0,tickFullLineDasharray:"none",tickColorType:"secondary",tickTextRotate:0,tickTextColorType:"primary"};Vh.tickFormat.toString=()=>`num => {
347
+ if (num === null || Number.isNaN(num) == true) {
348
+ return num || 0
349
+ }
350
+ const parts = num.toString().split('.')
351
+ parts[0] = parts[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',')
352
+ return parts.join('.')
353
+ }`;const yv={},Xh={showLine:!0,showLabel:!0,lineDashArray:"3, 3",lineColorType:"primary",labelColorType:"primary",labelTextColorType:"background",labelTextFormat:e=>e,labelPadding:20,labelRotate:0};Xh.labelTextFormat.toString=()=>"text => text";const U9=({selectedSeriesData$:e,pluginParams$:t})=>N({selectedSeriesData:e,pluginParams:t}).pipe(W(0),A(({selectedSeriesData:n,pluginParams:r})=>n.map(i=>i.map((o,a)=>{const s={...o,seq:a,visible:!0};return s.visible=r.visibleFilter?r.visibleFilter(s):!0,s})))),q9=({computedData$:e})=>e.pipe(A(t=>t.filter(n=>n.length).map(n=>n[0].series)),X((t,n)=>JSON.stringify(t)===JSON.stringify(n))),K9=({computedData$:e})=>e.pipe(A(t=>t.map(n=>n.filter(r=>r.visible==!0)).filter(n=>n.length))),Z9=({computedData$:e})=>e.pipe(W(0),A(t=>{const n={slotIndex:0,rowIndex:0,columnIndex:0,translate:[0,0],scale:[1,1]};return t.length===0?[n]:t.map(()=>n)})),J9=({computedData$:e,categoryAxis$:t})=>N({computedData:e,categoryAxis:t}).pipe(W(0),A(n=>{const r=n.categoryAxis,i=n.computedData[0]?n.computedData[0].length-1:0,o=r.scaleDomain[0]-r.scalePadding,a=r.scaleDomain[1]==="max"?i+r.scalePadding:r.scaleDomain[1]+r.scalePadding;return[o,a]})),Q9=({computedData$:e,categoryScaleDomainValue$:t,layout$:n,position$:r})=>N({computedData:e,categoryScaleDomainValue:t,layout:n,position:r}).pipe(W(0),A(i=>{const o=i.computedData[0]?i.computedData[0].length-1:0;return Ye({maxValue:o,minValue:0,axisWidth:i.layout.width,scaleDomain:i.categoryScaleDomainValue,scaleRange:[0,1],reverse:i.position==="right"})})),eB=({layout$:e})=>e.pipe(A(t=>({width:t.width,height:t.height})),X((t,n)=>t.width===n.width&&t.height===n.height)),tB=({gridAxesSize$:e})=>e,nB=({layout$:e,position$:t})=>N({layout:e,position:t}).pipe(A(({layout:n,position:r})=>{if(r==="left"){const s=n.height;return{translate:[0,s],scale:[1,1],rotate:0,rotateX:180,rotateY:0,value:`translate(0px, ${s}px) rotate(0deg) rotateX(180deg) rotateY(0deg)`}}else{const a=n.width,s=n.height;return{translate:[a,s],scale:[1,1],rotate:0,rotateX:180,rotateY:180,value:`translate(${a}px, ${s}px) rotate(0deg) rotateX(180deg) rotateY(180deg)`}}})),rB=({gridAxesTransform$:e})=>e.pipe(A(t=>{const n=[0,0],r=[1,1],i=t.rotate*-1,o=t.rotateX*-1,a=t.rotateY*-1;return{translate:n,scale:r,rotate:i,rotateX:o,rotateY:a,value:`translate(${n[0]}px, ${n[1]}px) rotateX(${o}deg) rotateY(${a}deg) rotate(${i}deg)`}})),iB=({computedData$:e,categoryScaleDomainValue$:t})=>N({computedData:e,categoryScaleDomainValue:t}).pipe(A(n=>{const r=n.computedData.flatMap(i=>i.filter(o=>o.visible==!0&&o.categoryIndex>=n.categoryScaleDomainValue[0]&&o.categoryIndex<=n.categoryScaleDomainValue[1]));return Tl(r)})),oB=({filteredMinMaxValue$:e,valueAxis$:t,layout$:n})=>N({filteredMinMaxValue:e,valueAxis:t,layout:n}).pipe(W(0),A(r=>{const[i,o]=r.filteredMinMaxValue;return Ye({maxValue:o,minValue:i,axisWidth:r.layout.height,scaleDomain:r.valueAxis.scaleDomain,scaleRange:r.valueAxis.scaleRange,reverse:!0})})),aB=({computedData$:e})=>e.pipe(A(t=>(t[0]??[]).map(n=>n.category)),X((t,n)=>JSON.stringify(t)===JSON.stringify(n)));function sB({defsSelection:e,clipPathData:t}){e.selectAll("clipPath").data(t).join(n=>n.append("clipPath"),n=>n,n=>n.remove()).attr("id",n=>n.id).each((n,r,i)=>{Y(i[r]).selectAll("rect").data([n]).join(o=>o.append("rect"),o=>o,o=>o.remove()).attr("x",0).attr("y",0).attr("width",o=>o.width).attr("height",o=>o.height)})}function lB({containerSelection:e,bubbleClassName:t,bubbleData:n,transitionDuration:r,transitionEase:i}){const o=[...n].sort((a,s)=>s.r-a.r);return e.selectAll(`circle.${t}`).data(o,a=>a._refDatum.id).join(a=>a.append("circle").attr("class",t).attr("cursor","pointer"),a=>a,a=>a.remove()).attr("fill",a=>a.color).style("opacity",a=>a.opacity).transition().duration(r).ease(Vt(i)).attr("cx",a=>a.x).attr("cy",a=>a.y).attr("r",a=>a.r),e.selectAll(`circle.${t}`)}function cB({selection:e,ids:t,unhighlightedOpacity:n}){if(e.interrupt("highlight"),!t.length){e.transition("highlight").duration(200).style("opacity",r=>r.opacity);return}e.each((r,i,o)=>{Y(o[i]).style("opacity",t.includes(r._refDatum.id)?r.opacity:n)})}function uB({selection:e,pluginName:t,layerName:n,computedData$:r,visibleComputedData$:i,fullParams$:o,styles$:a,gridHighlight$:s,containerPosition$:c,containerSize$:l,layout$:u,ordinalScale$:h,valueScale$:f,categoryScaleDomainValue$:p,eventTrigger$:g}){const m=new J,d=We(t,n,"clipPath-box"),y=U(t,n,"container"),b=U(t,n,"bubble"),x=e.selectAll(`g.${y}`).data([null]).join("g").classed(y,!0).attr("clip-path",`url(#${d})`);c.pipe(R(m)).subscribe(P=>{const w=P[0];w&&x.attr("transform",`translate(${w.translate[0]}, ${w.translate[1]})`)});const v=e.selectAll("defs").data([d]).join("defs");N({size:l,layout:u}).pipe(R(m)).subscribe(({size:P,layout:w})=>{sB({defsSelection:v,clipPathData:[{id:d,width:P.width,height:P.height}]})});const S=N({sizeAdjust:o.pipe(A(P=>P.sizeAdjust),X()),ordinalScale:h}).pipe(R(m),W(0),A(P=>Math.abs(P.ordinalScale(1)-P.ordinalScale(0))*P.sizeAdjust/2),X(),z(1)),$=N({visibleComputedData:i,categoryScaleDomainValue:p}).pipe(R(m),A(P=>{const w=P.visibleComputedData.flat().filter(I=>I.categoryIndex>=P.categoryScaleDomainValue[0]&&I.categoryIndex<=P.categoryScaleDomainValue[1]).map(I=>I.value??0),k=Math.min(0,...w),T=Math.max(0,...w);return[k,T]}),X((P,w)=>P[0]===w[0]&&P[1]===w[1]),z(1)),L=N({minMaxValue:$,fullParams:o}).pipe(R(m),A(P=>Je().domain(P.minMaxValue).range(P.fullParams.valueLinearOpacity)),z(1)),E=N({maxRadius:S,minMaxValue:$,arcScaleType:o.pipe(A(P=>P.arcScaleType),X())}).pipe(R(m),W(0),A(P=>ln().domain([0,Math.max(P.minMaxValue[1],1)]).range([2,P.maxRadius]).exponent(P.arcScaleType==="area"?.5:1)),z(1)),M=N({visibleComputedData:i,radiusScale:E,ordinalScale:h,valueScale:f,opacityScale:L,showZeroValue:o.pipe(A(P=>P.showZeroValue),X())}).pipe(R(m),W(0),A(P=>{const w=[];return P.visibleComputedData.forEach(k=>{k.filter(T=>P.showZeroValue||T.value!==null&&T.value!==0).forEach(T=>{const I=T.value??0;w.push({x:P.ordinalScale(T.categoryIndex),y:P.valueScale(I),r:P.radiusScale(Math.abs(I)),opacity:P.opacityScale(I),color:T.color,_refDatum:T})})}),w})),C=a.pipe(R(m),A(P=>P.transitionDuration),X()),B=a.pipe(R(m),A(P=>P.transitionEase),X()),D=N({bubbleData:M,transitionDuration:C,transitionEase:B}).pipe(R(m),W(0),A(P=>lB({containerSelection:x,bubbleClassName:b,bubbleData:P.bubbleData,transitionDuration:P.transitionDuration,transitionEase:P.transitionEase})),z(1));return N({graphicSelection:D,computedData:r}).pipe(R(m),W(0)).subscribe(P=>{P.graphicSelection.on("mouseover",(w,k)=>{g.next({eventName:"mouseover",pluginName:t,layerName:n,target:k._refDatum,event:w})}).on("mousemove",(w,k)=>{g.next({eventName:"mousemove",pluginName:t,layerName:n,target:k._refDatum,event:w})}).on("mouseout",(w,k)=>{g.next({eventName:"mouseout",pluginName:t,layerName:n,target:k._refDatum,event:w})}).on("click",(w,k)=>{g.next({eventName:"click",pluginName:t,layerName:n,target:k._refDatum,event:w})})}),N({graphicSelection:D,highlight:s.pipe(A(P=>P.map(w=>w.id))),styles:a}).pipe(R(m),W(0)).subscribe(P=>{cB({selection:P.graphicSelection,ids:P.highlight,unhighlightedOpacity:P.styles.unhighlightedOpacity})}),()=>{m.next(),m.complete()}}const fB="CategoricalPlot",bv="RaisedBubble",hB=he({name:bv,defaultParams:mv,layerIndex:$t,initShow:!0,validator:e=>H(e,{sizeAdjust:{toBeTypes:["number"]},arcScaleType:{toBe:'"area" | "radius"',test:n=>n==="area"||n==="radius"},valueLinearOpacity:{toBe:"[number, number]",test:n=>Array.isArray(n)&&n.length===2&&typeof n[0]=="number"&&typeof n[1]=="number"},showZeroValue:{toBeTypes:["boolean"]}}),setup:({svgG:e,pluginParams$:t,layerParams$:n,context:r})=>{const i=new J;r.layout$.pipe(R(i)).subscribe(a=>{Y(e).attr("transform",`translate(${a.left}, ${a.top})`)});const o=uB({selection:Y(e),pluginName:fB,layerName:bv,computedData$:r.computedData$,visibleComputedData$:r.visibleComputedData$,fullParams$:n,styles$:t.pipe(A(a=>a.styles)),gridHighlight$:r.gridHighlight$,containerPosition$:r.gridContainerPosition$,containerSize$:r.containerSize$,layout$:r.layout$,ordinalScale$:r.ordinalScale$,valueScale$:r.valueScale$,categoryScaleDomainValue$:r.categoryScaleDomainValue$,eventTrigger$:r.eventTrigger$});return()=>{i.next(void 0),o()}}}),pB="CategoricalPlot",xv="CategoryAxis",dB=he({name:xv,defaultParams:Gh,layerIndex:hn,initShow:!0,validator:e=>H(e,{labelOffset:{toBe:"[number, number]",test:n=>Array.isArray(n)&&n.length===2&&typeof n[0]=="number"&&typeof n[1]=="number"},labelColorType:{toBeOption:"ColorType"},axisLineVisible:{toBeTypes:["boolean"]},axisLineColorType:{toBeOption:"ColorType"},ticks:{toBe:'number | null | "all"',test:n=>n===null||n==="all"||typeof n=="number"}}),setup:({svgG:e,pluginParams$:t,layerParams$:n,context:r})=>{const i=new J;r.layout$.pipe(R(i)).subscribe(s=>{Y(e).attr("transform",`translate(${s.left}, ${s.top})`)});const o=N({computedData:r.computedData$,categoryLabels:r.categoryLabels$}).pipe(A(({computedData:s,categoryLabels:c})=>[(s[0]??[]).map((h,f)=>({id:`fake-${f}`,seriesIndex:0,series:"",categoryIndex:f,category:c[f]??String(f),value:null,color:"",visible:!0,index:f,seq:f,modelType:"series",name:c[f]??String(f),data:null,valueLabel:""}))])),a=vh({selection:Y(e),pluginName:pB,layerName:xv,computedData$:o,baseCategoryAxisParams$:n,gridAxesTransform$:r.gridAxesTransform$,gridAxesReverseTransform$:r.gridAxesReverseTransform$,gridAxesSize$:r.gridAxesSize$,gridContainerPosition$:r.gridContainerPosition$,isSeriesSeprate$:Mt(!1),fontSizePx$:r.fontSizePx$,categoryAxis$:r.zoomedCategoryAxis$.pipe(A(s=>({...s,reverse:!1}))),valueAxis$:t.pipe(A(s=>s.valueAxis)),styles$:t.pipe(A(s=>s.styles)),theme$:r.theme$});return()=>{i.next(void 0),a()}}}),gB="CategoricalPlot",vv="CategoryZoom",mB=he({name:vv,defaultParams:yv,layerIndex:lh,initShow:!1,validator:e=>({status:"success",columnName:"",expectToBe:""}),setup:({svgG:e,pluginParams$:t,layerParams$:n,context:r})=>{const i=new J,o=Y(r.svg);let a={k:1,x:0,y:0};const s=r.computedData$.pipe(A(u=>u[0]?u[0].length-1:0),X()),c=t.pipe(A(u=>u.categoryAxis)),l=N({initCategoryAxis:c,categoryMaxIndex:s,axisSize:r.gridAxesSize$}).pipe(R(i),W(0),A(u=>{const h=u.initCategoryAxis.scaleDomain[0]-u.initCategoryAxis.scalePadding,f=u.initCategoryAxis.scaleDomain[1]==="max"?u.categoryMaxIndex+u.initCategoryAxis.scalePadding:u.initCategoryAxis.scaleDomain[1]+u.initCategoryAxis.scalePadding;return Ye({maxValue:u.categoryMaxIndex,minValue:0,axisWidth:u.axisSize.width,scaleDomain:[h,f],scaleRange:[0,1]})}));return N({initGroupScale:l,pluginParams:t,categoryMaxIndex:s}).pipe(R(i),W(0)).subscribe(u=>{const f=u.initGroupScale.copy(),p=Pt().on("zoom",function(m){const d=m.transform,y=x=>{const v=Math.round(x);return Math.min(u.categoryMaxIndex,Math.max(0,v))},b=d.rescaleX(f).domain().map(y);b[0]<=0&&b[1]>=u.categoryMaxIndex?d.k<a.k&&(d.k=a.k,d.x=a.x,d.y=a.y):b[1]-b[0]<=1&&d.k>a.k&&(d.k=a.k,d.x=a.x,d.y=a.y),a.k=d.k,a.x=d.x,a.y=d.y,r.eventTrigger$.next({eventName:"zoom",pluginName:gB,layerName:vv,target:null,data:{scaleDomain:b}})});o.call(p)}),()=>{i.next(void 0),o.call(Pt().on("zoom",null))}}}),yB="CategoricalPlot",$v="ValueAxis",bB=he({name:$v,defaultParams:Vh,layerIndex:hn,initShow:!0,validator:e=>H(e,{labelOffset:{toBe:"[number, number]",test:n=>Array.isArray(n)&&n.length===2&&typeof n[0]=="number"&&typeof n[1]=="number"},labelColorType:{toBeOption:"ColorType"},axisLineVisible:{toBeTypes:["boolean"]},axisLineColorType:{toBeOption:"ColorType"},ticks:{toBeTypes:["number","null"]},tickFormat:{toBeTypes:["string","Function"]},tickLineVisible:{toBeTypes:["boolean"]},tickPadding:{toBeTypes:["number"]},tickFullLine:{toBeTypes:["boolean"]},tickFullLineDasharray:{toBeTypes:["string"]},tickColorType:{toBeOption:"ColorType"},tickTextRotate:{toBeTypes:["number"]},tickTextColorType:{toBeOption:"ColorType"}}),setup:({svgG:e,pluginParams$:t,layerParams$:n,context:r})=>{const i=new J;r.layout$.pipe(R(i)).subscribe(a=>{Y(e).attr("transform",`translate(${a.left}, ${a.top})`)});const o=$h({selection:Y(e),pluginName:yB,layerName:$v,computedData$:r.computedData$,filteredMinMaxValue$:r.filteredMinMaxValue$,baseValueAxisParams$:n,categoryAxis$:r.zoomedCategoryAxis$,valueAxis$:t.pipe(A(a=>({...a.valueAxis,position:a.position}))),theme$:r.theme$,gridAxesTransform$:r.gridAxesTransform$,gridAxesReverseTransform$:r.gridAxesReverseTransform$,gridAxesSize$:r.gridAxesSize$,gridContainerPosition$:r.gridContainerPosition$,isSeriesSeprate$:Mt(!1)});return()=>{i.next(void 0),o()}}}),xB=new hB,vB=new dB,$B=new mB,SB=new bB,AB=It({name:"CategoricalPlot",defaultParams:Wh,layers:[vB,$B,xB,SB],setup:e=>{const t=e.pluginParams$.pipe(A(C=>C.position),z(1)),n=new Ee(void 0);e.context.event$.subscribe(C=>{C.eventName==="zoom"&&C.data&&C.data.scaleDomain&&n.next(C.data.scaleDomain)});const r=N({params:e.pluginParams$}).pipe(V(({params:C})=>n.pipe(A(B=>({position:"bottom",scaleDomain:B||C.categoryAxis.scaleDomain,scalePadding:C.categoryAxis.scalePadding,label:C.categoryAxis.label})))),z(1)),i=N({seriesData:e.context.seriesData$,datasetIndex:e.pluginParams$.pipe(A(C=>C.datasetIndex))}).pipe(W(0),A(({seriesData:C,datasetIndex:B})=>C[B]??[]),z(1)),o=Jt({size$:e.context.size$,padding$:e.pluginParams$.pipe(A(C=>C.styles.padding))}).pipe(z(1)),a=U9({selectedSeriesData$:i,pluginParams$:e.pluginParams$}).pipe(z(1)),s=Nt(e.context.theme$).pipe(z(1)),c=Z9({computedData$:a}).pipe(z(1)),l=Ni({layout$:o,containerPosition$:c,container$:Mt(Wr)}).pipe(z(1)),u=eB({layout$:o}).pipe(z(1)),h=tB({gridAxesSize$:u}).pipe(z(1)),f=a.pipe(A(C=>C.flat()),z(1)),p=Bn({datumList$:f}).pipe(z(1)),g=dn({datumList$:f,styles$:e.pluginParams$.pipe(A(C=>C.styles)),event$:e.context.event$}).pipe(z(1)),m=q9({computedData$:a}),d=aB({computedData$:a}).pipe(z(1)),y=K9({computedData$:a}).pipe(z(1)),b=J9({computedData$:a,categoryAxis$:r}).pipe(z(1)),x=Q9({computedData$:a,categoryScaleDomainValue$:b,layout$:o,position$:t}).pipe(z(1)),v=nB({layout$:o,position$:t}).pipe(z(1)),S=rB({gridAxesTransform$:v}).pipe(z(1)),$=e.pluginParams$.pipe(A(C=>C.valueAxis),z(1)),L=iB({computedData$:a,categoryScaleDomainValue$:b}).pipe(z(1)),E=oB({filteredMinMaxValue$:L,valueAxis$:$,layout$:o}).pipe(z(1)),M={layout$:o,computedData$:a,fontSizePx$:s,containerSize$:l,gridHighlight$:g,gridContainerPosition$:c,seriesLabels$:m,categoryLabels$:d,SeriesDataMap$:p,visibleComputedData$:y,ordinalScale$:x,categoryScaleDomainValue$:b,zoomedCategoryAxis$:r,gridAxesSize$:u,gridAxesContainerSize$:h,gridAxesTransform$:v,gridAxesReverseTransform$:S,filteredMinMaxValue$:L,valueScale$:E};return e.context={...e.context,...M},()=>{}},validator:e=>H(e,{styles:{toBeTypes:["object"]},visibleFilter:{toBeTypes:["Function"]},categoryAxis:{toBeTypes:["object"]},valueAxis:{toBeTypes:["object"]},datasetIndex:{toBeTypes:["number"]}})}),Qn="CategoricalPlot",kn="CategoryGuide",jh=U(Qn,kn,"label-box"),Hh=6,Sv=3;function TB({categoryLabel:e,axisX:t,axisHeight:n,layerParams:r}){return r.showLine&&e?[{id:e,x1:t,x2:t,y1:0,y2:n}]:[]}function wB({categoryLabel:e,axisX:t,layerParams:n,textSizePx:r,rowAmount:i}){const o=Xt(e,n.labelTextFormat),a=o.split(`
354
+ `),s=a.reduce((u,h)=>h.length>u.length?h:u,""),c=Gr(s,r),l=r*a.length;return n.showLabel&&e?[{id:e,x:t,y:-n.labelPadding*i,text:o,textArr:a,textWidth:c,textHeight:l}]:[]}function _B({selection:e,lineData:t,layerParams:n,theme:r}){const i=U(Qn,kn,"auxline");return e.selectAll(`line.${i}`).data(t).join(a=>a.append("line").classed(i,!0).style("stroke-width",1).style("pointer-events","none").style("vector-effect","non-scaling-stroke").attr("x1",s=>s.x1).attr("y1",s=>s.y1).attr("x2",s=>s.x2).attr("y2",s=>s.y2),a=>a.transition().duration(50).attr("x1",s=>s.x1).attr("y1",s=>s.y1).attr("x2",s=>s.x2).attr("y2",s=>s.y2),a=>a.remove()).style("stroke",()=>de(n.lineColorType,r)).style("stroke-dasharray",n.lineDashArray??"none")}function DB(e){e.selectAll("line").data([]).exit().remove()}function PB({selection:e,labelData:t,layerParams:n,theme:r,textReverseTransformWithRotate:i,fontSizePx:o}){return e.selectAll(`g.${jh}`).data(t).join(s=>s.append("g").classed(jh,!0).style("cursor","pointer").attr("transform",c=>`translate(${c.x}, ${c.y})`),s=>s.transition().duration(50).attr("transform",c=>`translate(${c.x}, ${c.y})`),s=>s.remove()).each((s,c,l)=>{const u=Y(l[c]),h=s.textWidth+Hh*2,f=s.textHeight+Sv*2,p=n.labelRotate?-h+f:-h/2,g=2,m=p,d=g-3;u.selectAll("rect").data([s]).join(v=>v.append("rect").style("cursor","pointer").attr("rx",5).attr("ry",5),v=>v,v=>v.remove()).attr("width",`${h}px`).attr("height",`${f}px`).attr("fill",()=>de(n.labelColorType,r)).attr("x",m).attr("y",d).style("transform",i);const y=u.selectAll("text").data([s]).join(v=>v.append("text").style("dominant-baseline","hanging").style("cursor","pointer"),v=>v,v=>v.remove()).style("transform",i).attr("fill",()=>de(n.labelTextColorType,r)).attr("font-size",r.fontSize).attr("x",m+Hh).attr("y",d+Sv).each((v,S,$)=>{Pl(Y($[S]),{textArr:s.textArr,textSizePx:o,categoryAxisPosition:"bottom",isContainerRotated:!1})});let b=[];y.selectAll("tspan").each((v,S,$)=>{const L=Y($[S]).node();L!=null&&L.getBBox&&b.push(L.getBBox().width)});const x=Math.max(...b);x>0&&u.selectAll("rect").attr("width",x+Hh*2)})}function MB(e){e.selectAll(`g.${jh}`).data([]).exit().remove()}const CB=he({name:kn,defaultParams:Xh,layerIndex:Dl,initShow:!1,validator:e=>H(e,{showLine:{toBeTypes:["boolean"]},showLabel:{toBeTypes:["boolean"]},lineDashArray:{toBeTypes:["string"]},lineColorType:{toBeOption:"ColorType"},labelColorType:{toBeOption:"ColorType"},labelTextColorType:{toBeOption:"ColorType"},labelTextFormat:{toBeTypes:["string","Function"]},labelPadding:{toBeTypes:["number"]},labelRotate:{toBeTypes:["number"]}}),setup:({svgG:e,pluginParams$:t,layerParams$:n,context:r})=>{const i=new J;r.layout$.pipe(R(i)).subscribe(m=>{Y(e).attr("transform",`translate(${m.left}, ${m.top})`)});let o=!1;const a=Y(e.parentElement),s=a.insert("rect","g").classed(U(Qn,kn,"rect"),!0).attr("opacity",0),{axesSelection$:c}=Zn({selection:Y(e),pluginName:Qn,layerName:kn,clipPathID:"aux-clip",seriesLabels$:r.seriesLabels$.pipe(A(m=>[m[0]??""])),gridContainerPosition$:r.gridContainerPosition$,gridAxesTransform$:r.gridAxesTransform$,gridGraphicTransform$:r.gridAxesTransform$});r.layout$.pipe(R(i)).subscribe(m=>{s.attr("width",m.rootWidth).attr("height",m.rootHeight)});const l=Rn(a,"mousemove").pipe(R(i)),u=N({rootMousemove:l,ordinalScale:r.ordinalScale$,categoryLabels:r.categoryLabels$,layout:r.layout$,categoryScaleDomainValue:r.categoryScaleDomainValue$}).pipe(R(i),V(async m=>m),A(m=>{const d=m.rootMousemove.offsetX-m.layout.left,y=m.ordinalScale.invert(d),b=m.categoryLabels.length,x=Math.max(0,Math.min(b-1,Math.round(y))),v=m.categoryLabels[x]??"",S=m.ordinalScale(x)??0;return{categoryIndex:x,categoryLabel:v,axisX:S}}),z(1));N({categoryScaleDomainValue:r.categoryScaleDomainValue$,gridAxesSize:r.gridAxesSize$}).pipe(R(i),W(0),A(m=>Je().domain(m.categoryScaleDomainValue).range([0,m.gridAxesSize.width])));const h=N({gridAxesReverseTransform:r.gridAxesReverseTransform$,gridContainerPosition:r.gridContainerPosition$}).pipe(R(i),W(0),A(m=>{const d=`rotateX(${m.gridAxesReverseTransform.rotateX}deg) rotateY(${m.gridAxesReverseTransform.rotateY}deg)`,y=`rotate(${m.gridAxesReverseTransform.rotate}deg)`,b=`scale(${1/m.gridContainerPosition[0].scale[0]}, ${1/m.gridContainerPosition[0].scale[1]})`;return`${d} ${y} ${b}`}),X()),f=N({textReverseTransform:h,layerParams:n}).pipe(R(i),W(0),A(m=>`${m.textReverseTransform} rotate(${m.layerParams.labelRotate}deg)`)),p=r.gridContainerPosition$.pipe(R(i),A(m=>m.reduce((d,y)=>y.rowIndex>d?y.rowIndex:d,0)+1),X());N({axesSelection:c,rowAmount:p,hoveredSeriesInfo:u,gridAxesSize:r.gridAxesSize$,layerParams:n,theme:r.theme$,textReverseTransformWithRotate:f,fontSizePx:r.fontSizePx$}).pipe(R(i),V(async m=>m)).subscribe(m=>{const{categoryLabel:d,axisX:y}=m.hoveredSeriesInfo;_B({selection:m.axesSelection,lineData:TB({categoryLabel:d,axisX:y,axisHeight:m.gridAxesSize.height,layerParams:m.layerParams}),layerParams:m.layerParams,theme:m.theme}),PB({selection:m.axesSelection,labelData:wB({categoryLabel:d,axisX:y,layerParams:m.layerParams,textSizePx:m.fontSizePx,rowAmount:m.rowAmount}),layerParams:m.layerParams,textReverseTransformWithRotate:m.textReverseTransformWithRotate,theme:m.theme,fontSizePx:m.fontSizePx}).on("mouseover",x=>{x.stopPropagation(),o=!0,r.eventTrigger$.next({eventName:"mouseover",pluginName:Qn,layerName:kn,target:null,event:x})}).on("mousemove",x=>{x.stopPropagation(),r.eventTrigger$.next({eventName:"mousemove",pluginName:Qn,layerName:kn,target:null,event:x})}).on("mouseout",x=>{x.stopPropagation(),o=!1,r.eventTrigger$.next({eventName:"mouseout",pluginName:Qn,layerName:kn,target:null,event:x})}).on("click",x=>{x.stopPropagation(),r.eventTrigger$.next({eventName:"click",pluginName:Qn,layerName:kn,target:null,event:x})})});const g=Rn(s,"mouseout").pipe(R(i));return N({rootRectMouseout:g,axesSelection:c}).pipe(R(i),V(async m=>m)).subscribe(m=>{setTimeout(()=>{o||(DB(m.axesSelection),MB(m.axesSelection))})}),()=>{i.next(void 0),s.remove()}}});q.CategoricalPlot=AB,q.CategoryGuide=CB,q.DEFAULT_BARS_DIVERGING_PARAMS=uk,q.DEFAULT_BARS_PARAMS=ph,q.DEFAULT_BARS_TRIANGLE_PARAMS=J1,q.DEFAULT_CATEGORICAL_PLOT_CATEGORY_AUX_PARAMS=Xh,q.DEFAULT_CATEGORICAL_PLOT_CATEGORY_AXIS_PARAMS=Gh,q.DEFAULT_CATEGORICAL_PLOT_CATEGORY_ZOOM_PARAMS=yv,q.DEFAULT_CATEGORICAL_PLOT_PLUGIN_PARAMS=Wh,q.DEFAULT_CATEGORICAL_PLOT_RAISED_BUBBLES_PARAMS=mv,q.DEFAULT_CATEGORICAL_PLOT_VALUE_AXIS_PARAMS=Vh,q.DEFAULT_CATEGORY_AUX_PARAMS=hh,q.DEFAULT_CATEGORY_AXIS_PARAMS=dh,q.DEFAULT_CATEGORY_ZOOM_PARAMS=ex,q.DEFAULT_DOTS_PARAMS=K1,q.DEFAULT_HIERARCHY_PLOT_PLUGIN_PARAMS=$x,q.DEFAULT_HIERARCHY_PLOT_TREE_MAP_PARAMS=Sh,q.DEFAULT_LEGEND_LEGEND_PARAMS=Tx,q.DEFAULT_LEGEND_PLUGIN_PARAMS=Ah,q.DEFAULT_LINES_PARAMS=U1,q.DEFAULT_LINE_AREAS_PARAMS=q1,q.DEFAULT_NETWORK_PLOT_FORCE_DIRECTED_BUBBLE_PARAMS=Ri,q.DEFAULT_NETWORK_PLOT_FORCE_DIRECTED_PARAMS=Ei,q.DEFAULT_NETWORK_PLOT_PLUGIN_PARAMS=Dx,q.DEFAULT_PARTITION_PLOT_BUBBLE_PARAMS=Dh,q.DEFAULT_PARTITION_PLOT_INDICATOR_PARAMS=A4,q.DEFAULT_PARTITION_PLOT_PIE_EVENT_TEXT_PARAMS=Ph,q.DEFAULT_PARTITION_PLOT_PIE_LABEL_PARAMS=Mh,q.DEFAULT_PARTITION_PLOT_PLUGIN_PARAMS=_h,q.DEFAULT_PARTITION_PLOT_ROSE_LABEL_PARAMS=Ch,q.DEFAULT_PIE_PARAMS=Vx,q.DEFAULT_RACING_PLOT_COUNTER_TEXT_PARAMS=Fh,q.DEFAULT_RACING_PLOT_PLUGIN_PARAMS=Oh,q.DEFAULT_RACING_PLOT_RACING_BAR_PARAMS=cv,q.DEFAULT_RACING_PLOT_SERIES_LABEL_PARAMS=uv,q.DEFAULT_RACING_PLOT_VALUE_AXIS_PARAMS=Yh,q.DEFAULT_RACING_PLOT_VALUE_LABEL_PARAMS=zh,q.DEFAULT_RANKED_PLOT_CATEGORY_AXIS_PARAMS=Ih,q.DEFAULT_RANKED_PLOT_CATEGORY_GUIDE_PARAMS=Bh,q.DEFAULT_RANKED_PLOT_CATEGORY_ZOOM_PARAMS=tv,q.DEFAULT_RANKED_PLOT_PLUGIN_PARAMS=Rh,q.DEFAULT_RANKED_PLOT_RANKED_BUBBLE_PARAMS=Qx,q.DEFAULT_RANKED_PLOT_RANK_AXIS_PARAMS=ev,q.DEFAULT_ROSE_PARAMS=Xx,q.DEFAULT_SCATTER_PLOT_BUBBLE_PARAMS=jp,q.DEFAULT_SCATTER_PLOT_PARAMS=Ql,q.DEFAULT_SCATTER_PLOT_POINT_PARAMS=Xp,q.DEFAULT_SCATTER_PLOT_X_Y_AXES_PARAMS=sa,q.DEFAULT_SCATTER_PLOT_X_Y_GUIDE_PARAMS=aa,q.DEFAULT_SCATTER_PLOT_X_ZOOM_PARAMS=Hp,q.DEFAULT_SERIES_PLOT_PARAMS=fh,q.DEFAULT_STACKED_BARS_PARAMS=Z1,q.DEFAULT_STACKED_VALUE_AXIS_PARAMS=Q1,q.DEFAULT_TOOLTIP_PLUGIN_PARAMS=Th,q.DEFAULT_TOOLTIP_TOOLTIP_PARAMS=wh,q.DEFAULT_VALUE_AXIS_PARAMS=Cl,q.GridPlot=nR,q.HierarchyPlot=fR,q.Legend=xR,q.NetworkPlot=d4,q.OrbCharts=G$,q.PartitionPlot=A7,q.RacingPlot=H9,q.RankedPlot=s9,q.ScatterPlot=ck,q.Tooltip=S4,q.aggregate=Fr,q.count=wp,q.createCanvas=ql,q.createCanvasElement=M$,q.createDiv=C$,q.createLayerClassName=Zl,q.createMessagePrefix=Kl,q.createOrbChartsErrorMessage=At,q.createPluginClassName=Ep,q.createSVG=Mp,q.createSVGGroup=Cp,q.createUnexpectedErrorMessage=Yr,q.createValidatorErrorMessage=Kt,q.createValidatorWarningMessage=Zt,q.deepOverwrite=qt,q.defineCanvasLayer=X$,q.defineCanvasPlugin=V$,q.defineSVGLayer=he,q.defineSVGPlugin=It,q.formatCommaNumber=P$,q.getColorByFrom=Ue,q.getColorByIndex=Dp,q.isDom=Ul,q.isFunction=Pp,q.isPlainObject=Ut,q.max=Tp,q.mean=$p,q.median=Sp,q.min=Ap,q.none=_p,q.removeElementChildren=Lp,q.resizeObservable=kp,q.sum=vp,q.validateObject=H,Object.defineProperty(q,Symbol.toStringTag,{value:"Module"})});