-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathperspective-viewer-d3fc-PKK6GZHJ.js
More file actions
24 lines (24 loc) · 237 KB
/
perspective-viewer-d3fc-PKK6GZHJ.js
File metadata and controls
24 lines (24 loc) · 237 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import{b as Yl}from"./chunk-BJLVWHT7.js";import{a as Ud,b as Gd}from"./chunk-FW4363Y4.js";var Vf=Ud(yl=>{var _r=_r||{};_r.stringify=(function(){var e={"visit_linear-gradient":function(t){return e.visit_gradient(t)},"visit_repeating-linear-gradient":function(t){return e.visit_gradient(t)},"visit_radial-gradient":function(t){return e.visit_gradient(t)},"visit_repeating-radial-gradient":function(t){return e.visit_gradient(t)},visit_gradient:function(t){var r=e.visit(t.orientation);return r&&(r+=", "),t.type+"("+r+e.visit(t.colorStops)+")"},visit_shape:function(t){var r=t.value,n=e.visit(t.at),a=e.visit(t.style);return a&&(r+=" "+a),n&&(r+=" at "+n),r},"visit_default-radial":function(t){var r="",n=e.visit(t.at);return n&&(r+=n),r},"visit_extent-keyword":function(t){var r=t.value,n=e.visit(t.at);return n&&(r+=" at "+n),r},"visit_position-keyword":function(t){return t.value},visit_position:function(t){return e.visit(t.value.x)+" "+e.visit(t.value.y)},"visit_%":function(t){return t.value+"%"},visit_em:function(t){return t.value+"em"},visit_px:function(t){return t.value+"px"},visit_calc:function(t){return"calc("+t.value+")"},visit_literal:function(t){return e.visit_color(t.value,t)},visit_hex:function(t){return e.visit_color("#"+t.value,t)},visit_rgb:function(t){return e.visit_color("rgb("+t.value.join(", ")+")",t)},visit_rgba:function(t){return e.visit_color("rgba("+t.value.join(", ")+")",t)},visit_hsl:function(t){return e.visit_color("hsl("+t.value[0]+", "+t.value[1]+"%, "+t.value[2]+"%)",t)},visit_hsla:function(t){return e.visit_color("hsla("+t.value[0]+", "+t.value[1]+"%, "+t.value[2]+"%, "+t.value[3]+")",t)},visit_var:function(t){return e.visit_color("var("+t.value+")",t)},visit_color:function(t,r){var n=t,a=e.visit(r.length);return a&&(n+=" "+a),n},visit_angular:function(t){return t.value+"deg"},visit_directional:function(t){return"to "+t.value},visit_array:function(t){var r="",n=t.length;return t.forEach(function(a,o){r+=e.visit(a),o<n-1&&(r+=", ")}),r},visit_object:function(t){return t.width&&t.height?e.visit(t.width)+" "+e.visit(t.height):""},visit:function(t){if(!t)return"";var r="";if(t instanceof Array)return e.visit_array(t);if(typeof t=="object"&&!t.type)return e.visit_object(t);if(t.type){var n=e["visit_"+t.type];if(n)return n(t);throw Error("Missing visitor visit_"+t.type)}else throw Error("Invalid node.")}};return function(t){return e.visit(t)}})();var _r=_r||{};_r.parse=(function(){var e={linearGradient:/^(\-(webkit|o|ms|moz)\-)?(linear\-gradient)/i,repeatingLinearGradient:/^(\-(webkit|o|ms|moz)\-)?(repeating\-linear\-gradient)/i,radialGradient:/^(\-(webkit|o|ms|moz)\-)?(radial\-gradient)/i,repeatingRadialGradient:/^(\-(webkit|o|ms|moz)\-)?(repeating\-radial\-gradient)/i,sideOrCorner:/^to (left (top|bottom)|right (top|bottom)|top (left|right)|bottom (left|right)|left|right|top|bottom)/i,extentKeywords:/^(closest\-side|closest\-corner|farthest\-side|farthest\-corner|contain|cover)/,positionKeywords:/^(left|center|right|top|bottom)/i,pixelValue:/^(-?(([0-9]*\.[0-9]+)|([0-9]+\.?)))px/,percentageValue:/^(-?(([0-9]*\.[0-9]+)|([0-9]+\.?)))\%/,emValue:/^(-?(([0-9]*\.[0-9]+)|([0-9]+\.?)))em/,angleValue:/^(-?(([0-9]*\.[0-9]+)|([0-9]+\.?)))deg/,radianValue:/^(-?(([0-9]*\.[0-9]+)|([0-9]+\.?)))rad/,startCall:/^\(/,endCall:/^\)/,comma:/^,/,hexColor:/^\#([0-9a-fA-F]+)/,literalColor:/^([a-zA-Z]+)/,rgbColor:/^rgb/i,rgbaColor:/^rgba/i,varColor:/^var/i,calcValue:/^calc/i,variableName:/^(--[a-zA-Z0-9-,\s\#]+)/,number:/^(([0-9]*\.[0-9]+)|([0-9]+\.?))/,hslColor:/^hsl/i,hslaColor:/^hsla/i},t="";function r(S){var C=new Error(t+": "+S);throw C.source=t,C}function n(){var S=a();return t.length>0&&r("Invalid input not EOF"),S}function a(){return _(o)}function o(){return i("linear-gradient",e.linearGradient,s)||i("repeating-linear-gradient",e.repeatingLinearGradient,s)||i("radial-gradient",e.radialGradient,d)||i("repeating-radial-gradient",e.repeatingRadialGradient,d)}function i(S,C,O){return l(C,function(U){var j=O();return j&&($(e.comma)||r("Missing comma before color stops")),{type:S,orientation:j,colorStops:_(y)}})}function l(S,C){var O=$(S);if(O){$(e.startCall)||r("Missing (");var U=C(O);return $(e.endCall)||r("Missing )"),U}}function s(){var S=u();if(S)return S;var C=E("position-keyword",e.positionKeywords,1);return C?{type:"directional",value:C.value}:c()}function u(){return E("directional",e.sideOrCorner,1)}function c(){return E("angular",e.angleValue,1)||E("angular",e.radianValue,1)}function d(){var S,C=f(),O;return C&&(S=[],S.push(C),O=t,$(e.comma)&&(C=f(),C?S.push(C):t=O)),S}function f(){var S=m()||p();if(S)S.at=x();else{var C=h();if(C){S=C;var O=x();O&&(S.at=O)}else{var U=x();if(U)S={type:"default-radial",at:U};else{var j=g();j&&(S={type:"default-radial",at:j})}}}return S}function m(){var S=E("shape",/^(circle)/i,0);return S&&(S.style=L()||h()),S}function p(){var S=E("shape",/^(ellipse)/i,0);return S&&(S.style=g()||k()||h()),S}function h(){return E("extent-keyword",e.extentKeywords,1)}function x(){if(E("position",/^at/,0)){var S=g();return S||r("Missing positioning value"),S}}function g(){var S=A();if(S.x||S.y)return{type:"position",value:S}}function A(){return{x:k(),y:k()}}function _(S){var C=S(),O=[];if(C)for(O.push(C);$(e.comma);)C=S(),C?O.push(C):r("One extra comma");return O}function y(){var S=w();return S||r("Expected color definition"),S.length=k(),S}function w(){return V()||G()||z()||F()||M()||H()||v()}function v(){return E("literal",e.literalColor,0)}function V(){return E("hex",e.hexColor,1)}function M(){return l(e.rgbColor,function(){return{type:"rgb",value:_(N)}})}function F(){return l(e.rgbaColor,function(){return{type:"rgba",value:_(N)}})}function H(){return l(e.varColor,function(){return{type:"var",value:b()}})}function z(){return l(e.hslColor,function(){var S=$(e.percentageValue);S&&r("HSL hue value must be a number in degrees (0-360) or normalized (-360 to 360), not a percentage");var C=N();$(e.comma);var O=$(e.percentageValue),U=O?O[1]:null;$(e.comma),O=$(e.percentageValue);var j=O?O[1]:null;return(!U||!j)&&r("Expected percentage value for saturation and lightness in HSL"),{type:"hsl",value:[C,U,j]}})}function G(){return l(e.hslaColor,function(){var S=N();$(e.comma);var C=$(e.percentageValue),O=C?C[1]:null;$(e.comma),C=$(e.percentageValue);var U=C?C[1]:null;$(e.comma);var j=N();return(!O||!U)&&r("Expected percentage value for saturation and lightness in HSLA"),{type:"hsla",value:[S,O,U,j]}})}function I(){var S=$(e.percentageValue);return S?S[1]:null}function b(){return $(e.variableName)[1]}function N(){return $(e.number)[1]}function k(){return E("%",e.percentageValue,1)||P()||T()||L()}function P(){return E("position-keyword",e.positionKeywords,1)}function T(){return l(e.calcValue,function(){for(var S=1,C=0;S>0&&C<t.length;){var O=t.charAt(C);O==="("?S++:O===")"&&S--,C++}S>0&&r("Missing closing parenthesis in calc() expression");var U=t.substring(0,C-1);return q(C-1),{type:"calc",value:U}})}function L(){return E("px",e.pixelValue,1)||E("em",e.emValue,1)}function E(S,C,O){var U=$(C);if(U)return{type:S,value:U[O]}}function $(S){var C,O;return O=/^[\n\r\t\s]+/.exec(t),O&&q(O[0].length),C=S.exec(t),C&&q(C[0].length),C}function q(S){t=t.substr(S)}return function(S){return t=S.toString().trim(),t.endsWith(";")&&(t=t.slice(0,-1)),n()}})();yl.parse=_r.parse;yl.stringify=_r.stringify});function mt(e,t){return e==null||t==null?NaN:e<t?-1:e>t?1:e>=t?0:NaN}function Jo(e,t){return e==null||t==null?NaN:t<e?-1:t>e?1:t>=e?0:NaN}function Zt(e){let t,r,n;e.length!==2?(t=mt,r=(l,s)=>mt(e(l),s),n=(l,s)=>e(l)-s):(t=e===mt||e===Jo?e:Xd,r=e,n=e);function a(l,s,u=0,c=l.length){if(u<c){if(t(s,s)!==0)return c;do{let d=u+c>>>1;r(l[d],s)<0?u=d+1:c=d}while(u<c)}return u}function o(l,s,u=0,c=l.length){if(u<c){if(t(s,s)!==0)return c;do{let d=u+c>>>1;r(l[d],s)<=0?u=d+1:c=d}while(u<c)}return u}function i(l,s,u=0,c=l.length){let d=a(l,s,u,c-1);return d>u&&n(l[d-1],s)>-n(l[d],s)?d-1:d}return{left:a,center:i,right:o}}function Xd(){return 0}function Ko(e){return e===null?NaN:+e}var Wl=Zt(mt),Hl=Wl.right,jd=Wl.left,Qd=Zt(Ko).center,Zo=Hl;function ei(e,t){let r=0,n,a=0,o=0;if(t===void 0)for(let i of e)i!=null&&(i=+i)>=i&&(n=i-a,a+=n/++r,o+=n*(i-a));else{let i=-1;for(let l of e)(l=t(l,++i,e))!=null&&(l=+l)>=l&&(n=l-a,a+=n/++r,o+=n*(l-a))}if(r>1)return o/(r-1)}function fa(e,t){let r=ei(e,t);return r&&Math.sqrt(r)}var Tr=class extends Map{constructor(t,r=Zd){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:r}}),t!=null)for(let[n,a]of t)this.set(n,a)}get(t){return super.get(ql(this,t))}has(t){return super.has(ql(this,t))}set(t,r){return super.set(Jd(this,t),r)}delete(t){return super.delete(Kd(this,t))}};function ql({_intern:e,_key:t},r){let n=t(r);return e.has(n)?e.get(n):r}function Jd({_intern:e,_key:t},r){let n=t(r);return e.has(n)?e.get(n):(e.set(n,r),r)}function Kd({_intern:e,_key:t},r){let n=t(r);return e.has(n)&&(r=e.get(n),e.delete(n)),r}function Zd(e){return e!==null&&typeof e=="object"?e.valueOf():e}var em=Math.sqrt(50),tm=Math.sqrt(10),rm=Math.sqrt(2);function da(e,t,r){let n=(t-e)/Math.max(0,r),a=Math.floor(Math.log10(n)),o=n/Math.pow(10,a),i=o>=em?10:o>=tm?5:o>=rm?2:1,l,s,u;return a<0?(u=Math.pow(10,-a)/i,l=Math.round(e*u),s=Math.round(t*u),l/u<e&&++l,s/u>t&&--s,u=-u):(u=Math.pow(10,a)*i,l=Math.round(e/u),s=Math.round(t/u),l*u<e&&++l,s*u>t&&--s),s<l&&.5<=r&&r<2?da(e,t,r*2):[l,s,u]}function er(e,t,r){if(t=+t,e=+e,r=+r,!(r>0))return[];if(e===t)return[e];let n=t<e,[a,o,i]=n?da(t,e,r):da(e,t,r);if(!(o>=a))return[];let l=o-a+1,s=new Array(l);if(n)if(i<0)for(let u=0;u<l;++u)s[u]=(o-u)/-i;else for(let u=0;u<l;++u)s[u]=(o-u)*i;else if(i<0)for(let u=0;u<l;++u)s[u]=(a+u)/-i;else for(let u=0;u<l;++u)s[u]=(a+u)*i;return s}function cn(e,t,r){return t=+t,e=+e,r=+r,da(e,t,r)[2]}function Dr(e,t,r){t=+t,e=+e,r=+r;let n=t<e,a=n?cn(t,e,r):cn(e,t,r);return(n?-1:1)*(a<0?1/-a:a)}function Ce(e,t){let r;if(t===void 0)for(let n of e)n!=null&&(r<n||r===void 0&&n>=n)&&(r=n);else{let n=-1;for(let a of e)(a=t(a,++n,e))!=null&&(r<a||r===void 0&&a>=a)&&(r=a)}return r}function ze(e,t){let r;if(t===void 0)for(let n of e)n!=null&&(r>n||r===void 0&&n>=n)&&(r=n);else{let n=-1;for(let a of e)(a=t(a,++n,e))!=null&&(r>a||r===void 0&&a>=a)&&(r=a)}return r}function ma(e,t){let r=0,n=0;if(t===void 0)for(let a of e)a!=null&&(a=+a)>=a&&(++r,n+=a);else{let a=-1;for(let o of e)(o=t(o,++a,e))!=null&&(o=+o)>=o&&(++r,n+=o)}if(r)return n/r}function pa(e,t=nm){let r=[],n,a=!1;for(let o of e)a&&r.push(t(n,o)),n=o,a=!0;return r}function nm(e,t){return[e,t]}function Mt(e,t,r){e=+e,t=+t,r=(a=arguments.length)<2?(t=e,e=0,1):a<3?1:+r;for(var n=-1,a=Math.max(0,Math.ceil((t-e)/r))|0,o=new Array(a);++n<a;)o[n]=e+n*r;return o}function fn(e,t){let r=0;if(t===void 0)for(let n of e)(n=+n)&&(r+=n);else{let n=-1;for(let a of e)(a=+t(a,++n,e))&&(r+=a)}return r}var ha=(e,t,r)=>{let n=t[r];if(typeof n!="function")throw new Error(`Attempt to rebind ${r} which isn't a function on the source object`);return(...a)=>{var o=n.apply(t,a);return o===t?e:o}};var W=(e,t,...r)=>{for(let n of r)e[n]=ha(e,t,n);return e};var om=e=>t=>e.reduce((r,n)=>r&&n(r),t),B=(e,t,...r)=>{let n=om(r);for(let a of Object.keys(t)){let o=n(a);o&&(e[o]=ha(e,t,a))}return e};var ga=e=>e.map(t=>typeof t=="string"?new RegExp(`^${t}$`):t);var J=(...e)=>(e=ga(e),t=>e.every(r=>!r.test(t))&&t);var tr=(...e)=>(e=ga(e),t=>e.some(r=>r.test(t))&&t);var pt=e=>t=>e[t];var im=e=>e[0].toUpperCase()+e.slice(1),Be=e=>t=>e+im(t);function dn(e){return e}function Ul(e){}function ti(e){return typeof e=="function"?e:()=>e}function wt(e){return typeof e=="number"&&isNaN(e)?void 0:e}function Er(){let e=()=>10,t=Ul,r=dn,n=o=>o!=null;var a=function(o){let i=e.apply(this,arguments),l=o.slice(0,i).map(r);return o.map((s,u)=>(u>=i&&(l.shift(),l.push(r(s,u))),u<i-1||l.some(c=>!n(c))?t(void 0,u):t(l,u)))};return a.period=(...o)=>o.length?(e=ti(o[0]),a):e,a.accumulator=(...o)=>o.length?(t=o[0],a):t,a.defined=(...o)=>o.length?(n=o[0],a):n,a.value=(...o)=>o.length?(r=o[0],a):r,a}function ri(){let e=2,t=Er().accumulator(n=>{let a=n&&fa(n),o=n&&ma(n);return{average:o,upper:wt(o+e*a),lower:wt(o-e*a)}}),r=n=>t(n);return r.multiplier=(...n)=>n.length?(e=n[0],r):e,W(r,t,"period","value"),r}function je(e,t){switch(arguments.length){case 0:break;case 1:this.range(e);break;default:this.range(t).domain(e);break}return this}function Gl(e,t){switch(arguments.length){case 0:break;case 1:{typeof e=="function"?this.interpolator(e):this.range(e);break}default:{this.domain(e),typeof t=="function"?this.interpolator(t):this.range(t);break}}return this}var ai=Symbol("implicit");function rt(){var e=new Tr,t=[],r=[],n=ai;function a(o){let i=e.get(o);if(i===void 0){if(n!==ai)return n;e.set(o,i=t.push(o)-1)}return r[i%r.length]}return a.domain=function(o){if(!arguments.length)return t.slice();t=[],e=new Tr;for(let i of o)e.has(i)||e.set(i,t.push(i)-1);return a},a.range=function(o){return arguments.length?(r=Array.from(o),a):r.slice()},a.unknown=function(o){return arguments.length?(n=o,a):n},a.copy=function(){return rt(t,r).unknown(n)},je.apply(a,arguments),a}function nt(){var e=rt().unknown(void 0),t=e.domain,r=e.range,n=0,a=1,o,i,l=!1,s=0,u=0,c=.5;delete e.unknown;function d(){var f=t().length,m=a<n,p=m?a:n,h=m?n:a;o=(h-p)/Math.max(1,f-s+u*2),l&&(o=Math.floor(o)),p+=(h-p-o*(f-s))*c,i=o*(1-s),l&&(p=Math.round(p),i=Math.round(i));var x=Mt(f).map(function(g){return p+o*g});return r(m?x.reverse():x)}return e.domain=function(f){return arguments.length?(t(f),d()):t()},e.range=function(f){return arguments.length?([n,a]=f,n=+n,a=+a,d()):[n,a]},e.rangeRound=function(f){return[n,a]=f,n=+n,a=+a,l=!0,d()},e.bandwidth=function(){return i},e.step=function(){return o},e.round=function(f){return arguments.length?(l=!!f,d()):l},e.padding=function(f){return arguments.length?(s=Math.min(1,u=+f),d()):s},e.paddingInner=function(f){return arguments.length?(s=Math.min(1,f),d()):s},e.paddingOuter=function(f){return arguments.length?(u=+f,d()):u},e.align=function(f){return arguments.length?(c=Math.max(0,Math.min(1,f)),d()):c},e.copy=function(){return nt(t(),[n,a]).round(l).paddingInner(s).paddingOuter(u).align(c)},je.apply(d(),arguments)}function xa(e,t,r){e.prototype=t.prototype=r,r.constructor=e}function oi(e,t){var r=Object.create(e.prototype);for(var n in t)r[n]=t[n];return r}function hn(){}var mn=.7,ba=1/mn,Nr="\\s*([+-]?\\d+)\\s*",pn="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",ht="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",sm=/^#([0-9a-f]{3,8})$/,um=new RegExp(`^rgb\\(${Nr},${Nr},${Nr}\\)$`),cm=new RegExp(`^rgb\\(${ht},${ht},${ht}\\)$`),fm=new RegExp(`^rgba\\(${Nr},${Nr},${Nr},${pn}\\)$`),dm=new RegExp(`^rgba\\(${ht},${ht},${ht},${pn}\\)$`),mm=new RegExp(`^hsl\\(${pn},${ht},${ht}\\)$`),pm=new RegExp(`^hsla\\(${pn},${ht},${ht},${pn}\\)$`),Xl={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};xa(hn,Ae,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:jl,formatHex:jl,formatHex8:hm,formatHsl:gm,formatRgb:Ql,toString:Ql});function jl(){return this.rgb().formatHex()}function hm(){return this.rgb().formatHex8()}function gm(){return rs(this).formatHsl()}function Ql(){return this.rgb().formatRgb()}function Ae(e){var t,r;return e=(e+"").trim().toLowerCase(),(t=sm.exec(e))?(r=t[1].length,t=parseInt(t[1],16),r===6?Jl(t):r===3?new Pe(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):r===8?ya(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):r===4?ya(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=um.exec(e))?new Pe(t[1],t[2],t[3],1):(t=cm.exec(e))?new Pe(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=fm.exec(e))?ya(t[1],t[2],t[3],t[4]):(t=dm.exec(e))?ya(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=mm.exec(e))?es(t[1],t[2]/100,t[3]/100,1):(t=pm.exec(e))?es(t[1],t[2]/100,t[3]/100,t[4]):Xl.hasOwnProperty(e)?Jl(Xl[e]):e==="transparent"?new Pe(NaN,NaN,NaN,0):null}function Jl(e){return new Pe(e>>16&255,e>>8&255,e&255,1)}function ya(e,t,r,n){return n<=0&&(e=t=r=NaN),new Pe(e,t,r,n)}function xm(e){return e instanceof hn||(e=Ae(e)),e?(e=e.rgb(),new Pe(e.r,e.g,e.b,e.opacity)):new Pe}function zr(e,t,r,n){return arguments.length===1?xm(e):new Pe(e,t,r,n??1)}function Pe(e,t,r,n){this.r=+e,this.g=+t,this.b=+r,this.opacity=+n}xa(Pe,zr,oi(hn,{brighter(e){return e=e==null?ba:Math.pow(ba,e),new Pe(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?mn:Math.pow(mn,e),new Pe(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new Pe(nr(this.r),nr(this.g),nr(this.b),wa(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:Kl,formatHex:Kl,formatHex8:ym,formatRgb:Zl,toString:Zl}));function Kl(){return`#${rr(this.r)}${rr(this.g)}${rr(this.b)}`}function ym(){return`#${rr(this.r)}${rr(this.g)}${rr(this.b)}${rr((isNaN(this.opacity)?1:this.opacity)*255)}`}function Zl(){let e=wa(this.opacity);return`${e===1?"rgb(":"rgba("}${nr(this.r)}, ${nr(this.g)}, ${nr(this.b)}${e===1?")":`, ${e})`}`}function wa(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function nr(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function rr(e){return e=nr(e),(e<16?"0":"")+e.toString(16)}function es(e,t,r,n){return n<=0?e=t=r=NaN:r<=0||r>=1?e=t=NaN:t<=0&&(e=NaN),new at(e,t,r,n)}function rs(e){if(e instanceof at)return new at(e.h,e.s,e.l,e.opacity);if(e instanceof hn||(e=Ae(e)),!e)return new at;if(e instanceof at)return e;e=e.rgb();var t=e.r/255,r=e.g/255,n=e.b/255,a=Math.min(t,r,n),o=Math.max(t,r,n),i=NaN,l=o-a,s=(o+a)/2;return l?(t===o?i=(r-n)/l+(r<n)*6:r===o?i=(n-t)/l+2:i=(t-r)/l+4,l/=s<.5?o+a:2-o-a,i*=60):l=s>0&&s<1?0:i,new at(i,l,s,e.opacity)}function ns(e,t,r,n){return arguments.length===1?rs(e):new at(e,t,r,n??1)}function at(e,t,r,n){this.h=+e,this.s=+t,this.l=+r,this.opacity=+n}xa(at,ns,oi(hn,{brighter(e){return e=e==null?ba:Math.pow(ba,e),new at(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?mn:Math.pow(mn,e),new at(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*t,a=2*r-n;return new Pe(ii(e>=240?e-240:e+120,a,n),ii(e,a,n),ii(e<120?e+240:e-120,a,n),this.opacity)},clamp(){return new at(ts(this.h),va(this.s),va(this.l),wa(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let e=wa(this.opacity);return`${e===1?"hsl(":"hsla("}${ts(this.h)}, ${va(this.s)*100}%, ${va(this.l)*100}%${e===1?")":`, ${e})`}`}}));function ts(e){return e=(e||0)%360,e<0?e+360:e}function va(e){return Math.max(0,Math.min(1,e||0))}function ii(e,t,r){return(e<60?t+(r-t)*e/60:e<180?r:e<240?t+(r-t)*(240-e)/60:t)*255}function li(e,t,r,n,a){var o=e*e,i=o*e;return((1-3*e+3*o-i)*t+(4-6*o+3*i)*r+(1+3*e+3*o-3*i)*n+i*a)/6}function as(e){var t=e.length-1;return function(r){var n=r<=0?r=0:r>=1?(r=1,t-1):Math.floor(r*t),a=e[n],o=e[n+1],i=n>0?e[n-1]:2*a-o,l=n<t-1?e[n+2]:2*o-a;return li((r-n/t)*t,i,a,o,l)}}function os(e){var t=e.length;return function(r){var n=Math.floor(((r%=1)<0?++r:r)*t),a=e[(n+t-1)%t],o=e[n%t],i=e[(n+1)%t],l=e[(n+2)%t];return li((r-n/t)*t,a,o,i,l)}}var gn=e=>()=>e;function vm(e,t){return function(r){return e+r*t}}function bm(e,t,r){return e=Math.pow(e,r),t=Math.pow(t,r)-e,r=1/r,function(n){return Math.pow(e+n*t,r)}}function is(e){return(e=+e)==1?Sa:function(t,r){return r-t?bm(t,r,e):gn(isNaN(t)?r:t)}}function Sa(e,t){var r=t-e;return r?vm(e,r):gn(isNaN(e)?t:e)}var ar=(function e(t){var r=is(t);function n(a,o){var i=r((a=zr(a)).r,(o=zr(o)).r),l=r(a.g,o.g),s=r(a.b,o.b),u=Sa(a.opacity,o.opacity);return function(c){return a.r=i(c),a.g=l(c),a.b=s(c),a.opacity=u(c),a+""}}return n.gamma=e,n})(1);function ls(e){return function(t){var r=t.length,n=new Array(r),a=new Array(r),o=new Array(r),i,l;for(i=0;i<r;++i)l=zr(t[i]),n[i]=l.r||0,a[i]=l.g||0,o[i]=l.b||0;return n=e(n),a=e(a),o=e(o),l.opacity=1,function(s){return l.r=n(s),l.g=a(s),l.b=o(s),l+""}}}var wm=ls(as),Sm=ls(os);function ss(e,t){t||(t=[]);var r=e?Math.min(t.length,e.length):0,n=t.slice(),a;return function(o){for(a=0;a<r;++a)n[a]=e[a]*(1-o)+t[a]*o;return n}}function us(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function cs(e,t){var r=t?t.length:0,n=e?Math.min(r,e.length):0,a=new Array(n),o=new Array(r),i;for(i=0;i<n;++i)a[i]=ke(e[i],t[i]);for(;i<r;++i)o[i]=t[i];return function(l){for(i=0;i<n;++i)o[i]=a[i](l);return o}}function fs(e,t){var r=new Date;return e=+e,t=+t,function(n){return r.setTime(e*(1-n)+t*n),r}}function ve(e,t){return e=+e,t=+t,function(r){return e*(1-r)+t*r}}function ds(e,t){var r={},n={},a;(e===null||typeof e!="object")&&(e={}),(t===null||typeof t!="object")&&(t={});for(a in t)a in e?r[a]=ke(e[a],t[a]):n[a]=t[a];return function(o){for(a in r)n[a]=r[a](o);return n}}var ui=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,si=new RegExp(ui.source,"g");function _m(e){return function(){return e}}function Am(e){return function(t){return e(t)+""}}function xn(e,t){var r=ui.lastIndex=si.lastIndex=0,n,a,o,i=-1,l=[],s=[];for(e=e+"",t=t+"";(n=ui.exec(e))&&(a=si.exec(t));)(o=a.index)>r&&(o=t.slice(r,o),l[i]?l[i]+=o:l[++i]=o),(n=n[0])===(a=a[0])?l[i]?l[i]+=a:l[++i]=a:(l[++i]=null,s.push({i,x:ve(n,a)})),r=si.lastIndex;return r<t.length&&(o=t.slice(r),l[i]?l[i]+=o:l[++i]=o),l.length<2?s[0]?Am(s[0].x):_m(t):(t=s.length,function(u){for(var c=0,d;c<t;++c)l[(d=s[c]).i]=d.x(u);return l.join("")})}function ke(e,t){var r=typeof t,n;return t==null||r==="boolean"?gn(t):(r==="number"?ve:r==="string"?(n=Ae(t))?(t=n,ar):xn:t instanceof Ae?ar:t instanceof Date?fs:us(t)?ss:Array.isArray(t)?cs:typeof t.valueOf!="function"&&typeof t.toString!="function"||isNaN(t)?ds:ve)(e,t)}function yn(e,t){return e=+e,t=+t,function(r){return Math.round(e*(1-r)+t*r)}}var ms=180/Math.PI,_a={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function ci(e,t,r,n,a,o){var i,l,s;return(i=Math.sqrt(e*e+t*t))&&(e/=i,t/=i),(s=e*r+t*n)&&(r-=e*s,n-=t*s),(l=Math.sqrt(r*r+n*n))&&(r/=l,n/=l,s/=l),e*n<t*r&&(e=-e,t=-t,s=-s,i=-i),{translateX:a,translateY:o,rotate:Math.atan2(t,e)*ms,skewX:Math.atan(s)*ms,scaleX:i,scaleY:l}}var Aa;function ps(e){let t=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(e+"");return t.isIdentity?_a:ci(t.a,t.b,t.c,t.d,t.e,t.f)}function hs(e){return e==null?_a:(Aa||(Aa=document.createElementNS("http://www.w3.org/2000/svg","g")),Aa.setAttribute("transform",e),(e=Aa.transform.baseVal.consolidate())?(e=e.matrix,ci(e.a,e.b,e.c,e.d,e.e,e.f)):_a)}function gs(e,t,r,n){function a(u){return u.length?u.pop()+" ":""}function o(u,c,d,f,m,p){if(u!==d||c!==f){var h=m.push("translate(",null,t,null,r);p.push({i:h-4,x:ve(u,d)},{i:h-2,x:ve(c,f)})}else(d||f)&&m.push("translate("+d+t+f+r)}function i(u,c,d,f){u!==c?(u-c>180?c+=360:c-u>180&&(u+=360),f.push({i:d.push(a(d)+"rotate(",null,n)-2,x:ve(u,c)})):c&&d.push(a(d)+"rotate("+c+n)}function l(u,c,d,f){u!==c?f.push({i:d.push(a(d)+"skewX(",null,n)-2,x:ve(u,c)}):c&&d.push(a(d)+"skewX("+c+n)}function s(u,c,d,f,m,p){if(u!==d||c!==f){var h=m.push(a(m)+"scale(",null,",",null,")");p.push({i:h-4,x:ve(u,d)},{i:h-2,x:ve(c,f)})}else(d!==1||f!==1)&&m.push(a(m)+"scale("+d+","+f+")")}return function(u,c){var d=[],f=[];return u=e(u),c=e(c),o(u.translateX,u.translateY,c.translateX,c.translateY,d,f),i(u.rotate,c.rotate,d,f),l(u.skewX,c.skewX,d,f),s(u.scaleX,u.scaleY,c.scaleX,c.scaleY,d,f),u=c=null,function(m){for(var p=-1,h=f.length,x;++p<h;)d[(x=f[p]).i]=x.x(m);return d.join("")}}}var fi=gs(ps,"px, ","px)","deg)"),di=gs(hs,", ",")",")");var km=1e-12;function xs(e){return((e=Math.exp(e))+1/e)/2}function Vm(e){return((e=Math.exp(e))-1/e)/2}function Cm(e){return((e=Math.exp(2*e))-1)/(e+1)}var mi=(function e(t,r,n){function a(o,i){var l=o[0],s=o[1],u=o[2],c=i[0],d=i[1],f=i[2],m=c-l,p=d-s,h=m*m+p*p,x,g;if(h<km)g=Math.log(f/u)/t,x=function(V){return[l+V*m,s+V*p,u*Math.exp(t*V*g)]};else{var A=Math.sqrt(h),_=(f*f-u*u+n*h)/(2*u*r*A),y=(f*f-u*u-n*h)/(2*f*r*A),w=Math.log(Math.sqrt(_*_+1)-_),v=Math.log(Math.sqrt(y*y+1)-y);g=(v-w)/t,x=function(V){var M=V*g,F=xs(w),H=u/(r*A)*(F*Cm(t*M+w)-Vm(w));return[l+H*m,s+H*p,u*F/xs(t*M+w)]}}return x.duration=g*1e3*t/Math.SQRT2,x}return a.rho=function(o){var i=Math.max(.001,+o),l=i*i,s=l*l;return e(i,l,s)},a})(Math.SQRT2,2,4);function pi(e){return function(){return e}}function Br(e){return+e}var ys=[0,1];function Ie(e){return e}function hi(e,t){return(t-=e=+e)?function(r){return(r-e)/t}:pi(isNaN(t)?NaN:.5)}function Mm(e,t){var r;return e>t&&(r=e,e=t,t=r),function(n){return Math.max(e,Math.min(t,n))}}function Tm(e,t,r){var n=e[0],a=e[1],o=t[0],i=t[1];return a<n?(n=hi(a,n),o=r(i,o)):(n=hi(n,a),o=r(o,i)),function(l){return o(n(l))}}function Dm(e,t,r){var n=Math.min(e.length,t.length)-1,a=new Array(n),o=new Array(n),i=-1;for(e[n]<e[0]&&(e=e.slice().reverse(),t=t.slice().reverse());++i<n;)a[i]=hi(e[i],e[i+1]),o[i]=r(t[i],t[i+1]);return function(l){var s=Zo(e,l,1,n)-1;return o[s](a[s](l))}}function Tt(e,t){return t.domain(e.domain()).range(e.range()).interpolate(e.interpolate()).clamp(e.clamp()).unknown(e.unknown())}function vn(){var e=ys,t=ys,r=ke,n,a,o,i=Ie,l,s,u;function c(){var f=Math.min(e.length,t.length);return i!==Ie&&(i=Mm(e[0],e[f-1])),l=f>2?Dm:Tm,s=u=null,d}function d(f){return f==null||isNaN(f=+f)?o:(s||(s=l(e.map(n),t,r)))(n(i(f)))}return d.invert=function(f){return i(a((u||(u=l(t,e.map(n),ve)))(f)))},d.domain=function(f){return arguments.length?(e=Array.from(f,Br),c()):e.slice()},d.range=function(f){return arguments.length?(t=Array.from(f),c()):t.slice()},d.rangeRound=function(f){return t=Array.from(f),r=yn,c()},d.clamp=function(f){return arguments.length?(i=f?!0:Ie,c()):i!==Ie},d.interpolate=function(f){return arguments.length?(r=f,c()):r},d.unknown=function(f){return arguments.length?(o=f,d):o},function(f,m){return n=f,a=m,c()}}function bn(){return vn()(Ie,Ie)}function vs(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString("en").replace(/,/g,""):e.toString(10)}function or(e,t){if((r=(e=t?e.toExponential(t-1):e.toExponential()).indexOf("e"))<0)return null;var r,n=e.slice(0,r);return[n.length>1?n[0]+n.slice(2):n,+e.slice(r+1)]}function gt(e){return e=or(Math.abs(e)),e?e[1]:NaN}function bs(e,t){return function(r,n){for(var a=r.length,o=[],i=0,l=e[0],s=0;a>0&&l>0&&(s+l+1>n&&(l=Math.max(1,n-s)),o.push(r.substring(a-=l,a+l)),!((s+=l+1)>n));)l=e[i=(i+1)%e.length];return o.reverse().join(t)}}function ws(e){return function(t){return t.replace(/[0-9]/g,function(r){return e[+r]})}}var Em=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function He(e){if(!(t=Em.exec(e)))throw new Error("invalid format: "+e);var t;return new ka({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]})}He.prototype=ka.prototype;function ka(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+""}ka.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 Ss(e){e:for(var t=e.length,r=1,n=-1,a;r<t;++r)switch(e[r]){case".":n=a=r;break;case"0":n===0&&(n=r),a=r;break;default:if(!+e[r])break e;n>0&&(n=0);break}return n>0?e.slice(0,n)+e.slice(a+1):e}var gi;function _s(e,t){var r=or(e,t);if(!r)return e+"";var n=r[0],a=r[1],o=a-(gi=Math.max(-8,Math.min(8,Math.floor(a/3)))*3)+1,i=n.length;return o===i?n:o>i?n+new Array(o-i+1).join("0"):o>0?n.slice(0,o)+"."+n.slice(o):"0."+new Array(1-o).join("0")+or(e,Math.max(0,t+o-1))[0]}function xi(e,t){var r=or(e,t);if(!r)return e+"";var n=r[0],a=r[1];return a<0?"0."+new Array(-a).join("0")+n:n.length>a+1?n.slice(0,a+1)+"."+n.slice(a+1):n+new Array(a-n.length+2).join("0")}var yi={"%":(e,t)=>(e*100).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+"",d:vs,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)=>xi(e*100,t),r:xi,s:_s,X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function vi(e){return e}var As=Array.prototype.map,ks=["y","z","a","f","p","n","\xB5","m","","k","M","G","T","P","E","Z","Y"];function Pr(e){var t=e.grouping===void 0||e.thousands===void 0?vi:bs(As.call(e.grouping,Number),e.thousands+""),r=e.currency===void 0?"":e.currency[0]+"",n=e.currency===void 0?"":e.currency[1]+"",a=e.decimal===void 0?".":e.decimal+"",o=e.numerals===void 0?vi:ws(As.call(e.numerals,String)),i=e.percent===void 0?"%":e.percent+"",l=e.minus===void 0?"\u2212":e.minus+"",s=e.nan===void 0?"NaN":e.nan+"";function u(d){d=He(d);var f=d.fill,m=d.align,p=d.sign,h=d.symbol,x=d.zero,g=d.width,A=d.comma,_=d.precision,y=d.trim,w=d.type;w==="n"?(A=!0,w="g"):yi[w]||(_===void 0&&(_=12),y=!0,w="g"),(x||f==="0"&&m==="=")&&(x=!0,f="0",m="=");var v=h==="$"?r:h==="#"&&/[boxX]/.test(w)?"0"+w.toLowerCase():"",V=h==="$"?n:/[%p]/.test(w)?i:"",M=yi[w],F=/[defgprs%]/.test(w);_=_===void 0?6:/[gprs]/.test(w)?Math.max(1,Math.min(21,_)):Math.max(0,Math.min(20,_));function H(z){var G=v,I=V,b,N,k;if(w==="c")I=M(z)+I,z="";else{z=+z;var P=z<0||1/z<0;if(z=isNaN(z)?s:M(Math.abs(z),_),y&&(z=Ss(z)),P&&+z==0&&p!=="+"&&(P=!1),G=(P?p==="("?p:l:p==="-"||p==="("?"":p)+G,I=(w==="s"?ks[8+gi/3]:"")+I+(P&&p==="("?")":""),F){for(b=-1,N=z.length;++b<N;)if(k=z.charCodeAt(b),48>k||k>57){I=(k===46?a+z.slice(b+1):z.slice(b))+I,z=z.slice(0,b);break}}}A&&!x&&(z=t(z,1/0));var T=G.length+z.length+I.length,L=T<g?new Array(g-T+1).join(f):"";switch(A&&x&&(z=t(L+z,L.length?g-I.length:1/0),L=""),m){case"<":z=G+z+I+L;break;case"=":z=G+L+z+I;break;case"^":z=L.slice(0,T=L.length>>1)+G+z+I+L.slice(T);break;default:z=L+G+z+I;break}return o(z)}return H.toString=function(){return d+""},H}function c(d,f){var m=u((d=He(d),d.type="f",d)),p=Math.max(-8,Math.min(8,Math.floor(gt(f)/3)))*3,h=Math.pow(10,-p),x=ks[8+p/3];return function(g){return m(h*g)+x}}return{format:u,formatPrefix:c}}var Va,Qe,Ir;bi({thousands:",",grouping:[3],currency:["$",""]});function bi(e){return Va=Pr(e),Qe=Va.format,Ir=Va.formatPrefix,Va}function wi(e){return Math.max(0,-gt(Math.abs(e)))}function Si(e,t){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(gt(t)/3)))*3-gt(Math.abs(e)))}function _i(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,gt(t)-gt(e))+1}function Ai(e,t,r,n){var a=Dr(e,t,r),o;switch(n=He(n??",f"),n.type){case"s":{var i=Math.max(Math.abs(e),Math.abs(t));return n.precision==null&&!isNaN(o=Si(a,i))&&(n.precision=o),Ir(n,i)}case"":case"e":case"g":case"p":case"r":{n.precision==null&&!isNaN(o=_i(a,Math.max(Math.abs(e),Math.abs(t))))&&(n.precision=o-(n.type==="e"));break}case"f":case"%":{n.precision==null&&!isNaN(o=wi(a))&&(n.precision=o-(n.type==="%")*2);break}}return Qe(n)}function ir(e){var t=e.domain;return e.ticks=function(r){var n=t();return er(n[0],n[n.length-1],r??10)},e.tickFormat=function(r,n){var a=t();return Ai(a[0],a[a.length-1],r??10,n)},e.nice=function(r){r==null&&(r=10);var n=t(),a=0,o=n.length-1,i=n[a],l=n[o],s,u,c=10;for(l<i&&(u=i,i=l,l=u,u=a,a=o,o=u);c-- >0;){if(u=cn(i,l,r),u===s)return n[a]=i,n[o]=l,t(n);if(u>0)i=Math.floor(i/u)*u,l=Math.ceil(l/u)*u;else if(u<0)i=Math.ceil(i*u)/u,l=Math.floor(l*u)/u;else break;s=u}return e},e}function me(){var e=bn();return e.copy=function(){return Tt(e,me())},je.apply(e,arguments),ir(e)}function fe(e){var t;function r(n){return n==null||isNaN(n=+n)?t:n}return r.invert=r,r.domain=r.range=function(n){return arguments.length?(e=Array.from(n,Br),r):e.slice()},r.unknown=function(n){return arguments.length?(t=n,r):t},r.copy=function(){return fe(e).unknown(t)},e=arguments.length?Array.from(e,Br):[0,1],ir(r)}function wn(e,t){e=e.slice();var r=0,n=e.length-1,a=e[r],o=e[n],i;return o<a&&(i=r,r=n,n=i,i=a,a=o,o=i),e[r]=t.floor(a),e[n]=t.ceil(o),e}function Vs(e){return Math.log(e)}function Cs(e){return Math.exp(e)}function Nm(e){return-Math.log(-e)}function zm(e){return-Math.exp(-e)}function Bm(e){return isFinite(e)?+("1e"+e):e<0?0:e}function Pm(e){return e===10?Bm:e===Math.E?Math.exp:t=>Math.pow(e,t)}function Im(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 Ms(e){return(t,r)=>-e(-t,r)}function Rm(e){let t=e(Vs,Cs),r=t.domain,n=10,a,o;function i(){return a=Im(n),o=Pm(n),r()[0]<0?(a=Ms(a),o=Ms(o),e(Nm,zm)):e(Vs,Cs),t}return t.base=function(l){return arguments.length?(n=+l,i()):n},t.domain=function(l){return arguments.length?(r(l),i()):r()},t.ticks=l=>{let s=r(),u=s[0],c=s[s.length-1],d=c<u;d&&([u,c]=[c,u]);let f=a(u),m=a(c),p,h,x=l==null?10:+l,g=[];if(!(n%1)&&m-f<x){if(f=Math.floor(f),m=Math.ceil(m),u>0){for(;f<=m;++f)for(p=1;p<n;++p)if(h=f<0?p/o(-f):p*o(f),!(h<u)){if(h>c)break;g.push(h)}}else for(;f<=m;++f)for(p=n-1;p>=1;--p)if(h=f>0?p/o(-f):p*o(f),!(h<u)){if(h>c)break;g.push(h)}g.length*2<x&&(g=er(u,c,x))}else g=er(f,m,Math.min(m-f,x)).map(o);return d?g.reverse():g},t.tickFormat=(l,s)=>{if(l==null&&(l=10),s==null&&(s=n===10?"s":","),typeof s!="function"&&(!(n%1)&&(s=He(s)).precision==null&&(s.trim=!0),s=Qe(s)),l===1/0)return s;let u=Math.max(1,n*l/t.ticks().length);return c=>{let d=c/o(Math.round(a(c)));return d*n<n-.5&&(d*=n),d<=u?s(c):""}},t.nice=()=>r(wn(r(),{floor:l=>o(Math.floor(a(l))),ceil:l=>o(Math.ceil(a(l)))})),t}function Sn(){let e=Rm(vn()).domain([1,10]);return e.copy=()=>Tt(e,Sn()).base(e.base()),je.apply(e,arguments),e}function Ts(e){return function(t){return t<0?-Math.pow(-t,e):Math.pow(t,e)}}function Om(e){return e<0?-Math.sqrt(-e):Math.sqrt(e)}function Lm(e){return e<0?-e*e:e*e}function $m(e){var t=e(Ie,Ie),r=1;function n(){return r===1?e(Ie,Ie):r===.5?e(Om,Lm):e(Ts(r),Ts(1/r))}return t.exponent=function(a){return arguments.length?(r=+a,n()):r},ir(t)}function _n(){var e=$m(vn());return e.copy=function(){return Tt(e,_n()).exponent(e.exponent())},je.apply(e,arguments),e}var ki=new Date,Vi=new Date;function te(e,t,r,n){function a(o){return e(o=arguments.length===0?new Date:new Date(+o)),o}return a.floor=o=>(e(o=new Date(+o)),o),a.ceil=o=>(e(o=new Date(o-1)),t(o,1),e(o),o),a.round=o=>{let i=a(o),l=a.ceil(o);return o-i<l-o?i:l},a.offset=(o,i)=>(t(o=new Date(+o),i==null?1:Math.floor(i)),o),a.range=(o,i,l)=>{let s=[];if(o=a.ceil(o),l=l==null?1:Math.floor(l),!(o<i)||!(l>0))return s;let u;do s.push(u=new Date(+o)),t(o,l),e(o);while(u<o&&o<i);return s},a.filter=o=>te(i=>{if(i>=i)for(;e(i),!o(i);)i.setTime(i-1)},(i,l)=>{if(i>=i)if(l<0)for(;++l<=0;)for(;t(i,-1),!o(i););else for(;--l>=0;)for(;t(i,1),!o(i););}),r&&(a.count=(o,i)=>(ki.setTime(+o),Vi.setTime(+i),e(ki),e(Vi),Math.floor(r(ki,Vi))),a.every=o=>(o=Math.floor(o),!isFinite(o)||!(o>0)?null:o>1?a.filter(n?i=>n(i)%o===0:i=>a.count(0,i)%o===0):a)),a}var ot=te(()=>{},(e,t)=>{e.setTime(+e+t)},(e,t)=>t-e);ot.every=e=>(e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?te(t=>{t.setTime(Math.floor(t/e)*e)},(t,r)=>{t.setTime(+t+r*e)},(t,r)=>(r-t)/e):ot);var Ds=ot.range;var xt=te(e=>{e.setTime(e-e.getMilliseconds())},(e,t)=>{e.setTime(+e+t*1e3)},(e,t)=>(t-e)/1e3,e=>e.getUTCSeconds()),Es=xt.range;var Rr=te(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*1e3)},(e,t)=>{e.setTime(+e+t*6e4)},(e,t)=>(t-e)/6e4,e=>e.getMinutes()),Fm=Rr.range,Ca=te(e=>{e.setUTCSeconds(0,0)},(e,t)=>{e.setTime(+e+t*6e4)},(e,t)=>(t-e)/6e4,e=>e.getUTCMinutes()),Ym=Ca.range;var Or=te(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*1e3-e.getMinutes()*6e4)},(e,t)=>{e.setTime(+e+t*36e5)},(e,t)=>(t-e)/36e5,e=>e.getHours()),Wm=Or.range,Ma=te(e=>{e.setUTCMinutes(0,0,0)},(e,t)=>{e.setTime(+e+t*36e5)},(e,t)=>(t-e)/36e5,e=>e.getUTCHours()),Hm=Ma.range;var it=te(e=>e.setHours(0,0,0,0),(e,t)=>e.setDate(e.getDate()+t),(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*6e4)/864e5,e=>e.getDate()-1),qm=it.range,ur=te(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/864e5,e=>e.getUTCDate()-1),Um=ur.range,Ta=te(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/864e5,e=>Math.floor(e/864e5)),Gm=Ta.range;function cr(e){return te(t=>{t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)},(t,r)=>{t.setDate(t.getDate()+r*7)},(t,r)=>(r-t-(r.getTimezoneOffset()-t.getTimezoneOffset())*6e4)/6048e5)}var St=cr(0),Lr=cr(1),zs=cr(2),Bs=cr(3),Dt=cr(4),Ps=cr(5),Is=cr(6),Rs=St.range,Xm=Lr.range,jm=zs.range,Qm=Bs.range,Jm=Dt.range,Km=Ps.range,Zm=Is.range;function fr(e){return te(t=>{t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)},(t,r)=>{t.setUTCDate(t.getUTCDate()+r*7)},(t,r)=>(r-t)/6048e5)}var dr=fr(0),$r=fr(1),Os=fr(2),Ls=fr(3),Et=fr(4),$s=fr(5),Fs=fr(6),Ys=dr.range,ep=$r.range,tp=Os.range,rp=Ls.range,np=Et.range,ap=$s.range,op=Fs.range;var Fr=te(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()),ip=Fr.range,Da=te(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()),lp=Da.range;var qe=te(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());qe.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:te(t=>{t.setFullYear(Math.floor(t.getFullYear()/e)*e),t.setMonth(0,1),t.setHours(0,0,0,0)},(t,r)=>{t.setFullYear(t.getFullYear()+r*e)});var sp=qe.range,lt=te(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());lt.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:te(t=>{t.setUTCFullYear(Math.floor(t.getUTCFullYear()/e)*e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,r)=>{t.setUTCFullYear(t.getUTCFullYear()+r*e)});var up=lt.range;function Hs(e,t,r,n,a,o){let i=[[xt,1,1e3],[xt,5,5*1e3],[xt,15,15*1e3],[xt,30,30*1e3],[o,1,6e4],[o,5,5*6e4],[o,15,15*6e4],[o,30,30*6e4],[a,1,36e5],[a,3,3*36e5],[a,6,6*36e5],[a,12,12*36e5],[n,1,864e5],[n,2,2*864e5],[r,1,6048e5],[t,1,2592e6],[t,3,3*2592e6],[e,1,31536e6]];function l(u,c,d){let f=c<u;f&&([u,c]=[c,u]);let m=d&&typeof d.range=="function"?d:s(u,c,d),p=m?m.range(u,+c+1):[];return f?p.reverse():p}function s(u,c,d){let f=Math.abs(c-u)/d,m=Zt(([,,x])=>x).right(i,f);if(m===i.length)return e.every(Dr(u/31536e6,c/31536e6,d));if(m===0)return ot.every(Math.max(Dr(u,c,d),1));let[p,h]=i[f/i[m-1][2]<i[m][2]/f?m-1:m];return p.every(h)}return[l,s]}var[fp,dp]=Hs(lt,Da,dr,Ta,Ma,Ca),[Ci,Mi]=Hs(qe,Fr,St,it,Or,Rr);function Ti(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 Di(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 kn(e,t,r){return{y:e,m:t,d:r,H:0,M:0,S:0,L:0}}function Ei(e){var t=e.dateTime,r=e.date,n=e.time,a=e.periods,o=e.days,i=e.shortDays,l=e.months,s=e.shortMonths,u=Vn(a),c=Cn(a),d=Vn(o),f=Cn(o),m=Vn(i),p=Cn(i),h=Vn(l),x=Cn(l),g=Vn(s),A=Cn(s),_={a:P,A:T,b:L,B:E,c:null,d:Qs,e:Qs,f:Pp,g:qp,G:Gp,H:Np,I:zp,j:Bp,L:tu,m:Ip,M:Rp,p:$,q,Q:Zs,s:eu,S:Op,u:Lp,U:$p,V:Fp,w:Yp,W:Wp,x:null,X:null,y:Hp,Y:Up,Z:Xp,"%":Ks},y={a:S,A:C,b:O,B:U,c:null,d:Js,e:Js,f:Kp,g:sh,G:ch,H:jp,I:Qp,j:Jp,L:nu,m:Zp,M:eh,p:j,q:le,Q:Zs,s:eu,S:th,u:rh,U:nh,V:ah,w:oh,W:ih,x:null,X:null,y:lh,Y:uh,Z:fh,"%":Ks},w={a:H,A:z,b:G,B:I,c:b,d:Xs,e:Xs,f:Mp,g:Gs,G:Us,H:js,I:js,j:Ap,L:Cp,m:_p,M:kp,p:F,q:Sp,Q:Dp,s:Ep,S:Vp,u:xp,U:yp,V:vp,w:gp,W:bp,x:N,X:k,y:Gs,Y:Us,Z:wp,"%":Tp};_.x=v(r,_),_.X=v(n,_),_.c=v(t,_),y.x=v(r,y),y.X=v(n,y),y.c=v(t,y);function v(Y,Q){return function(K){var R=[],Ne=-1,re=0,Ye=Y.length,We,Kt,Fl;for(K instanceof Date||(K=new Date(+K));++Ne<Ye;)Y.charCodeAt(Ne)===37&&(R.push(Y.slice(re,Ne)),(Kt=qs[We=Y.charAt(++Ne)])!=null?We=Y.charAt(++Ne):Kt=We==="e"?" ":"0",(Fl=Q[We])&&(We=Fl(K,Kt)),R.push(We),re=Ne+1);return R.push(Y.slice(re,Ne)),R.join("")}}function V(Y,Q){return function(K){var R=kn(1900,void 0,1),Ne=M(R,Y,K+="",0),re,Ye;if(Ne!=K.length)return null;if("Q"in R)return new Date(R.Q);if("s"in R)return new Date(R.s*1e3+("L"in R?R.L:0));if(Q&&!("Z"in R)&&(R.Z=0),"p"in R&&(R.H=R.H%12+R.p*12),R.m===void 0&&(R.m="q"in R?R.q:0),"V"in R){if(R.V<1||R.V>53)return null;"w"in R||(R.w=1),"Z"in R?(re=Di(kn(R.y,0,1)),Ye=re.getUTCDay(),re=Ye>4||Ye===0?$r.ceil(re):$r(re),re=ur.offset(re,(R.V-1)*7),R.y=re.getUTCFullYear(),R.m=re.getUTCMonth(),R.d=re.getUTCDate()+(R.w+6)%7):(re=Ti(kn(R.y,0,1)),Ye=re.getDay(),re=Ye>4||Ye===0?Lr.ceil(re):Lr(re),re=it.offset(re,(R.V-1)*7),R.y=re.getFullYear(),R.m=re.getMonth(),R.d=re.getDate()+(R.w+6)%7)}else("W"in R||"U"in R)&&("w"in R||(R.w="u"in R?R.u%7:"W"in R?1:0),Ye="Z"in R?Di(kn(R.y,0,1)).getUTCDay():Ti(kn(R.y,0,1)).getDay(),R.m=0,R.d="W"in R?(R.w+6)%7+R.W*7-(Ye+5)%7:R.w+R.U*7-(Ye+6)%7);return"Z"in R?(R.H+=R.Z/100|0,R.M+=R.Z%100,Di(R)):Ti(R)}}function M(Y,Q,K,R){for(var Ne=0,re=Q.length,Ye=K.length,We,Kt;Ne<re;){if(R>=Ye)return-1;if(We=Q.charCodeAt(Ne++),We===37){if(We=Q.charAt(Ne++),Kt=w[We in qs?Q.charAt(Ne++):We],!Kt||(R=Kt(Y,K,R))<0)return-1}else if(We!=K.charCodeAt(R++))return-1}return R}function F(Y,Q,K){var R=u.exec(Q.slice(K));return R?(Y.p=c.get(R[0].toLowerCase()),K+R[0].length):-1}function H(Y,Q,K){var R=m.exec(Q.slice(K));return R?(Y.w=p.get(R[0].toLowerCase()),K+R[0].length):-1}function z(Y,Q,K){var R=d.exec(Q.slice(K));return R?(Y.w=f.get(R[0].toLowerCase()),K+R[0].length):-1}function G(Y,Q,K){var R=g.exec(Q.slice(K));return R?(Y.m=A.get(R[0].toLowerCase()),K+R[0].length):-1}function I(Y,Q,K){var R=h.exec(Q.slice(K));return R?(Y.m=x.get(R[0].toLowerCase()),K+R[0].length):-1}function b(Y,Q,K){return M(Y,t,Q,K)}function N(Y,Q,K){return M(Y,r,Q,K)}function k(Y,Q,K){return M(Y,n,Q,K)}function P(Y){return i[Y.getDay()]}function T(Y){return o[Y.getDay()]}function L(Y){return s[Y.getMonth()]}function E(Y){return l[Y.getMonth()]}function $(Y){return a[+(Y.getHours()>=12)]}function q(Y){return 1+~~(Y.getMonth()/3)}function S(Y){return i[Y.getUTCDay()]}function C(Y){return o[Y.getUTCDay()]}function O(Y){return s[Y.getUTCMonth()]}function U(Y){return l[Y.getUTCMonth()]}function j(Y){return a[+(Y.getUTCHours()>=12)]}function le(Y){return 1+~~(Y.getUTCMonth()/3)}return{format:function(Y){var Q=v(Y+="",_);return Q.toString=function(){return Y},Q},parse:function(Y){var Q=V(Y+="",!1);return Q.toString=function(){return Y},Q},utcFormat:function(Y){var Q=v(Y+="",y);return Q.toString=function(){return Y},Q},utcParse:function(Y){var Q=V(Y+="",!0);return Q.toString=function(){return Y},Q}}}var qs={"-":"",_:" ",0:"0"},ye=/^\s*\d+/,mp=/^%/,pp=/[\\^$*+?|[\]().{}]/g;function ee(e,t,r){var n=e<0?"-":"",a=(n?-e:e)+"",o=a.length;return n+(o<r?new Array(r-o+1).join(t)+a:a)}function hp(e){return e.replace(pp,"\\$&")}function Vn(e){return new RegExp("^(?:"+e.map(hp).join("|")+")","i")}function Cn(e){return new Map(e.map((t,r)=>[t.toLowerCase(),r]))}function gp(e,t,r){var n=ye.exec(t.slice(r,r+1));return n?(e.w=+n[0],r+n[0].length):-1}function xp(e,t,r){var n=ye.exec(t.slice(r,r+1));return n?(e.u=+n[0],r+n[0].length):-1}function yp(e,t,r){var n=ye.exec(t.slice(r,r+2));return n?(e.U=+n[0],r+n[0].length):-1}function vp(e,t,r){var n=ye.exec(t.slice(r,r+2));return n?(e.V=+n[0],r+n[0].length):-1}function bp(e,t,r){var n=ye.exec(t.slice(r,r+2));return n?(e.W=+n[0],r+n[0].length):-1}function Us(e,t,r){var n=ye.exec(t.slice(r,r+4));return n?(e.y=+n[0],r+n[0].length):-1}function Gs(e,t,r){var n=ye.exec(t.slice(r,r+2));return n?(e.y=+n[0]+(+n[0]>68?1900:2e3),r+n[0].length):-1}function wp(e,t,r){var n=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(t.slice(r,r+6));return n?(e.Z=n[1]?0:-(n[2]+(n[3]||"00")),r+n[0].length):-1}function Sp(e,t,r){var n=ye.exec(t.slice(r,r+1));return n?(e.q=n[0]*3-3,r+n[0].length):-1}function _p(e,t,r){var n=ye.exec(t.slice(r,r+2));return n?(e.m=n[0]-1,r+n[0].length):-1}function Xs(e,t,r){var n=ye.exec(t.slice(r,r+2));return n?(e.d=+n[0],r+n[0].length):-1}function Ap(e,t,r){var n=ye.exec(t.slice(r,r+3));return n?(e.m=0,e.d=+n[0],r+n[0].length):-1}function js(e,t,r){var n=ye.exec(t.slice(r,r+2));return n?(e.H=+n[0],r+n[0].length):-1}function kp(e,t,r){var n=ye.exec(t.slice(r,r+2));return n?(e.M=+n[0],r+n[0].length):-1}function Vp(e,t,r){var n=ye.exec(t.slice(r,r+2));return n?(e.S=+n[0],r+n[0].length):-1}function Cp(e,t,r){var n=ye.exec(t.slice(r,r+3));return n?(e.L=+n[0],r+n[0].length):-1}function Mp(e,t,r){var n=ye.exec(t.slice(r,r+6));return n?(e.L=Math.floor(n[0]/1e3),r+n[0].length):-1}function Tp(e,t,r){var n=mp.exec(t.slice(r,r+1));return n?r+n[0].length:-1}function Dp(e,t,r){var n=ye.exec(t.slice(r));return n?(e.Q=+n[0],r+n[0].length):-1}function Ep(e,t,r){var n=ye.exec(t.slice(r));return n?(e.s=+n[0],r+n[0].length):-1}function Qs(e,t){return ee(e.getDate(),t,2)}function Np(e,t){return ee(e.getHours(),t,2)}function zp(e,t){return ee(e.getHours()%12||12,t,2)}function Bp(e,t){return ee(1+it.count(qe(e),e),t,3)}function tu(e,t){return ee(e.getMilliseconds(),t,3)}function Pp(e,t){return tu(e,t)+"000"}function Ip(e,t){return ee(e.getMonth()+1,t,2)}function Rp(e,t){return ee(e.getMinutes(),t,2)}function Op(e,t){return ee(e.getSeconds(),t,2)}function Lp(e){var t=e.getDay();return t===0?7:t}function $p(e,t){return ee(St.count(qe(e)-1,e),t,2)}function ru(e){var t=e.getDay();return t>=4||t===0?Dt(e):Dt.ceil(e)}function Fp(e,t){return e=ru(e),ee(Dt.count(qe(e),e)+(qe(e).getDay()===4),t,2)}function Yp(e){return e.getDay()}function Wp(e,t){return ee(Lr.count(qe(e)-1,e),t,2)}function Hp(e,t){return ee(e.getFullYear()%100,t,2)}function qp(e,t){return e=ru(e),ee(e.getFullYear()%100,t,2)}function Up(e,t){return ee(e.getFullYear()%1e4,t,4)}function Gp(e,t){var r=e.getDay();return e=r>=4||r===0?Dt(e):Dt.ceil(e),ee(e.getFullYear()%1e4,t,4)}function Xp(e){var t=e.getTimezoneOffset();return(t>0?"-":(t*=-1,"+"))+ee(t/60|0,"0",2)+ee(t%60,"0",2)}function Js(e,t){return ee(e.getUTCDate(),t,2)}function jp(e,t){return ee(e.getUTCHours(),t,2)}function Qp(e,t){return ee(e.getUTCHours()%12||12,t,2)}function Jp(e,t){return ee(1+ur.count(lt(e),e),t,3)}function nu(e,t){return ee(e.getUTCMilliseconds(),t,3)}function Kp(e,t){return nu(e,t)+"000"}function Zp(e,t){return ee(e.getUTCMonth()+1,t,2)}function eh(e,t){return ee(e.getUTCMinutes(),t,2)}function th(e,t){return ee(e.getUTCSeconds(),t,2)}function rh(e){var t=e.getUTCDay();return t===0?7:t}function nh(e,t){return ee(dr.count(lt(e)-1,e),t,2)}function au(e){var t=e.getUTCDay();return t>=4||t===0?Et(e):Et.ceil(e)}function ah(e,t){return e=au(e),ee(Et.count(lt(e),e)+(lt(e).getUTCDay()===4),t,2)}function oh(e){return e.getUTCDay()}function ih(e,t){return ee($r.count(lt(e)-1,e),t,2)}function lh(e,t){return ee(e.getUTCFullYear()%100,t,2)}function sh(e,t){return e=au(e),ee(e.getUTCFullYear()%100,t,2)}function uh(e,t){return ee(e.getUTCFullYear()%1e4,t,4)}function ch(e,t){var r=e.getUTCDay();return e=r>=4||r===0?Et(e):Et.ceil(e),ee(e.getUTCFullYear()%1e4,t,4)}function fh(){return"+0000"}function Ks(){return"%"}function Zs(e){return+e}function eu(e){return Math.floor(+e/1e3)}var Yr,Ea,ou,iu,lu;Ni({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 Ni(e){return Yr=Ei(e),Ea=Yr.format,ou=Yr.parse,iu=Yr.utcFormat,lu=Yr.utcParse,Yr}function dh(e){return new Date(e)}function mh(e){return e instanceof Date?+e:+new Date(+e)}function su(e,t,r,n,a,o,i,l,s,u){var c=bn(),d=c.invert,f=c.domain,m=u(".%L"),p=u(":%S"),h=u("%I:%M"),x=u("%I %p"),g=u("%a %d"),A=u("%b %d"),_=u("%B"),y=u("%Y");function w(v){return(s(v)<v?m:l(v)<v?p:i(v)<v?h:o(v)<v?x:n(v)<v?a(v)<v?g:A:r(v)<v?_:y)(v)}return c.invert=function(v){return new Date(d(v))},c.domain=function(v){return arguments.length?f(Array.from(v,mh)):f().map(dh)},c.ticks=function(v){var V=f();return e(V[0],V[V.length-1],v??10)},c.tickFormat=function(v,V){return V==null?w:u(V)},c.nice=function(v){var V=f();return(!v||typeof v.range!="function")&&(v=t(V[0],V[V.length-1],v??10)),v?f(wn(V,v)):c},c.copy=function(){return Tt(c,su(e,t,r,n,a,o,i,l,s,u))},c}function Wr(){return je.apply(su(Ci,Mi,qe,Fr,St,it,Or,Rr,xt,Ea).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)}function ph(){var e=0,t=1,r,n,a,o,i=Ie,l=!1,s;function u(d){return d==null||isNaN(d=+d)?s:i(a===0?.5:(d=(o(d)-r)*a,l?Math.max(0,Math.min(1,d)):d))}u.domain=function(d){return arguments.length?([e,t]=d,r=o(e=+e),n=o(t=+t),a=r===n?0:1/(n-r),u):[e,t]},u.clamp=function(d){return arguments.length?(l=!!d,u):l},u.interpolator=function(d){return arguments.length?(i=d,u):i};function c(d){return function(f){var m,p;return arguments.length?([m,p]=f,i=d(m,p),u):[i(0),i(1)]}}return u.range=c(ke),u.rangeRound=c(yn),u.unknown=function(d){return arguments.length?(s=d,u):s},function(d){return o=d,r=d(e),n=d(t),a=r===n?0:1/(n-r),u}}function hh(e,t){return t.domain(e.domain()).interpolator(e.interpolator()).clamp(e.clamp()).unknown(e.unknown())}function Mn(){var e=ir(ph()(Ie));return e.copy=function(){return hh(e,Mn())},Gl.apply(e,arguments)}var Na=(e,t,r,n,a)=>{let o={};return o.getTimeComponentArrayFromString=i=>[i.slice(0,2),i.slice(3,5),i.slice(6,8),i.slice(9,12)],o.getTimeString=i=>{let[l,s,u,c]=r(i).map(d=>d.toString(10).padStart(2,"0"));return`${l}:${s}:${u}.${c.padStart(3,"0")}`},o.setTime=(i,l,s=0)=>{let[u,c,d,f]=o.getTimeComponentArrayFromString(l);return a.offset(e(i,u,c,d,f),s)},o.getStartOfNextDay=i=>n.offset(n.floor(i),1),o.getEndOfPreviousDay=i=>a.offset(n.floor(i),-1),o.dayInterval=n,o.msInterval=a,o.getDay=t,o};var CA=Na((e,t,r,n,a)=>new Date(e.getFullYear(),e.getMonth(),e.getDate(),t,r,n,a),e=>e.getDay(),e=>[e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()],it,ot);var zA=Na((e,t,r,n,a)=>new Date(Date.UTC(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate(),t,r,n,a)),e=>e.getUTCDay(),e=>[e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds(),e.getUTCMilliseconds()],ur,ot);function Tn(){let e=[i=>i],t=[0,0],r="percent",n=null,a=[],o=i=>{let l=new Array(i.length);for(let u of e)for(let c=0;c<i.length;c++){let d=u(i[c],c);Array.isArray(d)?l.push(...d):l.push(d)}let s=[ze(l),Ce(l)];if(s[0]=s[0]==null?ze(a):ze([s[0],...a]),s[1]=s[1]==null?Ce(a):Ce([s[1],...a]),n!=null){let u=Math.max(Math.abs(s[1]-n),Math.abs(s[0]-n));s[0]=n-u,s[1]=n+u}switch(r){case"domain":{s[0]-=t[0],s[1]+=t[1];break}case"percent":{let u=s[1]-s[0];s[0]-=t[0]*u,s[1]+=t[1]*u;break}default:throw new Error(`Unknown padUnit: ${r}`)}return s};return o.accessors=(...i)=>i.length?(e=i[0],o):e,o.pad=(...i)=>i.length?(t=i[0],o):t,o.padUnit=(...i)=>i.length?(r=i[0],o):r,o.include=(...i)=>i.length?(a=i[0],o):a,o.symmetricalAbout=(...i)=>i.length?(n=i[0],o):n,o}function Dn(){let e=[],t=[0,0],r="percent",n=null,a=[],o=Tn(),i=s=>s!=null?s.valueOf():null,l=s=>{let u=e.map(c=>(...d)=>{let f=c(...d);return Array.isArray(f)?f.map(i):i(f)});return o.accessors(u).pad(t).padUnit(r).symmetricalAbout(n!=null?n.valueOf():null).include(a.map(c=>c.valueOf())),o(s).map(c=>new Date(c))};return l.accessors=(...s)=>s.length?(e=s[0],l):e,l.pad=(...s)=>s.length?(t=s[0],l):t,l.padUnit=(...s)=>s.length?(r=s[0],l):r,l.include=(...s)=>s.length?(a=s[0],l):a,l.symmetricalAbout=(...s)=>s.length?(n=s[0],l):n,l}var Bi=Math.PI,Pi=2*Bi,mr=1e-6,yh=Pi-mr;function fu(e){this._+=e[0];for(let t=1,r=e.length;t<r;++t)this._+=arguments[t]+e[t]}function vh(e){let t=Math.floor(e);if(!(t>=0))throw new Error(`invalid digits: ${e}`);if(t>15)return fu;let r=10**t;return function(n){this._+=n[0];for(let a=1,o=n.length;a<o;++a)this._+=Math.round(arguments[a]*r)/r+n[a]}}var pr=class{constructor(t){this._x0=this._y0=this._x1=this._y1=null,this._="",this._append=t==null?fu:vh(t)}moveTo(t,r){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+r}`}closePath(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._append`Z`)}lineTo(t,r){this._append`L${this._x1=+t},${this._y1=+r}`}quadraticCurveTo(t,r,n,a){this._append`Q${+t},${+r},${this._x1=+n},${this._y1=+a}`}bezierCurveTo(t,r,n,a,o,i){this._append`C${+t},${+r},${+n},${+a},${this._x1=+o},${this._y1=+i}`}arcTo(t,r,n,a,o){if(t=+t,r=+r,n=+n,a=+a,o=+o,o<0)throw new Error(`negative radius: ${o}`);let i=this._x1,l=this._y1,s=n-t,u=a-r,c=i-t,d=l-r,f=c*c+d*d;if(this._x1===null)this._append`M${this._x1=t},${this._y1=r}`;else if(f>mr)if(!(Math.abs(d*s-u*c)>mr)||!o)this._append`L${this._x1=t},${this._y1=r}`;else{let m=n-i,p=a-l,h=s*s+u*u,x=m*m+p*p,g=Math.sqrt(h),A=Math.sqrt(f),_=o*Math.tan((Bi-Math.acos((h+f-x)/(2*g*A)))/2),y=_/A,w=_/g;Math.abs(y-1)>mr&&this._append`L${t+y*c},${r+y*d}`,this._append`A${o},${o},0,0,${+(d*m>c*p)},${this._x1=t+w*s},${this._y1=r+w*u}`}}arc(t,r,n,a,o,i){if(t=+t,r=+r,n=+n,i=!!i,n<0)throw new Error(`negative radius: ${n}`);let l=n*Math.cos(a),s=n*Math.sin(a),u=t+l,c=r+s,d=1^i,f=i?a-o:o-a;this._x1===null?this._append`M${u},${c}`:(Math.abs(this._x1-u)>mr||Math.abs(this._y1-c)>mr)&&this._append`L${u},${c}`,n&&(f<0&&(f=f%Pi+Pi),f>yh?this._append`A${n},${n},0,1,${d},${t-l},${r-s}A${n},${n},0,1,${d},${this._x1=u},${this._y1=c}`:f>mr&&this._append`A${n},${n},0,${+(f>=Bi)},${d},${this._x1=t+n*Math.cos(o)},${this._y1=r+n*Math.sin(o)}`)}rect(t,r,n,a){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+r}h${n=+n}v${+a}h${-n}Z`}toString(){return this._}};function Nt(){return new pr}Nt.prototype=pr.prototype;var se=e=>typeof e=="function"?e:()=>e;var za=()=>{let e=null,t=u=>u.date,r=u=>u.open,n=u=>u.high,a=u=>u.low,o=u=>u.close,i="vertical",l=se(3),s=function(u){let c=e||Nt();return u.forEach(function(d,f){let m=t(d,f),p=r(d,f),h=n(d,f),x=a(d,f),g=o(d,f),A=l(d,f)/2;i==="vertical"?(c.moveTo(m,x),c.lineTo(m,h),c.moveTo(m,p),c.lineTo(m-A,p),c.moveTo(m,g),c.lineTo(m+A,g)):(c.moveTo(x,m),c.lineTo(h,m),c.moveTo(p,m),c.lineTo(p,m+A),c.moveTo(g,m),c.lineTo(g,m-A))}),e?null:c.toString()};return s.context=(...u)=>u.length?(e=u[0],s):e,s.x=(...u)=>u.length?(t=se(u[0]),s):t,s.open=(...u)=>u.length?(r=se(u[0]),s):r,s.high=(...u)=>u.length?(n=se(u[0]),s):n,s.low=(...u)=>u.length?(a=se(u[0]),s):a,s.close=(...u)=>u.length?(o=se(u[0]),s):o,s.width=(...u)=>u.length?(l=se(u[0]),s):l,s.orient=(...u)=>u.length?(i=u[0],s):i,s};var zt=()=>{let e=null,t=s=>s.x,r=s=>s.y,n="center",a="center",o=s=>s.height,i=se(3),l=function(s,u){let c=e||Nt();return s.forEach(function(d,f){let m=t.call(this,d,u||f),p=r.call(this,d,u||f),h=o.call(this,d,u||f),x=i.call(this,d,u||f),g;switch(n){case"left":g=x;break;case"right":g=0;break;case"center":g=x/2;break;default:throw new Error("Invalid horizontal alignment "+n)}let A;switch(a){case"bottom":A=-h;break;case"top":A=0;break;case"center":A=h/2;break;default:throw new Error("Invalid vertical alignment "+a)}c.rect(m-g,p-A,x,h)},this),e?null:c.toString()};return l.context=(...s)=>s.length?(e=s[0],l):e,l.x=(...s)=>s.length?(t=se(s[0]),l):t,l.y=(...s)=>s.length?(r=se(s[0]),l):r,l.width=(...s)=>s.length?(i=se(s[0]),l):i,l.horizontalAlign=(...s)=>s.length?(n=s[0],l):n,l.height=(...s)=>s.length?(o=se(s[0]),l):o,l.verticalAlign=(...s)=>s.length?(a=s[0],l):a,l};var Ba=()=>{let e=null,t=s=>s.date,r=s=>s.open,n=s=>s.high,a=s=>s.low,o=s=>s.close,i=se(3),l=function(s){let u=e||Nt();return s.forEach(function(c,d){let f=t(c,d),m=r(c,d),p=n(c,d),h=a(c,d),x=o(c,d),g=i(c,d),A=g/2;u.rect(f-A,m,g,x-m),u.moveTo(f,Math.min(x,m)),u.lineTo(f,p),u.moveTo(f,Math.max(x,m)),u.lineTo(f,h)}),e?null:u.toString()};return l.context=(...s)=>s.length?(e=s[0],l):e,l.x=(...s)=>s.length?(t=se(s[0]),l):t,l.open=(...s)=>s.length?(r=se(s[0]),l):r,l.high=(...s)=>s.length?(n=se(s[0]),l):n,l.low=(...s)=>s.length?(a=se(s[0]),l):a,l.close=(...s)=>s.length?(o=se(s[0]),l):o,l.width=(...s)=>s.length?(i=se(s[0]),l):i,l};var Pa="http://www.w3.org/1999/xhtml",Ii={svg:"http://www.w3.org/2000/svg",xhtml:Pa,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function _t(e){var t=e+="",r=t.indexOf(":");return r>=0&&(t=e.slice(0,r))!=="xmlns"&&(e=e.slice(r+1)),Ii.hasOwnProperty(t)?{space:Ii[t],local:e}:e}function bh(e){return function(){var t=this.ownerDocument,r=this.namespaceURI;return r===Pa&&t.documentElement.namespaceURI===Pa?t.createElement(e):t.createElementNS(r,e)}}function wh(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function Ia(e){var t=_t(e);return(t.local?wh:bh)(t)}function Sh(){}function hr(e){return e==null?Sh:function(){return this.querySelector(e)}}function pu(e){typeof e!="function"&&(e=hr(e));for(var t=this._groups,r=t.length,n=new Array(r),a=0;a<r;++a)for(var o=t[a],i=o.length,l=n[a]=new Array(i),s,u,c=0;c<i;++c)(s=o[c])&&(u=e.call(s,s.__data__,c,o))&&("__data__"in s&&(u.__data__=s.__data__),l[c]=u);return new ae(n,this._parents)}function En(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function _h(){return[]}function Nn(e){return e==null?_h:function(){return this.querySelectorAll(e)}}function Ah(e){return function(){return En(e.apply(this,arguments))}}function hu(e){typeof e=="function"?e=Ah(e):e=Nn(e);for(var t=this._groups,r=t.length,n=[],a=[],o=0;o<r;++o)for(var i=t[o],l=i.length,s,u=0;u<l;++u)(s=i[u])&&(n.push(e.call(s,s.__data__,u,i)),a.push(s));return new ae(n,a)}function zn(e){return function(){return this.matches(e)}}function Ra(e){return function(t){return t.matches(e)}}var kh=Array.prototype.find;function Vh(e){return function(){return kh.call(this.children,e)}}function Ch(){return this.firstElementChild}function gu(e){return this.select(e==null?Ch:Vh(typeof e=="function"?e:Ra(e)))}var Mh=Array.prototype.filter;function Th(){return Array.from(this.children)}function Dh(e){return function(){return Mh.call(this.children,e)}}function xu(e){return this.selectAll(e==null?Th:Dh(typeof e=="function"?e:Ra(e)))}function yu(e){typeof e!="function"&&(e=zn(e));for(var t=this._groups,r=t.length,n=new Array(r),a=0;a<r;++a)for(var o=t[a],i=o.length,l=n[a]=[],s,u=0;u<i;++u)(s=o[u])&&e.call(s,s.__data__,u,o)&&l.push(s);return new ae(n,this._parents)}function Oa(e){return new Array(e.length)}function vu(){return new ae(this._enter||this._groups.map(Oa),this._parents)}function Bn(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}Bn.prototype={constructor:Bn,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 bu(e){return function(){return e}}function Eh(e,t,r,n,a,o){for(var i=0,l,s=t.length,u=o.length;i<u;++i)(l=t[i])?(l.__data__=o[i],n[i]=l):r[i]=new Bn(e,o[i]);for(;i<s;++i)(l=t[i])&&(a[i]=l)}function Nh(e,t,r,n,a,o,i){var l,s,u=new Map,c=t.length,d=o.length,f=new Array(c),m;for(l=0;l<c;++l)(s=t[l])&&(f[l]=m=i.call(s,s.__data__,l,t)+"",u.has(m)?a[l]=s:u.set(m,s));for(l=0;l<d;++l)m=i.call(e,o[l],l,o)+"",(s=u.get(m))?(n[l]=s,s.__data__=o[l],u.delete(m)):r[l]=new Bn(e,o[l]);for(l=0;l<c;++l)(s=t[l])&&u.get(f[l])===s&&(a[l]=s)}function zh(e){return e.__data__}function wu(e,t){if(!arguments.length)return Array.from(this,zh);var r=t?Nh:Eh,n=this._parents,a=this._groups;typeof e!="function"&&(e=bu(e));for(var o=a.length,i=new Array(o),l=new Array(o),s=new Array(o),u=0;u<o;++u){var c=n[u],d=a[u],f=d.length,m=Bh(e.call(c,c&&c.__data__,u,n)),p=m.length,h=l[u]=new Array(p),x=i[u]=new Array(p),g=s[u]=new Array(f);r(c,d,h,x,g,m,t);for(var A=0,_=0,y,w;A<p;++A)if(y=h[A]){for(A>=_&&(_=A+1);!(w=x[_])&&++_<p;);y._next=w||null}}return i=new ae(i,n),i._enter=l,i._exit=s,i}function Bh(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function Su(){return new ae(this._exit||this._groups.map(Oa),this._parents)}function _u(e,t,r){var n=this.enter(),a=this,o=this.exit();return typeof e=="function"?(n=e(n),n&&(n=n.selection())):n=n.append(e+""),t!=null&&(a=t(a),a&&(a=a.selection())),r==null?o.remove():r(o),n&&a?n.merge(a).order():a}function Au(e){for(var t=e.selection?e.selection():e,r=this._groups,n=t._groups,a=r.length,o=n.length,i=Math.min(a,o),l=new Array(a),s=0;s<i;++s)for(var u=r[s],c=n[s],d=u.length,f=l[s]=new Array(d),m,p=0;p<d;++p)(m=u[p]||c[p])&&(f[p]=m);for(;s<a;++s)l[s]=r[s];return new ae(l,this._parents)}function ku(){for(var e=this._groups,t=-1,r=e.length;++t<r;)for(var n=e[t],a=n.length-1,o=n[a],i;--a>=0;)(i=n[a])&&(o&&i.compareDocumentPosition(o)^4&&o.parentNode.insertBefore(i,o),o=i);return this}function Vu(e){e||(e=Ph);function t(d,f){return d&&f?e(d.__data__,f.__data__):!d-!f}for(var r=this._groups,n=r.length,a=new Array(n),o=0;o<n;++o){for(var i=r[o],l=i.length,s=a[o]=new Array(l),u,c=0;c<l;++c)(u=i[c])&&(s[c]=u);s.sort(t)}return new ae(a,this._parents).order()}function Ph(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}function Cu(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function Mu(){return Array.from(this)}function Tu(){for(var e=this._groups,t=0,r=e.length;t<r;++t)for(var n=e[t],a=0,o=n.length;a<o;++a){var i=n[a];if(i)return i}return null}function Du(){let e=0;for(let t of this)++e;return e}function Eu(){return!this.node()}function Nu(e){for(var t=this._groups,r=0,n=t.length;r<n;++r)for(var a=t[r],o=0,i=a.length,l;o<i;++o)(l=a[o])&&e.call(l,l.__data__,o,a);return this}function Ih(e){return function(){this.removeAttribute(e)}}function Rh(e){return function(){this.removeAttributeNS(e.space,e.local)}}function Oh(e,t){return function(){this.setAttribute(e,t)}}function Lh(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function $h(e,t){return function(){var r=t.apply(this,arguments);r==null?this.removeAttribute(e):this.setAttribute(e,r)}}function Fh(e,t){return function(){var r=t.apply(this,arguments);r==null?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,r)}}function zu(e,t){var r=_t(e);if(arguments.length<2){var n=this.node();return r.local?n.getAttributeNS(r.space,r.local):n.getAttribute(r)}return this.each((t==null?r.local?Rh:Ih:typeof t=="function"?r.local?Fh:$h:r.local?Lh:Oh)(r,t))}function La(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function Yh(e){return function(){this.style.removeProperty(e)}}function Wh(e,t,r){return function(){this.style.setProperty(e,t,r)}}function Hh(e,t,r){return function(){var n=t.apply(this,arguments);n==null?this.style.removeProperty(e):this.style.setProperty(e,n,r)}}function Bu(e,t,r){return arguments.length>1?this.each((t==null?Yh:typeof t=="function"?Hh:Wh)(e,t,r??"")):Bt(this.node(),e)}function Bt(e,t){return e.style.getPropertyValue(t)||La(e).getComputedStyle(e,null).getPropertyValue(t)}function qh(e){return function(){delete this[e]}}function Uh(e,t){return function(){this[e]=t}}function Gh(e,t){return function(){var r=t.apply(this,arguments);r==null?delete this[e]:this[e]=r}}function Pu(e,t){return arguments.length>1?this.each((t==null?qh:typeof t=="function"?Gh:Uh)(e,t)):this.node()[e]}function Iu(e){return e.trim().split(/^|\s+/)}function Ri(e){return e.classList||new Ru(e)}function Ru(e){this._node=e,this._names=Iu(e.getAttribute("class")||"")}Ru.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 Ou(e,t){for(var r=Ri(e),n=-1,a=t.length;++n<a;)r.add(t[n])}function Lu(e,t){for(var r=Ri(e),n=-1,a=t.length;++n<a;)r.remove(t[n])}function Xh(e){return function(){Ou(this,e)}}function jh(e){return function(){Lu(this,e)}}function Qh(e,t){return function(){(t.apply(this,arguments)?Ou:Lu)(this,e)}}function $u(e,t){var r=Iu(e+"");if(arguments.length<2){for(var n=Ri(this.node()),a=-1,o=r.length;++a<o;)if(!n.contains(r[a]))return!1;return!0}return this.each((typeof t=="function"?Qh:t?Xh:jh)(r,t))}function Jh(){this.textContent=""}function Kh(e){return function(){this.textContent=e}}function Zh(e){return function(){var t=e.apply(this,arguments);this.textContent=t??""}}function Fu(e){return arguments.length?this.each(e==null?Jh:(typeof e=="function"?Zh:Kh)(e)):this.node().textContent}function eg(){this.innerHTML=""}function tg(e){return function(){this.innerHTML=e}}function rg(e){return function(){var t=e.apply(this,arguments);this.innerHTML=t??""}}function Yu(e){return arguments.length?this.each(e==null?eg:(typeof e=="function"?rg:tg)(e)):this.node().innerHTML}function ng(){this.nextSibling&&this.parentNode.appendChild(this)}function Wu(){return this.each(ng)}function ag(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function Hu(){return this.each(ag)}function qu(e){var t=typeof e=="function"?e:Ia(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})}function og(){return null}function Uu(e,t){var r=typeof e=="function"?e:Ia(e),n=t==null?og:typeof t=="function"?t:hr(t);return this.select(function(){return this.insertBefore(r.apply(this,arguments),n.apply(this,arguments)||null)})}function ig(){var e=this.parentNode;e&&e.removeChild(this)}function Gu(){return this.each(ig)}function lg(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function sg(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function Xu(e){return this.select(e?sg:lg)}function ju(e){return arguments.length?this.property("__data__",e):this.node().__data__}function ug(e){return function(t){e.call(this,t,this.__data__)}}function cg(e){return e.trim().split(/^|\s+/).map(function(t){var r="",n=t.indexOf(".");return n>=0&&(r=t.slice(n+1),t=t.slice(0,n)),{type:t,name:r}})}function fg(e){return function(){var t=this.__on;if(t){for(var r=0,n=-1,a=t.length,o;r<a;++r)o=t[r],(!e.type||o.type===e.type)&&o.name===e.name?this.removeEventListener(o.type,o.listener,o.options):t[++n]=o;++n?t.length=n:delete this.__on}}}function dg(e,t,r){return function(){var n=this.__on,a,o=ug(t);if(n){for(var i=0,l=n.length;i<l;++i)if((a=n[i]).type===e.type&&a.name===e.name){this.removeEventListener(a.type,a.listener,a.options),this.addEventListener(a.type,a.listener=o,a.options=r),a.value=t;return}}this.addEventListener(e.type,o,r),a={type:e.type,name:e.name,value:t,listener:o,options:r},n?n.push(a):this.__on=[a]}}function Qu(e,t,r){var n=cg(e+""),a,o=n.length,i;if(arguments.length<2){var l=this.node().__on;if(l){for(var s=0,u=l.length,c;s<u;++s)for(a=0,c=l[s];a<o;++a)if((i=n[a]).type===c.type&&i.name===c.name)return c.value}return}for(l=t?dg:fg,a=0;a<o;++a)this.each(l(n[a],t,r));return this}function Ju(e,t,r){var n=La(e),a=n.CustomEvent;typeof a=="function"?a=new a(t,r):(a=n.document.createEvent("Event"),r?(a.initEvent(t,r.bubbles,r.cancelable),a.detail=r.detail):a.initEvent(t,!1,!1)),e.dispatchEvent(a)}function mg(e,t){return function(){return Ju(this,e,t)}}function pg(e,t){return function(){return Ju(this,e,t.apply(this,arguments))}}function Ku(e,t){return this.each((typeof t=="function"?pg:mg)(e,t))}function*Zu(){for(var e=this._groups,t=0,r=e.length;t<r;++t)for(var n=e[t],a=0,o=n.length,i;a<o;++a)(i=n[a])&&(yield i)}var Pn=[null];function ae(e,t){this._groups=e,this._parents=t}function ec(){return new ae([[document.documentElement]],Pn)}function hg(){return this}ae.prototype=ec.prototype={constructor:ae,select:pu,selectAll:hu,selectChild:gu,selectChildren:xu,filter:yu,data:wu,enter:vu,exit:Su,join:_u,merge:Au,selection:hg,order:ku,sort:Vu,call:Cu,nodes:Mu,node:Tu,size:Du,empty:Eu,each:Nu,attr:zu,style:Bu,property:Pu,classed:$u,text:Fu,html:Yu,raise:Wu,lower:Hu,append:qu,insert:Uu,remove:Gu,clone:Xu,datum:ju,on:Qu,dispatch:Ku,[Symbol.iterator]:Zu};var st=ec;function D(e){return typeof e=="string"?new ae([[document.querySelector(e)]],[document.documentElement]):new ae([[e]],Pn)}function tc(e){let t;for(;t=e.sourceEvent;)e=t;return e}function Re(e,t){if(e=tc(e),t===void 0&&(t=e.currentTarget),t){var r=t.ownerSVGElement||t;if(r.createSVGPoint){var n=r.createSVGPoint();return n.x=e.clientX,n.y=e.clientY,n=n.matrixTransform(t.getScreenCTM().inverse()),[n.x,n.y]}if(t.getBoundingClientRect){var a=t.getBoundingClientRect();return[e.clientX-a.left-t.clientLeft,e.clientY-a.top-t.clientTop]}}return[e.pageX,e.pageY]}function Oi(e){return typeof e=="string"?new ae([document.querySelectorAll(e)],[document.documentElement]):new ae([En(e)],Pn)}var ne=e=>e.selection()!==e,X=(e,t)=>{e=e||"g";let r=(o,i)=>i,n=null,a=function(o,i){i=i||(p=>p);let l=o.selection(),s=ne(o)?o:null,c=l.selectChildren(t==null?e:`${e}.${t}`).data(i,r),d=c.enter().append(e).attr("class",t),f=c.exit();c=c.merge(d);let m=s||n;return m&&(c=c.transition(m).style("opacity",1),d.style("opacity",1e-6),f=f.transition(m).style("opacity",1e-6)),f.remove(),c.enter=()=>d,c.exit=()=>f,c};return a.element=(...o)=>o.length?(e=o[0],a):e,a.className=(...o)=>o.length?(t=o[0],a):t,a.key=(...o)=>o.length?(r=o[0],a):r,a.transition=(...o)=>o.length?(n=o[0],a):n,a};function Z(e){return function(){return e}}var Li=Math.abs,be=Math.atan2,ut=Math.cos,ac=Math.max,$a=Math.min,Ve=Math.sin,oe=Math.sqrt,Me=1e-12,ct=Math.PI,In=ct/2,Pt=2*ct;function oc(e){return e>1?0:e<-1?ct:Math.acos(e)}function $i(e){return e>=1?In:e<=-1?-In:Math.asin(e)}function It(e){let t=3;return e.digits=function(r){if(!arguments.length)return t;if(r==null)t=null;else{let n=Math.floor(r);if(!(n>=0))throw new RangeError(`invalid digits: ${r}`);t=n}return e},()=>new pr(t)}function vg(e){return e.innerRadius}function bg(e){return e.outerRadius}function wg(e){return e.startAngle}function Sg(e){return e.endAngle}function _g(e){return e&&e.padAngle}function Ag(e,t,r,n,a,o,i,l){var s=r-e,u=n-t,c=i-a,d=l-o,f=d*s-c*u;if(!(f*f<Me))return f=(c*(t-o)-d*(e-a))/f,[e+f*s,t+f*u]}function Fa(e,t,r,n,a,o,i){var l=e-r,s=t-n,u=(i?o:-o)/oe(l*l+s*s),c=u*s,d=-u*l,f=e+c,m=t+d,p=r+c,h=n+d,x=(f+p)/2,g=(m+h)/2,A=p-f,_=h-m,y=A*A+_*_,w=a-o,v=f*h-p*m,V=(_<0?-1:1)*oe(ac(0,w*w*y-v*v)),M=(v*_-A*V)/y,F=(-v*A-_*V)/y,H=(v*_+A*V)/y,z=(-v*A+_*V)/y,G=M-x,I=F-g,b=H-x,N=z-g;return G*G+I*I>b*b+N*N&&(M=H,F=z),{cx:M,cy:F,x01:-c,y01:-d,x11:M*(a/w-1),y11:F*(a/w-1)}}function Fi(){var e=vg,t=bg,r=Z(0),n=null,a=wg,o=Sg,i=_g,l=null,s=It(u);function u(){var c,d,f=+e.apply(this,arguments),m=+t.apply(this,arguments),p=a.apply(this,arguments)-In,h=o.apply(this,arguments)-In,x=Li(h-p),g=h>p;if(l||(l=c=s()),m<f&&(d=m,m=f,f=d),!(m>Me))l.moveTo(0,0);else if(x>Pt-Me)l.moveTo(m*ut(p),m*Ve(p)),l.arc(0,0,m,p,h,!g),f>Me&&(l.moveTo(f*ut(h),f*Ve(h)),l.arc(0,0,f,h,p,g));else{var A=p,_=h,y=p,w=h,v=x,V=x,M=i.apply(this,arguments)/2,F=M>Me&&(n?+n.apply(this,arguments):oe(f*f+m*m)),H=$a(Li(m-f)/2,+r.apply(this,arguments)),z=H,G=H,I,b;if(F>Me){var N=$i(F/f*Ve(M)),k=$i(F/m*Ve(M));(v-=N*2)>Me?(N*=g?1:-1,y+=N,w-=N):(v=0,y=w=(p+h)/2),(V-=k*2)>Me?(k*=g?1:-1,A+=k,_-=k):(V=0,A=_=(p+h)/2)}var P=m*ut(A),T=m*Ve(A),L=f*ut(w),E=f*Ve(w);if(H>Me){var $=m*ut(_),q=m*Ve(_),S=f*ut(y),C=f*Ve(y),O;if(x<ct)if(O=Ag(P,T,S,C,$,q,L,E)){var U=P-O[0],j=T-O[1],le=$-O[0],Y=q-O[1],Q=1/Ve(oc((U*le+j*Y)/(oe(U*U+j*j)*oe(le*le+Y*Y)))/2),K=oe(O[0]*O[0]+O[1]*O[1]);z=$a(H,(f-K)/(Q-1)),G=$a(H,(m-K)/(Q+1))}else z=G=0}V>Me?G>Me?(I=Fa(S,C,P,T,m,G,g),b=Fa($,q,L,E,m,G,g),l.moveTo(I.cx+I.x01,I.cy+I.y01),G<H?l.arc(I.cx,I.cy,G,be(I.y01,I.x01),be(b.y01,b.x01),!g):(l.arc(I.cx,I.cy,G,be(I.y01,I.x01),be(I.y11,I.x11),!g),l.arc(0,0,m,be(I.cy+I.y11,I.cx+I.x11),be(b.cy+b.y11,b.cx+b.x11),!g),l.arc(b.cx,b.cy,G,be(b.y11,b.x11),be(b.y01,b.x01),!g))):(l.moveTo(P,T),l.arc(0,0,m,A,_,!g)):l.moveTo(P,T),!(f>Me)||!(v>Me)?l.lineTo(L,E):z>Me?(I=Fa(L,E,$,q,f,-z,g),b=Fa(P,T,S,C,f,-z,g),l.lineTo(I.cx+I.x01,I.cy+I.y01),z<H?l.arc(I.cx,I.cy,z,be(I.y01,I.x01),be(b.y01,b.x01),!g):(l.arc(I.cx,I.cy,z,be(I.y01,I.x01),be(I.y11,I.x11),!g),l.arc(0,0,f,be(I.cy+I.y11,I.cx+I.x11),be(b.cy+b.y11,b.cx+b.x11),g),l.arc(b.cx,b.cy,z,be(b.y11,b.x11),be(b.y01,b.x01),!g))):l.arc(0,0,f,w,y,g)}if(l.closePath(),c)return l=null,c+""||null}return u.centroid=function(){var c=(+e.apply(this,arguments)+ +t.apply(this,arguments))/2,d=(+a.apply(this,arguments)+ +o.apply(this,arguments))/2-ct/2;return[ut(d)*c,Ve(d)*c]},u.innerRadius=function(c){return arguments.length?(e=typeof c=="function"?c:Z(+c),u):e},u.outerRadius=function(c){return arguments.length?(t=typeof c=="function"?c:Z(+c),u):t},u.cornerRadius=function(c){return arguments.length?(r=typeof c=="function"?c:Z(+c),u):r},u.padRadius=function(c){return arguments.length?(n=c==null?null:typeof c=="function"?c:Z(+c),u):n},u.startAngle=function(c){return arguments.length?(a=typeof c=="function"?c:Z(+c),u):a},u.endAngle=function(c){return arguments.length?(o=typeof c=="function"?c:Z(+c),u):o},u.padAngle=function(c){return arguments.length?(i=typeof c=="function"?c:Z(+c),u):i},u.context=function(c){return arguments.length?(l=c??null,u):l},u}var kM=Array.prototype.slice;function Ya(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function ic(e){this._context=e}ic.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 Wa(e){return new ic(e)}function Ha(e){return e[0]}function qa(e){return e[1]}function Ue(e,t){var r=Z(!0),n=null,a=Wa,o=null,i=It(l);e=typeof e=="function"?e:e===void 0?Ha:Z(e),t=typeof t=="function"?t:t===void 0?qa:Z(t);function l(s){var u,c=(s=Ya(s)).length,d,f=!1,m;for(n==null&&(o=a(m=i())),u=0;u<=c;++u)!(u<c&&r(d=s[u],u,s))===f&&((f=!f)?o.lineStart():o.lineEnd()),f&&o.point(+e(d,u,s),+t(d,u,s));if(m)return o=null,m+""||null}return l.x=function(s){return arguments.length?(e=typeof s=="function"?s:Z(+s),l):e},l.y=function(s){return arguments.length?(t=typeof s=="function"?s:Z(+s),l):t},l.defined=function(s){return arguments.length?(r=typeof s=="function"?s:Z(!!s),l):r},l.curve=function(s){return arguments.length?(a=s,n!=null&&(o=a(n)),l):a},l.context=function(s){return arguments.length?(s==null?n=o=null:o=a(n=s),l):n},l}function Rn(e,t,r){var n=null,a=Z(!0),o=null,i=Wa,l=null,s=It(u);e=typeof e=="function"?e:e===void 0?Ha:Z(+e),t=typeof t=="function"?t:t===void 0?Z(0):Z(+t),r=typeof r=="function"?r:r===void 0?qa:Z(+r);function u(d){var f,m,p,h=(d=Ya(d)).length,x,g=!1,A,_=new Array(h),y=new Array(h);for(o==null&&(l=i(A=s())),f=0;f<=h;++f){if(!(f<h&&a(x=d[f],f,d))===g)if(g=!g)m=f,l.areaStart(),l.lineStart();else{for(l.lineEnd(),l.lineStart(),p=f-1;p>=m;--p)l.point(_[p],y[p]);l.lineEnd(),l.areaEnd()}g&&(_[f]=+e(x,f,d),y[f]=+t(x,f,d),l.point(n?+n(x,f,d):_[f],r?+r(x,f,d):y[f]))}if(A)return l=null,A+""||null}function c(){return Ue().defined(a).curve(i).context(o)}return u.x=function(d){return arguments.length?(e=typeof d=="function"?d:Z(+d),n=null,u):e},u.x0=function(d){return arguments.length?(e=typeof d=="function"?d:Z(+d),u):e},u.x1=function(d){return arguments.length?(n=d==null?null:typeof d=="function"?d:Z(+d),u):n},u.y=function(d){return arguments.length?(t=typeof d=="function"?d:Z(+d),r=null,u):t},u.y0=function(d){return arguments.length?(t=typeof d=="function"?d:Z(+d),u):t},u.y1=function(d){return arguments.length?(r=d==null?null:typeof d=="function"?d:Z(+d),u):r},u.lineX0=u.lineY0=function(){return c().x(e).y(t)},u.lineY1=function(){return c().x(e).y(r)},u.lineX1=function(){return c().x(n).y(t)},u.defined=function(d){return arguments.length?(a=typeof d=="function"?d:Z(!!d),u):a},u.curve=function(d){return arguments.length?(i=d,o!=null&&(l=i(o)),u):i},u.context=function(d){return arguments.length?(d==null?o=l=null:l=i(o=d),u):o},u}var Rt={draw(e,t){let r=oe(t/ct);e.moveTo(r,0),e.arc(0,0,r,0,Pt)}};var Ua={draw(e,t){let r=oe(t/5)/2;e.moveTo(-3*r,-r),e.lineTo(-r,-r),e.lineTo(-r,-3*r),e.lineTo(r,-3*r),e.lineTo(r,-r),e.lineTo(3*r,-r),e.lineTo(3*r,r),e.lineTo(r,r),e.lineTo(r,3*r),e.lineTo(-r,3*r),e.lineTo(-r,r),e.lineTo(-3*r,r),e.closePath()}};var lc=oe(1/3),kg=lc*2,Ga={draw(e,t){let r=oe(t/kg),n=r*lc;e.moveTo(0,-r),e.lineTo(n,0),e.lineTo(0,r),e.lineTo(-n,0),e.closePath()}};var Xa={draw(e,t){let r=oe(t),n=-r/2;e.rect(n,n,r,r)}};var Vg=.8908130915292852,sc=Ve(ct/10)/Ve(7*ct/10),Cg=Ve(Pt/10)*sc,Mg=-ut(Pt/10)*sc,ja={draw(e,t){let r=oe(t*Vg),n=Cg*r,a=Mg*r;e.moveTo(0,-r),e.lineTo(n,a);for(let o=1;o<5;++o){let i=Pt*o/5,l=ut(i),s=Ve(i);e.lineTo(s*r,-l*r),e.lineTo(l*n-s*a,s*n+l*a)}e.closePath()}};var Yi=oe(3),Qa={draw(e,t){let r=-oe(t/(Yi*3));e.moveTo(0,r*2),e.lineTo(-Yi*r,-r),e.lineTo(Yi*r,-r),e.closePath()}};var Je=-.5,Ke=oe(3)/2,Wi=1/oe(12),Tg=(Wi/2+1)*3,Ja={draw(e,t){let r=oe(t/Tg),n=r/2,a=r*Wi,o=n,i=r*Wi+r,l=-o,s=i;e.moveTo(n,a),e.lineTo(o,i),e.lineTo(l,s),e.lineTo(Je*n-Ke*a,Ke*n+Je*a),e.lineTo(Je*o-Ke*i,Ke*o+Je*i),e.lineTo(Je*l-Ke*s,Ke*l+Je*s),e.lineTo(Je*n+Ke*a,Je*a-Ke*n),e.lineTo(Je*o+Ke*i,Je*i-Ke*o),e.lineTo(Je*l+Ke*s,Je*s-Ke*l),e.closePath()}};function Ot(e,t){let r=null,n=It(a);e=typeof e=="function"?e:Z(e||Rt),t=typeof t=="function"?t:Z(t===void 0?64:+t);function a(){let o;if(r||(r=o=n()),e.apply(this,arguments).draw(r,+t.apply(this,arguments)),o)return r=null,o+""||null}return a.type=function(o){return arguments.length?(e=typeof o=="function"?o:Z(o),a):e},a.size=function(o){return arguments.length?(t=typeof o=="function"?o:Z(+o),a):t},a.context=function(o){return arguments.length?(r=o??null,a):r},a}var pe=e=>typeof e=="function"?e:()=>e;function At(){let e=arguments;return function(t,r){for(let n=0,a=e.length;n<a;n++)if(e[n](t,r)==null)return!1;return!0}}var Lt=(e,t)=>{switch(e){case"left":return t/2;case"right":return-t/2;default:return 0}};var Ze=e=>{let t=Object.assign({},e),r=()=>{};return Object.keys(t).forEach(n=>{r[n]=(...a)=>a.length?(t[n]=a[0],r):t[n]}),r};var he=()=>{let e=()=>0,t=l=>l.x,r=l=>l.y,n="center",a=()=>5,o="vertical",i=Ze({decorate:()=>{},defined:(l,s)=>At(e,t,r)(l,s),xScale:fe(),yScale:fe()});return i.values=(l,s)=>{let u=a(l,s),c=Lt(n,u),d=i.xScale(),f=i.yScale();if(o==="vertical"){let m=f(r(l,s),s),p=f(e(l,s),s),h=d(t(l,s),s)+c;return{d:l,x:h,y:m,y0:p,width:u,height:m-p,origin:[h,m],baseOrigin:[h,p],transposedX:h,transposedY:m}}else{let m=d(r(l,s),s),p=d(e(l,s),s),h=f(t(l,s),s)+c;return{d:l,x:h,y:m,y0:p,width:u,height:m-p,origin:[m,h],baseOrigin:[p,h],transposedX:m,transposedY:h}}},i.xValues=()=>o==="vertical"?[t]:[e,r],i.yValues=()=>o!=="vertical"?[t]:[e,r],i.baseValue=(...l)=>l.length?(e=pe(l[0]),i):e,i.crossValue=(...l)=>l.length?(t=pe(l[0]),i):t,i.mainValue=(...l)=>l.length?(r=pe(l[0]),i):r,i.bandwidth=(...l)=>l.length?(a=pe(l[0]),i):a,i.align=(...l)=>l.length?(n=l[0],i):n,i.orient=(...l)=>l.length?(o=l[0],i):o,i};var Eg="#c60",Ng="#6c0",zg="#000",Bg="#ddd",Pg="#999",ie={red:Eg,green:Ng,black:zg,gray:Bg,darkGray:Pg};var gr=()=>{let e=he(),t=Ue().x((a,o)=>e.values(a,o).transposedX).y((a,o)=>e.values(a,o).transposedY),r=X("path","line"),n=a=>{ne(a)&&r.transition(a),t.defined(e.defined()),a.each((o,i,l)=>{let s=r(D(l[i]),[o]);s.enter().attr("fill","none").attr("stroke",ie.black),s.attr("d",t),e.decorate()(s,o,i)})};return B(n,e,J("baseValue","bandwidth","align")),W(n,r,"key"),W(n,t,"curve"),n};var Hr=()=>{let e=he(),t=Ue().x((n,a)=>e.values(n,a).transposedX).y((n,a)=>e.values(n,a).transposedY),r=n=>{let a=t.context();a.beginPath(),a.strokeStyle=ie.black,a.fillStyle="transparent",e.decorate()(a,n),t.defined(e.defined())(n),a.fill(),a.stroke(),a.closePath()};return B(r,e,J("baseValue","bandwidth","align")),W(r,t,"curve","context"),r};var HD=me().copy.toString(),qD=Sn().copy.toString(),UD=_n().copy.toString(),GD=Wr().copy.toString(),XD=fe(),jD=Date.now();var Ur=()=>{let e=Ot(),t=he(),r=X("g","point"),n=o=>"translate("+o[0]+", "+o[1]+")",a=o=>{ne(o)&&r.transition(o),o.each((i,l,s)=>{let u=i.filter(t.defined()),c=r(D(s[l]),u);c.enter().attr("transform",(d,f)=>n(t.values(d,f).origin)).attr("fill",ie.gray).attr("stroke",ie.black).append("path"),c.attr("transform",(d,f)=>n(t.values(d,f).origin)).select("path").attr("d",e),t.decorate()(c,i,l)})};return B(a,t,J("baseValue","bandwidth","align")),W(a,r,"key"),W(a,e,"type","size"),a};var Za=()=>{let e=Ot(),t=he(),r=n=>{let a=n.filter(t.defined()),o=e.context();a.forEach((i,l)=>{o.save();let s=t.values(i,l);o.translate(s.origin[0],s.origin[1]),o.beginPath(),o.strokeStyle=ie.black,o.fillStyle=ie.gray,t.decorate()(o,i,l),e(i,l),o.fill(),o.stroke(),o.closePath(),o.restore()})};return B(r,t,J("baseValue","bandwidth","align")),W(r,e,"size","type","context"),r};var Gr=()=>{let e=zt().x(0).y(0),t=he(),r=X("g","bar"),n=l=>t.orient()==="vertical"?l.height:l.width,a=l=>t.orient()==="vertical"?l.width:l.height,o=l=>"translate("+l[0]+", "+l[1]+")",i=l=>{ne(l)&&r.transition(l),l.each((s,u,c)=>{let d=t.orient();if(d!=="vertical"&&d!=="horizontal")throw new Error("The bar series does not support an orientation of "+d);let f=s.filter(t.defined()),m=f.map(t.values);e.width(0).height(0),t.orient()==="vertical"?(e.verticalAlign("top"),e.horizontalAlign("center")):(e.horizontalAlign("right"),e.verticalAlign("center"));let p=r(D(c[u]),f);p.enter().attr("transform",(h,x)=>o(m[x].baseOrigin)).attr("class","bar "+t.orient()).attr("fill",ie.darkGray).append("path").attr("d",(h,x)=>(a(e)(m[x].width),e([h]))),p.attr("transform",(h,x)=>o(m[x].origin)).select("path").attr("d",(h,x)=>(a(e)(m[x].width),n(e)(-m[x].height),e([h]))),t.decorate()(p,f,u)})};return B(i,t),W(i,r,"key"),i};var qi=()=>{let e=he(),t=Rn(),r=X("path","area"),n=a=>{ne(a)&&r.transition(a),t.defined(e.defined()),a.each((o,i,l)=>{let s=o.map(e.values);t.x((d,f)=>s[f].transposedX).y((d,f)=>s[f].transposedY);let u=e.orient()==="vertical"?"y":"x";t[u+"0"]((d,f)=>s[f].y0),t[u+"1"]((d,f)=>s[f].y);let c=r(D(l[i]),[o]);c.enter().attr("fill",ie.gray),c.attr("d",t),e.decorate()(c,o,i)})};return B(n,e,J("bandwidth","align")),W(n,r,"key"),W(n,t,"curve"),n};var Ui=()=>{let e=he(),t=Rn(),r=n=>{let a=t.context();t.defined(e.defined());let o=n.map(e.values);t.x((l,s)=>o[s].transposedX).y((l,s)=>o[s].transposedY);let i=e.orient()==="vertical"?"y":"x";t[i+"0"]((l,s)=>o[s].y0),t[i+"1"]((l,s)=>o[s].y),a.beginPath(),a.fillStyle=ie.gray,a.strokeStyle="transparent",e.decorate()(a,n),t(n),a.fill(),a.stroke(),a.closePath()};return B(r,e,J("bandwidth","align")),W(r,t,"curve","context"),r};var eo=()=>{let e,t=u=>u.date,r=u=>u.open,n=u=>u.high,a=u=>u.low,o=u=>u.close,i=()=>5,l="center",s=(u,c)=>e.xScale()(t(u,c));return e=Ze({decorate:()=>{},defined:(u,c)=>At(t,r,a,n,o)(u,c),xScale:fe(),yScale:fe()}),e.values=(u,c)=>{let d=o(u,c),f=r(u,c),m=i(u,c),p=Lt(l,m),h="";return d>f?h="up":d<f&&(h="down"),{cross:s(u,c)+p,open:e.yScale()(f),high:e.yScale()(n(u,c)),low:e.yScale()(a(u,c)),close:e.yScale()(d),width:m,direction:h}},e.xValues=()=>[t],e.yValues=()=>[r,n,a,o],e.crossValue=(...u)=>u.length?(t=u[0],e):t,e.openValue=(...u)=>u.length?(r=u[0],e):r,e.highValue=(...u)=>u.length?(n=u[0],e):n,e.lowValue=(...u)=>u.length?(a=u[0],e):a,e.yValue=e.closeValue=(...u)=>u.length?(o=u[0],e):o,e.bandwidth=(...u)=>u.length?(i=pe(u[0]),e):i,e.align=(...u)=>u.length?(l=u[0],e):l,e};var to=e=>{let t=eo(),r=n=>{let a=n.filter(t.defined()),o=e.context();a.forEach((i,l)=>{o.save();let s=t.values(i,l);o.translate(s.cross,s.high),o.beginPath(),e.x(0).open(()=>s.open-s.high).width(s.width).high(0).low(()=>s.low-s.high).close(()=>s.close-s.high)([i]);let u=s.direction==="up"?ie.green:ie.red;o.strokeStyle=u,o.fillStyle=u,t.decorate()(o,i,l),o.fill(),o.stroke(),o.closePath(),o.restore()})};return W(r,e,"context"),B(r,t),r};var Gi=()=>to(Ba());var Xi=()=>to(za());var Ln=()=>{let e=[],t=a=>a,r=(a,o)=>o,n=Ze({decorate:()=>{},xScale:fe(),yScale:fe()});return n.xValues=()=>e.map(a=>a.xValues()).reduce((a,o)=>a.concat(o)),n.yValues=()=>e.map(a=>a.yValues()).reduce((a,o)=>a.concat(o)),n.mapping=(...a)=>a.length?(t=a[0],n):t,n.key=(...a)=>a.length?(r=a[0],n):r,n.series=(...a)=>a.length?(e=a[0],n):e,n};var $e=()=>{let e=Ln(),t=X("g"),r=X("g","multi"),n=a=>{ne(a)&&(r.transition(a),t.transition(a));let o=e.mapping(),i=e.series(),l=e.xScale(),s=e.yScale();a.each((u,c,d)=>{let f=r(D(d[c]),i);f.each((m,p,h)=>{m.xScale(l).yScale(s);let x=o(u,p,i);t(D(h[p]),[x]).call(m)}),f.selection().order(),e.decorate()(f,u,c)})};return B(n,e),W(n,r,"key"),n};var ft=()=>{let e=null,t=Ln(),r=n=>{let a=t.mapping(),o=t.series(),i=t.xScale(),l=t.yScale();o.forEach((s,u)=>{let c=a(n,u,o);s.context(e).xScale(i).yScale(l);let d;s.decorate?(d=s.decorate(),s.decorate((f,m,p)=>{t.decorate()(f,n,u),d(f,m,p)})):t.decorate()(e,n,u),s(c),d&&s.decorate(d)})};return r.context=(...n)=>n.length?(e=n[0],r):e,B(r,t),r};var ji=e=>{let t=()=>50,r="center",n=nt(),a=Ze({decorate:()=>{},xScale:me(),yScale:me()});return a.offsetScaleForDatum=(o,i,l)=>{let s=t(i,l),u=Lt(r,s),c=s/2;return n.domain(Mt(0,o.length)).range([-c+u,c+u])},a.bandwidth=(...o)=>o.length?(t=pe(o[0]),a):t,a.align=(...o)=>o.length?(r=o[0],a):r,B(a,n,pt({paddingInner:"paddingOuter"})),a};var Qi=e=>{let t=ji(e),r=X("g","grouped"),n=a=>{ne(a)&&r.transition(a),a.each((o,i,l)=>{let s=r(D(l[i]),o);s.enter().append("g"),s.select("g").each((u,c,d)=>{let f=D(d[c]),m=e.orient()!=="horizontal",p=(h,x)=>{let g=t.offsetScaleForDatum(o,h,x);return(m?t.xScale():t.yScale())(h)+g(c)+g.bandwidth()/2};m?(e.xScale(p),e.yScale(t.yScale())):(e.yScale(p),e.xScale(t.xScale())),e.bandwidth&&e.bandwidth((h,x)=>t.offsetScaleForDatum(o,h,x).bandwidth()),e.decorate((h,x)=>t.decorate()(h,x,c)),f.call(e)})})};return B(n,e,J("decorate","xScale","yScale")),B(n,t,J("offsetScaleForDatum")),n};var Yt=()=>{let e="vertical",t=gr(),r=$e(),n=a=>a.each((o,i,l)=>{e==="vertical"?r.series(o[0].map(s=>t)).mapping((s,u)=>s.map(c=>c[u])):r.series(o.map(s=>t)).mapping((s,u)=>s[u]),D(l[i]).call(r)});return n.series=(...a)=>a.length?(t=a[0],n):t,n.orient=(...a)=>a.length?(e=a[0],n):e,B(n,r,J("series","mapping")),n};var r0=e=>e.sort(mt).filter((t,r,n)=>n.indexOf(t,r+1)===-1),vr=e=>{let t=.75,r=o=>{if(o.length<=1)return 10;o=r0(o);let i=pa(o).map(s=>Math.abs(s[0]-s[1])),l=ze(i);return t*l},n=(o,i,l)=>{if(o.bandwidth)return o.bandwidth();{let u=(Array.isArray(i)?[].concat(...i):i).filter(e.defined()).map(l()).map(o);return r(u)}},a=o=>{let i=l=>{if(e.xBandwidth&&e.yBandwidth)e.xBandwidth(n(e.xScale(),l,e.xValue)),e.yBandwidth(n(e.yScale(),l,e.yValue));else{let s=e.orient&&e.orient()==="horizontal"?e.yScale():e.xScale();e.bandwidth(n(s,l,e.crossValue))}};o instanceof st?o.each((l,s,u)=>{i(l),e(D(u[s]))}):(i(o),e(o))};return B(a,e),a.widthFraction=(...o)=>o.length?(t=o[0],a):t,a};function $n(e){for(var t=e.length/6|0,r=new Array(t),n=0;n<t;)r[n]="#"+e.slice(n*6,++n*6);return r}function ro(e){var t=e.length;return function(r){return e[Math.max(0,Math.min(t-1,Math.floor(r*t)))]}}var Ji=ro($n("44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725")),n0=ro($n("00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf")),a0=ro($n("00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4")),o0=ro($n("0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921"));var Ki=()=>{let e=l=>l.x,t=l=>l.y,r=l=>l.color,n=()=>5,a=()=>5,o=Ji,i=Ze({decorate:()=>{},defined:(l,s)=>At(e,t,r)(l,s),xScale:fe(),yScale:fe()});return i.pathGenerator=zt().x(0).y(0),i.colorScale=l=>{let s=l.map(r);return me().domain([ze(s),Ce(s)])},i.values=(l,s)=>({x:i.xScale()(e(l,s)),y:i.yScale()(t(l,s)),colorValue:r(l,s),width:a(l,s),height:n(l,s)}),i.xValues=()=>[e],i.yValues=()=>[t],i.xValue=(...l)=>l.length?(e=pe(l[0]),i):e,i.yValue=(...l)=>l.length?(t=pe(l[0]),i):t,i.colorValue=(...l)=>l.length?(r=pe(l[0]),i):r,i.colorInterpolate=(...l)=>l.length?(o=l[0],i):o,i.xBandwidth=(...l)=>l.length?(a=pe(l[0]),i):a,i.yBandwidth=(...l)=>l.length?(n=pe(l[0]),i):n,B(i,i.pathGenerator,pt({horizontalAlign:"xAlign",verticalAlign:"yAlign"})),i};var Zi=()=>{let e=Ki(),t=r=>{let n=r.filter(e.defined()),a=e.colorInterpolate(),o=e.colorScale(n),i=e.pathGenerator.context();n.forEach((l,s)=>{i.save(),i.beginPath();let u=e.values(l,s);i.translate(u.x,u.y),i.fillStyle=a(o(u.colorValue)),i.strokeStyle="transparent",e.decorate()(i,l,s),e.pathGenerator.height(u.height).width(u.width)([l]),i.fill(),i.stroke(),i.closePath(),i.restore()})};return W(t,e.pathGenerator,"context"),B(t,e),t};var Xr=()=>{let e=fe(),t=[10],r=null,n=()=>r??(e.ticks?e.ticks(...t):e.domain());return n.scale=(...a)=>a.length?(e=a[0],n):e,n.ticks=(...a)=>(t=a,n),n.tickArguments=(...a)=>a.length?(t=a[0],n):t,n.tickValues=(...a)=>a.length?(r=a[0],n):r,n};var dc=e=>e,tl=()=>{let e=()=>{},t=()=>{},r=Xr(),n=Xr(),a=X("line","gridline-y").key(dc),o=X("line","gridline-x").key(dc),i=l=>{ne(l)&&(a.transition(l),o.transition(l)),l.each((s,u,c)=>{let d=c[u],f=D(c[u]),m=r.scale(),p=n.scale(),h=d.__x_scale__||m;d.__x_scale__=m.copy();let x=r(),g=a(f,x);g.enter().attr("x1",h).attr("x2",h).attr("y1",p.range()[0]).attr("y2",p.range()[1]).attr("stroke","#bbb"),g.attr("x1",m).attr("x2",m).attr("y1",p.range()[0]).attr("y2",p.range()[1]),g.exit().attr("x1",m).attr("x2",m),e(g,x,u);let A=d.__y_scale__||p;d.__y_scale__=p.copy();let _=n(),y=o(f,_);y.enter().attr("y1",A).attr("y2",A).attr("x1",m.range()[0]).attr("x2",m.range()[1]).attr("stroke","#bbb"),y.attr("y1",p).attr("y2",p).attr("x1",m.range()[0]).attr("x2",m.range()[1]),y.exit().attr("y1",p).attr("y2",p),t(y,_,u)})};return i.yDecorate=(...l)=>l.length?(t=l[0],i):t,i.xDecorate=(...l)=>l.length?(e=l[0],i):e,B(i,a,pt({key:"xKey"})),B(i,o,pt({key:"yKey"})),B(i,r,Be("x")),B(i,n,Be("y")),i};var rl=()=>{let e=()=>{},t=()=>{},r=Xr(),n=Xr(),a=Ue(),o=()=>{let i=a.context(),l=r.scale(),s=n.scale();r().forEach((u,c)=>{i.save(),i.beginPath(),i.strokeStyle="#bbb",i.fillStyle="transparent",e(i,u,c),a.context(i)(s.domain().map(d=>[l(u),s(d)])),i.fill(),i.stroke(),i.closePath(),i.restore()}),n().forEach((u,c)=>{i.save(),i.beginPath(),i.strokeStyle="#bbb",i.fillStyle="transparent",t(i,u,c),a.context(i)(l.domain().map(d=>[l(d),s(u)])),i.fill(),i.stroke(),i.closePath(),i.restore()})};return o.yDecorate=(...i)=>i.length?(t=i[0],o):t,o.xDecorate=(...i)=>i.length?(e=i[0],o):e,B(o,r,Be("x")),B(o,n,Be("y")),W(o,a,"context"),o};var s0=e=>e,mc=(e,t,r,n)=>e[t]?e[t].apply(e,r):n,nl=e=>e.tickValues()??mc(e.scale(),"ticks",e.tickArguments(),e.scale().domain()),al=e=>e.tickFormat()??mc(e.scale(),"tickFormat",e.tickArguments(),s0);var u0=e=>e,no=(e,t,r={})=>{let n=[10],a=null,o=()=>{},i=null,l=6,s=6,u=3,c=Ue(),d=X("g","tick").key(u0),f=X("path","domain"),m=()=>({offset:[0,s+u]}),p=()=>({path:[[0,0],[0,s]]}),h=r.labelOffset||m,x=r.tickPath||p,g=(v,V)=>{let M=0;return v.bandwidth&&(M=v.bandwidth()/2,v.round()&&(M=Math.round(M))),F=>V(v(F)+M,0)},A=(v,V)=>y()?`translate(${V}, ${v})`:`translate(${v}, ${V})`,_=v=>y()?v.map(V=>[V[1],V[0]]):v,y=()=>e==="left"||e==="right",w=v=>{ne(v)&&(d.transition(v),f.transition(v)),v.each((V,M,F)=>{let H=F[M],z=D(H);H.__scale__||z.attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",e==="right"?"start":e==="left"?"end":"middle");let G=H.__scale__||t;H.__scale__=t.copy();let I=nl(w),b=al(w),N=e==="bottom"||e==="right"?1:-1,k=([S,C])=>[S,N*C],P=t.range(),T=_([[P[0],N*l],[P[0],0],[P[1],0],[P[1],N*l]]),L=f(z,[V]);L.enter().attr("stroke","#000"),L.attr("d",c(T));let E=d(z,I),$=I.map((S,C)=>h(S,C,I)),q=I.map((S,C)=>x(S,C,I));E.enter().attr("transform",g(G,A)).append("path").attr("stroke","#000"),E.enter().append("text").attr("transform",(S,C)=>A(...k($[C].offset))).attr("fill","#000"),E.exit().attr("transform",g(t,A)),E.select("path").attr("visibility",(S,C)=>q[C].hidden&&"hidden").attr("d",(S,C)=>c(_(q[C].path.map(k)))),E.select("text").attr("visibility",(S,C)=>$[C].hidden&&"hidden").attr("transform",(S,C)=>A(...k($[C].offset))).attr("dy",()=>{let S="0em";return y()?S="0.32em":e==="bottom"&&(S="0.71em"),S}).text(b),E.attr("transform",g(t,A)),o(E,V,M)})};return w.tickFormat=(...v)=>v.length?(i=v[0],w):i,w.tickSize=(...v)=>v.length?(s=l=Number(v[0]),w):s,w.tickSizeInner=(...v)=>v.length?(s=Number(v[0]),w):s,w.tickSizeOuter=(...v)=>v.length?(l=Number(v[0]),w):l,w.tickPadding=(...v)=>v.length?(u=v[0],w):u,w.decorate=(...v)=>v.length?(o=v[0],w):o,w.scale=(...v)=>v.length?(t=v[0],w):t,w.ticks=(...v)=>(n=[...v],w),w.tickArguments=(...v)=>v.length?(n=v[0]==null?[]:[...v[0]],w):n!==null?n.slice():null,w.tickValues=(...v)=>v.length?(a=v[0]==null?[]:[...v[0]],w):a!==null?a.slice():null,w.orient=()=>e,w};var ao=(e,t)=>{let r=!1,a=no(e,t,{labelOffset:(i,l,s)=>{let u=0,c=a.tickSizeInner()+a.tickPadding(),d=!1;if(r){let f=t(i),m=l<s.length-1?t(s[l+1]):t.range()[1];u=(m-f)/2,c=a.tickPadding(),d=l===s.length-1&&f===m}return{offset:[u,c],hidden:d}}}),o=i=>a(i);return o.tickCenterLabel=(...i)=>i.length?(r=i[0],o):r,B(o,a),o},jr=e=>ao("top",e),Qr=e=>ao("bottom",e),Jr=e=>ao("left",e),Wt=e=>ao("right",e);var oo=(e,t)=>{let r=null,n=(s,u,c)=>{if(t.step)return t.step();let d=t(s);return u<c.length-1?t(c[u+1])/d:(t.range()[1]-d)*2},i=no(e,t,{labelOffset:()=>({offset:[0,i.tickPadding()]}),tickPath:(s,u,c)=>{let d=0;return r?d=r(s,u):d=n(s,u,c)/2,{path:[[d,0],[d,i.tickSizeInner()]],hidden:u===c.length-1}}}),l=s=>{i(s)};return l.tickOffset=(...s)=>s.length?(r=s[0],l):r,B(l,i),l},io=e=>oo("top",e),lo=e=>oo("bottom",e),so=e=>oo("left",e),uo=e=>oo("right",e);var ol="__d3fc-elements__",br=e=>e[ol]||{},co=(e,t)=>void(e[ol]=t),pc=e=>delete e[ol];var f0=e=>e.tagName==="D3FC-GROUP"?[e,...e.querySelectorAll("d3fc-canvas, d3fc-group, d3fc-svg")]:[e],d0=e=>{let{width:t,height:r}=br(e),n=e.useDevicePixelRatio&&window.devicePixelRatio!=null?window.devicePixelRatio:1,a=e.clientWidth*n,o=e.clientHeight*n,i=a!==t||o!==r,l=e.children[0];co(e,{pixelRatio:n,width:a,height:o,resized:i,child:l})};if(typeof CustomEvent!="function")throw new Error("d3fc-element depends on CustomEvent. Make sure that you load a polyfill in older browsers. See README.");var m0=e=>{let t=br(e),r=new CustomEvent("measure",{detail:t});e.dispatchEvent(r)},p0=e=>{let t=br(e),r=new CustomEvent("draw",{detail:t});e.dispatchEvent(r)},gc=e=>{let t=e.map(f0).reduce((r,n)=>r.concat(n));t.forEach(d0),t.forEach(m0),t.forEach(p0)};var yc=e=>br(e.ownerDocument).queue||[],h0=(e,t)=>{let{requestId:r}=br(e.ownerDocument);r==null&&(r=requestAnimationFrame(()=>{let n=yc(e);gc(n),g0(e)})),co(e.ownerDocument,{queue:t,requestId:r})},g0=e=>pc(e.ownerDocument),xc=(e,t)=>{let r=e;do if(r.parentNode===t)return!0;while(r=r.parentNode);return!1},Fn=e=>{let t=yc(e);if(t.indexOf(e)>-1||t.some(o=>xc(e,o)))return;let a=t.filter(o=>!xc(o,e));a.push(e),h0(e,a)};if(typeof HTMLElement!="function")throw new Error("d3fc-element depends on Custom Elements (v1). Make sure that you load a polyfill in older browsers. See README.");var x0=e=>{e.__measureListener__==null&&(e.__measureListener__=t=>e.setMeasurements(t.detail),e.addEventListener("measure",e.__measureListener__))},y0=e=>{e.__measureListener__!=null&&(e.removeEventListener("measure",e.__measureListener__),e.__measureListener__=null)},fo=(e,t)=>class extends HTMLElement{static get observedAttributes(){return["use-device-pixel-ratio"]}attributeChangedCallback(r){switch(r){case"use-device-pixel-ratio":this.requestRedraw();break}}connectedCallback(){this.childNodes.length===0&&this.appendChild(e()),x0(this)}disconnectedCallback(){y0(this)}setMeasurements({width:r,height:n}){let{childNodes:[a,...o]}=this;if(o.length>0)throw new Error("A d3fc-svg/canvas element must only contain a single svg/canvas element.");t(this,a,{width:r,height:n})}get useDevicePixelRatio(){return this.hasAttribute("use-device-pixel-ratio")&&this.getAttribute("use-device-pixel-ratio")!=="false"}set useDevicePixelRatio(r){r&&!this.useDevicePixelRatio?this.setAttribute("use-device-pixel-ratio",""):!r&&this.useDevicePixelRatio&&this.removeAttribute("use-device-pixel-ratio"),this.requestRedraw()}requestRedraw(){Fn(this)}};var mo=class extends fo(()=>document.createElement("canvas"),(e,t,{width:r,height:n})=>{t.setAttribute("width",r),t.setAttribute("height",n),e.setWebglViewport&&t.getContext("webgl").viewport(0,0,r,n)}){get setWebglViewport(){return this.hasAttribute("set-webgl-viewport")&&this.getAttribute("set-webgl-viewport")!=="false"}set setWebglViewport(e){e&&!this.setWebglViewport?this.setAttribute("set-webgl-viewport",""):!e&&this.setWebglViewport&&this.removeAttribute("set-webgl-viewport"),this.requestRedraw()}};var il=e=>{e.autoResize?v0(e):vc(e)},v0=e=>{e.__autoResizeListener__==null&&(e.__autoResizeListener__=()=>Fn(e),addEventListener("resize",e.__autoResizeListener__))},vc=e=>{e.__autoResizeListener__!=null&&(removeEventListener("resize",e.__autoResizeListener__),e.__autoResizeListener__=null)},po=class extends HTMLElement{connectedCallback(){il(this)}disconnectedCallback(){vc(this)}requestRedraw(){Fn(this)}get autoResize(){return this.hasAttribute("auto-resize")&&this.getAttribute("auto-resize")!=="false"}set autoResize(e){e&&!this.autoResize?this.setAttribute("auto-resize",""):!e&&this.autoResize&&this.removeAttribute("auto-resize"),il(this)}static get observedAttributes(){return["auto-resize"]}attributeChangedCallback(e){switch(e){case"auto-resize":il(this);break}}};var bc=fo(()=>document.createElementNS("http://www.w3.org/2000/svg","svg"),(e,t,{width:r,height:n})=>{t.setAttribute("viewBox",`0 0 ${r} ${n}`)});var ho="d3fc-canvas,d3fc-svg{position:relative;display:block}d3fc-canvas>canvas,d3fc-svg>svg{position:absolute;height:100%;width:100%}d3fc-svg>svg{overflow:visible}",Yn=document.createElement("style");Yn.setAttribute("type","text/css");document.querySelector("head").appendChild(Yn);Yn.styleSheet?Yn.styleSheet.cssText+=ho:Yn.textContent+=ho;if(typeof customElements!="object"||typeof customElements.define!="function")throw new Error("d3fc-element depends on Custom Elements (v1). Make sure that you load a polyfill in older browsers. See README.");var ll=[],sl=(e,t)=>{customElements.get(e)?ll.push(e):customElements.define(e,t)};sl("d3fc-canvas",mo);sl("d3fc-group",po);sl("d3fc-svg",bc);ll.length>0&&console.warn(`The d3fc components "${ll.join(", ")}" is/are already registered on window. Be aware that this can create compatibility issues if different versions are used.`);var w0={value:()=>{}};function Sc(){for(var e=0,t=arguments.length,r={},n;e<t;++e){if(!(n=arguments[e]+"")||n in r||/[\s.]/.test(n))throw new Error("illegal type: "+n);r[n]=[]}return new go(r)}function go(e){this._=e}function S0(e,t){return e.trim().split(/^|\s+/).map(function(r){var n="",a=r.indexOf(".");if(a>=0&&(n=r.slice(a+1),r=r.slice(0,a)),r&&!t.hasOwnProperty(r))throw new Error("unknown type: "+r);return{type:r,name:n}})}go.prototype=Sc.prototype={constructor:go,on:function(e,t){var r=this._,n=S0(e+"",r),a,o=-1,i=n.length;if(arguments.length<2){for(;++o<i;)if((a=(e=n[o]).type)&&(a=_0(r[a],e.name)))return a;return}if(t!=null&&typeof t!="function")throw new Error("invalid callback: "+t);for(;++o<i;)if(a=(e=n[o]).type)r[a]=wc(r[a],e.name,t);else if(t==null)for(a in r)r[a]=wc(r[a],e.name,null);return this},copy:function(){var e={},t=this._;for(var r in t)e[r]=t[r].slice();return new go(e)},call:function(e,t){if((a=arguments.length-2)>0)for(var r=new Array(a),n=0,a,o;n<a;++n)r[n]=arguments[n+2];if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(o=this._[e],n=0,a=o.length;n<a;++n)o[n].value.apply(t,r)},apply:function(e,t,r){if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(var n=this._[e],a=0,o=n.length;a<o;++a)n[a].value.apply(t,r)}};function _0(e,t){for(var r=0,n=e.length,a;r<n;++r)if((a=e[r]).name===t)return a.value}function wc(e,t,r){for(var n=0,a=e.length;n<a;++n)if(e[n].name===t){e[n]=w0,e=e.slice(0,n).concat(e.slice(n+1));break}return r!=null&&e.push({name:t,value:r}),e}var et=Sc;var ul=()=>{let e=et("point");function t(a){let o=Re(a);e.call("point",this,[{x:o[0],y:o[1]}])}function r(){e.call("point",this,[])}let n=a=>{a.on("mouseenter.pointer",t).on("mousemove.pointer",t).on("mouseleave.pointer",r)};return W(n,e,"on"),n};var cl=(...e)=>{let t={},r=n=>{for(let a of Object.keys(t))n[a].apply(null,t[a]);return n};for(let n of e)r[n]=(...a)=>a.length?(t[n]=a,r):t[n];return r};var xo=`d3fc-group.cartesian-chart{width:100%;height:100%;overflow:hidden;display:grid;display:-ms-grid;grid-template-columns:minmax(1em,max-content) auto 1fr auto minmax(1em,max-content);-ms-grid-columns:minmax(1em,max-content) auto 1fr auto minmax(1em,max-content);grid-template-rows:minmax(1em,max-content) auto 1fr auto minmax(1em,max-content);-ms-grid-rows:minmax(1em,max-content) auto 1fr auto minmax(1em,max-content);}
d3fc-group.cartesian-chart>.top-label{align-self:center;-ms-grid-column-align:center;justify-self:center;-ms-grid-row-align:center;grid-column:3;-ms-grid-column:3;grid-row:1;-ms-grid-row:1;}
d3fc-group.cartesian-chart>.top-axis{height:2em;grid-column:3;-ms-grid-column:3;grid-row:2;-ms-grid-row:2;}
d3fc-group.cartesian-chart>.left-label{align-self:center;-ms-grid-column-align:center;justify-self:center;-ms-grid-row-align:center;grid-column:1;-ms-grid-column:1;grid-row:3;-ms-grid-row:3;}
d3fc-group.cartesian-chart>.left-axis{width:3em;grid-column:2;-ms-grid-column:2;grid-row:3;-ms-grid-row:3;}
d3fc-group.cartesian-chart>.plot-area{overflow:hidden;grid-column:3;-ms-grid-column:3;grid-row:3;-ms-grid-row:3;}
d3fc-group.cartesian-chart>.right-axis{width:3em;grid-column:4;-ms-grid-column:4;grid-row:3;-ms-grid-row:3;}
d3fc-group.cartesian-chart>.right-label{align-self:center;-ms-grid-column-align:center;justify-self:center;-ms-grid-row-align:center;grid-column:5;-ms-grid-column:5;grid-row:3;-ms-grid-row:3;}
d3fc-group.cartesian-chart>.bottom-axis{height:2em;grid-column:3;-ms-grid-column:3;grid-row:4;-ms-grid-row:4;}
d3fc-group.cartesian-chart>.bottom-label{align-self:center;-ms-grid-column-align:center;justify-self:center;-ms-grid-row-align:center;grid-column:3;-ms-grid-column:3;grid-row:5;-ms-grid-row:5;}
d3fc-group.cartesian-chart>.y-label{display:flex;transform:rotate(-90deg);width:1em;white-space:nowrap;justify-content:center;}`,Wn=document.createElement("style");Wn.setAttribute("type","text/css");document.querySelector("head").appendChild(Wn);Wn.styleSheet?Wn.styleSheet.cssText+=xo:Wn.textContent+=xo;var Fe=e=>typeof e=="function"?e:()=>e,Hn=(...e)=>{let{xScale:t,yScale:r,xAxis:n,yAxis:a}=k0(...e),o=Fe(""),i=Fe(""),l=Fe(""),s=Fe(null),u=Fe(null),c=Fe("right"),d=Fe("bottom"),f=null,m=null,p=null,h=!1,x=!0,g=cl("tickFormat","ticks","tickArguments","tickSize","tickSizeInner","tickSizeOuter","tickValues","tickPadding","tickCenterLabel"),A=()=>{},_=cl("tickFormat","ticks","tickArguments","tickSize","tickSizeInner","tickSizeOuter","tickValues","tickPadding","tickCenterLabel"),y=()=>{},w=()=>{},v=X("d3fc-group","cartesian-chart"),V=X("d3fc-canvas","webgl-plot-area"),M=X("d3fc-canvas","canvas-plot-area"),F=X("d3fc-svg","svg-plot-area"),H=X("d3fc-svg","x-axis").key(T=>T),z=X("d3fc-svg","y-axis").key(T=>T),G=X("div","chart-label"),I=X("div","x-label").key(T=>T),b=X("div","y-label").key(T=>T),N=T=>L=>ne(T)?L.transition(T):L,k=T=>{let L=N(T);T.each((E,$,q)=>{let S=v(D(q[$]),[E]);S.enter().attr("auto-resize",""),G(S,[d(E)]).attr("class",C=>C==="top"?"chart-label bottom-label":"chart-label top-label").style("margin-bottom",C=>C==="top"?0:"1em").style("margin-top",C=>C==="top"?"1em":0).text(o(E)),I(S,[d(E)]).attr("class",C=>`x-label ${C}-label`).text(i(E)),b(S,[c(E)]).attr("class",C=>`y-label ${C}-label`).text(l(E)),V(S,f?[E]:[]).attr("set-webgl-viewport","").classed("plot-area",!0).attr("use-device-pixel-ratio",x).on("draw",(C,O)=>{let{child:U,pixelRatio:j}=C.detail;f.context(h?null:U.getContext("webgl")).pixelRatio(j).xScale(t).yScale(r),f(O)}),S.select(".webgl-plot-area>canvas").on("webglcontextlost",C=>{console.warn("WebGLRenderingContext lost"),C.preventDefault(),h=!0,S.node().requestRedraw()}).on("webglcontextrestored",()=>{console.info("WebGLRenderingContext restored"),h=!1,S.node().requestRedraw()}),M(S,m?[E]:[]).classed("plot-area",!0).attr("use-device-pixel-ratio",x).on("draw",(C,O)=>{let{child:U,pixelRatio:j}=C.detail,le=U.getContext("2d");le.save(),x&&le.scale(j,j),m.context(le).xScale(t).yScale(r),m(O),le.restore()}),F(S,p?[E]:[]).classed("plot-area",!0).on("draw",(C,O)=>{let{child:U}=C.detail;p.xScale(t).yScale(r),L(D(U).datum(O)).call(p)}),H(S,[d(E)]).attr("class",C=>`x-axis ${C}-axis`).style("height",s(E)).on("measure",(C,O)=>{let{width:U,height:j,child:le}=C.detail;O==="top"&&D(le).attr("viewBox",`0 ${-j} ${U} ${j}`),t.range([0,U])}).on("draw",(C,O)=>{let{child:U}=C.detail,j=O==="top"?n.top(t):n.bottom(t);j.decorate(A),L(D(U).datum(O)).call(g(j))}),z(S,[c(E)]).attr("class",C=>`y-axis ${C}-axis`).style("width",u(E)).on("measure",(C,O)=>{let{width:U,height:j,child:le}=C.detail;O==="left"&&D(le).attr("viewBox",`${-U} 0 ${U} ${j}`),r.range([j,0])}).on("draw",(C,O)=>{let{child:U}=C.detail,j=O==="left"?a.left(r):a.right(r);j.decorate(y),L(D(U).datum(O)).call(_(j))}),S.each((C,O,U)=>U[O].requestRedraw()),w(S,E,$)})},P=J(/range\w*/,/tickFormat/);return B(k,t,P,Be("x")),B(k,r,P,Be("y")),B(k,g,Be("x")),B(k,_,Be("y")),k.xOrient=(...T)=>T.length?(d=Fe(T[0]),k):d,k.yOrient=(...T)=>T.length?(c=Fe(T[0]),k):c,k.xDecorate=(...T)=>T.length?(A=T[0],k):A,k.yDecorate=(...T)=>T.length?(y=T[0],k):y,k.chartLabel=(...T)=>T.length?(o=Fe(T[0]),k):o,k.xLabel=(...T)=>T.length?(i=Fe(T[0]),k):i,k.yLabel=(...T)=>T.length?(l=Fe(T[0]),k):l,k.xAxisHeight=(...T)=>T.length?(s=Fe(T[0]),k):s,k.yAxisWidth=(...T)=>T.length?(u=Fe(T[0]),k):u,k.webglPlotArea=(...T)=>T.length?(f=T[0],k):f,k.canvasPlotArea=(...T)=>T.length?(m=T[0],k):m,k.svgPlotArea=(...T)=>T.length?(p=T[0],k):p,k.decorate=(...T)=>T.length?(w=T[0],k):w,k.useDevicePixelRatio=(...T)=>T.length?(x=T[0],k):x,k},k0=(...e)=>{let t={xScale:fe(),yScale:fe(),xAxis:{bottom:Qr,top:jr},yAxis:{right:Wt,left:Jr}};return e.length===1&&!e[0].domain&&!e[0].range?Object.assign(t,e[0]):Object.assign(t,{xScale:e[0]||t.xScale,yScale:e[1]||t.yScale})};var _c=e=>typeof e=="function"?e:()=>e,yo=(e,t)=>(...r)=>{let n=_c(""),a=t,o=()=>{},i=Hn(...r),l=s=>{e(i,a),i.decorate((u,c,d)=>{u.enter().select(".x-label").style("height","1em").style("line-height","1em");let f=i.yOrient()(c);u.enter().append("div").attr("class","y-label-container").style("grid-column",f==="left"?1:5).style("-ms-grid-column",f==="left"?1:5).style("grid-row",3).style("-ms-grid-row",3).style("width","1em").style("display","flex").style("align-items","center").style("justify-content","center").style("white-space","nowrap").append("div").attr("class","y-label").style("transform","rotate(-90deg)"),u.select(".y-label-container>.y-label").text(n),o(u,c,d)}),s.call(i)};return B(l,i,tr(/^x/,/^y/,"chartLabel")),l.yLabel=(...s)=>s.length?(n=_c(s[0]),l):n,l.plotArea=(...s)=>s.length?(a=s[0],l):a,l.decorate=(...s)=>s.length?(o=s[0],l):o,l};var V0=yo((e,t)=>e.svgPlotArea(t),gr);var C0=yo((e,t)=>e.canvasPlotArea(t),Hr);var Ac={passive:!1},wr={capture:!0,passive:!1};function vo(e){e.stopImmediatePropagation()}function Ht(e){e.preventDefault(),e.stopImmediatePropagation()}function qn(e){var t=e.document.documentElement,r=D(e).on("dragstart.drag",Ht,wr);"onselectstart"in t?r.on("selectstart.drag",Ht,wr):(t.__noselect=t.style.MozUserSelect,t.style.MozUserSelect="none")}function Un(e,t){var r=e.document.documentElement,n=D(e).on("dragstart.drag",null);t&&(n.on("click.drag",Ht,wr),setTimeout(function(){n.on("click.drag",null)},0)),"onselectstart"in r?n.on("selectstart.drag",null):(r.style.MozUserSelect=r.__noselect,delete r.__noselect)}var Gn=e=>()=>e;function Xn(e,{sourceEvent:t,subject:r,target:n,identifier:a,active:o,x:i,y:l,dx:s,dy:u,dispatch:c}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},subject:{value:r,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},identifier:{value:a,enumerable:!0,configurable:!0},active:{value:o,enumerable:!0,configurable:!0},x:{value:i,enumerable:!0,configurable:!0},y:{value:l,enumerable:!0,configurable:!0},dx:{value:s,enumerable:!0,configurable:!0},dy:{value:u,enumerable:!0,configurable:!0},_:{value:c}})}Xn.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function M0(e){return!e.ctrlKey&&!e.button}function T0(){return this.parentNode}function D0(e,t){return t??{x:e.x,y:e.y}}function E0(){return navigator.maxTouchPoints||"ontouchstart"in this}function Kr(){var e=M0,t=T0,r=D0,n=E0,a={},o=et("start","drag","end"),i=0,l,s,u,c,d=0;function f(y){y.on("mousedown.drag",m).filter(n).on("touchstart.drag",x).on("touchmove.drag",g,Ac).on("touchend.drag touchcancel.drag",A).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function m(y,w){if(!(c||!e.call(this,y,w))){var v=_(this,t.call(this,y,w),y,w,"mouse");v&&(D(y.view).on("mousemove.drag",p,wr).on("mouseup.drag",h,wr),qn(y.view),vo(y),u=!1,l=y.clientX,s=y.clientY,v("start",y))}}function p(y){if(Ht(y),!u){var w=y.clientX-l,v=y.clientY-s;u=w*w+v*v>d}a.mouse("drag",y)}function h(y){D(y.view).on("mousemove.drag mouseup.drag",null),Un(y.view,u),Ht(y),a.mouse("end",y)}function x(y,w){if(e.call(this,y,w)){var v=y.changedTouches,V=t.call(this,y,w),M=v.length,F,H;for(F=0;F<M;++F)(H=_(this,V,y,w,v[F].identifier,v[F]))&&(vo(y),H("start",y,v[F]))}}function g(y){var w=y.changedTouches,v=w.length,V,M;for(V=0;V<v;++V)(M=a[w[V].identifier])&&(Ht(y),M("drag",y,w[V]))}function A(y){var w=y.changedTouches,v=w.length,V,M;for(c&&clearTimeout(c),c=setTimeout(function(){c=null},500),V=0;V<v;++V)(M=a[w[V].identifier])&&(vo(y),M("end",y,w[V]))}function _(y,w,v,V,M,F){var H=o.copy(),z=Re(F||v,w),G,I,b;if((b=r.call(y,new Xn("beforestart",{sourceEvent:v,target:f,identifier:M,active:i,x:z[0],y:z[1],dx:0,dy:0,dispatch:H}),V))!=null)return G=b.x-z[0]||0,I=b.y-z[1]||0,function N(k,P,T){var L=z,E;switch(k){case"start":a[M]=N,E=i++;break;case"end":delete a[M],--i;case"drag":z=Re(T||P,w),E=i;break}H.call(k,y,new Xn(k,{sourceEvent:P,subject:b,target:f,identifier:M,active:E,x:z[0]+G,y:z[1]+I,dx:z[0]-L[0],dy:z[1]-L[1],dispatch:H}),V)}}return f.filter=function(y){return arguments.length?(e=typeof y=="function"?y:Gn(!!y),f):e},f.container=function(y){return arguments.length?(t=typeof y=="function"?y:Gn(y),f):t},f.subject=function(y){return arguments.length?(r=typeof y=="function"?y:Gn(y),f):r},f.touchable=function(y){return arguments.length?(n=typeof y=="function"?y:Gn(!!y),f):n},f.on=function(){var y=o.on.apply(o,arguments);return y===o?f:y},f.clickDistance=function(y){return arguments.length?(d=(y=+y)*y,f):Math.sqrt(d)},f}var Zr=0,Qn=0,jn=0,Vc=1e3,bo,Jn,wo=0,Sr=0,So=0,Kn=typeof performance=="object"&&performance.now?performance:Date,Cc=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function ea(){return Sr||(Cc(N0),Sr=Kn.now()+So)}function N0(){Sr=0}function Zn(){this._call=this._time=this._next=null}Zn.prototype=_o.prototype={constructor:Zn,restart:function(e,t,r){if(typeof e!="function")throw new TypeError("callback is not a function");r=(r==null?ea():+r)+(t==null?0:+t),!this._next&&Jn!==this&&(Jn?Jn._next=this:bo=this,Jn=this),this._call=e,this._time=r,fl()},stop:function(){this._call&&(this._call=null,this._time=1/0,fl())}};function _o(e,t,r){var n=new Zn;return n.restart(e,t,r),n}function Mc(){ea(),++Zr;for(var e=bo,t;e;)(t=Sr-e._time)>=0&&e._call.call(void 0,t),e=e._next;--Zr}function kc(){Sr=(wo=Kn.now())+So,Zr=Qn=0;try{Mc()}finally{Zr=0,B0(),Sr=0}}function z0(){var e=Kn.now(),t=e-wo;t>Vc&&(So-=t,wo=e)}function B0(){for(var e,t=bo,r,n=1/0;t;)t._call?(n>t._time&&(n=t._time),e=t,t=t._next):(r=t._next,t._next=null,t=e?e._next=r:bo=r);Jn=e,fl(n)}function fl(e){if(!Zr){Qn&&(Qn=clearTimeout(Qn));var t=e-Sr;t>24?(e<1/0&&(Qn=setTimeout(kc,e-Kn.now()-So)),jn&&(jn=clearInterval(jn))):(jn||(wo=Kn.now(),jn=setInterval(z0,Vc)),Zr=1,Cc(kc))}}function Ao(e,t,r){var n=new Zn;return t=t==null?0:+t,n.restart(a=>{n.stop(),e(a+t)},t,r),n}var P0=et("start","end","cancel","interrupt"),I0=[],Ec=0,Tc=1,Vo=2,ko=3,Dc=4,Co=5,ta=6;function qt(e,t,r,n,a,o){var i=e.__transition;if(!i)e.__transition={};else if(r in i)return;R0(e,r,{name:t,index:n,group:a,on:P0,tween:I0,time:o.time,delay:o.delay,duration:o.duration,ease:o.ease,timer:null,state:Ec})}function ra(e,t){var r=ge(e,t);if(r.state>Ec)throw new Error("too late; already scheduled");return r}function Se(e,t){var r=ge(e,t);if(r.state>ko)throw new Error("too late; already running");return r}function ge(e,t){var r=e.__transition;if(!r||!(r=r[t]))throw new Error("transition not found");return r}function R0(e,t,r){var n=e.__transition,a;n[t]=r,r.timer=_o(o,0,r.time);function o(u){r.state=Tc,r.timer.restart(i,r.delay,r.time),r.delay<=u&&i(u-r.delay)}function i(u){var c,d,f,m;if(r.state!==Tc)return s();for(c in n)if(m=n[c],m.name===r.name){if(m.state===ko)return Ao(i);m.state===Dc?(m.state=ta,m.timer.stop(),m.on.call("interrupt",e,e.__data__,m.index,m.group),delete n[c]):+c<t&&(m.state=ta,m.timer.stop(),m.on.call("cancel",e,e.__data__,m.index,m.group),delete n[c])}if(Ao(function(){r.state===ko&&(r.state=Dc,r.timer.restart(l,r.delay,r.time),l(u))}),r.state=Vo,r.on.call("start",e,e.__data__,r.index,r.group),r.state===Vo){for(r.state=ko,a=new Array(f=r.tween.length),c=0,d=-1;c<f;++c)(m=r.tween[c].value.call(e,e.__data__,r.index,r.group))&&(a[++d]=m);a.length=d+1}}function l(u){for(var c=u<r.duration?r.ease.call(null,u/r.duration):(r.timer.restart(s),r.state=Co,1),d=-1,f=a.length;++d<f;)a[d].call(e,c);r.state===Co&&(r.on.call("end",e,e.__data__,r.index,r.group),s())}function s(){r.state=ta,r.timer.stop(),delete n[t];for(var u in n)return;delete e.__transition}}function Ut(e,t){var r=e.__transition,n,a,o=!0,i;if(r){t=t==null?null:t+"";for(i in r){if((n=r[i]).name!==t){o=!1;continue}a=n.state>Vo&&n.state<Co,n.state=ta,n.timer.stop(),n.on.call(a?"interrupt":"cancel",e,e.__data__,n.index,n.group),delete r[i]}o&&delete e.__transition}}function Nc(e){return this.each(function(){Ut(this,e)})}function O0(e,t){var r,n;return function(){var a=Se(this,e),o=a.tween;if(o!==r){n=r=o;for(var i=0,l=n.length;i<l;++i)if(n[i].name===t){n=n.slice(),n.splice(i,1);break}}a.tween=n}}function L0(e,t,r){var n,a;if(typeof r!="function")throw new Error;return function(){var o=Se(this,e),i=o.tween;if(i!==n){a=(n=i).slice();for(var l={name:t,value:r},s=0,u=a.length;s<u;++s)if(a[s].name===t){a[s]=l;break}s===u&&a.push(l)}o.tween=a}}function zc(e,t){var r=this._id;if(e+="",arguments.length<2){for(var n=ge(this.node(),r).tween,a=0,o=n.length,i;a<o;++a)if((i=n[a]).name===e)return i.value;return null}return this.each((t==null?O0:L0)(r,e,t))}function en(e,t,r){var n=e._id;return e.each(function(){var a=Se(this,n);(a.value||(a.value={}))[t]=r.apply(this,arguments)}),function(a){return ge(a,n).value[t]}}function Mo(e,t){var r;return(typeof t=="number"?ve:t instanceof Ae?ar:(r=Ae(t))?(t=r,ar):xn)(e,t)}function $0(e){return function(){this.removeAttribute(e)}}function F0(e){return function(){this.removeAttributeNS(e.space,e.local)}}function Y0(e,t,r){var n,a=r+"",o;return function(){var i=this.getAttribute(e);return i===a?null:i===n?o:o=t(n=i,r)}}function W0(e,t,r){var n,a=r+"",o;return function(){var i=this.getAttributeNS(e.space,e.local);return i===a?null:i===n?o:o=t(n=i,r)}}function H0(e,t,r){var n,a,o;return function(){var i,l=r(this),s;return l==null?void this.removeAttribute(e):(i=this.getAttribute(e),s=l+"",i===s?null:i===n&&s===a?o:(a=s,o=t(n=i,l)))}}function q0(e,t,r){var n,a,o;return function(){var i,l=r(this),s;return l==null?void this.removeAttributeNS(e.space,e.local):(i=this.getAttributeNS(e.space,e.local),s=l+"",i===s?null:i===n&&s===a?o:(a=s,o=t(n=i,l)))}}function Bc(e,t){var r=_t(e),n=r==="transform"?di:Mo;return this.attrTween(e,typeof t=="function"?(r.local?q0:H0)(r,n,en(this,"attr."+e,t)):t==null?(r.local?F0:$0)(r):(r.local?W0:Y0)(r,n,t))}function U0(e,t){return function(r){this.setAttribute(e,t.call(this,r))}}function G0(e,t){return function(r){this.setAttributeNS(e.space,e.local,t.call(this,r))}}function X0(e,t){var r,n;function a(){var o=t.apply(this,arguments);return o!==n&&(r=(n=o)&&G0(e,o)),r}return a._value=t,a}function j0(e,t){var r,n;function a(){var o=t.apply(this,arguments);return o!==n&&(r=(n=o)&&U0(e,o)),r}return a._value=t,a}function Pc(e,t){var r="attr."+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;var n=_t(e);return this.tween(r,(n.local?X0:j0)(n,t))}function Q0(e,t){return function(){ra(this,e).delay=+t.apply(this,arguments)}}function J0(e,t){return t=+t,function(){ra(this,e).delay=t}}function Ic(e){var t=this._id;return arguments.length?this.each((typeof e=="function"?Q0:J0)(t,e)):ge(this.node(),t).delay}function K0(e,t){return function(){Se(this,e).duration=+t.apply(this,arguments)}}function Z0(e,t){return t=+t,function(){Se(this,e).duration=t}}function Rc(e){var t=this._id;return arguments.length?this.each((typeof e=="function"?K0:Z0)(t,e)):ge(this.node(),t).duration}function ex(e,t){if(typeof t!="function")throw new Error;return function(){Se(this,e).ease=t}}function Oc(e){var t=this._id;return arguments.length?this.each(ex(t,e)):ge(this.node(),t).ease}function tx(e,t){return function(){var r=t.apply(this,arguments);if(typeof r!="function")throw new Error;Se(this,e).ease=r}}function Lc(e){if(typeof e!="function")throw new Error;return this.each(tx(this._id,e))}function $c(e){typeof e!="function"&&(e=zn(e));for(var t=this._groups,r=t.length,n=new Array(r),a=0;a<r;++a)for(var o=t[a],i=o.length,l=n[a]=[],s,u=0;u<i;++u)(s=o[u])&&e.call(s,s.__data__,u,o)&&l.push(s);return new Ee(n,this._parents,this._name,this._id)}function Fc(e){if(e._id!==this._id)throw new Error;for(var t=this._groups,r=e._groups,n=t.length,a=r.length,o=Math.min(n,a),i=new Array(n),l=0;l<o;++l)for(var s=t[l],u=r[l],c=s.length,d=i[l]=new Array(c),f,m=0;m<c;++m)(f=s[m]||u[m])&&(d[m]=f);for(;l<n;++l)i[l]=t[l];return new Ee(i,this._parents,this._name,this._id)}function rx(e){return(e+"").trim().split(/^|\s+/).every(function(t){var r=t.indexOf(".");return r>=0&&(t=t.slice(0,r)),!t||t==="start"})}function nx(e,t,r){var n,a,o=rx(t)?ra:Se;return function(){var i=o(this,e),l=i.on;l!==n&&(a=(n=l).copy()).on(t,r),i.on=a}}function Yc(e,t){var r=this._id;return arguments.length<2?ge(this.node(),r).on.on(e):this.each(nx(r,e,t))}function ax(e){return function(){var t=this.parentNode;for(var r in this.__transition)if(+r!==e)return;t&&t.removeChild(this)}}function Wc(){return this.on("end.remove",ax(this._id))}function Hc(e){var t=this._name,r=this._id;typeof e!="function"&&(e=hr(e));for(var n=this._groups,a=n.length,o=new Array(a),i=0;i<a;++i)for(var l=n[i],s=l.length,u=o[i]=new Array(s),c,d,f=0;f<s;++f)(c=l[f])&&(d=e.call(c,c.__data__,f,l))&&("__data__"in c&&(d.__data__=c.__data__),u[f]=d,qt(u[f],t,r,f,u,ge(c,r)));return new Ee(o,this._parents,t,r)}function qc(e){var t=this._name,r=this._id;typeof e!="function"&&(e=Nn(e));for(var n=this._groups,a=n.length,o=[],i=[],l=0;l<a;++l)for(var s=n[l],u=s.length,c,d=0;d<u;++d)if(c=s[d]){for(var f=e.call(c,c.__data__,d,s),m,p=ge(c,r),h=0,x=f.length;h<x;++h)(m=f[h])&&qt(m,t,r,h,f,p);o.push(f),i.push(c)}return new Ee(o,i,t,r)}var ox=st.prototype.constructor;function Uc(){return new ox(this._groups,this._parents)}function ix(e,t){var r,n,a;return function(){var o=Bt(this,e),i=(this.style.removeProperty(e),Bt(this,e));return o===i?null:o===r&&i===n?a:a=t(r=o,n=i)}}function Gc(e){return function(){this.style.removeProperty(e)}}function lx(e,t,r){var n,a=r+"",o;return function(){var i=Bt(this,e);return i===a?null:i===n?o:o=t(n=i,r)}}function sx(e,t,r){var n,a,o;return function(){var i=Bt(this,e),l=r(this),s=l+"";return l==null&&(s=l=(this.style.removeProperty(e),Bt(this,e))),i===s?null:i===n&&s===a?o:(a=s,o=t(n=i,l))}}function ux(e,t){var r,n,a,o="style."+t,i="end."+o,l;return function(){var s=Se(this,e),u=s.on,c=s.value[o]==null?l||(l=Gc(t)):void 0;(u!==r||a!==c)&&(n=(r=u).copy()).on(i,a=c),s.on=n}}function Xc(e,t,r){var n=(e+="")=="transform"?fi:Mo;return t==null?this.styleTween(e,ix(e,n)).on("end.style."+e,Gc(e)):typeof t=="function"?this.styleTween(e,sx(e,n,en(this,"style."+e,t))).each(ux(this._id,e)):this.styleTween(e,lx(e,n,t),r).on("end.style."+e,null)}function cx(e,t,r){return function(n){this.style.setProperty(e,t.call(this,n),r)}}function fx(e,t,r){var n,a;function o(){var i=t.apply(this,arguments);return i!==a&&(n=(a=i)&&cx(e,i,r)),n}return o._value=t,o}function jc(e,t,r){var n="style."+(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;return this.tween(n,fx(e,t,r??""))}function dx(e){return function(){this.textContent=e}}function mx(e){return function(){var t=e(this);this.textContent=t??""}}function Qc(e){return this.tween("text",typeof e=="function"?mx(en(this,"text",e)):dx(e==null?"":e+""))}function px(e){return function(t){this.textContent=e.call(this,t)}}function hx(e){var t,r;function n(){var a=e.apply(this,arguments);return a!==r&&(t=(r=a)&&px(a)),t}return n._value=e,n}function Jc(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,hx(e))}function Kc(){for(var e=this._name,t=this._id,r=To(),n=this._groups,a=n.length,o=0;o<a;++o)for(var i=n[o],l=i.length,s,u=0;u<l;++u)if(s=i[u]){var c=ge(s,t);qt(s,e,r,u,i,{time:c.time+c.delay+c.duration,delay:0,duration:c.duration,ease:c.ease})}return new Ee(n,this._parents,e,r)}function Zc(){var e,t,r=this,n=r._id,a=r.size();return new Promise(function(o,i){var l={value:i},s={value:function(){--a===0&&o()}};r.each(function(){var u=Se(this,n),c=u.on;c!==e&&(t=(e=c).copy(),t._.cancel.push(l),t._.interrupt.push(l),t._.end.push(s)),u.on=t}),a===0&&o()})}var gx=0;function Ee(e,t,r,n){this._groups=e,this._parents=t,this._name=r,this._id=n}function ef(e){return st().transition(e)}function To(){return++gx}var kt=st.prototype;Ee.prototype=ef.prototype={constructor:Ee,select:Hc,selectAll:qc,selectChild:kt.selectChild,selectChildren:kt.selectChildren,filter:$c,merge:Fc,selection:Uc,transition:Kc,call:kt.call,nodes:kt.nodes,node:kt.node,size:kt.size,empty:kt.empty,each:kt.each,on:Yc,attr:Bc,attrTween:Pc,style:Xc,styleTween:jc,text:Qc,textTween:Jc,remove:Wc,tween:zc,delay:Ic,duration:Rc,ease:Oc,easeVarying:Lc,end:Zc,[Symbol.iterator]:kt[Symbol.iterator]};function Do(e){return--e*e*e+1}function Eo(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var xx={time:null,delay:0,duration:250,ease:Eo};function yx(e,t){for(var r;!(r=e.__transition)||!(r=r[t]);)if(!(e=e.parentNode))throw new Error(`transition ${t} not found`);return r}function tf(e){var t,r;e instanceof Ee?(t=e._id,e=e._name):(t=To(),(r=xx).time=ea(),e=e==null?null:e+"");for(var n=this._groups,a=n.length,o=0;o<a;++o)for(var i=n[o],l=i.length,s,u=0;u<l;++u)(s=i[u])&&qt(s,e,t,u,i,r||yx(s,t));return new Ee(n,this._parents,e,t)}st.prototype.interrupt=Nc;st.prototype.transition=tf;var{abs:XR,max:jR,min:QR}=Math;function rf(e){return[+e[0],+e[1]]}function vx(e){return[rf(e[0]),rf(e[1])]}var JR={name:"x",handles:["w","e"].map(dl),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]]}},KR={name:"y",handles:["n","s"].map(dl),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]]}},ZR={name:"xy",handles:["n","w","e","s","nw","ne","sw","se"].map(dl),input:function(e){return e==null?null:vx(e)},output:function(e){return e}};function dl(e){return{type:e}}var na=e=>()=>e;function ml(e,{sourceEvent:t,target:r,transform:n,dispatch:a}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},transform:{value:n,enumerable:!0,configurable:!0},_:{value:a}})}function dt(e,t,r){this.k=e,this.x=t,this.y=r}dt.prototype={constructor:dt,scale:function(e){return e===1?this:new dt(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new dt(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 bt=new dt(1,0,0);pl.prototype=dt.prototype;function pl(e){for(;!e.__zoom;)if(!(e=e.parentNode))return bt;return e.__zoom}function No(e){e.stopImmediatePropagation()}function tn(e){e.preventDefault(),e.stopImmediatePropagation()}function _x(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function Ax(){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 nf(){return this.__zoom||bt}function kx(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function Vx(){return navigator.maxTouchPoints||"ontouchstart"in this}function Cx(e,t,r){var n=e.invertX(t[0][0])-r[0][0],a=e.invertX(t[1][0])-r[1][0],o=e.invertY(t[0][1])-r[0][1],i=e.invertY(t[1][1])-r[1][1];return e.translate(a>n?(n+a)/2:Math.min(0,n)||Math.max(0,a),i>o?(o+i)/2:Math.min(0,o)||Math.max(0,i))}function zo(){var e=_x,t=Ax,r=Cx,n=kx,a=Vx,o=[0,1/0],i=[[-1/0,-1/0],[1/0,1/0]],l=250,s=mi,u=et("start","zoom","end"),c,d,f,m=500,p=150,h=0,x=10;function g(b){b.property("__zoom",nf).on("wheel.zoom",M,{passive:!1}).on("mousedown.zoom",F).on("dblclick.zoom",H).filter(a).on("touchstart.zoom",z).on("touchmove.zoom",G).on("touchend.zoom touchcancel.zoom",I).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}g.transform=function(b,N,k,P){var T=b.selection?b.selection():b;T.property("__zoom",nf),b!==T?w(b,N,k,P):T.interrupt().each(function(){v(this,arguments).event(P).start().zoom(null,typeof N=="function"?N.apply(this,arguments):N).end()})},g.scaleBy=function(b,N,k,P){g.scaleTo(b,function(){var T=this.__zoom.k,L=typeof N=="function"?N.apply(this,arguments):N;return T*L},k,P)},g.scaleTo=function(b,N,k,P){g.transform(b,function(){var T=t.apply(this,arguments),L=this.__zoom,E=k==null?y(T):typeof k=="function"?k.apply(this,arguments):k,$=L.invert(E),q=typeof N=="function"?N.apply(this,arguments):N;return r(_(A(L,q),E,$),T,i)},k,P)},g.translateBy=function(b,N,k,P){g.transform(b,function(){return r(this.__zoom.translate(typeof N=="function"?N.apply(this,arguments):N,typeof k=="function"?k.apply(this,arguments):k),t.apply(this,arguments),i)},null,P)},g.translateTo=function(b,N,k,P,T){g.transform(b,function(){var L=t.apply(this,arguments),E=this.__zoom,$=P==null?y(L):typeof P=="function"?P.apply(this,arguments):P;return r(bt.translate($[0],$[1]).scale(E.k).translate(typeof N=="function"?-N.apply(this,arguments):-N,typeof k=="function"?-k.apply(this,arguments):-k),L,i)},P,T)};function A(b,N){return N=Math.max(o[0],Math.min(o[1],N)),N===b.k?b:new dt(N,b.x,b.y)}function _(b,N,k){var P=N[0]-k[0]*b.k,T=N[1]-k[1]*b.k;return P===b.x&&T===b.y?b:new dt(b.k,P,T)}function y(b){return[(+b[0][0]+ +b[1][0])/2,(+b[0][1]+ +b[1][1])/2]}function w(b,N,k,P){b.on("start.zoom",function(){v(this,arguments).event(P).start()}).on("interrupt.zoom end.zoom",function(){v(this,arguments).event(P).end()}).tween("zoom",function(){var T=this,L=arguments,E=v(T,L).event(P),$=t.apply(T,L),q=k==null?y($):typeof k=="function"?k.apply(T,L):k,S=Math.max($[1][0]-$[0][0],$[1][1]-$[0][1]),C=T.__zoom,O=typeof N=="function"?N.apply(T,L):N,U=s(C.invert(q).concat(S/C.k),O.invert(q).concat(S/O.k));return function(j){if(j===1)j=O;else{var le=U(j),Y=S/le[2];j=new dt(Y,q[0]-le[0]*Y,q[1]-le[1]*Y)}E.zoom(null,j)}})}function v(b,N,k){return!k&&b.__zooming||new V(b,N)}function V(b,N){this.that=b,this.args=N,this.active=0,this.sourceEvent=null,this.extent=t.apply(b,N),this.taps=0}V.prototype={event:function(b){return b&&(this.sourceEvent=b),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(b,N){return this.mouse&&b!=="mouse"&&(this.mouse[1]=N.invert(this.mouse[0])),this.touch0&&b!=="touch"&&(this.touch0[1]=N.invert(this.touch0[0])),this.touch1&&b!=="touch"&&(this.touch1[1]=N.invert(this.touch1[0])),this.that.__zoom=N,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(b){var N=D(this.that).datum();u.call(b,this.that,new ml(b,{sourceEvent:this.sourceEvent,target:g,type:b,transform:this.that.__zoom,dispatch:u}),N)}};function M(b,...N){if(!e.apply(this,arguments))return;var k=v(this,N).event(b),P=this.__zoom,T=Math.max(o[0],Math.min(o[1],P.k*Math.pow(2,n.apply(this,arguments)))),L=Re(b);if(k.wheel)(k.mouse[0][0]!==L[0]||k.mouse[0][1]!==L[1])&&(k.mouse[1]=P.invert(k.mouse[0]=L)),clearTimeout(k.wheel);else{if(P.k===T)return;k.mouse=[L,P.invert(L)],Ut(this),k.start()}tn(b),k.wheel=setTimeout(E,p),k.zoom("mouse",r(_(A(P,T),k.mouse[0],k.mouse[1]),k.extent,i));function E(){k.wheel=null,k.end()}}function F(b,...N){if(f||!e.apply(this,arguments))return;var k=b.currentTarget,P=v(this,N,!0).event(b),T=D(b.view).on("mousemove.zoom",q,!0).on("mouseup.zoom",S,!0),L=Re(b,k),E=b.clientX,$=b.clientY;qn(b.view),No(b),P.mouse=[L,this.__zoom.invert(L)],Ut(this),P.start();function q(C){if(tn(C),!P.moved){var O=C.clientX-E,U=C.clientY-$;P.moved=O*O+U*U>h}P.event(C).zoom("mouse",r(_(P.that.__zoom,P.mouse[0]=Re(C,k),P.mouse[1]),P.extent,i))}function S(C){T.on("mousemove.zoom mouseup.zoom",null),Un(C.view,P.moved),tn(C),P.event(C).end()}}function H(b,...N){if(e.apply(this,arguments)){var k=this.__zoom,P=Re(b.changedTouches?b.changedTouches[0]:b,this),T=k.invert(P),L=k.k*(b.shiftKey?.5:2),E=r(_(A(k,L),P,T),t.apply(this,N),i);tn(b),l>0?D(this).transition().duration(l).call(w,E,P,b):D(this).call(g.transform,E,P,b)}}function z(b,...N){if(e.apply(this,arguments)){var k=b.touches,P=k.length,T=v(this,N,b.changedTouches.length===P).event(b),L,E,$,q;for(No(b),E=0;E<P;++E)$=k[E],q=Re($,this),q=[q,this.__zoom.invert(q),$.identifier],T.touch0?!T.touch1&&T.touch0[2]!==q[2]&&(T.touch1=q,T.taps=0):(T.touch0=q,L=!0,T.taps=1+!!c);c&&(c=clearTimeout(c)),L&&(T.taps<2&&(d=q[0],c=setTimeout(function(){c=null},m)),Ut(this),T.start())}}function G(b,...N){if(this.__zooming){var k=v(this,N).event(b),P=b.changedTouches,T=P.length,L,E,$,q;for(tn(b),L=0;L<T;++L)E=P[L],$=Re(E,this),k.touch0&&k.touch0[2]===E.identifier?k.touch0[0]=$:k.touch1&&k.touch1[2]===E.identifier&&(k.touch1[0]=$);if(E=k.that.__zoom,k.touch1){var S=k.touch0[0],C=k.touch0[1],O=k.touch1[0],U=k.touch1[1],j=(j=O[0]-S[0])*j+(j=O[1]-S[1])*j,le=(le=U[0]-C[0])*le+(le=U[1]-C[1])*le;E=A(E,Math.sqrt(j/le)),$=[(S[0]+O[0])/2,(S[1]+O[1])/2],q=[(C[0]+U[0])/2,(C[1]+U[1])/2]}else if(k.touch0)$=k.touch0[0],q=k.touch0[1];else return;k.zoom("touch",r(_(E,$,q),k.extent,i))}}function I(b,...N){if(this.__zooming){var k=v(this,N).event(b),P=b.changedTouches,T=P.length,L,E;for(No(b),f&&clearTimeout(f),f=setTimeout(function(){f=null},m),L=0;L<T;++L)E=P[L],k.touch0&&k.touch0[2]===E.identifier?delete k.touch0:k.touch1&&k.touch1[2]===E.identifier&&delete k.touch1;if(k.touch1&&!k.touch0&&(k.touch0=k.touch1,delete k.touch1),k.touch0)k.touch0[1]=this.__zoom.invert(k.touch0[0]);else if(k.end(),k.taps===2&&(E=Re(E,this),Math.hypot(d[0]-E[0],d[1]-E[1])<x)){var $=D(this).on("dblclick.zoom");$&&$.apply(this,arguments)}}}return g.wheelDelta=function(b){return arguments.length?(n=typeof b=="function"?b:na(+b),g):n},g.filter=function(b){return arguments.length?(e=typeof b=="function"?b:na(!!b),g):e},g.touchable=function(b){return arguments.length?(a=typeof b=="function"?b:na(!!b),g):a},g.extent=function(b){return arguments.length?(t=typeof b=="function"?b:na([[+b[0][0],+b[0][1]],[+b[1][0],+b[1][1]]]),g):t},g.scaleExtent=function(b){return arguments.length?(o[0]=+b[0],o[1]=+b[1],g):[o[0],o[1]]},g.translateExtent=function(b){return arguments.length?(i[0][0]=+b[0][0],i[1][0]=+b[1][0],i[0][1]=+b[0][1],i[1][1]=+b[1][1],g):[[i[0][0],i[0][1]],[i[1][0],i[1][1]]]},g.constrain=function(b){return arguments.length?(r=b,g):r},g.duration=function(b){return arguments.length?(l=+b,g):l},g.interpolate=function(b){return arguments.length?(s=b,g):s},g.on=function(){var b=u.on.apply(u,arguments);return b===u?g:b},g.clickDistance=function(b){return arguments.length?(h=(b=+b)*b,g):Math.sqrt(h)},g.tapDistance=function(b){return arguments.length?(x=+b,g):x},g}var TO=Symbol("d3fc-domain-zoom");function Mx(e){var t=0,r=e.children,n=r&&r.length;if(!n)t=1;else for(;--n>=0;)t+=r[n].value;e.value=t}function af(){return this.eachAfter(Mx)}function of(e,t){let r=-1;for(let n of this)e.call(t,n,++r,this);return this}function lf(e,t){for(var r=this,n=[r],a,o,i=-1;r=n.pop();)if(e.call(t,r,++i,this),a=r.children)for(o=a.length-1;o>=0;--o)n.push(a[o]);return this}function sf(e,t){for(var r=this,n=[r],a=[],o,i,l,s=-1;r=n.pop();)if(a.push(r),o=r.children)for(i=0,l=o.length;i<l;++i)n.push(o[i]);for(;r=a.pop();)e.call(t,r,++s,this);return this}function uf(e,t){let r=-1;for(let n of this)if(e.call(t,n,++r,this))return n}function cf(e){return this.eachAfter(function(t){for(var r=+e(t.data)||0,n=t.children,a=n&&n.length;--a>=0;)r+=n[a].value;t.value=r})}function ff(e){return this.eachBefore(function(t){t.children&&t.children.sort(e)})}function df(e){for(var t=this,r=Tx(t,e),n=[t];t!==r;)t=t.parent,n.push(t);for(var a=n.length;e!==r;)n.splice(a,0,e),e=e.parent;return n}function Tx(e,t){if(e===t)return e;var r=e.ancestors(),n=t.ancestors(),a=null;for(e=r.pop(),t=n.pop();e===t;)a=e,e=r.pop(),t=n.pop();return a}function mf(){for(var e=this,t=[e];e=e.parent;)t.push(e);return t}function pf(){return Array.from(this)}function hf(){var e=[];return this.eachBefore(function(t){t.children||e.push(t)}),e}function gf(){var e=this,t=[];return e.each(function(r){r!==e&&t.push({source:r.parent,target:r})}),t}function*xf(){var e=this,t,r=[e],n,a,o;do for(t=r.reverse(),r=[];e=t.pop();)if(yield e,n=e.children)for(a=0,o=n.length;a<o;++a)r.push(n[a]);while(r.length)}function Gt(e,t){e instanceof Map?(e=[void 0,e],t===void 0&&(t=Nx)):t===void 0&&(t=Ex);for(var r=new aa(e),n,a=[r],o,i,l,s;n=a.pop();)if((i=t(n.data))&&(s=(i=Array.from(i)).length))for(n.children=i,l=s-1;l>=0;--l)a.push(o=i[l]=new aa(i[l])),o.parent=n,o.depth=n.depth+1;return r.eachBefore(Bx)}function Dx(){return Gt(this).eachBefore(zx)}function Ex(e){return e.children}function Nx(e){return Array.isArray(e)?e[1]:null}function zx(e){e.data.value!==void 0&&(e.value=e.data.value),e.data=e.data.data}function Bx(e){var t=0;do e.height=t;while((e=e.parent)&&e.height<++t)}function aa(e){this.data=e,this.depth=this.height=0,this.parent=null}aa.prototype=Gt.prototype={constructor:aa,count:af,each:of,eachAfter:sf,eachBefore:lf,find:uf,sum:cf,sort:ff,path:df,ancestors:mf,descendants:pf,leaves:hf,links:gf,copy:Dx,[Symbol.iterator]:xf};function yf(e){if(typeof e!="function")throw new Error;return e}function rn(){return 0}function nn(e){return function(){return e}}function Bo(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 Po(e,t,r,n,a){for(var o=e.children,i,l=-1,s=o.length,u=e.value&&(n-t)/e.value;++l<s;)i=o[l],i.y0=r,i.y1=a,i.x0=t,i.x1=t+=i.value*u}function hl(){var e=1,t=1,r=0,n=!1;function a(i){var l=i.height+1;return i.x0=i.y0=r,i.x1=e,i.y1=t/l,i.eachBefore(o(t,l)),n&&i.eachBefore(Bo),i}function o(i,l){return function(s){s.children&&Po(s,s.x0,i*(s.depth+1)/l,s.x1,i*(s.depth+2)/l);var u=s.x0,c=s.y0,d=s.x1-r,f=s.y1-r;d<u&&(u=d=(u+d)/2),f<c&&(c=f=(c+f)/2),s.x0=u,s.y0=c,s.x1=d,s.y1=f}}return a.round=function(i){return arguments.length?(n=!!i,a):n},a.size=function(i){return arguments.length?(e=+i[0],t=+i[1],a):[e,t]},a.padding=function(i){return arguments.length?(r=+i,a):r},a}function vf(e,t,r,n,a){for(var o=e.children,i,l=-1,s=o.length,u=e.value&&(a-r)/e.value;++l<s;)i=o[l],i.x0=t,i.x1=n,i.y0=r,i.y1=r+=i.value*u}var Px=(1+Math.sqrt(5))/2;function Ix(e,t,r,n,a,o){for(var i=[],l=t.children,s,u,c=0,d=0,f=l.length,m,p,h=t.value,x,g,A,_,y,w,v;c<f;){m=a-r,p=o-n;do x=l[d++].value;while(!x&&d<f);for(g=A=x,w=Math.max(p/m,m/p)/(h*e),v=x*x*w,y=Math.max(A/v,v/g);d<f;++d){if(x+=u=l[d].value,u<g&&(g=u),u>A&&(A=u),v=x*x*w,_=Math.max(A/v,v/g),_>y){x-=u;break}y=_}i.push(s={value:x,dice:m<p,children:l.slice(c,d)}),s.dice?Po(s,r,n,a,h?n+=p*x/h:o):vf(s,r,n,h?r+=m*x/h:a,o),h-=x,c=d}return i}var bf=(function e(t){function r(n,a,o,i,l){Ix(t,n,a,o,i,l)}return r.ratio=function(n){return e((n=+n)>1?n:1)},r})(Px);function gl(){var e=bf,t=!1,r=1,n=1,a=[0],o=rn,i=rn,l=rn,s=rn,u=rn;function c(f){return f.x0=f.y0=0,f.x1=r,f.y1=n,f.eachBefore(d),a=[0],t&&f.eachBefore(Bo),f}function d(f){var m=a[f.depth],p=f.x0+m,h=f.y0+m,x=f.x1-m,g=f.y1-m;x<p&&(p=x=(p+x)/2),g<h&&(h=g=(h+g)/2),f.x0=p,f.y0=h,f.x1=x,f.y1=g,f.children&&(m=a[f.depth+1]=o(f)/2,p+=u(f)-m,h+=i(f)-m,x-=l(f)-m,g-=s(f)-m,x<p&&(p=x=(p+x)/2),g<h&&(h=g=(h+g)/2),e(f,p,h,x,g))}return c.round=function(f){return arguments.length?(t=!!f,c):t},c.size=function(f){return arguments.length?(r=+f[0],n=+f[1],c):[r,n]},c.tile=function(f){return arguments.length?(e=yf(f),c):e},c.padding=function(f){return arguments.length?c.paddingInner(f).paddingOuter(f):c.paddingInner()},c.paddingInner=function(f){return arguments.length?(o=typeof f=="function"?f:nn(+f),c):o},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?(i=typeof f=="function"?f:nn(+f),c):i},c.paddingRight=function(f){return arguments.length?(l=typeof f=="function"?f:nn(+f),c):l},c.paddingBottom=function(f){return arguments.length?(s=typeof f=="function"?f:nn(+f),c):s},c.paddingLeft=function(f){return arguments.length?(u=typeof f=="function"?f:nn(+f),c):u},c}function xl(e,t,r,n,a){var o=e.children,i,l=o.length,s,u=new Array(l+1);for(u[0]=s=i=0;i<l;++i)u[i+1]=s+=o[i].value;c(0,l,e.value,t,r,n,a);function c(d,f,m,p,h,x,g){if(d>=f-1){var A=o[d];A.x0=p,A.y0=h,A.x1=x,A.y1=g;return}for(var _=u[d],y=m/2+_,w=d+1,v=f-1;w<v;){var V=w+v>>>1;u[V]<y?w=V+1:v=V}y-u[w-1]<u[w]-y&&d+1<w&&--w;var M=u[w]-_,F=m-M;if(x-p>g-h){var H=m?(p*F+x*M)/m:x;c(d,w,M,p,h,H,g),c(w,f,F,H,h,x,g)}else{var z=m?(h*F+g*M)/m:g;c(d,w,M,p,h,x,z),c(w,f,F,p,z,x,g)}}}var Rx=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_f=function(t){return t},wf=function(t){for(var r=[],n=0,a=t.length;n<a;n++)r[n]=t[a-n-1];return r},Sf=function(t,r){t.each(function(){for(var n=D(this),a=n.text().split(/\s+/).reverse(),o,i=[],l=0,s=1.2,u=n.attr("y"),c=parseFloat(n.attr("dy"))||0,d=n.text(null).append("tspan").attr("x",0).attr("dy",c+"em");o=a.pop();)i.push(o),d.text(i.join(" ")),d.node().getComputedTextLength()>r&&i.length>1&&(i.pop(),d.text(i.join(" ")),i=[o],d=n.append("tspan").attr("x",0).attr("dy",s+c+"em").text(o))})},Ox=function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],r=arguments[1],n=arguments[2],a=arguments[3],o=arguments[4];if((typeof r>"u"?"undefined":Rx(r))==="object"){if(r.length===0)return t;for(var i=r.length;i<t.length;i++)r.push(t[i]);return r}else if(typeof r=="function"){for(var l=[],s=t.length,u=0;u<s;u++)l.push(r({i:u,genLength:s,generatedLabels:t,domain:n,range:a,labelDelimiter:o}));return l}return t},Lx=function(t,r,n){var a=[];if(r.length>1)a=r;else for(var o=t.domain(),i=(o[o.length-1]-o[0])/(r-1),l=0;l<r;l++)a.push(o[0]+l*i);var s=a.map(n);return{data:a,labels:s,feature:function(c){return t(c)}}},$x=function(t,r,n){var a=t.range().map(function(o){var i=t.invertExtent(o);return r(i[0])+" "+n+" "+r(i[1])});return{data:t.range(),labels:a,feature:_f}},Fx=function(t){return{data:t.domain(),labels:t.domain(),feature:function(n){return t(n)}}},Yx=function(t,r,n){t.call("cellover",n,r)},Wx=function(t,r,n){t.call("cellout",n,r)},Hx=function(t,r,n){t.call("cellclick",n,r)},de={d3_drawShapes:function(t,r,n,a,o,i){t==="rect"?r.attr("height",n).attr("width",a):t==="circle"?r.attr("r",o):t==="line"?r.attr("x1",0).attr("x2",a).attr("y1",0).attr("y2",0):t==="path"&&r.attr("d",i)},d3_addText:function(t,r,n,a,o){r.append("text").attr("class",a+"label");var i=t.selectAll("g."+a+"cell text."+a+"label").data(n).text(_f);return o&&t.selectAll("g."+a+"cell text."+a+"label").call(Sf,o),i},d3_calcType:function(t,r,n,a,o,i){var l=t.invertExtent?$x(t,o,i):t.ticks?Lx(t,n,o):Fx(t),s=t.range&&t.range()||t.domain();return l.labels=Ox(l.labels,a,t.domain(),s,i),r&&(l.labels=wf(l.labels),l.data=wf(l.data)),l},d3_filterCells:function(t,r){var n=t.data.map(function(i,l){return{data:i,label:t.labels[l]}}).filter(r),a=n.map(function(i){return i.data}),o=n.map(function(i){return i.label});return t.data=t.data.filter(function(i){return a.indexOf(i)!==-1}),t.labels=t.labels.filter(function(i){return o.indexOf(i)!==-1}),t},d3_placement:function(t,r,n,a,o,i){r.attr("transform",n),a.attr("transform",o),t==="horizontal"&&a.style("text-anchor",i)},d3_addEvents:function(t,r){t.on("mouseover.legend",function(n){Yx(r,n,this)}).on("mouseout.legend",function(n){Wx(r,n,this)}).on("click.legend",function(n){Hx(r,n,this)})},d3_title:function(t,r,n,a){if(r!==""){var o=t.selectAll("text."+n+"legendTitle");o.data([r]).enter().append("text").attr("class",n+"legendTitle"),t.selectAll("text."+n+"legendTitle").text(r),a&&t.selectAll("text."+n+"legendTitle").call(Sf,a);var i=t.select("."+n+"legendCells"),l=t.select("."+n+"legendTitle").nodes().map(function(u){return u.getBBox().height})[0],s=-i.nodes().map(function(u){return u.getBBox().x})[0];i.attr("transform","translate("+s+","+l+")")}},d3_defaultLocale:{format:Qe,formatPrefix:Ir},d3_defaultFormatSpecifier:".01f",d3_defaultDelimiter:"to"};function Io(){var e=me(),t="rect",r=15,n=15,a=10,o=2,i=[5],l=void 0,s=[],u="",c=!1,d="",f=de.d3_defaultLocale,m=de.d3_defaultFormatSpecifier,p=10,h="middle",x=de.d3_defaultDelimiter,g=void 0,A="vertical",_=!1,y=void 0,w=void 0,v=et("cellover","cellout","cellclick");function V(M){var F=de.d3_calcType(e,_,i,s,f.format(m),x),H=M.selectAll("g").data([e]);H.enter().append("g").attr("class",u+"legendCells"),l&&de.d3_filterCells(F,l);var z=M.select("."+u+"legendCells").selectAll("."+u+"cell").data(F.data),G=z.enter().append("g").attr("class",u+"cell");G.append(t).attr("class",u+"swatch");var I=M.selectAll("g."+u+"cell "+t+"."+u+"swatch").data(F.data);de.d3_addEvents(G,v),z.exit().transition().style("opacity",0).remove(),I.exit().transition().style("opacity",0).remove(),I=I.merge(I),de.d3_drawShapes(t,I,n,r,a,y);var b=de.d3_addText(M,G,F.labels,u,g);z=G.merge(z);var N=b.nodes().map(function(E){return E.getBBox()}),k=I.nodes().map(function(E){return E.getBBox()});c?I.attr("class",function(E){return u+"swatch "+F.feature(E)}):t=="line"?I.style("stroke",F.feature):I.style("fill",F.feature);var P=void 0,T=void 0,L=h=="start"?0:h=="middle"?.5:1;A==="vertical"?(function(){var E=N.map(function($,q){return Math.max($.height,k[q].height)});P=function(q,S){var C=fn(E.slice(0,S));return"translate(0, "+(C+S*o)+")"},T=function(q,S){return"translate( "+(k[S].width+k[S].x+p)+", "+(k[S].y+k[S].height/2+5)+")"}})():A==="horizontal"&&(P=function($,q){return"translate("+q*(k[q].width+o)+",0)"},T=function($,q){return"translate("+(k[q].width*L+k[q].x)+`,
`+(k[q].height+k[q].y+p+8)+")"}),de.d3_placement(A,z,P,b,T,h),de.d3_title(M,d,u,w),z.transition().style("opacity",1)}return V.scale=function(M){return arguments.length?(e=M,V):e},V.cells=function(M){return arguments.length?((M.length>1||M>=2)&&(i=M),V):i},V.cellFilter=function(M){return arguments.length?(l=M,V):l},V.shape=function(M,F){return arguments.length?((M=="rect"||M=="circle"||M=="line"||M=="path"&&typeof F=="string")&&(t=M,y=F),V):t},V.shapeWidth=function(M){return arguments.length?(r=+M,V):r},V.shapeHeight=function(M){return arguments.length?(n=+M,V):n},V.shapeRadius=function(M){return arguments.length?(a=+M,V):a},V.shapePadding=function(M){return arguments.length?(o=+M,V):o},V.labels=function(M){return arguments.length?(s=M,V):s},V.labelAlign=function(M){return arguments.length?((M=="start"||M=="end"||M=="middle")&&(h=M),V):h},V.locale=function(M){return arguments.length?(f=Pr(M),V):f},V.labelFormat=function(M){return arguments.length?(m=He(M),V):V.locale().format(m)},V.labelOffset=function(M){return arguments.length?(p=+M,V):p},V.labelDelimiter=function(M){return arguments.length?(x=M,V):x},V.labelWrap=function(M){return arguments.length?(g=M,V):g},V.useClass=function(M){return arguments.length?((M===!0||M===!1)&&(c=M),V):c},V.orient=function(M){return arguments.length?(M=M.toLowerCase(),(M=="horizontal"||M=="vertical")&&(A=M),V):A},V.ascending=function(M){return arguments.length?(_=!!M,V):_},V.classPrefix=function(M){return arguments.length?(u=M,V):u},V.title=function(M){return arguments.length?(d=M,V):d},V.titleWidth=function(M){return arguments.length?(w=M,V):w},V.textWrap=function(M){return arguments.length?(textWrap=M,V):textWrap},V.on=function(){var M=v.on.apply(v,arguments);return M===v?V:M},V}function Af(){var e=me(),t="path",r=15,n=15,a=10,o=5,i=[5],l=void 0,s=[],u="",c="",d=de.d3_defaultLocale,f=de.d3_defaultFormatSpecifier,m="middle",p=10,h=de.d3_defaultDelimiter,x=void 0,g="vertical",A=!1,_=void 0,y=et("cellover","cellout","cellclick");function w(v){var V=de.d3_calcType(e,A,i,s,d.format(f),h),M=v.selectAll("g").data([e]);l&&de.d3_filterCells(V,l),M.enter().append("g").attr("class",u+"legendCells");var F=v.select("."+u+"legendCells").selectAll("."+u+"cell").data(V.data),H=F.enter().append("g").attr("class",u+"cell");H.append(t).attr("class",u+"swatch");var z=v.selectAll("g."+u+"cell "+t+"."+u+"swatch");de.d3_addEvents(H,y),F.exit().transition().style("opacity",0).remove(),z.exit().transition().style("opacity",0).remove(),z=z.merge(z),de.d3_drawShapes(t,z,n,r,a,V.feature);var G=de.d3_addText(v,H,V.labels,u,x);F=H.merge(F);var I=G.nodes().map(function(E){return E.getBBox()}),b=z.nodes().map(function(E){return E.getBBox()}),N=Ce(b,function(E){return E.height}),k=Ce(b,function(E){return E.width}),P=void 0,T=void 0,L=m=="start"?0:m=="middle"?.5:1;g==="vertical"?(function(){var E=I.map(function($,q){return Math.max(N,$.height)});P=function(q,S){var C=fn(E.slice(0,S));return"translate(0, "+(C+S*o)+" )"},T=function(q,S){return"translate( "+(k+p)+`,
`+(b[S].y+b[S].height/2+5)+")"}})():g==="horizontal"&&(P=function($,q){return"translate( "+q*(k+o)+",0)"},T=function($,q){return"translate( "+(b[q].width*L+b[q].x)+`,
`+(N+p)+")"}),de.d3_placement(g,F,P,G,T,m),de.d3_title(v,c,u,_),F.transition().style("opacity",1)}return w.scale=function(v){return arguments.length?(e=v,w):e},w.cells=function(v){return arguments.length?((v.length>1||v>=2)&&(i=v),w):i},w.cellFilter=function(v){return arguments.length?(l=v,w):l},w.shapePadding=function(v){return arguments.length?(o=+v,w):o},w.labels=function(v){return arguments.length?(s=v,w):s},w.labelAlign=function(v){return arguments.length?((v=="start"||v=="end"||v=="middle")&&(m=v),w):m},w.locale=function(v){return arguments.length?(d=Pr(v),w):d},w.labelFormat=function(v){return arguments.length?(f=He(v),w):w.locale().format(f)},w.labelOffset=function(v){return arguments.length?(p=+v,w):p},w.labelDelimiter=function(v){return arguments.length?(h=v,w):h},w.labelWrap=function(v){return arguments.length?(x=v,w):x},w.orient=function(v){return arguments.length?(v=v.toLowerCase(),(v=="horizontal"||v=="vertical")&&(g=v),w):g},w.ascending=function(v){return arguments.length?(A=!!v,w):A},w.classPrefix=function(v){return arguments.length?(u=v,w):u},w.title=function(v){return arguments.length?(c=v,w):c},w.titleWidth=function(v){return arguments.length?(_=v,w):_},w.on=function(){var v=y.on.apply(y,arguments);return v===y?w:v},w}var qd=Gd(Vf(),1);var qx=Object.defineProperty,Lo=(e,t)=>{for(var r in t)qx(e,r,{get:t[r],enumerable:!0})};Element.prototype.matches||(Element.prototype.matches=Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector);Element.prototype.matches||(Element.prototype.matches=Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector);Element.prototype.closest||(Element.prototype.closest=function(e){var t=this;do{if(t.matches(e))return t;t=t.parentElement||t.parentNode}while(t!==null&&t.nodeType===1);return null});var xe={none:"none",ordinal:"ordinal",time:"time",linear:"linear"},Cl=e=>{let t="crossValues",r=null,n=null,a=()=>{let o=i=>{let l=r?e[t].filter(s=>r==s.name):e[t];return t=="crossValues"&&l.length>1?!1:l.some(s=>i.includes(s.type))};return e[t].length===0?xe.none:n!=xe.time&&o(["datetime","date"])?xe.time:n!=xe.linear&&o(["integer","float"])||n==xe.ordinal?xe.linear:xe.ordinal};return a.settingName=(...o)=>o.length?(t=o[0],a):t,a.settingValue=(...o)=>o.length?(r=o[0],a):r,a.excludeType=(...o)=>o.length?(n=o[0],a):n,a},qf={};Lo(qf,{domain:()=>Qx,labelFunction:()=>Gf,scale:()=>jx});var Ux=e=>{let t=r=>(n,a)=>n===void 0?a:a===void 0?n:r(n,a);return e.reduce((r,n)=>[t(Math.min)(r[0],n[0]),t(Math.max)(r[1],n[1])],[void 0,void 0])},$o=e=>Array.isArray(e)?e.flat(1/0):[e],Gx=1,Uf=e=>{let t=r=>e(r);return B(t,e),t.bandwidth=(...r)=>r.length?(e.bandwidth(...r),t):Math.max(e.bandwidth(),Gx),t},Xx=e=>{let t=r=>e(r);return B(t,e),t.ticks=function(){return[]},t},jx=()=>Xx(Uf(nt())),Qx=()=>{let e=["crossValue"],t="horizontal",r=a=>{let o=$o(a);return n([...new Set(o.map(i=>i[e[0]]))])},n=a=>t=="vertical"?a.reverse():a;return r.valueName=(...a)=>a.length?(e=[a[0]],r):e[0],r.valueNames=(...a)=>a.length?(e=a[0],r):e,r.orient=(...a)=>a.length?(t=a[0],r):t,r},Gf=e=>t=>t[e].join("|"),Ml={};Lo(Ml,{component:()=>ey,domain:()=>Qf,labelFunction:()=>Jf,scale:()=>Zx,tickFormatFunction:()=>Kf});var Xf=()=>{let e=[0,0],t="percent",r=n=>{switch(t){case"domain":{n[0]-=e[0],n[1]+=e[1];break}case"percent":{let a=n[1]-n[0];n[0]-=e[0]*a,n[1]+=e[1]*a;break}default:throw new Error("Unknown padUnit: "+t)}return n};return r.pad=function(...n){return n.length?(e=n[0],r):e},r.padUnit=function(...n){return n.length?(t=n[0],r):t},r},Jx=function(){let e=[function(o){return o}],t=null,r=[],n=Xf(),a=function(o){let i=new Array(o.length),l=!0,s=!1,u,c=e[Symbol.iterator]();try{for(let f;!(l=(f=c.next()).done);l=!0){let m=f.value;for(let p=0;p<o.length;p++){let h=m(o[p],p);Array.isArray(h)?i.push.apply(i,vl(h)):i.push(h)}}}catch(f){s=!0,u=f}finally{try{!l&&c.return&&c.return()}finally{if(s)throw u}}let d=[ze(i),Ce(i)];if(d[0]=d[0]==null?ze(r):ze([d[0]].concat(vl(r))),d[1]=d[1]==null?Ce(r):Ce([d[1]].concat(vl(r))),t!=null){let f=Math.max(Math.abs(d[1]-t),Math.abs(d[0]-t));d[0]=t-f,d[1]=t+f}return n(d)};return a.accessors=function(){return arguments.length?(e=arguments.length<=0?void 0:arguments[0],a):e},a.pad=function(...o){return o.length?(n.pad(o[0]),a):n.pad},a.padUnit=function(...o){return o.length?(n.padUnit(o[0]),a):n.padUnit},a.include=function(...o){return o.length?(r=o[0],a):r},a.symmetricalAbout=function(...o){return o.length?(t=o[0],a):t},a.paddingStrategy=function(...o){return o.length?(n=o[0],a):n},a},vl=function(e){if(Array.isArray(e)){let t=Array(e.length);for(let r=0;r<e.length;r++)t[r]=e[r];return t}else return Array.from(e)},Kx=1e7,jf=(e,t)=>{let r=e==t?0:Math.ceil(Math.abs(Math.log10(t-e)))+1;return n=>{try{return Math.abs(n)>=Kx?Qe(".3s")(n):Number.isInteger(n)?Qe(",.0f")(n):Qe(`,.${r}f`)(n)}catch(a){return console.warn(a),"<err>"}}};function Tl(e){return e.getRootNode().host}function Fo(e){return e.closest("#container.chart")}var Zx=()=>me(),Qf=()=>{let e=Jx().pad([0,.1]).padUnit("percent"),t=["crossValue"],r=o=>(e.accessors(t.map(i=>l=>parseFloat(l[i]))),a($o(o)));B(r,e);let n=o=>{let i=t.map(l=>o.map(s=>s[l]).sort((s,u)=>s-u).filter((s,u,c)=>u===0||s!==c[u-1]).reduce((s,u,c,d)=>c===0||s<=u-d[c-1]?s:Math.abs(u-d[c-1])));return Math.min(...i)},a=o=>{if(e.padUnit()=="domain"){let i=n(o);return e.pad([i/2,i/2])(o)}else return e(o)};return r.valueName=(...o)=>o.length?(t=[o[0]],r):t[0],r.valueNames=(...o)=>o.length?(t=o[0],r):t,r},Jf=e=>t=>t[e][0],Kf=jf,ey=e=>{let t=null,r="horizontal",n=null,a=(u,c)=>{try{return Fo(u.node()).querySelector(".cartesian-chart").querySelector(`.${c}-axis`)}catch{return null}},o=u=>{let c=D(u).select("text").node();c.style.fontSize="80%"},i=(u,c)=>{let d=u.getBoundingClientRect();c.each((f,m,p)=>{let h=D(p[m]).node().getBoundingClientRect();(r=="vertical"&&d.width<h.width||r=="horizontal"&&d.height<h.height)&&o(p[m])})},l=(u,c,d)=>{let f=a(u,c);f&&i(f,u)},s=()=>({bottom:Qr,left:Jr,top:jr,right:Wt,decorate:l});return s.domain=(...u)=>u.length?(t=u[0],s):t,s.orient=(...u)=>u.length?(r=u[0],s):r,s.settingName=(...u)=>u.length?(n=u[0],s):n,s},Zf={};Lo(Zf,{domain:()=>ry,labelFunction:()=>ed,scale:()=>ty});var ty=()=>Wr(),ry=()=>{let e=Dn(),t=["crossValue"],r=o=>(e.accessors(t.map(i=>l=>new Date(l[i]))),a($o(o)));B(r,e,J("include","paddingStrategy"));let n=o=>{let i=t.map(l=>o.map(s=>new Date(s[l]).getTime()).sort((s,u)=>s-u).filter((s,u,c)=>u===0||s!==c[u-1]).reduce((s,u,c,d)=>c===0||Math.abs(s)<=Math.abs(u-d[c-1])?Math.abs(s):Math.abs(u-d[c-1])));return Math.min(...i)},a=o=>{let i=Math.abs(n(o));return e.padUnit("domain").pad([i/2,i/2])(o)};return r.valueName=(...o)=>o.length?(t=[o[0]],r):t[0],r.valueNames=(...o)=>o.length?(t=o[0],r):t,r},ed=e=>t=>new Date(t[e][0]),td={};Lo(td,{component:()=>cy,domain:()=>uy,labelFunction:()=>rd,scale:()=>sy});var ny=(...e)=>{let t={},r=n=>{for(let a of Object.keys(t))n[a](t[a]);return n};for(let n of e)r[n]=(...a)=>a.length?(t[n]=a[0],r):t[n];return r},Yo=(e,t,r)=>{let n=6,a=6,o=ny("tickFormat","ticks","tickArguments","tickValues","tickPadding"),i=(...h)=>{},l=null,s=X("g","group"),u=X("path","domain"),c=(h,x)=>isNaN(h)||isNaN(x)?"":f()?`translate(${x}, ${h})`:`translate(${h}, ${x})`,d=h=>f()?h.map(x=>[x[1],x[0]]):h,f=()=>e==="left"||e==="right",m=h=>{if(!l){o(t(r).decorate(i))(h);return}h.each((x,g,A)=>{let _=A[g],y=D(_),w=e==="bottom"||e==="right"?1:-1,v=r.range(),V=d([[v[0],w*n],[v[0],0],[v[1],0],[v[1],w*n]]);u(y,[x]).attr("d",Ue()(V)).attr("stroke","#000").attr("fill","none");let M=s(y,l),F=z=>Array.isArray(a)?a[z]:a,H=z=>{let G=0;for(let I=0;I<z;I++)G+=F(I);return G};M.attr("transform",(z,G)=>c(0,w*H(G))).each((z,G,I)=>{let b=D(I[G]),N=p(r,z);o(t(N)).decorate((k,P)=>i(k,P,G)).tickSizeInner(F(G)).tickOffset(k=>N.step(k)/2)(b),b.select("path.domain").attr("visibility","hidden")}),M.exit().attr("transform",(z,G)=>c(0,w*H(G)))})},p=(h,x)=>{function g(A){let _=A.domain;return _.reduce((y,w)=>y+h(w),0)/_.length}return g.ticks=()=>x,g.tickFormat=()=>A=>A.text,g.copy=()=>p(h,x),g.step=A=>A.domain.length*h.step(),B(g,h,J("ticks","step","copy")),g};return m.tickSize=(...h)=>h.length?(a=n=Number(h[0]),m):a,m.tickSizeInner=(...h)=>h.length?(a=Array.isArray(h[0])?h[0]:Number(h[0]),m):a,m.tickSizeOuter=(...h)=>h.length?(n=Number(h[0]),m):n,m.decorate=(...h)=>h.length?(i=h[0],m):i,m.groups=(...h)=>h.length?(l=h[0],m):l,B(m,o),m},ay=e=>Yo("top",io,e),oy=e=>Yo("bottom",lo,e),iy=e=>Yo("left",so,e),ly=e=>Yo("right",uo,e),sy=()=>Uf(nt()).padding(.5),uy=()=>{let e=["crossValue"],t="horizontal",r=a=>{let o=$o(a);return n([...Array.from(new Set(o.map(i=>i[e[0]])))])},n=a=>t=="vertical"?a.reverse():a;return r.valueName=(...a)=>a.length?(e=[a[0]],r):e[0],r.valueNames=(...a)=>a.length?(e=a[0],r):e,r.orient=(...a)=>a.length?(t=a[0],r):t,r},rd=(e,t)=>r=>r[e].map((n,a)=>{let o=t.crossValues[a].type;return o==="datetime"?new Date(n).toLocaleString(void 0,{year:"numeric",month:"numeric",day:"numeric",hour:"numeric",minute:"numeric",second:"numeric",fractionalSecondDigits:3}):o==="date"?new Date(n).toLocaleDateString():n}).join("|"),cy=e=>{let t="horizontal",r="crossValues",n=null,a=()=>{let f=e[r].length>1,m=i(n),p=m.map(l),h=f?p.map(y=>y.size):p[0].size,x=p.reduce((y,w)=>y+w.size,0),g=y=>w=>{let v=y(w);return f&&v.groups(m).tickSizeInner(h).tickSizeOuter(x),t!=="horizontal"&&v.tickPadding(10),v},A=(y,w,v)=>{let V=p[v].rotation;t==="horizontal"&&d(y,V),s(y,V)},_=o(f);return{bottom:g(_.bottom),left:g(_.left),right:g(_.right),top:g(_.top),size:`${x+10}px`,decorate:A}},o=f=>f?{bottom:oy,left:iy,top:ay,right:ly}:{bottom:lo,left:so,top:io,right:uo},i=f=>{let m=[];return f.forEach(p=>{(p&&p.split?p.split("|"):[p]).forEach((h,x)=>{for(;m.length<=x;)m.push([]);let g=m[x];g.length>0&&g[g.length-1].text===h?g[g.length-1].domain.push(p):g.push({text:h,domain:[p]})})}),m.reverse()},l=f=>{let m=e.size.width,p=Math.max(...f.map(h=>h.text?h.text.length:0));return t==="horizontal"?f&&f.length*16>m-100?{size:p*6.62+10,rotation:90}:f&&f.length*(p*6+10)>m-100?{size:p*4+20,rotation:45}:{size:25,rotation:0}:{size:p*6.62+10,rotation:0}},s=(f,m)=>{let p=_=>{let y=_.indexOf(",")!==-1?",":" ",w=_.substring(_.indexOf("(")+1,_.indexOf(")")).split(y).map(v=>parseInt(v));for(;w.length<2;)w.push(0);return w},h=m?(_,y)=>_.x+_.width+14>y.x+y.width:(_,y)=>_.x<=y.x+y.width&&y.x<=_.x+_.width&&_.y<=y.y+y.height&&y.y<=_.y+_.height,x=(_,y)=>_.x>=y.x&&_.x+_.width<=y.x+y.width&&_.y>=y.y&&_.y+_.height<=y.y+y.height,g=t=="horizontal"?u(f):null,A=[];f.each((_,y,w)=>{let v=D(w[y]),V=p(v.attr("transform")),M=v.node().getBBox(),F={x:M.x+V[0],y:M.y+V[1],width:M.width,height:M.height},H=A.some(z=>h(z,F))||g&&!x(F,g);v.attr("visibility",H?"hidden":""),H||A.push(F)})},u=f=>{let m=Fo(f.node());if(m===null)return;let p=m.querySelector(".cartesian-chart"),h=p.querySelector(".x-axis"),x=p.getBoundingClientRect(),g=h.getBoundingClientRect();return{x:x.left-g.left,width:x.width,y:x.top-g.top,height:x.height}},c=f=>f?f<60?`rotate(-${f} 5 5)`:`rotate(-${f} 3 7)`:"translate(0, 8)",d=(f,m)=>{let p=c(m),h=m?"end":"";f.each((x,g,A)=>{D(A[g]).select("text").attr("transform",p).style("text-anchor",h)})};return a.orient=(...f)=>f.length?(t=f[0],a):t,a.settingName=(...f)=>f.length?(r=f[0],a):r,a.domain=(...f)=>f.length?(n=f[0],a):n,a},fy={none:qf,ordinal:td,time:Zf,linear:Ml},_e=e=>{let t=null,r="horizontal",n="crossValues",a,o=["crossValue"],i=null,l=null,s=["include","paddingStrategy","pad"],u={},c=m=>{let p=Cl(e).excludeType(t).settingName(n).settingValue(a)(),h=fy[p],x=h.domain().valueNames(o);s.forEach(y=>{u[y]&&x[y]&&x[y](u[y])}),x.orient&&x.orient(r);let g=x(m);i!==null&&(g=i(g)),l&&typeof g[0]=="number"&&(l[0]=g[0]=Math.min(g[0],l[0]),l[1]=g[1]=Math.max(g[1],l[1]));let A=h.hasOwnProperty("component")?d(h,g,m):f(),_=h==Ml?Kf(g[0],g[1]):void 0;return{scale:h.scale(),domain:g,domainFunction:x,labelFunction:h.labelFunction,component:{bottom:A.bottom,left:A.left,top:A.top,right:A.right},size:A.size,decorate:A.decorate,label:e[n].map(y=>y.name).join(", "),tickFormatFunction:_}},d=(m,p,h)=>m.component(e).orient(r).settingName(n).domain(p)(h),f=()=>({bottom:Qr,left:Jr,top:jr,right:Wt,decorate:()=>{}});return c.memoValue=(...m)=>m.length?(l=m[0],c):l,c.excludeType=(...m)=>m.length?(t=m[0],c):t,c.orient=(...m)=>m.length?(r=m[0],c):r,c.settingName=(...m)=>m.length?(n=m[0],c):n,c.settingValue=(...m)=>m.length?(a=m[0],c):a,c.valueName=(...m)=>m.length?(o=[m[0]],c):o[0],c.valueNames=(...m)=>m.length?(o=m[0],c):o,c.modifyDomain=m=>m?(i=m,c):i,s.forEach(m=>{c[m]=(...p)=>p.length?(u[m]=p[0],c):u[m]}),c},ln=(e,t)=>nd(e,t,(r,n)=>r.svgPlotArea(n),!1),Dl=(e,t)=>nd(e,t,(r,n)=>r.canvasPlotArea(n).svgPlotArea(Ur()),!0),nd=(e,t,r,n)=>{let a=null,o=null,i=Hn({xScale:e.scale,yScale:t.scale,xAxis:e.component,yAxis:t.component}).xDomain(e.domain).xLabel(e.label).xAxisHeight(e.size).xDecorate(e.decorate).xTickFormat(e.tickFormatFunction).yDomain(t.domain).yLabel(t.label).yAxisWidth(t.size).yDecorate(t.decorate).yOrient("left").yTickFormat(t.tickFormatFunction);e.decorate&&i.xDecorate(e.decorate),t.decorate&&i.yDecorate(t.decorate),i.xPaddingInner&&i.xPaddingInner(1),i.xPaddingOuter&&i.xPaddingOuter(.5),i.yPaddingInner&&i.yPaddingInner(1),i.yPaddingOuter&&i.yPaddingOuter(.5),i.axisSplitter=(...s)=>s.length?(a=s[0],i):a,i.altAxis=(...s)=>s.length?(o=s[0],i):o,i.plotArea=function(...s){return s.length==0?n?this.canvasPlotArea():this.svgPlotArea():r(this,...s)};let l=i.decorate();return i.decorate((s,u)=>{let c=s.select("d3fc-svg.plot-area"),d=c.select("svg").node();d.setAttribute("viewBox",`0 0 ${c.node().clientWidth} ${c.node().clientHeight}`),d.setAttribute("preserveAspectRatio","none");for(let f of["x-axis","y-axis"])s.select(`d3fc-svg.${f} svg`).node().setAttribute("preserveAspectRatio","none");if(l(s,u),n){let f=s.select(".svg-plot-area").node(),m=s.select(".canvas-plot-area").node();Oi([f,m]).order()}if(a){if(a.haveSplit()){let f=a.altData(),m=X("d3fc-svg","y2-axis").key(g=>g),p=X("g","y-series").key(g=>g);s.append("div").attr("class","y-label right-label").style("grid-column",5).style("-ms-grid-column",5).style("grid-row",3).style("-ms-grid-row",3).style("width",o.size||"1em").style("display","flex").style("align-items","center").style("justify-content","center").append("span").attr("class","y-label splitter-label").style("transform","rotate(-90deg)");let h=o.scale.domain(o.domain),x=o.component.right(h);if(x.tickFormat(o.tickFormatFunction),o.decorate&&x.decorate(o.decorate),m(s,["right"]).attr("class",g=>`y2-axis ${g}-axis`).on("measure",function(g,A){let{width:_,height:y}=g.detail;A==="left"&&D(g.currentTarget).select("svg").attr("viewBox",`${-_} 0 ${_} ${y}`).attr("preserveAspectRatio","none"),h.range([y,0])}).on("draw",function(g,A){D(g.currentTarget).select("svg").call(x)}),n){let g=A=>{let _=i.plotArea();_.context(A.node().getContext("2d")).xScale(e.scale);let y=[t.scale,h];[u,f].forEach((w,v)=>{_.yScale(y[v]),_(w)})};s.select("d3fc-canvas.plot-area").on("draw",function(A,_){g(D(A.currentTarget).select("canvas"))})}else{let g=function(A){let _=i.plotArea();_.xScale(e.scale);let y=[t.scale,h];p(A,[u,f]).each((w,v,V)=>{_.yScale(y[v]),D(V[v]).datum(w).call(_)})};s.select("d3fc-svg.plot-area").on("draw",function(A,_){g(D(A.currentTarget).select("svg"))})}}a(s)}}),i};function tt(e,t,r){let n=e.select(t);return n.size()>0?n:r()}function Ar(e,t,r="right"){if(r==="right"||r==="bottom")return e[r]<t[r];if(r==="left"||r==="top")return e[r]>t[r];throw`Direction being checked for overflow is invalid: ${r}`}function Cf(e,t,r,n=0){let a=e==="x"?"width":"height",o=t[e],i=t[e]+t[a],l=r[e],s=r[e]+r[a],u=l+n>o&&l-n<i,c=s+n>o&&s-n<i,d=l+n<o&&s-n>i;return u||c||d}var dy=`<ul id="tooltip-values"></ul>
`;function Cr(e,t){switch(e){case"date":case"datetime":return t instanceof Date?t:new Date(parseInt(t)).toLocaleString([],{dateStyle:"short",timeStyle:"medium"});case"integer":return parseInt(t,10);case"float":return parseFloat(t)}return t}function ad(e,t){return t.crossValues.length===0?[]:e.crossValue.length===0?[]:((e.crossValue.split?e.crossValue.split("|"):Array.isArray(e.crossValue)?e.crossValue:[e.crossValue])||[e.key]).map((r,n)=>({name:t.crossValues[n].name,value:Cr(t.crossValues[n].type,r)}))}function od(e,t){if(t.splitValues.length===0)return[];if(e===null)return[];let r=[e.mainValue];return e.key?r=e.key.split("|"):e.mainValue?.split&&(r=e.mainValue.split("|")),t.splitValues.map((n,a)=>({name:n.name,value:Cr(n.type,r[a])}))}function id(e,t){return t.mainValues.length>1?e.mainValues?t.mainValues.map((r,n)=>({name:r.name,value:Cr(r.type,e.mainValues[n])})):t.mainValues.map(r=>({name:r.name,value:Cr(r.type,e.row[my(e.key,r,t.realValues)])})):e===null?[{name:t.mainValues[0].name,value:null}]:[{name:t.mainValues[0].name,value:Cr(t.mainValues[0].type,e.colorValue||e.mainValue-e.baseValue||e.mainValue||e.mainValues)}]}function my(e,t,r){if(!e)return t.name;if(e.includes("|")){let n=e.split("|");return n[n.length-1]===t.name?e:`${r.includes(n[n.length-1])?n.slice(0,n.length-1).join("|"):e}|${t.name}`}return r.includes(e)?t.name:`${e}|${t.name}`}function py(e,t,r){let n=ad(t,r).concat(od(t,r)).concat(id(t,r));hy(e,n)}function hy(e,t){e.select("#tooltip-values").selectAll("li").data(t).join("li").each(function(r){D(this).text(`${r.name}: `).append("b").text(gy(r.value))})}var gy=e=>e==null?"-":e.toLocaleString(void 0,{style:"decimal",minimumFractionDigits:2,maximumFractionDigits:2}),Mf=e=>[e.name,"==",e.value],El=(e,t,r)=>{let n=id(t,r).map(s=>s.name),a=ad(t,r).map(Mf),o=od(t,r).map(Mf),i=r.filter.concat(a).concat(o),l=new Yl(!0,t===null?null:t?.row,n,[],[{filter:i}]);e.tagName!=="PERSPECTIVE-VIEWER"&&(e=e.getRootNode().host.parentElement),e.dispatchEvent(new CustomEvent("perspective-global-filter",{bubbles:!0,composed:!0,detail:l}))},xy=()=>{let e=null,t=r=>{let n=r.node();r.on("click",(a,o)=>El(n,o,e))};return t.settings=(...r)=>r.length?(e=r[0],t):e,t},Wo=()=>{let e=!1,t=null,r=null,n=!1,a=o=>{let i=o.node();if(!i||!i.isConnected){Tf(t);return}let l=D(Fo(i));t=yy(l);let s=function(c,d){py(t,d,r);let f=o.nodes(),m=f.indexOf(this);vy(l.node(),f[m],t,n),D(f[m]).style("opacity","0.7")},u=function(c,d){Tf(t);let f=o.nodes(),m=f.indexOf(this);f&&D(f[m]).style("opacity","1")};e?o.each(function(c){return s.call(this,void 0,c)}):(o.on("mouseover",s).on("mouseout",u),xy().settings(r)(o))};return a.alwaysShow=(...o)=>o.length?(e=o[0],a):e,a.centered=(...o)=>o.length?(n=o[0],a):n,a.settings=(...o)=>o.length?(r=o[0],a):r,a};function yy(e){return tt(e,"div.tooltip",()=>e.append("div").attr("class","tooltip").style("z-index",3).style("opacity",0).html(dy))}function vy(e,t,r,n){let a=e.getBoundingClientRect(),o=t.getBoundingClientRect(),i=o.left+o.width/2-a.left,l=o.top-a.top+e.scrollTop;n&&(l=o.top+o.height/2-a.top+e.scrollTop),r.style("left",`${i}px`).style("top",`${l}px`).style("opacity",.9),n&&([i,l]=by(r,a)),wy(r,a,i,l,n)}function by(e,t){let r=e.node().getBoundingClientRect(),n=r.width/2,a=r.left-n-t.left;e.style("left",`${a}px`);let o=r.height/2,i=r.top-o-t.top;return e.style("top",`${i}px`),[a,i]}function wy(e,t,r,n,a=!1){let o=e.node().getBoundingClientRect();if(Ar(t,o)){let i=o.right-t.right;e.style("left",`${r-i}px`)}if(Ar(t,o,"bottom")){let i=o.bottom-t.bottom;e.style("top",`${n-i}px`)}if(a){if(Ar(t,o,"left")){let i=o.left-t.left;e.style("left",`${r-i}px`)}if(Ar(t,o,"top")){let i=o.top-t.top;e.style("top",`${n-i}px`)}}}function Tf(e){e&&e.style("opacity",0)}function ld(e,t){let r=e.mainValues.length>1?Qi(Gr()):Gr();return r=r.decorate(n=>{Wo().settings(e)(n),n.style("fill",a=>t(a.key))}),vr(Sy(r)).crossValue(n=>n.crossValue).mainValue(n=>n.mainValue?n.mainValue:0).baseValue(n=>n.baseValue)}var Sy=e=>{let t=r=>e(r);return B(t,e),t.bandwidth=(...r)=>r.length?(e.bandwidth(Math.max(r[0],1)),t):e.bandwidth(),t};function Ho(e){return e.split("|").slice(0,-1).join("|")}function sd(e,t){return e.data.map(r=>Object.entries(r).filter(([n,a])=>n.split("|").at(-1)===t&&!!a).map(([n,a])=>a)).flat()}function ua(e){let t=e.data&&e.data.length>0?e.data[0]:{},r=Object.keys(t).filter(n=>n!=="__ROW_PATH__");return jt().settings(e).domain(r)()}function _y(e,t){let r=sd(e,t),n=[...new Set(r)].sort();return jt().settings(e).domain(n)()}function Oo(e,t){let r=[...new Set(t)];return jt().settings(e).domain(r)()}function Ay(e){let t=e.data[0]??{},r=Object.keys(t).filter(a=>a!=="__ROW_PATH__").map(a=>Ho(a)),n=[...new Set(r)];return jt().settings(e).domain(n)()}function jt(){let e=null,t=null,r={},n=o=>qo(o,r.colorStyles&&r.colorStyles.opacity),a=()=>{let o=r.colorStyles,i=t||[o.series];if(i||e.length>1){let l=e.length>1?o.scheme:i;return rt(l.map(n)).domain(e)}return null};return a.domain=(...o)=>o.length===0?e:(e=o[0],a),a.defaultColors=(...o)=>o.length?(t=o[0],a):t,a.mapFunction=(...o)=>o.length?(n=o[0],a):n,a.settings=(...o)=>o.length?(r=o[0],a):r,a}function ca(e){return ia(1)(e)}function qo(e,t=.5){return ia(t)(e)}function ia(e){return t=>{let r=Ae(t);return r!=null&&(r.opacity=e),r+""}}var ky={none:Gf,ordinal:rd,time:ed,linear:Jf},sn=e=>{let t=Cl(e),r="__ROW_PATH__",n=ky[t()],a=(o,i)=>n(r,e)(o);return B(a,t),a.valueName=(...o)=>o.length?(r=o[0],a):r,a};function Uo(e,t,{stack:r=!1,excludeEmpty:n=!1}={}){let a=t||e.data;return e.splitValues.length>0?Vy(e,a,{stack:r,excludeEmpty:n}):[a]}function Vy(e,t,{stack:r=!1,excludeEmpty:n=!1}){let a={};return t.forEach(o=>{let i={},l={};Object.keys(o).filter(s=>s!=="__ROW_PATH__").filter(s=>!n||o[s]!=null&&o[s]!=null).forEach(s=>{let u=s.split("|"),c=u[u.length-1],d=o[s]||0,f=`${c}${d>=0?"+ve":"-ve"}`,m=u.slice(0,u.length-1).join("|"),p=l[m]=l[m]||{__ROW_PATH__:o.__ROW_PATH__},h=i[f]||0;p.__KEY__=m,r?(p[c]=h+d,p[`__BASE_VALUE__${c}`]=h,i[f]=p[c]):p[c]=d,p.row=o}),Object.keys(l).forEach(s=>{(a[s]=a[s]||[]).push(l[s])})}),Object.keys(a).map(o=>{let i=a[o];return i.key=o,i})}function Cy(e,t){let r={stack:!1},n=Uo(e,t,r).map(a=>cd(e,a,r));return e.mainValues.length>1?n.reduce((a,o)=>a.concat(o)):n}function ud(e,t){let r={stack:!0};return Uo(e,t,r).map(n=>cd(e,n,r))}function My(e,t,{stack:r=!1}){let n=sn(e);return a=>{let o=l=>r&&l[`__BASE_VALUE__${a.name}`]||0,i=t.map((l,s)=>({crossValue:n(l,s),mainValue:l[a.name]?l[a.name]:null,baseValue:o(l),key:l.__KEY__?`${l.__KEY__}|${a.name}`:a.name,row:l.row||l}));return i.key=i[0].key,i}}function cd(e,t,{stack:r=!1}){let n=My(e,t,{stack:r});return e.mainValues.length>1?e.mainValues.map(n):n(e.mainValues[0])}var Ty=`<span id="up-arrow">▲</span>
<span id="page-text"></span>
<span id="down-arrow">▼</span>
`;function Dy(e){let t=e.select("g.legendCells"),r=e.node().getBoundingClientRect();if(!Ar(r,t.node().getBoundingClientRect()))return;let n=e.select(".legend");t.selectAll(".label").text((a,o,i)=>{let l=i[o];if(Ar(r,l.getBoundingClientRect())){let s=Ey(l,n,r);return`${a.substring(0,s-3)}...`}else return a})}function Ey(e,t,r){let n=e.getBoundingClientRect(),a=t.node().createSVGPoint(),o=3;return a.x=r.right-n.left-o,a.y=0,e.getCharNumAtPosition(a)}var an=10;function on(e,t,r){let n=D(Tl(e).getContainer()).node().getBoundingClientRect(),a=e.getBoundingClientRect(),o={top:a.top+r-an,right:a.right+t+an,bottom:a.bottom+r+an,left:a.left+t-an},i={x:t,y:r};return[{edge:"right",dimension:"x"},{edge:"left",dimension:"x"},{edge:"top",dimension:"y"},{edge:"bottom",dimension:"y"}].forEach(l=>{if(Ar(n,o,l.edge)){let s=o[l.edge]-n[l.edge];i[l.dimension]=i[l.dimension]-s}}),i}var Nl="resize.for-dragging";function Ny(){let e=!0,t=null,r=n=>{let a=n.node(),o=a.getRootNode().host.closest("perspective-viewer");a.style.cursor="move",t.legend&&(a.style.left=t.legend.left,a.style.top=t.legend.top);let i=Kr().on("drag",function(l){let s=on(this,l.dx,l.dy);this.style.left=`${this.offsetLeft+s.x}px`,this.style.top=`${this.offsetTop+s.y}px`;let u={left:this.style.left,top:this.style.top};t.legend={...t.legend,...u},e=Py(a)?By(a):zy(a,e)});i.on("end",function(l){D(window).on(Nl,null),o?.dispatchEvent(new Event("perspective-config-update"))}),n.call(i)};return r.settings=(...n)=>n.length?(t=n[0],r):t,r}function zy(e,t){return t!==!1&&D(window).on(Nl,function(){let r=on(e,0,0);e.style.left=`${e.offsetLeft+r.x}px`,e.style.top=`${e.offsetTop+r.y}px`}),!1}function By(e){return D(window).on(Nl,null),e.style.left="auto",!0}function Py(e){let t=e.getBoundingClientRect(),r=D(Fo(e)).node().getBoundingClientRect(),n=5;return t.right+an+n>=r.right&&t.top-an-n<=r.top}var Df="horizontal-drag-handle",Ef="vertical-drag-handle",Iy="corner-drag-handle",fd="dragHandles",Nf=0,Xt="resize";function Ry(){let e=9,t=3,r=null,n={height:100,width:100},a={height:null,width:null},o=[],i=(c,d)=>o.filter(f=>f.event===c).forEach(f=>f.execute(d)),l=c=>{if(Ly(c))return;let d={left:S=>i(Xt,{horizontal:N(S),vertical:!1}),top:S=>i(Xt,{horizontal:!1,vertical:P(S)}),right:S=>i(Xt,{horizontal:k(S),vertical:!1}),bottom:S=>i(Xt,{horizontal:!1,vertical:T(S)}),topleft:S=>i(Xt,{horizontal:N(S),vertical:P(S)}),topright:S=>i(Xt,{horizontal:k(S),vertical:P(S)}),bottomright:S=>i(Xt,{horizontal:k(S),vertical:T(S)}),bottomleft:S=>i(Xt,{horizontal:N(S),vertical:T(S)})},f=c.node();r.legend&&(f.style.height=r.legend.height,f.style.width=r.legend.width);let m=f.getBoundingClientRect(),p=c.append("svg").attr("id",fd).attr("width",m.width).attr("height",m.height),h=p.append("g"),x=S=>S==="left"||S==="right",g={left:0,top:e,right:m.width-e,bottom:e},A={left:e,top:0,right:e,bottom:m.height-e},_=["left","top","right","bottom"],[y,w,v,V]=_.map(S=>h.append("rect").attr("id",`drag${S}`).attr("class",x(S)?Ef:Df).attr("y",A[S]).attr("x",g[S]).attr("height",x(S)?m.height-e*2:e).attr("width",x(S)?e:m.width-e*2).attr("fill",x(S)?"lightgreen":"lightblue").attr("fill-opacity",Nf).style("z-index",t).attr("cursor",x(S)?"ew-resize":"ns-resize").call(Kr().on("drag",d[S]))),M=S=>`${S[0]}${S[1]}`,F={topleft:"nwse",topright:"nesw",bottomright:"nwse",bottomleft:"nesw"},H=[["top","left"],["top","right"],["bottom","right"],["bottom","left"]],[z,G,I,b]=H.map(S=>h.append("rect").attr("id",`drag${M(S)}`).attr("class",`${Iy} ${S[0]} ${S[1]}`).attr("height",e).attr("width",e).attr("fill","red").attr("fill-opacity",Nf).style("z-index",t).attr("cursor",`${F[M(S)]}-resize`).call(Kr().on("drag",d[M(S)])));q("height","y",V),q("width","x",v),$(p);function N(S){let C=u(on(y.node(),S.x,0).x,p,"width",(O,U)=>O-U);return f.style.left=`${f.offsetLeft+C}px`,f.style.width=`${f.offsetWidth-C}px`,L(),E(v,C,"width","x")}function k(S){let C=-u(on(v.node(),S.dx,0).x,p,"width",(O,U)=>O+U);return s(C,"x",v,S)?!1:(f.style.width=`${f.offsetWidth-C}px`,L(),E(v,C,"width","x"))}function P(S){let C=u(on(w.node(),0,S.y).y,p,"height",(O,U)=>O-U);return f.style.top=`${f.offsetTop+C}px`,f.style.height=`${f.offsetHeight-C}px`,L(),E(V,C,"height","y")}function T(S){let C=-u(on(V.node(),0,S.dy).y,p,"height",(O,U)=>O+U);return s(C,"y",V,S)?!1:(f.style.height=`${f.offsetHeight-C}px`,L(),E(V,C,"height","y"))}function L(){let S={top:f.style.top,left:f.style.left,height:f.style.height,width:f.style.width};r.legend={...r.legend,...S}}function E(S,C,O,U){return Fy(p,O,C),$y(S,U,C),Oy(p,C,O,O==="height"?Ef:Df),$(p),C!=0}function $(S){z.attr("y",0),G.attr("y",0).attr("x",S.attr("width")-e),I.attr("y",S.attr("height")-e).attr("x",S.attr("width")-e),b.attr("y",S.attr("height")-e).attr("x",0)}function q(S,C,O){a[S]&&a[S]<m[S]&&(f.style[S]=`${a[S]}px`,E(O,m[S]-a[S],S,C))}};l.on=(c,d)=>(o.push({event:c,execute:d}),l),l.zIndex=c=>(t=c,l),l.settings=(...c)=>c.length?(r=c[0],l):r,l.minWidth=c=>(n.width=c,a.width&&(a.width=Math.max(n.width,a.width)),l),l.minHeight=c=>(n.height=c,a.height&&(a.height=Math.max(n.height,a.height)),l),l.handleWidth=c=>(e=c,l),l.maxWidth=c=>(a.width=c,n.width=Math.min(n.width,a.width),l),l.maxHeight=c=>(a.height=c,n.height=Math.min(n.height,a.height),l);function s(c,d,f,m){let p=(x,g,A,_)=>x<0&&_[g]<Number(A.attr(g)),h=(x,g,A,_)=>x>0&&_[g]>Number(A.attr(g));return p(c,d,f,m)||h(c,d,f,m)}function u(c,d,f,m){let p=m(Number(d.attr(f)),c);if(p<n[f]){let h=n[f]-p;return m(c,h)}if(a[f]&&p>a[f]){let h=a[f]-p;return m(c,h)}return c}return l}var Oy=(e,t,r,n)=>{e.selectAll(`.${n}`).each((a,o,i)=>{let l=i[o];D(l).attr(r,l.getBoundingClientRect()[r]-t)})},Ly=e=>e.select(`#${fd}`).size()>0,$y=(e,t,r)=>e.attr(t,Number(e.attr(t))-r),Fy=(e,t,r)=>e.attr(t,e.node().getBoundingClientRect()[t]-r),zf=16,Bf=20,dd=(e,t)=>{let r=e||Io(),n=[],a=1,o,i=t.legend&&t.legend.pageIndex?t.legend.pageIndex:0,l=()=>{},s=Ny().settings(t),u,c=y=>{n=r.scale().domain(),u=Ry().settings(t).maxHeight(n.length*zf+Bf).on("resize",()=>d(y)),u(y),s(y),d(y)},d=y=>{x(y),f(y),m(y),Dy(y)},f=y=>{let w=A(y);w.style("display",a<=1?"none":"block"),w.select("#page-text").text(`${i+1}/${a}`),w.select("#up-arrow").attr("class",i===0?"disabled":"").on("click",()=>{i>0&&(p(i-1),d(y))}),w.select("#down-arrow").attr("class",i>=a-1?"disabled":"").on("click",()=>{i<a-1&&(p(i+1),d(y))})},m=y=>{a>1&&r.cellFilter(h()),y.select("g.legendCells").remove();let w=_(y);w.call(r);let v=y.select("g.legendCells").node().getBBox();w.attr("height",v.height+Bf),l(y)},p=y=>{i=y,t.legend={...t.legend,pageIndex:i}},h=()=>(y,w)=>w>=o*i&&w<o*i+o,x=y=>{let w=y.node().getBoundingClientRect(),v=Math.floor(w.height/zf)-1;o=v<n.length?v-1:v,a=g(v),i=Math.min(i,a-1)},g=y=>Math.ceil(n.length/y),A=y=>tt(y,".legend-controls",()=>y.append("g").attr("class","legend-controls").html(Ty)),_=y=>tt(y,".legend",()=>y.append("svg").attr("class","legend"));return c.decorate=(...y)=>y.length?(l=y[0],c):l,B(c,r),c},md=e=>dd(Io().shape("circle").shapeRadius(6),e),Yy=e=>dd(Af().shapePadding(1).labelOffset(3),e),Qt=()=>zl(md),Al=()=>zl(Yy,pd),Wy=()=>zl(md,pd);function pd(e){if(!e)return null;let t=e.domain(),r=e.range().map(n=>Ot().type(n)());return rt().domain(t).range(r)}function zl(e,t=void 0){let r={},n=null,a=null,o=i=>{if(n&&n.range().length>1){let l=e(r);l.scale(n).orient("vertical").on("cellclick",function(u){let c=this.__data__;r.hideKeys=r.hideKeys||[],r.hideKeys.includes(c)?r.hideKeys=r.hideKeys.filter(d=>d!==c):r.hideKeys.push(c),Tl(this)._draw()}),l.labels(u=>{let c=String(u.domain[u.i]).split("|");return r.mainValues.length<=1&&c.length>1?c.slice(0,c.length-1).join("|"):u.domain[u.i]});let s=tt(i,"div.legend-container",()=>i.append("div"));l.decorate(u=>{let c=f=>r.hideKeys&&r.hideKeys.includes(f),d=u.select("g.legendCells").attr("transform","translate(20,20)").selectAll("g.cell");d.classed("hidden",c),d.append("title").html(f=>f),a&&d.select("circle, path").style("fill",f=>c(f)?null:a(f)).style("stroke",f=>c(f)?null:ca(a(f)))}),s.attr("class","legend-container").attr("borderbox-on-hover",!0).style("z-index","2").call(l)}};return o.settings=(...i)=>i.length===0?r:(r=i[0],o),o.scale=(...i)=>i.length?(n=t?t(i[0]):i[0],o):n,o.color=(...i)=>i.length?(a=i[0],o):a,o}function un(e,t=void 0){let r=t||e.data;return(e.hideKeys?.length??0)>0?r.map(n=>{let a={...n};return e.hideKeys.forEach(o=>{delete a[o]}),a}):r}function Bl(e){let t=e.data,r=e.hideKeys?.length??0,n=e.splitValues.length;return r>0?n===0?t.filter(a=>Object.values(a).reduce((o,i)=>o&&!e.hideKeys.includes(i),!0)):t.map(a=>{let o=Object.entries(a).filter(([i,l])=>!e.hideKeys.includes(Ho(i)));return Object.fromEntries(o)}):t}var Hy=e=>(t,r)=>t.style("stroke-width",n=>"1.0").style("stroke",n=>Pl(n,e));function Pl(e,t){return e===0?t?t.textStyles.color:"#666":t?t.colorStyles.grid.gridLineColor:"#bbb"}var qy=e=>(t,r)=>{t.strokeStyle=Pl(r,e),t.lineWidth=1},Uy=(e,t)=>e.style("display","none"),Gy=e=>(t,r)=>{t.lineWidth=1,t.strokeStyle=Pl(r,e)},Vt=(e,t)=>{let r="both",n=!1,a=null,o=null,i=null,l=$e(),s=tl(),u=Hy(t),c=Uy,d=function(...f){n&&(l=ft().context(i),s=rl(),u=qy(t),c=Gy(t));let m=l.xScale(a).yScale(o),p=r==="vertical"?c:u,h=r==="horizontal"?c:u,x=s.xDecorate(p).yDecorate(h);return m.series([x,e])(...f)};return d.orient=(...f)=>f.length?(r=f[0],d):r,d.canvas=(...f)=>f.length?(n=f[0],d):n,d.xScale=(...f)=>f.length?(a=f[0],d):a,d.yScale=(...f)=>f.length?(o=f[0],d):o,d.context=(...f)=>f.length?(i=f[0],d):i,d},Jt=()=>{let e=Xf(),t=r=>{let n=e.pad(),a=e.padUnit(),o=1;switch(a){case"domain":break;case"percent":{o=r[1]-r[0];break}default:throw new Error("Unknown padUnit: "+a)}let i=r[0]-n[0]*o,l=r[1]+n[1]*o;return r[0]=r[0]>=0&&i<0?0:i,r[1]=r[1]<=0&&l>0?0:l,r};return t.pad=function(...r){return e.pad()},t.padUnit=function(...r){return e.padUnit()},B(t,e),t},Xy=`<button id="zoom-reset">Reset zoom</button>
<button id="one-year">1 Year</button>
<button id="six-months">6 Months</button>
<button id="one-month">1 Month</button>
`,Ct=()=>{let e=null,t=null,r=null,n=null,a=null,o=null,i=!1,l=!1,s=()=>{};function u(m){let p=`d3fc-${l?"canvas":"svg"}.plot-area`;if(r||a){let h=n&&n.domain()[0]instanceof Date,x=zo().on("zoom",A=>{let{transform:_}=A;t.zoom={k:_.k,x:_.x,y:_.y},c(_),m.call(e);let y=_.k===1&&_.x===0&&_.y===0,w=d(m).style("display",y?"none":"");w.select("#zoom-reset").on("click",()=>m.select(p).call(x.transform,bt));let v=w.select("#one-year").style("display",h?"":"none"),V=w.select("#six-months").style("display",h?"":"none"),M=w.select("#one-month").style("display",h?"":"none");if(h){let F=H=>()=>{let z=new Date(r.domain()[0]),G=new Date(z);H(z,G);let I=n.range(),b=(I[1]-I[0])/(n(G)-n(z)),N=-n(z)*b,k=0;if(a){let P=a.domain().reduce((T,L)=>T+L)/2;k=-o(P)*b+a(P)}m.select(p).call(x.transform,bt.translate(N,k).scale(b))};v.on("click",F((H,z)=>z.setYear(H.getFullYear()+1))),V.on("click",F((H,z)=>z.setMonth(H.getMonth()+6))),M.on("click",F((H,z)=>z.setMonth(H.getMonth()+1)))}}),g=e.decorate();e.decorate((A,_)=>{if(g(A,_),!i){i=!0;let y=A.select(p),w=l?window.devicePixelRatio:1;y.on("measure.zoom-range",v=>{if(n&&n.range([0,v.detail.width/w]),o&&o.range([0,v.detail.height/w]),t.zoom){let V=bt.translate(t.zoom.x,t.zoom.y).scale(t.zoom.k);y.call(x.transform,V)}}).call(x)}})}m.call(e)}u.chart=(...m)=>m.length?(e=m[0],u):e,u.settings=(...m)=>m.length?(t=m[0],u):t,u.xScale=(...m)=>m.length?(r=f(m[0]),n=r?r.copy():null,u):r,u.yScale=(...m)=>{if(!m.length)return a;if(a=f(m[0]),o=a?a.copy():null,o){let p=o.domain();o.domain([p[1],p[0]])}return u},u.canvas=(...m)=>m.length?(l=m[0],u):l,u.onChange=(...m)=>m.length?(s=m[0],u):s;let c=m=>{let p={...m};if(r&&(r.domain(m.rescaleX(n).domain()),p.xDomain=r.domain()),a){let h=m.rescaleY(o).domain();a.domain([h[1],h[0]]),p.yDomain=a.domain()}s(p)},d=m=>tt(m,".zoom-controls",()=>m.append("div").attr("class","zoom-controls").style("display","none").html(Xy)),f=m=>m&&m.nice?m:null;return u};function hd(e,t){let r=ud(t,un(t)),n=ua(t),a=Qt().settings(t).scale(n),o=ld(t,n).orient("horizontal"),i=$e().mapping((d,f)=>d[f]).series(r.map(()=>o)),l=_e(t).settingName("mainValues").valueName("mainValue").memoValue(t.axisMemo[0]).excludeType(xe.ordinal).include([0]).paddingStrategy(Jt())(r),s=_e(t).excludeType(xe.linear).settingName("crossValues").valueName("crossValue").orient("vertical")(r),u=ln(l,s).plotArea(Vt(i,t).orient("horizontal"));u.yPaddingInner&&(u.yPaddingInner(.5),u.yPaddingOuter(.25),o.align("left")),u.xNice&&u.xNice();let c=Ct().chart(u).settings(t).yScale(s.scale);e.datum(r).call(c),e.call(a)}hd.plugin={name:"X Bar",category:"X Chart",max_cells:1e3,max_columns:50,render_warning:!0,initial:{names:["X Axis"]}};var jy=hd,Qy=(e,t)=>{if(!Pf(e)||!Pf(t))return;let r=If(e),n=If(t);r>n?t[0]=Rf(t,r):e[0]=Rf(e,n)},Pf=e=>e.length===2&&!isNaN(e[0])&&!isNaN(e[1])&&e[0]!==e[1],If=e=>(0-e[0])/(e[1]-e[0]),Rf=(e,t)=>t*e[1]/(t-1),Jy=e=>{let t=[],r=!1,n,a=i=>{i.text("");let l=X("span","splitter-label").key(c=>c),s=!r&&t.length===1,u=n&&e.splitValues.length===0;l(i,t).classed("disabled",s).text(c=>c.name).style("color",c=>u?ca(n(c.name)):void 0).on("click",(c,d)=>{s||(r?e.splitMainValues=e.splitMainValues.filter(f=>f!=d.name):e.splitMainValues=[d.name].concat(e.splitMainValues||[]),c.target.getRootNode().host.closest("perspective-viewer")?.dispatchEvent(new Event("perspective-config-update")),o(i))})},o=i=>{let l=Tl(i.node());l._container.innerHTML="",l._draw()};return a.labels=(...i)=>i.length?(t=i[0],a):t,a.alt=(...i)=>i.length?(r=i[0],a):r,a.color=(...i)=>i.length?(n=i[0],a):n,a},Go=(e,t,r=Ky)=>{let n,a,o,i=e.splitMainValues||[],l=c=>{let d=c.split("|");return i.includes(d[d.length-1])},s=e.mainValues.some(c=>l(c.name));a=s?r(t,c=>!l(c)):t,o=s?r(t,l):null;let u=c=>{if(e.mainValues.length===1)return;let d=e.mainValues.map((h,x)=>({index:x,name:h.name})),f=d.filter(h=>!l(h.name)),m=d.filter(h=>l(h.name)),p=()=>Jy(e).color(n);c.select(".y-label.left-label").call(p().labels(f)),c.select(".y-label.right-label").call(p().labels(m).alt(!0))};return u.color=(...c)=>c.length?(n=c[0],u):n,u.haveSplit=()=>s,u.data=(...c)=>c.length?(a=c[0],u):a,u.altData=(...c)=>c.length?(o=c[0],u):o,u},Ky=(e,t)=>e.map(r=>r.filter(n=>t(n.key))),gd=(e,t)=>e.map(r=>t(r.key)?r:r.map(n=>Object.assign({},n,{mainValue:null}))),Zy=(e,t)=>e.map(r=>gd(r,t));function xd(e,t){let r=ud(t,un(t)),n=ua(t),a=Qt().settings(t).scale(n),o=ld(t,n).orient("vertical"),i=$e().mapping((h,x)=>h[x]).series(r.map(()=>o)),l=_e(t).excludeType(xe.linear).settingName("crossValues").valueName("crossValue")(r),s=_e(t).settingName("mainValues").valueName("mainValue").memoValue(t.axisMemo[1]).excludeType(xe.ordinal).orient("vertical").include([0]).paddingStrategy(Jt()),u=t.mainValues.length>1?Zy:gd,c=Go(t,r,u).color(n),d=s(c.data()),f=c.haveSplit()?i:Vt(i,t).orient("vertical"),m=ln(l,d).axisSplitter(c).plotArea(f);m.xPaddingInner&&(m.xPaddingInner(.5),m.xPaddingOuter(.25),o.align("left")),m.yNice&&m.yNice();let p=Ct().chart(m).settings(t).xScale(l.scale);if(c.haveSplit()){let h=s(c.altData());Qy(d.domain,h.domain),m.yDomain(d.domain).altAxis(h)}e.datum(c.data()).call(p),e.call(a)}xd.plugin={name:"Y Bar",category:"Y Chart",max_cells:1e3,max_columns:50,render_warning:!0,initial:{names:["Y Axis"]}};var ev=xd;function Il(e,t){let r=gr(),n=e.data.length*(e.data?.length>0?Object.keys(e.data[0]).length-(e.crossValues?.length>0?1:0):0),a=Math.max(1,Math.min(3,Math.floor(e.size.width/n/2)));return r=r.decorate(o=>{o.style("stroke",i=>ca(t(i[0]&&i[0].key))).style("stroke-width",a)}),r.crossValue(o=>o.crossValue).mainValue(o=>o.mainValue)}function tv(e,t){let r=sn(e);return t.map((n,a)=>Object.keys(n).filter(o=>o!=="__ROW_PATH__").map(o=>({key:o,crossValue:r(n,a),mainValue:n[o],row:n})))}var yd=function(e){let t=[];for(let r of e)for(let n=0;n<r.length;n++)r[n].mainValue!==null&&(t[n]=t[n]||[],t[n].push(r[n]));return t},Of=(e,t,r=Math.min)=>{let n=i=>i.reduce((l,s)=>{let u=a(s);return u&&(!l||r(l.value,u.value)===u.value)?u:l},null),a=i=>{if(Array.isArray(i))return n(i);let l=t(i);return l!==null?{item:i,value:l}:null},o=n(e);return o?o.item:null},Mr=()=>{let e=Wo().alwaysShow(!0),t=null,r=null,n=null,a=null,o=!1,i=null,l="crossValue",s="mainValue",u=null,c=1,d=p=>{let h=`d3fc-${o?"canvas":"svg"}.plot-area`;if(t||r){let x=null,g=ul().on("point",A=>{let _=A.length?m(A[0]):null;x=_?[_.data]:[];let y=_?_.scale:r;f(p,x,y)});p.select(h).on("measure.nearbyTip",()=>f(p,[])).on("click",()=>{x.length&&El(p.node(),x[0],e.settings())}).call(g)}},f=(p,h,x=r)=>{let g=p.select("d3fc-svg.plot-area svg").selectAll("circle.nearbyTip").data(h);g.exit().remove(),g.enter().append("circle").attr("class","nearbyTip").merge(g).attr("r",A=>a?c*Math.sqrt(a(A.size)):10).attr("transform",A=>A!==null?`translate(${t(A[l])},${x(A[s])})`:"").style("stroke","none").style("fill",A=>n&&A?.key&&qo(n(A.key))),e(g)},m=p=>{let h=A=>_=>_[s]===void 0||_[s]===null||_[l]===void 0||_[l]===null?null:Math.sqrt(Math.pow(t(_[l])-p.x,2)+Math.pow(A(_[s])-p.y,2)),x=h(r),g=Of(i,x,Math.min);if(u){let A=h(u.yScale),_=Of(u.data,A,Math.min);return x(g)<=A(_)?{data:g,scale:r}:{data:_,scale:u.yScale}}return{data:g,scale:r}};return d.scaleFactor=(...p)=>p.length?(c=p[0],d):c,d.xScale=(...p)=>p.length?(t=p[0],d):t,d.yScale=(...p)=>p.length?(r=p[0],d):r,d.color=(...p)=>p.length?(n=p[0],d):n,d.size=(...p)=>p.length?(a=p[0]?p[0].copy().range([40,4e3]):null,d):a,d.canvas=(...p)=>p.length?(o=p[0],d):o,d.data=(...p)=>p.length?(i=p[0],d):i,d.xValueName=(...p)=>p.length?(l=p[0],d):l,d.yValueName=(...p)=>p.length?(s=p[0],d):s,d.altDataWithScale=(...p)=>p.length?(u=p[0],d):u,d.settings=(...p)=>p.length?(e.settings(p[0]),d):e.settings(),B(d,e),d};function vd(e,t){let r=tv(t,un(t)),n=ua(t),a=Qt().settings(t).scale(n),o=Yt().series(Il(t,n)).orient("horizontal"),i=Jt().pad([.1,.1]).padUnit("percent"),l=Go(t,yd(r)).color(n),s=_e(t).excludeType(xe.linear).settingName("crossValues").valueName("crossValue")(r),u=_e(t).settingName("mainValues").valueName("mainValue").memoValue(l.haveSplit()?null:t.axisMemo[0]).orient("vertical").paddingStrategy(i),c=u(l.data()),d=Vt(o,t).orient("vertical"),f=ln(s,c).axisSplitter(l).plotArea(d);f.yNice&&f.yNice();let m=Ct().chart(f).settings(t).xScale(s.scale),p=Mr().settings(t).xScale(s.scale).yScale(c.scale).color(n).data(r);if(l.haveSplit()){let x=u(l.altData());f.altAxis(x),p.data(l.data()).altDataWithScale({yScale:x.scale,data:l.altData()})}let h=l.data();e.datum(h).call(m),e.call(p),e.call(a)}vd.plugin={name:"Y Line",category:"Y Chart",max_cells:4e3,max_columns:50,render_warning:!0,initial:{names:["Y Axis"]}};var rv=vd,bl=Math.sqrt(3),nv={draw:function(e,t){let r=Math.sqrt(t/(bl*3));e.moveTo(0,r*2),e.lineTo(-bl*r,-r),e.lineTo(bl*r,-r),e.closePath()}},av=[Rt,Ua,Ga,Xa,ja,Qa,Ja],bd={circle:Rt,square:Xa,cross:Ua,diamond:Ga,star:ja,triangle:Qa,wye:Ja,nabla:nv};function Rl(e){return e.length>1?rt().domain(e).range(av):null}var ov=8,iv=1;function lv(e,t,r,n,a,o,i=1){let l=Za().crossValue(s=>s.x).mainValue(s=>s.y);return o&&l.type(s=>o(s.row[t])),r&&l.size(s=>Math.round(i*r(s.size))),l.decorate((s,u)=>{let c=n(u.colorValue),d=e.colorStyles?.opacity;if(a){let{type:f}=e.mainValues.find(p=>p.name===a),m=Cr(f,u.row[a]);if(m!==null){s.fillStyle=e.textStyles.color,s.font=e.textStyles.font;let p=0;r&&(p=Math.sqrt(i*r(u.size)/Math.PI)*iv);let h=p+ov;s.fillText(m,h,4)}}s.strokeStyle=ca(c),s.fillStyle=qo(c,d)}),l}function sv(e,t){let r=[...new Set(sd(e,t))];return Rl(r)}function uv(e){let t=e.data&&e.data.length>0?e.data[0]:{},r=[];return Object.keys(t).forEach(n=>{if(n!=="__ROW_PATH__"){let a=Ho(n);r.includes(a)||r.push(a)}}),Rl(r)}function cv(e,t){let r=e.mainValues.length;return t.map(n=>{let a=Object.keys(n).filter(i=>i!=="__ROW_PATH__"),o=new Array(a.length/r);for(let i=0;i<a.length/r;i++)o[i]={key:Ho(a[i*r]),crossValue:n[a[i*r]],mainValue:n[a[i*r+1]],row:n};return o})}function wd(e,t){let r=yd(cv(t,Bl(t))),n=Ay(t),a=uv(t),o=null;n.domain().length>=2&&(o=Wy().settings(t).scale(a).color(n));let i=Yt().series(Il(t,n)).orient("horizontal"),l=Jt().pad([.1,.1]).padUnit("percent"),s=_e(t).settingName("mainValues").settingValue(t.mainValues[0].name).valueName("crossValue").memoValue(t.axisMemo[0]).paddingStrategy(l),u=_e(t).settingName("mainValues").settingValue(t.mainValues[1].name).valueName("mainValue").memoValue(t.axisMemo[1]).orient("vertical").paddingStrategy(l)(r),c=s(r),d=Vt(i,t).orient("vertical"),f=ln(c,u).xLabel(t.mainValues[0].name).yLabel(t.mainValues[1].name).plotArea(d);f.xNice&&f.xNice(),f.yNice&&f.yNice();let m=Ct().chart(f).settings(t).xScale(c.scale).yScale(u.scale),p=Mr().settings(t).xScale(c.scale).yScale(u.scale).color(n).data(r);e.datum(r).call(m),e.call(p),o&&e.call(o)}wd.plugin={name:"X/Y Line",category:"X/Y Chart",max_cells:5e4,max_columns:50,render_warning:!0,initial:{type:"number",count:2,names:["X Axis","Y Axis","Tooltip"]},selectMode:"toggle"};var fv=wd;function dv(e,t){let r=qi();return r=r.decorate(n=>{n.style("fill",a=>t(a[0].key)).style("opacity",.5)}),r.crossValue(n=>n.crossValue).mainValue(n=>n.mainValue).baseValue(n=>n.baseValue)}function mv(e,t){let r=sn(e);return t.map((n,a)=>{let o={};return Object.keys(n).filter(i=>i!=="__ROW_PATH__").map(i=>{let l=i.split("|"),s=l[l.length-1],u=o[s]||0,c=u+n[i];return o[s]=c,{key:i,crossValue:r(n,a),mainValue:isNaN(c)?0:c,baseValue:isNaN(u)?0:u,row:n}})})}function Sd(e,t){let r=mv(t,un(t)),n=ua(t),a=Qt().settings(t).scale(n),o=Yt().series(dv(t,n).orient("vertical")),i=Yt().series(Il(t,n)).orient("vertical"),l=$e().series([o,i]),s=_e(t).excludeType(xe.linear).settingName("crossValues").valueName("crossValue")(r),u=_e(t).settingName("mainValues").valueName("mainValue").memoValue(t.axisMemo[1]).excludeType(xe.ordinal).orient("vertical").include([0]).paddingStrategy(Jt()),c=Go(t,r).color(n),d=u(c.data()),f=c.haveSplit()?l:Vt(l,t).orient("vertical"),m=ln(s,d).axisSplitter(c).plotArea(f);m.yNice&&m.yNice();let p=Ct().chart(m).settings(t).xScale(s.scale),h=Mr().settings(t).xScale(s.scale).yScale(d.scale).color(n).data(r);if(c.haveSplit()){let x=u(c.altData());m.altAxis(x),h.data(c.data()).altDataWithScale({yScale:x.scale,data:c.altData()})}e.datum(c.data()).call(p),e.call(h),e.call(a)}Sd.plugin={name:"Y Area",category:"Y Chart",max_cells:4e3,max_columns:50,render_warning:!0,initial:{names:["Y Axis"]}};var pv=Sd;function hv(e,t,r,n){let a=Ur().size(100),o=e.colorStyles&&e.colorStyles.opacity;return n&&a.type(n(t)),a.decorate(i=>{i.style("stroke",l=>ca(r(l.colorValue||t))).style("fill",l=>qo(r(l.colorValue||t),o))}),a.crossValue(i=>i.crossValue).mainValue(i=>i.mainValue)}function gv(e){let t=e.data&&e.data.length>0?e.data[0]:{},r=Object.keys(t).filter(n=>n!=="__ROW_PATH__");return Rl(r)}function _d(e,t){let r=Cy(t,un(t)),n=gv(t),a=ua(t),o=Al().settings(t).scale(n).color(a),i=$e().mapping((x,g)=>x[g]).series(r.map(x=>hv(t,x.key,a,n))),l=Jt().pad([.05,.05]).padUnit("percent"),s=_e(t).excludeType(xe.linear).settingName("crossValues").valueName("crossValue")(r),u=_e(t).settingName("mainValues").valueName("mainValue").memoValue(t.axisMemo[1]).orient("vertical").paddingStrategy(l),c=Go(t,r).color(a),d=u(c.data()),f=c.haveSplit()?i:Vt(i,t).orient("vertical"),m=ln(s,d).axisSplitter(c).plotArea(f);m.yNice&&m.yNice();let p=Ct().chart(m).settings(t).xScale(s.scale),h=Mr().settings(t).xScale(s.scale).yScale(d.scale).color(a).data(r);if(c.haveSplit()){let x=u(c.altData());m.altAxis(x),h.data(c.data()).altDataWithScale({yScale:x.scale,data:c.altData()})}e.datum(c.data()).call(p),e.call(h),o&&e.call(o)}_d.plugin={name:"Y Scatter",category:"Y Chart",max_cells:4e3,max_columns:50,render_warning:!0,initial:{names:["Y Axis"]}};var xv=_d;function yv(e,t){return Uo(e,t,{excludeEmpty:!0}).map(r=>vv(e,r))}function vv(e,t){let r=sn(e),n=t.map((a,o)=>({crossValue:r(a,o),mainValues:e.mainValues.map(i=>a[i.name]),x:a[e.mainValues[0].name],y:a[e.mainValues[1].name],colorValue:e.realValues[2]?a[e.realValues[2]]:void 0,size:e.realValues[3]?a[e.realValues[3]]:void 0,key:t.key,row:a}));return n.key=t.key,n}function bv(e,t,r,n){return me().domain(Ad(t,r,n))}function Xo(e,t,r,n=null){let a=Ad(t,r,n),o=e.colorStyles.gradient.full;if(a[0]>=0)o=e.colorStyles.gradient.pos;else if(a[1]<=0)o=e.colorStyles.gradient.neg;else{let l=Math.max(-a[0],a[1]);a=[-l,l]}let i=wv(o);return Mn(i).domain(a)}var Ad=(e,t,r)=>r||Qf().valueName(t).pad([0,0])(e),wv=e=>{let t=e.slice(1).map((r,n)=>ke(e[n][1],r[1]));return r=>{let n=e.findIndex((l,s)=>s<e.length-1&&r<=e[s+1][0]&&r>l[0]);if(n===-1)return r<=e[0][0]?e[0][1]:e[e.length-1][1];let a=t[n],[o]=e[n],[i]=e[n+1];return a((r-o)/(i-o))}};function jo(){let e=null;function t(r){let n=tt(r,"div.legend-container",()=>r.append("div").attr("class","legend-container legend-color").style("z-index","2")),{width:a,height:o}=n.node().getBoundingClientRect(),i=nt().domain([0,1]).range([0,a]),l=e.copy().nice().domain(),s=Tn().pad([.1,.1]).padUnit("percent")(l),[u,c]=s,d=Mt(u,c,(c-u)/o),f=me().domain(s).range([o,0]),m=vr(Gr()).xScale(i).yScale(f).crossValue(0).baseValue((w,v)=>d[Math.max(0,v-1)]).mainValue(w=>w).decorate(w=>{w.selectAll("path").style("fill",v=>e(v))}),p=l[0]<0&&l[1]>0?0:Math.round((l[1]+l[0])/2),h=[...l,p],x=jf(u,c),g=Wt(f).tickValues(h).tickSizeOuter(0).tickFormat(w=>x(w)),A=tt(n,"svg",()=>n.append("svg")).style("width",a).style("height",o),_=tt(A,"g",()=>A.append("g")).datum(d).call(m),y=Math.abs(_.node().getBBox().x);tt(A,"#legend-axis",()=>A.append("g").attr("id","legend-axis")).attr("transform",`translate(${y})`).datum(d).call(g).select(".domain").attr("visibility","hidden")}return t.scale=(...r)=>r.length?(e=r[0],t):e,t}function Ol(){let e="element-prefix-unset",t=null,r=null,n=null,a=null,o=null,i=null,l=!0,s=null,u=c=>{let d=tt(c,"div.outer-container",()=>c.append("div").attr("class","outer-container").style("width",`calc(100% - ${s??0})`).style("height",`calc(100% - ${s??0})`).style("padding-left",s??0)),f=tt(d,"div.inner-container",()=>d.append("div").attr("class","inner-container")),m=d.node().getBoundingClientRect(),p=m.height,h=m.width-(o?70:0),x=300,g=c.datum(),A=Math.max(1,Math.min(g.length,Math.floor(h/x))),_=Math.ceil(g.length/A);i={width:h/Math.max(A,1),height:Math.min(p,Math.max(p/_,h/Math.max(A,1)))},p/_>i.height*.75&&(i.height=p/_),g.length>1?(f.style("grid-template-columns",`repeat(${A}, ${100/A}%)`),f.style("grid-template-rows",`repeat(${_}, ${i.height}px)`)):(f.style("grid-template-columns","repeat(1, 100%)"),f.style("grid-template-rows","repeat(1, 100%)")),n=f.selectAll(`div.${e}-container`).data(g,y=>y.split),n.exit().remove(),r=n.enter().append("div").attr("class",`${e}-container`),a=r.append("div").attr("class","title-container").style("text-align","center").attr("display","inline-block").append("text").attr("class","title").style("text-align","left"),l?t=r.append("svg").append("g").attr("class",e):t=r.append("div").attr("class",e)};return u.padding=(...c)=>c.length?(s=c[0],u):s,u.svg=(...c)=>c.length?(l=c[0],u):l,u.elementsPrefix=(...c)=>c.length?(e=c[0],u):e,u.chartContainer=()=>t,u.chartEnter=()=>r,u.chartDiv=()=>n,u.chartTitle=()=>a,u.containerSize=()=>i,u}function Sv([e,t],[r,n]){let a=(n-t)/(r-e),o=n-a*r;return function(i){let l=i.node(),s=Math.min(l.clientWidth,l.clientHeight);return Math.min(n,Math.max(t,a*s+o))}}function Lf(){let e=null,t=null,r=null,n=null,a=o=>{let i=!!e.realValues[2],l=e.realValues[4],s=e.realValues[3]?bv(e,t,"size").range([10,1e4]):null,u=e.realValues[5],c=Sv([600,.1],[1600,1])(o),d=ft().mapping((y,w)=>y[w]).series(t.map(()=>lv(e,l,s,r,u,n,c))),f=()=>_e(e).settingName("mainValues").paddingStrategy(Jt()).pad([.1,.1]),m=f().settingValue(e.mainValues[0].name).memoValue(e.axisMemo[0]).valueName("x")(t),p=f().orient("vertical").settingValue(e.mainValues[1].name).memoValue(e.axisMemo[1]).valueName("y")(t),[h,x]=e.splitValues.length===0?[e.mainValues[0].name,e.mainValues[1].name]:["",""],g=Dl(m,p).xLabel(h).yLabel(x).plotArea(Vt(d,e).canvas(!0));g.xNice&&g.xNice(),g.yNice&&g.yNice();let A=Ct().chart(g).settings(e).xScale(m.scale).yScale(p.scale).canvas(!0),_=Mr().scaleFactor(c).settings(e).canvas(!0).xScale(m.scale).xValueName("x").yValueName("y").yScale(p.scale).color(!i&&r).size(s).data(t);o.datum(t).call(A),o.call(_)};return a.settings=(...o)=>o.length?(e=o[0],a):e,a.data=(...o)=>o.length?(t=o[0],a):t,a.color=(...o)=>o.length?(r=o[0],a):r,a.symbols=(...o)=>o.length?(n=o[0],a):n,a}function _v(e,t){if(!t)return;let r=e.realValues[4],n=e.mainValues.find(s=>s.name===r)?.type,a=t.domain(),o=t.range(),i=o.length;for(let[s,u]of a.entries())o[s]=o[s%i];let l=e.columns_config?.[r]?.symbols??{};return Object.entries(l).forEach(([s,u])=>{let c=bd[u]??Rt,d=a.findIndex(f=>{switch(n){case"date":case"datetime":return new Date(f).valueOf()===new Date(s).valueOf();default:return String(f)===String(s)}});o[d]=c}),t.range(o),t}function Qo(e,t){let r=t.realValues[2],n=!!r,a=t.mainValues.find(d=>d.name===r)?.type==="string",o=null,i=null,l=t.realValues[4],s=sv(t,l),u=_v(t,s),c=yv(t,Bl(t));if(n&&a?l?(t.splitValues.length>0?o=Oo(t,c):o=Oo(t,c[0]),i=Al().settings(t).scale(u)):(o=_y(t,r),i=Qt().settings(t).scale(o)):n?(o=Xo(t,c,"colorValue"),i=jo().scale(o)):(o=jt().settings(t).domain([""])(),i=Al().settings(t).scale(u)),t.splitValues.length!==0){let d=Ol().svg(!1).elementsPrefix("xy-scatter");d=d.padding("2.5em"),e.append("div").attr("class","multi-xlabel").append("p").text(t.mainValues[0].name),e.append("div").attr("class","multi-ylabel").append("p").text(t.mainValues[1].name).style("transform","rotate(-90deg)").style("text-wrap","nowrap"),e=e.datum(c),e.call(d);let f=d.chartContainer(),m=d.chartEnter(),p=d.chartDiv(),h=d.chartTitle(),x=d.containerSize();h.each((g,A,_)=>D(_[A]).text(g.key)),m.merge(p).attr("transform",`translate(${x.width/2}, ${x.height/2})`).each(function(g){let A=D(this);Lf().settings(t).data([g]).color(o).symbols(u)(A)})}else Lf().settings(t).data(c).color(o).symbols(u)(e);i&&e.call(i)}Qo.plugin={name:"X/Y Scatter",category:"X/Y Chart",max_cells:5e4,max_columns:50,render_warning:!0,initial:{type:"number",count:2,names:["X Axis","Y Axis","Color","Size","Symbol","Label","Tooltip"]},selectMode:"toggle"};Qo.can_render_column_styles=(e,t)=>e==="string"&&t==="Symbol";Qo.column_style_controls=(e,t)=>e==="string"&&t==="Symbol"?{symbols:{keys:"row",values:Object.keys(bd)}}:null;var Av=Qo;function kv(e,t){let r=Zi();return r.decorate((n,a)=>{n.fillStyle=t(a.colorValue)}),vr(r).xValue(n=>n.crossValue).yValue(n=>n.mainValue).colorValue(n=>n.colorValue).colorInterpolate(t.interpolator()).widthFraction(1)}function Vv(e,t){let r=sn(e),n=Cl(e).excludeType(xe.linear).settingName("splitValues")(),a=[];return t.forEach((o,i)=>{let l=r(o,i);Object.keys(o).filter(s=>s!=="__ROW_PATH__").forEach(s=>{let u=Cv(s);a.push({crossValue:l,mainValue:n===xe.time?new Date(u):u,colorValue:o[s],row:o})})}),a}function Cv(e){let t=e.split("|");return t.pop(),t.join("|")}function kd(e,t){let r=Vv(t,un(t)),n=Xo(t,r,"colorValue"),a=kv(t,n),o=jo().scale(n),i=_e(t).excludeType(xe.linear).settingName("crossValues").valueName("crossValue")(r),l=_e(t).excludeType(xe.linear).settingName("splitValues").valueName("mainValue").modifyDomain(d=>isNaN(d[0])?d:d.reverse()).orient("vertical")(r),s=Dl(i,l).plotArea(Vt(a,t).canvas(!0));s.xPaddingInner&&(s.xPaddingInner(0),s.xPaddingOuter(0),a.xAlign("right")),s.yPaddingInner&&(s.yPaddingInner(0),s.yPaddingOuter(0),a.yAlign("top"));let u=Ct().chart(s).settings(t).xScale(i.scale).yScale(l.scale).canvas(!0),c=Mr().settings(t).canvas(!0).xScale(i.scale).yScale(l.scale).color(n).data(r);e.datum(r).call(u),e.call(o),e.call(c)}kd.plugin={name:"Heatmap",category:"Hierarchial Chart",max_cells:5e4,max_columns:500,render_warning:!0,initial:{names:["Color"]}};var Mv=kd;function Tv(e,t){return Uo(e,t,{excludeEmpty:!0}).map(r=>Dv(e,r))}function Dv(e,t){let r=sn(e),n=o=>t[o<t.length-1?o+1:o][e.realValues[0]],a=t.map((o,i)=>{let l=e.realValues[0]?o[e.realValues[0]]:void 0,s=e.realValues[1]?o[e.realValues[1]]:n(i);return{crossValue:r(o,i),mainValues:e.mainValues.map(u=>o[u.name]),openValue:l,closeValue:s,highValue:e.realValues[2]?o[e.realValues[2]]:Math.max(l,s),lowValue:e.realValues[3]?o[e.realValues[3]]:Math.min(l,s),key:t.key,row:o}});return a.key=t.key,a}var Ev=e=>e.closeValue>=e.openValue;function Nv(e,t,r){let n=r.domain(),a=jt().domain(n).settings(e).defaultColors([e.colorStyles["series-2"]]).mapFunction(ia(.5))(),o=jt().settings(e).domain(n)(),i=t().crossValue(u=>u.crossValue).openValue(u=>u.openValue).highValue(u=>u.highValue).lowValue(u=>u.lowValue).closeValue(u=>u.closeValue).decorate((u,c)=>{let d=Ev(c)?r(c.key):a(c.key);u.fillStyle=d,u.strokeStyle=d}),l=Hr().mainValue(u=>u.bollinger.average).crossValue(u=>u.crossValue).decorate((u,c)=>{u.strokeStyle=o(c[0].key)}),s=Ui().mainValue(u=>u.bollinger.upper).baseValue(u=>u.bollinger.lower).crossValue(u=>u.crossValue).decorate((u,c)=>{u.fillStyle=ia(.25)(o(c[0].key))});return ft().series([s,i,l])}function zv(e){return function(t,r){let n=Tv(r,Bl(r)),a=ri().value(g=>g.openValue),o=n.map(g=>{let A=a(g);return g.map((_,y)=>Object.assign({bollinger:A[y]},_))}),i=n.map(g=>g.key).concat(r.hideKeys?r.hideKeys:[]).sort(),l=jt().domain(i).settings(r).mapFunction(ia(1))(),s=Qt().settings(r).scale(i.length>1?l:null),u=Nv(r,e,l),c=ft().mapping((g,A)=>g[A]).series(o.map(()=>u)),d=Jt().pad([.1,.1]).padUnit("percent"),f=_e(r).settingName("crossValues").valueName("crossValue")(o),m=_e(r).settingName("mainValues").valueNames(["lowValue","highValue"]).memoValue(r.axisMemo[1]).orient("vertical").paddingStrategy(d)(o),p=Dl(f,m).plotArea(Vt(c,r).orient("vertical").canvas(!0));p.yNice&&p.yNice();let h=Ct().chart(p).settings(r).xScale(f.scale).onChange(g=>{let A=o.map(_=>_.filter(y=>y.crossValue>=g.xDomain[0]&&y.crossValue<=g.xDomain[1]));p.yDomain(m.domainFunction(A))}).canvas(!0),x=Mr().settings(r).xScale(f.scale).yScale(m.scale).yValueName("closeValue").color(l).data(o).canvas(!0);t.datum(o).call(h),t.call(x),t.call(s)}}var Vd=zv,Cd=Vd(Xi);Cd.plugin={name:"OHLC",category:"Y Chart",max_cells:3500,max_columns:50,render_warning:!0,initial:{type:"number",count:1,names:["Open","Close","High","Low","Tooltip"]},selectMode:"toggle"};var Bv=Cd,Md=Vd(Gi);Md.plugin={name:"Candlestick",category:"Y Chart",max_cells:4e3,max_columns:50,render_warning:!0,initial:{type:"number",count:1,names:["Open","Close","High","Low","Tooltip"]},selectMode:"toggle"};var Pv=Md;function Iv(e,t){if(e.realValues.length>1&&e.realValues[1]!==null){let r=e.realValues[1];if(e.mainValues.find(n=>n.name===r)?.type==="string"){let n=t.map(a=>a.data).filter(a=>a.height>0).map(a=>Td(a)).reduce((a,o)=>a.concat(o));return Oo(e,n)}else return Xo(e,null,null,Ux(t.map(n=>n.extents)))}}function Td(e,t=[]){return e.children&&e.children.length>0?e.children.forEach(r=>t.concat(Td(r,t))):e.data.color&&t.push(e.data.color),t}function Dd(e){let t={},r=e.realValues.map(n=>n===null?null:e.mainValues.find(a=>a.name===n));return e.data.forEach((n,a)=>{let o=Array.isArray(n.__ROW_PATH__)?n.__ROW_PATH__:[];Ov(n).forEach(i=>{let l;t[i]||(t[i]=[]),l=t[i],o.forEach((s,u)=>{let c=l.find(d=>d.name===s);if(c||(c={name:s,children:[]},l.push(c)),e.realValues.length>1&&e.realValues[1]!==null){let d=u===o.length-1,f=oa(d?n:e.agg_paths[a][u+1]||n,e.mainValues[1],i);f!==void 0&&(c.color=f)}if(e.realValues.length>2&&e.realValues[2]!==null){c.tooltip=[];for(let d=2;d<e.realValues.length;++d)c.tooltip.push(oa(n,r[d],i))}if(u===o.length-1){if(c.name=o.slice(-1)[0],e.crossValues.length===0)c.size=oa(n,e.mainValues[0],"");else if(o.length===e.crossValues.length){let d=oa(n,e.mainValues[0],i);c.size=d>0?d:0}}l=c.children})})}),Object.entries(t).map(n=>{let a={name:"root",children:n[1]},o=Gt(a).sum(l=>l.size),i=hl().size([2*Math.PI,o.height+1])(o);return i.each(l=>{l.current=l,l.mainValues=e.realValues.length===1||e.realValues[1]===null&&e.realValues[2]===null?l.value:[l.value,l.data.color].concat(l.data.tooltip||[]).filter(s=>s!==void 0),l.crossValue=l.ancestors().slice(0,-1).reverse().map(s=>s.data.name),l.key=n[0],l.label=Cr(e.crossValues[l.depth-1<0?0:l.depth-1]?.type||e.mainValues[0].type,l.data.name)}),{split:n[0],data:i,extents:Rv(e,n)}})}var oa=(e,t,r)=>r.length?e[`${r}|${t.name}`]:e[t.name];function Rv(e,[t,r]){if(e.realValues.length>1&&e.realValues[1]!==null){let n=Math.min(...e.data.map(o=>oa(o,e.mainValues[1],t))),a=Math.max(...r.map(o=>o.color));return[n,a]}}function Ov(e){let t=[];return Object.keys(e).forEach(r=>{if(r!=="__ROW_PATH__"){let n=r.split("|").slice(0,-1).join("|");t.includes(n)||t.push(n)}}),t}var Ed=e=>Fi().startAngle(t=>t.x0).endAngle(t=>t.x1).padAngle(t=>Math.min((t.x1-t.x0)/2,.005)).padRadius(e).innerRadius(t=>Math.max(1,(t.y0-1)*e)).outerRadius(t=>Math.max((t.y0-1)*e,(t.y1-1)*e-1)),kr=e=>e.y0>=1&&e.x1>e.x0,kl=e=>e.y1<=3&&e.y0>=1&&(e.y1-e.y0)*(e.x1-e.x0)>.06;function Nd(e,t){let r=(e.x0+e.x1)/2*180/Math.PI,n=(e.y0-1+(e.y1-1))/2*t;return`rotate(${r-90}) translate(${n},0) rotate(${r<180?0:180})`}function Lv(e,t){let r=this.getBBox().width;if(r>t){let n=e.label,a=D(this);for(;r>t;)n=n.substring(0,n.length-1),a.text(()=>n),r=this.getBBox().width;a.text(()=>`${n.substring(0,n.length-3).replace(/\s+$/,"")}...`)}}var $v=(e,t,r,n,a,o,i,l,s)=>(u,c)=>{s.sunburstLevel[l]=u.data.name,u.parent?(r.datum(u.parent),r.style("cursor","pointer"),n.html(`⇪ ${u.label}`)):(r.datum(e),r.style("cursor","default"),n.html("")),e.each(f=>f.target={x0:Math.max(0,Math.min(1,(f.x0-u.x0)/(u.x1-u.x0)))*2*Math.PI,x1:Math.max(0,Math.min(1,(f.x1-u.x0)/(u.x1-u.x0)))*2*Math.PI,y0:Math.max(0,f.y0-u.depth),y1:Math.max(0,f.y1-u.depth)});let d=t.transition().duration(c?0:750);a.transition(d).tween("data",f=>{let m=ke(f.current,f.target);return p=>f.current=m(p)}).filter(function(f){return+this.getAttribute("fill-opacity")||kr(f.target)}).attr("fill-opacity",f=>kr(f.target)?1:0).attr("user-select",f=>kr(f.target)?"initial":"none").style("pointer-events",f=>kr(f.target)?"initial":"none").attrTween("d",f=>()=>Ed(i)(f.current)),o.filter(function(f){return+this.getAttribute("fill-opacity")||kl(f.target)}).transition(d).attr("fill-opacity",f=>+kl(f.target)).attrTween("transform",f=>()=>Nd(f.current,i))};function Fv(){let e=null,t=null,r=null,n=null,a=null,o=i=>{let l=i.selectAll("g.segment").data(r.descendants().slice(1)),s=l.enter().append("g").attr("class","segment");s.append("path"),s.append("text").attr("class","segment").attr("dy","0.35em");let u=s.merge(l),c=u.select("path").attr("fill-opacity",h=>kr(h.current)?1:0).attr("user-select",h=>kr(h.current)?"initial":"none").style("pointer-events",h=>kr(h.current)?"initial":"none").attr("d",h=>Ed(a)(h.current));n&&c.style("fill",h=>n(h.data.color));let d=u.select("text").attr("fill-opacity",h=>+kl(h.current)).attr("transform",h=>Nd(h.current,a)).text(h=>h.label).each(function(h){Lv.call(this,h,a)}),f=i.select("text.parent"),m=i.select("circle").attr("r",a).datum(r),p=$v(r,i,m,f,c,d,a,t,e);if(e.sunburstLevel){let h=r.descendants().find(x=>x.data.name===e.sunburstLevel[t]);h&&p(h,!0)}else e.sunburstLevel={};m.on("click",h=>p(h,!1)),c.filter(h=>h.children).style("cursor","pointer").on("click",h=>p(h,!1))};return o.settings=(...i)=>i.length?(e=i[0],o):e,o.split=(...i)=>i.length?(t=i[0],o):t,o.data=(...i)=>i.length?(r=i[0],o):r,o.color=(...i)=>i.length?(n=i[0],o):n,o.radius=(...i)=>i.length?(a=i[0],o):a,o}function zd(e,t){let r=Dd(t),n=Iv(t,r),a=Ol().elementsPrefix("sunburst");if(e.datum(r).call(a),n){let c=t.realValues[1];if(t.mainValues.find(d=>d.name===c)?.type==="string"){let d=Qt().settings(t).scale(n);e.call(d)}else{let d=jo().scale(n);e.call(d)}}let o=a.chartContainer(),i=a.chartEnter(),l=a.chartDiv(),s=a.chartTitle(),u=a.containerSize();s.each((c,d,f)=>D(f[d]).text(c.split)),o.append("circle").attr("fill","none").style("pointer-events","all"),o.append("text").attr("class","parent"),i.merge(l).select("svg").select("g.sunburst").attr("transform",`translate(${u.width/2}, ${u.height/2})`).each(function({split:c,data:d}){let f=D(this),m=this.parentNode,{width:p,height:h}=m.getBoundingClientRect(),x=(Math.min(p,h)-24)/Math.max(2,t.crossValues.length*2);Fv().settings(t).split(c).data(d).color(n).radius(x)(f),Wo().settings(t)(f.selectAll("g.segment"))})}zd.plugin={name:"Sunburst",category:"Hierarchial Chart",max_cells:7500,max_columns:50,render_warning:!0,initial:{type:"number",count:1,names:["Size","Color","Tooltip"]}};var Yv=zd;function Wv(e,t){if(e.realValues.length<1||e.realValues[1]===null||e.realValues[1]===void 0)return;let r=e.realValues[1],n=t.filter(a=>a.height>0).map(a=>Bd(a)).reduce((a,o)=>a.concat(o));if(e.mainValues.find(a=>a.name===r)?.type==="string")return Oo(e,n);{let a=Math.min(...n),o=Math.max(...n);return Xo(e,null,null,[a,o])}}function Bd(e,t=[]){return e.children&&e.children.length>0?e.children.forEach(r=>t.concat(Bd(r,t))):e.data.color&&t.push(e.data.color),t}var $f=7,wl=e=>!!(e.target&&e.target.textAttributes),Pd=(e,t,r)=>{e.selectAll("text").each(function(a,o){let i=Qv(a,t,r);this.style=i});let n=$l(e);Gv(n),Id(n)},Hv=e=>{e.each((t,r,n)=>{D(n[r]).selectAll("text").attr("dx",t.target.textAttributes.dx).attr("dy",t.target.textAttributes.dy).attr("style",t.target.textAttributes.style)})},Id=e=>{let t=n=>n.getBoundingClientRect(),r=[];e.selectAll("text").filter((n,a,o)=>D(o[a]).attr("style")===Vr.high).each((n,a,o)=>r.push(o[a])),e.selectAll("text").filter((n,a,o)=>D(o[a]).attr("style")===Vr.low).each((n,a,o)=>{let i=o[a];r.filter(l=>Cf("x",t(l),t(i))&&Cf("y",t(l),t(i),-2)).forEach(()=>D(i).attr("dy",Number(D(i).attr("dy"))+14))})},qv=e=>D(e).style("opacity",Ll[D(e).attr("class")]),Uv=e=>D(e).style("opacity",null),Ll={top:1,mid:.7,lower:0},$l=e=>e.filter((t,r,n)=>D(n[r]).selectAll("text").attr("style")!==Vr.zero),Rd=e=>e.selectAll("text").each((t,r,n)=>Xv(n[r])),Gv=e=>e.selectAll("text").each((t,r,n)=>Od(n[r])),Od=e=>{let t=D(e),r=e.getBoundingClientRect();t.attr("dx",0-r.width/2).attr("dy",0+r.height/4)},Xv=e=>{let t=e.parentNode.childNodes[0],r=e.getBBox(),n=t.getBBox();jv(e,n,r)||D(e).attr("style",D(e).attr("style"))},jv=(e,t,r)=>{let n=Math.min(t.height/r.height,t.width/r.width);if(n<1){let a=parseInt(D(e).style("font-size")),o=Math.floor(a*n);return a>$f&&o>$f?(D(e).style("font-size",`${o}px`),Od(e)):(D(e).style("font-size",null),D(e).style("opacity","0")),!0}return!1},Qv=(e,t,r)=>{if(!r.filter(n=>n!=="").every(n=>e.crossValue.includes(n)))return Vr.zero;switch(e.depth){case t+1:return Vr.high;case t+2:return Vr.low;default:return Vr.zero}},Vr={high:"font-size:14px;z-index:5;pointer-events: none;",low:"font-size:8px;opacity:0.7;z-index:4;",zero:"font-size:0px;opacity:0;z-index:4;"},Ld=(e,t)=>{let r=gl().size([e,t]).paddingInner(n=>1+2*(n.height-1));return r.tile(xl),r},Jv=(e,t)=>t.every(r=>e.crossValue.includes(r));function $d(e,t,r,n,a,o){Zv(e,t,r,n,a),e.mapLevel[n].levelRoot=!0,eb(e,o.node().getBoundingClientRect().width,o.node().getBoundingClientRect().height,n),Yd(r,n)}function Kv(e,t){e.each(r=>{r.mapLevel=[],r.mapLevel[0]={x0:r.x0,x1:la(r)+r.x0,y0:r.y0,y1:sa(r)+r.y0,visible:!0,opacity:1}}),t.mapLevel[0].levelRoot=!0,Yd(e,0)}var Fd=(e,t)=>{e.each((r,n,a)=>{let o=D(a[n]).selectAll("text");r.mapLevel[t].textAttributes={dx:o.attr("dx"),dy:o.attr("dy"),class:o.attr("class"),"font-size":o.style("font-size")}})};function Zv(e,t,r,n,a){let o={x:e.x0,y:e.y0,width:e.x1-e.x0,height:e.y1-e.y0},i={width:a.x1-a.x0,height:a.y1-a.y0},l={width:i.width/o.width,height:i.height/o.height};r.each(s=>{let u=(s.x0-o.x)*l.width,c=(s.y0-o.y)*l.height,d=la(s)*l.width,f=sa(s)*l.height,m=Jv(s,t)&&s.data.name!==t[n-1];s.mapLevel[n]={x0:u,x1:d+u,y0:c,y1:f+c,visible:m,opacity:m?1:0}}),e.mapLevel[n].levelRoot=!0}function eb(e,t,r,n){let a=Ld(t,r)(Gt(e.data).sum(i=>i.size)).descendants(),o=e.descendants();a.forEach((i,l)=>{o[l].mapLevel[n].x0=a[l].x0,o[l].mapLevel[n].x1=a[l].x1,o[l].mapLevel[n].y0=a[l].y0,o[l].mapLevel[n].y1=a[l].y1})}function Yd(e,t){e.selectAll("text").each((r,n,a)=>{let o=D(a[n]),i=D(a[n]).datum(),l=o.attr("class");i.mapLevel[t].textLockedAt={opacity:Ll[l]}})}function tb(e,t,r,n,a,o,i,l,s){if(n.treemapLevel>0){let u=i.crossValue;Vl(i,e,t,r,n,a,o,i,0,u,l,s,1,!1),n.treemapRoute.slice(1,n.treemapRoute.length).forEach(c=>{let d=t.filter(m=>m.crossValue===c).datum(),f=d.crossValue;$d(d,f,t,d.depth,i,a),Vl(d,e,t,r,n,a,o,i,d.depth,f,l,s,1,!1)})}}function Wd(e,t,r,n,a,o,i,l,s,u){if(!e.children)return;a.treemapLevel<e.depth?a.treemapRoute.push(e.crossValue):a.treemapRoute.pop(),a.treemapLevel=e.depth;let c=e.crossValue;(!e.mapLevel[a.treemapLevel]||!e.mapLevel[a.treemapLevel].levelRoot)&&$d(e,c,r,a.treemapLevel,l,o),Vl(e,t,r,n,a,o,i,l,a.treemapLevel,c,s,u)}function Vl(e,t,r,n,a,o,i,l,s,u,c,d,f=500,m=!0){let p=e.parent,h=i.transition("main transition").duration(f).ease(Do);r.each(g=>g.target=g.mapLevel[s]),wl(e)||ob(r,c),r.transition(h).tween("data",g=>{let A=ke(g.current,g.target);return _=>g.current=A(_)}).styleTween("opacity",g=>()=>g.current.opacity).attrTween("pointer-events",g=>()=>g.target.visible?"all":"none"),t.transition(h).filter(g=>g.target.visible).styleTween("x",g=>()=>`${g.current.x0}px`).styleTween("y",g=>()=>`${g.current.y0}px`).styleTween("width",g=>()=>`${g.current.x1-g.current.x0}px`).styleTween("height",g=>()=>`${g.current.y1-g.current.y0}px`),n.transition(h).filter(g=>g.target.visible).attrTween("x",g=>()=>g.current.x0+la(g.current)/2).attrTween("y",g=>()=>g.current.y0+sa(g.current)/2).end().catch(()=>Sl(r)).then(()=>{wl(e)||(Id(x),Rd(x),rb(n,i,f),m&&Fd(r,s),Sl(r,c))}).catch(g=>{console.error("Exception completing promises after main transition",g),Sl(r,c)}),wl(e)?Hv(r):(n.each((g,A,_)=>qv(_[A])),Pd(r,s,u));let x=$l(r);p?c.hide(!1).text(e.label).onClick(()=>{Wd(p,t,r,n,a,o,i,l,c,d);let g=o.node().getRootNode().host.parentElement;El(g,p,d)})():c.hide(!0)()}async function rb(e,t,r=400){let n=t.transition("text fade transition").duration(r).ease(Do);await e.transition(n).filter(a=>a.target.visible).tween("data",(a,o,i)=>{let l=i[o],s=ke(nb(a),ab(l));return u=>a.current.opacity=s(u)}).styleTween("opacity",a=>()=>a.current.opacity).end().catch(a=>console.error("Exception in text fade transition",a)).then(()=>e.each((a,o,i)=>Uv(i[o])))}var nb=e=>e.target.textLockedAt.opacity,ab=e=>Ll[D(e).attr("class")],ob=(e,t)=>{t.deactivate(!0),e.each((r,n,a)=>{D(a[n]).selectAll("rect").style("pointer-events","none")})},Sl=(e,t=void 0)=>{t&&t.deactivate(!1),e.each((r,n,a)=>{D(a[n]).selectAll("rect").style("pointer-events",null)})},ib=`<button id="goto-parent">Goto parent</button>
`;function lb(e){let t=null,r=null,n=!0,a=!1,o=tt(e,".parent-controls",()=>e.append("div").attr("class","parent-controls").style("display",n?"none":"").html(ib)),i=()=>{o.style("display",n?"none":"").select("#goto-parent").style("pointer-events",a?"none":null).html(`\u21EA ${r}`).on("click",()=>t())};return i.deactivate=(...l)=>{if(!l.length)return a;a=l[0];let s=o.select("#goto-parent");return a?s.style("pointer-events","none"):s.style("pointer-events",null),i},i.hide=(...l)=>l.length?(n=l[0],i):n,i.text=(...l)=>l.length?(r=l[0],i):r,i.onClick=(...l)=>l.length?(t=l[0],i):t,i}var Ro={leaf:"leafnode",branch:"branchnode",root:"rootnode"},la=e=>e.x1-e.x0,sa=e=>e.y1-e.y0,sb=(e,t)=>t.depth===e,Ff=(e,t)=>t.depth===0?Ro.root:sb(e,t)?Ro.leaf:Ro.branch;function ub(){let e=null,t=null,r=null,n=null,a=null,o=null,i=l=>{o=lb(a),o();let s=r.height;e.treemapLevel||(e.treemapLevel=0),e.treemapRoute||(e.treemapRoute=[]),Ld(a.node().getBoundingClientRect().width,a.node().getBoundingClientRect().height)(r);let u=l.selectAll("g").data(r.descendants()),c=u.enter().append("g");c.append("rect"),c.append("text");let d=c.merge(u).sort((h,x)=>x.depth-h.depth),f=d.select("rect").attr("class",h=>`treerect ${Ff(s,h)}`).style("x",h=>`${h.x0}px`).style("y",h=>`${h.y0}px`).style("width",h=>`${la(h)}px`).style("height",h=>`${sa(h)}px`);f.style("fill",h=>Ff(s,h)===Ro.leaf?h.data.color?n(h.data.color):t.colorStyles.series:"transparent");let m=d.filter(h=>h.value!==0).select("text").attr("x",h=>h.x0+la(h)/2).attr("y",h=>h.y0+sa(h)/2).text(h=>h.label),p=f.filter(h=>h.crossValue.length===0).datum();Kv(d,p),Pd(d,0,[]),Rd($l(d)),Fd(d,0),e.treemapRoute.length===0&&e.treemapRoute.push(p.crossValue),f.filter(h=>h.children).on("click",(h,x)=>Wd(x,f,d,m,e,a,l,p,o,t)),tb(f,d,m,e,a,l,p,o,t)};return i.settings=(...l)=>l.length?(e=l[0],t=l[1],i):e,i.data=(...l)=>l.length?(r=l[0],i):r,i.color=(...l)=>l.length?(n=l[0],i):n,i.container=(...l)=>l.length?(a=l[0],i):a,i}function Hd(e,t){t.treemaps||(t.treemaps={});let r=Dd(t),n=Wv(t,r.map(l=>l.data));n&&this._container.classList.add("has-legend");let a=Ol().elementsPrefix("treemap");if(e.datum(r).call(a),n){let l=t.realValues[1];if(t.mainValues.find(s=>s.name===l)?.type==="string"){let s=Qt().settings(t).scale(n);e.call(s)}else{let s=jo().scale(n);e.call(s)}}let o=a.chartEnter(),i=a.chartDiv();a.chartTitle().each((l,s,u)=>D(u[s]).text(l.split)),o.merge(i).select("svg").select("g.treemap").each(function({split:l,data:s}){let u=D(this);t.treemaps[l]||(t.treemaps[l]={}),ub().settings(t.treemaps[l],t).data(s).container(D(D(this.parentNode).node().parentNode)).color(n)(u),Wo().settings(t).centered(!0)(u.selectAll("g"))})}Hd.plugin={type:"Treemap",name:"Treemap",category:"Hierarchial Chart",max_cells:3e3,max_columns:50,render_warning:!0,initial:{type:"number",count:1,names:["Size","Color","Tooltip"]}};var cb=Hd,fb=[jy,ev,rv,fv,pv,xv,Av,Bv,Pv,cb,Yv,Mv],Yf=fb,Wf=(e,t)=>{if(!t.colorStyles){let r={scheme:[],gradient:{},interpolator:{},grid:{}},n=pb(e);r.series=n("--psp-d3fc--series--color");for(let a=1;;a++){let o=`series-${a}`,i=n(`--psp-d3fc--${o}--color`);if(!i)break;r[o]=i,r.scheme.push(i)}r.opacity=db(r.series),r.grid.gridLineColor=n`--psp-d3fc--gridline--color`,["full","pos","neg"].forEach(a=>{let o=n(`--psp-d3fc--${a}-gradient--background`);r.gradient[a]=hb(o,r.opacity)}),t.colorStyles=r}if(!t.textStyles){let r=window.getComputedStyle(e),n=r.getPropertyValue("color"),a=`12px ${r.getPropertyValue("font-family")}`;t.textStyles={color:n,font:a}}},db=e=>Ae(e).opacity,mb=(e,t)=>{let r=Ae(`#${e}`);return r.opacity=t,r+""},pb=e=>{let t=getComputedStyle(e);return r=>t?.getPropertyValue(r)},hb=(e,t)=>{let r=qd.parse(e)[0].colorStops;return r.map((n,a)=>[n.length?n.length.value/100:a/(r.length-1),mb(n.value,t)]).sort((n,a)=>n[0]-a[0])},gb=':host{user-select:none;& .chart{box-sizing:border-box;width:100%;height:100%;padding:12px;position:absolute;top:0;left:0;overflow:hidden;&.yline{& .y-series:not(:first-child) .gridline-x{display:none}}& text{font-family:var(--psp-interface-monospace--font-family)}&.heatmap,&.treemap{& d3fc-group.cartesian-chart{grid-template-rows:minmax(0,max-content) auto 1fr auto minmax(0,max-content);grid-template-columns:minmax(0,max-content) auto 1fr auto minmax(0,max-content)}}& .chart-label{display:none}&.heatmap{padding-right:120px}&.xyscatter{padding:0;font-size:14px;& d3fc-group:first-child{width:calc(100% - 32px);height:calc(100% - 16px);padding:0 16px 16px}& .multi-xlabel{background:var(--psp-d3fc--legend--background);justify-content:center;align-items:center;width:100%;height:2.5em;display:flex;position:absolute;bottom:0}& .multi-ylabel{background:var(--psp-d3fc--legend--background);justify-content:center;align-items:center;width:2.5em;height:100%;display:flex;position:absolute;top:0}& .outer-container{height:100%}& .inner-container{width:calc(100% - 16px);height:100%;margin:0;padding:0;display:inline-grid;overflow-y:auto;& div{overflow:hidden}& text.segment,& text.parent{text-anchor:middle;user-select:none;pointer-events:none;fill:var(--psp-d3fc--treemap--labels,#333)}& div.xy-scatter-container{margin:5px 0}}}&.sunburst{padding:0;font-size:14px;& .outer-container{height:100%}& .inner-container{width:100%;height:100%;margin:0;padding:0;display:inline-grid;overflow:hidden auto;& div{overflow:hidden}& .sunburst-container:not(:only-child) svg{transform:translateY(-27px)}& svg{width:100%;height:100%}& path{fill:var(--psp-d3fc--series--color,#1f77b480)}& text.segment,& text.parent{text-anchor:middle;user-select:none;pointer-events:none;fill:var(--psp-d3fc--treemap--labels,#333)}& div.title-container{margin-top:5px}}}&.has-legend{padding-right:120px}&.treemap{& .treemap-container{position:relative;&:not(:only-child){width:calc(100% - 12px);height:calc(100% - 12px)}}& .outer-container{height:100%}& .inner-container{width:100%;height:100%;margin:0;padding:0;display:inline-grid;overflow:hidden auto;& div{overflow:hidden}& svg{width:100%;height:100%}& .treerect{stroke:var(--psp-d3fc--treemap-axis--lines,var(--psp-d3fc--axis-lines--color,white));fill:var(--psp-d3fc--series--color,#1f77b480);&:hover{cursor:pointer;stroke:var(--psp-d3fc--treemap--hover-highlight,black);stroke-opacity:1}}& .rootnode{opacity:0;pointer-events:none;z-index:0}& .branchnode{opacity:0;&:hover{fill-opacity:.1;opacity:1;fill:var(--psp-d3fc--treemap--hover-highlight,black)}}& .leafnode{fill-opacity:.8;&:hover{fill-opacity:.5}}& #hidden{opacity:0;pointer-events:none;z-index:0}& .top{z-index:5;pointer-events:none;font-size:14px}& .mid{opacity:.7;z-index:4;font-size:8px}& .lower{opacity:0;z-index:4;font-size:0}& text{fill:var(--psp-d3fc--treemap--labels,#333);&.title{dominant-baseline:hanging}}& .parent-controls{z-index:4;width:auto;transition:box-shadow 1s;position:absolute;top:12px;left:30px;right:auto;&:hover{transition:box-shadow .2s;box-shadow:2px 2px 6px #000}}}}& .x-label{height:1.2em!important;line-height:1em!important}& .x-label,& .y-label{color:var(--psp-d3fc--label--color,inherit);font-size:14px}& d3fc-canvas.plot-area{display:none}&.xyscatter,&.xyline,&.ohlc,&.candlestick,&.heatmap{& d3fc-canvas.plot-area{display:block}}& .y-axis text,& .y2-axis text,& .x-axis text{fill:var(--psp-d3fc--axis-ticks--color,#505050);font-size:11px}& .y-axis path,& .y2-axis path,& .x-axis path{stroke:var(--psp-d3fc--axis-lines--color,#b4d2e1)}& .splitter-label{cursor:pointer;margin:0 10px;display:inline-block;&:after{color:var(--psp-d3fc--axis-lines--color,#b4d2e1);margin-left:5px}&:hover{&:after{color:var(--psp-d3fc--axis-ticks--color,#505050)}}&.disabled{&:after{color:#5050504d}cursor:default}}& .y-label.left-label .splitter-label:after{background-repeat:no-repeat;background-color:var(--psp--color);content:"";width:16px;height:12px;-webkit-mask-size:cover;mask-size:cover;-webkit-mask-image:var(--psp-icon--sort-desc--mask-image);mask-image:var(--psp-icon--sort-desc--mask-image);display:inline-block}& .y-label.right-label .splitter-label:after{background-repeat:no-repeat;background-color:var(--psp--color);content:"";width:16px;height:12px;-webkit-mask-size:cover;mask-size:cover;-webkit-mask-image:var(--psp-icon--sort-asc--mask-image);mask-image:var(--psp-icon--sort-asc--mask-image);display:inline-block}&.ybar .y-axis path,&.yline .y-axis path,&.xyline .y-axis path,&.ybar .y2-axis path,&.yline .y2-axis path,&.xyline .y2-axis path,&.xyline .x-axis path,&.yarea .y-axis path,&.yscatter .y-axis path,&.xyscatter .y-axis path,&.yarea .y2-axis path,&.yscatter .y2-axis path,&.xyscatter .y2-axis path,&.xyscatter .x-axis path,&.xbar .x-axis path{visibility:hidden}& .y-label{white-space:nowrap}& .nearbyTip{fill:var(--psp-d3fc--series--color,#1f77b480)}}& #dragHandles{pointer-events:none;position:absolute;top:0;left:auto;right:0;& rect{pointer-events:all}}& .label rect{fill:none}& .legend-container{width:150px;height:280px;position:absolute;top:12px;left:auto;right:12px;&.legend-color{width:90px;height:150px}&[borderbox-on-hover=true]{transition:box-shadow 1s;&:hover{background-color:var(--psp-d3fc--legend--background,#fff);transition:box-shadow .2s,background-color .2s}}& .legend{width:100%;font-size:8pt;& .cell{cursor:pointer;& path{fill:var(--psp-d3fc--series--color,#1f77b480);stroke:var(--psp-d3fc--series--color,#1f77b4)}&.hidden path{fill:#cccccc80;stroke:#ccc}&.hidden circle{fill:#ccc!important}}}& text{fill:var(--psp-d3fc--legend--color,#333)}& .label{&:hover{fill:#22a0ce}}& #legend-axis path{stroke:var(--psp-d3fc--legend--color,#333)}& .legend-controls{margin-left:12px;& #up-arrow,& #down-arrow{cursor:pointer;color:#1f77b4}& #up-arrow.disabled,& #down-arrow.disabled{cursor:default;color:#333}}}& .heatmap .legend-container.legend-color,& .treemap .legend-container.legend-color{height:200px}& .treemap .legend-container:not(.legend-color){width:100px}& .zoom-controls{text-align:center;width:100%;position:absolute;top:10px;left:0;& button{-webkit-appearance:none;background:var(--psp--background-color,#f7f7f7);border:1px solid var(--psp-inactive--color,#ccc);color:var(--psp-d3fc--label--color,inherit);opacity:.5;cursor:pointer;padding:8px;font-size:12px;&:hover{opacity:1}}}& .parent-controls{text-align:right;width:100%;position:absolute;top:30px;right:145px;& button{-webkit-appearance:none;opacity:.5;cursor:pointer;background:#f7f7f7;border:1px solid #ccc;padding:10px;&:hover{background:#e6e6e6}}}& div.tooltip{text-align:left;white-space:nowrap;background:var(--psp-d3fc--tooltip--background,#fff);color:var(--psp-d3fc--tooltip--color,black);border:1px solid var(--psp-d3fc--tooltip--border-color,#777);box-shadow:var(--psp-d3fc--tooltip--box-shadow,none);pointer-events:none;padding:.5em;font-size:12px;font-weight:300;position:absolute}& div.tooltip ul{margin:0;padding:0;list-style-type:none}}',Hf={initial:{type:"number",count:1,names:[]},selectMode:"select"},xb=[xo,ho,gb].map(e=>{let t=new CSSStyleSheet;return t.replaceSync(e),t}),_l=["crossValues","mainValues","realValues","splitValues","filter","data","size","colorStyles","textStyles","agg_paths","treemaps","axisMemo","columns_config"];async function yb(e){await customElements.get("perspective-viewer").registerPlugin(e)}function vb(...e){let t=new Set(e.length>0?e:Yf.map(r=>r.plugin.name));Yf.forEach(r=>{if(t.has(r.plugin.name)){let n=`perspective-viewer-d3fc-${r.plugin.name.toLowerCase().replace(/[ \t\r\n\/]*/g,"")}`;customElements.define(n,class extends bb{_chart=r;static _chart=r}),customElements.whenDefined("perspective-viewer").then(()=>yb(n))}})}Element.prototype.matches||(Element.prototype.matches=Element.prototype.msMatchesSelector);var bb=class extends HTMLElement{_chart;static _chart;_settings;render_warning;_initialized;_container;_staged_view;config;constructor(){super(),this._settings=null,this.render_warning=!0}connectedCallback(){if(!this._initialized){this.attachShadow({mode:"open"});for(let e of xb)this.shadowRoot.adoptedStyleSheets.push(e);this.shadowRoot.innerHTML+='<div id="container" class="chart"></div>',this._container=this.shadowRoot.querySelector(".chart"),this._initialized=!0}}get name(){return this._chart.plugin.name}get category(){return this._chart.plugin.category}get select_mode(){return this._chart.plugin.selectMode||"select"}get group_rollups(){return["flat"]}get min_config_columns(){return this._chart.plugin.initial?.count||Hf.initial.count}get config_column_names(){return this._chart.plugin.initial?.names||Hf.initial.names}static get max_cells(){return this._chart.plugin.max_cells||1e4}static set max_cells(e){this._chart.plugin.max_cells=e}static get max_columns(){return this._chart.plugin.max_columns||50}static set max_columns(e){this._chart.plugin.max_columns=e}get max_cells(){return this._chart.plugin.max_cells||1e4}set max_cells(e){this._chart.plugin.max_cells=e}get max_columns(){return this._chart.plugin.max_columns||50}set max_columns(e){this._chart.plugin.max_columns=e}can_render_column_styles(e,t){return this._chart.can_render_column_styles?.call(this,e,t)}column_style_controls(e,t){return this._chart.column_style_controls?.call(this,e,t)}async render(){var e=document.createElement("canvas"),t=this.shadowRoot.querySelector("#container");e.width=t.offsetWidth,e.height=t.offsetHeight;let r=e.getContext("2d");r.fillStyle=window.getComputedStyle(this).getPropertyValue("--plugin--background")||"white",r.fillRect(0,0,e.width,e.height);let n=window.getComputedStyle(this).getPropertyValue("color"),a=Array.from(this.shadowRoot.querySelectorAll("svg:not(#dragHandles)"));for(let s of a.reverse()){var o=document.createElement("img");let u=0;o.width=s.parentElement?s.parentElement.offsetWidth:u,o.height=s.parentElement?s.parentElement.offsetHeight:u;let c=s.cloneNode(!0);c.hasAttribute("viewBox")||c.setAttribute("viewBox",`0 0 ${o.width} ${o.height}`),c.setAttribute("xmlns","http://www.w3.org/2000/svg");for(let f of c.querySelectorAll("text"))f.setAttribute("fill",n);var i=new XMLSerializer().serializeToString(c);i=i.replace(/[^\x00-\x7F]/g,"");let d=new Promise((f,m)=>{o.onload=f,o.onerror=m});try{o.src=`data:image/svg+xml;base64,${btoa(i)}`,await d}catch{let f=new Promise((m,p)=>{o.onload=m,o.onerror=p});o.src=`data:image/svg+xml;utf8,${i}`,await f}r.drawImage(o,s.parentNode.offsetLeft,s.parentNode.offsetTop,o.width,o.height)}let l=Array.from(this.shadowRoot.querySelectorAll("canvas"));for(let s of l.reverse())r.drawImage(s,s.parentNode.offsetLeft,s.parentNode.offsetTop,s.width/window.devicePixelRatio,s.height/window.devicePixelRatio);return await new Promise(s=>e.toBlob(u=>s(u)),"image/png")}async draw(e,t,r){if(this.offsetParent===null){this._staged_view=[e,t,r];return}this._staged_view=void 0,this._settings&&(this._settings.axisMemo=[[1/0,-1/0],[1/0,-1/0]]),await this.update(e,t,r,!0)}async update(e,t,r,n=!1){if(this.offsetParent===null)return;let a=this.parentElement,o,i,l=this._chart.plugin.name!=="Sunburst";t&&r?o=e.to_columns_string({end_row:r,end_col:t,leaves_only:l}):t?o=e.to_columns_string({end_col:t,leaves_only:l}):r?o=e.to_columns_string({end_row:r,leaves_only:l}):o=e.to_columns_string({leaves_only:l}),i=await Promise.all([a.getViewConfig(),a.getTable().then(b=>b.schema()),e.expression_schema(!1),e.schema(!1),o,e.get_config()]);let[s,u,c,d,f,m]=i,p=JSON.parse(f),h=Object.keys(p),x={row(b){let N={};for(let k of h)N[k]=p[k][b];return N}};this.config=s;let g=this.config.columns,A=function(b){let N=u[b];return N||(N=c[b]),N},{columns:_,group_by:y,split_by:w,filter:v}=m,V=p[Object.keys(p)[0]]||[],M=y.length>0?V.reduce((b,N,k)=>{let P=x.row(k);if(P.__ROW_PATH__&&P.__ROW_PATH__.length==y.length)b.agg_paths.push(b.aggs.slice()),b.rows.push(P);else{let T=P.__ROW_PATH__.filter(L=>L!==void 0).length;b.aggs[T]=P,b.aggs=b.aggs.slice(0,T+1)}return b},{rows:[],aggs:[],agg_paths:[]}):{rows:V.map((b,N)=>x.row(N))},F=(b,N)=>y.length?b:{...b,__ROW_PATH__:[N]},H=M.rows.map(F),z={realValues:g,crossValues:y.map(b=>({name:b,type:A(b)})),mainValues:_.map(b=>({name:b,type:d[b]})),splitValues:w.map(b=>({name:b,type:A(b)})),filter:v,data:H,agg_paths:M.agg_paths,...this.config.plugin_config},G={set:(b,N,k)=>(_l.includes(N)||this._container&&this._container.dispatchEvent(new Event("perspective-plugin-update",{bubbles:!0,composed:!0})),b[N]=k,!0)},I=[[1/0,-1/0],[1/0,-1/0]];this._settings=new Proxy({axisMemo:I,...this._settings,...z},G),this._settings.splitMainValues&&this._settings.splitMainValues.length>=_.length&&(this._settings.splitMainValues=[]),Wf(this._container,this._settings),n&&(this._container.innerHTML=""),this._draw(),await new Promise(b=>requestAnimationFrame(b))}async clear(){this._container&&(this._container.innerHTML="")}_draw(){if(this.offsetParent!==null){let e=D(this._container),t=`chart ${this._chart.plugin.name.toLowerCase().replace(/[ \t\r\n\/]*/g,"")}`;this._settings.size=this._container.getBoundingClientRect(),this._settings.data.length>0?this._chart(e.attr("class",t),this._settings):e.attr("class",`${t} disabled`)}}async resize(e){if(this.offsetParent!==null)if(this._settings?.data!==void 0)this._draw();else{let[t,r,n]=this._staged_view;this._staged_view=void 0,this.draw(t,r,n)}}async restyle(e){let t=this._settings;t&&(delete t.colorStyles,delete t.textStyles,this.isConnected&&(Wf(this._container,t),this.resize(e)))}async delete(){this._container.innerHTML=""}getContainer(){return this._container}save(){let e={...this._settings};return _l.forEach(t=>{delete e[t]}),e}restore(e,t){let r={};for(let n of _l)this._settings?.[n]!==void 0&&(r[n]=this._settings?.[n]);this._settings={...r,...e,columns_config:t}}};await vb();
//# sourceMappingURL=perspective-viewer-d3fc-PKK6GZHJ.js.map