@blueprint-chart/lib 2.5.1 → 2.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/charts/axis/horizontal-axis.d.ts +1 -1
- package/dist/charts/canvas/canvas.d.ts +7 -0
- package/dist/charts/plugins/annotations/context.d.ts +2 -2
- package/dist/charts/plugins/annotations/shared.d.ts +2 -1
- package/dist/charts/plugins/proximity.d.ts +2 -0
- package/dist/charts/scale-helpers.d.ts +1 -0
- package/dist/charts/types/scatter/emphasis.d.ts +7 -0
- package/dist/charts/types/scatter/issues.d.ts +20 -0
- package/dist/charts/types/scatter/labels.d.ts +17 -0
- package/dist/charts/types/scatter/legend.d.ts +11 -0
- package/dist/charts/types/scatter/mapping.d.ts +10 -0
- package/dist/charts/types/scatter/points.d.ts +24 -0
- package/dist/charts/types/scatter/scales.d.ts +18 -0
- package/dist/charts/types/scatter/scatter.d.ts +6 -0
- package/dist/charts/types/scatter/tooltip.d.ts +8 -0
- package/dist/charts/types/scatter/trend.d.ts +24 -0
- package/dist/charts/types.d.ts +14 -0
- package/dist/dsl/suggest.d.ts +6 -0
- package/dist/enums.d.ts +3 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +447 -334
- package/dist/lib/lib.iife.js +17 -15
- package/dist/node-backend/index.js +2066 -1418
- package/dist/recommendations/types.d.ts +2 -2
- package/dist/{render-bpc-BnD9HqZ-.js → render-bpc-BL73t_Ih.js} +2104 -1454
- package/dist/runtime.js +1 -1
- package/package.json +1 -1
package/dist/lib/lib.iife.js
CHANGED
|
@@ -303,14 +303,14 @@ body {
|
|
|
303
303
|
`+r+` |
|
|
304
304
|
`+a.line+` | `+s+`
|
|
305
305
|
`+r+` | `+``.padEnd(i.column-1,` `)+``.padEnd(c,`^`)}else t+=`
|
|
306
|
-
at `+o}return t}static buildMessage(e,t){function n(e){return e.codePointAt(0).toString(16).toUpperCase()}let r=Object.prototype.hasOwnProperty.call(RegExp.prototype,`unicode`)?RegExp(`[\\p{C}\\p{Mn}\\p{Mc}]`,`gu`):null;function i(e){return r?e.replace(r,e=>`\\u{`+n(e)+`}`):e}function a(e){return i(e.replace(/\\/g,`\\\\`).replace(/"/g,`\\"`).replace(/\0/g,`\\0`).replace(/\t/g,`\\t`).replace(/\n/g,`\\n`).replace(/\r/g,`\\r`).replace(/[\x00-\x0F]/g,e=>`\\x0`+n(e)).replace(/[\x10-\x1F\x7F-\x9F]/g,e=>`\\x`+n(e)))}function o(e){return i(e.replace(/\\/g,`\\\\`).replace(/\]/g,`\\]`).replace(/\^/g,`\\^`).replace(/-/g,`\\-`).replace(/\0/g,`\\0`).replace(/\t/g,`\\t`).replace(/\n/g,`\\n`).replace(/\r/g,`\\r`).replace(/[\x00-\x0F]/g,e=>`\\x0`+n(e)).replace(/[\x10-\x1F\x7F-\x9F]/g,e=>`\\x`+n(e)))}let s={literal(e){return`"`+a(e.text)+`"`},class(e){let t=e.parts.map(e=>Array.isArray(e)?o(e[0])+`-`+o(e[1]):o(e));return`[`+(e.inverted?`^`:``)+t.join(``)+`]`+(e.unicode?`u`:``)},any(){return`any character`},end(){return`end of input`},other(e){return e.description}};function c(e){return s[e.type](e)}function l(e){let t=e.map(c);if(t.sort(),t.length>0){let e=1;for(let n=1;n<t.length;n++)t[n-1]!==t[n]&&(t[e]=t[n],e++);t.length=e}switch(t.length){case 1:return t[0];case 2:return t[0]+` or `+t[1];default:return t.slice(0,-1).join(`, `)+`, or `+t[t.length-1]}}function u(e){return e?`"`+a(e)+`"`:`end of input`}return`Expected `+l(e)+` but `+u(t)+` found.`}};function k(e,t){t=t===void 0?{}:t;let n={},r=t.grammarSource,i={Chart:Lt},a=Lt,o=`chart`,s=`data`,c=`colorize`,l=`highlight`,u=`area-fill`,d=`annotation`,f=`range`,p=`note`,m=`series`,h=`scene`,g=`transform`,_=/^[ \t]/,v=/^[^\t\n\r{}=]/,y=/^[a-zA-Z_#]/,b=/^[a-zA-Z0-9_#\-]/,x=/^[0-9]/,S=/^[eE]/,C=/^[+\-]/,w=/^[^"\\]/,k=/^[0-9a-fA-F]/,
|
|
307
|
-
`,`\r`,`{`,`}`,`=`],!0,!1,!1),
|
|
306
|
+
at `+o}return t}static buildMessage(e,t){function n(e){return e.codePointAt(0).toString(16).toUpperCase()}let r=Object.prototype.hasOwnProperty.call(RegExp.prototype,`unicode`)?RegExp(`[\\p{C}\\p{Mn}\\p{Mc}]`,`gu`):null;function i(e){return r?e.replace(r,e=>`\\u{`+n(e)+`}`):e}function a(e){return i(e.replace(/\\/g,`\\\\`).replace(/"/g,`\\"`).replace(/\0/g,`\\0`).replace(/\t/g,`\\t`).replace(/\n/g,`\\n`).replace(/\r/g,`\\r`).replace(/[\x00-\x0F]/g,e=>`\\x0`+n(e)).replace(/[\x10-\x1F\x7F-\x9F]/g,e=>`\\x`+n(e)))}function o(e){return i(e.replace(/\\/g,`\\\\`).replace(/\]/g,`\\]`).replace(/\^/g,`\\^`).replace(/-/g,`\\-`).replace(/\0/g,`\\0`).replace(/\t/g,`\\t`).replace(/\n/g,`\\n`).replace(/\r/g,`\\r`).replace(/[\x00-\x0F]/g,e=>`\\x0`+n(e)).replace(/[\x10-\x1F\x7F-\x9F]/g,e=>`\\x`+n(e)))}let s={literal(e){return`"`+a(e.text)+`"`},class(e){let t=e.parts.map(e=>Array.isArray(e)?o(e[0])+`-`+o(e[1]):o(e));return`[`+(e.inverted?`^`:``)+t.join(``)+`]`+(e.unicode?`u`:``)},any(){return`any character`},end(){return`end of input`},other(e){return e.description}};function c(e){return s[e.type](e)}function l(e){let t=e.map(c);if(t.sort(),t.length>0){let e=1;for(let n=1;n<t.length;n++)t[n-1]!==t[n]&&(t[e]=t[n],e++);t.length=e}switch(t.length){case 1:return t[0];case 2:return t[0]+` or `+t[1];default:return t.slice(0,-1).join(`, `)+`, or `+t[t.length-1]}}function u(e){return e?`"`+a(e)+`"`:`end of input`}return`Expected `+l(e)+` but `+u(t)+` found.`}};function k(e,t){t=t===void 0?{}:t;let n={},r=t.grammarSource,i={Chart:Lt},a=Lt,o=`chart`,s=`data`,c=`colorize`,l=`highlight`,u=`area-fill`,d=`annotation`,f=`range`,p=`note`,m=`series`,h=`scene`,g=`transform`,_=/^[ \t]/,v=/^[^\t\n\r{}=]/,y=/^[a-zA-Z_#]/,b=/^[a-zA-Z0-9_#\-]/,x=/^[0-9]/,S=/^[eE]/,C=/^[+\-]/,w=/^[^"\\]/,k=/^[0-9a-fA-F]/,A=/^[^\n]/,j=/^[ \t\n\r]/,M=Ot(`chart`,!1),N=Ot(`{`,!1),P=Ot(`}`,!1),F=kt([` `,` `],!1,!1,!1),I=Ot(`data`,!1),L=Ot(`=`,!1),R=Ot(`,`,!1),z=Ot(` `,!1),B=kt([` `,`
|
|
307
|
+
`,`\r`,`{`,`}`,`=`],!0,!1,!1),V=Ot(`colorize`,!1),H=Ot(`highlight`,!1),ee=Ot(`area-fill`,!1),te=Ot(`annotation`,!1),ne=Ot(`range`,!1),re=Ot(`note`,!1),ie=Ot(`series`,!1),ae=Ot(`scene`,!1),U=Ot(`transform`,!1),oe=Ot(`%`,!1),se=Mt(`identifier`),ce=kt([[`a`,`z`],[`A`,`Z`],`_`,`#`],!1,!1,!1),le=kt([[`a`,`z`],[`A`,`Z`],[`0`,`9`],`_`,`#`,`-`],!1,!1,!1),ue=Ot(`-`,!1),de=Ot(`.`,!1),W=kt([[`0`,`9`]],!1,!1,!1),G=kt([`e`,`E`],!1,!1,!1),fe=kt([`+`,`-`],!1,!1,!1),pe=Mt(`string`),me=Ot(`"`,!1),he=Ot(`\\`,!1),ge=kt([`"`,`\\`],!0,!1,!1),_e=Ot(`n`,!1),ve=Ot(`r`,!1),ye=Ot(`t`,!1),be=Ot(`u`,!1),xe=kt([[`0`,`9`],[`a`,`f`],[`A`,`F`]],!1,!1,!1),Se=At(),Ce=Ot(`//`,!1),K=kt([`
|
|
308
308
|
`],!0,!1,!1),we=Ot(`/*`,!1),Te=Ot(`*/`,!1),Ee=kt([` `,` `,`
|
|
309
309
|
`,`\r`],!1,!1,!1),De=Mt(`whitespace`);function Oe(e,t,n){T(t)>1&&Et(`duplicate data block — a chart or scene may define at most one data { } block`);let r=E(t);return{type:`chart`,chartType:e,...n.length?{trailingComments:n}:{},properties:r.properties,data:r.data,colorizes:r.colorizes,highlights:r.highlights,areaFills:r.areaFills,annotations:r.annotations,series:r.series,scenes:r.scenes,transforms:r.transforms}}function ke(e,t,n){return e.length&&(t.leadingComments=e),n!=null&&(t.trailingComment=n),t}function Ae(e,t){return{type:`data`,entries:e,...t.length?{trailingComments:t}:{}}}function je(e,t,n){return e.length&&(t.leadingComments=e),n!=null&&(t.trailingComment=n),t}function Me(e,t,n){return n}function Ne(e,t,n){let r=[t,...n];return{type:`property`,key:e.name,...e.quoted&&e.name===`series`?{quotedKey:!0}:{},value:r[0].value,isPercentage:!1,values:r.map(e=>e.value)}}function Pe(e,t){return{type:`property`,key:e.name,...e.quoted&&e.name===`series`?{quotedKey:!0}:{},value:t.value,isPercentage:t.isPercentage}}function Fe(e){return{name:e,quoted:!0}}function Ie(e){return{name:e,quoted:!1}}function Le(e,t){return{type:`property`,key:e,...e===`series`?{quotedKey:!0}:{},value:t.value,isPercentage:t.isPercentage}}function Re(e){return e.trim()}function ze(e,t,n){return{type:`colorize`,target:e,properties:t,...n.length?{trailingComments:n}:{}}}function Be(){Et(`colorize needs a quoted target, e.g. colorize "2021" { ... }`)}function Ve(e,t,n){return{type:`colorize`,target:e,properties:t,fromHighlight:!0,...n.length?{trailingComments:n}:{}}}function He(e){return{type:`highlight`,target:e,properties:[]}}function Ue(){Et(`highlight needs a quoted target, e.g. highlight "2021" { ... } or highlight "2021"`)}function We(e,t,n,r){return{type:`area-fill`,from:e,to:t,properties:n,...r.length?{trailingComments:r}:{}}}function Ge(){Et(`area-fill needs two quoted targets, e.g. area-fill "Revenue" "Cost" { ... }`)}function Ke(){Et(`area-fill needs two quoted targets, e.g. area-fill "Revenue" "Cost" { ... }`)}function qe(e,t,n){return{type:`annotation`,kind:`point`,target:e,properties:t,...n.length?{trailingComments:n}:{}}}function Je(){Et(`annotation needs a quoted target, e.g. annotation "2021" { ... }`)}function Ye(e,t){return{type:`annotation`,kind:`range`,properties:e,...t.length?{trailingComments:t}:{}}}function Xe(e,t){return{type:`annotation`,kind:`free`,properties:e,...t.length?{trailingComments:t}:{}}}function Ze(e,t,n){return{type:`series`,name:e,properties:t,...n.length?{trailingComments:n}:{}}}function Qe(){Et(`series needs a quoted name, e.g. series "Revenue" { ... }`)}function $e(e,t,n){T(t)>1&&Et(`duplicate data block — a chart or scene may define at most one data { } block`);let r=D(t);return{type:`scene`,name:e??null,...n.length?{trailingComments:n}:{},properties:r.properties,data:r.data,colorizes:r.colorizes,highlights:r.highlights,areaFills:r.areaFills,annotations:r.annotations,series:r.series,transforms:r.transforms}}function et(e,t,n){return{type:`transform`,transformType:e,properties:t,...n.length?{trailingComments:n}:{}}}function tt(e,t,n){return e.length&&(t.leadingComments=e),n!=null&&(t.trailingComment=n),t}function nt(e,t){return t!=null&&(e.trailingComment=t),e}function rt(e,t){return{type:`property`,key:e,value:t.value,isPercentage:t.isPercentage}}function it(e){return{value:e,isPercentage:!0}}function at(e){return{value:e,isPercentage:!1}}function ot(e){return{value:e,isPercentage:!1}}function st(e){return{value:e,isPercentage:!1}}function ct(e){return parseFloat(e)}function lt(e){return e.join(``)}function ut(e){return e}function dt(){return`"`}function ft(){return`\\`}function pt(){return`
|
|
310
|
-
`}function mt(){return`\r`}function ht(){return` `}function gt(e){return String.fromCharCode(parseInt(e,16))}function _t(e){Et(`Unknown escape sequence \\`+e)}function vt(e){return e}function yt(e){return e}function bt(e){return e.trim()}function xt(e){return e.trim()}let q=t.peg$currPos|0,J=q,St=[{line:1,column:1}],Ct=q,wt=t.peg$maxFailExpected||[],Y=t.peg$silentFails|0,Tt;if(t.startRule){if(!(t.startRule in i))throw Error(`Can't start parsing from rule "`+t.startRule+`".`);a=i[t.startRule]}function Et(e,t){throw t=t===void 0?Pt(J,q):t,Ft(e,t)}function Dt(t=q){let n=e.codePointAt(t);return n===void 0?``:String.fromCodePoint(n)}function Ot(e,t){return{type:`literal`,text:e,ignoreCase:t}}function kt(e,t,n,r){return{type:`class`,parts:e,inverted:t,ignoreCase:n,unicode:r}}function At(){return{type:`any`}}function jt(){return{type:`end`}}function Mt(e){return{type:`other`,description:e}}function Nt(t){let n=St[t],r;if(n)return n;if(t>=St.length)r=St.length-1;else for(r=t;!St[--r];);for(n=St[r],n={line:n.line,column:n.column};r<t;)e.charCodeAt(r)===10?(n.line++,n.column=1):n.column++,r++;return St[t]=n,n}function Pt(e,t,n){let i=Nt(e),a=Nt(t),o={source:r,start:{offset:e,line:i.line,column:i.column},end:{offset:t,line:a.line,column:a.column}};return n&&r&&typeof r.offset==`function`&&(o.start=r.offset(o.start),o.end=r.offset(o.end)),o}function X(e){q<Ct||(q>Ct&&(Ct=q,wt=[]),wt.push(e))}function Ft(e,t){return new O(e,null,null,t)}function It(e,t,n){return new O(O.buildMessage(e,t),e,t,n)}function Lt(){let t,r,i,a,s,c,l,u;if(t=q,Z(),e.substr(q,5)===o?(r=o,q+=5):(r=n,Y===0&&X(j)),r!==n){if(i=_n(),i!==n){if(a=on(),a!==n){if(Z(),e.charCodeAt(q)===123?(s=`{`,q++):(s=n,Y===0&&X(M)),s!==n){for(c=[],l=Rt();l!==n;)c.push(l),l=Rt();l=hn(),e.charCodeAt(q)===125?(u=`}`,q++):(u=n,Y===0&&X(N)),u===n?(q=t,t=n):(Z(),J=t,t=Oe(a,c,l))}else q=t,t=n}else q=t,t=n}else q=t,t=n}else q=t,t=n;return t}function Rt(){let t,r,i,a,o;if(t=q,r=hn(),i=zt(),i===n&&(i=Gt(),i===n&&(i=Kt(),i===n&&(i=qt(),i===n&&(i=Yt(),i===n&&(i=Xt(),i===n&&(i=Jt(),i===n&&(i=Zt(),i===n&&(i=Qt(),i===n&&(i=$t(),i===n&&(i=nn())))))))))),i!==n){for(a=[],o=e.charAt(q),_.test(o)?q++:(o=n,Y===0&&X(P));o!==n;)a.push(o),o=e.charAt(q),_.test(o)?q++:(o=n,Y===0&&X(P));o=gn(),o===n&&(o=null),mn(),J=t,t=ke(r,i,o)}else q=t,t=n;return t}function zt(){let t,r,i,a,o,c;if(t=q,e.substr(q,4)===s?(r=s,q+=4):(r=n,Y===0&&X(F)),r!==n){if(Z(),e.charCodeAt(q)===123?(i=`{`,q++):(i=n,Y===0&&X(M)),i!==n){for(a=[],o=Bt();o!==n;)a.push(o),o=Bt();o=hn(),e.charCodeAt(q)===125?(c=`}`,q++):(c=n,Y===0&&X(N)),c===n?(q=t,t=n):(J=t,t=Ae(a,o))}else q=t,t=n}else q=t,t=n;return t}function Bt(){let t,r,i,a,o;if(t=q,r=hn(),i=Ut(),i===n&&(i=Vt()),i!==n){for(a=[],o=e.charAt(q),_.test(o)?q++:(o=n,Y===0&&X(P));o!==n;)a.push(o),o=e.charAt(q),_.test(o)?q++:(o=n,Y===0&&X(P));o=gn(),o===n&&(o=null),mn(),J=t,t=je(r,i,o)}else q=t,t=n;return t}function Vt(){let t,r,i,a,o,s,c,l;if(t=q,r=Ht(),r!==n){if(Z(),e.charCodeAt(q)===61?(i=`=`,q++):(i=n,Y===0&&X(I)),i!==n){if(Z(),a=an(),a!==n){if(o=[],s=q,e.charCodeAt(q)===44?(c=`,`,q++):(c=n,Y===0&&X(L)),c===n?(q=s,s=n):(Z(),l=an(),l===n?(q=s,s=n):(J=s,s=Me(r,a,l))),s!==n)for(;s!==n;)o.push(s),s=q,e.charCodeAt(q)===44?(c=`,`,q++):(c=n,Y===0&&X(L)),c===n?(q=s,s=n):(Z(),l=an(),l===n?(q=s,s=n):(J=s,s=Me(r,a,l)));else o=n;o===n?(q=t,t=n):(J=t,t=Ne(r,a,o))}else q=t,t=n}else q=t,t=n}else q=t,t=n;return t===n&&(t=q,r=Ht(),r===n?(q=t,t=n):(Z(),e.charCodeAt(q)===61?(i=`=`,q++):(i=n,Y===0&&X(I)),i===n?(q=t,t=n):(Z(),a=an(),a===n?(q=t,t=n):(J=t,t=Pe(r,a))))),t}function Ht(){let e,t;return e=q,t=cn(),t!==n&&(J=e,t=Fe(t)),e=t,e===n&&(e=q,t=on(),t!==n&&(J=e,t=Ie(t)),e=t),e}function Ut(){let t,r,i,a;return t=q,r=Wt(),r===n?(q=t,t=n):(e.charCodeAt(q)===9?(i=` `,q++):(i=n,Y===0&&X(R)),i===n?(q=t,t=n):(Z(),a=an(),a===n?(q=t,t=n):(J=t,t=Le(r,a)))),t}function Wt(){let t,r,i,a;if(t=q,r=q,i=[],a=e.charAt(q),v.test(a)?q++:(a=n,Y===0&&X(z)),a!==n)for(;a!==n;)i.push(a),a=e.charAt(q),v.test(a)?q++:(a=n,Y===0&&X(z));else i=n;return r=i===n?i:e.substring(r,q),r!==n&&(J=t,r=Re(r)),t=r,t}function Gt(){let t,r,i,a,o,s,l,u;if(t=q,e.substr(q,8)===c?(r=c,q+=8):(r=n,Y===0&&X(B)),r!==n){if(i=_n(),i!==n){if(a=cn(),a!==n){if(Z(),e.charCodeAt(q)===123?(o=`{`,q++):(o=n,Y===0&&X(M)),o!==n){for(s=[],l=tn();l!==n;)s.push(l),l=tn();l=hn(),e.charCodeAt(q)===125?(u=`}`,q++):(u=n,Y===0&&X(N)),u===n?(q=t,t=n):(J=t,t=ze(a,s,l))}else q=t,t=n}else q=t,t=n}else q=t,t=n}else q=t,t=n;return t===n&&(t=q,e.substr(q,8)===c?(r=c,q+=8):(r=n,Y===0&&X(B)),r===n?(q=t,t=n):(i=Z(),e.charCodeAt(q)===123?(a=`{`,q++):(a=n,Y===0&&X(M)),a===n?(q=t,t=n):(J=t,t=Be()))),t}function Kt(){let t,r,i,a,o,s,c,u,d;if(t=q,e.substr(q,9)===l?(r=l,q+=9):(r=n,Y===0&&X(V)),r!==n){if(i=_n(),i!==n){if(a=cn(),a!==n){if(o=Z(),e.charCodeAt(q)===123?(s=`{`,q++):(s=n,Y===0&&X(M)),s!==n){for(c=[],u=tn();u!==n;)c.push(u),u=tn();u=hn(),e.charCodeAt(q)===125?(d=`}`,q++):(d=n,Y===0&&X(N)),d===n?(q=t,t=n):(J=t,t=Ve(a,c,u))}else q=t,t=n}else q=t,t=n}else q=t,t=n}else q=t,t=n;return t===n&&(t=q,e.substr(q,9)===l?(r=l,q+=9):(r=n,Y===0&&X(V)),r===n?(q=t,t=n):(i=_n(),i===n?(q=t,t=n):(a=cn(),a===n?(q=t,t=n):(o=q,Y++,s=q,c=Z(),e.charCodeAt(q)===123?(u=`{`,q++):(u=n,Y===0&&X(M)),u===n?(q=s,s=n):(c=[c,u],s=c),Y--,s===n?o=void 0:(q=o,o=n),o===n?(q=t,t=n):(J=t,t=He(a))))),t===n&&(t=q,e.substr(q,9)===l?(r=l,q+=9):(r=n,Y===0&&X(V)),r===n?(q=t,t=n):(i=Z(),e.charCodeAt(q)===123?(a=`{`,q++):(a=n,Y===0&&X(M)),a===n?(q=t,t=n):(J=t,t=Ue())))),t}function qt(){let t,r,i,a,o,s,c,l,d,f;if(t=q,e.substr(q,9)===u?(r=u,q+=9):(r=n,Y===0&&X(te)),r!==n){if(i=_n(),i!==n){if(a=cn(),a!==n){if(o=_n(),o!==n){if(s=cn(),s!==n){if(Z(),e.charCodeAt(q)===123?(c=`{`,q++):(c=n,Y===0&&X(M)),c!==n){for(l=[],d=tn();d!==n;)l.push(d),d=tn();d=hn(),e.charCodeAt(q)===125?(f=`}`,q++):(f=n,Y===0&&X(N)),f===n?(q=t,t=n):(J=t,t=We(a,s,l,d))}else q=t,t=n}else q=t,t=n}else q=t,t=n}else q=t,t=n}else q=t,t=n}else q=t,t=n;return t===n&&(t=q,e.substr(q,9)===u?(r=u,q+=9):(r=n,Y===0&&X(te)),r===n?(q=t,t=n):(i=_n(),i===n?(q=t,t=n):(a=cn(),a===n?(q=t,t=n):(o=Z(),e.charCodeAt(q)===123?(s=`{`,q++):(s=n,Y===0&&X(M)),s===n?(q=t,t=n):(J=t,t=Ge())))),t===n&&(t=q,e.substr(q,9)===u?(r=u,q+=9):(r=n,Y===0&&X(te)),r===n?(q=t,t=n):(i=Z(),e.charCodeAt(q)===123?(a=`{`,q++):(a=n,Y===0&&X(M)),a===n?(q=t,t=n):(J=t,t=Ke())))),t}function Jt(){let t,r,i,a,o,s,c,l;if(t=q,e.substr(q,10)===d?(r=d,q+=10):(r=n,Y===0&&X(ne)),r!==n){if(i=_n(),i!==n){if(a=cn(),a!==n){if(Z(),e.charCodeAt(q)===123?(o=`{`,q++):(o=n,Y===0&&X(M)),o!==n){for(s=[],c=tn();c!==n;)s.push(c),c=tn();c=hn(),e.charCodeAt(q)===125?(l=`}`,q++):(l=n,Y===0&&X(N)),l===n?(q=t,t=n):(J=t,t=qe(a,s,c))}else q=t,t=n}else q=t,t=n}else q=t,t=n}else q=t,t=n;return t===n&&(t=q,e.substr(q,10)===d?(r=d,q+=10):(r=n,Y===0&&X(ne)),r===n?(q=t,t=n):(i=Z(),e.charCodeAt(q)===123?(a=`{`,q++):(a=n,Y===0&&X(M)),a===n?(q=t,t=n):(J=t,t=Je()))),t}function Yt(){let t,r,i,a,o,s;if(t=q,e.substr(q,5)===f?(r=f,q+=5):(r=n,Y===0&&X(re)),r!==n){if(Z(),e.charCodeAt(q)===123?(i=`{`,q++):(i=n,Y===0&&X(M)),i!==n){for(a=[],o=tn();o!==n;)a.push(o),o=tn();o=hn(),e.charCodeAt(q)===125?(s=`}`,q++):(s=n,Y===0&&X(N)),s===n?(q=t,t=n):(J=t,t=Ye(a,o))}else q=t,t=n}else q=t,t=n;return t}function Xt(){let t,r,i,a,o,s;if(t=q,e.substr(q,4)===p?(r=p,q+=4):(r=n,Y===0&&X(ie)),r!==n){if(Z(),e.charCodeAt(q)===123?(i=`{`,q++):(i=n,Y===0&&X(M)),i!==n){for(a=[],o=tn();o!==n;)a.push(o),o=tn();o=hn(),e.charCodeAt(q)===125?(s=`}`,q++):(s=n,Y===0&&X(N)),s===n?(q=t,t=n):(J=t,t=Xe(a,o))}else q=t,t=n}else q=t,t=n;return t}function Zt(){let t,r,i,a,o,s,c,l;if(t=q,e.substr(q,6)===m?(r=m,q+=6):(r=n,Y===0&&X(ae)),r!==n){if(i=_n(),i!==n){if(a=cn(),a!==n){if(Z(),e.charCodeAt(q)===123?(o=`{`,q++):(o=n,Y===0&&X(M)),o!==n){for(s=[],c=tn();c!==n;)s.push(c),c=tn();c=hn(),e.charCodeAt(q)===125?(l=`}`,q++):(l=n,Y===0&&X(N)),l===n?(q=t,t=n):(J=t,t=Ze(a,s,c))}else q=t,t=n}else q=t,t=n}else q=t,t=n}else q=t,t=n;return t===n&&(t=q,e.substr(q,6)===m?(r=m,q+=6):(r=n,Y===0&&X(ae)),r===n?(q=t,t=n):(i=Z(),e.charCodeAt(q)===123?(a=`{`,q++):(a=n,Y===0&&X(M)),a===n?(q=t,t=n):(J=t,t=Qe()))),t}function Qt(){let t,r,i,a,o,s,c,l;if(t=q,e.substr(q,5)===h?(r=h,q+=5):(r=n,Y===0&&X(oe)),r!==n){if(i=_n(),i!==n){if(a=cn(),a===n&&(a=null),Z(),e.charCodeAt(q)===123?(o=`{`,q++):(o=n,Y===0&&X(M)),o!==n){for(s=[],c=en();c!==n;)s.push(c),c=en();c=hn(),e.charCodeAt(q)===125?(l=`}`,q++):(l=n,Y===0&&X(N)),l===n?(q=t,t=n):(J=t,t=$e(a,s,c))}else q=t,t=n}else q=t,t=n}else q=t,t=n;return t}function $t(){let t,r,i,a,o,s,c,l;if(t=q,e.substr(q,9)===g?(r=g,q+=9):(r=n,Y===0&&X(H)),r!==n){if(i=_n(),i!==n){if(a=on(),a!==n){if(Z(),e.charCodeAt(q)===123?(o=`{`,q++):(o=n,Y===0&&X(M)),o!==n){for(s=[],c=tn();c!==n;)s.push(c),c=tn();c=hn(),e.charCodeAt(q)===125?(l=`}`,q++):(l=n,Y===0&&X(N)),l===n?(q=t,t=n):(J=t,t=et(a,s,c))}else q=t,t=n}else q=t,t=n}else q=t,t=n}else q=t,t=n;return t}function en(){let t,r,i,a,o;if(t=q,r=hn(),i=zt(),i===n&&(i=Gt(),i===n&&(i=Kt(),i===n&&(i=qt(),i===n&&(i=Yt(),i===n&&(i=Xt(),i===n&&(i=Jt(),i===n&&(i=Zt(),i===n&&(i=$t(),i===n&&(i=nn()))))))))),i!==n){for(a=[],o=e.charAt(q),_.test(o)?q++:(o=n,Y===0&&X(P));o!==n;)a.push(o),o=e.charAt(q),_.test(o)?q++:(o=n,Y===0&&X(P));o=gn(),o===n&&(o=null),mn(),J=t,t=tt(r,i,o)}else q=t,t=n;return t}function tn(){let t,r,i,a;if(t=q,Z(),r=nn(),r!==n){for(i=[],a=e.charAt(q),_.test(a)?q++:(a=n,Y===0&&X(P));a!==n;)i.push(a),a=e.charAt(q),_.test(a)?q++:(a=n,Y===0&&X(P));a=gn(),a===n&&(a=null),mn(),J=t,t=nt(r,a)}else q=t,t=n;return t}function nn(){let t,r,i,a;return t=q,r=rn(),r===n?(q=t,t=n):(Z(),e.charCodeAt(q)===61?(i=`=`,q++):(i=n,Y===0&&X(I)),i===n?(q=t,t=n):(Z(),a=an(),a===n?(q=t,t=n):(J=t,t=rt(r,a)))),t}function rn(){let e;return e=cn(),e===n&&(e=on()),e}function an(){let t,r,i;return t=q,r=sn(),r===n?(q=t,t=n):(e.charCodeAt(q)===37?(i=`%`,q++):(i=n,Y===0&&X(se)),i===n?(q=t,t=n):(J=t,t=it(r))),t===n&&(t=q,r=sn(),r!==n&&(J=t,r=at(r)),t=r,t===n&&(t=q,r=cn(),r!==n&&(J=t,r=ot(r)),t=r,t===n&&(t=q,r=on(),r!==n&&(J=t,r=st(r)),t=r))),t}function on(){let t,r,i,a,o;if(Y++,t=q,r=q,i=e.charAt(q),y.test(i)?q++:(i=n,Y===0&&X(le)),i!==n){for(a=[],o=e.charAt(q),b.test(o)?q++:(o=n,Y===0&&X(ue));o!==n;)a.push(o),o=e.charAt(q),b.test(o)?q++:(o=n,Y===0&&X(ue));i=[i,a],r=i}else q=r,r=n;return t=r===n?r:e.substring(t,q),Y--,t===n&&(r=n,Y===0&&X(ce)),t}function sn(){let t,r,i,a,o,s,c,l,u,d;if(t=q,r=q,i=q,e.charCodeAt(q)===45?(a=`-`,q++):(a=n,Y===0&&X(de)),a===n&&(a=null),o=q,e.charCodeAt(q)===46?(s=`.`,q++):(s=n,Y===0&&X(U)),s!==n){if(c=[],l=e.charAt(q),x.test(l)?q++:(l=n,Y===0&&X(W)),l!==n)for(;l!==n;)c.push(l),l=e.charAt(q),x.test(l)?q++:(l=n,Y===0&&X(W));else c=n;c===n?(q=o,o=n):(s=[s,c],o=s)}else q=o,o=n;if(o===n){if(o=q,s=[],c=e.charAt(q),x.test(c)?q++:(c=n,Y===0&&X(W)),c!==n)for(;c!==n;)s.push(c),c=e.charAt(q),x.test(c)?q++:(c=n,Y===0&&X(W));else s=n;if(s!==n){if(c=q,e.charCodeAt(q)===46?(l=`.`,q++):(l=n,Y===0&&X(U)),l!==n){for(u=[],d=e.charAt(q),x.test(d)?q++:(d=n,Y===0&&X(W));d!==n;)u.push(d),d=e.charAt(q),x.test(d)?q++:(d=n,Y===0&&X(W));l=[l,u],c=l}else q=c,c=n;c===n&&(c=null),s=[s,c],o=s}else q=o,o=n}if(o!==n){if(s=q,c=e.charAt(q),S.test(c)?q++:(c=n,Y===0&&X(fe)),c!==n){if(l=e.charAt(q),C.test(l)?q++:(l=n,Y===0&&X(pe)),l===n&&(l=null),u=[],d=e.charAt(q),x.test(d)?q++:(d=n,Y===0&&X(W)),d!==n)for(;d!==n;)u.push(d),d=e.charAt(q),x.test(d)?q++:(d=n,Y===0&&X(W));else u=n;u===n?(q=s,s=n):(c=[c,l,u],s=c)}else q=s,s=n;s===n&&(s=null),a=[a,o,s],i=a}else q=i,i=n;return r=i===n?i:e.substring(r,q),r!==n&&(J=t,r=ct(r)),t=r,t}function cn(){let t,r,i,a;if(Y++,t=q,e.charCodeAt(q)===34?(r=`"`,q++):(r=n,Y===0&&X(he)),r!==n){for(i=[],a=ln();a!==n;)i.push(a),a=ln();e.charCodeAt(q)===34?(a=`"`,q++):(a=n,Y===0&&X(he)),a===n?(q=t,t=n):(J=t,t=lt(i))}else q=t,t=n;return Y--,t===n&&(r=n,Y===0&&X(me)),t}function ln(){let t,r,i;return t=q,e.charCodeAt(q)===92?(r=`\\`,q++):(r=n,Y===0&&X(ge)),r===n?(q=t,t=n):(i=un(),i===n?(q=t,t=n):(J=t,t=ut(i))),t===n&&(t=e.charAt(q),w.test(t)?q++:(t=n,Y===0&&X(_e))),t}function un(){let t,r,i,a,o,s,c,l;return t=q,e.charCodeAt(q)===34?(r=`"`,q++):(r=n,Y===0&&X(he)),r!==n&&(J=t,r=dt()),t=r,t===n&&(t=q,e.charCodeAt(q)===92?(r=`\\`,q++):(r=n,Y===0&&X(ge)),r!==n&&(J=t,r=ft()),t=r,t===n&&(t=q,e.charCodeAt(q)===110?(r=`n`,q++):(r=n,Y===0&&X(ve)),r!==n&&(J=t,r=pt()),t=r,t===n&&(t=q,e.charCodeAt(q)===114?(r=`r`,q++):(r=n,Y===0&&X(ye)),r!==n&&(J=t,r=mt()),t=r,t===n&&(t=q,e.charCodeAt(q)===116?(r=`t`,q++):(r=n,Y===0&&X(be)),r!==n&&(J=t,r=ht()),t=r,t===n&&(t=q,e.charCodeAt(q)===117?(r=`u`,q++):(r=n,Y===0&&X(xe)),r===n?(q=t,t=n):(i=q,a=q,o=e.charAt(q),k.test(o)?q++:(o=n,Y===0&&X(Se)),o===n?(q=a,a=n):(s=e.charAt(q),k.test(s)?q++:(s=n,Y===0&&X(Se)),s===n?(q=a,a=n):(c=e.charAt(q),k.test(c)?q++:(c=n,Y===0&&X(Se)),c===n?(q=a,a=n):(l=e.charAt(q),k.test(l)?q++:(l=n,Y===0&&X(Se)),l===n?(q=a,a=n):(o=[o,s,c,l],a=o)))),i=a===n?a:e.substring(i,q),i===n?(q=t,t=n):(J=t,t=gt(i))),t===n&&(t=q,e.length>q?(r=e.charAt(q),q++):(r=n,Y===0&&X(G)),r!==n&&(J=t,r=_t(r)),t=r)))))),t}function dn(){let e;return e=fn(),e===n&&(e=pn()),e}function fn(){let t,r,i,a;if(t=q,e.substr(q,2)===`//`?(r=`//`,q+=2):(r=n,Y===0&&X(K)),r!==n){for(i=[],a=e.charAt(q),ee.test(a)?q++:(a=n,Y===0&&X(Ce));a!==n;)i.push(a),a=e.charAt(q),ee.test(a)?q++:(a=n,Y===0&&X(Ce));r=[r,i],t=r}else q=t,t=n;return t}function pn(){let t,r,i,a,o,s;if(t=q,e.substr(q,2)===`/*`?(r=`/*`,q+=2):(r=n,Y===0&&X(we)),r!==n){for(i=[],a=q,o=q,Y++,e.substr(q,2)===`*/`?(s=`*/`,q+=2):(s=n,Y===0&&X(Te)),Y--,s===n?o=void 0:(q=o,o=n),o===n?(q=a,a=n):(e.length>q?(s=e.charAt(q),q++):(s=n,Y===0&&X(G)),s===n?(q=a,a=n):(o=[o,s],a=o));a!==n;)i.push(a),a=q,o=q,Y++,e.substr(q,2)===`*/`?(s=`*/`,q+=2):(s=n,Y===0&&X(Te)),Y--,s===n?o=void 0:(q=o,o=n),o===n?(q=a,a=n):(e.length>q?(s=e.charAt(q),q++):(s=n,Y===0&&X(G)),s===n?(q=a,a=n):(o=[o,s],a=o));e.substr(q,2)===`*/`?(a=`*/`,q+=2):(a=n,Y===0&&X(Te)),a===n?(q=t,t=n):(r=[r,i,a],t=r)}else q=t,t=n;return t}function mn(){let t,r;for(Y++,t=[],r=e.charAt(q),A.test(r)?q++:(r=n,Y===0&&X(Ee));r!==n;)t.push(r),r=e.charAt(q),A.test(r)?q++:(r=n,Y===0&&X(Ee));return Y--,t}function hn(){let e,t,r,i;for(e=q,t=[],r=q,mn(),i=gn(),i===n?(q=r,r=n):(J=r,r=vt(i));r!==n;)t.push(r),r=q,mn(),i=gn(),i===n?(q=r,r=n):(J=r,r=vt(i));return r=mn(),J=e,e=yt(t),e}function gn(){let t,r,i,a,o,s,c;if(t=q,e.substr(q,2)===`//`?(r=`//`,q+=2):(r=n,Y===0&&X(K)),r!==n){for(i=q,a=[],o=e.charAt(q),ee.test(o)?q++:(o=n,Y===0&&X(Ce));o!==n;)a.push(o),o=e.charAt(q),ee.test(o)?q++:(o=n,Y===0&&X(Ce));i=e.substring(i,q),J=t,t=bt(i)}else q=t,t=n;if(t===n){if(t=q,e.substr(q,2)===`/*`?(r=`/*`,q+=2):(r=n,Y===0&&X(we)),r!==n){for(i=q,a=[],o=q,s=q,Y++,e.substr(q,2)===`*/`?(c=`*/`,q+=2):(c=n,Y===0&&X(Te)),Y--,c===n?s=void 0:(q=s,s=n),s===n?(q=o,o=n):(e.length>q?(c=e.charAt(q),q++):(c=n,Y===0&&X(G)),c===n?(q=o,o=n):(s=[s,c],o=s));o!==n;)a.push(o),o=q,s=q,Y++,e.substr(q,2)===`*/`?(c=`*/`,q+=2):(c=n,Y===0&&X(Te)),Y--,c===n?s=void 0:(q=s,s=n),s===n?(q=o,o=n):(e.length>q?(c=e.charAt(q),q++):(c=n,Y===0&&X(G)),c===n?(q=o,o=n):(s=[s,c],o=s));i=e.substring(i,q),e.substr(q,2)===`*/`?(a=`*/`,q+=2):(a=n,Y===0&&X(Te)),a===n?(q=t,t=n):(J=t,t=xt(i))}else q=t,t=n}return t}function _n(){let t,r;if(Y++,t=[],r=e.charAt(q),A.test(r)?q++:(r=n,Y===0&&X(Ee)),r===n&&(r=dn()),r!==n)for(;r!==n;)t.push(r),r=e.charAt(q),A.test(r)?q++:(r=n,Y===0&&X(Ee)),r===n&&(r=dn());else t=n;return Y--,t===n&&(r=n,Y===0&&X(De)),t}function Z(){let t,r;for(Y++,t=[],r=e.charAt(q),A.test(r)?q++:(r=n,Y===0&&X(Ee)),r===n&&(r=dn());r!==n;)t.push(r),r=e.charAt(q),A.test(r)?q++:(r=n,Y===0&&X(Ee)),r===n&&(r=dn());return Y--,t}Tt=a();let vn=Tt!==n&&q===e.length;function yn(){throw Tt!==n&&q<e.length&&X(jt()),It(wt,Ct<e.length?Dt(Ct):null,Ct<e.length?Pt(Ct,Ct+1):Pt(Ct,Ct))}if(t.peg$library)return{peg$result:Tt,peg$currPos:q,peg$FAILED:n,peg$maxFailExpected:wt,peg$maxFailPos:Ct,peg$success:vn,peg$throw:vn?void 0:yn};if(vn)return Tt;yn()}function ee(e){try{return k(e)}catch(e){if(e instanceof Error&&`location`in e){let t=e.location,n=SyntaxError(`${e.message} at ${t.start.line}:${t.start.column}`);throw n.location=t,n}throw e}}function A(e){return e.replace(/(\d)\s+(?=\d)/g,`$1`)}function j(e){return A(e.replace(/^"(.*)"$/,`$1`)).replace(/%$/,``).trim()}function M(e){let t=j(e?.trim()??``);if(!t)return;let n=Number(t);return Number.isFinite(n)?n:void 0}var N={"\\":`\\\\`,'"':`\\"`,"\n":`\\n`,"\r":`\\r`," ":`\\t`},P={"\\":`\\`,'"':`"`,n:`
|
|
311
|
-
`,r:`\r`,t:` `};function
|
|
312
|
-
`).map(e=>e.trim()).filter(Boolean),n=[],r=[],i=t[0]?.match(/^series\s*=\s*(.+)$/);if(i){let e=R(i[1].trim()),r=[];for(let e=1;e<t.length;e++){let n=t[e].match(V),i=n??t[e].match(B);i&&r.push({cells:R(i[2]),label:I(i[1]),legacy:n!==null})}let a=e.length>1||!r.some(e=>e.legacy)?e.map(L):L(e[0]).split(`,`).map(e=>e.trim()),o=a.map(()=>[]);for(let e of r){n.push(e.label);for(let t=0;t<a.length;t++)o[t].push(M(e.cells[t]))}let s=a.map((e,t)=>({name:e,values:o[t]}));return{labels:ne(n),values:o[0]??[],series:s}}for(let e of t){let t=e.match(te);t&&(n.push(I(t[1])),r.push(M(t[2])))}return{labels:ne(n),values:r}}var ie=[{name:`Blueprint`,label:`Blueprint`,colors:[`#2563A0`,`#D4A63A`,`#C94044`,`#2D8659`,`#4B90CF`,`#163A65`]},{name:`BlueprintBold`,label:`Blueprint Bold`,colors:[`#2563A0`,`#DDF247`,`#C94044`,`#2D8659`,`#D4A63A`,`#163A65`]},{name:`JosefAlbers`,label:`Albers`,colors:[`#c00559`,`#de1f6c`,`#f3a20d`,`#f07a13`,`#de6716`]},{name:`Durorthod`,label:`Amber`,colors:[`#4b2b1f`,`#803c15`,`#c6782c`,`#ffa91d`,`#ebdf9a`]},{name:`X41`,label:`Berry`,colors:[`#411f6b`,`#783999`,`#be3979`,`#cc857d`,`#e2c6a6`]},{name:`Bright`,label:`Bright`,colors:[`#462255`,`#ff8811`,`#9dd9d2`,`#046e8f`,`#d44d5c`]},{name:`Cancri`,label:`Cancri`,colors:[`#343854`,`#8c384d`,`#c9002e`,`#d95e31`,`#f0c742`,`#e5dcd1`]},{name:`Ceres`,label:`Ceres`,colors:[`#2f3437`,`#4a5f71`,`#6f8ba0`,`#dbdddd`]},{name:`MarcChagall`,label:`Chagall`,colors:[`#3f6f76`,`#69b7ce`,`#c65840`,`#f4ce4b`,`#563d63`]},{name:`Pelewensis`,label:`Coral`,colors:[`#e2b000`,`#dde576`,`#2449a2`,`#809098`,`#303538`]},{name:`Deathmasks`,label:`Deathmasks`,colors:[`#926159`,`#94947b`,`#c7d2d8`,`#62b7c8`,`#43535c`,`#203648`]},{name:`Leucosternon`,label:`Deep Sea`,colors:[`#302e5b`,`#0e34b2`,`#207cf5`,`#9ec8ff`,`#e3e43a`]},{name:`Deelite`,label:`Deelite`,colors:[`#48448e`,`#8ccc58`,`#fc4d97`,`#bd2066`]},{name:`X10`,label:`Dusk`,colors:[`#383138`,`#5b4361`,`#846d86`,`#d8e0c0`,`#e3c58a`,`#a89e5e`]},{name:`Vitrixerand`,label:`Earth`,colors:[`#3d303e`,`#723f27`,`#9b6044`,`#b5804c`,`#facd9a`]},{name:`Egypt`,label:`Egypt`,colors:[`#dd5129`,`#0f7ba2`,`#43b284`,`#fab255`]},{name:`ElectronicNight`,label:`Electric Night`,colors:[`#cb54d6`,`#3e45c4`,`#3b3233`,`#362f78`,`#57b4ae`]},{name:`LutjanusSebae`,label:`Emperor`,colors:[`#dadedf`,`#a2bac5`,`#ce3d21`,`#992216`,`#59241e`]},{name:`Enara`,label:`Enara`,colors:[`#353535`,`#3d5983`,`#5a8a54`,`#cfb023`]},{name:`Camo871`,label:`Fiesta`,colors:[`#ffff14`,`#fea31d`,`#ce2d41`,`#3a3fa3`]},{name:`Folklore`,label:`Folklore`,colors:[`#343434`,`#5c5c5c`,`#bababa`,`#f8f8f8`]},{name:`Fritsch`,label:`Fritsch`,colors:[`#0f8d7b`,`#8942bd`,`#373333`,`#eadd17`]},{name:`AgSunset`,label:`Glow`,colors:[`#4b2991`,`#872ca2`,`#c0369d`,`#ea4f88`,`#fa7876`,`#f6a97a`,`#edd9a3`]},{name:`Harvey`,label:`Harvey`,colors:[`#c6d4d6`,`#274c4f`,`#a4432d`,`#b17c51`]},{name:`Heep`,label:`Heep`,colors:[`#466e9a`,`#e84d45`,`#35332f`,`#a1baac`]},{name:`Imperator`,label:`Imperator`,colors:[`#302e62`,`#0527b4`,`#555dfe`,`#e4e500`,`#b8980f`]},{name:`Klimt`,label:`Klimt`,colors:[`#df9ed4`,`#d52c50`,`#eacc62`,`#469d76`,`#39546e`,`#9936a3`]},{name:`KnickCity`,label:`Knick City`,colors:[`#213453`,`#ff6720`,`#707372`,`#c8c9c7`]},{name:`London`,label:`London`,colors:[`#bd241e`,`#e56b1e`,`#ffcd22`,`#223259`]},{name:`Lover`,label:`Lover`,colors:[`#b8396b`,`#ffd1d7`,`#e4dfb7`,`#76bae0`,`#b28f81`,`#54483e`]},{name:`Maya`,label:`Maya`,colors:[`#3d5a80`,`#98c1d9`,`#c7e1e2`,`#ee6c4d`,`#293241`]},{name:`X24`,label:`Mocha`,colors:[`#44302e`,`#7e5945`,`#bc927b`,`#e6dbd6`]},{name:`Camo873`,label:`Neon`,colors:[`#132f8a`,`#5a56c8`,`#fc7ead`,`#ffca3e`]},{name:`NetsCity`,label:`Nets City`,colors:[`#353535`,`#ffb81c`,`#da291c`,`#004c97`,`#418fde`]},{name:`Nodoubt`,label:`No Doubt`,colors:[`#385581`,`#6dbac6`,`#dac190`,`#c9052c`]},{name:`ClaesOldenburg`,label:`Oldenburg`,colors:[`#95b1c9`,`#263656`,`#698946`,`#f8d440`,`#c30014`]},{name:`Peacesells`,label:`Peace Sells`,colors:[`#9a5155`,`#483943`,`#ecc463`,`#a497b2`]},{name:`PabloPicasso`,label:`Picasso`,colors:[`#4e7989`,`#a9011b`,`#e4a826`,`#80944e`,`#dcd6b2`]},{name:`Bifasciatum`,label:`Reef`,colors:[`#36313d`,`#16407b`,`#2b7ff9`,`#9feaee`,`#6cbe50`]},{name:`SiameseDream`,label:`Siamese Dream`,colors:[`#e3dbd2`,`#413026`,`#a34d2c`,`#cd8e40`]},{name:`X115`,label:`Sienna`,colors:[`#203748`,`#633633`,`#8e442e`,`#e9b35e`,`#e4dda7`]},{name:`Sixers`,label:`Sixers`,colors:[`#888b8d`,`#e4d5d3`,`#003da5`,`#d50032`]},{name:`SolLeWitt`,label:`Sol LeWitt`,colors:[`#0a71b6`,`#f9c40a`,`#403131`,`#eb5432`,`#d6dedc`]},{name:`Sunset`,label:`Sunset`,colors:[`#41476b`,`#675478`,`#9e6374`,`#c67b6f`,`#de9b71`,`#efbc82`,`#eedba6`]},{name:`Sunset2`,label:`Sunset II`,colors:[`#254075`,`#61599d`,`#b46c79`,`#eb7f54`,`#ffb33d`]},{name:`Sunset3`,label:`Sunset III`,colors:[`#4f2355`,`#701c34`,`#a63228`,`#c7662a`,`#eba42b`]},{name:`Pal9`,label:`Tropical`,colors:[`#273b5b`,`#c1c243`,`#e73e26`,`#2e6657`,`#d7e4a3`,`#24a99c`]},{name:`Salvelinus`,label:`Trout`,colors:[`#e6452e`,`#e49a36`,`#f9dd4c`,`#5b4a4c`,`#303542`]},{name:`TheovanDoesburg`,label:`Van Doesburg`,colors:[`#bd748f`,`#3d578e`,`#bfab68`,`#dad7d0`,`#313433`]},{name:`Wizards`,label:`Wizards`,colors:[`#c8102e`,`#213453`,`#8d9093`,`#c8c9c7`]},{name:`FrancescoXanto`,label:`Xanto`,colors:[`#2c6aa5`,`#dcad00`,`#d8c67e`,`#c97f17`,`#578b55`]},{name:`Zeppelin`,label:`Zeppelin`,colors:[`#efdb15`,`#739c9c`,`#0d484c`,`#c71a08`]}],ae=Object.fromEntries(ie.map(e=>[e.name,e.colors]));function oe(e){if(!e)return;let t=ae[e];return t?[...t]:void 0}function H(){return ie}var{min:se,max:ce}=Math,le=(e,t=0,n=1)=>se(ce(t,e),n),ue=e=>{e._clipped=!1,e._unclipped=e.slice(0);for(let t=0;t<=3;t++)t<3?((e[t]<0||e[t]>255)&&(e._clipped=!0),e[t]=le(e[t],0,255)):t===3&&(e[t]=le(e[t],0,1));return e},de={};for(let e of[`Boolean`,`Number`,`String`,`Function`,`Array`,`Date`,`RegExp`,`Undefined`,`Null`])de[`[object ${e}]`]=e.toLowerCase();function U(e){return de[Object.prototype.toString.call(e)]||`object`}var W=(e,t=null)=>e.length>=3?Array.prototype.slice.call(e):U(e[0])==`object`&&t?t.split(``).filter(t=>e[0][t]!==void 0).map(t=>e[0][t]):e[0].slice(0),fe=e=>{if(e.length<2)return null;let t=e.length-1;return U(e[t])==`string`?e[t].toLowerCase():null},{PI:pe,min:me,max:he}=Math,ge=e=>Math.round(e*100)/100,_e=e=>Math.round(e*100)/100,ve=pe*2,ye=pe/3,be=pe/180,xe=180/pe;function Se(e){return[...e.slice(0,3).reverse(),...e.slice(3)]}var G={format:{},autodetect:[]},K=class{constructor(...e){let t=this;if(U(e[0])===`object`&&e[0].constructor&&e[0].constructor===this.constructor)return e[0];let n=fe(e),r=!1;if(!n){r=!0,G.sorted||=(G.autodetect=G.autodetect.sort((e,t)=>t.p-e.p),!0);for(let t of G.autodetect)if(n=t.test(...e),n)break}if(G.format[n])t._rgb=ue(G.format[n].apply(null,r?e:e.slice(0,-1)));else throw Error(`unknown format: `+e);t._rgb.length===3&&t._rgb.push(1)}toString(){return U(this.hex)==`function`?this.hex():`[${this._rgb.join(`,`)}]`}},Ce=`3.2.0`,we=(...e)=>new K(...e);we.version=Ce;var Te={aliceblue:`#f0f8ff`,antiquewhite:`#faebd7`,aqua:`#00ffff`,aquamarine:`#7fffd4`,azure:`#f0ffff`,beige:`#f5f5dc`,bisque:`#ffe4c4`,black:`#000000`,blanchedalmond:`#ffebcd`,blue:`#0000ff`,blueviolet:`#8a2be2`,brown:`#a52a2a`,burlywood:`#deb887`,cadetblue:`#5f9ea0`,chartreuse:`#7fff00`,chocolate:`#d2691e`,coral:`#ff7f50`,cornflowerblue:`#6495ed`,cornsilk:`#fff8dc`,crimson:`#dc143c`,cyan:`#00ffff`,darkblue:`#00008b`,darkcyan:`#008b8b`,darkgoldenrod:`#b8860b`,darkgray:`#a9a9a9`,darkgreen:`#006400`,darkgrey:`#a9a9a9`,darkkhaki:`#bdb76b`,darkmagenta:`#8b008b`,darkolivegreen:`#556b2f`,darkorange:`#ff8c00`,darkorchid:`#9932cc`,darkred:`#8b0000`,darksalmon:`#e9967a`,darkseagreen:`#8fbc8f`,darkslateblue:`#483d8b`,darkslategray:`#2f4f4f`,darkslategrey:`#2f4f4f`,darkturquoise:`#00ced1`,darkviolet:`#9400d3`,deeppink:`#ff1493`,deepskyblue:`#00bfff`,dimgray:`#696969`,dimgrey:`#696969`,dodgerblue:`#1e90ff`,firebrick:`#b22222`,floralwhite:`#fffaf0`,forestgreen:`#228b22`,fuchsia:`#ff00ff`,gainsboro:`#dcdcdc`,ghostwhite:`#f8f8ff`,gold:`#ffd700`,goldenrod:`#daa520`,gray:`#808080`,green:`#008000`,greenyellow:`#adff2f`,grey:`#808080`,honeydew:`#f0fff0`,hotpink:`#ff69b4`,indianred:`#cd5c5c`,indigo:`#4b0082`,ivory:`#fffff0`,khaki:`#f0e68c`,laserlemon:`#ffff54`,lavender:`#e6e6fa`,lavenderblush:`#fff0f5`,lawngreen:`#7cfc00`,lemonchiffon:`#fffacd`,lightblue:`#add8e6`,lightcoral:`#f08080`,lightcyan:`#e0ffff`,lightgoldenrod:`#fafad2`,lightgoldenrodyellow:`#fafad2`,lightgray:`#d3d3d3`,lightgreen:`#90ee90`,lightgrey:`#d3d3d3`,lightpink:`#ffb6c1`,lightsalmon:`#ffa07a`,lightseagreen:`#20b2aa`,lightskyblue:`#87cefa`,lightslategray:`#778899`,lightslategrey:`#778899`,lightsteelblue:`#b0c4de`,lightyellow:`#ffffe0`,lime:`#00ff00`,limegreen:`#32cd32`,linen:`#faf0e6`,magenta:`#ff00ff`,maroon:`#800000`,maroon2:`#7f0000`,maroon3:`#b03060`,mediumaquamarine:`#66cdaa`,mediumblue:`#0000cd`,mediumorchid:`#ba55d3`,mediumpurple:`#9370db`,mediumseagreen:`#3cb371`,mediumslateblue:`#7b68ee`,mediumspringgreen:`#00fa9a`,mediumturquoise:`#48d1cc`,mediumvioletred:`#c71585`,midnightblue:`#191970`,mintcream:`#f5fffa`,mistyrose:`#ffe4e1`,moccasin:`#ffe4b5`,navajowhite:`#ffdead`,navy:`#000080`,oldlace:`#fdf5e6`,olive:`#808000`,olivedrab:`#6b8e23`,orange:`#ffa500`,orangered:`#ff4500`,orchid:`#da70d6`,palegoldenrod:`#eee8aa`,palegreen:`#98fb98`,paleturquoise:`#afeeee`,palevioletred:`#db7093`,papayawhip:`#ffefd5`,peachpuff:`#ffdab9`,peru:`#cd853f`,pink:`#ffc0cb`,plum:`#dda0dd`,powderblue:`#b0e0e6`,purple:`#800080`,purple2:`#7f007f`,purple3:`#a020f0`,rebeccapurple:`#663399`,red:`#ff0000`,rosybrown:`#bc8f8f`,royalblue:`#4169e1`,saddlebrown:`#8b4513`,salmon:`#fa8072`,sandybrown:`#f4a460`,seagreen:`#2e8b57`,seashell:`#fff5ee`,sienna:`#a0522d`,silver:`#c0c0c0`,skyblue:`#87ceeb`,slateblue:`#6a5acd`,slategray:`#708090`,slategrey:`#708090`,snow:`#fffafa`,springgreen:`#00ff7f`,steelblue:`#4682b4`,tan:`#d2b48c`,teal:`#008080`,thistle:`#d8bfd8`,tomato:`#ff6347`,turquoise:`#40e0d0`,violet:`#ee82ee`,wheat:`#f5deb3`,white:`#ffffff`,whitesmoke:`#f5f5f5`,yellow:`#ffff00`,yellowgreen:`#9acd32`},Ee=/^#?([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,De=/^#?([A-Fa-f0-9]{8}|[A-Fa-f0-9]{4})$/,Oe=e=>{if(e.match(Ee)){(e.length===4||e.length===7)&&(e=e.substr(1)),e.length===3&&(e=e.split(``),e=e[0]+e[0]+e[1]+e[1]+e[2]+e[2]);let t=parseInt(e,16);return[t>>16,t>>8&255,t&255,1]}if(e.match(De)){(e.length===5||e.length===9)&&(e=e.substr(1)),e.length===4&&(e=e.split(``),e=e[0]+e[0]+e[1]+e[1]+e[2]+e[2]+e[3]+e[3]);let t=parseInt(e,16);return[t>>24&255,t>>16&255,t>>8&255,Math.round((t&255)/255*100)/100]}throw Error(`unknown hex color: ${e}`)},{round:ke}=Math,Ae=(...e)=>{let[t,n,r,i]=W(e,`rgba`),a=fe(e)||`auto`;i===void 0&&(i=1),a===`auto`&&(a=i<1?`rgba`:`rgb`),t=ke(t),n=ke(n),r=ke(r);let o=`000000`+(t<<16|n<<8|r).toString(16);o=o.substr(o.length-6);let s=`0`+ke(i*255).toString(16);switch(s=s.substr(s.length-2),a.toLowerCase()){case`rgba`:return`#${o}${s}`;case`argb`:return`#${s}${o}`;default:return`#${o}`}};K.prototype.name=function(){let e=Ae(this._rgb,`rgb`);for(let t of Object.keys(Te))if(Te[t]===e)return t.toLowerCase();return e},G.format.named=e=>{if(e=e.toLowerCase(),Te[e])return Oe(Te[e]);throw Error(`unknown color name: `+e)},G.autodetect.push({p:5,test:(e,...t)=>{if(!t.length&&U(e)===`string`&&Te[e.toLowerCase()])return`named`}}),K.prototype.alpha=function(e,t=!1){return e!==void 0&&U(e)===`number`?t?(this._rgb[3]=e,this):new K([this._rgb[0],this._rgb[1],this._rgb[2],e],`rgb`):this._rgb[3]},K.prototype.clipped=function(){return this._rgb._clipped||!1};var je={Kn:18,labWhitePoint:`d65`,Xn:.95047,Yn:1,Zn:1.08883,t0:.137931034,t1:.206896552,t2:.12841855,t3:.008856452,kE:216/24389,kKE:8,kK:24389/27,RefWhiteRGB:{X:.95047,Y:1,Z:1.08883},MtxRGB2XYZ:{m00:.4124564390896922,m01:.21267285140562253,m02:.0193338955823293,m10:.357576077643909,m11:.715152155287818,m12:.11919202588130297,m20:.18043748326639894,m21:.07217499330655958,m22:.9503040785363679},MtxXYZ2RGB:{m00:3.2404541621141045,m01:-.9692660305051868,m02:.055643430959114726,m10:-1.5371385127977166,m11:1.8760108454466942,m12:-.2040259135167538,m20:-.498531409556016,m21:.041556017530349834,m22:1.0572251882231791},As:.9414285350000001,Bs:1.040417467,Cs:1.089532651,MtxAdaptMa:{m00:.8951,m01:-.7502,m02:.0389,m10:.2664,m11:1.7135,m12:-.0685,m20:-.1614,m21:.0367,m22:1.0296},MtxAdaptMaI:{m00:.9869929054667123,m01:.43230526972339456,m02:-.008528664575177328,m10:-.14705425642099013,m11:.5183602715367776,m12:.04004282165408487,m20:.15996265166373125,m21:.0492912282128556,m22:.9684866957875502}},Me=new Map([[`a`,[1.0985,.35585]],[`b`,[1.0985,.35585]],[`c`,[.98074,1.18232]],[`d50`,[.96422,.82521]],[`d55`,[.95682,.92149]],[`d65`,[.95047,1.08883]],[`e`,[1,1,1]],[`f2`,[.99186,.67393]],[`f7`,[.95041,1.08747]],[`f11`,[1.00962,.6435]],[`icc`,[.96422,.82521]]]);function Ne(e){let t=Me.get(String(e).toLowerCase());if(!t)throw Error(`unknown Lab illuminant `+e);je.labWhitePoint=e,je.Xn=t[0],je.Zn=t[1]}function Pe(){return je.labWhitePoint}var Fe=(...e)=>{e=W(e,`lab`);let[t,n,r]=e,[i,a,o]=Ie(t,n,r),[s,c,l]=Re(i,a,o);return[s,c,l,e.length>3?e[3]:1]},Ie=(e,t,n)=>{let{kE:r,kK:i,kKE:a,Xn:o,Yn:s,Zn:c}=je,l=(e+16)/116,u=.002*t+l,d=l-.005*n,f=u*u*u,p=d*d*d,m=f>r?f:(116*u-16)/i,h=e>a?((e+16)/116)**3:e/i,g=p>r?p:(116*d-16)/i;return[m*o,h*s,g*c]},Le=e=>{let t=Math.sign(e);return e=Math.abs(e),(e<=.0031308?e*12.92:1.055*e**(1/2.4)-.055)*t},Re=(e,t,n)=>{let{MtxAdaptMa:r,MtxAdaptMaI:i,MtxXYZ2RGB:a,RefWhiteRGB:o,Xn:s,Yn:c,Zn:l}=je,u=s*r.m00+c*r.m10+l*r.m20,d=s*r.m01+c*r.m11+l*r.m21,f=s*r.m02+c*r.m12+l*r.m22,p=o.X*r.m00+o.Y*r.m10+o.Z*r.m20,m=o.X*r.m01+o.Y*r.m11+o.Z*r.m21,h=o.X*r.m02+o.Y*r.m12+o.Z*r.m22,g=(e*r.m00+t*r.m10+n*r.m20)*(p/u),_=(e*r.m01+t*r.m11+n*r.m21)*(m/d),v=(e*r.m02+t*r.m12+n*r.m22)*(h/f),y=g*i.m00+_*i.m10+v*i.m20,b=g*i.m01+_*i.m11+v*i.m21,x=g*i.m02+_*i.m12+v*i.m22,S=Le(y*a.m00+b*a.m10+x*a.m20),C=Le(y*a.m01+b*a.m11+x*a.m21),w=Le(y*a.m02+b*a.m12+x*a.m22);return[S*255,C*255,w*255]},ze=(...e)=>{let[t,n,r,...i]=W(e,`rgb`),[a,o,s]=He(t,n,r),[c,l,u]=Be(a,o,s);return[c,l,u,...i.length>0&&i[0]<1?[i[0]]:[]]};function Be(e,t,n){let{Xn:r,Yn:i,Zn:a,kE:o,kK:s}=je,c=e/r,l=t/i,u=n/a,d=c>o?c**(1/3):(s*c+16)/116,f=l>o?l**(1/3):(s*l+16)/116,p=u>o?u**(1/3):(s*u+16)/116;return[116*f-16,500*(d-f),200*(f-p)]}function Ve(e){let t=Math.sign(e);return e=Math.abs(e),(e<=.04045?e/12.92:((e+.055)/1.055)**2.4)*t}var He=(e,t,n)=>{e=Ve(e/255),t=Ve(t/255),n=Ve(n/255);let{MtxRGB2XYZ:r,MtxAdaptMa:i,MtxAdaptMaI:a,Xn:o,Yn:s,Zn:c,As:l,Bs:u,Cs:d}=je,f=e*r.m00+t*r.m10+n*r.m20,p=e*r.m01+t*r.m11+n*r.m21,m=e*r.m02+t*r.m12+n*r.m22,h=o*i.m00+s*i.m10+c*i.m20,g=o*i.m01+s*i.m11+c*i.m21,_=o*i.m02+s*i.m12+c*i.m22,v=f*i.m00+p*i.m10+m*i.m20,y=f*i.m01+p*i.m11+m*i.m21,b=f*i.m02+p*i.m12+m*i.m22;return v*=h/l,y*=g/u,b*=_/d,f=v*a.m00+y*a.m10+b*a.m20,p=v*a.m01+y*a.m11+b*a.m21,m=v*a.m02+y*a.m12+b*a.m22,[f,p,m]};K.prototype.lab=function(){return ze(this._rgb)},Object.assign(we,{lab:(...e)=>new K(...e,`lab`),getLabWhitePoint:Pe,setLabWhitePoint:Ne}),G.format.lab=Fe,G.autodetect.push({p:2,test:(...e)=>{if(e=W(e,`lab`),U(e)===`array`&&e.length===3)return`lab`}}),K.prototype.darken=function(e=1){let t=this,n=t.lab();return n[0]-=je.Kn*e,new K(n,`lab`).alpha(t.alpha(),!0)},K.prototype.brighten=function(e=1){return this.darken(-e)},K.prototype.darker=K.prototype.darken,K.prototype.brighter=K.prototype.brighten,K.prototype.get=function(e){let[t,n]=e.split(`.`),r=this[t]();if(n){let e=t.indexOf(n)-(t.substr(0,2)===`ok`?2:0);if(e>-1)return r[e];throw Error(`unknown channel ${n} in mode ${t}`)}return r};var{pow:Ue}=Math,We=1e-7,Ge=20;K.prototype.luminance=function(e,t=`rgb`){if(e!==void 0&&U(e)===`number`){if(e===0)return new K([0,0,0,this._rgb[3]],`rgb`);if(e===1)return new K([255,255,255,this._rgb[3]],`rgb`);let n=this.luminance(),r=Ge,i=(n,a)=>{let o=n.interpolate(a,.5,t),s=o.luminance();return Math.abs(e-s)<We||!r--?o:s>e?i(n,o):i(o,a)};return new K([...(n>e?i(new K([0,0,0]),this):i(this,new K([255,255,255]))).rgb(),this._rgb[3]])}return Ke(...this._rgb.slice(0,3))};var Ke=(e,t,n)=>(e=qe(e),t=qe(t),n=qe(n),.2126*e+.7152*t+.0722*n),qe=e=>(e/=255,e<=.03928?e/12.92:Ue((e+.055)/1.055,2.4)),Je={},Ye=(e,t,n=.5,...r)=>{let i=r[0]||`lrgb`;if(!Je[i]&&!r.length&&(i=Object.keys(Je)[0]),!Je[i])throw Error(`interpolation mode ${i} is not defined`);return U(e)!==`object`&&(e=new K(e)),U(t)!==`object`&&(t=new K(t)),Je[i](e,t,n).alpha(e.alpha()+n*(t.alpha()-e.alpha()))};K.prototype.mix=K.prototype.interpolate=function(e,t=.5,...n){return Ye(this,e,t,...n)},K.prototype.premultiply=function(e=!1){let t=this._rgb,n=t[3];return e?(this._rgb=[t[0]*n,t[1]*n,t[2]*n,n],this):new K([t[0]*n,t[1]*n,t[2]*n,n],`rgb`)};var{sin:Xe,cos:Ze}=Math,Qe=(...e)=>{let[t,n,r]=W(e,`lch`);return isNaN(r)&&(r=0),r*=be,[t,Ze(r)*n,Xe(r)*n]},$e=(...e)=>{e=W(e,`lch`);let[t,n,r]=e,[i,a,o]=Qe(t,n,r),[s,c,l]=Fe(i,a,o);return[s,c,l,e.length>3?e[3]:1]},et=(...e)=>$e(...Se(W(e,`hcl`))),{sqrt:tt,atan2:nt,round:rt}=Math,it=(...e)=>{let[t,n,r]=W(e,`lab`),i=tt(n*n+r*r),a=(nt(r,n)*xe+360)%360;return rt(i*1e4)===0&&(a=NaN),[t,i,a]},at=(...e)=>{let[t,n,r,...i]=W(e,`rgb`),[a,o,s]=ze(t,n,r),[c,l,u]=it(a,o,s);return[c,l,u,...i.length>0&&i[0]<1?[i[0]]:[]]};K.prototype.lch=function(){return at(this._rgb)},K.prototype.hcl=function(){return Se(at(this._rgb))},Object.assign(we,{lch:(...e)=>new K(...e,`lch`),hcl:(...e)=>new K(...e,`hcl`)}),G.format.lch=$e,G.format.hcl=et,[`lch`,`hcl`].forEach(e=>G.autodetect.push({p:2,test:(...t)=>{if(t=W(t,e),U(t)===`array`&&t.length===3)return e}})),K.prototype.saturate=function(e=1){let t=this,n=t.lch();return n[1]+=je.Kn*e,n[1]<0&&(n[1]=0),new K(n,`lch`).alpha(t.alpha(),!0)},K.prototype.desaturate=function(e=1){return this.saturate(-e)},K.prototype.set=function(e,t,n=!1){let[r,i]=e.split(`.`),a=this[r]();if(i){let e=r.indexOf(i)-(r.substr(0,2)===`ok`?2:0);if(e>-1){if(U(t)==`string`)switch(t.charAt(0)){case`+`:a[e]+=+t;break;case`-`:a[e]+=+t;break;case`*`:a[e]*=+t.substr(1);break;case`/`:a[e]/=+t.substr(1);break;default:a[e]=+t}else if(U(t)===`number`)a[e]=t;else throw Error(`unsupported value for Color.set`);let i=new K(a,r);return n?(this._rgb=i._rgb,this):i}throw Error(`unknown channel ${i} in mode ${r}`)}return a},K.prototype.tint=function(e=.5,...t){return Ye(this,`white`,e,...t)},K.prototype.shade=function(e=.5,...t){return Ye(this,`black`,e,...t)},Je.rgb=(e,t,n)=>{let r=e._rgb,i=t._rgb;return new K(r[0]+n*(i[0]-r[0]),r[1]+n*(i[1]-r[1]),r[2]+n*(i[2]-r[2]),`rgb`)};var{sqrt:ot,pow:st}=Math;Je.lrgb=(e,t,n)=>{let[r,i,a]=e._rgb,[o,s,c]=t._rgb;return new K(ot(st(r,2)*(1-n)+st(o,2)*n),ot(st(i,2)*(1-n)+st(s,2)*n),ot(st(a,2)*(1-n)+st(c,2)*n),`rgb`)},Je.lab=(e,t,n)=>{let r=e.lab(),i=t.lab();return new K(r[0]+n*(i[0]-r[0]),r[1]+n*(i[1]-r[1]),r[2]+n*(i[2]-r[2]),`lab`)};var ct=(e,t,n,r)=>{let i,a;r===`hsl`?(i=e.hsl(),a=t.hsl()):r===`hsv`?(i=e.hsv(),a=t.hsv()):r===`hcg`?(i=e.hcg(),a=t.hcg()):r===`hsi`?(i=e.hsi(),a=t.hsi()):r===`lch`||r===`hcl`?(r=`hcl`,i=e.hcl(),a=t.hcl()):r===`oklch`&&(i=e.oklch().reverse(),a=t.oklch().reverse());let o,s,c,l,u,d;(r.substr(0,1)===`h`||r===`oklch`)&&([o,c,u]=i,[s,l,d]=a);let f,p,m,h;return!isNaN(o)&&!isNaN(s)?(h=s>o&&s-o>180?s-(o+360):s<o&&o-s>180?s+360-o:s-o,p=o+n*h):isNaN(o)?isNaN(s)?p=NaN:(p=s,(u==1||u==0)&&r!=`hsv`&&(f=l)):(p=o,(d==1||d==0)&&r!=`hsv`&&(f=c)),f===void 0&&(f=c+n*(l-c)),m=u+n*(d-u),r===`oklch`?new K([m,f,p],r):new K([p,f,m],r)},lt=(e,t,n)=>ct(e,t,n,`lch`);Je.lch=lt,Je.hcl=lt;var ut=e=>{if(U(e)==`number`&&e>=0&&e<=16777215)return[e>>16,e>>8&255,e&255,1];throw Error(`unknown num color: `+e)},dt=(...e)=>{let[t,n,r]=W(e,`rgb`);return(t<<16)+(n<<8)+r};K.prototype.num=function(){return dt(this._rgb)},Object.assign(we,{num:(...e)=>new K(...e,`num`)}),G.format.num=ut,G.autodetect.push({p:5,test:(...e)=>{if(e.length===1&&U(e[0])===`number`&&e[0]>=0&&e[0]<=16777215)return`num`}}),Je.num=(e,t,n)=>{let r=e.num();return new K(r+n*(t.num()-r),`num`)};var{floor:ft}=Math,pt=(...e)=>{e=W(e,`hcg`);let[t,n,r]=e,i,a,o;r*=255;let s=n*255;if(n===0)i=a=o=r;else{t===360&&(t=0),t>360&&(t-=360),t<0&&(t+=360),t/=60;let e=ft(t),c=t-e,l=r*(1-n),u=l+s*(1-c),d=l+s*c,f=l+s;switch(e){case 0:[i,a,o]=[f,d,l];break;case 1:[i,a,o]=[u,f,l];break;case 2:[i,a,o]=[l,f,d];break;case 3:[i,a,o]=[l,u,f];break;case 4:[i,a,o]=[d,l,f];break;case 5:[i,a,o]=[f,l,u]}}return[i,a,o,e.length>3?e[3]:1]},mt=(...e)=>{let[t,n,r]=W(e,`rgb`),i=me(t,n,r),a=he(t,n,r),o=a-i,s=o*100/255,c=i/(255-o)*100,l;return o===0?l=NaN:(t===a&&(l=(n-r)/o),n===a&&(l=2+(r-t)/o),r===a&&(l=4+(t-n)/o),l*=60,l<0&&(l+=360)),[l,s,c]};K.prototype.hcg=function(){return mt(this._rgb)},we.hcg=(...e)=>new K(...e,`hcg`),G.format.hcg=pt,G.autodetect.push({p:1,test:(...e)=>{if(e=W(e,`hcg`),U(e)===`array`&&e.length===3)return`hcg`}}),Je.hcg=(e,t,n)=>ct(e,t,n,`hcg`);var{cos:ht}=Math,gt=(...e)=>{e=W(e,`hsi`);let[t,n,r]=e,i,a,o;return isNaN(t)&&(t=0),isNaN(n)&&(n=0),t>360&&(t-=360),t<0&&(t+=360),t/=360,t<1/3?(o=(1-n)/3,i=(1+n*ht(ve*t)/ht(ye-ve*t))/3,a=1-(o+i)):t<2/3?(t-=1/3,i=(1-n)/3,a=(1+n*ht(ve*t)/ht(ye-ve*t))/3,o=1-(i+a)):(t-=2/3,a=(1-n)/3,o=(1+n*ht(ve*t)/ht(ye-ve*t))/3,i=1-(a+o)),i=le(r*i*3),a=le(r*a*3),o=le(r*o*3),[i*255,a*255,o*255,e.length>3?e[3]:1]},{min:_t,sqrt:vt,acos:yt}=Math,bt=(...e)=>{let[t,n,r]=W(e,`rgb`);t/=255,n/=255,r/=255;let i,a=_t(t,n,r),o=(t+n+r)/3,s=o>0?1-a/o:0;return s===0?i=NaN:(i=(t-n+(t-r))/2,i/=vt((t-n)*(t-n)+(t-r)*(n-r)),i=yt(i),r>n&&(i=ve-i),i/=ve),[i*360,s,o]};K.prototype.hsi=function(){return bt(this._rgb)},we.hsi=(...e)=>new K(...e,`hsi`),G.format.hsi=gt,G.autodetect.push({p:2,test:(...e)=>{if(e=W(e,`hsi`),U(e)===`array`&&e.length===3)return`hsi`}}),Je.hsi=(e,t,n)=>ct(e,t,n,`hsi`);var xt=(...e)=>{e=W(e,`hsl`);let[t,n,r]=e,i,a,o;if(n===0)i=a=o=r*255;else{let e=[0,0,0],s=[0,0,0],c=r<.5?r*(1+n):r+n-r*n,l=2*r-c,u=t/360;e[0]=u+1/3,e[1]=u,e[2]=u-1/3;for(let t=0;t<3;t++)e[t]<0&&(e[t]+=1),e[t]>1&&--e[t],6*e[t]<1?s[t]=l+(c-l)*6*e[t]:2*e[t]<1?s[t]=c:3*e[t]<2?s[t]=l+(c-l)*(2/3-e[t])*6:s[t]=l;[i,a,o]=[s[0]*255,s[1]*255,s[2]*255]}return e.length>3?[i,a,o,e[3]]:[i,a,o,1]},q=(...e)=>{e=W(e,`rgba`);let[t,n,r]=e;t/=255,n/=255,r/=255;let i=me(t,n,r),a=he(t,n,r),o=(a+i)/2,s,c;return a===i?(s=0,c=NaN):s=o<.5?(a-i)/(a+i):(a-i)/(2-a-i),t==a?c=(n-r)/(a-i):n==a?c=2+(r-t)/(a-i):r==a&&(c=4+(t-n)/(a-i)),c*=60,c<0&&(c+=360),e.length>3&&e[3]!==void 0?[c,s,o,e[3]]:[c,s,o]};K.prototype.hsl=function(){return q(this._rgb)},we.hsl=(...e)=>new K(...e,`hsl`),G.format.hsl=xt,G.autodetect.push({p:2,test:(...e)=>{if(e=W(e,`hsl`),U(e)===`array`&&e.length===3)return`hsl`}}),Je.hsl=(e,t,n)=>ct(e,t,n,`hsl`);var{floor:J}=Math,St=(...e)=>{e=W(e,`hsv`);let[t,n,r]=e,i,a,o;if(r*=255,n===0)i=a=o=r;else{t===360&&(t=0),t>360&&(t-=360),t<0&&(t+=360),t/=60;let e=J(t),s=t-e,c=r*(1-n),l=r*(1-n*s),u=r*(1-n*(1-s));switch(e){case 0:[i,a,o]=[r,u,c];break;case 1:[i,a,o]=[l,r,c];break;case 2:[i,a,o]=[c,r,u];break;case 3:[i,a,o]=[c,l,r];break;case 4:[i,a,o]=[u,c,r];break;case 5:[i,a,o]=[r,c,l]}}return[i,a,o,e.length>3?e[3]:1]},{min:Ct,max:wt}=Math,Y=(...e)=>{e=W(e,`rgb`);let[t,n,r]=e,i=Ct(t,n,r),a=wt(t,n,r),o=a-i,s,c,l;return l=a/255,a===0?(s=NaN,c=0):(c=o/a,t===a&&(s=(n-r)/o),n===a&&(s=2+(r-t)/o),r===a&&(s=4+(t-n)/o),s*=60,s<0&&(s+=360)),[s,c,l]};K.prototype.hsv=function(){return Y(this._rgb)},we.hsv=(...e)=>new K(...e,`hsv`),G.format.hsv=St,G.autodetect.push({p:2,test:(...e)=>{if(e=W(e,`hsv`),U(e)===`array`&&e.length===3)return`hsv`}}),Je.hsv=(e,t,n)=>ct(e,t,n,`hsv`);function Tt(e,t){let n=e.length;Array.isArray(e[0])||(e=[e]),Array.isArray(t[0])||(t=t.map(e=>[e]));let r=t[0].length,i=t[0].map((e,n)=>t.map(e=>e[n])),a=e.map(e=>i.map(t=>Array.isArray(e)?e.reduce((e,n,r)=>e+n*(t[r]||0),0):t.reduce((t,n)=>t+n*e,0)));return n===1&&(a=a[0]),r===1?a.map(e=>e[0]):a}var Et=(...e)=>{e=W(e,`lab`);let[t,n,r,...i]=e,[a,o,s]=Dt([t,n,r]),[c,l,u]=Re(a,o,s);return[c,l,u,...i.length>0&&i[0]<1?[i[0]]:[]]};function Dt(e){return Tt([[1.2268798758459243,-.5578149944602171,.2813910456659647],[-.0405757452148008,1.112286803280317,-.0717110580655164],[-.0763729366746601,-.4214933324022432,1.5869240198367816]],Tt([[1,.3963377773761749,.2158037573099136],[1,-.1055613458156586,-.0638541728258133],[1,-.0894841775298119,-1.2914855480194092]],e).map(e=>e**3))}var Ot=(...e)=>{let[t,n,r,...i]=W(e,`rgb`);return[...kt(He(t,n,r)),...i.length>0&&i[0]<1?[i[0]]:[]]};function kt(e){return Tt([[.210454268309314,.7936177747023054,-.0040720430116193],[1.9779985324311684,-2.42859224204858,.450593709617411],[.0259040424655478,.7827717124575296,-.8086757549230774]],Tt([[.819022437996703,.3619062600528904,-.1288737815209879],[.0329836539323885,.9292868615863434,.0361446663506424],[.0481771893596242,.2642395317527308,.6335478284694309]],e).map(e=>Math.cbrt(e)))}K.prototype.oklab=function(){return Ot(this._rgb)},Object.assign(we,{oklab:(...e)=>new K(...e,`oklab`)}),G.format.oklab=Et,G.autodetect.push({p:2,test:(...e)=>{if(e=W(e,`oklab`),U(e)===`array`&&e.length===3)return`oklab`}}),Je.oklab=(e,t,n)=>{let r=e.oklab(),i=t.oklab();return new K(r[0]+n*(i[0]-r[0]),r[1]+n*(i[1]-r[1]),r[2]+n*(i[2]-r[2]),`oklab`)},Je.oklch=(e,t,n)=>ct(e,t,n,`oklch`);var{pow:At,sqrt:jt,PI:Mt,cos:Nt,sin:Pt,atan2:X}=Math,Ft=(e,t=`lrgb`,n=null)=>{let r=e.length;n||=Array.from(Array(r)).map(()=>1);let i=r/n.reduce(function(e,t){return e+t});if(n.forEach((e,t)=>{n[t]*=i}),e=e.map(e=>new K(e)),t===`lrgb`)return It(e,n);let a=e.shift(),o=a.get(t),s=[],c=0,l=0;for(let e=0;e<o.length;e++)if(o[e]=(o[e]||0)*n[0],s.push(isNaN(o[e])?0:n[0]),t.charAt(e)===`h`&&!isNaN(o[e])){let t=o[e]/180*Mt;c+=Nt(t)*n[0],l+=Pt(t)*n[0]}let u=a.alpha()*n[0];e.forEach((e,r)=>{let i=e.get(t);u+=e.alpha()*n[r+1];for(let e=0;e<o.length;e++)if(!isNaN(i[e])){if(s[e]+=n[r+1],t.charAt(e)===`h`){let t=i[e]/180*Mt;c+=Nt(t)*n[r+1],l+=Pt(t)*n[r+1]}else o[e]+=i[e]*n[r+1]}});for(let e=0;e<o.length;e++)if(t.charAt(e)===`h`){let t=X(l/s[e],c/s[e])/Mt*180;for(;t<0;)t+=360;for(;t>=360;)t-=360;o[e]=t}else o[e]=o[e]/s[e];return u/=r,new K(o,t).alpha(u>.99999?1:u,!0)},It=(e,t)=>{let n=e.length,r=[0,0,0,0];for(let i=0;i<e.length;i++){let a=e[i],o=t[i]/n,s=a._rgb;r[0]+=At(s[0],2)*o,r[1]+=At(s[1],2)*o,r[2]+=At(s[2],2)*o,r[3]+=s[3]*o}return r[0]=jt(r[0]),r[1]=jt(r[1]),r[2]=jt(r[2]),r[3]>.9999999&&(r[3]=1),new K(ue(r))},{pow:Lt}=Math;function Rt(e){let t=`rgb`,n=we(`#ccc`),r=0,i=[0,1],a=[0,1],o=[],s=[0,0],c=!1,l=[],u=!1,d=0,f=1,p=!1,m={},h=!0,g=1,_=function(e){if(e||=[`#fff`,`#000`],e&&U(e)===`string`&&we.brewer&&we.brewer[e.toLowerCase()]&&(e=we.brewer[e.toLowerCase()]),U(e)===`array`){e.length===1&&(e=[e[0],e[0]]),e=e.slice(0);for(let t=0;t<e.length;t++)e[t]=we(e[t]);o.length=0;for(let t=0;t<e.length;t++)o.push(t/(e.length-1))}return S(),l=e},v=function(e){if(c!=null){let t=c.length-1,n=0;for(;n<t&&e>=c[n];)n++;return n-1}return 0},y=e=>e,b=e=>e,x=function(e,r){let i,a;if(r??=!1,isNaN(e)||e===null)return n;a=r?e:c&&c.length>2?v(e)/(c.length-2):f===d?1:(e-d)/(f-d),a=b(a),r||(a=y(a)),g!==1&&(a=Lt(a,g)),a=s[0]+a*(1-s[0]-s[1]),a=le(a,0,1);let u=Math.floor(a*1e4);if(h&&m[u])i=m[u];else{if(U(l)===`array`)for(let e=0;e<o.length;e++){let n=o[e];if(a<=n){i=l[e];break}if(a>=n&&e===o.length-1){i=l[e];break}if(a>n&&a<o[e+1]){a=(a-n)/(o[e+1]-n),i=we.interpolate(l[e],l[e+1],a,t);break}}else U(l)===`function`&&(i=l(a));h&&(m[u]=i)}return i};var S=()=>m={};_(e);let C=function(e){let t=we(x(e));return u&&t[u]?t[u]():t};return C.classes=function(e){if(e!=null){if(U(e)===`array`)c=e,i=[e[0],e[e.length-1]];else{let t=we.analyze(i);c=e===0?[t.min,t.max]:we.limits(t,`e`,e)}return C}return c},C.domain=function(e){if(!arguments.length)return a;a=e.slice(0),d=e[0],f=e[e.length-1],o=[];let t=l.length;if(e.length===t&&d!==f)for(let t of Array.from(e))o.push((t-d)/(f-d));else{for(let e=0;e<t;e++)o.push(e/(t-1));if(e.length>2){let t=e.map((t,n)=>n/(e.length-1)),n=e.map(e=>(e-d)/(f-d));n.every((e,n)=>t[n]===e)||(b=e=>{if(e<=0||e>=1)return e;let r=0;for(;e>=n[r+1];)r++;let i=(e-n[r])/(n[r+1]-n[r]);return t[r]+i*(t[r+1]-t[r])})}}return i=[d,f],C},C.mode=function(e){return arguments.length?(t=e,S(),C):t},C.range=function(e,t){return _(e,t),C},C.out=function(e){return u=e,C},C.spread=function(e){return arguments.length?(r=e,C):r},C.correctLightness=function(e){return e??=!0,p=e,S(),y=p?function(e){let t=x(0,!0).lab()[0],n=x(1,!0).lab()[0],r=t>n,i=x(e,!0).lab()[0],a=t+(n-t)*e,o=i-a,s=0,c=1,l=20;for(;Math.abs(o)>.01&&l-->0;)(function(){return r&&(o*=-1),o<0?(s=e,e+=(c-e)*.5):(c=e,e+=(s-e)*.5),i=x(e,!0).lab()[0],o=i-a})();return e}:e=>e,C},C.padding=function(e){return e==null?s:(U(e)===`number`&&(e=[e,e]),s=e,C)},C.colors=function(t,n){arguments.length<2&&(n=`hex`);let r=[];if(arguments.length===0)r=l.slice(0);else if(t===1)r=[C(.5)];else if(t>1){let e=i[0],n=i[1]-e;r=zt(0,t,!1).map(r=>C(e+r/(t-1)*n))}else{e=[];let t=[];if(c&&c.length>2)for(let e=1,n=c.length,r=1<=n;r?e<n:e>n;r?e++:e--)t.push((c[e-1]+c[e])*.5);else t=i;r=t.map(e=>C(e))}return we[n]&&(r=r.map(e=>e[n]())),r},C.cache=function(e){return e==null?h:(h=e,C)},C.gamma=function(e){return e==null?g:(g=e,C)},C.nodata=function(e){return e==null?n:(n=we(e),C)},C}function zt(e,t,n){let r=[],i=e<t,a=n?i?t+1:t-1:t;for(let t=e;i?t<a:t>a;i?t++:t--)r.push(t);return r}var Bt=function(e){let t=[1,1];for(let n=1;n<e;n++){let e=[1];for(let n=1;n<=t.length;n++)e[n]=(t[n]||0)+t[n-1];t=e}return t},Vt=function(e){let t,n,r,i;if(e=e.map(e=>new K(e)),e.length===2)[n,r]=e.map(e=>e.lab()),t=function(e){return new K([0,1,2].map(t=>n[t]+e*(r[t]-n[t])),`lab`)};else if(e.length===3)[n,r,i]=e.map(e=>e.lab()),t=function(e){return new K([0,1,2].map(t=>(1-e)*(1-e)*n[t]+2*(1-e)*e*r[t]+e*e*i[t]),`lab`)};else if(e.length===4){let a;[n,r,i,a]=e.map(e=>e.lab()),t=function(e){return new K([0,1,2].map(t=>(1-e)*(1-e)*(1-e)*n[t]+3*(1-e)*(1-e)*e*r[t]+3*(1-e)*e*e*i[t]+e*e*e*a[t]),`lab`)}}else if(e.length>=5){let n,r,i;n=e.map(e=>e.lab()),i=e.length-1,r=Bt(i),t=function(e){let t=1-e;return new K([0,1,2].map(a=>n.reduce((n,o,s)=>n+r[s]*t**(i-s)*e**s*o[a],0)),`lab`)}}else throw RangeError(`No point in running bezier with only one color.`);return t},Ht=e=>{let t=Vt(e);return t.scale=()=>Rt(t),t},{round:Ut}=Math;K.prototype.rgb=function(e=!0){return e===!1?this._rgb.slice(0,3):this._rgb.slice(0,3).map(Ut)},K.prototype.rgba=function(e=!0){return this._rgb.slice(0,4).map((t,n)=>n<3?e===!1?t:Ut(t):t)},Object.assign(we,{rgb:(...e)=>new K(...e,`rgb`)}),G.format.rgb=(...e)=>{let t=W(e,`rgba`);return t[3]===void 0&&(t[3]=1),t},G.autodetect.push({p:3,test:(...e)=>{if(e=W(e,`rgba`),U(e)===`array`&&(e.length===3||e.length===4&&U(e[3])==`number`&&e[3]>=0&&e[3]<=1))return`rgb`}});var Wt=(e,t,n)=>{if(!Wt[n])throw Error(`unknown blend mode `+n);return Wt[n](e,t)},Gt=e=>(t,n)=>{let r=we(n).rgb(),i=we(t).rgb();return we.rgb(e(r,i))},Kt=e=>(t,n)=>{let r=[];return r[0]=e(t[0],n[0]),r[1]=e(t[1],n[1]),r[2]=e(t[2],n[2]),r};Wt.normal=Gt(Kt(e=>e)),Wt.multiply=Gt(Kt((e,t)=>e*t/255)),Wt.screen=Gt(Kt((e,t)=>255*(1-(1-e/255)*(1-t/255)))),Wt.overlay=Gt(Kt((e,t)=>t<128?2*e*t/255:255*(1-2*(1-e/255)*(1-t/255)))),Wt.darken=Gt(Kt((e,t)=>e>t?t:e)),Wt.lighten=Gt(Kt((e,t)=>e>t?e:t)),Wt.dodge=Gt(Kt((e,t)=>e===255?255:(e=t/255*255/(1-e/255),e>255?255:e))),Wt.burn=Gt(Kt((e,t)=>255*(1-(1-t/255)/(e/255))));var{pow:qt,sin:Jt,cos:Yt}=Math;function Xt(e=300,t=-1.5,n=1,r=1,i=[0,1]){let a=0,o;U(i)===`array`?o=i[1]-i[0]:(o=0,i=[i,i]);let s=function(s){let c=ve*((e+120)/360+t*s),l=qt(i[0]+o*s,r),u=(a===0?n:n[0]+s*a)*l*(1-l)/2,d=Yt(c),f=Jt(c),p=l+u*(-.14861*d+1.78277*f),m=l+u*(-.29227*d-.90649*f),h=l+1.97294*d*u;return we(ue([p*255,m*255,h*255,1]))};return s.start=function(t){return t==null?e:(e=t,s)},s.rotations=function(e){return e==null?t:(t=e,s)},s.gamma=function(e){return e==null?r:(r=e,s)},s.hue=function(e){return e==null?n:(n=e,U(n)===`array`?(a=n[1]-n[0],a===0&&(n=n[1])):a=0,s)},s.lightness=function(e){return e==null?i:(U(e)===`array`?(i=e,o=e[1]-e[0]):(i=[e,e],o=0),s)},s.scale=()=>we.scale(s),s.hue(n),s}var Zt=`0123456789abcdef`,{floor:Qt,random:$t}=Math,en=(e=$t)=>{let t=`#`;for(let n=0;n<6;n++)t+=Zt.charAt(Qt(e()*16));return new K(t,`hex`)},{log:tn,pow:nn,floor:rn,abs:an}=Math;function on(e,t=null){let n={min:Number.MAX_VALUE,max:Number.MAX_VALUE*-1,sum:0,values:[],count:0};return U(e)===`object`&&(e=Object.values(e)),e.forEach(e=>{t&&U(e)===`object`&&(e=e[t]),e!=null&&!isNaN(e)&&(n.values.push(e),n.sum+=e,e<n.min&&(n.min=e),e>n.max&&(n.max=e),n.count+=1)}),n.domain=[n.min,n.max],n.limits=(e,t)=>sn(n,e,t),n}function sn(e,t=`equal`,n=7){U(e)==`array`&&(e=on(e));let{min:r,max:i}=e,a=e.values.sort((e,t)=>e-t);if(n===1)return[r,i];let o=[];if(t.substr(0,1)===`c`&&(o.push(r),o.push(i)),t.substr(0,1)===`e`){o.push(r);for(let e=1;e<n;e++)o.push(r+e/n*(i-r));o.push(i)}else if(t.substr(0,1)===`l`){if(r<=0)throw Error(`Logarithmic scales are only possible for values > 0`);let e=Math.LOG10E*tn(r),t=Math.LOG10E*tn(i);o.push(r);for(let r=1;r<n;r++)o.push(nn(10,e+r/n*(t-e)));o.push(i)}else if(t.substr(0,1)===`q`){o.push(r);for(let e=1;e<n;e++){let t=(a.length-1)*e/n,r=rn(t);if(r===t)o.push(a[r]);else{let e=t-r;o.push(a[r]*(1-e)+a[r+1]*e)}}o.push(i)}else if(t.substr(0,1)===`k`){let e,t=a.length,s=Array(t),c=Array(n),l=!0,u=0,d=null;d=[],d.push(r);for(let e=1;e<n;e++)d.push(r+e/n*(i-r));for(d.push(i);l;){for(let e=0;e<n;e++)c[e]=0;for(let e=0;e<t;e++){let t=a[e],r=Number.MAX_VALUE,i;for(let a=0;a<n;a++){let n=an(d[a]-t);n<r&&(r=n,i=a),c[i]++,s[e]=i}}let r=Array(n);for(let e=0;e<n;e++)r[e]=null;for(let n=0;n<t;n++)e=s[n],r[e]===null?r[e]=a[n]:r[e]+=a[n];for(let e=0;e<n;e++)r[e]*=1/c[e];l=!1;for(let e=0;e<n;e++)if(r[e]!==d[e]){l=!0;break}d=r,u++,u>200&&(l=!1)}let f={};for(let e=0;e<n;e++)f[e]=[];for(let n=0;n<t;n++)e=s[n],f[e].push(a[n]);let p=[];for(let e=0;e<n;e++)p.push(f[e][0]),p.push(f[e][f[e].length-1]);p=p.sort((e,t)=>e-t),o.push(p[0]);for(let e=1;e<p.length;e+=2){let t=p[e];!isNaN(t)&&o.indexOf(t)===-1&&o.push(t)}}return o}var cn=(e,t)=>{e=new K(e),t=new K(t);let n=e.luminance(),r=t.luminance();return n>r?(n+.05)/(r+.05):(r+.05)/(n+.05)},ln=.027,un=5e-4,dn=.1,fn=1.14,pn=.022,mn=1.414,hn=(e,t)=>{e=new K(e),t=new K(t),e.alpha()<1&&(e=Ye(t,e,e.alpha(),`rgb`));let n=gn(...e.rgb()),r=gn(...t.rgb()),i=n>=pn?n:n+(pn-n)**+mn,a=r>=pn?r:r+(pn-r)**+mn,o=a**.56-i**.57,s=a**.65-i**.62,c=Math.abs(a-i)<un?0:i<a?o*fn:s*fn;return(Math.abs(c)<dn?0:c>0?c-ln:c+ln)*100};function gn(e,t,n){return .2126729*(e/255)**2.4+.7151522*(t/255)**2.4+.072175*(n/255)**2.4}var{sqrt:_n,pow:Z,min:vn,max:yn,atan2:bn,abs:xn,cos:Sn,sin:Cn,exp:wn,PI:Tn}=Math;function En(e,t,n=1,r=1,i=1){var a=function(e){return 360*e/(2*Tn)},o=function(e){return 2*Tn*e/360};e=new K(e),t=new K(t);let[s,c,l]=Array.from(e.lab()),[u,d,f]=Array.from(t.lab()),p=(s+u)/2,m=(_n(Z(c,2)+Z(l,2))+_n(Z(d,2)+Z(f,2)))/2,h=.5*(1-_n(Z(m,7)/(Z(m,7)+Z(25,7)))),g=c*(1+h),_=d*(1+h),v=_n(Z(g,2)+Z(l,2)),y=_n(Z(_,2)+Z(f,2)),b=(v+y)/2,x=a(bn(l,g)),S=a(bn(f,_)),C=x>=0?x:x+360,w=S>=0?S:S+360,T=xn(C-w)>180?(C+w+360)/2:(C+w)/2,E=1-.17*Sn(o(T-30))+.24*Sn(o(2*T))+.32*Sn(o(3*T+6))-.2*Sn(o(4*T-63)),D=w-C;D=xn(D)<=180?D:w<=C?D+360:D-360,D=2*_n(v*y)*Cn(o(D)/2);let O=u-s,k=y-v,ee=1+.015*Z(p-50,2)/_n(20+Z(p-50,2)),A=1+.045*b,j=1+.015*b*E,M=30*wn(-Z((T-275)/25,2)),N=-(2*_n(Z(b,7)/(Z(b,7)+Z(25,7))))*Cn(2*o(M));return yn(0,vn(100,_n(Z(O/(n*ee),2)+Z(k/(r*A),2)+Z(D/(i*j),2)+N*(k/(r*A))*(D/(i*j)))))}function Dn(e,t,n=`lab`){e=new K(e),t=new K(t);let r=e.get(n),i=t.get(n),a=0;for(let e in r){let t=(r[e]||0)-(i[e]||0);a+=t*t}return Math.sqrt(a)}var On=(...e)=>{try{return new K(...e),!0}catch{return!1}},kn={cool(){return Rt([we.hsl(180,1,.9),we.hsl(250,.7,.4)])},hot(){return Rt([`#000`,`#f00`,`#ff0`,`#fff`],[0,.25,.75,1]).mode(`rgb`)}},An={OrRd:[`#fff7ec`,`#fee8c8`,`#fdd49e`,`#fdbb84`,`#fc8d59`,`#ef6548`,`#d7301f`,`#b30000`,`#7f0000`],PuBu:[`#fff7fb`,`#ece7f2`,`#d0d1e6`,`#a6bddb`,`#74a9cf`,`#3690c0`,`#0570b0`,`#045a8d`,`#023858`],BuPu:[`#f7fcfd`,`#e0ecf4`,`#bfd3e6`,`#9ebcda`,`#8c96c6`,`#8c6bb1`,`#88419d`,`#810f7c`,`#4d004b`],Oranges:[`#fff5eb`,`#fee6ce`,`#fdd0a2`,`#fdae6b`,`#fd8d3c`,`#f16913`,`#d94801`,`#a63603`,`#7f2704`],BuGn:[`#f7fcfd`,`#e5f5f9`,`#ccece6`,`#99d8c9`,`#66c2a4`,`#41ae76`,`#238b45`,`#006d2c`,`#00441b`],YlOrBr:[`#ffffe5`,`#fff7bc`,`#fee391`,`#fec44f`,`#fe9929`,`#ec7014`,`#cc4c02`,`#993404`,`#662506`],YlGn:[`#ffffe5`,`#f7fcb9`,`#d9f0a3`,`#addd8e`,`#78c679`,`#41ab5d`,`#238443`,`#006837`,`#004529`],Reds:[`#fff5f0`,`#fee0d2`,`#fcbba1`,`#fc9272`,`#fb6a4a`,`#ef3b2c`,`#cb181d`,`#a50f15`,`#67000d`],RdPu:[`#fff7f3`,`#fde0dd`,`#fcc5c0`,`#fa9fb5`,`#f768a1`,`#dd3497`,`#ae017e`,`#7a0177`,`#49006a`],Greens:[`#f7fcf5`,`#e5f5e0`,`#c7e9c0`,`#a1d99b`,`#74c476`,`#41ab5d`,`#238b45`,`#006d2c`,`#00441b`],YlGnBu:[`#ffffd9`,`#edf8b1`,`#c7e9b4`,`#7fcdbb`,`#41b6c4`,`#1d91c0`,`#225ea8`,`#253494`,`#081d58`],Purples:[`#fcfbfd`,`#efedf5`,`#dadaeb`,`#bcbddc`,`#9e9ac8`,`#807dba`,`#6a51a3`,`#54278f`,`#3f007d`],GnBu:[`#f7fcf0`,`#e0f3db`,`#ccebc5`,`#a8ddb5`,`#7bccc4`,`#4eb3d3`,`#2b8cbe`,`#0868ac`,`#084081`],Greys:[`#ffffff`,`#f0f0f0`,`#d9d9d9`,`#bdbdbd`,`#969696`,`#737373`,`#525252`,`#252525`,`#000000`],YlOrRd:[`#ffffcc`,`#ffeda0`,`#fed976`,`#feb24c`,`#fd8d3c`,`#fc4e2a`,`#e31a1c`,`#bd0026`,`#800026`],PuRd:[`#f7f4f9`,`#e7e1ef`,`#d4b9da`,`#c994c7`,`#df65b0`,`#e7298a`,`#ce1256`,`#980043`,`#67001f`],Blues:[`#f7fbff`,`#deebf7`,`#c6dbef`,`#9ecae1`,`#6baed6`,`#4292c6`,`#2171b5`,`#08519c`,`#08306b`],PuBuGn:[`#fff7fb`,`#ece2f0`,`#d0d1e6`,`#a6bddb`,`#67a9cf`,`#3690c0`,`#02818a`,`#016c59`,`#014636`],Viridis:[`#440154`,`#482777`,`#3f4a8a`,`#31678e`,`#26838f`,`#1f9d8a`,`#6cce5a`,`#b6de2b`,`#fee825`],Spectral:[`#9e0142`,`#d53e4f`,`#f46d43`,`#fdae61`,`#fee08b`,`#ffffbf`,`#e6f598`,`#abdda4`,`#66c2a5`,`#3288bd`,`#5e4fa2`],RdYlGn:[`#a50026`,`#d73027`,`#f46d43`,`#fdae61`,`#fee08b`,`#ffffbf`,`#d9ef8b`,`#a6d96a`,`#66bd63`,`#1a9850`,`#006837`],RdBu:[`#67001f`,`#b2182b`,`#d6604d`,`#f4a582`,`#fddbc7`,`#f7f7f7`,`#d1e5f0`,`#92c5de`,`#4393c3`,`#2166ac`,`#053061`],PiYG:[`#8e0152`,`#c51b7d`,`#de77ae`,`#f1b6da`,`#fde0ef`,`#f7f7f7`,`#e6f5d0`,`#b8e186`,`#7fbc41`,`#4d9221`,`#276419`],PRGn:[`#40004b`,`#762a83`,`#9970ab`,`#c2a5cf`,`#e7d4e8`,`#f7f7f7`,`#d9f0d3`,`#a6dba0`,`#5aae61`,`#1b7837`,`#00441b`],RdYlBu:[`#a50026`,`#d73027`,`#f46d43`,`#fdae61`,`#fee090`,`#ffffbf`,`#e0f3f8`,`#abd9e9`,`#74add1`,`#4575b4`,`#313695`],BrBG:[`#543005`,`#8c510a`,`#bf812d`,`#dfc27d`,`#f6e8c3`,`#f5f5f5`,`#c7eae5`,`#80cdc1`,`#35978f`,`#01665e`,`#003c30`],RdGy:[`#67001f`,`#b2182b`,`#d6604d`,`#f4a582`,`#fddbc7`,`#ffffff`,`#e0e0e0`,`#bababa`,`#878787`,`#4d4d4d`,`#1a1a1a`],PuOr:[`#7f3b08`,`#b35806`,`#e08214`,`#fdb863`,`#fee0b6`,`#f7f7f7`,`#d8daeb`,`#b2abd2`,`#8073ac`,`#542788`,`#2d004b`],Set2:[`#66c2a5`,`#fc8d62`,`#8da0cb`,`#e78ac3`,`#a6d854`,`#ffd92f`,`#e5c494`,`#b3b3b3`],Accent:[`#7fc97f`,`#beaed4`,`#fdc086`,`#ffff99`,`#386cb0`,`#f0027f`,`#bf5b17`,`#666666`],Set1:[`#e41a1c`,`#377eb8`,`#4daf4a`,`#984ea3`,`#ff7f00`,`#ffff33`,`#a65628`,`#f781bf`,`#999999`],Set3:[`#8dd3c7`,`#ffffb3`,`#bebada`,`#fb8072`,`#80b1d3`,`#fdb462`,`#b3de69`,`#fccde5`,`#d9d9d9`,`#bc80bd`,`#ccebc5`,`#ffed6f`],Dark2:[`#1b9e77`,`#d95f02`,`#7570b3`,`#e7298a`,`#66a61e`,`#e6ab02`,`#a6761d`,`#666666`],Paired:[`#a6cee3`,`#1f78b4`,`#b2df8a`,`#33a02c`,`#fb9a99`,`#e31a1c`,`#fdbf6f`,`#ff7f00`,`#cab2d6`,`#6a3d9a`,`#ffff99`,`#b15928`],Pastel2:[`#b3e2cd`,`#fdcdac`,`#cbd5e8`,`#f4cae4`,`#e6f5c9`,`#fff2ae`,`#f1e2cc`,`#cccccc`],Pastel1:[`#fbb4ae`,`#b3cde3`,`#ccebc5`,`#decbe4`,`#fed9a6`,`#ffffcc`,`#e5d8bd`,`#fddaec`,`#f2f2f2`]},jn=Object.keys(An),Mn=new Map(jn.map(e=>[e.toLowerCase(),e])),Nn=typeof Proxy==`function`?new Proxy(An,{get(e,t){let n=t.toLowerCase();if(Mn.has(n))return e[Mn.get(n)]},getOwnPropertyNames(){return Object.getOwnPropertyNames(jn)}}):An,Pn=(...e)=>{e=W(e,`cmyk`);let[t,n,r,i]=e,a=e.length>4?e[4]:1;return i===1?[0,0,0,a]:[t>=1?0:255*(1-t)*(1-i),n>=1?0:255*(1-n)*(1-i),r>=1?0:255*(1-r)*(1-i),a]},{max:Fn}=Math,In=(...e)=>{let[t,n,r]=W(e,`rgb`);t/=255,n/=255,r/=255;let i=1-Fn(t,Fn(n,r)),a=i<1?1/(1-i):0;return[(1-t-i)*a,(1-n-i)*a,(1-r-i)*a,i]};K.prototype.cmyk=function(){return In(this._rgb)},Object.assign(we,{cmyk:(...e)=>new K(...e,`cmyk`)}),G.format.cmyk=Pn,G.autodetect.push({p:2,test:(...e)=>{if(e=W(e,`cmyk`),U(e)===`array`&&e.length===4)return`cmyk`}});var Ln=(...e)=>{let t=W(e,`hsla`),n=fe(e)||`lsa`;return t[0]=ge(t[0]||0)+`deg`,t[1]=ge(t[1]*100)+`%`,t[2]=ge(t[2]*100)+`%`,n===`hsla`||t.length>3&&t[3]<1?(t[3]=`/ `+(t.length>3?t[3]:1),n=`hsla`):t.length=3,`${n.substr(0,3)}(${t.join(` `)})`},Rn=(...e)=>{let t=W(e,`lab`),n=fe(e)||`lab`;return t[0]=ge(t[0])+`%`,t[1]=ge(t[1]),t[2]=ge(t[2]),n===`laba`||t.length>3&&t[3]<1?t[3]=`/ `+(t.length>3?t[3]:1):t.length=3,`lab(${t.join(` `)})`},zn=(...e)=>{let t=W(e,`lch`),n=fe(e)||`lab`;return t[0]=ge(t[0])+`%`,t[1]=ge(t[1]),t[2]=isNaN(t[2])?`none`:ge(t[2])+`deg`,n===`lcha`||t.length>3&&t[3]<1?t[3]=`/ `+(t.length>3?t[3]:1):t.length=3,`lch(${t.join(` `)})`},Bn=(...e)=>{let t=W(e,`lab`);return t[0]=ge(t[0]*100)+`%`,t[1]=_e(t[1]),t[2]=_e(t[2]),t.length>3&&t[3]<1?t[3]=`/ `+(t.length>3?t[3]:1):t.length=3,`oklab(${t.join(` `)})`},Vn=(...e)=>{let[t,n,r,...i]=W(e,`rgb`),[a,o,s]=Ot(t,n,r),[c,l,u]=it(a,o,s);return[c,l,u,...i.length>0&&i[0]<1?[i[0]]:[]]},Hn=(...e)=>{let t=W(e,`lch`);return t[0]=ge(t[0]*100)+`%`,t[1]=_e(t[1]),t[2]=isNaN(t[2])?`none`:ge(t[2])+`deg`,t.length>3&&t[3]<1?t[3]=`/ `+(t.length>3?t[3]:1):t.length=3,`oklch(${t.join(` `)})`},{round:Un}=Math,Wn=(...e)=>{let t=W(e,`rgba`),n=fe(e)||`rgb`;if(n.substr(0,3)===`hsl`)return Ln(q(t),n);if(n.substr(0,3)===`lab`){let e=Pe();Ne(`d50`);let r=Rn(ze(t),n);return Ne(e),r}if(n.substr(0,3)===`lch`){let e=Pe();Ne(`d50`);let r=zn(at(t),n);return Ne(e),r}return n.substr(0,5)===`oklab`?Bn(Ot(t)):n.substr(0,5)===`oklch`?Hn(Vn(t)):(t[0]=Un(t[0]),t[1]=Un(t[1]),t[2]=Un(t[2]),(n===`rgba`||t.length>3&&t[3]<1)&&(t[3]=`/ `+(t.length>3?t[3]:1),n=`rgba`),`${n.substr(0,3)}(${t.slice(0,n===`rgb`?3:4).join(` `)})`)},Gn=(...e)=>{e=W(e,`lch`);let[t,n,r,...i]=e,[a,o,s]=Qe(t,n,r),[c,l,u]=Et(a,o,s);return[c,l,u,...i.length>0&&i[0]<1?[i[0]]:[]]},Kn=`((?:-?\\d+)|(?:-?\\d+(?:\\.\\d+)?)%|none)`,qn=`((?:-?(?:\\d+(?:\\.\\d*)?|\\.\\d+)%?)|none)`,Jn=`((?:-?(?:\\d+(?:\\.\\d*)?|\\.\\d+)%)|none)`,Yn=`\\s*`,Xn=`\\s+`,Zn=`\\s*,\\s*`,Qn=`((?:-?(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:deg)?)|none)`,$n=`\\s*(?:\\/\\s*((?:[01]|[01]?\\.\\d+)|\\d+(?:\\.\\d+)?%))?`,er=RegExp(`^rgba?\\(`+Yn+[Kn,Kn,Kn].join(Xn)+$n+`\\)$`),tr=RegExp(`^rgb\\(`+Yn+[Kn,Kn,Kn].join(Zn)+Yn+`\\)$`),nr=RegExp(`^rgba\\(`+Yn+[Kn,Kn,Kn,qn].join(Zn)+Yn+`\\)$`),rr=RegExp(`^hsla?\\(`+Yn+[Qn,Jn,Jn].join(Xn)+$n+`\\)$`),ir=RegExp(`^hsl?\\(`+Yn+[Qn,Jn,Jn].join(Zn)+Yn+`\\)$`),ar=/^hsla\(\s*(-?\d+(?:\.\d+)?),\s*(-?\d+(?:\.\d+)?)%\s*,\s*(-?\d+(?:\.\d+)?)%\s*,\s*([01]|[01]?\.\d+)\)$/,or=RegExp(`^lab\\(`+Yn+[qn,qn,qn].join(Xn)+$n+`\\)$`),sr=RegExp(`^lch\\(`+Yn+[qn,qn,Qn].join(Xn)+$n+`\\)$`),cr=RegExp(`^oklab\\(`+Yn+[qn,qn,qn].join(Xn)+$n+`\\)$`),lr=RegExp(`^oklch\\(`+Yn+[qn,qn,Qn].join(Xn)+$n+`\\)$`),{round:ur}=Math,dr=e=>e.map((e,t)=>t<=2?le(ur(e),0,255):e),fr=(e,t=0,n=100,r=!1)=>(typeof e==`string`&&e.endsWith(`%`)&&(e=parseFloat(e.substring(0,e.length-1))/100,e=r?t+(e+1)*.5*(n-t):t+e*(n-t)),+e),pr=(e,t)=>e===`none`?t:e,mr=e=>{if(e=e.toLowerCase().trim(),e===`transparent`)return[0,0,0,0];let t;if(G.format.named)try{return G.format.named(e)}catch{}if((t=e.match(er))||(t=e.match(tr))){let e=t.slice(1,4);for(let t=0;t<3;t++)e[t]=+fr(pr(e[t],0),0,255);e=dr(e);let n=t[4]===void 0?1:+fr(t[4],0,1);return e[3]=n,e}if(t=e.match(nr)){let e=t.slice(1,5);for(let t=0;t<4;t++)e[t]=+fr(e[t],0,255);return e}if((t=e.match(rr))||(t=e.match(ir))){let e=t.slice(1,4);e[0]=+pr(e[0].replace(`deg`,``),0),e[1]=fr(pr(e[1],0),0,100)*.01,e[2]=fr(pr(e[2],0),0,100)*.01;let n=dr(xt(e));return n[3]=t[4]===void 0?1:+fr(t[4],0,1),n}if(t=e.match(ar)){let e=t.slice(1,4);e[1]*=.01,e[2]*=.01;let n=xt(e);for(let e=0;e<3;e++)n[e]=ur(n[e]);return n[3]=+t[4],n}if(t=e.match(or)){let e=t.slice(1,4);e[0]=fr(pr(e[0],0),0,100),e[1]=fr(pr(e[1],0),-125,125,!0),e[2]=fr(pr(e[2],0),-125,125,!0);let n=Pe();Ne(`d50`);let r=dr(Fe(e));return Ne(n),r[3]=t[4]===void 0?1:+fr(t[4],0,1),r}if(t=e.match(sr)){let e=t.slice(1,4);e[0]=fr(e[0],0,100),e[1]=fr(pr(e[1],0),0,150,!1),e[2]=+pr(e[2].replace(`deg`,``),0);let n=Pe();Ne(`d50`);let r=dr($e(e));return Ne(n),r[3]=t[4]===void 0?1:+fr(t[4],0,1),r}if(t=e.match(cr)){let e=t.slice(1,4);e[0]=fr(pr(e[0],0),0,1),e[1]=fr(pr(e[1],0),-.4,.4,!0),e[2]=fr(pr(e[2],0),-.4,.4,!0);let n=dr(Et(e));return n[3]=t[4]===void 0?1:+fr(t[4],0,1),n}if(t=e.match(lr)){let e=t.slice(1,4);e[0]=fr(pr(e[0],0),0,1),e[1]=fr(pr(e[1],0),0,.4,!1),e[2]=+pr(e[2].replace(`deg`,``),0);let n=dr(Gn(e));return n[3]=t[4]===void 0?1:+fr(t[4],0,1),n}};mr.test=e=>er.test(e)||rr.test(e)||or.test(e)||sr.test(e)||cr.test(e)||lr.test(e)||tr.test(e)||nr.test(e)||ir.test(e)||ar.test(e)||e===`transparent`,K.prototype.css=function(e){return Wn(this._rgb,e)},we.css=(...e)=>new K(...e,`css`),G.format.css=mr,G.autodetect.push({p:5,test:(e,...t)=>{if(!t.length&&U(e)===`string`&&mr.test(e))return`css`}}),G.format.gl=(...e)=>{let t=W(e,`rgba`);return t[0]*=255,t[1]*=255,t[2]*=255,t},we.gl=(...e)=>new K(...e,`gl`),K.prototype.gl=function(){let e=this._rgb;return[e[0]/255,e[1]/255,e[2]/255,e[3]]},K.prototype.hex=function(e){return Ae(this._rgb,e)},we.hex=(...e)=>new K(...e,`hex`),G.format.hex=Oe,G.autodetect.push({p:4,test:(e,...t)=>{if(!t.length&&U(e)===`string`&&[3,4,5,6,7,8,9].indexOf(e.length)>=0)return`hex`}});var{log:hr}=Math,gr=e=>{let t=e/100,n,r,i;return t<66?(n=255,r=t<6?0:-155.25485562709179-.44596950469579133*(r=t-2)+104.49216199393888*hr(r),i=t<20?0:-254.76935184120902+.8274096064007395*(i=t-10)+115.67994401066147*hr(i)):(n=351.97690566805693+.114206453784165*(n=t-55)-40.25366309332127*hr(n),r=325.4494125711974+.07943456536662342*(r=t-50)-28.0852963507957*hr(r),i=255),[n,r,i,1]},{round:_r}=Math,vr=(...e)=>{let t=W(e,`rgb`),n=t[0],r=t[2],i=1e3,a=4e4,o;for(;a-i>.4;){o=(a+i)*.5;let e=gr(o);e[2]/e[0]>=r/n?a=o:i=o}return _r(o)};K.prototype.temp=K.prototype.kelvin=K.prototype.temperature=function(){return vr(this._rgb)};var yr=(...e)=>new K(...e,`temp`);Object.assign(we,{temp:yr,kelvin:yr,temperature:yr}),G.format.temp=G.format.kelvin=G.format.temperature=gr,K.prototype.oklch=function(){return Vn(this._rgb)},Object.assign(we,{oklch:(...e)=>new K(...e,`oklch`)}),G.format.oklch=Gn,G.autodetect.push({p:2,test:(...e)=>{if(e=W(e,`oklch`),U(e)===`array`&&e.length===3)return`oklch`}}),Object.assign(we,{analyze:on,average:Ft,bezier:Ht,blend:Wt,brewer:Nn,Color:K,colors:Te,contrast:cn,contrastAPCA:hn,cubehelix:Xt,deltaE:En,distance:Dn,input:G,interpolate:Ye,limits:sn,mix:Ye,random:en,scale:Rt,scales:kn,valid:On});var br=we;function xr(e,t){if(!br.valid(e))return t;try{return br(e)}catch{return t}}function Sr(e){return br.valid(e)&&br.contrast(e,`#fff`)>=br.contrast(e,`#333`)?`#fff`:`#333`}var Cr=4.5;function wr(e){let t=e;for(;t&&t instanceof Element;){let e=getComputedStyle(t).backgroundColor;if(e&&e!==`rgba(0, 0, 0, 0)`&&e!==`transparent`)return e;t=t.parentElement}return`#fff`}function Tr(e,t=`#fff`){if(!br.valid(e))return br.valid(t)?Sr(t):`#333`;let n=br(e),r=xr(t,br(`#fff`));if(br.contrast(n,r)>=Cr)return n.hex();let i=r.luminance()>.5;for(let e=0;e<20&&(n=i?n.darken(.3):n.brighten(.3),!(br.contrast(n,r)>=Cr));e++);return n.hex()}var Er=12,Dr=.25,Or=20,kr=15;function Ar(e,t){if(e.length===0)return[];let n=xr(t,br(`#fff`)),r=br.valid(t)?t:`#fff`,i=n.luminance()>.5,a=e.map(e=>br.valid(e)?jr(br(e),r,i):br(`#000`));for(let e=1;e<a.length;e++)a[e]=Pr(a[e],a.slice(0,e),r,i);return a.map(e=>e.hex())}function jr(e,t,n){for(let r=0;r<Or;r++){if(br.contrast(e,t)>=Cr)return e;e=n?e.darken(Dr):e.brighten(Dr)}return e}function Mr(e,t){return t.reduce((t,n)=>Math.min(t,br.deltaE(e,n)),1/0)}function*Nr(e,t){for(let n of[t,!t]){let t=e;for(let e=0;e<Or;e++)t=n?t.darken(Dr):t.brighten(Dr),yield t}for(let t=kr;t<=180;t+=kr)yield e.set(`hsl.h`,`+${t}`),yield e.set(`hsl.h`,`-${t}`)}function Pr(e,t,n,r){let i=e,a=Mr(e,t);if(a>=Er)return e;for(let o of Nr(e,r)){if(br.contrast(o,n)<Cr)continue;let e=Mr(o,t);if(e>a&&(i=o,a=e),a>=Er)break}return i}var Fr=function(e){return e.BarVertical=`bar-vertical`,e.BarHorizontal=`bar-horizontal`,e.BarMulti=`bar-multi`,e.ColumnStacked=`column-stacked`,e.BarStacked=`bar-stacked`,e.BarSplit=`bar-split`,e.BarGrouped=`bar-grouped`,e.Line=`line`,e.LineMulti=`line-multi`,e.Area=`area`,e.AreaStacked=`area-stacked`,e.Donut=`donut`,e.Pie=`pie`,e.VerticalBar=`vertical-bar`,e.HorizontalBar=`horizontal-bar`,e}({}),Ir=function(e){return e.Left=`left`,e.Right=`right`,e}({}),Lr=function(e){return e.Linear=`linear`,e.Log=`log`,e}({}),Rr=function(e){return e.Solid=`solid`,e.Dashed=`dashed`,e.Dotted=`dotted`,e.None=`none`,e}({}),zr=function(e){return e.Auto=`auto`,e.Inside=`inside`,e.Outside=`outside`,e.Off=`off`,e}({}),Br=function(e){return e.Auto=`auto`,e.Horizontal=`horizontal`,e.Vertical=`vertical`,e}({}),Vr=function(e){return e.NW=`NW`,e.N=`N`,e.NE=`NE`,e.E=`E`,e.SE=`SE`,e.S=`S`,e.SW=`SW`,e.W=`W`,e.Center=`center`,e}({}),Hr=function(e){return e.Direct=`direct`,e.CurveLeft=`curve-left`,e.CurveRight=`curve-right`,e.Elbow=`elbow`,e}({}),Ur=function(e){return e.Solid=`solid`,e.Dotted=`dotted`,e.Dashed=`dashed`,e}({}),Wr=function(e){return e.Point=`point`,e.Range=`range`,e.Free=`free`,e}({}),Gr=function(e){return e.Start=`start`,e.Center=`center`,e.End=`end`,e}({}),Kr=function(e){return e.Vertical=`vertical`,e.Horizontal=`horizontal`,e}({}),qr=function(e){return e.Circle=`circle`,e.Square=`square`,e.Diamond=`diamond`,e.Triangle=`triangle`,e.TriangleDown=`triangleDown`,e.Cross=`cross`,e.Star=`star`,e}({}),Jr=function(e){return e.All=`all`,e.First=`first`,e.Last=`last`,e.FirstLast=`firstLast`,e}({}),Yr=function(e){return e.Filled=`filled`,e.Hollow=`hollow`,e}({}),Xr=function(e){return e.Ascending=`ascending`,e.Descending=`descending`,e.None=`none`,e}({}),Zr=function(e){return e.Total=`total`,e.WithinGroups=`within-groups`,e.None=`none`,e}({}),Qr=function(e){return e.Top=`top`,e.Bottom=`bottom`,e.Left=`left`,e.Right=`right`,e}({}),$r=function(e){return e.Start=`start`,e.Middle=`middle`,e.End=`end`,e}({}),ei=function(e){return e.Inside=`inside`,e.Outside=`outside`,e.Auto=`auto`,e}({}),ti=function(e){return e.Both=`both`,e.Vertical=`vertical`,e.Horizontal=`horizontal`,e}({}),ni=function(e){return e.Solid=`solid`,e.Dashed=`dashed`,e.Dotted=`dotted`,e}({}),ri=function(e){return e.Normal=`normal`,e.Percent=`percent`,e}({}),Q=function(e){return e.Colors=`colors`,e.Boolean=`boolean`,e.Select=`select`,e.Text=`text`,e.NumberFormat=`numberFormat`,e.DateFormat=`dateFormat`,e}({}),ii=function(e){return e.Off=``,e.Auto=`auto`,e.Outside=`outside`,e.Inside=`inside`,e}({}),ai=function(e){return e.Linear=`linear`,e.MonotoneX=`monotoneX`,e.Step=`step`,e.StepBefore=`stepBefore`,e.StepAfter=`stepAfter`,e.Basis=`basis`,e.Cardinal=`cardinal`,e.CatmullRom=`catmullRom`,e}({}),oi=function(e){return e.Sort=`sort`,e.Filter=`filter`,e.HideColumns=`hide-columns`,e.Transpose=`transpose`,e.Parse=`parse`,e.Rename=`rename`,e.GroupBy=`group-by`,e.Computed=`computed`,e}({}),si=function(e){return e.Equals=`equals`,e.NotEquals=`not-equals`,e.Contains=`contains`,e.GreaterThan=`greater-than`,e.LessThan=`less-than`,e}({}),ci=function(e){return e.Type=`type`,e.String=`string`,e.Numeric=`numeric`,e.Date=`date`,e}({}),li=s(((e,t)=>{(function(n,r){typeof e==`object`&&t!==void 0?t.exports=r():typeof define==`function`&&define.amd?define(r):(n=typeof globalThis<`u`?globalThis:n||self).dayjs=r()})(e,(function(){"use strict";var e=1e3,t=6e4,n=36e5,r=`millisecond`,i=`second`,a=`minute`,o=`hour`,s=`day`,c=`week`,l=`month`,u=`quarter`,d=`year`,f=`date`,p=`Invalid Date`,m=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,h=/\[([^\]]+)]|YYYY|YY|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,g={name:`en`,weekdays:`Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday`.split(`_`),months:`January_February_March_April_May_June_July_August_September_October_November_December`.split(`_`),ordinal:function(e){var t=[`th`,`st`,`nd`,`rd`],n=e%100;return`[`+e+(t[(n-20)%10]||t[n]||t[0])+`]`}},_=function(e,t,n){var r=String(e);return!r||r.length>=t?e:``+Array(t+1-r.length).join(n)+e},v={s:_,z:function(e){var t=-e.utcOffset(),n=Math.abs(t),r=Math.floor(n/60),i=n%60;return(t<=0?`+`:`-`)+_(r,2,`0`)+`:`+_(i,2,`0`)},m:function e(t,n){if(t.date()<n.date())return-e(n,t);var r=12*(n.year()-t.year())+(n.month()-t.month()),i=t.clone().add(r,l),a=n-i<0,o=t.clone().add(r+(a?-1:1),l);return+(-(r+(n-i)/(a?i-o:o-i))||0)},a:function(e){return e<0?Math.ceil(e)||0:Math.floor(e)},p:function(e){return{M:l,y:d,w:c,d:s,D:f,h:o,m:a,s:i,ms:r,Q:u}[e]||String(e||``).toLowerCase().replace(/s$/,``)},u:function(e){return e===void 0}},y=`en`,b={};b[y]=g;var x=`$isDayjsObject`,S=function(e){return e instanceof E||!(!e||!e[x])},C=function e(t,n,r){var i;if(!t)return y;if(typeof t==`string`){var a=t.toLowerCase();b[a]&&(i=a),n&&(b[a]=n,i=a);var o=t.split(`-`);if(!i&&o.length>1)return e(o[0])}else{var s=t.name;b[s]=t,i=s}return!r&&i&&(y=i),i||!r&&y},w=function(e,t){if(S(e))return e.clone();var n=typeof t==`object`?t:{};return n.date=e,n.args=arguments,new E(n)},T=v;T.l=C,T.i=S,T.w=function(e,t){return w(e,{locale:t.$L,utc:t.$u,x:t.$x,$offset:t.$offset})};var E=function(){function g(e){this.$L=C(e.locale,null,!0),this.parse(e),this.$x=this.$x||e.x||{},this[x]=!0}var _=g.prototype;return _.parse=function(e){this.$d=function(e){var t=e.date,n=e.utc;if(t===null)return new Date(NaN);if(T.u(t))return new Date;if(t instanceof Date)return new Date(t);if(typeof t==`string`&&!/Z$/i.test(t)){var r=t.match(m);if(r){var i=r[2]-1||0,a=(r[7]||`0`).substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,a)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,a)}}return new Date(t)}(e),this.init()},_.init=function(){var e=this.$d;this.$y=e.getFullYear(),this.$M=e.getMonth(),this.$D=e.getDate(),this.$W=e.getDay(),this.$H=e.getHours(),this.$m=e.getMinutes(),this.$s=e.getSeconds(),this.$ms=e.getMilliseconds()},_.$utils=function(){return T},_.isValid=function(){return this.$d.toString()!==p},_.isSame=function(e,t){var n=w(e);return this.startOf(t)<=n&&n<=this.endOf(t)},_.isAfter=function(e,t){return w(e)<this.startOf(t)},_.isBefore=function(e,t){return this.endOf(t)<w(e)},_.$g=function(e,t,n){return T.u(e)?this[t]:this.set(n,e)},_.unix=function(){return Math.floor(this.valueOf()/1e3)},_.valueOf=function(){return this.$d.getTime()},_.startOf=function(e,t){var n=this,r=!!T.u(t)||t,u=T.p(e),p=function(e,t){var i=T.w(n.$u?Date.UTC(n.$y,t,e):new Date(n.$y,t,e),n);return r?i:i.endOf(s)},m=function(e,t){return T.w(n.toDate()[e].apply(n.toDate(`s`),(r?[0,0,0,0]:[23,59,59,999]).slice(t)),n)},h=this.$W,g=this.$M,_=this.$D,v=`set`+(this.$u?`UTC`:``);switch(u){case d:return r?p(1,0):p(31,11);case l:return r?p(1,g):p(0,g+1);case c:var y=this.$locale().weekStart||0,b=(h<y?h+7:h)-y;return p(r?_-b:_+(6-b),g);case s:case f:return m(v+`Hours`,0);case o:return m(v+`Minutes`,1);case a:return m(v+`Seconds`,2);case i:return m(v+`Milliseconds`,3);default:return this.clone()}},_.endOf=function(e){return this.startOf(e,!1)},_.$set=function(e,t){var n,c=T.p(e),u=`set`+(this.$u?`UTC`:``),p=(n={},n[s]=u+`Date`,n[f]=u+`Date`,n[l]=u+`Month`,n[d]=u+`FullYear`,n[o]=u+`Hours`,n[a]=u+`Minutes`,n[i]=u+`Seconds`,n[r]=u+`Milliseconds`,n)[c],m=c===s?this.$D+(t-this.$W):t;if(c===l||c===d){var h=this.clone().set(f,1);h.$d[p](m),h.init(),this.$d=h.set(f,Math.min(this.$D,h.daysInMonth())).$d}else p&&this.$d[p](m);return this.init(),this},_.set=function(e,t){return this.clone().$set(e,t)},_.get=function(e){return this[T.p(e)]()},_.add=function(r,u){var f,p=this;r=Number(r);var m=T.p(u),h=function(e){var t=w(p);return T.w(t.date(t.date()+Math.round(e*r)),p)};if(m===l)return this.set(l,this.$M+r);if(m===d)return this.set(d,this.$y+r);if(m===s)return h(1);if(m===c)return h(7);var g=(f={},f[a]=t,f[o]=n,f[i]=e,f)[m]||1,_=this.$d.getTime()+r*g;return T.w(_,this)},_.subtract=function(e,t){return this.add(-1*e,t)},_.format=function(e){var t=this,n=this.$locale();if(!this.isValid())return n.invalidDate||p;var r=e||`YYYY-MM-DDTHH:mm:ssZ`,i=T.z(this),a=this.$H,o=this.$m,s=this.$M,c=n.weekdays,l=n.months,u=n.meridiem,d=function(e,n,i,a){return e&&(e[n]||e(t,r))||i[n].slice(0,a)},f=function(e){return T.s(a%12||12,e,`0`)},m=u||function(e,t,n){var r=e<12?`AM`:`PM`;return n?r.toLowerCase():r};return r.replace(h,(function(e,r){return r||function(e){switch(e){case`YY`:return String(t.$y).slice(-2);case`YYYY`:return T.s(t.$y,4,`0`);case`M`:return s+1;case`MM`:return T.s(s+1,2,`0`);case`MMM`:return d(n.monthsShort,s,l,3);case`MMMM`:return d(l,s);case`D`:return t.$D;case`DD`:return T.s(t.$D,2,`0`);case`d`:return String(t.$W);case`dd`:return d(n.weekdaysMin,t.$W,c,2);case`ddd`:return d(n.weekdaysShort,t.$W,c,3);case`dddd`:return c[t.$W];case`H`:return String(a);case`HH`:return T.s(a,2,`0`);case`h`:return f(1);case`hh`:return f(2);case`a`:return m(a,o,!0);case`A`:return m(a,o,!1);case`m`:return String(o);case`mm`:return T.s(o,2,`0`);case`s`:return String(t.$s);case`ss`:return T.s(t.$s,2,`0`);case`SSS`:return T.s(t.$ms,3,`0`);case`Z`:return i}return null}(e)||i.replace(`:`,``)}))},_.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},_.diff=function(r,f,p){var m,h=this,g=T.p(f),_=w(r),v=(_.utcOffset()-this.utcOffset())*t,y=this-_,b=function(){return T.m(h,_)};switch(g){case d:m=b()/12;break;case l:m=b();break;case u:m=b()/3;break;case c:m=(y-v)/6048e5;break;case s:m=(y-v)/864e5;break;case o:m=y/n;break;case a:m=y/t;break;case i:m=y/e;break;default:m=y}return p?m:T.a(m)},_.daysInMonth=function(){return this.endOf(l).$D},_.$locale=function(){return b[this.$L]},_.locale=function(e,t){if(!e)return this.$L;var n=this.clone(),r=C(e,t,!0);return r&&(n.$L=r),n},_.clone=function(){return T.w(this.$d,this)},_.toDate=function(){return new Date(this.valueOf())},_.toJSON=function(){return this.isValid()?this.toISOString():null},_.toISOString=function(){return this.$d.toISOString()},_.toString=function(){return this.$d.toUTCString()},g}(),D=E.prototype;return w.prototype=D,[[`$ms`,r],[`$s`,i],[`$m`,a],[`$H`,o],[`$W`,s],[`$M`,l],[`$y`,d],[`$D`,f]].forEach((function(e){D[e[1]]=function(t){return this.$g(t,e[0],e[1])}})),w.extend=function(e,t){return e.$i||=(e(t,E,w),!0),w},w.locale=C,w.isDayjs=S,w.unix=function(e){return w(1e3*e)},w.en=b[y],w.Ls=b,w.p={},w}))})),ui=s(((e,t)=>{(function(n,r){typeof e==`object`&&t!==void 0?t.exports=r():typeof define==`function`&&define.amd?define(r):(n=typeof globalThis<`u`?globalThis:n||self).dayjs_plugin_customParseFormat=r()})(e,(function(){"use strict";var e={LTS:`h:mm:ss A`,LT:`h:mm A`,L:`MM/DD/YYYY`,LL:`MMMM D, YYYY`,LLL:`MMMM D, YYYY h:mm A`,LLLL:`dddd, MMMM D, YYYY h:mm A`},t=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,n=/\d/,r=/\d\d/,i=/\d\d?/,a=/\d*[^-_:/,()\s\d]+/,o={},s=function(e){return(e=+e)+(e>68?1900:2e3)},c=function(e){return function(t){this[e]=+t}},l=[/[+-]\d\d:?(\d\d)?|Z/,function(e){(this.zone||={}).offset=function(e){if(!e||e===`Z`)return 0;var t=e.match(/([+-]|\d\d)/g),n=60*t[1]+(+t[2]||0);return n===0?0:t[0]===`+`?-n:n}(e)}],u=function(e){var t=o[e];return t&&(t.indexOf?t:t.s.concat(t.f))},d=function(e,t){var n,r=o.meridiem;if(r){for(var i=1;i<=24;i+=1)if(e.indexOf(r(i,0,t))>-1){n=i>12;break}}else n=e===(t?`pm`:`PM`);return n},f={A:[a,function(e){this.afternoon=d(e,!1)}],a:[a,function(e){this.afternoon=d(e,!0)}],Q:[n,function(e){this.month=3*(e-1)+1}],S:[n,function(e){this.milliseconds=100*e}],SS:[r,function(e){this.milliseconds=10*e}],SSS:[/\d{3}/,function(e){this.milliseconds=+e}],s:[i,c(`seconds`)],ss:[i,c(`seconds`)],m:[i,c(`minutes`)],mm:[i,c(`minutes`)],H:[i,c(`hours`)],h:[i,c(`hours`)],HH:[i,c(`hours`)],hh:[i,c(`hours`)],D:[i,c(`day`)],DD:[r,c(`day`)],Do:[a,function(e){var t=o.ordinal,n=e.match(/\d+/);if(this.day=n[0],t)for(var r=1;r<=31;r+=1)t(r).replace(/\[|\]/g,``)===e&&(this.day=r)}],w:[i,c(`week`)],ww:[r,c(`week`)],M:[i,c(`month`)],MM:[r,c(`month`)],MMM:[a,function(e){var t=u(`months`),n=(u(`monthsShort`)||t.map((function(e){return e.slice(0,3)}))).indexOf(e)+1;if(n<1)throw Error();this.month=n%12||n}],MMMM:[a,function(e){var t=u(`months`).indexOf(e)+1;if(t<1)throw Error();this.month=t%12||t}],Y:[/[+-]?\d+/,c(`year`)],YY:[r,function(e){this.year=s(e)}],YYYY:[/\d{4}/,c(`year`)],Z:l,ZZ:l};function p(n){for(var r=n,i=o&&o.formats,a=(n=r.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(t,n,r){var a=r&&r.toUpperCase();return n||i[r]||e[r]||i[a].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(function(e,t,n){return t||n.slice(1)}))}))).match(t),s=a.length,c=0;c<s;c+=1){var l=a[c],u=f[l],d=u&&u[0],p=u&&u[1];a[c]=p?{regex:d,parser:p}:l.replace(/^\[|\]$/g,``)}return function(e){for(var t={},n=0,r=0;n<s;n+=1){var i=a[n];if(typeof i==`string`)r+=i.length;else{var o=i.regex,c=i.parser,l=e.slice(r),u=o.exec(l)[0];c.call(t,u),e=e.replace(u,``)}}return function(e){var t=e.afternoon;if(t!==void 0){var n=e.hours;t?n<12&&(e.hours+=12):n===12&&(e.hours=0),delete e.afternoon}}(t),t}}return function(e,t,n){n.p.customParseFormat=!0,e&&e.parseTwoDigitYear&&(s=e.parseTwoDigitYear);var r=t.prototype,i=r.parse;r.parse=function(e){var t=e.date,r=e.utc,a=e.args;this.$u=r;var s=a[1];if(typeof s==`string`){var c=!0===a[2],l=!0===a[3],u=c||l,d=a[2];l&&(d=a[2]),o=this.$locale(),!c&&d&&(o=n.Ls[d]),this.$d=function(e,t,n,r){try{if([`x`,`X`].indexOf(t)>-1)return new Date((t===`X`?1e3:1)*e);var i=p(t)(e),a=i.year,o=i.month,s=i.day,c=i.hours,l=i.minutes,u=i.seconds,d=i.milliseconds,f=i.zone,m=i.week,h=new Date,g=s||(a||o?1:h.getDate()),_=a||h.getFullYear(),v=0;a&&!o||(v=o>0?o-1:h.getMonth());var y,b=c||0,x=l||0,S=u||0,C=d||0;return f?new Date(Date.UTC(_,v,g,b,x,S,C+60*f.offset*1e3)):n?new Date(Date.UTC(_,v,g,b,x,S,C)):(y=new Date(_,v,g,b,x,S,C),m&&(y=r(y).week(m).toDate()),y)}catch{return new Date(``)}}(t,s,r,n),this.init(),d&&!0!==d&&(this.$L=this.locale(d).$L),u&&t!=this.format(s)&&(this.$d=new Date(``)),o={}}else if(s instanceof Array)for(var f=s.length,m=1;m<=f;m+=1){a[1]=s[m-1];var h=n.apply(this,a);if(h.isValid()){this.$d=h.$d,this.$L=h.$L,this.init();break}m===f&&(this.$d=new Date(``))}else i.call(this,e)}}}))})),di=l(li(),1),fi=l(ui(),1);di.default.extend(fi.default);var pi=[`YYYY-MM-DDTHH:mm:ss`,`YYYY-MM-DD HH:mm`,`YYYY-MM-DD`,`YYYY/MM/DD`,`MM/DD/YYYY`,`M/D/YYYY`,`M/D/YY`,`DD/MM/YYYY`,`DD.MM.YYYY`,`MMM D, YYYY`,`MMMM D, YYYY`,`MMM YYYY`,`MMMM YYYY`,`YYYY-MM`,`YYYY/MM`,`YYYY`];function mi(e){return e.includes(`HH`)||e.includes(`mm`)||e.includes(`ss`)?`datetime`:e.includes(`DD`)||/(?<![MA-Z])D(?!D)/.test(e)?`day`:e===`YYYY`?`year`:e.includes(`MM`)||e.includes(`MMM`)||e.includes(`MMMM`)||e.includes(`M/`)?`month`:`day`}function hi(e){return new Date(Date.UTC(e.year(),e.month(),e.date(),e.hour(),e.minute(),e.second(),e.millisecond()))}function gi(e){let t=e.trim();if(!t)return null;if(/^\d{4}$/.test(t)){let e=(0,di.default)(t,`YYYY`,!0);return e.isValid()?hi(e):null}for(let e of pi){if(e===`YYYY`)continue;let n=(0,di.default)(t,e,!0);if(n.isValid())return hi(n)}return null}function _i(e){let t=e.trim();if(!t)return;let n=gi(t);if(n)return n.getTime();let r=parseFloat(t);if(!isNaN(r))return r}function vi(e){let t=e.trim();if(!t)return;let n=Number(t);return isNaN(n)?gi(t)?.getTime():n}function yi(e){if(e.length===0)return null;let t=[],n=null,r=e[0].trim();if(!r)return null;if(/^\d{4}$/.test(r)){for(let n of e){let e=n.trim();if(!/^\d{4}$/.test(e))return null;let r=(0,di.default)(e,`YYYY`,!0);if(!r.isValid())return null;t.push(hi(r))}return{dates:t,granularity:`year`}}let i=[];for(let e of pi)e!==`YYYY`&&(0,di.default)(r,e,!0).isValid()&&i.push(e);if(i.length===0)return null;for(let r of i){let i=[],a=!0;for(let t of e){let e=(0,di.default)(t.trim(),r,!0);if(!e.isValid()){a=!1;break}i.push(hi(e))}if(a){n=r,t.push(...i);break}}return n?{dates:t,granularity:mi(n)}:null}function bi(e){return typeof e==`string`?vi(e):e}function xi(e,t){if(typeof e!=`string`)return e;let n=gi(e);return n?n.getTime():t?void 0:_i(e)}function Si(e,t){if(!t||t.min===void 0&&t.max===void 0)return e.map((e,t)=>t);let n=yi(e)!==null,r=xi(t.min,n),i=xi(t.max,n);if(r===void 0&&i===void 0)return e.map((e,t)=>t);let a=[];for(let t=0;t<e.length;t++){let n=_i(e[t]);if(n===void 0){a.push(t);continue}r!==void 0&&n<r||i!==void 0&&n>i||a.push(t)}return a}function Ci(e){let t=Number.isFinite(e)?Math.max(0,Math.min(100,e)):60;return t/(t+100)}function wi(e,t,n,r=!0){let i=r?0:1/0,a=r?0:-1/0,o=1/0,s=!0,c=!1;for(let t of e)Number.isFinite(t)&&(c=!0,t<i&&(i=t),t>a&&(a=t),t<=0?s=!1:t<o&&(o=t));n===Lr.Log&&c&&s&&(i=o),!c&&!r&&(i=0,a=0);let l=bi(t?.min)??i,u=bi(t?.max)??a;if(l>u&&([l,u]=[u,l]),l===u){if(l===0)u=1;else{let e=Math.abs(l)*.1;l-=e,u+=e}}return[l,u]}function Ti(e,t){if(typeof e.constant!=`function`)return null;let n=e.domain().map(Number).filter(Number.isFinite),r=Math.min(...n),i=Math.max(...n);if(!(i>0))return null;let a=r>0?Math.ceil(Math.log10(r)):0,o=Math.floor(Math.log10(i)),s=[];for(let e=a;e<=o;e++)s.push(10**e);if(s.length===0)return null;let c=Math.ceil(s.length/Math.max(2,t));return c>1?s.filter((e,t)=>t%c===0):s}function Ei(e,t){return e==null||t==null?NaN:e<t?-1:e>t?1:e>=t?0:NaN}function Di(e,t){return e==null||t==null?NaN:t<e?-1:t>e?1:t>=e?0:NaN}function Oi(e){let t,n,r;e.length===2?(t=e===Ei||e===Di?e:ki,n=e,r=e):(t=Ei,n=(t,n)=>Ei(e(t),n),r=(t,n)=>e(t)-n);function i(e,r,i=0,a=e.length){if(i<a){if(t(r,r)!==0)return a;do{let t=i+a>>>1;n(e[t],r)<0?i=t+1:a=t}while(i<a)}return i}function a(e,r,i=0,a=e.length){if(i<a){if(t(r,r)!==0)return a;do{let t=i+a>>>1;n(e[t],r)<=0?i=t+1:a=t}while(i<a)}return i}function o(e,t,n=0,a=e.length){let o=i(e,t,n,a-1);return o>n&&r(e[o-1],t)>-r(e[o],t)?o-1:o}return{left:i,center:o,right:a}}function ki(){return 0}function Ai(e){return e===null?NaN:+e}var ji=Oi(Ei),Mi=ji.right;ji.left;var Ni=Oi(Ai).center,Pi=class extends Map{constructor(e,t=Ri){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:t}}),e!=null)for(let[t,n]of e)this.set(t,n)}get(e){return super.get(Fi(this,e))}has(e){return super.has(Fi(this,e))}set(e,t){return super.set(Ii(this,e),t)}delete(e){return super.delete(Li(this,e))}};function Fi({_intern:e,_key:t},n){let r=t(n);return e.has(r)?e.get(r):n}function Ii({_intern:e,_key:t},n){let r=t(n);return e.has(r)?e.get(r):(e.set(r,n),n)}function Li({_intern:e,_key:t},n){let r=t(n);return e.has(r)&&(n=e.get(r),e.delete(r)),n}function Ri(e){return typeof e==`object`&&e?e.valueOf():e}function zi(e){return e}function Bi(e,t,...n){return Vi(e,zi,t,n)}function Vi(e,t,n,r){return(function e(i,a){if(a>=r.length)return n(i);let o=new Pi,s=r[a++],c=-1;for(let e of i){let t=s(e,++c,i),n=o.get(t);n?n.push(e):o.set(t,[e])}for(let[t,n]of o)o.set(t,e(n,a));return t(o)})(e,0)}var Hi=Math.sqrt(50),Ui=Math.sqrt(10),Wi=Math.sqrt(2);function Gi(e,t,n){let r=(t-e)/Math.max(0,n),i=Math.floor(Math.log10(r)),a=r/10**i,o=a>=Hi?10:a>=Ui?5:a>=Wi?2:1,s,c,l;return i<0?(l=10**-i/o,s=Math.round(e*l),c=Math.round(t*l),s/l<e&&++s,c/l>t&&--c,l=-l):(l=10**i*o,s=Math.round(e/l),c=Math.round(t/l),s*l<e&&++s,c*l>t&&--c),c<s&&.5<=n&&n<2?Gi(e,t,n*2):[s,c,l]}function Ki(e,t,n){if(t=+t,e=+e,n=+n,!(n>0))return[];if(e===t)return[e];let r=t<e,[i,a,o]=r?Gi(t,e,n):Gi(e,t,n);if(!(a>=i))return[];let s=a-i+1,c=Array(s);if(r){if(o<0)for(let e=0;e<s;++e)c[e]=(a-e)/-o;else for(let e=0;e<s;++e)c[e]=(a-e)*o}else if(o<0)for(let e=0;e<s;++e)c[e]=(i+e)/-o;else for(let e=0;e<s;++e)c[e]=(i+e)*o;return c}function qi(e,t,n){return t=+t,e=+e,n=+n,Gi(e,t,n)[2]}function Ji(e,t,n){t=+t,e=+e,n=+n;let r=t<e,i=r?qi(t,e,n):qi(e,t,n);return(r?-1:1)*(i<0?1/-i:i)}function Yi(e,t){let n;if(t===void 0)for(let t of e)t!=null&&(n<t||n===void 0&&t>=t)&&(n=t);else{let r=-1;for(let i of e)(i=t(i,++r,e))!=null&&(n<i||n===void 0&&i>=i)&&(n=i)}return n}function Xi(e,t){let n;if(t===void 0)for(let t of e)t!=null&&(n>t||n===void 0&&t>=t)&&(n=t);else{let r=-1;for(let i of e)(i=t(i,++r,e))!=null&&(n>i||n===void 0&&i>=i)&&(n=i)}return n}function Zi(e,t,n){e=+e,t=+t,n=(i=arguments.length)<2?(t=e,e=0,1):i<3?1:+n;for(var r=-1,i=Math.max(0,Math.ceil((t-e)/n))|0,a=Array(i);++r<i;)a[r]=e+r*n;return a}function Qi(e,t){let n=0;if(t===void 0)for(let t of e)(t=+t)&&(n+=t);else{let r=-1;for(let i of e)(i=+t(i,++r,e))&&(n+=i)}return n}function $i(e){return e}var ea=1,ta=2,na=3,ra=4,ia=1e-6;function aa(e){return`translate(`+e+`,0)`}function oa(e){return`translate(0,`+e+`)`}function sa(e){return t=>+e(t)}function ca(e,t){return t=Math.max(0,e.bandwidth()-t*2)/2,e.round()&&(t=Math.round(t)),n=>+e(n)+t}function la(){return!this.__axis}function ua(e,t){var n=[],r=null,i=null,a=6,o=6,s=3,c=typeof window<`u`&&window.devicePixelRatio>1?0:.5,l=e===ea||e===ra?-1:1,u=e===ra||e===ta?`x`:`y`,d=e===ea||e===na?aa:oa;function f(f){var p=r??(t.ticks?t.ticks.apply(t,n):t.domain()),m=i??(t.tickFormat?t.tickFormat.apply(t,n):$i),h=Math.max(a,0)+s,g=t.range(),_=+g[0]+c,v=+g[g.length-1]+c,y=(t.bandwidth?ca:sa)(t.copy(),c),b=f.selection?f.selection():f,x=b.selectAll(`.domain`).data([null]),S=b.selectAll(`.tick`).data(p,t).order(),C=S.exit(),w=S.enter().append(`g`).attr(`class`,`tick`),T=S.select(`line`),E=S.select(`text`);x=x.merge(x.enter().insert(`path`,`.tick`).attr(`class`,`domain`).attr(`stroke`,`currentColor`)),S=S.merge(w),T=T.merge(w.append(`line`).attr(`stroke`,`currentColor`).attr(u+`2`,l*a)),E=E.merge(w.append(`text`).attr(`fill`,`currentColor`).attr(u,l*h).attr(`dy`,e===ea?`0em`:e===na?`0.71em`:`0.32em`)),f!==b&&(x=x.transition(f),S=S.transition(f),T=T.transition(f),E=E.transition(f),C=C.transition(f).attr(`opacity`,ia).attr(`transform`,function(e){return isFinite(e=y(e))?d(e+c):this.getAttribute(`transform`)}),w.attr(`opacity`,ia).attr(`transform`,function(e){var t=this.parentNode.__axis;return d((t&&isFinite(t=t(e))?t:y(e))+c)})),C.remove(),x.attr(`d`,e===ra||e===ta?o?`M`+l*o+`,`+_+`H`+c+`V`+v+`H`+l*o:`M`+c+`,`+_+`V`+v:o?`M`+_+`,`+l*o+`V`+c+`H`+v+`V`+l*o:`M`+_+`,`+c+`H`+v),S.attr(`opacity`,1).attr(`transform`,function(e){return d(y(e)+c)}),T.attr(u+`2`,l*a),E.attr(u,l*h).text(m),b.filter(la).attr(`fill`,`none`).attr(`font-size`,10).attr(`font-family`,`sans-serif`).attr(`text-anchor`,e===ta?`start`:e===ra?`end`:`middle`),b.each(function(){this.__axis=y})}return f.scale=function(e){return arguments.length?(t=e,f):t},f.ticks=function(){return n=Array.from(arguments),f},f.tickArguments=function(e){return arguments.length?(n=e==null?[]:Array.from(e),f):n.slice()},f.tickValues=function(e){return arguments.length?(r=e==null?null:Array.from(e),f):r&&r.slice()},f.tickFormat=function(e){return arguments.length?(i=e,f):i},f.tickSize=function(e){return arguments.length?(a=o=+e,f):a},f.tickSizeInner=function(e){return arguments.length?(a=+e,f):a},f.tickSizeOuter=function(e){return arguments.length?(o=+e,f):o},f.tickPadding=function(e){return arguments.length?(s=+e,f):s},f.offset=function(e){return arguments.length?(c=+e,f):c},f}function da(e){return ua(ea,e)}function fa(e){return ua(ta,e)}function pa(e){return ua(na,e)}function ma(e){return ua(ra,e)}var ha={value:()=>{}};function ga(){for(var e=0,t=arguments.length,n={},r;e<t;++e){if(!(r=arguments[e]+``)||r in n||/[\s.]/.test(r))throw Error(`illegal type: `+r);n[r]=[]}return new _a(n)}function _a(e){this._=e}function va(e,t){return e.trim().split(/^|\s+/).map(function(e){var n=``,r=e.indexOf(`.`);if(r>=0&&(n=e.slice(r+1),e=e.slice(0,r)),e&&!t.hasOwnProperty(e))throw Error(`unknown type: `+e);return{type:e,name:n}})}_a.prototype=ga.prototype={constructor:_a,on:function(e,t){var n=this._,r=va(e+``,n),i,a=-1,o=r.length;if(arguments.length<2){for(;++a<o;)if((i=(e=r[a]).type)&&(i=ya(n[i],e.name)))return i;return}if(t!=null&&typeof t!=`function`)throw Error(`invalid callback: `+t);for(;++a<o;)if(i=(e=r[a]).type)n[i]=ba(n[i],e.name,t);else if(t==null)for(i in n)n[i]=ba(n[i],e.name,null);return this},copy:function(){var e={},t=this._;for(var n in t)e[n]=t[n].slice();return new _a(e)},call:function(e,t){if((i=arguments.length-2)>0)for(var n=Array(i),r=0,i,a;r<i;++r)n[r]=arguments[r+2];if(!this._.hasOwnProperty(e))throw Error(`unknown type: `+e);for(a=this._[e],r=0,i=a.length;r<i;++r)a[r].value.apply(t,n)},apply:function(e,t,n){if(!this._.hasOwnProperty(e))throw Error(`unknown type: `+e);for(var r=this._[e],i=0,a=r.length;i<a;++i)r[i].value.apply(t,n)}};function ya(e,t){for(var n=0,r=e.length,i;n<r;++n)if((i=e[n]).name===t)return i.value}function ba(e,t,n){for(var r=0,i=e.length;r<i;++r)if(e[r].name===t){e[r]=ha,e=e.slice(0,r).concat(e.slice(r+1));break}return n!=null&&e.push({name:t,value:n}),e}var xa={svg:`http://www.w3.org/2000/svg`,xhtml:`http://www.w3.org/1999/xhtml`,xlink:`http://www.w3.org/1999/xlink`,xml:`http://www.w3.org/XML/1998/namespace`,xmlns:`http://www.w3.org/2000/xmlns/`};function Sa(e){var t=e+=``,n=t.indexOf(`:`);return n>=0&&(t=e.slice(0,n))!==`xmlns`&&(e=e.slice(n+1)),xa.hasOwnProperty(t)?{space:xa[t],local:e}:e}function Ca(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===`http://www.w3.org/1999/xhtml`&&t.documentElement.namespaceURI===`http://www.w3.org/1999/xhtml`?t.createElement(e):t.createElementNS(n,e)}}function wa(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function Ta(e){var t=Sa(e);return(t.local?wa:Ca)(t)}function Ea(){}function Da(e){return e==null?Ea:function(){return this.querySelector(e)}}function Oa(e){typeof e!=`function`&&(e=Da(e));for(var t=this._groups,n=t.length,r=Array(n),i=0;i<n;++i)for(var a=t[i],o=a.length,s=r[i]=Array(o),c,l,u=0;u<o;++u)(c=a[u])&&(l=e.call(c,c.__data__,u,a))&&(`__data__`in c&&(l.__data__=c.__data__),s[u]=l);return new _s(r,this._parents)}function ka(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function Aa(){return[]}function ja(e){return e==null?Aa:function(){return this.querySelectorAll(e)}}function Ma(e){return function(){return ka(e.apply(this,arguments))}}function Na(e){e=typeof e==`function`?Ma(e):ja(e);for(var t=this._groups,n=t.length,r=[],i=[],a=0;a<n;++a)for(var o=t[a],s=o.length,c,l=0;l<s;++l)(c=o[l])&&(r.push(e.call(c,c.__data__,l,o)),i.push(c));return new _s(r,i)}function Pa(e){return function(){return this.matches(e)}}function Fa(e){return function(t){return t.matches(e)}}var Ia=Array.prototype.find;function La(e){return function(){return Ia.call(this.children,e)}}function Ra(){return this.firstElementChild}function za(e){return this.select(e==null?Ra:La(typeof e==`function`?e:Fa(e)))}var Ba=Array.prototype.filter;function Va(){return Array.from(this.children)}function Ha(e){return function(){return Ba.call(this.children,e)}}function Ua(e){return this.selectAll(e==null?Va:Ha(typeof e==`function`?e:Fa(e)))}function Wa(e){typeof e!=`function`&&(e=Pa(e));for(var t=this._groups,n=t.length,r=Array(n),i=0;i<n;++i)for(var a=t[i],o=a.length,s=r[i]=[],c,l=0;l<o;++l)(c=a[l])&&e.call(c,c.__data__,l,a)&&s.push(c);return new _s(r,this._parents)}function Ga(e){return Array(e.length)}function Ka(){return new _s(this._enter||this._groups.map(Ga),this._parents)}function qa(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}qa.prototype={constructor:qa,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 Ja(e){return function(){return e}}function Ya(e,t,n,r,i,a){for(var o=0,s,c=t.length,l=a.length;o<l;++o)(s=t[o])?(s.__data__=a[o],r[o]=s):n[o]=new qa(e,a[o]);for(;o<c;++o)(s=t[o])&&(i[o]=s)}function Xa(e,t,n,r,i,a,o){var s,c,l=new Map,u=t.length,d=a.length,f=Array(u),p;for(s=0;s<u;++s)(c=t[s])&&(f[s]=p=o.call(c,c.__data__,s,t)+``,l.has(p)?i[s]=c:l.set(p,c));for(s=0;s<d;++s)p=o.call(e,a[s],s,a)+``,(c=l.get(p))?(r[s]=c,c.__data__=a[s],l.delete(p)):n[s]=new qa(e,a[s]);for(s=0;s<u;++s)(c=t[s])&&l.get(f[s])===c&&(i[s]=c)}function Za(e){return e.__data__}function Qa(e,t){if(!arguments.length)return Array.from(this,Za);var n=t?Xa:Ya,r=this._parents,i=this._groups;typeof e!=`function`&&(e=Ja(e));for(var a=i.length,o=Array(a),s=Array(a),c=Array(a),l=0;l<a;++l){var u=r[l],d=i[l],f=d.length,p=$a(e.call(u,u&&u.__data__,l,r)),m=p.length,h=s[l]=Array(m),g=o[l]=Array(m);n(u,d,h,g,c[l]=Array(f),p,t);for(var _=0,v=0,y,b;_<m;++_)if(y=h[_]){for(_>=v&&(v=_+1);!(b=g[v])&&++v<m;);y._next=b||null}}return o=new _s(o,r),o._enter=s,o._exit=c,o}function $a(e){return typeof e==`object`&&`length`in e?e:Array.from(e)}function eo(){return new _s(this._exit||this._groups.map(Ga),this._parents)}function to(e,t,n){var r=this.enter(),i=this,a=this.exit();return typeof e==`function`?(r=e(r),r&&=r.selection()):r=r.append(e+``),t!=null&&(i=t(i),i&&=i.selection()),n==null?a.remove():n(a),r&&i?r.merge(i).order():i}function no(e){for(var t=e.selection?e.selection():e,n=this._groups,r=t._groups,i=n.length,a=r.length,o=Math.min(i,a),s=Array(i),c=0;c<o;++c)for(var l=n[c],u=r[c],d=l.length,f=s[c]=Array(d),p,m=0;m<d;++m)(p=l[m]||u[m])&&(f[m]=p);for(;c<i;++c)s[c]=n[c];return new _s(s,this._parents)}function ro(){for(var e=this._groups,t=-1,n=e.length;++t<n;)for(var r=e[t],i=r.length-1,a=r[i],o;--i>=0;)(o=r[i])&&(a&&o.compareDocumentPosition(a)^4&&a.parentNode.insertBefore(o,a),a=o);return this}function io(e){e||=ao;function t(t,n){return t&&n?e(t.__data__,n.__data__):!t-!n}for(var n=this._groups,r=n.length,i=Array(r),a=0;a<r;++a){for(var o=n[a],s=o.length,c=i[a]=Array(s),l,u=0;u<s;++u)(l=o[u])&&(c[u]=l);c.sort(t)}return new _s(i,this._parents).order()}function ao(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}function oo(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function so(){return Array.from(this)}function co(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],i=0,a=r.length;i<a;++i){var o=r[i];if(o)return o}return null}function lo(){let e=0;for(let t of this)++e;return e}function uo(){return!this.node()}function fo(e){for(var t=this._groups,n=0,r=t.length;n<r;++n)for(var i=t[n],a=0,o=i.length,s;a<o;++a)(s=i[a])&&e.call(s,s.__data__,a,i);return this}function po(e){return function(){this.removeAttribute(e)}}function mo(e){return function(){this.removeAttributeNS(e.space,e.local)}}function ho(e,t){return function(){this.setAttribute(e,t)}}function go(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function _o(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttribute(e):this.setAttribute(e,n)}}function vo(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,n)}}function yo(e,t){var n=Sa(e);if(arguments.length<2){var r=this.node();return n.local?r.getAttributeNS(n.space,n.local):r.getAttribute(n)}return this.each((t==null?n.local?mo:po:typeof t==`function`?n.local?vo:_o:n.local?go:ho)(n,t))}function bo(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function xo(e){return function(){this.style.removeProperty(e)}}function So(e,t,n){return function(){this.style.setProperty(e,t,n)}}function Co(e,t,n){return function(){var r=t.apply(this,arguments);r==null?this.style.removeProperty(e):this.style.setProperty(e,r,n)}}function wo(e,t,n){return arguments.length>1?this.each((t==null?xo:typeof t==`function`?Co:So)(e,t,n??``)):To(this.node(),e)}function To(e,t){return e.style.getPropertyValue(t)||bo(e).getComputedStyle(e,null).getPropertyValue(t)}function Eo(e){return function(){delete this[e]}}function Do(e,t){return function(){this[e]=t}}function Oo(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function ko(e,t){return arguments.length>1?this.each((t==null?Eo:typeof t==`function`?Oo:Do)(e,t)):this.node()[e]}function Ao(e){return e.trim().split(/^|\s+/)}function jo(e){return e.classList||new Mo(e)}function Mo(e){this._node=e,this._names=Ao(e.getAttribute(`class`)||``)}Mo.prototype={add:function(e){this._names.indexOf(e)<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 No(e,t){for(var n=jo(e),r=-1,i=t.length;++r<i;)n.add(t[r])}function Po(e,t){for(var n=jo(e),r=-1,i=t.length;++r<i;)n.remove(t[r])}function Fo(e){return function(){No(this,e)}}function Io(e){return function(){Po(this,e)}}function Lo(e,t){return function(){(t.apply(this,arguments)?No:Po)(this,e)}}function Ro(e,t){var n=Ao(e+``);if(arguments.length<2){for(var r=jo(this.node()),i=-1,a=n.length;++i<a;)if(!r.contains(n[i]))return!1;return!0}return this.each((typeof t==`function`?Lo:t?Fo:Io)(n,t))}function zo(){this.textContent=``}function Bo(e){return function(){this.textContent=e}}function Vo(e){return function(){var t=e.apply(this,arguments);this.textContent=t??``}}function Ho(e){return arguments.length?this.each(e==null?zo:(typeof e==`function`?Vo:Bo)(e)):this.node().textContent}function Uo(){this.innerHTML=``}function Wo(e){return function(){this.innerHTML=e}}function Go(e){return function(){var t=e.apply(this,arguments);this.innerHTML=t??``}}function Ko(e){return arguments.length?this.each(e==null?Uo:(typeof e==`function`?Go:Wo)(e)):this.node().innerHTML}function qo(){this.nextSibling&&this.parentNode.appendChild(this)}function Jo(){return this.each(qo)}function Yo(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function Xo(){return this.each(Yo)}function Zo(e){var t=typeof e==`function`?e:Ta(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})}function Qo(){return null}function $o(e,t){var n=typeof e==`function`?e:Ta(e),r=t==null?Qo:typeof t==`function`?t:Da(t);return this.select(function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)})}function es(){var e=this.parentNode;e&&e.removeChild(this)}function ts(){return this.each(es)}function ns(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function rs(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function is(e){return this.select(e?rs:ns)}function as(e){return arguments.length?this.property(`__data__`,e):this.node().__data__}function os(e){return function(t){e.call(this,t,this.__data__)}}function ss(e){return e.trim().split(/^|\s+/).map(function(e){var t=``,n=e.indexOf(`.`);return n>=0&&(t=e.slice(n+1),e=e.slice(0,n)),{type:e,name:t}})}function cs(e){return function(){var t=this.__on;if(t){for(var n=0,r=-1,i=t.length,a;n<i;++n)a=t[n],(!e.type||a.type===e.type)&&a.name===e.name?this.removeEventListener(a.type,a.listener,a.options):t[++r]=a;++r?t.length=r:delete this.__on}}}function ls(e,t,n){return function(){var r=this.__on,i,a=os(t);if(r){for(var o=0,s=r.length;o<s;++o)if((i=r[o]).type===e.type&&i.name===e.name){this.removeEventListener(i.type,i.listener,i.options),this.addEventListener(i.type,i.listener=a,i.options=n),i.value=t;return}}this.addEventListener(e.type,a,n),i={type:e.type,name:e.name,value:t,listener:a,options:n},r?r.push(i):this.__on=[i]}}function us(e,t,n){var r=ss(e+``),i,a=r.length,o;if(arguments.length<2){var s=this.node().__on;if(s){for(var c=0,l=s.length,u;c<l;++c)for(i=0,u=s[c];i<a;++i)if((o=r[i]).type===u.type&&o.name===u.name)return u.value}return}for(s=t?ls:cs,i=0;i<a;++i)this.each(s(r[i],t,n));return this}function ds(e,t,n){var r=bo(e),i=r.CustomEvent;typeof i==`function`?i=new i(t,n):(i=r.document.createEvent(`Event`),n?(i.initEvent(t,n.bubbles,n.cancelable),i.detail=n.detail):i.initEvent(t,!1,!1)),e.dispatchEvent(i)}function fs(e,t){return function(){return ds(this,e,t)}}function ps(e,t){return function(){return ds(this,e,t.apply(this,arguments))}}function ms(e,t){return this.each((typeof t==`function`?ps:fs)(e,t))}function*hs(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],i=0,a=r.length,o;i<a;++i)(o=r[i])&&(yield o)}var gs=[null];function _s(e,t){this._groups=e,this._parents=t}function vs(){return new _s([[document.documentElement]],gs)}function ys(){return this}_s.prototype=vs.prototype={constructor:_s,select:Oa,selectAll:Na,selectChild:za,selectChildren:Ua,filter:Wa,data:Qa,enter:Ka,exit:eo,join:to,merge:no,selection:ys,order:ro,sort:io,call:oo,nodes:so,node:co,size:lo,empty:uo,each:fo,attr:yo,style:wo,property:ko,classed:Ro,text:Ho,html:Ko,raise:Jo,lower:Xo,append:Zo,insert:$o,remove:ts,clone:is,datum:as,on:us,dispatch:ms,[Symbol.iterator]:hs};function $(e){return typeof e==`string`?new _s([[document.querySelector(e)]],[document.documentElement]):new _s([[e]],gs)}function bs(e){let t;for(;t=e.sourceEvent;)e=t;return e}function xs(e,t){if(e=bs(e),t===void 0&&(t=e.currentTarget),t){var n=t.ownerSVGElement||t;if(n.createSVGPoint){var r=n.createSVGPoint();return r.x=e.clientX,r.y=e.clientY,r=r.matrixTransform(t.getScreenCTM().inverse()),[r.x,r.y]}if(t.getBoundingClientRect){var i=t.getBoundingClientRect();return[e.clientX-i.left-t.clientLeft,e.clientY-i.top-t.clientTop]}}return[e.pageX,e.pageY]}function Ss(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function Cs(e,t){var n=Object.create(e.prototype);for(var r in t)n[r]=t[r];return n}function ws(){}var Ts=.7,Es=1/Ts,Ds=`\\s*([+-]?\\d+)\\s*`,Os=`\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*`,ks=`\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*`,As=/^#([0-9a-f]{3,8})$/,js=RegExp(`^rgb\\(${Ds},${Ds},${Ds}\\)$`),Ms=RegExp(`^rgb\\(${ks},${ks},${ks}\\)$`),Ns=RegExp(`^rgba\\(${Ds},${Ds},${Ds},${Os}\\)$`),Ps=RegExp(`^rgba\\(${ks},${ks},${ks},${Os}\\)$`),Fs=RegExp(`^hsl\\(${Os},${ks},${ks}\\)$`),Is=RegExp(`^hsla\\(${Os},${ks},${ks},${Os}\\)$`),Ls={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};Ss(ws,Hs,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:Rs,formatHex:Rs,formatHex8:zs,formatHsl:Bs,formatRgb:Vs,toString:Vs});function Rs(){return this.rgb().formatHex()}function zs(){return this.rgb().formatHex8()}function Bs(){return tc(this).formatHsl()}function Vs(){return this.rgb().formatRgb()}function Hs(e){var t,n;return e=(e+``).trim().toLowerCase(),(t=As.exec(e))?(n=t[1].length,t=parseInt(t[1],16),n===6?Us(t):n===3?new qs(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?Ws(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?Ws(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=js.exec(e))?new qs(t[1],t[2],t[3],1):(t=Ms.exec(e))?new qs(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=Ns.exec(e))?Ws(t[1],t[2],t[3],t[4]):(t=Ps.exec(e))?Ws(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=Fs.exec(e))?ec(t[1],t[2]/100,t[3]/100,1):(t=Is.exec(e))?ec(t[1],t[2]/100,t[3]/100,t[4]):Ls.hasOwnProperty(e)?Us(Ls[e]):e===`transparent`?new qs(NaN,NaN,NaN,0):null}function Us(e){return new qs(e>>16&255,e>>8&255,e&255,1)}function Ws(e,t,n,r){return r<=0&&(e=t=n=NaN),new qs(e,t,n,r)}function Gs(e){return e instanceof ws||(e=Hs(e)),e?(e=e.rgb(),new qs(e.r,e.g,e.b,e.opacity)):new qs}function Ks(e,t,n,r){return arguments.length===1?Gs(e):new qs(e,t,n,r??1)}function qs(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}Ss(qs,Ks,Cs(ws,{brighter(e){return e=e==null?Es:Es**+e,new qs(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?Ts:Ts**+e,new qs(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new qs(Qs(this.r),Qs(this.g),Qs(this.b),Zs(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:Js,formatHex:Js,formatHex8:Ys,formatRgb:Xs,toString:Xs}));function Js(){return`#${$s(this.r)}${$s(this.g)}${$s(this.b)}`}function Ys(){return`#${$s(this.r)}${$s(this.g)}${$s(this.b)}${$s((isNaN(this.opacity)?1:this.opacity)*255)}`}function Xs(){let e=Zs(this.opacity);return`${e===1?`rgb(`:`rgba(`}${Qs(this.r)}, ${Qs(this.g)}, ${Qs(this.b)}${e===1?`)`:`, ${e})`}`}function Zs(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Qs(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function $s(e){return e=Qs(e),(e<16?`0`:``)+e.toString(16)}function ec(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new rc(e,t,n,r)}function tc(e){if(e instanceof rc)return new rc(e.h,e.s,e.l,e.opacity);if(e instanceof ws||(e=Hs(e)),!e)return new rc;if(e instanceof rc)return e;e=e.rgb();var t=e.r/255,n=e.g/255,r=e.b/255,i=Math.min(t,n,r),a=Math.max(t,n,r),o=NaN,s=a-i,c=(a+i)/2;return s?(o=t===a?(n-r)/s+(n<r)*6:n===a?(r-t)/s+2:(t-n)/s+4,s/=c<.5?a+i:2-a-i,o*=60):s=c>0&&c<1?0:o,new rc(o,s,c,e.opacity)}function nc(e,t,n,r){return arguments.length===1?tc(e):new rc(e,t,n,r??1)}function rc(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}Ss(rc,nc,Cs(ws,{brighter(e){return e=e==null?Es:Es**+e,new rc(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?Ts:Ts**+e,new rc(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,i=2*n-r;return new qs(oc(e>=240?e-240:e+120,i,r),oc(e,i,r),oc(e<120?e+240:e-120,i,r),this.opacity)},clamp(){return new rc(ic(this.h),ac(this.s),ac(this.l),Zs(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=Zs(this.opacity);return`${e===1?`hsl(`:`hsla(`}${ic(this.h)}, ${ac(this.s)*100}%, ${ac(this.l)*100}%${e===1?`)`:`, ${e})`}`}}));function ic(e){return e=(e||0)%360,e<0?e+360:e}function ac(e){return Math.max(0,Math.min(1,e||0))}function oc(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}var sc=e=>()=>e;function cc(e,t){return function(n){return e+n*t}}function lc(e,t,n){return e**=+n,t=t**+n-e,n=1/n,function(r){return(e+r*t)**+n}}function uc(e){return(e=+e)==1?dc:function(t,n){return n-t?lc(t,n,e):sc(isNaN(t)?n:t)}}function dc(e,t){var n=t-e;return n?cc(e,n):sc(isNaN(e)?t:e)}var fc=(function e(t){var n=uc(t);function r(e,t){var r=n((e=Ks(e)).r,(t=Ks(t)).r),i=n(e.g,t.g),a=n(e.b,t.b),o=dc(e.opacity,t.opacity);return function(t){return e.r=r(t),e.g=i(t),e.b=a(t),e.opacity=o(t),e+``}}return r.gamma=e,r})(1);function pc(e,t){t||=[];var n=e?Math.min(t.length,e.length):0,r=t.slice(),i;return function(a){for(i=0;i<n;++i)r[i]=e[i]*(1-a)+t[i]*a;return r}}function mc(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function hc(e,t){var n=t?t.length:0,r=e?Math.min(n,e.length):0,i=Array(r),a=Array(n),o;for(o=0;o<r;++o)i[o]=wc(e[o],t[o]);for(;o<n;++o)a[o]=t[o];return function(e){for(o=0;o<r;++o)a[o]=i[o](e);return a}}function gc(e,t){var n=new Date;return e=+e,t=+t,function(r){return n.setTime(e*(1-r)+t*r),n}}function _c(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}function vc(e,t){var n={},r={},i;for(i in(typeof e!=`object`||!e)&&(e={}),(typeof t!=`object`||!t)&&(t={}),t)i in e?n[i]=wc(e[i],t[i]):r[i]=t[i];return function(e){for(i in n)r[i]=n[i](e);return r}}var yc=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,bc=new RegExp(yc.source,`g`);function xc(e){return function(){return e}}function Sc(e){return function(t){return e(t)+``}}function Cc(e,t){var n=yc.lastIndex=bc.lastIndex=0,r,i,a,o=-1,s=[],c=[];for(e+=``,t+=``;(r=yc.exec(e))&&(i=bc.exec(t));)(a=i.index)>n&&(a=t.slice(n,a),s[o]?s[o]+=a:s[++o]=a),(r=r[0])===(i=i[0])?s[o]?s[o]+=i:s[++o]=i:(s[++o]=null,c.push({i:o,x:_c(r,i)})),n=bc.lastIndex;return n<t.length&&(a=t.slice(n),s[o]?s[o]+=a:s[++o]=a),s.length<2?c[0]?Sc(c[0].x):xc(t):(t=c.length,function(e){for(var n=0,r;n<t;++n)s[(r=c[n]).i]=r.x(e);return s.join(``)})}function wc(e,t){var n=typeof t,r;return t==null||n===`boolean`?sc(t):(n===`number`?_c:n===`string`?(r=Hs(t))?(t=r,fc):Cc:t instanceof Hs?fc:t instanceof Date?gc:mc(t)?pc:Array.isArray(t)?hc:typeof t.valueOf!=`function`&&typeof t.toString!=`function`||isNaN(t)?vc:_c)(e,t)}function Tc(e,t){return e=+e,t=+t,function(n){return Math.round(e*(1-n)+t*n)}}var Ec=180/Math.PI,Dc={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function Oc(e,t,n,r,i,a){var o,s,c;return(o=Math.sqrt(e*e+t*t))&&(e/=o,t/=o),(c=e*n+t*r)&&(n-=e*c,r-=t*c),(s=Math.sqrt(n*n+r*r))&&(n/=s,r/=s,c/=s),e*r<t*n&&(e=-e,t=-t,c=-c,o=-o),{translateX:i,translateY:a,rotate:Math.atan2(t,e)*Ec,skewX:Math.atan(c)*Ec,scaleX:o,scaleY:s}}var kc;function Ac(e){let t=new(typeof DOMMatrix==`function`?DOMMatrix:WebKitCSSMatrix)(e+``);return t.isIdentity?Dc:Oc(t.a,t.b,t.c,t.d,t.e,t.f)}function jc(e){return e==null||(kc||=document.createElementNS(`http://www.w3.org/2000/svg`,`g`),kc.setAttribute(`transform`,e),!(e=kc.transform.baseVal.consolidate()))?Dc:(e=e.matrix,Oc(e.a,e.b,e.c,e.d,e.e,e.f))}function Mc(e,t,n,r){function i(e){return e.length?e.pop()+` `:``}function a(e,r,i,a,o,s){if(e!==i||r!==a){var c=o.push(`translate(`,null,t,null,n);s.push({i:c-4,x:_c(e,i)},{i:c-2,x:_c(r,a)})}else(i||a)&&o.push(`translate(`+i+t+a+n)}function o(e,t,n,a){e===t?t&&n.push(i(n)+`rotate(`+t+r):(e-t>180?t+=360:t-e>180&&(e+=360),a.push({i:n.push(i(n)+`rotate(`,null,r)-2,x:_c(e,t)}))}function s(e,t,n,a){e===t?t&&n.push(i(n)+`skewX(`+t+r):a.push({i:n.push(i(n)+`skewX(`,null,r)-2,x:_c(e,t)})}function c(e,t,n,r,a,o){if(e!==n||t!==r){var s=a.push(i(a)+`scale(`,null,`,`,null,`)`);o.push({i:s-4,x:_c(e,n)},{i:s-2,x:_c(t,r)})}else(n!==1||r!==1)&&a.push(i(a)+`scale(`+n+`,`+r+`)`)}return function(t,n){var r=[],i=[];return t=e(t),n=e(n),a(t.translateX,t.translateY,n.translateX,n.translateY,r,i),o(t.rotate,n.rotate,r,i),s(t.skewX,n.skewX,r,i),c(t.scaleX,t.scaleY,n.scaleX,n.scaleY,r,i),t=n=null,function(e){for(var t=-1,n=i.length,a;++t<n;)r[(a=i[t]).i]=a.x(e);return r.join(``)}}}var Nc=Mc(Ac,`px, `,`px)`,`deg)`),Pc=Mc(jc,`, `,`)`,`)`),Fc=0,Ic=0,Lc=0,Rc=1e3,zc,Bc,Vc=0,Hc=0,Uc=0,Wc=typeof performance==`object`&&performance.now?performance:Date,Gc=typeof window==`object`&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function Kc(){return Hc||=(Gc(qc),Wc.now()+Uc)}function qc(){Hc=0}function Jc(){this._call=this._time=this._next=null}Jc.prototype=Yc.prototype={constructor:Jc,restart:function(e,t,n){if(typeof e!=`function`)throw TypeError(`callback is not a function`);n=(n==null?Kc():+n)+(t==null?0:+t),!this._next&&Bc!==this&&(Bc?Bc._next=this:zc=this,Bc=this),this._call=e,this._time=n,el()},stop:function(){this._call&&(this._call=null,this._time=1/0,el())}};function Yc(e,t,n){var r=new Jc;return r.restart(e,t,n),r}function Xc(){Kc(),++Fc;for(var e=zc,t;e;)(t=Hc-e._time)>=0&&e._call.call(void 0,t),e=e._next;--Fc}function Zc(){Hc=(Vc=Wc.now())+Uc,Fc=Ic=0;try{Xc()}finally{Fc=0,$c(),Hc=0}}function Qc(){var e=Wc.now(),t=e-Vc;t>Rc&&(Uc-=t,Vc=e)}function $c(){for(var e,t=zc,n,r=1/0;t;)t._call?(r>t._time&&(r=t._time),e=t,t=t._next):(n=t._next,t._next=null,t=e?e._next=n:zc=n);Bc=e,el(r)}function el(e){Fc||(Ic&&=clearTimeout(Ic),e-Hc>24?(e<1/0&&(Ic=setTimeout(Zc,e-Wc.now()-Uc)),Lc&&=clearInterval(Lc)):(Lc||=(Vc=Wc.now(),setInterval(Qc,Rc)),Fc=1,Gc(Zc)))}function tl(e,t,n){var r=new Jc;return t=t==null?0:+t,r.restart(n=>{r.stop(),e(n+t)},t,n),r}var nl=ga(`start`,`end`,`cancel`,`interrupt`),rl=[];function il(e,t,n,r,i,a){var o=e.__transition;if(!o)e.__transition={};else if(n in o)return;cl(e,n,{name:t,index:r,group:i,on:nl,tween:rl,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:0})}function al(e,t){var n=sl(e,t);if(n.state>0)throw Error(`too late; already scheduled`);return n}function ol(e,t){var n=sl(e,t);if(n.state>3)throw Error(`too late; already running`);return n}function sl(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw Error(`transition not found`);return n}function cl(e,t,n){var r=e.__transition,i;r[t]=n,n.timer=Yc(a,0,n.time);function a(e){n.state=1,n.timer.restart(o,n.delay,n.time),n.delay<=e&&o(e-n.delay)}function o(a){var l,u,d,f;if(n.state!==1)return c();for(l in r)if(f=r[l],f.name===n.name){if(f.state===3)return tl(o);f.state===4?(f.state=6,f.timer.stop(),f.on.call(`interrupt`,e,e.__data__,f.index,f.group),delete r[l]):+l<t&&(f.state=6,f.timer.stop(),f.on.call(`cancel`,e,e.__data__,f.index,f.group),delete r[l])}if(tl(function(){n.state===3&&(n.state=4,n.timer.restart(s,n.delay,n.time),s(a))}),n.state=2,n.on.call(`start`,e,e.__data__,n.index,n.group),n.state===2){for(n.state=3,i=Array(d=n.tween.length),l=0,u=-1;l<d;++l)(f=n.tween[l].value.call(e,e.__data__,n.index,n.group))&&(i[++u]=f);i.length=u+1}}function s(t){for(var r=t<n.duration?n.ease.call(null,t/n.duration):(n.timer.restart(c),n.state=5,1),a=-1,o=i.length;++a<o;)i[a].call(e,r);n.state===5&&(n.on.call(`end`,e,e.__data__,n.index,n.group),c())}function c(){for(var i in n.state=6,n.timer.stop(),delete r[t],r)return;delete e.__transition}}function ll(e,t){var n=e.__transition,r,i,a=!0,o;if(n){for(o in t=t==null?null:t+``,n){if((r=n[o]).name!==t){a=!1;continue}i=r.state>2&&r.state<5,r.state=6,r.timer.stop(),r.on.call(i?`interrupt`:`cancel`,e,e.__data__,r.index,r.group),delete n[o]}a&&delete e.__transition}}function ul(e){return this.each(function(){ll(this,e)})}function dl(e,t){var n,r;return function(){var i=ol(this,e),a=i.tween;if(a!==n){r=n=a;for(var o=0,s=r.length;o<s;++o)if(r[o].name===t){r=r.slice(),r.splice(o,1);break}}i.tween=r}}function fl(e,t,n){var r,i;if(typeof n!=`function`)throw Error();return function(){var a=ol(this,e),o=a.tween;if(o!==r){i=(r=o).slice();for(var s={name:t,value:n},c=0,l=i.length;c<l;++c)if(i[c].name===t){i[c]=s;break}c===l&&i.push(s)}a.tween=i}}function pl(e,t){var n=this._id;if(e+=``,arguments.length<2){for(var r=sl(this.node(),n).tween,i=0,a=r.length,o;i<a;++i)if((o=r[i]).name===e)return o.value;return null}return this.each((t==null?dl:fl)(n,e,t))}function ml(e,t,n){var r=e._id;return e.each(function(){var e=ol(this,r);(e.value||={})[t]=n.apply(this,arguments)}),function(e){return sl(e,r).value[t]}}function hl(e,t){var n;return(typeof t==`number`?_c:t instanceof Hs?fc:(n=Hs(t))?(t=n,fc):Cc)(e,t)}function gl(e){return function(){this.removeAttribute(e)}}function _l(e){return function(){this.removeAttributeNS(e.space,e.local)}}function vl(e,t,n){var r,i=n+``,a;return function(){var o=this.getAttribute(e);return o===i?null:o===r?a:a=t(r=o,n)}}function yl(e,t,n){var r,i=n+``,a;return function(){var o=this.getAttributeNS(e.space,e.local);return o===i?null:o===r?a:a=t(r=o,n)}}function bl(e,t,n){var r,i,a;return function(){var o,s=n(this),c;return s==null?void this.removeAttribute(e):(o=this.getAttribute(e),c=s+``,o===c?null:o===r&&c===i?a:(i=c,a=t(r=o,s)))}}function xl(e,t,n){var r,i,a;return function(){var o,s=n(this),c;return s==null?void this.removeAttributeNS(e.space,e.local):(o=this.getAttributeNS(e.space,e.local),c=s+``,o===c?null:o===r&&c===i?a:(i=c,a=t(r=o,s)))}}function Sl(e,t){var n=Sa(e),r=n===`transform`?Pc:hl;return this.attrTween(e,typeof t==`function`?(n.local?xl:bl)(n,r,ml(this,`attr.`+e,t)):t==null?(n.local?_l:gl)(n):(n.local?yl:vl)(n,r,t))}function Cl(e,t){return function(n){this.setAttribute(e,t.call(this,n))}}function wl(e,t){return function(n){this.setAttributeNS(e.space,e.local,t.call(this,n))}}function Tl(e,t){var n,r;function i(){var i=t.apply(this,arguments);return i!==r&&(n=(r=i)&&wl(e,i)),n}return i._value=t,i}function El(e,t){var n,r;function i(){var i=t.apply(this,arguments);return i!==r&&(n=(r=i)&&Cl(e,i)),n}return i._value=t,i}function Dl(e,t){var n=`attr.`+e;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(t==null)return this.tween(n,null);if(typeof t!=`function`)throw Error();var r=Sa(e);return this.tween(n,(r.local?Tl:El)(r,t))}function Ol(e,t){return function(){al(this,e).delay=+t.apply(this,arguments)}}function kl(e,t){return t=+t,function(){al(this,e).delay=t}}function Al(e){var t=this._id;return arguments.length?this.each((typeof e==`function`?Ol:kl)(t,e)):sl(this.node(),t).delay}function jl(e,t){return function(){ol(this,e).duration=+t.apply(this,arguments)}}function Ml(e,t){return t=+t,function(){ol(this,e).duration=t}}function Nl(e){var t=this._id;return arguments.length?this.each((typeof e==`function`?jl:Ml)(t,e)):sl(this.node(),t).duration}function Pl(e,t){if(typeof t!=`function`)throw Error();return function(){ol(this,e).ease=t}}function Fl(e){var t=this._id;return arguments.length?this.each(Pl(t,e)):sl(this.node(),t).ease}function Il(e,t){return function(){var n=t.apply(this,arguments);if(typeof n!=`function`)throw Error();ol(this,e).ease=n}}function Ll(e){if(typeof e!=`function`)throw Error();return this.each(Il(this._id,e))}function Rl(e){typeof e!=`function`&&(e=Pa(e));for(var t=this._groups,n=t.length,r=Array(n),i=0;i<n;++i)for(var a=t[i],o=a.length,s=r[i]=[],c,l=0;l<o;++l)(c=a[l])&&e.call(c,c.__data__,l,a)&&s.push(c);return new pu(r,this._parents,this._name,this._id)}function zl(e){if(e._id!==this._id)throw Error();for(var t=this._groups,n=e._groups,r=t.length,i=n.length,a=Math.min(r,i),o=Array(r),s=0;s<a;++s)for(var c=t[s],l=n[s],u=c.length,d=o[s]=Array(u),f,p=0;p<u;++p)(f=c[p]||l[p])&&(d[p]=f);for(;s<r;++s)o[s]=t[s];return new pu(o,this._parents,this._name,this._id)}function Bl(e){return(e+``).trim().split(/^|\s+/).every(function(e){var t=e.indexOf(`.`);return t>=0&&(e=e.slice(0,t)),!e||e===`start`})}function Vl(e,t,n){var r,i,a=Bl(t)?al:ol;return function(){var o=a(this,e),s=o.on;s!==r&&(i=(r=s).copy()).on(t,n),o.on=i}}function Hl(e,t){var n=this._id;return arguments.length<2?sl(this.node(),n).on.on(e):this.each(Vl(n,e,t))}function Ul(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function Wl(){return this.on(`end.remove`,Ul(this._id))}function Gl(e){var t=this._name,n=this._id;typeof e!=`function`&&(e=Da(e));for(var r=this._groups,i=r.length,a=Array(i),o=0;o<i;++o)for(var s=r[o],c=s.length,l=a[o]=Array(c),u,d,f=0;f<c;++f)(u=s[f])&&(d=e.call(u,u.__data__,f,s))&&(`__data__`in u&&(d.__data__=u.__data__),l[f]=d,il(l[f],t,n,f,l,sl(u,n)));return new pu(a,this._parents,t,n)}function Kl(e){var t=this._name,n=this._id;typeof e!=`function`&&(e=ja(e));for(var r=this._groups,i=r.length,a=[],o=[],s=0;s<i;++s)for(var c=r[s],l=c.length,u,d=0;d<l;++d)if(u=c[d]){for(var f=e.call(u,u.__data__,d,c),p,m=sl(u,n),h=0,g=f.length;h<g;++h)(p=f[h])&&il(p,t,n,h,f,m);a.push(f),o.push(u)}return new pu(a,o,t,n)}var ql=vs.prototype.constructor;function Jl(){return new ql(this._groups,this._parents)}function Yl(e,t){var n,r,i;return function(){var a=To(this,e),o=(this.style.removeProperty(e),To(this,e));return a===o?null:a===n&&o===r?i:i=t(n=a,r=o)}}function Xl(e){return function(){this.style.removeProperty(e)}}function Zl(e,t,n){var r,i=n+``,a;return function(){var o=To(this,e);return o===i?null:o===r?a:a=t(r=o,n)}}function Ql(e,t,n){var r,i,a;return function(){var o=To(this,e),s=n(this),c=s+``;return s??(c=s=(this.style.removeProperty(e),To(this,e))),o===c?null:o===r&&c===i?a:(i=c,a=t(r=o,s))}}function $l(e,t){var n,r,i,a=`style.`+t,o=`end.`+a,s;return function(){var c=ol(this,e),l=c.on,u=c.value[a]==null?s||=Xl(t):void 0;(l!==n||i!==u)&&(r=(n=l).copy()).on(o,i=u),c.on=r}}function eu(e,t,n){var r=(e+=``)==`transform`?Nc:hl;return t==null?this.styleTween(e,Yl(e,r)).on(`end.style.`+e,Xl(e)):typeof t==`function`?this.styleTween(e,Ql(e,r,ml(this,`style.`+e,t))).each($l(this._id,e)):this.styleTween(e,Zl(e,r,t),n).on(`end.style.`+e,null)}function tu(e,t,n){return function(r){this.style.setProperty(e,t.call(this,r),n)}}function nu(e,t,n){var r,i;function a(){var a=t.apply(this,arguments);return a!==i&&(r=(i=a)&&tu(e,a,n)),r}return a._value=t,a}function ru(e,t,n){var r=`style.`+(e+=``);if(arguments.length<2)return(r=this.tween(r))&&r._value;if(t==null)return this.tween(r,null);if(typeof t!=`function`)throw Error();return this.tween(r,nu(e,t,n??``))}function iu(e){return function(){this.textContent=e}}function au(e){return function(){var t=e(this);this.textContent=t??``}}function ou(e){return this.tween(`text`,typeof e==`function`?au(ml(this,`text`,e)):iu(e==null?``:e+``))}function su(e){return function(t){this.textContent=e.call(this,t)}}function cu(e){var t,n;function r(){var r=e.apply(this,arguments);return r!==n&&(t=(n=r)&&su(r)),t}return r._value=e,r}function lu(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 Error();return this.tween(t,cu(e))}function uu(){for(var e=this._name,t=this._id,n=hu(),r=this._groups,i=r.length,a=0;a<i;++a)for(var o=r[a],s=o.length,c,l=0;l<s;++l)if(c=o[l]){var u=sl(c,t);il(c,e,n,l,o,{time:u.time+u.delay+u.duration,delay:0,duration:u.duration,ease:u.ease})}return new pu(r,this._parents,e,n)}function du(){var e,t,n=this,r=n._id,i=n.size();return new Promise(function(a,o){var s={value:o},c={value:function(){--i===0&&a()}};n.each(function(){var n=ol(this,r),i=n.on;i!==e&&(t=(e=i).copy(),t._.cancel.push(s),t._.interrupt.push(s),t._.end.push(c)),n.on=t}),i===0&&a()})}var fu=0;function pu(e,t,n,r){this._groups=e,this._parents=t,this._name=n,this._id=r}function mu(e){return vs().transition(e)}function hu(){return++fu}var gu=vs.prototype;pu.prototype=mu.prototype={constructor:pu,select:Gl,selectAll:Kl,selectChild:gu.selectChild,selectChildren:gu.selectChildren,filter:Rl,merge:zl,selection:Jl,transition:uu,call:gu.call,nodes:gu.nodes,node:gu.node,size:gu.size,empty:gu.empty,each:gu.each,on:Hl,attr:Sl,attrTween:Dl,style:eu,styleTween:ru,text:ou,textTween:lu,remove:Wl,tween:pl,delay:Al,duration:Nl,ease:Fl,easeVarying:Ll,end:du,[Symbol.iterator]:gu[Symbol.iterator]};function _u(e){return--e*e*e+1}function vu(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var yu={time:null,delay:0,duration:250,ease:vu};function bu(e,t){for(var n;!(n=e.__transition)||!(n=n[t]);)if(!(e=e.parentNode))throw Error(`transition ${t} not found`);return n}function xu(e){var t,n;e instanceof pu?(t=e._id,e=e._name):(t=hu(),(n=yu).time=Kc(),e=e==null?null:e+``);for(var r=this._groups,i=r.length,a=0;a<i;++a)for(var o=r[a],s=o.length,c,l=0;l<s;++l)(c=o[l])&&il(c,e,t,l,o,n||bu(c,t));return new pu(r,this._parents,e,t)}vs.prototype.interrupt=ul,vs.prototype.transition=xu;var{abs:Su,max:Cu,min:wu}=Math;[`w`,`e`].map(Tu),[`n`,`s`].map(Tu),[`n`,`w`,`e`,`s`,`nw`,`ne`,`sw`,`se`].map(Tu);function Tu(e){return{type:e}}var Eu=Math.PI,Du=2*Eu,Ou=1e-6,ku=Du-Ou;function Au(e){this._+=e[0];for(let t=1,n=e.length;t<n;++t)this._+=arguments[t]+e[t]}function ju(e){let t=Math.floor(e);if(!(t>=0))throw Error(`invalid digits: ${e}`);if(t>15)return Au;let n=10**t;return function(e){this._+=e[0];for(let t=1,r=e.length;t<r;++t)this._+=Math.round(arguments[t]*n)/n+e[t]}}var Mu=class{constructor(e){this._x0=this._y0=this._x1=this._y1=null,this._=``,this._append=e==null?Au:ju(e)}moveTo(e,t){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+t}`}closePath(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._append`Z`)}lineTo(e,t){this._append`L${this._x1=+e},${this._y1=+t}`}quadraticCurveTo(e,t,n,r){this._append`Q${+e},${+t},${this._x1=+n},${this._y1=+r}`}bezierCurveTo(e,t,n,r,i,a){this._append`C${+e},${+t},${+n},${+r},${this._x1=+i},${this._y1=+a}`}arcTo(e,t,n,r,i){if(e=+e,t=+t,n=+n,r=+r,i=+i,i<0)throw Error(`negative radius: ${i}`);let a=this._x1,o=this._y1,s=n-e,c=r-t,l=a-e,u=o-t,d=l*l+u*u;if(this._x1===null)this._append`M${this._x1=e},${this._y1=t}`;else if(d>Ou){if(!(Math.abs(u*s-c*l)>Ou)||!i)this._append`L${this._x1=e},${this._y1=t}`;else{let f=n-a,p=r-o,m=s*s+c*c,h=f*f+p*p,g=Math.sqrt(m),_=Math.sqrt(d),v=i*Math.tan((Eu-Math.acos((m+d-h)/(2*g*_)))/2),y=v/_,b=v/g;Math.abs(y-1)>Ou&&this._append`L${e+y*l},${t+y*u}`,this._append`A${i},${i},0,0,${+(u*f>l*p)},${this._x1=e+b*s},${this._y1=t+b*c}`}}}arc(e,t,n,r,i,a){if(e=+e,t=+t,n=+n,a=!!a,n<0)throw Error(`negative radius: ${n}`);let o=n*Math.cos(r),s=n*Math.sin(r),c=e+o,l=t+s,u=1^a,d=a?r-i:i-r;this._x1===null?this._append`M${c},${l}`:(Math.abs(this._x1-c)>Ou||Math.abs(this._y1-l)>Ou)&&this._append`L${c},${l}`,n&&(d<0&&(d=d%Du+Du),d>ku?this._append`A${n},${n},0,1,${u},${e-o},${t-s}A${n},${n},0,1,${u},${this._x1=c},${this._y1=l}`:d>Ou&&this._append`A${n},${n},0,${+(d>=Eu)},${u},${this._x1=e+n*Math.cos(i)},${this._y1=t+n*Math.sin(i)}`)}rect(e,t,n,r){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+t}h${n=+n}v${+r}h${-n}Z`}toString(){return this._}};Mu.prototype;function Nu(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString(`en`).replace(/,/g,``):e.toString(10)}function Pu(e,t){if(!isFinite(e)||e===0)return null;var n=(e=t?e.toExponential(t-1):e.toExponential()).indexOf(`e`),r=e.slice(0,n);return[r.length>1?r[0]+r.slice(2):r,+e.slice(n+1)]}function Fu(e){return e=Pu(Math.abs(e)),e?e[1]:NaN}function Iu(e,t){return function(n,r){for(var i=n.length,a=[],o=0,s=e[0],c=0;i>0&&s>0&&(c+s+1>r&&(s=Math.max(1,r-c)),a.push(n.substring(i-=s,i+s)),!((c+=s+1)>r));)s=e[o=(o+1)%e.length];return a.reverse().join(t)}}function Lu(e){return function(t){return t.replace(/[0-9]/g,function(t){return e[+t]})}}var Ru=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function zu(e){if(!(t=Ru.exec(e)))throw Error(`invalid format: `+e);var t;return new Bu({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]})}zu.prototype=Bu.prototype;function Bu(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+``}Bu.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 Vu(e){out:for(var t=e.length,n=1,r=-1,i;n<t;++n)switch(e[n]){case`.`:r=i=n;break;case`0`:r===0&&(r=n),i=n;break;default:if(!+e[n])break out;r>0&&(r=0)}return r>0?e.slice(0,r)+e.slice(i+1):e}var Hu;function Uu(e,t){var n=Pu(e,t);if(!n)return Hu=void 0,e.toPrecision(t);var r=n[0],i=n[1],a=i-(Hu=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,o=r.length;return a===o?r:a>o?r+Array(a-o+1).join(`0`):a>0?r.slice(0,a)+`.`+r.slice(a):`0.`+Array(1-a).join(`0`)+Pu(e,Math.max(0,t+a-1))[0]}function Wu(e,t){var n=Pu(e,t);if(!n)return e+``;var r=n[0],i=n[1];return i<0?`0.`+Array(-i).join(`0`)+r:r.length>i+1?r.slice(0,i+1)+`.`+r.slice(i+1):r+Array(i-r.length+2).join(`0`)}var Gu={"%":(e,t)=>(e*100).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+``,d:Nu,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)=>Wu(e*100,t),r:Wu,s:Uu,X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function Ku(e){return e}var qu=Array.prototype.map,Ju=[`y`,`z`,`a`,`f`,`p`,`n`,`µ`,`m`,``,`k`,`M`,`G`,`T`,`P`,`E`,`Z`,`Y`];function Yu(e){var t=e.grouping===void 0||e.thousands===void 0?Ku:Iu(qu.call(e.grouping,Number),e.thousands+``),n=e.currency===void 0?``:e.currency[0]+``,r=e.currency===void 0?``:e.currency[1]+``,i=e.decimal===void 0?`.`:e.decimal+``,a=e.numerals===void 0?Ku:Lu(qu.call(e.numerals,String)),o=e.percent===void 0?`%`:e.percent+``,s=e.minus===void 0?`−`:e.minus+``,c=e.nan===void 0?`NaN`:e.nan+``;function l(e,l){e=zu(e);var u=e.fill,d=e.align,f=e.sign,p=e.symbol,m=e.zero,h=e.width,g=e.comma,_=e.precision,v=e.trim,y=e.type;y===`n`?(g=!0,y=`g`):Gu[y]||(_===void 0&&(_=12),v=!0,y=`g`),(m||u===`0`&&d===`=`)&&(m=!0,u=`0`,d=`=`);var b=(l&&l.prefix!==void 0?l.prefix:``)+(p===`$`?n:p===`#`&&/[boxX]/.test(y)?`0`+y.toLowerCase():``),x=(p===`$`?r:/[%p]/.test(y)?o:``)+(l&&l.suffix!==void 0?l.suffix:``),S=Gu[y],C=/[defgprs%]/.test(y);_=_===void 0?6:/[gprs]/.test(y)?Math.max(1,Math.min(21,_)):Math.max(0,Math.min(20,_));function w(e){var n=b,r=x,o,l,p;if(y===`c`)r=S(e)+r,e=``;else{e=+e;var w=e<0||1/e<0;if(e=isNaN(e)?c:S(Math.abs(e),_),v&&(e=Vu(e)),w&&+e==0&&f!==`+`&&(w=!1),n=(w?f===`(`?f:s:f===`-`||f===`(`?``:f)+n,r=(y===`s`&&!isNaN(e)&&Hu!==void 0?Ju[8+Hu/3]:``)+r+(w&&f===`(`?`)`:``),C){for(o=-1,l=e.length;++o<l;)if(p=e.charCodeAt(o),48>p||p>57){r=(p===46?i+e.slice(o+1):e.slice(o))+r,e=e.slice(0,o);break}}}g&&!m&&(e=t(e,1/0));var T=n.length+e.length+r.length,E=T<h?Array(h-T+1).join(u):``;switch(g&&m&&(e=t(E+e,E.length?h-r.length:1/0),E=``),d){case`<`:e=n+e+r+E;break;case`=`:e=n+E+e+r;break;case`^`:e=E.slice(0,T=E.length>>1)+n+e+r+E.slice(T);break;default:e=E+n+e+r}return a(e)}return w.toString=function(){return e+``},w}function u(e,t){var n=Math.max(-8,Math.min(8,Math.floor(Fu(t)/3)))*3,r=10**-n,i=l((e=zu(e),e.type=`f`,e),{suffix:Ju[8+n/3]});return function(e){return i(r*e)}}return{format:l,formatPrefix:u}}var Xu,Zu,Qu;$u({thousands:`,`,grouping:[3],currency:[`$`,``]});function $u(e){return Xu=Yu(e),Zu=Xu.format,Qu=Xu.formatPrefix,Xu}function ed(e){return Math.max(0,-Fu(Math.abs(e)))}function td(e,t){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(Fu(t)/3)))*3-Fu(Math.abs(e)))}function nd(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,Fu(t)-Fu(e))+1}function rd(e,t){switch(arguments.length){case 0:break;case 1:this.range(e);break;default:this.range(t).domain(e)}return this}var id=Symbol(`implicit`);function ad(){var e=new Pi,t=[],n=[],r=id;function i(i){let a=e.get(i);if(a===void 0){if(r!==id)return r;e.set(i,a=t.push(i)-1)}return n[a%n.length]}return i.domain=function(n){if(!arguments.length)return t.slice();t=[],e=new Pi;for(let r of n)e.has(r)||e.set(r,t.push(r)-1);return i},i.range=function(e){return arguments.length?(n=Array.from(e),i):n.slice()},i.unknown=function(e){return arguments.length?(r=e,i):r},i.copy=function(){return ad(t,n).unknown(r)},rd.apply(i,arguments),i}function od(){var e=ad().unknown(void 0),t=e.domain,n=e.range,r=0,i=1,a,o,s=!1,c=0,l=0,u=.5;delete e.unknown;function d(){var e=t().length,d=i<r,f=d?i:r,p=d?r:i;a=(p-f)/Math.max(1,e-c+l*2),s&&(a=Math.floor(a)),f+=(p-f-a*(e-c))*u,o=a*(1-c),s&&(f=Math.round(f),o=Math.round(o));var m=Zi(e).map(function(e){return f+a*e});return n(d?m.reverse():m)}return e.domain=function(e){return arguments.length?(t(e),d()):t()},e.range=function(e){return arguments.length?([r,i]=e,r=+r,i=+i,d()):[r,i]},e.rangeRound=function(e){return[r,i]=e,r=+r,i=+i,s=!0,d()},e.bandwidth=function(){return o},e.step=function(){return a},e.round=function(e){return arguments.length?(s=!!e,d()):s},e.padding=function(e){return arguments.length?(c=Math.min(1,l=+e),d()):c},e.paddingInner=function(e){return arguments.length?(c=Math.min(1,e),d()):c},e.paddingOuter=function(e){return arguments.length?(l=+e,d()):l},e.align=function(e){return arguments.length?(u=Math.max(0,Math.min(1,e)),d()):u},e.copy=function(){return od(t(),[r,i]).round(s).paddingInner(c).paddingOuter(l).align(u)},rd.apply(d(),arguments)}function sd(e){var t=e.copy;return e.padding=e.paddingOuter,delete e.paddingInner,delete e.paddingOuter,e.copy=function(){return sd(t())},e}function cd(){return sd(od.apply(null,arguments).paddingInner(1))}function ld(e){return function(){return e}}function ud(e){return+e}var dd=[0,1];function fd(e){return e}function pd(e,t){return(t-=e=+e)?function(n){return(n-e)/t}:ld(isNaN(t)?NaN:.5)}function md(e,t){var n;return e>t&&(n=e,e=t,t=n),function(n){return Math.max(e,Math.min(t,n))}}function hd(e,t,n){var r=e[0],i=e[1],a=t[0],o=t[1];return i<r?(r=pd(i,r),a=n(o,a)):(r=pd(r,i),a=n(a,o)),function(e){return a(r(e))}}function gd(e,t,n){var r=Math.min(e.length,t.length)-1,i=Array(r),a=Array(r),o=-1;for(e[r]<e[0]&&(e=e.slice().reverse(),t=t.slice().reverse());++o<r;)i[o]=pd(e[o],e[o+1]),a[o]=n(t[o],t[o+1]);return function(t){var n=Mi(e,t,1,r)-1;return a[n](i[n](t))}}function _d(e,t){return t.domain(e.domain()).range(e.range()).interpolate(e.interpolate()).clamp(e.clamp()).unknown(e.unknown())}function vd(){var e=dd,t=dd,n=wc,r,i,a,o=fd,s,c,l;function u(){var n=Math.min(e.length,t.length);return o!==fd&&(o=md(e[0],e[n-1])),s=n>2?gd:hd,c=l=null,d}function d(i){return i==null||isNaN(i=+i)?a:(c||=s(e.map(r),t,n))(r(o(i)))}return d.invert=function(n){return o(i((l||=s(t,e.map(r),_c))(n)))},d.domain=function(t){return arguments.length?(e=Array.from(t,ud),u()):e.slice()},d.range=function(e){return arguments.length?(t=Array.from(e),u()):t.slice()},d.rangeRound=function(e){return t=Array.from(e),n=Tc,u()},d.clamp=function(e){return arguments.length?(o=e?!0:fd,u()):o!==fd},d.interpolate=function(e){return arguments.length?(n=e,u()):n},d.unknown=function(e){return arguments.length?(a=e,d):a},function(e,t){return r=e,i=t,u()}}function yd(){return vd()(fd,fd)}function bd(e,t,n,r){var i=Ji(e,t,n),a;switch(r=zu(r??`,f`),r.type){case`s`:var o=Math.max(Math.abs(e),Math.abs(t));return r.precision==null&&!isNaN(a=td(i,o))&&(r.precision=a),Qu(r,o);case``:case`e`:case`g`:case`p`:case`r`:r.precision==null&&!isNaN(a=nd(i,Math.max(Math.abs(e),Math.abs(t))))&&(r.precision=a-(r.type===`e`));break;case`f`:case`%`:r.precision==null&&!isNaN(a=ed(i))&&(r.precision=a-(r.type===`%`)*2)}return Zu(r)}function xd(e){var t=e.domain;return e.ticks=function(e){var n=t();return Ki(n[0],n[n.length-1],e??10)},e.tickFormat=function(e,n){var r=t();return bd(r[0],r[r.length-1],e??10,n)},e.nice=function(n){n??=10;var r=t(),i=0,a=r.length-1,o=r[i],s=r[a],c,l,u=10;for(s<o&&(l=o,o=s,s=l,l=i,i=a,a=l);u-->0;){if(l=qi(o,s,n),l===c)return r[i]=o,r[a]=s,t(r);if(l>0)o=Math.floor(o/l)*l,s=Math.ceil(s/l)*l;else if(l<0)o=Math.ceil(o*l)/l,s=Math.floor(s*l)/l;else break;c=l}return e},e}function Sd(){var e=yd();return e.copy=function(){return _d(e,Sd())},rd.apply(e,arguments),xd(e)}function Cd(e){return function(t){return Math.sign(t)*Math.log1p(Math.abs(t/e))}}function wd(e){return function(t){return Math.sign(t)*Math.expm1(Math.abs(t))*e}}function Td(e){var t=1,n=e(Cd(t),wd(t));return n.constant=function(n){return arguments.length?e(Cd(t=+n),wd(t)):t},xd(n)}function Ed(){var e=Td(vd());return e.copy=function(){return _d(e,Ed()).constant(e.constant())},rd.apply(e,arguments)}var Dd=new Date,Od=new Date;function kd(e,t,n,r){function i(t){return e(t=arguments.length===0?new Date:new Date(+t)),t}return i.floor=t=>(e(t=new Date(+t)),t),i.ceil=n=>(e(n=new Date(n-1)),t(n,1),e(n),n),i.round=e=>{let t=i(e),n=i.ceil(e);return e-t<n-e?t:n},i.offset=(e,n)=>(t(e=new Date(+e),n==null?1:Math.floor(n)),e),i.range=(n,r,a)=>{let o=[];if(n=i.ceil(n),a=a==null?1:Math.floor(a),!(n<r)||!(a>0))return o;let s;do o.push(s=new Date(+n)),t(n,a),e(n);while(s<n&&n<r);return o},i.filter=n=>kd(t=>{if(t>=t)for(;e(t),!n(t);)t.setTime(t-1)},(e,r)=>{if(e>=e){if(r<0)for(;++r<=0;)for(;t(e,-1),!n(e););else for(;--r>=0;)for(;t(e,1),!n(e););}}),n&&(i.count=(t,r)=>(Dd.setTime(+t),Od.setTime(+r),e(Dd),e(Od),Math.floor(n(Dd,Od))),i.every=e=>(e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?i.filter(r?t=>r(t)%e===0:t=>i.count(0,t)%e===0):i)),i}var Ad=6e4,jd=Ad*60*24,Md=jd*7;jd*30,jd*365;var Nd=kd(e=>e.setHours(0,0,0,0),(e,t)=>e.setDate(e.getDate()+t),(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*Ad)/jd,e=>e.getDate()-1);Nd.range;var Pd=kd(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/jd,e=>e.getUTCDate()-1);Pd.range,kd(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/jd,e=>Math.floor(e/jd)).range;function Fd(e){return kd(t=>{t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)},(e,t)=>{e.setDate(e.getDate()+t*7)},(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*Ad)/Md)}var Id=Fd(0),Ld=Fd(1),Rd=Fd(2),zd=Fd(3),Bd=Fd(4),Vd=Fd(5),Hd=Fd(6);Id.range,Ld.range,Rd.range,zd.range,Bd.range,Vd.range,Hd.range;function Ud(e){return kd(t=>{t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t*7)},(e,t)=>(t-e)/Md)}var Wd=Ud(0),Gd=Ud(1),Kd=Ud(2),qd=Ud(3),Jd=Ud(4),Yd=Ud(5),Xd=Ud(6);Wd.range,Gd.range,Kd.range,qd.range,Jd.range,Yd.range,Xd.range;var Zd=kd(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());Zd.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:kd(t=>{t.setFullYear(Math.floor(t.getFullYear()/e)*e),t.setMonth(0,1),t.setHours(0,0,0,0)},(t,n)=>{t.setFullYear(t.getFullYear()+n*e)}),Zd.range;var Qd=kd(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());Qd.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:kd(t=>{t.setUTCFullYear(Math.floor(t.getUTCFullYear()/e)*e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,n)=>{t.setUTCFullYear(t.getUTCFullYear()+n*e)}),Qd.range;function $d(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 ef(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 tf(e,t,n){return{y:e,m:t,d:n,H:0,M:0,S:0,L:0}}function nf(e){var t=e.dateTime,n=e.date,r=e.time,i=e.periods,a=e.days,o=e.shortDays,s=e.months,c=e.shortMonths,l=uf(i),u=df(i),d=uf(a),f=df(a),p=uf(o),m=df(o),h=uf(s),g=df(s),_=uf(c),v=df(c),y={a:M,A:N,b:P,B:F,c:null,d:Mf,e:Mf,f:Lf,g:Jf,G:Xf,H:Nf,I:Pf,j:Ff,L:If,m:Rf,M:zf,p:I,q:L,Q:yp,s:bp,S:Bf,u:Vf,U:Hf,V:Wf,w:Gf,W:Kf,x:null,X:null,y:qf,Y:Yf,Z:Zf,"%":vp},b={a:R,A:z,b:B,B:V,c:null,d:Qf,e:Qf,f:rp,g:mp,G:gp,H:$f,I:ep,j:tp,L:np,m:ip,M:ap,p:te,q:ne,Q:yp,s:bp,S:op,u:sp,U:cp,V:up,w:dp,W:fp,x:null,X:null,y:pp,Y:hp,Z:_p,"%":vp},x={a:E,A:D,b:O,B:k,c:ee,d:Sf,e:Sf,f:Of,g:vf,G:_f,H:wf,I:wf,j:Cf,L:Df,m:xf,M:Tf,p:T,q:bf,Q:Af,s:jf,S:Ef,u:pf,U:mf,V:hf,w:ff,W:gf,x:A,X:j,y:vf,Y:_f,Z:yf,"%":kf};y.x=S(n,y),y.X=S(r,y),y.c=S(t,y),b.x=S(n,b),b.X=S(r,b),b.c=S(t,b);function S(e,t){return function(n){var r=[],i=-1,a=0,o=e.length,s,c,l;for(n instanceof Date||(n=new Date(+n));++i<o;)e.charCodeAt(i)===37&&(r.push(e.slice(a,i)),(c=rf[s=e.charAt(++i)])==null?c=s===`e`?` `:`0`:s=e.charAt(++i),(l=t[s])&&(s=l(n,c)),r.push(s),a=i+1);return r.push(e.slice(a,i)),r.join(``)}}function C(e,t){return function(n){var r=tf(1900,void 0,1),i=w(r,e,n+=``,0),a,o;if(i!=n.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(t&&!(`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?(a=ef(tf(r.y,0,1)),o=a.getUTCDay(),a=o>4||o===0?Gd.ceil(a):Gd(a),a=Pd.offset(a,(r.V-1)*7),r.y=a.getUTCFullYear(),r.m=a.getUTCMonth(),r.d=a.getUTCDate()+(r.w+6)%7):(a=$d(tf(r.y,0,1)),o=a.getDay(),a=o>4||o===0?Ld.ceil(a):Ld(a),a=Nd.offset(a,(r.V-1)*7),r.y=a.getFullYear(),r.m=a.getMonth(),r.d=a.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)),o=`Z`in r?ef(tf(r.y,0,1)).getUTCDay():$d(tf(r.y,0,1)).getDay(),r.m=0,r.d=`W`in r?(r.w+6)%7+r.W*7-(o+5)%7:r.w+r.U*7-(o+6)%7);return`Z`in r?(r.H+=r.Z/100|0,r.M+=r.Z%100,ef(r)):$d(r)}}function w(e,t,n,r){for(var i=0,a=t.length,o=n.length,s,c;i<a;){if(r>=o)return-1;if(s=t.charCodeAt(i++),s===37){if(s=t.charAt(i++),c=x[s in rf?t.charAt(i++):s],!c||(r=c(e,n,r))<0)return-1}else if(s!=n.charCodeAt(r++))return-1}return r}function T(e,t,n){var r=l.exec(t.slice(n));return r?(e.p=u.get(r[0].toLowerCase()),n+r[0].length):-1}function E(e,t,n){var r=p.exec(t.slice(n));return r?(e.w=m.get(r[0].toLowerCase()),n+r[0].length):-1}function D(e,t,n){var r=d.exec(t.slice(n));return r?(e.w=f.get(r[0].toLowerCase()),n+r[0].length):-1}function O(e,t,n){var r=_.exec(t.slice(n));return r?(e.m=v.get(r[0].toLowerCase()),n+r[0].length):-1}function k(e,t,n){var r=h.exec(t.slice(n));return r?(e.m=g.get(r[0].toLowerCase()),n+r[0].length):-1}function ee(e,n,r){return w(e,t,n,r)}function A(e,t,r){return w(e,n,t,r)}function j(e,t,n){return w(e,r,t,n)}function M(e){return o[e.getDay()]}function N(e){return a[e.getDay()]}function P(e){return c[e.getMonth()]}function F(e){return s[e.getMonth()]}function I(e){return i[+(e.getHours()>=12)]}function L(e){return 1+~~(e.getMonth()/3)}function R(e){return o[e.getUTCDay()]}function z(e){return a[e.getUTCDay()]}function B(e){return c[e.getUTCMonth()]}function V(e){return s[e.getUTCMonth()]}function te(e){return i[+(e.getUTCHours()>=12)]}function ne(e){return 1+~~(e.getUTCMonth()/3)}return{format:function(e){var t=S(e+=``,y);return t.toString=function(){return e},t},parse:function(e){var t=C(e+=``,!1);return t.toString=function(){return e},t},utcFormat:function(e){var t=S(e+=``,b);return t.toString=function(){return e},t},utcParse:function(e){var t=C(e+=``,!0);return t.toString=function(){return e},t}}}var rf={"-":``,_:` `,0:`0`},af=/^\s*\d+/,of=/^%/,sf=/[\\^$*+?|[\]().{}]/g;function cf(e,t,n){var r=e<0?`-`:``,i=(r?-e:e)+``,a=i.length;return r+(a<n?Array(n-a+1).join(t)+i:i)}function lf(e){return e.replace(sf,`\\$&`)}function uf(e){return RegExp(`^(?:`+e.map(lf).join(`|`)+`)`,`i`)}function df(e){return new Map(e.map((e,t)=>[e.toLowerCase(),t]))}function ff(e,t,n){var r=af.exec(t.slice(n,n+1));return r?(e.w=+r[0],n+r[0].length):-1}function pf(e,t,n){var r=af.exec(t.slice(n,n+1));return r?(e.u=+r[0],n+r[0].length):-1}function mf(e,t,n){var r=af.exec(t.slice(n,n+2));return r?(e.U=+r[0],n+r[0].length):-1}function hf(e,t,n){var r=af.exec(t.slice(n,n+2));return r?(e.V=+r[0],n+r[0].length):-1}function gf(e,t,n){var r=af.exec(t.slice(n,n+2));return r?(e.W=+r[0],n+r[0].length):-1}function _f(e,t,n){var r=af.exec(t.slice(n,n+4));return r?(e.y=+r[0],n+r[0].length):-1}function vf(e,t,n){var r=af.exec(t.slice(n,n+2));return r?(e.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function yf(e,t,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(t.slice(n,n+6));return r?(e.Z=r[1]?0:-(r[2]+(r[3]||`00`)),n+r[0].length):-1}function bf(e,t,n){var r=af.exec(t.slice(n,n+1));return r?(e.q=r[0]*3-3,n+r[0].length):-1}function xf(e,t,n){var r=af.exec(t.slice(n,n+2));return r?(e.m=r[0]-1,n+r[0].length):-1}function Sf(e,t,n){var r=af.exec(t.slice(n,n+2));return r?(e.d=+r[0],n+r[0].length):-1}function Cf(e,t,n){var r=af.exec(t.slice(n,n+3));return r?(e.m=0,e.d=+r[0],n+r[0].length):-1}function wf(e,t,n){var r=af.exec(t.slice(n,n+2));return r?(e.H=+r[0],n+r[0].length):-1}function Tf(e,t,n){var r=af.exec(t.slice(n,n+2));return r?(e.M=+r[0],n+r[0].length):-1}function Ef(e,t,n){var r=af.exec(t.slice(n,n+2));return r?(e.S=+r[0],n+r[0].length):-1}function Df(e,t,n){var r=af.exec(t.slice(n,n+3));return r?(e.L=+r[0],n+r[0].length):-1}function Of(e,t,n){var r=af.exec(t.slice(n,n+6));return r?(e.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function kf(e,t,n){var r=of.exec(t.slice(n,n+1));return r?n+r[0].length:-1}function Af(e,t,n){var r=af.exec(t.slice(n));return r?(e.Q=+r[0],n+r[0].length):-1}function jf(e,t,n){var r=af.exec(t.slice(n));return r?(e.s=+r[0],n+r[0].length):-1}function Mf(e,t){return cf(e.getDate(),t,2)}function Nf(e,t){return cf(e.getHours(),t,2)}function Pf(e,t){return cf(e.getHours()%12||12,t,2)}function Ff(e,t){return cf(1+Nd.count(Zd(e),e),t,3)}function If(e,t){return cf(e.getMilliseconds(),t,3)}function Lf(e,t){return If(e,t)+`000`}function Rf(e,t){return cf(e.getMonth()+1,t,2)}function zf(e,t){return cf(e.getMinutes(),t,2)}function Bf(e,t){return cf(e.getSeconds(),t,2)}function Vf(e){var t=e.getDay();return t===0?7:t}function Hf(e,t){return cf(Id.count(Zd(e)-1,e),t,2)}function Uf(e){var t=e.getDay();return t>=4||t===0?Bd(e):Bd.ceil(e)}function Wf(e,t){return e=Uf(e),cf(Bd.count(Zd(e),e)+(Zd(e).getDay()===4),t,2)}function Gf(e){return e.getDay()}function Kf(e,t){return cf(Ld.count(Zd(e)-1,e),t,2)}function qf(e,t){return cf(e.getFullYear()%100,t,2)}function Jf(e,t){return e=Uf(e),cf(e.getFullYear()%100,t,2)}function Yf(e,t){return cf(e.getFullYear()%1e4,t,4)}function Xf(e,t){var n=e.getDay();return e=n>=4||n===0?Bd(e):Bd.ceil(e),cf(e.getFullYear()%1e4,t,4)}function Zf(e){var t=e.getTimezoneOffset();return(t>0?`-`:(t*=-1,`+`))+cf(t/60|0,`0`,2)+cf(t%60,`0`,2)}function Qf(e,t){return cf(e.getUTCDate(),t,2)}function $f(e,t){return cf(e.getUTCHours(),t,2)}function ep(e,t){return cf(e.getUTCHours()%12||12,t,2)}function tp(e,t){return cf(1+Pd.count(Qd(e),e),t,3)}function np(e,t){return cf(e.getUTCMilliseconds(),t,3)}function rp(e,t){return np(e,t)+`000`}function ip(e,t){return cf(e.getUTCMonth()+1,t,2)}function ap(e,t){return cf(e.getUTCMinutes(),t,2)}function op(e,t){return cf(e.getUTCSeconds(),t,2)}function sp(e){var t=e.getUTCDay();return t===0?7:t}function cp(e,t){return cf(Wd.count(Qd(e)-1,e),t,2)}function lp(e){var t=e.getUTCDay();return t>=4||t===0?Jd(e):Jd.ceil(e)}function up(e,t){return e=lp(e),cf(Jd.count(Qd(e),e)+(Qd(e).getUTCDay()===4),t,2)}function dp(e){return e.getUTCDay()}function fp(e,t){return cf(Gd.count(Qd(e)-1,e),t,2)}function pp(e,t){return cf(e.getUTCFullYear()%100,t,2)}function mp(e,t){return e=lp(e),cf(e.getUTCFullYear()%100,t,2)}function hp(e,t){return cf(e.getUTCFullYear()%1e4,t,4)}function gp(e,t){var n=e.getUTCDay();return e=n>=4||n===0?Jd(e):Jd.ceil(e),cf(e.getUTCFullYear()%1e4,t,4)}function _p(){return`+0000`}function vp(){return`%`}function yp(e){return+e}function bp(e){return Math.floor(e/1e3)}var xp,Sp;Cp({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 Cp(e){return xp=nf(e),Sp=xp.format,xp.parse,xp.utcFormat,xp.utcParse,xp}function wp(e){return function(){return e}}var Tp=Math.abs,Ep=Math.atan2,Dp=Math.cos,Op=Math.max,kp=Math.min,Ap=Math.sin,jp=Math.sqrt,Mp=Math.PI,Np=Mp/2,Pp=2*Mp;function Fp(e){return e>1?0:e<-1?Mp:Math.acos(e)}function Ip(e){return e>=1?Np:e<=-1?-Np:Math.asin(e)}function Lp(e){let t=3;return e.digits=function(n){if(!arguments.length)return t;if(n==null)t=null;else{let e=Math.floor(n);if(!(e>=0))throw RangeError(`invalid digits: ${n}`);t=e}return e},()=>new Mu(t)}function Rp(e){return e.innerRadius}function zp(e){return e.outerRadius}function Bp(e){return e.startAngle}function Vp(e){return e.endAngle}function Hp(e){return e&&e.padAngle}function Up(e,t,n,r,i,a,o,s){var c=n-e,l=r-t,u=o-i,d=s-a,f=d*c-u*l;if(!(f*f<1e-12))return f=(u*(t-a)-d*(e-i))/f,[e+f*c,t+f*l]}function Wp(e,t,n,r,i,a,o){var s=e-n,c=t-r,l=(o?a:-a)/jp(s*s+c*c),u=l*c,d=-l*s,f=e+u,p=t+d,m=n+u,h=r+d,g=(f+m)/2,_=(p+h)/2,v=m-f,y=h-p,b=v*v+y*y,x=i-a,S=f*h-m*p,C=(y<0?-1:1)*jp(Op(0,x*x*b-S*S)),w=(S*y-v*C)/b,T=(-S*v-y*C)/b,E=(S*y+v*C)/b,D=(-S*v+y*C)/b,O=w-g,k=T-_,ee=E-g,A=D-_;return O*O+k*k>ee*ee+A*A&&(w=E,T=D),{cx:w,cy:T,x01:-u,y01:-d,x11:w*(i/x-1),y11:T*(i/x-1)}}function Gp(){var e=Rp,t=zp,n=wp(0),r=null,i=Bp,a=Vp,o=Hp,s=null,c=Lp(l);function l(){var l,u,d=+e.apply(this,arguments),f=+t.apply(this,arguments),p=i.apply(this,arguments)-Np,m=a.apply(this,arguments)-Np,h=Tp(m-p),g=m>p;if(s||=l=c(),f<d&&(u=f,f=d,d=u),!(f>1e-12))s.moveTo(0,0);else if(h>Pp-1e-12)s.moveTo(f*Dp(p),f*Ap(p)),s.arc(0,0,f,p,m,!g),d>1e-12&&(s.moveTo(d*Dp(m),d*Ap(m)),s.arc(0,0,d,m,p,g));else{var _=p,v=m,y=p,b=m,x=h,S=h,C=o.apply(this,arguments)/2,w=C>1e-12&&(r?+r.apply(this,arguments):jp(d*d+f*f)),T=kp(Tp(f-d)/2,+n.apply(this,arguments)),E=T,D=T,O,k;if(w>1e-12){var ee=Ip(w/d*Ap(C)),A=Ip(w/f*Ap(C));(x-=ee*2)>1e-12?(ee*=g?1:-1,y+=ee,b-=ee):(x=0,y=b=(p+m)/2),(S-=A*2)>1e-12?(A*=g?1:-1,_+=A,v-=A):(S=0,_=v=(p+m)/2)}var j=f*Dp(_),M=f*Ap(_),N=d*Dp(b),P=d*Ap(b);if(T>1e-12){var F=f*Dp(v),I=f*Ap(v),L=d*Dp(y),R=d*Ap(y),z;if(h<Mp){if(z=Up(j,M,L,R,F,I,N,P)){var B=j-z[0],V=M-z[1],te=F-z[0],ne=I-z[1],re=1/Ap(Fp((B*te+V*ne)/(jp(B*B+V*V)*jp(te*te+ne*ne)))/2),ie=jp(z[0]*z[0]+z[1]*z[1]);E=kp(T,(d-ie)/(re-1)),D=kp(T,(f-ie)/(re+1))}else E=D=0}}S>1e-12?D>1e-12?(O=Wp(L,R,j,M,f,D,g),k=Wp(F,I,N,P,f,D,g),s.moveTo(O.cx+O.x01,O.cy+O.y01),D<T?s.arc(O.cx,O.cy,D,Ep(O.y01,O.x01),Ep(k.y01,k.x01),!g):(s.arc(O.cx,O.cy,D,Ep(O.y01,O.x01),Ep(O.y11,O.x11),!g),s.arc(0,0,f,Ep(O.cy+O.y11,O.cx+O.x11),Ep(k.cy+k.y11,k.cx+k.x11),!g),s.arc(k.cx,k.cy,D,Ep(k.y11,k.x11),Ep(k.y01,k.x01),!g))):(s.moveTo(j,M),s.arc(0,0,f,_,v,!g)):s.moveTo(j,M),!(d>1e-12)||!(x>1e-12)?s.lineTo(N,P):E>1e-12?(O=Wp(N,P,F,I,d,-E,g),k=Wp(j,M,L,R,d,-E,g),s.lineTo(O.cx+O.x01,O.cy+O.y01),E<T?s.arc(O.cx,O.cy,E,Ep(O.y01,O.x01),Ep(k.y01,k.x01),!g):(s.arc(O.cx,O.cy,E,Ep(O.y01,O.x01),Ep(O.y11,O.x11),!g),s.arc(0,0,d,Ep(O.cy+O.y11,O.cx+O.x11),Ep(k.cy+k.y11,k.cx+k.x11),g),s.arc(k.cx,k.cy,E,Ep(k.y11,k.x11),Ep(k.y01,k.x01),!g))):s.arc(0,0,d,b,y,g)}if(s.closePath(),l)return s=null,l+``||null}return l.centroid=function(){var n=(+e.apply(this,arguments)+ +t.apply(this,arguments))/2,r=(+i.apply(this,arguments)+ +a.apply(this,arguments))/2-Mp/2;return[Dp(r)*n,Ap(r)*n]},l.innerRadius=function(t){return arguments.length?(e=typeof t==`function`?t:wp(+t),l):e},l.outerRadius=function(e){return arguments.length?(t=typeof e==`function`?e:wp(+e),l):t},l.cornerRadius=function(e){return arguments.length?(n=typeof e==`function`?e:wp(+e),l):n},l.padRadius=function(e){return arguments.length?(r=e==null?null:typeof e==`function`?e:wp(+e),l):r},l.startAngle=function(e){return arguments.length?(i=typeof e==`function`?e:wp(+e),l):i},l.endAngle=function(e){return arguments.length?(a=typeof e==`function`?e:wp(+e),l):a},l.padAngle=function(e){return arguments.length?(o=typeof e==`function`?e:wp(+e),l):o},l.context=function(e){return arguments.length?(s=e??null,l):s},l}Array.prototype.slice;function Kp(e){return typeof e==`object`&&`length`in e?e:Array.from(e)}function qp(e){this._context=e}qp.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)}}};function Jp(e){return new qp(e)}function Yp(e){return e[0]}function Xp(e){return e[1]}function Zp(e,t){var n=wp(!0),r=null,i=Jp,a=null,o=Lp(s);e=typeof e==`function`?e:e===void 0?Yp:wp(e),t=typeof t==`function`?t:t===void 0?Xp:wp(t);function s(s){var c,l=(s=Kp(s)).length,u,d=!1,f;for(r??(a=i(f=o())),c=0;c<=l;++c)!(c<l&&n(u=s[c],c,s))===d&&((d=!d)?a.lineStart():a.lineEnd()),d&&a.point(+e(u,c,s),+t(u,c,s));if(f)return a=null,f+``||null}return s.x=function(t){return arguments.length?(e=typeof t==`function`?t:wp(+t),s):e},s.y=function(e){return arguments.length?(t=typeof e==`function`?e:wp(+e),s):t},s.defined=function(e){return arguments.length?(n=typeof e==`function`?e:wp(!!e),s):n},s.curve=function(e){return arguments.length?(i=e,r!=null&&(a=i(r)),s):i},s.context=function(e){return arguments.length?(e==null?r=a=null:a=i(r=e),s):r},s}function Qp(e,t,n){var r=null,i=wp(!0),a=null,o=Jp,s=null,c=Lp(l);e=typeof e==`function`?e:e===void 0?Yp:wp(+e),t=typeof t==`function`?t:wp(t===void 0?0:+t),n=typeof n==`function`?n:n===void 0?Xp:wp(+n);function l(l){var u,d,f,p=(l=Kp(l)).length,m,h=!1,g,_=Array(p),v=Array(p);for(a??(s=o(g=c())),u=0;u<=p;++u){if(!(u<p&&i(m=l[u],u,l))===h){if(h=!h)d=u,s.areaStart(),s.lineStart();else{for(s.lineEnd(),s.lineStart(),f=u-1;f>=d;--f)s.point(_[f],v[f]);s.lineEnd(),s.areaEnd()}}h&&(_[u]=+e(m,u,l),v[u]=+t(m,u,l),s.point(r?+r(m,u,l):_[u],n?+n(m,u,l):v[u]))}if(g)return s=null,g+``||null}function u(){return Zp().defined(i).curve(o).context(a)}return l.x=function(t){return arguments.length?(e=typeof t==`function`?t:wp(+t),r=null,l):e},l.x0=function(t){return arguments.length?(e=typeof t==`function`?t:wp(+t),l):e},l.x1=function(e){return arguments.length?(r=e==null?null:typeof e==`function`?e:wp(+e),l):r},l.y=function(e){return arguments.length?(t=typeof e==`function`?e:wp(+e),n=null,l):t},l.y0=function(e){return arguments.length?(t=typeof e==`function`?e:wp(+e),l):t},l.y1=function(e){return arguments.length?(n=e==null?null:typeof e==`function`?e:wp(+e),l):n},l.lineX0=l.lineY0=function(){return u().x(e).y(t)},l.lineY1=function(){return u().x(e).y(n)},l.lineX1=function(){return u().x(r).y(t)},l.defined=function(e){return arguments.length?(i=typeof e==`function`?e:wp(!!e),l):i},l.curve=function(e){return arguments.length?(o=e,a!=null&&(s=o(a)),l):o},l.context=function(e){return arguments.length?(e==null?a=s=null:s=o(a=e),l):a},l}function $p(e,t){return t<e?-1:t>e?1:t>=e?0:NaN}function em(e){return e}function tm(){var e=em,t=$p,n=null,r=wp(0),i=wp(Pp),a=wp(0);function o(o){var s,c=(o=Kp(o)).length,l,u,d=0,f=Array(c),p=Array(c),m=+r.apply(this,arguments),h=Math.min(Pp,Math.max(-Pp,i.apply(this,arguments)-m)),g,_=Math.min(Math.abs(h)/c,a.apply(this,arguments)),v=_*(h<0?-1:1),y;for(s=0;s<c;++s)(y=p[f[s]=s]=+e(o[s],s,o))>0&&(d+=y);for(t==null?n!=null&&f.sort(function(e,t){return n(o[e],o[t])}):f.sort(function(e,n){return t(p[e],p[n])}),s=0,u=d?(h-c*v)/d:0;s<c;++s,m=g)l=f[s],y=p[l],g=m+(y>0?y*u:0)+v,p[l]={data:o[l],index:s,value:y,startAngle:m,endAngle:g,padAngle:_};return p}return o.value=function(t){return arguments.length?(e=typeof t==`function`?t:wp(+t),o):e},o.sortValues=function(e){return arguments.length?(t=e,n=null,o):t},o.sort=function(e){return arguments.length?(n=e,t=null,o):n},o.startAngle=function(e){return arguments.length?(r=typeof e==`function`?e:wp(+e),o):r},o.endAngle=function(e){return arguments.length?(i=typeof e==`function`?e:wp(+e),o):i},o.padAngle=function(e){return arguments.length?(a=typeof e==`function`?e:wp(+e),o):a},o}var nm={draw(e,t){let n=jp(t/Mp);e.moveTo(n,0),e.arc(0,0,n,0,Pp)}},rm={draw(e,t){let n=jp(t/5)/2;e.moveTo(-3*n,-n),e.lineTo(-n,-n),e.lineTo(-n,-3*n),e.lineTo(n,-3*n),e.lineTo(n,-n),e.lineTo(3*n,-n),e.lineTo(3*n,n),e.lineTo(n,n),e.lineTo(n,3*n),e.lineTo(-n,3*n),e.lineTo(-n,n),e.lineTo(-3*n,n),e.closePath()}},im=jp(1/3),am=im*2,om={draw(e,t){let n=jp(t/am),r=n*im;e.moveTo(0,-n),e.lineTo(r,0),e.lineTo(0,n),e.lineTo(-r,0),e.closePath()}},sm={draw(e,t){let n=jp(t),r=-n/2;e.rect(r,r,n,n)}},cm=.8908130915292852,lm=Ap(Mp/10)/Ap(7*Mp/10),um=Ap(Pp/10)*lm,dm=-Dp(Pp/10)*lm,fm={draw(e,t){let n=jp(t*cm),r=um*n,i=dm*n;e.moveTo(0,-n),e.lineTo(r,i);for(let t=1;t<5;++t){let a=Pp*t/5,o=Dp(a),s=Ap(a);e.lineTo(s*n,-o*n),e.lineTo(o*r-s*i,s*r+o*i)}e.closePath()}},pm=jp(3),mm={draw(e,t){let n=-jp(t/(pm*3));e.moveTo(0,n*2),e.lineTo(-pm*n,-n),e.lineTo(pm*n,-n),e.closePath()}},hm=jp(3),gm={draw(e,t){let n=jp(t)*.6824,r=n/2,i=n*hm/2;e.moveTo(0,-n),e.lineTo(i,r),e.lineTo(-i,r),e.closePath()}};function _m(e,t){let n=null,r=Lp(i);e=typeof e==`function`?e:wp(e||nm),t=typeof t==`function`?t:wp(t===void 0?64:+t);function i(){let i;if(n||=i=r(),e.apply(this,arguments).draw(n,+t.apply(this,arguments)),i)return n=null,i+``||null}return i.type=function(t){return arguments.length?(e=typeof t==`function`?t:wp(t),i):e},i.size=function(e){return arguments.length?(t=typeof e==`function`?e:wp(+e),i):t},i.context=function(e){return arguments.length?(n=e??null,i):n},i}function vm(e,t,n){e._context.bezierCurveTo((2*e._x0+e._x1)/3,(2*e._y0+e._y1)/3,(e._x0+2*e._x1)/3,(e._y0+2*e._y1)/3,(e._x0+4*e._x1+t)/6,(e._y0+4*e._y1+n)/6)}function ym(e){this._context=e}ym.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:vm(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1)}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:vm(this,e,t)}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function bm(e){return new ym(e)}function xm(e,t,n){e._context.bezierCurveTo(e._x1+e._k*(e._x2-e._x0),e._y1+e._k*(e._y2-e._y0),e._x2+e._k*(e._x1-t),e._y2+e._k*(e._y1-n),e._x2,e._y2)}function Sm(e,t){this._context=e,this._k=(1-t)/6}Sm.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:xm(this,this._x1,this._y1)}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2,this._x1=e,this._y1=t;break;case 2:this._point=3;default:xm(this,e,t)}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};var Cm=(function e(t){function n(e){return new Sm(e,t)}return n.tension=function(t){return e(+t)},n})(0);function wm(e,t,n){var r=e._x1,i=e._y1,a=e._x2,o=e._y2;if(e._l01_a>1e-12){var s=2*e._l01_2a+3*e._l01_a*e._l12_a+e._l12_2a,c=3*e._l01_a*(e._l01_a+e._l12_a);r=(r*s-e._x0*e._l12_2a+e._x2*e._l01_2a)/c,i=(i*s-e._y0*e._l12_2a+e._y2*e._l01_2a)/c}if(e._l23_a>1e-12){var l=2*e._l23_2a+3*e._l23_a*e._l12_a+e._l12_2a,u=3*e._l23_a*(e._l23_a+e._l12_a);a=(a*l+e._x1*e._l23_2a-t*e._l12_2a)/u,o=(o*l+e._y1*e._l23_2a-n*e._l12_2a)/u}e._context.bezierCurveTo(r,i,a,o,e._x2,e._y2)}function Tm(e,t){this._context=e,this._alpha=t}Tm.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2)}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){if(e=+e,t=+t,this._point){var n=this._x2-e,r=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=(n*n+r*r)**+this._alpha)}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3;default:wm(this,e,t)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};var Em=(function e(t){function n(e){return t?new Tm(e,t):new Sm(e,0)}return n.alpha=function(t){return e(+t)},n})(.5);function Dm(e){return e<0?-1:1}function Om(e,t,n){var r=e._x1-e._x0,i=t-e._x1,a=(e._y1-e._y0)/(r||i<0&&-0),o=(n-e._y1)/(i||r<0&&-0),s=(a*i+o*r)/(r+i);return(Dm(a)+Dm(o))*Math.min(Math.abs(a),Math.abs(o),.5*Math.abs(s))||0}function km(e,t){var n=e._x1-e._x0;return n?(3*(e._y1-e._y0)/n-t)/2:t}function Am(e,t,n){var r=e._x0,i=e._y0,a=e._x1,o=e._y1,s=(a-r)/3;e._context.bezierCurveTo(r+s,i+s*t,a-s,o-s*n,a,o)}function jm(e){this._context=e}jm.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:Am(this,this._t0,km(this,this._t0))}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){var n=NaN;if(e=+e,t=+t,e!==this._x1||t!==this._y1){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,Am(this,km(this,n=Om(this,e,t)),n);break;default:Am(this,this._t0,n=Om(this,e,t))}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=n}}},Object.create(jm.prototype).point=function(e,t){jm.prototype.point.call(this,t,e)};function Mm(e){return new jm(e)}function Nm(e,t){this._context=e,this._t=t}Nm.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0<this._t&&this._t<1&&this._point===2&&this._context.lineTo(this._x,this._y),(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line>=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,t),this._context.lineTo(e,t);else{var n=this._x*(1-this._t)+e*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,t)}}this._x=e,this._y=t}};function Pm(e){return new Nm(e,.5)}function Fm(e){return new Nm(e,0)}function Im(e){return new Nm(e,1)}function Lm(e,t){if((o=e.length)>1)for(var n=1,r,i,a=e[t[0]],o,s=a.length;n<o;++n)for(i=a,a=e[t[n]],r=0;r<s;++r)a[r][1]+=a[r][0]=isNaN(i[r][1])?i[r][0]:i[r][1]}function Rm(e){for(var t=e.length,n=Array(t);--t>=0;)n[t]=t;return n}function zm(e,t){return e[t]}function Bm(e){let t=[];return t.key=e,t}function Vm(){var e=wp([]),t=Rm,n=Lm,r=zm;function i(i){var a=Array.from(e.apply(this,arguments),Bm),o,s=a.length,c=-1,l;for(let e of i)for(o=0,++c;o<s;++o)(a[o][c]=[0,+r(e,a[o].key,c,i)]).data=e;for(o=0,l=Kp(t(a));o<s;++o)a[l[o]].index=o;return n(a,l),a}return i.keys=function(t){return arguments.length?(e=typeof t==`function`?t:wp(Array.from(t)),i):e},i.value=function(e){return arguments.length?(r=typeof e==`function`?e:wp(+e),i):r},i.order=function(e){return arguments.length?(t=e==null?Rm:typeof e==`function`?e:wp(Array.from(e)),i):t},i.offset=function(e){return arguments.length?(n=e??Lm,i):n},i}function Hm(e,t){if((c=e.length)>0)for(var n,r=0,i,a,o,s,c,l=e[t[0]].length;r<l;++r)for(o=s=0,n=0;n<c;++n)(a=(i=e[t[n]][r])[1]-i[0])>0?(i[0]=o,i[1]=o+=a):a<0?(i[1]=s,i[0]=s+=a):(i[0]=0,i[1]=a)}function Um(e,t,n){this.k=e,this.x=t,this.y=n}Um.prototype={constructor:Um,scale:function(e){return e===1?this:new Um(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new Um(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 Wm=new Um(1,0,0);Gm.prototype=Um.prototype;function Gm(e){for(;!e.__zoom;)if(!(e=e.parentNode))return Wm;return e.__zoom}function Km(e,t){if(!e)throw Error(`[d3-blueprint] ${t}`)}var qm=class{properties=new Map;define(e,t){Km(!this.properties.has(e),`config "${e}" is already defined`);let{defaultValue:n,getter:r,setter:i}=t,a=i?i(n):n;return this.properties.set(e,{value:a,getter:r,setter:i}),this}get(e){let{value:t,getter:n}=this.getProperty(e);return n?n(t):t}set(e,t){let n=this.getProperty(e);return n.value=n.setter?n.setter(t):t,this}setBatch(e){for(let[t,n]of Object.entries(e))this.set(t,n);return this}getAll(){let e={};for(let[t]of this.properties)e[t]=this.get(t);return e}has(e){return this.properties.has(e)}getProperty(e){let t=this.properties.get(e);return Km(t,`config "${e}" is not defined`),t}},Jm=[`update`,`enter`,`merge`,`exit`],Ym=new Set([...Jm,...Jm.map(e=>`${e}:transition`)]);function Xm(e){return Ym.has(e)}function Zm(e){Km(Xm(e),`"${e}" is not a valid lifecycle event. Expected one of: ${[...Ym].join(`, `)}`)}function Qm(e,t,n){let r=e.exit(),i={update:e,enter:t,merge:t.merge(e),exit:r};return Jm.map(e=>({name:e,selection:i[e],handlers:n.get(e)??[],transitionHandlers:n.get(`${e}:transition`)??[]}))}function $m(e,t){for(let n of t)n(e)}function eh(e,t){return t.map(t=>{let n=e.transition();return t(n),th(n)})}function th(e){return e.end().then(()=>void 0,()=>void 0)}var nh=class{base;dataBindFn;insertFn;handlers=new Map;constructor(e,t){if(this.base=e,this.dataBindFn=t.dataBind,this.insertFn=t.insert,t.events)for(let[e,n]of Object.entries(t.events))n&&this.on(e,n)}on(e,t){Zm(e);let n=this.handlers.get(e)??[];return n.push(t),this.handlers.set(e,n),this}off(e,t){if(Zm(e),!t)return this.handlers.delete(e),this;let n=this.handlers.get(e);if(n){let e=n.indexOf(t);e!==-1&&n.splice(e,1)}return this}draw(e){let t=this.dataBindFn(this.base,e),n=t.enter(),r=Qm(t,this.insertFn(n),this.handlers),i=[];for(let e of r){$m(e.selection,e.handlers);let t=eh(e.selection,e.transitionHandlers);i.push(...t)}return Promise.all(i).then(()=>void 0)}};function rh(e,t,n,r){if(n&&r){let i=new nh(n,r);return e.set(t,i),i}let i=e.get(t);if(!i)throw Error(`[d3-blueprint] layer "${t}" is not defined`);return i}function ih(e,t,n,r){return typeof n==`string`&&r===void 0?e.get(n):typeof n==`string`?(e.set(n,r),t):(e.setBatch(n),t)}function ah(e,t){let n=[];for(let r of e.values())n.push(r.draw(t));return n}function oh(e,t){let n=[];for(let r of e.values()){let e=r.draw(t);e&&n.push(e)}return n}var sh=[`preDraw`,`postDraw`,`postTransition`],ch=class{base;layers=new Map;attachments=new Map;configs=new qm;dispatcher;attached=new Proxy({},{get:(e,t)=>{let n=this.attachments.get(t);if(!n)throw Error(`[d3-blueprint] attachment "${t}" is not defined`);return n},has:(e,t)=>this.attachments.has(t)});constructor(e){this.base=e,this.dispatcher=ga(...sh),this.initialize()}initialize(){}transform(e){return e}preDraw(e){}postDraw(e){}postTransition(e){}layer(e,t,n){return rh(this.layers,e,t,n)}attach(e,t,n){if(n!==void 0){let r=t;this.attachments.set(e,new r(n))}else this.attachments.set(e,t);return this}config(e,t){return ih(this.configs,this,e,t)}configDefine(e,t){return this.configs.define(e,t),this}on(e,t){return this.dispatcher.on(e,t),this}off(e){return this.dispatcher.on(e,null),this}use(e,t){let n=t||e.name||`plugin`;if(e.install(this),e.preDraw&&this.on(`preDraw.${n}`,t=>e.preDraw(this,t)),e.postDraw&&this.on(`postDraw.${n}`,t=>e.postDraw(this,t)),e.postTransition&&this.on(`postTransition.${n}`,t=>e.postTransition(this,t)),e.destroy){let t=this.destroy.bind(this);this.destroy=()=>{e.destroy(this),t()}}return this}async draw(e){let t=this.transform(e);this.preDraw(t),this.dispatcher.call(`preDraw`,this,t);let n=ah(this.layers,t),r=oh(this.attachments,t);this.postDraw(t),this.dispatcher.call(`postDraw`,this,t),await Promise.all([...n,...r]),this.postTransition(t),this.dispatcher.call(`postTransition`,this,t)}destroy(){this.layers.clear(),this.attachments.clear()}},lh=class extends ch{initialize(){let e=this.base.append(`div`).attr(`class`,`bc-frame`),t=e.append(`div`).attr(`class`,`bc-frame-header`);e.append(`div`).attr(`class`,`bc-frame-body`),e.append(`p`).attr(`class`,`bc-frame-note`);let n=e.append(`div`).attr(`class`,`bc-frame-footer`).style(`display`,`flex`).style(`justify-content`,`space-between`).style(`align-items`,`center`).style(`flex-wrap`,`wrap`).style(`gap`,`0.25rem 1rem`),r=n.append(`div`).attr(`class`,`bc-frame-footer-left`).style(`display`,`flex`).style(`flex-wrap`,`wrap`).style(`gap`,`0.25rem 0.75rem`),i=n.append(`div`).attr(`class`,`bc-frame-footer-right`).style(`display`,`flex`).style(`align-items`,`center`);this.layer(`headerItems`,t,{dataBind:(e,t)=>e.selectAll(`.bc-frame-header-item`).data(t.headerItems,e=>e.className),insert:e=>e.append(e=>document.createElement(e.tag)),events:{enter:e=>{e.attr(`class`,e=>e.className).text(e=>e.text)},merge:e=>{e.attr(`class`,e=>e.className).text(e=>e.text)},exit:e=>{e.remove()}}}),this.layer(`footerLeftItems`,r,{dataBind:(e,t)=>e.selectAll(`.bc-frame-footer-item`).data(t.footerLeftItems,e=>e.className),insert:e=>e.append(e=>document.createElement(e.tag)),events:{enter:e=>{e.attr(`class`,e=>e.className).each(function(e){if(this.textContent=``,e.prefix){let t=document.createElement(`span`);t.className=`bc-frame-source-prefix`,t.textContent=e.prefix,this.appendChild(t)}if(e.href){let t=document.createElement(`a`);t.className=`bc-frame-source-link`,t.href=e.href,t.textContent=e.text,this.appendChild(t)}else this.appendChild(document.createTextNode(e.text))})},merge:e=>{e.attr(`class`,e=>e.className).each(function(e){if(this.textContent=``,e.prefix){let t=document.createElement(`span`);t.className=`bc-frame-source-prefix`,t.textContent=e.prefix,this.appendChild(t)}if(e.href){let t=document.createElement(`a`);t.className=`bc-frame-source-link`,t.href=e.href,t.textContent=e.text,this.appendChild(t)}else this.appendChild(document.createTextNode(e.text))})},exit:e=>{e.remove()}}}),this.layer(`footerRightItems`,i,{dataBind:(e,t)=>e.selectAll(`.bc-frame-footer-item`).data(t.footerRightItems,e=>e.className),insert:e=>e.append(e=>document.createElement(e.tag)),events:{enter:e=>{e.attr(`class`,e=>e.className).each(function(e){if(e.html){let t=document.createRange().createContextualFragment(e.html);this.appendChild(t)}else this.textContent=e.text}),e.filter(e=>!!e.href).attr(`href`,e=>e.href),e.filter(e=>!!e.target).attr(`target`,e=>e.target),e.filter(e=>!!e.rel).attr(`rel`,e=>e.rel)},merge:e=>{e.attr(`class`,e=>e.className).each(function(e){if(this.textContent=``,e.html){let t=document.createRange().createContextualFragment(e.html);this.appendChild(t)}else this.textContent=e.text}),e.filter(e=>!!e.href).attr(`href`,e=>e.href),e.filter(e=>!!e.target).attr(`target`,e=>e.target),e.filter(e=>!!e.rel).attr(`rel`,e=>e.rel)},exit:e=>{e.remove()}}})}};function uh(e){let t=[];return e.title&&t.push({tag:`h3`,className:`bc-frame-title`,text:e.title}),e.description&&t.push({tag:`p`,className:`bc-frame-description`,text:e.description}),t}function dh(e){let t=[];return e.byline&&t.push({tag:`span`,className:`bc-frame-byline`,text:e.byline}),e.source&&t.push({tag:`span`,className:`bc-frame-source`,text:e.source,prefix:`Source: `,href:e.sourceUrl||void 0}),t}function fh(){return[{tag:`a`,className:`bc-frame-credit`,text:`Blueprint Chart`,html:`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48.042969 90.607422" width="10" height="18" style="vertical-align:-3px;margin-right:3px"><path fill="currentColor" opacity="0.55" d="M 20.042969 34.607422 A 28 28 0 0 1 23.072266 34.779297 A 28 28 0 0 0 20.042969 34.607422 z M 23.34375 34.810547 A 28 28 0 0 1 26.171875 35.292969 A 28 28 0 0 0 23.34375 34.810547 z M 16.570312 34.84375 A 28 28 0 0 0 15.474609 35.033203 A 28 28 0 0 1 16.570312 34.84375 z M 26.390625 35.341797 A 28 28 0 0 1 29.316406 36.189453 A 28 28 0 0 0 26.390625 35.341797 z M 13.128906 35.511719 A 28 28 0 0 0 11.904297 35.873047 A 28 28 0 0 1 13.128906 35.511719 z M 29.373047 36.210938 A 28 28 0 0 1 32.103516 37.347656 A 28 28 0 0 0 29.373047 36.210938 z M 9.7832031 36.609375 A 28 28 0 0 0 8.5820312 37.117188 A 28 28 0 0 1 9.7832031 36.609375 z M 32.392578 37.486328 A 28 28 0 0 1 34.939453 38.90625 A 28 28 0 0 0 32.392578 37.486328 z M 6.5742188 38.128906 A 28 28 0 0 0 5.4511719 38.765625 A 28 28 0 0 1 6.5742188 38.128906 z M 35.041016 38.966797 A 28 28 0 0 1 37.523438 40.738281 A 28 28 0 0 0 35.041016 38.966797 z M 3.5273438 40.080078 A 28 28 0 0 0 2.5761719 40.771484 A 28 28 0 0 1 3.5273438 40.080078 z M 37.658203 40.851562 A 28 28 0 0 1 39.804688 42.783203 A 28 28 0 0 0 37.658203 40.851562 z M 40.011719 42.990234 A 28 28 0 0 1 42.013672 45.251953 A 28 28 0 0 0 40.011719 42.990234 z M 42.013672 45.251953 A 28 28 0 0 1 20.042969 56 A 28 28 0 0 1 14.232422 55.3125 A 16 16 0 0 1 16 62.607422 A 16 16 0 0 1 0 78.607422 L 0 82.121094 A 28 28 0 0 0 20.042969 90.607422 A 28 28 0 0 0 48.042969 62.607422 A 28 28 0 0 0 42.013672 45.251953 z M 1.3007812 46.667969 A 16 16 0 0 1 1.6191406 46.697266 A 16 16 0 0 0 1.3007812 46.667969 z M 4.2558594 47.189453 A 16 16 0 0 1 4.4355469 47.242188 A 16 16 0 0 0 4.2558594 47.189453 z "/><path fill="currentColor" opacity="0.85" d="M 6.0637516 38.376047 A 28 28 0 0 1 20.042969 34.615234 A 28 28 0 0 1 42.013672 45.259765 A 28 28 0 0 0 48.042969 28.007812 A 28 28 0 0 0 20.042969 0.0078125 A 28 28 0 0 0 0 8.4941407 L 0 16.007812 A 12 12 0 0 1 12 28.007812 A 12 12 0 0 1 6.0613693 38.364443 "/><path fill="currentColor" d="M 20.042969 34.607422 A 28 28 0 0 0 5.0878906 38.970703 A 28 28 0 0 1 6.0644531 38.376953 L 6.0605469 38.365234 A 12 12 0 0 1 0 40.007812 L 0 43.09375 L 0 43.101562 L 0 46.607422 A 16 16 0 0 1 2.8847656 46.873047 A 16 16 0 0 1 2.9199219 46.878906 A 16 16 0 0 1 5.7011719 47.662109 A 16 16 0 0 1 5.7324219 47.673828 A 16 16 0 0 1 8.3300781 48.955078 A 16 16 0 0 1 8.3398438 48.958984 A 16 16 0 0 1 8.3457031 48.962891 A 16 16 0 0 1 10.662109 50.6875 A 16 16 0 0 1 10.697266 50.71875 A 16 16 0 0 1 12.660156 52.837891 A 16 16 0 0 1 12.667969 52.845703 A 16 16 0 0 1 12.673828 52.855469 A 16 16 0 0 1 14.228516 55.306641 A 16 16 0 0 1 14.232422 55.3125 A 28 28 0 0 0 20.042969 56 A 28 28 0 0 0 42.013672 45.251953 A 28 28 0 0 0 20.042969 34.607422 z M 4.7695312 39.177734 A 28 28 0 0 0 2.5390625 40.798828 A 28 28 0 0 1 4.7695312 39.177734 z M 2.1816406 41.091797 A 28 28 0 0 0 0.11914062 42.984375 A 28 28 0 0 1 2.1816406 41.091797 z "/></svg>Blueprint Chart`,href:`/`,target:`_blank`,rel:`noopener noreferrer`}]}var ph=80,mh=`.bc-frame-title, .bc-frame-description`;function hh(e){let t=getComputedStyle(e),n=parseFloat(t.lineHeight);return Number.isFinite(n)?n:parseFloat(t.fontSize)*1.2}function gh(e){e.querySelectorAll(mh).forEach(e=>{e.style.removeProperty(`display`),e.style.removeProperty(`-webkit-box-orient`),e.style.removeProperty(`-webkit-line-clamp`),e.style.removeProperty(`overflow`)})}function _h(e,t){let n=[...e.querySelectorAll(mh)],r=t-(e.offsetHeight-n.reduce((e,t)=>e+t.offsetHeight,0));for(let e of n){let t=Math.floor(r/hh(e));if(t<1){e.style.display=`none`;continue}e.style.display=`-webkit-box`,e.style.setProperty(`-webkit-box-orient`,`vertical`),e.style.setProperty(`-webkit-line-clamp`,String(t)),e.style.overflow=`hidden`,r-=e.offsetHeight}}function vh(e){let[t,n=t,r=t,i=n]=e.trim().split(/\s+/);return[t,n,r,i]}function yh(e,t){if(t===null)return{wrapper:e,header:e,body:e,footer:e};let n=t??{};new lh($(e)).draw({headerItems:uh(n),footerLeftItems:dh(n),footerRightItems:fh()});let r=e.querySelector(`.bc-frame`),i=r.querySelector(`.bc-frame-header`),a=r.querySelector(`.bc-frame-body`),o=r.querySelector(`.bc-frame-note`),s=r.querySelector(`.bc-frame-footer`);if(n.padding){r.style.setProperty(`--bc-frame-padding`,n.padding);let[e,t,i,a]=vh(n.padding);r.style.setProperty(`--bc-frame-padding-top`,e),r.style.setProperty(`--bc-frame-padding-right`,t),r.style.setProperty(`--bc-frame-padding-bottom`,i),r.style.setProperty(`--bc-frame-padding-left`,a)}if(n.transparentBackground&&r.style.setProperty(`--bc-frame-bg`,`transparent`),n.note?o.textContent=n.note:o.style.display=`none`,e.isConnected){gh(i);let t=getComputedStyle(e),n=t.aspectRatio&&t.aspectRatio!==`auto`&&t.aspectRatio!==``,c=t.display===`flex`&&t.flexDirection===`column`;if(n||c){let t=i.offsetHeight,n=s.offsetHeight,c=o.style.display===`none`?0:o.offsetHeight,l=e.clientHeight-n-c-ph;t>l&&(_h(i,l),t=i.offsetHeight),r.classList.add(`bc-frame--constrained`),a.dataset.headerH=String(t);let u=e;a.dataset.footerH=String(u.__bcFooterH??n+c),requestAnimationFrame(()=>{u.__bcFooterH=s.offsetHeight+(o.style.display===`none`?0:o.offsetHeight)})}}return{wrapper:r,header:i,body:a,footer:s}}function bh(e){return e&&(e.startsWith(`(`)&&e.endsWith(`)`)?e.slice(0,-1):e)}function xh(e){if(!e)return{prefix:``,d3Spec:``,suffix:``};if(e.includes(`|`)){let t=e.split(`|`);return{prefix:t[0]??``,d3Spec:bh(t[1]??``),suffix:t[2]??``}}return{prefix:``,d3Spec:bh(e),suffix:``}}function Sh(e){if(!e)return null;let{prefix:t,d3Spec:n,suffix:r}=xh(e);if(!n)return null;let i=Zu(n);return!t&&!r?i:e=>`${t}${i(e)}${r}`}function Ch(e,t){return!Number.isFinite(t)||t<=0?`0%`:`${Math.round(e/t*100)}%`}var wh=`http://www.w3.org/2000/svg`,Th=`system-ui, -apple-system, sans-serif`,Eh=/[\u1100-\u115f\u2e80-\ua4cf\ua960-\ua97f\uac00-\ud7a3\uf900-\ufaff\ufe10-\ufe19\ufe30-\ufe6f\uff00-\uff60\uffe0-\uffe6]/,Dh=1,Oh=.5,kh=null,Ah=null;function jh(e,t){let n=0;for(let t of e)n+=Eh.test(t)?Dh:Oh;return n*t}function Mh(){if(typeof document>`u`)return null;if(Ah!==document){Ah=document;try{kh=document.createElement(`canvas`).getContext(`2d`)}catch{kh=null}}return kh}function Nh(e,t){let n=Mh();if(!n)return null;n.font=`${t}px ${Th}`;let r=n.measureText(e).width;return r>0?r:null}function Ph(e,t){if(typeof document>`u`||typeof document.createElementNS!=`function`)return null;let n=document.createElementNS(wh,`svg`),r=document.createElementNS(wh,`text`);if(r.setAttribute(`font-size`,String(t)),r.textContent=e,n.appendChild(r),typeof r.getComputedTextLength!=`function`)return null;let i=r.getComputedTextLength();return i>0?i:null}function Fh(e,t){if(e===``)return 0;let n=Nh(e,t)??Ph(e,t)??0;return Math.max(n,jh(e,t))}function Ih(e,t){let n=0;for(let r of e){let e=Fh(r,t);e>n&&(n=e)}return n}function Lh(e,t,n,r=`…`){if(Fh(e,n)<=t)return e;let i=[...e],a=Fh(r,n),o=i.length;for(;o>1&&Fh(i.slice(0,o).join(``),n)+a>t;)o--;return i.slice(0,o).join(``)+r}function Rh(e,t){if(!e)return;let n=e.stableTop??e.top,r=t.stableTop??t.top;return{dx:e.left-t.left,dy:n-r}}var zh={top:12,right:20,bottom:24,left:50},Bh=10,Vh=600,Hh=400,Uh=.25;function Wh(e,t,n){let r=t+n,i=e*Uh;if(r<=0||e-r>=i)return[t,n];let a=Math.max(0,e-i)/r;return[t*a,n*a]}var Gh=class extends ch{initialize(){this.configDefine(`totalWidth`,{defaultValue:Vh}),this.configDefine(`totalHeight`,{defaultValue:Hh}),this.layer(`svg`,this.base,{dataBind:(e,t)=>e.selectAll(`svg`).data(t),insert:e=>e.append(`svg`),events:{enter:e=>{let t=this.config(`totalWidth`),n=this.config(`totalHeight`);e.attr(`width`,t).attr(`height`,n).append(`g`).attr(`transform`,e=>`translate(${e.left},${e.top})`)}}})}},Kh=400,qh=2,Jh=2,Yh=9;function Xh(e,t,n,r){let[i,a]=wi(e,t,r),o=r===`log`?Ed().domain([i,a]).nice():Sd().domain([i,a]).nice(),s=o.ticks(),c=n?Sh(n)??o.tickFormat():o.tickFormat(),l=s.map(e=>c(e));return l.length===0?0:Math.ceil(Ih(l,Bh))+Jh+Yh}function Zh(e){return e.length===0?0:Math.ceil(Ih(e,Bh))+Jh+Yh}function Qh(e,t,n,r,i,a){let o={},s=i??50,c=r??`left`,l=t??`auto`,u=l===`auto`?e>0&&e<Kh?`inside`:`outside`:l,d=u===`inside`,f=u===`off`;return c===`right`?(o.left=0,o.right=d?qh:f?0:s):(o.right=a===!1?0:15,o.left=d?qh:f?0:s),d&&(o.top=35),(n===`inside`||n===`off`)&&(o.bottom=5),o}function $h(e,t){return parseFloat(e.dataset[t]??``)||0}function eg(e){let t=e.getBoundingClientRect(),n=getComputedStyle(e),r=t.width-(parseFloat(n.paddingLeft)||0)-(parseFloat(n.paddingRight)||0),i=t.height-(parseFloat(n.paddingTop)||0)-(parseFloat(n.paddingBottom)||0);return{width:r>0?r:$h(e,`bcContentWidth`),height:i>0?i:$h(e,`bcContentHeight`)}}function tg(e,t){let n=t.closest(`.bc-frame`);if(!n||n.style.getPropertyValue(`--bc-frame-bg`).trim()===`transparent`)return;e.querySelector(`.bc-canvas-bg`)?.remove();let r=e.ownerDocument.createElementNS(`http://www.w3.org/2000/svg`,`rect`);r.setAttribute(`class`,`bc-canvas-bg`),r.setAttribute(`width`,`100%`),r.setAttribute(`height`,`100%`),r.setAttribute(`fill`,wr(n)),e.insertBefore(r,e.firstChild)}function ng(e,t){let n={...zh,...t},r=e.closest(`.bc-frame--constrained`)!=null;if(r){let t=parseFloat(e.dataset.headerH||`0`),r=parseFloat(e.dataset.footerH||`0`),i=n.top;n.top=t+i,n.bottom+=r,n.stableTop=i}let i=eg(e),a=i.width>0?i.width:Vh,o=i.height>0?i.height:Hh;[n.left,n.right]=Wh(a,n.left,n.right),[n.top,n.bottom]=Wh(o,n.top,n.bottom);let s=a-n.left-n.right,c=o-n.top-n.bottom,l=new Gh($(e));l.config({totalWidth:a,totalHeight:o}),l.draw([n]);let u=e.querySelector(`svg`),d=u.querySelector(`g`);return tg(u,e),r&&(u.setAttribute(`viewBox`,`0 0 ${a} ${o}`),u.setAttribute(`preserveAspectRatio`,`none`),u.removeAttribute(`width`),u.removeAttribute(`height`),u.style.width=`100%`,u.style.height=`100%`,u.style.display=`block`),{svg:u,chartArea:d,width:s,height:c,margin:n}}function rg(e){return typeof window>`u`||typeof window.matchMedia!=`function`?e:window.matchMedia(`(prefers-reduced-motion: reduce)`).matches?0:e}var ig=0;function ag(e){ig=e?500:0}function og(){return rg(ig)}function sg(e,t){let n=rg(t??500);n<=0||typeof e.animate!=`function`||e.animate([{opacity:0},{opacity:1}],{duration:n,easing:`ease-in-out`})}function cg(e,t){let n=rg(t??500);if(e.querySelectorAll(`[data-bc-fade-overlay]`).forEach(e=>{typeof e.getAnimations==`function`&&e.getAnimations().forEach(e=>e.cancel()),e.remove()}),n<=0||e.children.length===0)return null;let r=document.createElement(`div`);return r.style.position=`absolute`,r.style.inset=`0`,r.style.pointerEvents=`none`,r.style.display=`flex`,r.style.flexDirection=`column`,r.dataset.bcFadeOverlay=`true`,Array.from(e.childNodes).forEach(e=>{r.appendChild(e.cloneNode(!0))}),r.querySelectorAll(`.bc-axis-vertical, .bc-axis-horizontal`).forEach(e=>{e.remove()}),r.querySelectorAll(`.bc-frame-footer, .bc-frame-note`).forEach(e=>{e.remove()}),r.querySelectorAll(`[data-bc-fade-overlay], .bc-frame--fade-snapshot`).forEach(e=>{e.remove()}),r.querySelectorAll(`.bc-frame`).forEach(e=>{e.classList.remove(`bc-frame`),e.classList.add(`bc-frame--fade-snapshot`)}),r}function lg(e,t,n){let r=rg(n??500);if(getComputedStyle(e).position===`static`&&(e.style.position=`relative`),e.appendChild(t),r>0&&typeof t.animate==`function`){let e=t.animate([{opacity:1},{opacity:0}],{duration:r,easing:`ease-in-out`});e.onfinish=()=>t.remove()}else t.remove()}var ug=60,dg=10,fg=8,pg=16,mg=10,hg=1.3,gg=12,_g=3,vg=14,yg=10;function bg(e,t,n=_g){if(e===``)return[``];if(e.length*mg<=t)return[e];let r=e.split(/\s+/).filter(Boolean);if(r.length===0)return null;let i=[],a=``;for(let e of r){if(e.length*mg>t)return null;let r=a?`${a} ${e}`:e;if(r.length*mg<=t)a=r;else if(i.push(a),a=e,i.length>=n)return null}return a&&i.push(a),i.length>n?null:i}var xg={year:`%Y`,month:`%b %Y`,day:`%b %-d, %Y`,datetime:`%b %-d, %Y %H:%M`};function Sg(e){return typeof e.step==`function`}function Cg(e,t){let n=yi(t);if(e&&e.includes(`%`)){if(n){let r=Sp(e),i=new Map;return t.forEach((e,t)=>i.set(e,n.dates[t])),e=>{if(e instanceof Date)return r(e);let t=i.get(String(e));return t?r(t):String(e)}}return null}if(e)return t.length>0?null:Sh(e)??Zu(e);if(n){let e=Sp(xg[n.granularity]??`%Y-%m-%d`),r=new Map;return t.forEach((e,t)=>r.set(e,n.dates[t])),t=>{if(t instanceof Date)return e(t);let n=r.get(String(t));return n?e(n):String(t)}}return null}function wg(e,t){let n=0;for(let r of e){let e=(t?t(r):r).length*mg;e>n&&(n=e)}return n}function Tg(e,t){return e.map(e=>t?t(e):String(e))}function Eg(e,t){let n=Math.max(pg,Math.ceil(e)+fg);return Math.max(2,Math.floor(t/n))}function Dg(e,t,n){if(e.length<=1)return e;let r=Eg(Ih(Tg(e,n??null),dg),t);if(e.length<=r)return e;let i=Math.ceil(e.length/r),a=[];for(let t=0;t<e.length;t+=i)a.push(t);let o=e.length-1;return a[a.length-1]!==o&&(o-a[a.length-1]<i&&a.pop(),a.push(o)),a.map(t=>e[t])}function Og(e,t,n){let r=Math.max(2,Math.floor(t/ug));for(;r>2;){let i=Tg(e.ticks(r),n??e.tickFormat(r)),a=Eg(Ih(i,dg),t);if(i.length<=a)break;r=Math.min(r-1,a)}return r}function kg(e,t,n,r){return e.length<=1||t<=0||n===`horizontal`?!1:n===`vertical`||!yi(e)&&wg(e,r??null)>t/e.length*hg}function Ag(e,t){if(e.length===0)return 0;let n=wg(e,t??null);return Math.ceil(n)+gg}function jg(e){let t=1;for(let n of e)n.length>t&&(t=n.length);return t<=1?0:t*vg+yg}function Mg(e,t,n={},r=24){if(e.length===0||t<=0||n.labelPosition===`off`||n.labelPosition===`inside`)return;let i=n.tickFormat?n.tickFormat:Cg(n.numberFormat??null,e),a=n.labelRotation??`auto`;if((a===`vertical`||yi(e)===null)&&e.length>1){let n=t/e.length*hg,o=wg(e,i)>n;if(a!==`vertical`&&o){let t=Ng(e,n,i);if(t){let e=jg(Array.from(t.values()));return e>r?e:void 0}}}if(!kg(e,t,a,i))return;let o=Ag(e,i);return o>r?o:void 0}function Ng(e,t,n){let r=new Map,i=!1;for(let a of e){let e=bg(n?n(a):a,t);if(e===null)return null;r.set(a,e),e.length>1&&(i=!0)}return i?r:null}function Pg(e,t){e.selectAll(`.tick`).each(function(){let e=$(this),n=e.datum(),r=n instanceof Date?n.toISOString():String(n),i=t.get(r);if(!i||i.length<=1)return;let a=e.select(`text`);a.empty()||(a.attr(`dy`,null).text(null),i.forEach((e,t)=>{a.append(`tspan`).attr(`x`,0).attr(`dy`,t===0?`0.71em`:`1em`).text(e)}))})}var Fg=class extends ch{initialize(){this.configDefine(`scale`,{defaultValue:od()}),this.configDefine(`height`,{defaultValue:0}),this.configDefine(`tickPosition`,{defaultValue:`below`}),this.configDefine(`showAxis`,{defaultValue:!0}),this.configDefine(`showTicks`,{defaultValue:!1}),this.configDefine(`gridStyle`,{defaultValue:`dashed`}),this.configDefine(`ticks`,{defaultValue:null}),this.configDefine(`numberFormat`,{defaultValue:null}),this.configDefine(`width`,{defaultValue:0}),this.configDefine(`labels`,{defaultValue:[]}),this.configDefine(`labelPosition`,{defaultValue:`auto`}),this.configDefine(`labelRotation`,{defaultValue:`auto`}),this.configDefine(`zeroY`,{defaultValue:null}),this.configDefine(`tickFormat`,{defaultValue:null});let e=this.base.append(`g`);this.layer(`axis`,e,{dataBind:(e,t)=>e.selectAll(`.bc-axis-horizontal`).data(t),insert:e=>e.append(`g`).attr(`class`,`bc-axis bc-axis-horizontal`),events:{"merge:transition":e=>{this.applyAxis(e,`merge`)},exit:e=>{e.remove()},enter:e=>{this.applyAxis(e,`enter`)}}})}applyAxis(e,t){let n=this.config(`scale`),r=this.config(`scale`),i=this.config(`tickPosition`),a=this.config(`height`),o=this.config(`labelPosition`),s=this.config(`labelRotation`),c=this.config(`width`),l=this.config(`numberFormat`),u=this.config(`labels`),d=this.config(`tickFormat`),f=i===`above`?da(n):pa(n);this.config(`showTicks`)||f.tickSizeOuter(0);let p=d||Cg(l,u);p&&f.tickFormat(p);let m=Sg(r),h=m?r.domain():[],g=m&&s!==`vertical`&&yi(h)!==null,_=null,v=!1;if(m&&!g&&h.length>1&&c>0){let e=c/h.length*hg,t=wg(h,p)>e;s===`vertical`?v=!0:t&&(_=Ng(h,e,p),!_&&s===`auto`&&(v=!0))}let y=o===`auto`?`outside`:o,b=this.config(`ticks`);if(!b&&c>0){if(m){if(g||!v&&!_&&y!==`off`){let e=Dg(h,c,p);e.length<h.length&&(b=e)}}else{let e=Ti(r,Math.max(2,Math.floor(c/ug)));e?b=e:f.ticks(Og(r,c,p))}}b&&f.tickValues(b);let x=i===`above`?0:a,S=e.node(),C=t===`merge`?og():0;if(t===`merge`){if(!S)return;C>0?(e.attr(`transform`,`translate(0,${x})`),e.duration(C).call(f)):$(S).attr(`transform`,`translate(0,${x})`).call(f)}else e.attr(`transform`,`translate(0,${x})`),e.call(f);let w=C>0?e:S?$(S):e;if(!this.config(`showAxis`))w.select(`.domain`).remove();else if(t===`enter`){let e=this.config(`zeroY`);if(e!=null){let t=e-(i===`above`?0:a);w.select(`.domain`).attr(`transform`,`translate(0,${t})`)}}this.config(`showTicks`)||w.selectAll(`.tick line`).remove(),y===`off`?w.selectAll(`.tick text`).remove():y===`inside`&&w.selectAll(`.tick text`).attr(`y`,0).attr(`dy`,`-0.6em`),v&&y!==`off`?w.selectAll(`.tick text`).attr(`transform`,`rotate(-90)`).attr(`text-anchor`,`end`).attr(`x`,i===`above`?9:-9).attr(`y`,0).attr(`dy`,`0.32em`):(w.selectAll(`.tick text`).attr(`transform`,null),y!==`off`&&Ig(w,c)),_&&y!==`off`&&Pg(w,_)}postDraw(){let e=this.config(`gridStyle`),t=this.config(`height`),n=this.base.select(`.bc-axis-horizontal`).node();n&&Lg(n,e,t)}};function Ig(e,t){t>0&&e.selectAll(`.tick text`).each((e,n,r)=>{let i=r[n],a=i.parentElement,o=Number(/translate\(([-\d.]+)/.exec(a?.getAttribute(`transform`)??``)?.[1]??`NaN`);if(!Number.isFinite(o))return;let s=Fh(i.textContent??``,dg)/2;o-s<0?$(i).attr(`text-anchor`,`start`):o+s>t&&$(i).attr(`text-anchor`,`end`)})}function Lg(e,t,n){let r=e.ownerSVGElement?.parentElement??document.documentElement,i=getComputedStyle(r).getPropertyValue(`--bc-grid-color`).trim()||`#ccc`,a=t===`none`||n<=0?[]:[null];$(e).selectAll(`.tick`).each(function(){$(this).selectAll(`.bc-grid-line`).data(a).join(`line`).attr(`class`,`bc-grid-line`).attr(`x1`,0).attr(`x2`,0).attr(`y1`,0).attr(`y2`,-n).attr(`stroke`,i).attr(`stroke-width`,1).attr(`stroke-dasharray`,Rg[t]??null)})}var Rg={dashed:`4,4`,dotted:`1,3`};function zg(e,t,n,r={},i){let a=new Fg($(e));if(i){i.querySelectorAll(`.bc-grid-line`).forEach(e=>e.remove());let t=e.lastElementChild;t&&t.appendChild(i)}let o=Sg(t)?t.domain():[];return a.config({scale:t,height:n,tickPosition:r.tickPosition??`below`,showAxis:r.showAxis??!0,showTicks:r.showTicks??!1,gridStyle:r.gridStyle??`dashed`,ticks:r.ticks??null,numberFormat:r.numberFormat??null,width:r.width??0,labels:o,labelPosition:r.labelPosition??`auto`,labelRotation:r.labelRotation??`auto`,zeroY:r.zeroY??null,tickFormat:r.tickFormat??null}),a.draw([{placeholder:!0}]),e.querySelector(`.bc-axis-horizontal`)}var Bg=30;function Vg(e){return typeof e.bandwidth==`function`}var Hg=class extends ch{initialize(){this.configDefine(`scale`,{defaultValue:Sd()}),this.configDefine(`direction`,{defaultValue:Ir.Left}),this.configDefine(`showAxis`,{defaultValue:!0}),this.configDefine(`showTicks`,{defaultValue:!1}),this.configDefine(`gridStyle`,{defaultValue:Rr.Dashed}),this.configDefine(`gridWidth`,{defaultValue:0}),this.configDefine(`height`,{defaultValue:0}),this.configDefine(`ticks`,{defaultValue:null}),this.configDefine(`numberFormat`,{defaultValue:null}),this.configDefine(`labelPosition`,{defaultValue:zr.Auto}),this.configDefine(`topPadding`,{defaultValue:0}),this.configDefine(`tickFormat`,{defaultValue:null});let e=this.base.append(`g`);this.layer(`axis`,e,{dataBind:(e,t)=>e.selectAll(`.bc-axis-vertical`).data(t),insert:e=>e.append(`g`).attr(`class`,`bc-axis bc-axis-vertical`),events:{"merge:transition":e=>{let t=this.config(`scale`),n=this.config(`direction`),r=this.config(`showAxis`),i=this.config(`showTicks`),a=this.config(`labelPosition`),o=this.config(`gridWidth`),s=this.config(`height`),c=n===Ir.Right?fa(t):ma(t);i||c.tickSizeOuter(0);let l=this.config(`ticks`);if(l)c.tickValues(l);else if(s>0){let e=Math.max(2,Math.floor(s/Bg)),n=Ti(t,e);n?c.tickValues(n):c.ticks(e)}let u=this.config(`tickFormat`);if(u)c.tickFormat(u);else{let e=this.config(`numberFormat`),n=e&&!Vg(t)?Sh(e):null;n&&c.tickFormat(n)}let d=og(),f=e.node();if(f){d>0?e.duration(d).call(c):$(f).call(c),r||$(f).select(`.domain`).remove(),i||$(f).selectAll(`.tick line`).attr(`opacity`,0);let t=a===zr.Auto?o>0&&o<400?zr.Inside:zr.Outside:a;if(t===zr.Inside){let t=r?4:0,i=d>0?e.selectAll(`.tick text`):$(f).selectAll(`.tick text`);$(f).selectAll(`.tick text`).classed(`bc-axis-label-inside`,!0),n===Ir.Right?i.attr(`x`,-t).attr(`dy`,`-0.4em`).attr(`text-anchor`,`end`):i.attr(`x`,t).attr(`dy`,`-0.4em`).attr(`text-anchor`,`start`)}else t===zr.Off&&$(f).selectAll(`.tick text`).attr(`opacity`,0)}},exit:e=>{e.remove()},enter:e=>{let t=this.config(`scale`),n=this.config(`direction`),r=this.config(`labelPosition`),i=this.config(`gridWidth`),a=this.config(`height`),o=this.config(`topPadding`),s=n===Ir.Right?fa(t):ma(t);this.config(`showTicks`)||s.tickSizeOuter(0);let c=this.config(`ticks`);if(c)s.tickValues(c);else if(a>0){let e=Math.max(2,Math.floor(a/Bg)),n=Ti(t,e);n?s.tickValues(n):s.ticks(e)}let l=this.config(`tickFormat`);if(l)s.tickFormat(l);else{let e=this.config(`numberFormat`),n=e&&!Vg(t)?Sh(e):null;n&&s.tickFormat(n)}e.call(s);let u=this.config(`showAxis`),d=this.config(`showTicks`);u||e.select(`.domain`).remove();let f=r===zr.Auto?i>0&&i<400?zr.Inside:zr.Outside:r;if(f===zr.Inside){let t=u?4:0;if(e.selectAll(`.tick text`).classed(`bc-axis-label-inside`,!0),n===Ir.Right?e.selectAll(`.tick text`).attr(`x`,-t).attr(`dy`,`-0.4em`).attr(`text-anchor`,`end`):e.selectAll(`.tick text`).attr(`x`,t).attr(`dy`,`-0.4em`).attr(`text-anchor`,`start`),d?e.selectAll(`.tick line`).attr(`x2`,n===Ir.Right?-6:6):e.selectAll(`.tick line`).remove(),o>0&&u){let t=e.select(`.domain`);if(!t.empty()){let e=t.attr(`d`),n=e.replace(/V[\d.]+/,`V${-o}`);n!==e&&t.attr(`d`,n)}}}else d||e.selectAll(`.tick line`).remove(),f===zr.Off&&e.selectAll(`.tick text`).remove()}}})}postDraw(){let e=this.config(`gridStyle`),t=this.config(`gridWidth`),n=this.config(`direction`),r=this.base.select(`.bc-axis-vertical`).node();r&&Wg(r,e,n===Ir.Right?-t:t)}},Ug={[Rr.Dashed]:`4,4`,[Rr.Dotted]:`1,3`};function Wg(e,t,n){let r=e.ownerSVGElement?.parentElement??document.documentElement,i=getComputedStyle(r).getPropertyValue(`--bc-grid-color`).trim()||`#ccc`,a=t===Rr.None||n===0?[]:[null];$(e).selectAll(`.tick`).each(function(){$(this).selectAll(`.bc-grid-line`).data(a).join(`line`).attr(`class`,`bc-grid-line`).attr(`x1`,0).attr(`x2`,n).attr(`y1`,0).attr(`y2`,0).attr(`stroke`,i).attr(`stroke-width`,1).attr(`stroke-dasharray`,Ug[t]??null)})}function Gg(e){return typeof e.step==`function`}var Kg=new WeakMap,qg=new WeakMap;function Jg(e,t){let n=qg.get(e);qg.set(e,t),n!==void 0&&n!==t&&Kg.get(e)?.destroy()}var Yg=class e{vGroup=null;hGroup=null;vChart=null;hChart=null;container;initialized=!1;constructor(e){this.container=e}static for(t){let n=Kg.get(t);return n||(n=new e(t),Kg.set(t,n)),n}static clear(e){Kg.delete(e)}detach(){this.vGroup?.parentNode&&($(this.vGroup).interrupt().selectAll(`*`).interrupt(),this.vGroup.querySelectorAll(`.bc-grid-line`).forEach(e=>e.remove()),this.vGroup.remove()),this.hGroup?.parentNode&&($(this.hGroup).interrupt().selectAll(`*`).interrupt(),this.hGroup.querySelectorAll(`.bc-grid-line`).forEach(e=>e.remove()),this.hGroup.remove())}attach(e,t){if(!this.initialized)this.vGroup=document.createElementNS(`http://www.w3.org/2000/svg`,`g`),this.vGroup.setAttribute(`class`,`bc-axis-service-v`),this.hGroup=document.createElementNS(`http://www.w3.org/2000/svg`,`g`),this.hGroup.setAttribute(`class`,`bc-axis-service-h`),e.appendChild(this.vGroup),e.appendChild(this.hGroup),this.vChart=new Hg($(this.vGroup)),this.hChart=new Fg($(this.hGroup)),this.initialized=!0;else{for(let e of[this.vGroup,this.hGroup])$(e).interrupt(),e.removeAttribute(`transform`),$(e).selectAll(`.tick`).interrupt();if(e.appendChild(this.vGroup),e.appendChild(this.hGroup),t&&(Math.abs(t.dx)>=1||Math.abs(t.dy)>=1)){let{dx:e,dy:n}=t;for(let t of[this.vGroup,this.hGroup]){t.setAttribute(`transform`,`translate(${e},${n})`);let r=og();r>0?$(t).transition().duration(r).attrTween(`transform`,()=>{let t=_c(e,0),r=_c(n,0);return e=>`translate(${t(e)},${r(e)})`}):t.removeAttribute(`transform`)}}}}update(e){let t=e.order??`vertical-first`;t===`horizontal-first`?(this.updateHorizontal(e.horizontal),this.updateVertical(e.vertical)):(this.updateVertical(e.vertical),this.updateHorizontal(e.horizontal)),t===`horizontal-first`?this.hGroup&&this.vGroup&&this.hGroup.parentNode&&this.hGroup.parentNode.insertBefore(this.hGroup,this.vGroup):this.vGroup&&this.hGroup&&this.vGroup.parentNode&&this.vGroup.parentNode.insertBefore(this.vGroup,this.hGroup)}updateVertical(e){if(!this.vChart||!this.vGroup)return;if(!e){this.vGroup.style.display=`none`;return}this.vGroup.style.display=``;let t=e.options;this.vChart.config({scale:e.scale,direction:t.direction??`left`,showAxis:t.showAxis??!0,showTicks:t.showTicks??!1,gridStyle:t.gridStyle??`dashed`,gridWidth:t.gridWidth??0,height:e.height,ticks:t.ticks??null,numberFormat:t.numberFormat??null,labelPosition:t.labelPosition??`auto`,topPadding:t.topPadding??0,tickFormat:t.tickFormat??null}),this.vChart.draw([{placeholder:!0}]);let n=this.vGroup.querySelector(`.bc-axis-vertical`);n&&(t.direction??`left`)===`right`?n.setAttribute(`transform`,`translate(${t.gridWidth??0},0)`):n&&n.removeAttribute(`transform`)}updateHorizontal(e){if(!this.hChart||!this.hGroup)return;if(!e){this.hGroup.style.display=`none`;return}this.hGroup.style.display=``;let t=e.options,n=e.scale,r=Gg(n)?n.domain():[];this.hChart.config({scale:n,height:e.height,tickPosition:t.tickPosition??`below`,showAxis:t.showAxis??!0,showTicks:t.showTicks??!1,gridStyle:t.gridStyle??`dashed`,ticks:t.ticks??null,numberFormat:t.numberFormat??null,width:t.width??0,labels:r,labelPosition:t.labelPosition??`auto`,labelRotation:t.labelRotation??`auto`,zeroY:t.zeroY??null,tickFormat:t.tickFormat??null}),this.hChart.draw([{placeholder:!0}])}destroy(){this.detach(),this.vChart=null,this.hChart=null,this.vGroup=null,this.hGroup=null,this.initialized=!1,Kg.delete(this.container)}},Xg=Math.min,Zg=Math.max,Qg=Math.round,$g=e=>({x:e,y:e}),e_={left:`right`,right:`left`,bottom:`top`,top:`bottom`};function t_(e,t,n){return Zg(e,Xg(t,n))}function n_(e,t){return typeof e==`function`?e(t):e}function r_(e){return e.split(`-`)[0]}function i_(e){return e.split(`-`)[1]}function a_(e){return e===`x`?`y`:`x`}function o_(e){return e===`y`?`height`:`width`}function s_(e){let t=e[0];return t===`t`||t===`b`?`y`:`x`}function c_(e){return a_(s_(e))}function l_(e,t,n){n===void 0&&(n=!1);let r=i_(e),i=c_(e),a=o_(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=v_(o)),[o,v_(o)]}function u_(e){let t=v_(e);return[d_(e),t,d_(t)]}function d_(e){return e.includes(`start`)?e.replace(`start`,`end`):e.replace(`end`,`start`)}var f_=[`left`,`right`],p_=[`right`,`left`],m_=[`top`,`bottom`],h_=[`bottom`,`top`];function g_(e,t,n){switch(e){case`top`:case`bottom`:return n?t?p_:f_:t?f_:p_;case`left`:case`right`:return t?m_:h_;default:return[]}}function __(e,t,n,r){let i=i_(e),a=g_(r_(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(d_)))),a}function v_(e){let t=r_(e);return e_[t]+e.slice(t.length)}function y_(e){return{top:e.top??0,right:e.right??0,bottom:e.bottom??0,left:e.left??0}}function b_(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:y_(e)}function x_(e){let{x:t,y:n,width:r,height:i}=e;return{width:r,height:i,top:n,left:t,right:t+r,bottom:n+i,x:t,y:n}}function S_(e,t,n){let{reference:r,floating:i}=e,a=s_(t),o=c_(t),s=o_(o),c=r_(t),l=a===`y`,u=r.x+r.width/2-i.width/2,d=r.y+r.height/2-i.height/2,f=r[s]/2-i[s]/2,p;switch(c){case`top`:p={x:u,y:r.y-i.height};break;case`bottom`:p={x:u,y:r.y+r.height};break;case`right`:p={x:r.x+r.width,y:d};break;case`left`:p={x:r.x-i.width,y:d};break;default:p={x:r.x,y:r.y}}let m=i_(t);return m&&(p[o]+=f*(m===`end`?1:-1)*(n&&l?-1:1)),p}async function C_(e,t){t===void 0&&(t={});let{x:n,y:r,platform:i,rects:a,elements:o,strategy:s}=e,{boundary:c=`clippingAncestors`,rootBoundary:l=`viewport`,elementContext:u=`floating`,altBoundary:d=!1,padding:f=0}=n_(t,e),p=b_(f),m=o[d?u===`floating`?`reference`:`floating`:u],h=x_(await i.getClippingRect({element:await(i.isElement==null?void 0:i.isElement(m))??!0?m:m.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(o.floating)),boundary:c,rootBoundary:l,strategy:s})),g=u===`floating`?{x:n,y:r,width:a.floating.width,height:a.floating.height}:a.reference,_=await(i.getOffsetParent==null?void 0:i.getOffsetParent(o.floating)),v=await(i.isElement==null?void 0:i.isElement(_))&&await(i.getScale==null?void 0:i.getScale(_))||{x:1,y:1},y=x_(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:o,rect:g,offsetParent:_,strategy:s}):g);return{top:(h.top-y.top+p.top)/v.y,bottom:(y.bottom-h.bottom+p.bottom)/v.y,left:(h.left-y.left+p.left)/v.x,right:(y.right-h.right+p.right)/v.x}}var w_=50,T_=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=o.detectOverflow?o:{...o,detectOverflow:C_},c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=S_(l,r,c),f=r,p=0,m={};for(let n=0;n<a.length;n++){let h=a[n];if(!h)continue;let{name:g,fn:_}=h,{x:v,y,data:b,reset:x}=await _({x:u,y:d,initialPlacement:r,placement:f,strategy:i,middlewareData:m,rects:l,platform:s,elements:{reference:e,floating:t}});u=v??u,d=y??d,m[g]={...m[g],...b},x&&p<w_&&(p++,typeof x==`object`&&(x.placement&&(f=x.placement),x.rects&&(l=x.rects===!0?await o.getElementRects({reference:e,floating:t,strategy:i}):x.rects),{x:u,y:d}=S_(l,f,c)),n=-1)}return{x:u,y:d,placement:f,strategy:i,middlewareData:m}},E_=function(e){return e===void 0&&(e={}),{name:`flip`,options:e,async fn(t){var n;let{placement:r,middlewareData:i,rects:a,initialPlacement:o,platform:s,elements:c}=t,{mainAxis:l=!0,crossAxis:u=!0,fallbackPlacements:d,fallbackStrategy:f=`bestFit`,fallbackAxisSideDirection:p=`none`,flipAlignment:m=!0,...h}=n_(e,t);if((n=i.arrow)!=null&&n.alignmentOffset)return{};let g=r_(r),_=s_(o),v=r_(o)===o,y=await(s.isRTL==null?void 0:s.isRTL(c.floating)),b=d||(v||!m?[v_(o)]:u_(o)),x=p!==`none`;!d&&x&&b.push(...__(o,m,p,y));let S=[o,...b],C=await s.detectOverflow(t,h),w=[],T=i.flip?.overflows||[];if(l&&w.push(C[g]),u){let e=l_(r,a,y);w.push(C[e[0]],C[e[1]])}if(T=[...T,{placement:r,overflows:w}],!w.every(e=>e<=0)){let e=(i.flip?.index||0)+1,t=S[e];if(t&&(u!==`alignment`||_===s_(t)||T.every(e=>s_(e.placement)!==_||e.overflows[0]>0)))return{data:{index:e,overflows:T},reset:{placement:t}};let n=T.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0]?.placement;if(!n)switch(f){case`bestFit`:{let e=T.filter(e=>{if(x){let t=s_(e.placement);return t===_||t===`y`}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0]?.[0];e&&(n=e);break}case`initialPlacement`:n=o}if(r!==n)return{reset:{placement:n}}}return{}}}},D_=new Set([`left`,`top`]);async function O_(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=r_(n),s=i_(n),c=s_(n)===`y`,l=D_.has(o)?-1:1,u=a&&c?-1:1,d=n_(t,e),{mainAxis:f,crossAxis:p,alignmentAxis:m}=typeof d==`number`?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return s&&typeof m==`number`&&(p=s===`end`?m*-1:m),c?{x:p*u,y:f*l}:{x:f*l,y:p*u}}var k_=function(e){return e===void 0&&(e=0),{name:`offset`,options:e,async fn(t){var n;let{x:r,y:i,placement:a,middlewareData:o}=t,s=await O_(t,e);return a===o.offset?.placement&&(n=o.arrow)!=null&&n.alignmentOffset?{}:{x:r+s.x,y:i+s.y,data:{...s,placement:a}}}}},A_=function(e){return e===void 0&&(e={}),{name:`shift`,options:e,async fn(t){let{x:n,y:r,placement:i,platform:a}=t,{mainAxis:o=!0,crossAxis:s=!1,limiter:c={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...l}=n_(e,t),u={x:n,y:r},d=await a.detectOverflow(t,l),f=s_(i),p=a_(f),m=u[p],h=u[f],g=(e,t)=>t_(t+d[e===`y`?`top`:`left`],t,t-d[e===`y`?`bottom`:`right`]);o&&(m=g(p,m)),s&&(h=g(f,h));let _=c.fn({...t,[p]:m,[f]:h});return{..._,data:{x:_.x-n,y:_.y-r,enabled:{[p]:o,[f]:s}}}}}};function j_(){return typeof window<`u`}function M_(e){return F_(e)?(e.nodeName||``).toLowerCase():`#document`}function N_(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function P_(e){return((F_(e)?e.ownerDocument:e.document)||window.document)?.documentElement}function F_(e){return j_()?e instanceof Node||e instanceof N_(e).Node:!1}function I_(e){return j_()?e instanceof Element||e instanceof N_(e).Element:!1}function L_(e){return j_()?e instanceof HTMLElement||e instanceof N_(e).HTMLElement:!1}function R_(e){return!j_()||typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot||e instanceof N_(e).ShadowRoot}function z_(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=X_(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&i!==`inline`&&i!==`contents`}function B_(e){return/^(table|td|th)$/.test(M_(e))}function V_(e){try{if(e.matches(`:popover-open`))return!0}catch{}try{return e.matches(`:modal`)}catch{return!1}}var H_=/transform|translate|scale|rotate|perspective|filter/,U_=/paint|layout|strict|content/,W_=e=>!!e&&e!==`none`,G_;function K_(e){let t=I_(e)?X_(e):e;return W_(t.transform)||W_(t.translate)||W_(t.scale)||W_(t.rotate)||W_(t.perspective)||!J_()&&(W_(t.backdropFilter)||W_(t.filter))||H_.test(t.willChange||``)||U_.test(t.contain||``)}function q_(e){let t=Q_(e);for(;L_(t)&&!Y_(t);){if(K_(t))return t;if(V_(t))return null;t=Q_(t)}return null}function J_(){return G_??=typeof CSS<`u`&&CSS.supports&&CSS.supports(`-webkit-backdrop-filter`,`none`),G_}function Y_(e){return/^(html|body|#document)$/.test(M_(e))}function X_(e){return N_(e).getComputedStyle(e)}function Z_(e){return I_(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function Q_(e){if(M_(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||R_(e)&&e.host||P_(e);return R_(t)?t.host:t}function $_(e){let t=Q_(e);return Y_(t)?(e.ownerDocument||e).body:L_(t)&&z_(t)?t:$_(t)}function ev(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!0);let r=$_(e),i=r===e.ownerDocument?.body,a=N_(r);if(i){let e=tv(a);return t.concat(a,a.visualViewport||[],z_(r)?r:[],e&&n?ev(e):[])}return t.concat(r,ev(r,[],n))}function tv(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function nv(e){let t=X_(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=L_(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r,s=Qg(n)!==a||Qg(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function rv(e){return I_(e)?e:e.contextElement}function iv(e){let t=rv(e);if(!L_(t))return $g(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=nv(t),o=(a?Qg(n.width):n.width)/r,s=(a?Qg(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}var av=$g(0);function ov(e){let t=N_(e);return!J_()||!t.visualViewport?av:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function sv(e,t,n){return t===void 0&&(t=!1),!!n&&t&&n===N_(e)}function cv(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=rv(e),o=$g(1);t&&(r?I_(r)&&(o=iv(r)):o=iv(e));let s=sv(a,n,r)?ov(a):$g(0),c=(i.left+s.x)/o.x,l=(i.top+s.y)/o.y,u=i.width/o.x,d=i.height/o.y;if(a&&r){let e=N_(a),t=I_(r)?N_(r):r,n=e,i=tv(n);for(;i&&t!==n;){let e=iv(i),t=i.getBoundingClientRect(),r=X_(i),a=t.left+(i.clientLeft+parseFloat(r.paddingLeft))*e.x,o=t.top+(i.clientTop+parseFloat(r.paddingTop))*e.y;c*=e.x,l*=e.y,u*=e.x,d*=e.y,c+=a,l+=o,n=N_(i),i=tv(n)}}return x_({width:u,height:d,x:c,y:l})}function lv(e,t){let n=Z_(e).scrollLeft;return t?t.left+n:cv(P_(e)).left+n}function uv(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-lv(e,n),y:n.top+t.scrollTop}}function dv(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,a=i===`fixed`,o=P_(r),s=t?V_(t.floating):!1;if(r===o||s&&a)return n;let c={scrollLeft:0,scrollTop:0},l=$g(1),u=$g(0),d=L_(r);if((d||!a)&&((M_(r)!==`body`||z_(o))&&(c=Z_(r)),d)){let e=cv(r);l=iv(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}let f=o&&!d&&!a?uv(o,c):$g(0);return{width:n.width*l.x,height:n.height*l.y,x:n.x*l.x-c.scrollLeft*l.x+u.x+f.x,y:n.y*l.y-c.scrollTop*l.y+u.y+f.y}}function fv(e){return e.getClientRects?Array.from(e.getClientRects()):[]}function pv(e){let t=Z_(e),n=e.ownerDocument.body,r=Zg(e.scrollWidth,e.clientWidth,n.scrollWidth,n.clientWidth),i=Zg(e.scrollHeight,e.clientHeight,n.scrollHeight,n.clientHeight),a=-t.scrollLeft+lv(e),o=-t.scrollTop;return X_(n).direction===`rtl`&&(a+=Zg(e.clientWidth,n.clientWidth)-r),{width:r,height:i,x:a,y:o}}var mv=25;function hv(e,t,n){n===void 0&&(n=`viewport`);let r=n===`layoutViewport`,i=N_(e),a=P_(e),o=i.visualViewport,s=a.clientWidth,c=a.clientHeight,l=0,u=0;if(o){let e=!J_()||t===`fixed`;r?e||(l=-o.offsetLeft,u=-o.offsetTop):(s=o.width,c=o.height,e&&(l=o.offsetLeft,u=o.offsetTop))}if(lv(a)<=0){let e=a.ownerDocument,t=e.body,n=getComputedStyle(t),r=e.compatMode===`CSS1Compat`&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,i=Math.abs(a.clientWidth-t.clientWidth-r),o=getComputedStyle(a).scrollbarGutter===`stable both-edges`?i/2:i;o<=mv&&(s-=o)}return{width:s,height:c,x:l,y:u}}function gv(e,t){let n=cv(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=iv(e);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function _v(e,t,n){let r;if(t===`viewport`||t===`layoutViewport`)r=hv(e,n,t);else if(t===`document`)r=pv(P_(e));else if(I_(t))r=gv(t,n);else{let n=ov(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return x_(r)}function vv(e,t){let n=t.get(e);if(n)return n;let r=ev(e,[],!1).filter(e=>I_(e)&&M_(e)!==`body`),i=null,a=X_(e).position===`fixed`,o=a?Q_(e):e;for(;I_(o)&&!Y_(o);){let e=X_(o),t=K_(o),n=i?i.position:a?`fixed`:``;!t&&(n===`fixed`||n===`absolute`&&e.position===`static`)?r=r.filter(e=>e!==o):i=e,o=Q_(o)}return t.set(e,r),r}function yv(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?V_(t)?[]:vv(t,this._c):[].concat(n),r],o=_v(t,a[0],i),s=o.top,c=o.right,l=o.bottom,u=o.left;for(let e=1;e<a.length;e++){let n=_v(t,a[e],i);s=Zg(n.top,s),c=Xg(n.right,c),l=Xg(n.bottom,l),u=Zg(n.left,u)}return{width:c-u,height:l-s,x:u,y:s}}function bv(e){let{width:t,height:n}=nv(e);return{width:t,height:n}}function xv(e,t,n){let r=L_(t),i=P_(t),a=n===`fixed`,o=cv(e,!0,a,t),s={scrollLeft:0,scrollTop:0},c=$g(0);if((r||!a)&&((M_(t)!==`body`||z_(i))&&(s=Z_(t)),r)){let e=cv(t,!0,a,t);c.x=e.x+t.clientLeft,c.y=e.y+t.clientTop}!r&&i&&(c.x=lv(i));let l=i&&!r&&!a?uv(i,s):$g(0);return{x:o.left+s.scrollLeft-c.x-l.x,y:o.top+s.scrollTop-c.y-l.y,width:o.width,height:o.height}}function Sv(e){return X_(e).position===`static`}function Cv(e,t){if(!L_(e)||X_(e).position===`fixed`)return null;if(t)return t(e);let n=e.offsetParent;return P_(e)===n&&(n=n.ownerDocument.body),n}function wv(e,t){let n=N_(e);if(V_(e))return n;if(!L_(e)){let t=Q_(e);for(;t&&!Y_(t);){if(I_(t)&&!Sv(t))return t;t=Q_(t)}return n}let r=Cv(e,t);for(;r&&B_(r)&&Sv(r);)r=Cv(r,t);return r&&Y_(r)&&Sv(r)&&!K_(r)?n:r||q_(e)||n}var Tv=async function(e){let t=this.getOffsetParent||wv,n=this.getDimensions,r=await n(e.floating);return{reference:xv(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function Ev(e){return X_(e).direction===`rtl`}var Dv={convertOffsetParentRelativeRectToViewportRelativeRect:dv,getDocumentElement:P_,getClippingRect:yv,getOffsetParent:wv,getElementRects:Tv,getClientRects:fv,getDimensions:bv,getScale:iv,isElement:I_,isRTL:Ev},Ov=k_,kv=A_,Av=E_,jv=(e,t,n)=>{let r=new Map,i=n??{},a={...Dv,...i.platform,_c:r};return T_(e,t,{...i,platform:a})},Mv=`bc-tooltip`;function Nv(){if(document.getElementById(`bc-tooltip-styles`))return;let e=document.createElement(`style`);e.id=`bc-tooltip-styles`,e.textContent=`
|
|
313
|
-
.${
|
|
310
|
+
`}function mt(){return`\r`}function ht(){return` `}function gt(e){return String.fromCharCode(parseInt(e,16))}function _t(e){Et(`Unknown escape sequence \\`+e)}function vt(e){return e}function yt(e){return e}function bt(e){return e.trim()}function xt(e){return e.trim()}let q=t.peg$currPos|0,J=q,St=[{line:1,column:1}],Ct=q,wt=t.peg$maxFailExpected||[],Y=t.peg$silentFails|0,Tt;if(t.startRule){if(!(t.startRule in i))throw Error(`Can't start parsing from rule "`+t.startRule+`".`);a=i[t.startRule]}function Et(e,t){throw t=t===void 0?Pt(J,q):t,Ft(e,t)}function Dt(t=q){let n=e.codePointAt(t);return n===void 0?``:String.fromCodePoint(n)}function Ot(e,t){return{type:`literal`,text:e,ignoreCase:t}}function kt(e,t,n,r){return{type:`class`,parts:e,inverted:t,ignoreCase:n,unicode:r}}function At(){return{type:`any`}}function jt(){return{type:`end`}}function Mt(e){return{type:`other`,description:e}}function Nt(t){let n=St[t],r;if(n)return n;if(t>=St.length)r=St.length-1;else for(r=t;!St[--r];);for(n=St[r],n={line:n.line,column:n.column};r<t;)e.charCodeAt(r)===10?(n.line++,n.column=1):n.column++,r++;return St[t]=n,n}function Pt(e,t,n){let i=Nt(e),a=Nt(t),o={source:r,start:{offset:e,line:i.line,column:i.column},end:{offset:t,line:a.line,column:a.column}};return n&&r&&typeof r.offset==`function`&&(o.start=r.offset(o.start),o.end=r.offset(o.end)),o}function X(e){q<Ct||(q>Ct&&(Ct=q,wt=[]),wt.push(e))}function Ft(e,t){return new O(e,null,null,t)}function It(e,t,n){return new O(O.buildMessage(e,t),e,t,n)}function Lt(){let t,r,i,a,s,c,l,u;if(t=q,vn(),e.substr(q,5)===o?(r=o,q+=5):(r=n,Y===0&&X(M)),r!==n){if(i=_n(),i!==n){if(a=on(),a!==n){if(vn(),e.charCodeAt(q)===123?(s=`{`,q++):(s=n,Y===0&&X(N)),s!==n){for(c=[],l=Rt();l!==n;)c.push(l),l=Rt();l=hn(),e.charCodeAt(q)===125?(u=`}`,q++):(u=n,Y===0&&X(P)),u===n?(q=t,t=n):(vn(),J=t,t=Oe(a,c,l))}else q=t,t=n}else q=t,t=n}else q=t,t=n}else q=t,t=n;return t}function Rt(){let t,r,i,a,o;if(t=q,r=hn(),i=zt(),i===n&&(i=Gt(),i===n&&(i=Kt(),i===n&&(i=qt(),i===n&&(i=Yt(),i===n&&(i=Xt(),i===n&&(i=Jt(),i===n&&(i=Zt(),i===n&&(i=Qt(),i===n&&(i=$t(),i===n&&(i=nn())))))))))),i!==n){for(a=[],o=e.charAt(q),_.test(o)?q++:(o=n,Y===0&&X(F));o!==n;)a.push(o),o=e.charAt(q),_.test(o)?q++:(o=n,Y===0&&X(F));o=gn(),o===n&&(o=null),mn(),J=t,t=ke(r,i,o)}else q=t,t=n;return t}function zt(){let t,r,i,a,o,c;if(t=q,e.substr(q,4)===s?(r=s,q+=4):(r=n,Y===0&&X(I)),r!==n){if(vn(),e.charCodeAt(q)===123?(i=`{`,q++):(i=n,Y===0&&X(N)),i!==n){for(a=[],o=Bt();o!==n;)a.push(o),o=Bt();o=hn(),e.charCodeAt(q)===125?(c=`}`,q++):(c=n,Y===0&&X(P)),c===n?(q=t,t=n):(J=t,t=Ae(a,o))}else q=t,t=n}else q=t,t=n;return t}function Bt(){let t,r,i,a,o;if(t=q,r=hn(),i=Ut(),i===n&&(i=Vt()),i!==n){for(a=[],o=e.charAt(q),_.test(o)?q++:(o=n,Y===0&&X(F));o!==n;)a.push(o),o=e.charAt(q),_.test(o)?q++:(o=n,Y===0&&X(F));o=gn(),o===n&&(o=null),mn(),J=t,t=je(r,i,o)}else q=t,t=n;return t}function Vt(){let t,r,i,a,o,s,c,l;if(t=q,r=Ht(),r!==n){if(vn(),e.charCodeAt(q)===61?(i=`=`,q++):(i=n,Y===0&&X(L)),i!==n){if(vn(),a=an(),a!==n){if(o=[],s=q,e.charCodeAt(q)===44?(c=`,`,q++):(c=n,Y===0&&X(R)),c===n?(q=s,s=n):(vn(),l=an(),l===n?(q=s,s=n):(J=s,s=Me(r,a,l))),s!==n)for(;s!==n;)o.push(s),s=q,e.charCodeAt(q)===44?(c=`,`,q++):(c=n,Y===0&&X(R)),c===n?(q=s,s=n):(vn(),l=an(),l===n?(q=s,s=n):(J=s,s=Me(r,a,l)));else o=n;o===n?(q=t,t=n):(J=t,t=Ne(r,a,o))}else q=t,t=n}else q=t,t=n}else q=t,t=n;return t===n&&(t=q,r=Ht(),r===n?(q=t,t=n):(vn(),e.charCodeAt(q)===61?(i=`=`,q++):(i=n,Y===0&&X(L)),i===n?(q=t,t=n):(vn(),a=an(),a===n?(q=t,t=n):(J=t,t=Pe(r,a))))),t}function Ht(){let e,t;return e=q,t=cn(),t!==n&&(J=e,t=Fe(t)),e=t,e===n&&(e=q,t=on(),t!==n&&(J=e,t=Ie(t)),e=t),e}function Ut(){let t,r,i,a;return t=q,r=Wt(),r===n?(q=t,t=n):(e.charCodeAt(q)===9?(i=` `,q++):(i=n,Y===0&&X(z)),i===n?(q=t,t=n):(vn(),a=an(),a===n?(q=t,t=n):(J=t,t=Le(r,a)))),t}function Wt(){let t,r,i,a;if(t=q,r=q,i=[],a=e.charAt(q),v.test(a)?q++:(a=n,Y===0&&X(B)),a!==n)for(;a!==n;)i.push(a),a=e.charAt(q),v.test(a)?q++:(a=n,Y===0&&X(B));else i=n;return r=i===n?i:e.substring(r,q),r!==n&&(J=t,r=Re(r)),t=r,t}function Gt(){let t,r,i,a,o,s,l,u;if(t=q,e.substr(q,8)===c?(r=c,q+=8):(r=n,Y===0&&X(V)),r!==n){if(i=_n(),i!==n){if(a=cn(),a!==n){if(vn(),e.charCodeAt(q)===123?(o=`{`,q++):(o=n,Y===0&&X(N)),o!==n){for(s=[],l=tn();l!==n;)s.push(l),l=tn();l=hn(),e.charCodeAt(q)===125?(u=`}`,q++):(u=n,Y===0&&X(P)),u===n?(q=t,t=n):(J=t,t=ze(a,s,l))}else q=t,t=n}else q=t,t=n}else q=t,t=n}else q=t,t=n;return t===n&&(t=q,e.substr(q,8)===c?(r=c,q+=8):(r=n,Y===0&&X(V)),r===n?(q=t,t=n):(i=vn(),e.charCodeAt(q)===123?(a=`{`,q++):(a=n,Y===0&&X(N)),a===n?(q=t,t=n):(J=t,t=Be()))),t}function Kt(){let t,r,i,a,o,s,c,u,d;if(t=q,e.substr(q,9)===l?(r=l,q+=9):(r=n,Y===0&&X(H)),r!==n){if(i=_n(),i!==n){if(a=cn(),a!==n){if(o=vn(),e.charCodeAt(q)===123?(s=`{`,q++):(s=n,Y===0&&X(N)),s!==n){for(c=[],u=tn();u!==n;)c.push(u),u=tn();u=hn(),e.charCodeAt(q)===125?(d=`}`,q++):(d=n,Y===0&&X(P)),d===n?(q=t,t=n):(J=t,t=Ve(a,c,u))}else q=t,t=n}else q=t,t=n}else q=t,t=n}else q=t,t=n;return t===n&&(t=q,e.substr(q,9)===l?(r=l,q+=9):(r=n,Y===0&&X(H)),r===n?(q=t,t=n):(i=_n(),i===n?(q=t,t=n):(a=cn(),a===n?(q=t,t=n):(o=q,Y++,s=q,c=vn(),e.charCodeAt(q)===123?(u=`{`,q++):(u=n,Y===0&&X(N)),u===n?(q=s,s=n):(c=[c,u],s=c),Y--,s===n?o=void 0:(q=o,o=n),o===n?(q=t,t=n):(J=t,t=He(a))))),t===n&&(t=q,e.substr(q,9)===l?(r=l,q+=9):(r=n,Y===0&&X(H)),r===n?(q=t,t=n):(i=vn(),e.charCodeAt(q)===123?(a=`{`,q++):(a=n,Y===0&&X(N)),a===n?(q=t,t=n):(J=t,t=Ue())))),t}function qt(){let t,r,i,a,o,s,c,l,d,f;if(t=q,e.substr(q,9)===u?(r=u,q+=9):(r=n,Y===0&&X(ee)),r!==n){if(i=_n(),i!==n){if(a=cn(),a!==n){if(o=_n(),o!==n){if(s=cn(),s!==n){if(vn(),e.charCodeAt(q)===123?(c=`{`,q++):(c=n,Y===0&&X(N)),c!==n){for(l=[],d=tn();d!==n;)l.push(d),d=tn();d=hn(),e.charCodeAt(q)===125?(f=`}`,q++):(f=n,Y===0&&X(P)),f===n?(q=t,t=n):(J=t,t=We(a,s,l,d))}else q=t,t=n}else q=t,t=n}else q=t,t=n}else q=t,t=n}else q=t,t=n}else q=t,t=n;return t===n&&(t=q,e.substr(q,9)===u?(r=u,q+=9):(r=n,Y===0&&X(ee)),r===n?(q=t,t=n):(i=_n(),i===n?(q=t,t=n):(a=cn(),a===n?(q=t,t=n):(o=vn(),e.charCodeAt(q)===123?(s=`{`,q++):(s=n,Y===0&&X(N)),s===n?(q=t,t=n):(J=t,t=Ge())))),t===n&&(t=q,e.substr(q,9)===u?(r=u,q+=9):(r=n,Y===0&&X(ee)),r===n?(q=t,t=n):(i=vn(),e.charCodeAt(q)===123?(a=`{`,q++):(a=n,Y===0&&X(N)),a===n?(q=t,t=n):(J=t,t=Ke())))),t}function Jt(){let t,r,i,a,o,s,c,l;if(t=q,e.substr(q,10)===d?(r=d,q+=10):(r=n,Y===0&&X(te)),r!==n){if(i=_n(),i!==n){if(a=cn(),a!==n){if(vn(),e.charCodeAt(q)===123?(o=`{`,q++):(o=n,Y===0&&X(N)),o!==n){for(s=[],c=tn();c!==n;)s.push(c),c=tn();c=hn(),e.charCodeAt(q)===125?(l=`}`,q++):(l=n,Y===0&&X(P)),l===n?(q=t,t=n):(J=t,t=qe(a,s,c))}else q=t,t=n}else q=t,t=n}else q=t,t=n}else q=t,t=n;return t===n&&(t=q,e.substr(q,10)===d?(r=d,q+=10):(r=n,Y===0&&X(te)),r===n?(q=t,t=n):(i=vn(),e.charCodeAt(q)===123?(a=`{`,q++):(a=n,Y===0&&X(N)),a===n?(q=t,t=n):(J=t,t=Je()))),t}function Yt(){let t,r,i,a,o,s;if(t=q,e.substr(q,5)===f?(r=f,q+=5):(r=n,Y===0&&X(ne)),r!==n){if(vn(),e.charCodeAt(q)===123?(i=`{`,q++):(i=n,Y===0&&X(N)),i!==n){for(a=[],o=tn();o!==n;)a.push(o),o=tn();o=hn(),e.charCodeAt(q)===125?(s=`}`,q++):(s=n,Y===0&&X(P)),s===n?(q=t,t=n):(J=t,t=Ye(a,o))}else q=t,t=n}else q=t,t=n;return t}function Xt(){let t,r,i,a,o,s;if(t=q,e.substr(q,4)===p?(r=p,q+=4):(r=n,Y===0&&X(re)),r!==n){if(vn(),e.charCodeAt(q)===123?(i=`{`,q++):(i=n,Y===0&&X(N)),i!==n){for(a=[],o=tn();o!==n;)a.push(o),o=tn();o=hn(),e.charCodeAt(q)===125?(s=`}`,q++):(s=n,Y===0&&X(P)),s===n?(q=t,t=n):(J=t,t=Xe(a,o))}else q=t,t=n}else q=t,t=n;return t}function Zt(){let t,r,i,a,o,s,c,l;if(t=q,e.substr(q,6)===m?(r=m,q+=6):(r=n,Y===0&&X(ie)),r!==n){if(i=_n(),i!==n){if(a=cn(),a!==n){if(vn(),e.charCodeAt(q)===123?(o=`{`,q++):(o=n,Y===0&&X(N)),o!==n){for(s=[],c=tn();c!==n;)s.push(c),c=tn();c=hn(),e.charCodeAt(q)===125?(l=`}`,q++):(l=n,Y===0&&X(P)),l===n?(q=t,t=n):(J=t,t=Ze(a,s,c))}else q=t,t=n}else q=t,t=n}else q=t,t=n}else q=t,t=n;return t===n&&(t=q,e.substr(q,6)===m?(r=m,q+=6):(r=n,Y===0&&X(ie)),r===n?(q=t,t=n):(i=vn(),e.charCodeAt(q)===123?(a=`{`,q++):(a=n,Y===0&&X(N)),a===n?(q=t,t=n):(J=t,t=Qe()))),t}function Qt(){let t,r,i,a,o,s,c,l;if(t=q,e.substr(q,5)===h?(r=h,q+=5):(r=n,Y===0&&X(ae)),r!==n){if(i=_n(),i!==n){if(a=cn(),a===n&&(a=null),vn(),e.charCodeAt(q)===123?(o=`{`,q++):(o=n,Y===0&&X(N)),o!==n){for(s=[],c=en();c!==n;)s.push(c),c=en();c=hn(),e.charCodeAt(q)===125?(l=`}`,q++):(l=n,Y===0&&X(P)),l===n?(q=t,t=n):(J=t,t=$e(a,s,c))}else q=t,t=n}else q=t,t=n}else q=t,t=n;return t}function $t(){let t,r,i,a,o,s,c,l;if(t=q,e.substr(q,9)===g?(r=g,q+=9):(r=n,Y===0&&X(U)),r!==n){if(i=_n(),i!==n){if(a=on(),a!==n){if(vn(),e.charCodeAt(q)===123?(o=`{`,q++):(o=n,Y===0&&X(N)),o!==n){for(s=[],c=tn();c!==n;)s.push(c),c=tn();c=hn(),e.charCodeAt(q)===125?(l=`}`,q++):(l=n,Y===0&&X(P)),l===n?(q=t,t=n):(J=t,t=et(a,s,c))}else q=t,t=n}else q=t,t=n}else q=t,t=n}else q=t,t=n;return t}function en(){let t,r,i,a,o;if(t=q,r=hn(),i=zt(),i===n&&(i=Gt(),i===n&&(i=Kt(),i===n&&(i=qt(),i===n&&(i=Yt(),i===n&&(i=Xt(),i===n&&(i=Jt(),i===n&&(i=Zt(),i===n&&(i=$t(),i===n&&(i=nn()))))))))),i!==n){for(a=[],o=e.charAt(q),_.test(o)?q++:(o=n,Y===0&&X(F));o!==n;)a.push(o),o=e.charAt(q),_.test(o)?q++:(o=n,Y===0&&X(F));o=gn(),o===n&&(o=null),mn(),J=t,t=tt(r,i,o)}else q=t,t=n;return t}function tn(){let t,r,i,a;if(t=q,vn(),r=nn(),r!==n){for(i=[],a=e.charAt(q),_.test(a)?q++:(a=n,Y===0&&X(F));a!==n;)i.push(a),a=e.charAt(q),_.test(a)?q++:(a=n,Y===0&&X(F));a=gn(),a===n&&(a=null),mn(),J=t,t=nt(r,a)}else q=t,t=n;return t}function nn(){let t,r,i,a;return t=q,r=rn(),r===n?(q=t,t=n):(vn(),e.charCodeAt(q)===61?(i=`=`,q++):(i=n,Y===0&&X(L)),i===n?(q=t,t=n):(vn(),a=an(),a===n?(q=t,t=n):(J=t,t=rt(r,a)))),t}function rn(){let e;return e=cn(),e===n&&(e=on()),e}function an(){let t,r,i;return t=q,r=sn(),r===n?(q=t,t=n):(e.charCodeAt(q)===37?(i=`%`,q++):(i=n,Y===0&&X(oe)),i===n?(q=t,t=n):(J=t,t=it(r))),t===n&&(t=q,r=sn(),r!==n&&(J=t,r=at(r)),t=r,t===n&&(t=q,r=cn(),r!==n&&(J=t,r=ot(r)),t=r,t===n&&(t=q,r=on(),r!==n&&(J=t,r=st(r)),t=r))),t}function on(){let t,r,i,a,o;if(Y++,t=q,r=q,i=e.charAt(q),y.test(i)?q++:(i=n,Y===0&&X(ce)),i!==n){for(a=[],o=e.charAt(q),b.test(o)?q++:(o=n,Y===0&&X(le));o!==n;)a.push(o),o=e.charAt(q),b.test(o)?q++:(o=n,Y===0&&X(le));i=[i,a],r=i}else q=r,r=n;return t=r===n?r:e.substring(t,q),Y--,t===n&&(r=n,Y===0&&X(se)),t}function sn(){let t,r,i,a,o,s,c,l,u,d;if(t=q,r=q,i=q,e.charCodeAt(q)===45?(a=`-`,q++):(a=n,Y===0&&X(ue)),a===n&&(a=null),o=q,e.charCodeAt(q)===46?(s=`.`,q++):(s=n,Y===0&&X(de)),s!==n){if(c=[],l=e.charAt(q),x.test(l)?q++:(l=n,Y===0&&X(W)),l!==n)for(;l!==n;)c.push(l),l=e.charAt(q),x.test(l)?q++:(l=n,Y===0&&X(W));else c=n;c===n?(q=o,o=n):(s=[s,c],o=s)}else q=o,o=n;if(o===n){if(o=q,s=[],c=e.charAt(q),x.test(c)?q++:(c=n,Y===0&&X(W)),c!==n)for(;c!==n;)s.push(c),c=e.charAt(q),x.test(c)?q++:(c=n,Y===0&&X(W));else s=n;if(s!==n){if(c=q,e.charCodeAt(q)===46?(l=`.`,q++):(l=n,Y===0&&X(de)),l!==n){for(u=[],d=e.charAt(q),x.test(d)?q++:(d=n,Y===0&&X(W));d!==n;)u.push(d),d=e.charAt(q),x.test(d)?q++:(d=n,Y===0&&X(W));l=[l,u],c=l}else q=c,c=n;c===n&&(c=null),s=[s,c],o=s}else q=o,o=n}if(o!==n){if(s=q,c=e.charAt(q),S.test(c)?q++:(c=n,Y===0&&X(G)),c!==n){if(l=e.charAt(q),C.test(l)?q++:(l=n,Y===0&&X(fe)),l===n&&(l=null),u=[],d=e.charAt(q),x.test(d)?q++:(d=n,Y===0&&X(W)),d!==n)for(;d!==n;)u.push(d),d=e.charAt(q),x.test(d)?q++:(d=n,Y===0&&X(W));else u=n;u===n?(q=s,s=n):(c=[c,l,u],s=c)}else q=s,s=n;s===n&&(s=null),a=[a,o,s],i=a}else q=i,i=n;return r=i===n?i:e.substring(r,q),r!==n&&(J=t,r=ct(r)),t=r,t}function cn(){let t,r,i,a;if(Y++,t=q,e.charCodeAt(q)===34?(r=`"`,q++):(r=n,Y===0&&X(me)),r!==n){for(i=[],a=ln();a!==n;)i.push(a),a=ln();e.charCodeAt(q)===34?(a=`"`,q++):(a=n,Y===0&&X(me)),a===n?(q=t,t=n):(J=t,t=lt(i))}else q=t,t=n;return Y--,t===n&&(r=n,Y===0&&X(pe)),t}function ln(){let t,r,i;return t=q,e.charCodeAt(q)===92?(r=`\\`,q++):(r=n,Y===0&&X(he)),r===n?(q=t,t=n):(i=un(),i===n?(q=t,t=n):(J=t,t=ut(i))),t===n&&(t=e.charAt(q),w.test(t)?q++:(t=n,Y===0&&X(ge))),t}function un(){let t,r,i,a,o,s,c,l;return t=q,e.charCodeAt(q)===34?(r=`"`,q++):(r=n,Y===0&&X(me)),r!==n&&(J=t,r=dt()),t=r,t===n&&(t=q,e.charCodeAt(q)===92?(r=`\\`,q++):(r=n,Y===0&&X(he)),r!==n&&(J=t,r=ft()),t=r,t===n&&(t=q,e.charCodeAt(q)===110?(r=`n`,q++):(r=n,Y===0&&X(_e)),r!==n&&(J=t,r=pt()),t=r,t===n&&(t=q,e.charCodeAt(q)===114?(r=`r`,q++):(r=n,Y===0&&X(ve)),r!==n&&(J=t,r=mt()),t=r,t===n&&(t=q,e.charCodeAt(q)===116?(r=`t`,q++):(r=n,Y===0&&X(ye)),r!==n&&(J=t,r=ht()),t=r,t===n&&(t=q,e.charCodeAt(q)===117?(r=`u`,q++):(r=n,Y===0&&X(be)),r===n?(q=t,t=n):(i=q,a=q,o=e.charAt(q),k.test(o)?q++:(o=n,Y===0&&X(xe)),o===n?(q=a,a=n):(s=e.charAt(q),k.test(s)?q++:(s=n,Y===0&&X(xe)),s===n?(q=a,a=n):(c=e.charAt(q),k.test(c)?q++:(c=n,Y===0&&X(xe)),c===n?(q=a,a=n):(l=e.charAt(q),k.test(l)?q++:(l=n,Y===0&&X(xe)),l===n?(q=a,a=n):(o=[o,s,c,l],a=o)))),i=a===n?a:e.substring(i,q),i===n?(q=t,t=n):(J=t,t=gt(i))),t===n&&(t=q,e.length>q?(r=e.charAt(q),q++):(r=n,Y===0&&X(Se)),r!==n&&(J=t,r=_t(r)),t=r)))))),t}function dn(){let e;return e=fn(),e===n&&(e=pn()),e}function fn(){let t,r,i,a;if(t=q,e.substr(q,2)===`//`?(r=`//`,q+=2):(r=n,Y===0&&X(Ce)),r!==n){for(i=[],a=e.charAt(q),A.test(a)?q++:(a=n,Y===0&&X(K));a!==n;)i.push(a),a=e.charAt(q),A.test(a)?q++:(a=n,Y===0&&X(K));r=[r,i],t=r}else q=t,t=n;return t}function pn(){let t,r,i,a,o,s;if(t=q,e.substr(q,2)===`/*`?(r=`/*`,q+=2):(r=n,Y===0&&X(we)),r!==n){for(i=[],a=q,o=q,Y++,e.substr(q,2)===`*/`?(s=`*/`,q+=2):(s=n,Y===0&&X(Te)),Y--,s===n?o=void 0:(q=o,o=n),o===n?(q=a,a=n):(e.length>q?(s=e.charAt(q),q++):(s=n,Y===0&&X(Se)),s===n?(q=a,a=n):(o=[o,s],a=o));a!==n;)i.push(a),a=q,o=q,Y++,e.substr(q,2)===`*/`?(s=`*/`,q+=2):(s=n,Y===0&&X(Te)),Y--,s===n?o=void 0:(q=o,o=n),o===n?(q=a,a=n):(e.length>q?(s=e.charAt(q),q++):(s=n,Y===0&&X(Se)),s===n?(q=a,a=n):(o=[o,s],a=o));e.substr(q,2)===`*/`?(a=`*/`,q+=2):(a=n,Y===0&&X(Te)),a===n?(q=t,t=n):(r=[r,i,a],t=r)}else q=t,t=n;return t}function mn(){let t,r;for(Y++,t=[],r=e.charAt(q),j.test(r)?q++:(r=n,Y===0&&X(Ee));r!==n;)t.push(r),r=e.charAt(q),j.test(r)?q++:(r=n,Y===0&&X(Ee));return Y--,t}function hn(){let e,t,r,i;for(e=q,t=[],r=q,mn(),i=gn(),i===n?(q=r,r=n):(J=r,r=vt(i));r!==n;)t.push(r),r=q,mn(),i=gn(),i===n?(q=r,r=n):(J=r,r=vt(i));return r=mn(),J=e,e=yt(t),e}function gn(){let t,r,i,a,o,s,c;if(t=q,e.substr(q,2)===`//`?(r=`//`,q+=2):(r=n,Y===0&&X(Ce)),r!==n){for(i=q,a=[],o=e.charAt(q),A.test(o)?q++:(o=n,Y===0&&X(K));o!==n;)a.push(o),o=e.charAt(q),A.test(o)?q++:(o=n,Y===0&&X(K));i=e.substring(i,q),J=t,t=bt(i)}else q=t,t=n;if(t===n){if(t=q,e.substr(q,2)===`/*`?(r=`/*`,q+=2):(r=n,Y===0&&X(we)),r!==n){for(i=q,a=[],o=q,s=q,Y++,e.substr(q,2)===`*/`?(c=`*/`,q+=2):(c=n,Y===0&&X(Te)),Y--,c===n?s=void 0:(q=s,s=n),s===n?(q=o,o=n):(e.length>q?(c=e.charAt(q),q++):(c=n,Y===0&&X(Se)),c===n?(q=o,o=n):(s=[s,c],o=s));o!==n;)a.push(o),o=q,s=q,Y++,e.substr(q,2)===`*/`?(c=`*/`,q+=2):(c=n,Y===0&&X(Te)),Y--,c===n?s=void 0:(q=s,s=n),s===n?(q=o,o=n):(e.length>q?(c=e.charAt(q),q++):(c=n,Y===0&&X(Se)),c===n?(q=o,o=n):(s=[s,c],o=s));i=e.substring(i,q),e.substr(q,2)===`*/`?(a=`*/`,q+=2):(a=n,Y===0&&X(Te)),a===n?(q=t,t=n):(J=t,t=xt(i))}else q=t,t=n}return t}function _n(){let t,r;if(Y++,t=[],r=e.charAt(q),j.test(r)?q++:(r=n,Y===0&&X(Ee)),r===n&&(r=dn()),r!==n)for(;r!==n;)t.push(r),r=e.charAt(q),j.test(r)?q++:(r=n,Y===0&&X(Ee)),r===n&&(r=dn());else t=n;return Y--,t===n&&(r=n,Y===0&&X(De)),t}function vn(){let t,r;for(Y++,t=[],r=e.charAt(q),j.test(r)?q++:(r=n,Y===0&&X(Ee)),r===n&&(r=dn());r!==n;)t.push(r),r=e.charAt(q),j.test(r)?q++:(r=n,Y===0&&X(Ee)),r===n&&(r=dn());return Y--,t}Tt=a();let yn=Tt!==n&&q===e.length;function bn(){throw Tt!==n&&q<e.length&&X(jt()),It(wt,Ct<e.length?Dt(Ct):null,Ct<e.length?Pt(Ct,Ct+1):Pt(Ct,Ct))}if(t.peg$library)return{peg$result:Tt,peg$currPos:q,peg$FAILED:n,peg$maxFailExpected:wt,peg$maxFailPos:Ct,peg$success:yn,peg$throw:yn?void 0:bn};if(yn)return Tt;bn()}function A(e){try{return k(e)}catch(e){if(e instanceof Error&&`location`in e){let t=e.location,n=SyntaxError(`${e.message} at ${t.start.line}:${t.start.column}`);throw n.location=t,n}throw e}}function j(e){return e.replace(/(\d)\s+(?=\d)/g,`$1`)}function M(e){return j(e.replace(/^"(.*)"$/,`$1`)).replace(/%$/,``).trim()}function N(e){let t=M(e?.trim()??``);if(!t)return;let n=Number(t);return Number.isFinite(n)?n:void 0}var P={"\\":`\\\\`,'"':`\\"`,"\n":`\\n`,"\r":`\\r`," ":`\\t`},F={"\\":`\\`,'"':`"`,n:`
|
|
311
|
+
`,r:`\r`,t:` `};function I(e){return`"${e.replace(/[\\"\n\r\t]/g,e=>P[e])}"`}function L(e){return e.replace(/\\(u[0-9a-fA-F]{4}|[\\"nrt])/g,(e,t)=>t[0]===`u`?String.fromCharCode(parseInt(t.slice(1),16)):F[t])}function R(e){let t=e.trim();return t.length>=2&&t.startsWith(`"`)&&t.endsWith(`"`)?L(t.slice(1,-1)):t}function z(e){let t=[],n=``,r=0,i=!1;for(let a=0;a<e.length;a++){let o=e[a];if(i&&o===`\\`&&a+1<e.length){n+=o+e[++a];continue}if(o===`"`)i=!i;else if(!i&&o===`(`)r++;else if(!i&&o===`)`)r=Math.max(0,r-1);else if(o===`,`&&!i&&r===0){t.push(n),n=``;continue}n+=o}return t.push(n),t}var B=`"((?:[^"\\\\]|\\\\.)*)"`,V=RegExp(`^${B}\\s*=\\s*(.+)$`),H=RegExp(`^${B}\\s*=\\s*"([^"]*)"$`),ee=RegExp(`^${B}\\s*=\\s*(.+)$`);function te(e){let t=new Set;return e.map(e=>{let n=e;for(let r=2;t.has(n);r++)n=`${e} (${r})`;return t.add(n),n})}function ne(e,t){return e.flatMap((e,n)=>{let r=t.map(e=>e.cells[n]?.trim()??``),i=r.filter(e=>R(e)!==``);return i.length>0&&i.every(e=>N(e)===void 0)?[{name:e,values:r.map(e=>R(e)||void 0)}]:[]})}function re(e){let t=e.split(`
|
|
312
|
+
`).map(e=>e.trim()).filter(Boolean),n=[],r=[],i=t[0]?.match(/^series\s*=\s*(.+)$/);if(i){let e=z(i[1].trim()),r=[];for(let e=1;e<t.length;e++){let n=t[e].match(H),i=n??t[e].match(V);i&&r.push({cells:z(i[2]),label:L(i[1]),legacy:n!==null})}let a=e.length>1||!r.some(e=>e.legacy)?e.map(R):R(e[0]).split(`,`).map(e=>e.trim()),o=a.map(()=>[]);for(let e of r){n.push(e.label);for(let t=0;t<a.length;t++)o[t].push(N(e.cells[t]))}let s=a.map((e,t)=>({name:e,values:o[t]})),c=ne(a,r);return{labels:te(n),values:o[0]??[],series:s,...c.length&&{textColumns:c}}}for(let e of t){let t=e.match(ee);t&&(n.push(L(t[1])),r.push(N(t[2])))}return{labels:te(n),values:r}}var ie=[{name:`Blueprint`,label:`Blueprint`,colors:[`#2563A0`,`#D4A63A`,`#C94044`,`#2D8659`,`#4B90CF`,`#163A65`]},{name:`BlueprintBold`,label:`Blueprint Bold`,colors:[`#2563A0`,`#DDF247`,`#C94044`,`#2D8659`,`#D4A63A`,`#163A65`]},{name:`JosefAlbers`,label:`Albers`,colors:[`#c00559`,`#de1f6c`,`#f3a20d`,`#f07a13`,`#de6716`]},{name:`Durorthod`,label:`Amber`,colors:[`#4b2b1f`,`#803c15`,`#c6782c`,`#ffa91d`,`#ebdf9a`]},{name:`X41`,label:`Berry`,colors:[`#411f6b`,`#783999`,`#be3979`,`#cc857d`,`#e2c6a6`]},{name:`Bright`,label:`Bright`,colors:[`#462255`,`#ff8811`,`#9dd9d2`,`#046e8f`,`#d44d5c`]},{name:`Cancri`,label:`Cancri`,colors:[`#343854`,`#8c384d`,`#c9002e`,`#d95e31`,`#f0c742`,`#e5dcd1`]},{name:`Ceres`,label:`Ceres`,colors:[`#2f3437`,`#4a5f71`,`#6f8ba0`,`#dbdddd`]},{name:`MarcChagall`,label:`Chagall`,colors:[`#3f6f76`,`#69b7ce`,`#c65840`,`#f4ce4b`,`#563d63`]},{name:`Pelewensis`,label:`Coral`,colors:[`#e2b000`,`#dde576`,`#2449a2`,`#809098`,`#303538`]},{name:`Deathmasks`,label:`Deathmasks`,colors:[`#926159`,`#94947b`,`#c7d2d8`,`#62b7c8`,`#43535c`,`#203648`]},{name:`Leucosternon`,label:`Deep Sea`,colors:[`#302e5b`,`#0e34b2`,`#207cf5`,`#9ec8ff`,`#e3e43a`]},{name:`Deelite`,label:`Deelite`,colors:[`#48448e`,`#8ccc58`,`#fc4d97`,`#bd2066`]},{name:`X10`,label:`Dusk`,colors:[`#383138`,`#5b4361`,`#846d86`,`#d8e0c0`,`#e3c58a`,`#a89e5e`]},{name:`Vitrixerand`,label:`Earth`,colors:[`#3d303e`,`#723f27`,`#9b6044`,`#b5804c`,`#facd9a`]},{name:`Egypt`,label:`Egypt`,colors:[`#dd5129`,`#0f7ba2`,`#43b284`,`#fab255`]},{name:`ElectronicNight`,label:`Electric Night`,colors:[`#cb54d6`,`#3e45c4`,`#3b3233`,`#362f78`,`#57b4ae`]},{name:`LutjanusSebae`,label:`Emperor`,colors:[`#dadedf`,`#a2bac5`,`#ce3d21`,`#992216`,`#59241e`]},{name:`Enara`,label:`Enara`,colors:[`#353535`,`#3d5983`,`#5a8a54`,`#cfb023`]},{name:`Camo871`,label:`Fiesta`,colors:[`#ffff14`,`#fea31d`,`#ce2d41`,`#3a3fa3`]},{name:`Folklore`,label:`Folklore`,colors:[`#343434`,`#5c5c5c`,`#bababa`,`#f8f8f8`]},{name:`Fritsch`,label:`Fritsch`,colors:[`#0f8d7b`,`#8942bd`,`#373333`,`#eadd17`]},{name:`AgSunset`,label:`Glow`,colors:[`#4b2991`,`#872ca2`,`#c0369d`,`#ea4f88`,`#fa7876`,`#f6a97a`,`#edd9a3`]},{name:`Harvey`,label:`Harvey`,colors:[`#c6d4d6`,`#274c4f`,`#a4432d`,`#b17c51`]},{name:`Heep`,label:`Heep`,colors:[`#466e9a`,`#e84d45`,`#35332f`,`#a1baac`]},{name:`Imperator`,label:`Imperator`,colors:[`#302e62`,`#0527b4`,`#555dfe`,`#e4e500`,`#b8980f`]},{name:`Klimt`,label:`Klimt`,colors:[`#df9ed4`,`#d52c50`,`#eacc62`,`#469d76`,`#39546e`,`#9936a3`]},{name:`KnickCity`,label:`Knick City`,colors:[`#213453`,`#ff6720`,`#707372`,`#c8c9c7`]},{name:`London`,label:`London`,colors:[`#bd241e`,`#e56b1e`,`#ffcd22`,`#223259`]},{name:`Lover`,label:`Lover`,colors:[`#b8396b`,`#ffd1d7`,`#e4dfb7`,`#76bae0`,`#b28f81`,`#54483e`]},{name:`Maya`,label:`Maya`,colors:[`#3d5a80`,`#98c1d9`,`#c7e1e2`,`#ee6c4d`,`#293241`]},{name:`X24`,label:`Mocha`,colors:[`#44302e`,`#7e5945`,`#bc927b`,`#e6dbd6`]},{name:`Camo873`,label:`Neon`,colors:[`#132f8a`,`#5a56c8`,`#fc7ead`,`#ffca3e`]},{name:`NetsCity`,label:`Nets City`,colors:[`#353535`,`#ffb81c`,`#da291c`,`#004c97`,`#418fde`]},{name:`Nodoubt`,label:`No Doubt`,colors:[`#385581`,`#6dbac6`,`#dac190`,`#c9052c`]},{name:`ClaesOldenburg`,label:`Oldenburg`,colors:[`#95b1c9`,`#263656`,`#698946`,`#f8d440`,`#c30014`]},{name:`Peacesells`,label:`Peace Sells`,colors:[`#9a5155`,`#483943`,`#ecc463`,`#a497b2`]},{name:`PabloPicasso`,label:`Picasso`,colors:[`#4e7989`,`#a9011b`,`#e4a826`,`#80944e`,`#dcd6b2`]},{name:`Bifasciatum`,label:`Reef`,colors:[`#36313d`,`#16407b`,`#2b7ff9`,`#9feaee`,`#6cbe50`]},{name:`SiameseDream`,label:`Siamese Dream`,colors:[`#e3dbd2`,`#413026`,`#a34d2c`,`#cd8e40`]},{name:`X115`,label:`Sienna`,colors:[`#203748`,`#633633`,`#8e442e`,`#e9b35e`,`#e4dda7`]},{name:`Sixers`,label:`Sixers`,colors:[`#888b8d`,`#e4d5d3`,`#003da5`,`#d50032`]},{name:`SolLeWitt`,label:`Sol LeWitt`,colors:[`#0a71b6`,`#f9c40a`,`#403131`,`#eb5432`,`#d6dedc`]},{name:`Sunset`,label:`Sunset`,colors:[`#41476b`,`#675478`,`#9e6374`,`#c67b6f`,`#de9b71`,`#efbc82`,`#eedba6`]},{name:`Sunset2`,label:`Sunset II`,colors:[`#254075`,`#61599d`,`#b46c79`,`#eb7f54`,`#ffb33d`]},{name:`Sunset3`,label:`Sunset III`,colors:[`#4f2355`,`#701c34`,`#a63228`,`#c7662a`,`#eba42b`]},{name:`Pal9`,label:`Tropical`,colors:[`#273b5b`,`#c1c243`,`#e73e26`,`#2e6657`,`#d7e4a3`,`#24a99c`]},{name:`Salvelinus`,label:`Trout`,colors:[`#e6452e`,`#e49a36`,`#f9dd4c`,`#5b4a4c`,`#303542`]},{name:`TheovanDoesburg`,label:`Van Doesburg`,colors:[`#bd748f`,`#3d578e`,`#bfab68`,`#dad7d0`,`#313433`]},{name:`Wizards`,label:`Wizards`,colors:[`#c8102e`,`#213453`,`#8d9093`,`#c8c9c7`]},{name:`FrancescoXanto`,label:`Xanto`,colors:[`#2c6aa5`,`#dcad00`,`#d8c67e`,`#c97f17`,`#578b55`]},{name:`Zeppelin`,label:`Zeppelin`,colors:[`#efdb15`,`#739c9c`,`#0d484c`,`#c71a08`]}],ae=Object.fromEntries(ie.map(e=>[e.name,e.colors]));function U(e){if(!e)return;let t=ae[e];return t?[...t]:void 0}function oe(){return ie}var{min:se,max:ce}=Math,le=(e,t=0,n=1)=>se(ce(t,e),n),ue=e=>{e._clipped=!1,e._unclipped=e.slice(0);for(let t=0;t<=3;t++)t<3?((e[t]<0||e[t]>255)&&(e._clipped=!0),e[t]=le(e[t],0,255)):t===3&&(e[t]=le(e[t],0,1));return e},de={};for(let e of[`Boolean`,`Number`,`String`,`Function`,`Array`,`Date`,`RegExp`,`Undefined`,`Null`])de[`[object ${e}]`]=e.toLowerCase();function W(e){return de[Object.prototype.toString.call(e)]||`object`}var G=(e,t=null)=>e.length>=3?Array.prototype.slice.call(e):W(e[0])==`object`&&t?t.split(``).filter(t=>e[0][t]!==void 0).map(t=>e[0][t]):e[0].slice(0),fe=e=>{if(e.length<2)return null;let t=e.length-1;return W(e[t])==`string`?e[t].toLowerCase():null},{PI:pe,min:me,max:he}=Math,ge=e=>Math.round(e*100)/100,_e=e=>Math.round(e*100)/100,ve=pe*2,ye=pe/3,be=pe/180,xe=180/pe;function Se(e){return[...e.slice(0,3).reverse(),...e.slice(3)]}var Ce={format:{},autodetect:[]},K=class{constructor(...e){let t=this;if(W(e[0])===`object`&&e[0].constructor&&e[0].constructor===this.constructor)return e[0];let n=fe(e),r=!1;if(!n){r=!0,Ce.sorted||=(Ce.autodetect=Ce.autodetect.sort((e,t)=>t.p-e.p),!0);for(let t of Ce.autodetect)if(n=t.test(...e),n)break}if(Ce.format[n])t._rgb=ue(Ce.format[n].apply(null,r?e:e.slice(0,-1)));else throw Error(`unknown format: `+e);t._rgb.length===3&&t._rgb.push(1)}toString(){return W(this.hex)==`function`?this.hex():`[${this._rgb.join(`,`)}]`}},we=`3.2.0`,Te=(...e)=>new K(...e);Te.version=we;var Ee={aliceblue:`#f0f8ff`,antiquewhite:`#faebd7`,aqua:`#00ffff`,aquamarine:`#7fffd4`,azure:`#f0ffff`,beige:`#f5f5dc`,bisque:`#ffe4c4`,black:`#000000`,blanchedalmond:`#ffebcd`,blue:`#0000ff`,blueviolet:`#8a2be2`,brown:`#a52a2a`,burlywood:`#deb887`,cadetblue:`#5f9ea0`,chartreuse:`#7fff00`,chocolate:`#d2691e`,coral:`#ff7f50`,cornflowerblue:`#6495ed`,cornsilk:`#fff8dc`,crimson:`#dc143c`,cyan:`#00ffff`,darkblue:`#00008b`,darkcyan:`#008b8b`,darkgoldenrod:`#b8860b`,darkgray:`#a9a9a9`,darkgreen:`#006400`,darkgrey:`#a9a9a9`,darkkhaki:`#bdb76b`,darkmagenta:`#8b008b`,darkolivegreen:`#556b2f`,darkorange:`#ff8c00`,darkorchid:`#9932cc`,darkred:`#8b0000`,darksalmon:`#e9967a`,darkseagreen:`#8fbc8f`,darkslateblue:`#483d8b`,darkslategray:`#2f4f4f`,darkslategrey:`#2f4f4f`,darkturquoise:`#00ced1`,darkviolet:`#9400d3`,deeppink:`#ff1493`,deepskyblue:`#00bfff`,dimgray:`#696969`,dimgrey:`#696969`,dodgerblue:`#1e90ff`,firebrick:`#b22222`,floralwhite:`#fffaf0`,forestgreen:`#228b22`,fuchsia:`#ff00ff`,gainsboro:`#dcdcdc`,ghostwhite:`#f8f8ff`,gold:`#ffd700`,goldenrod:`#daa520`,gray:`#808080`,green:`#008000`,greenyellow:`#adff2f`,grey:`#808080`,honeydew:`#f0fff0`,hotpink:`#ff69b4`,indianred:`#cd5c5c`,indigo:`#4b0082`,ivory:`#fffff0`,khaki:`#f0e68c`,laserlemon:`#ffff54`,lavender:`#e6e6fa`,lavenderblush:`#fff0f5`,lawngreen:`#7cfc00`,lemonchiffon:`#fffacd`,lightblue:`#add8e6`,lightcoral:`#f08080`,lightcyan:`#e0ffff`,lightgoldenrod:`#fafad2`,lightgoldenrodyellow:`#fafad2`,lightgray:`#d3d3d3`,lightgreen:`#90ee90`,lightgrey:`#d3d3d3`,lightpink:`#ffb6c1`,lightsalmon:`#ffa07a`,lightseagreen:`#20b2aa`,lightskyblue:`#87cefa`,lightslategray:`#778899`,lightslategrey:`#778899`,lightsteelblue:`#b0c4de`,lightyellow:`#ffffe0`,lime:`#00ff00`,limegreen:`#32cd32`,linen:`#faf0e6`,magenta:`#ff00ff`,maroon:`#800000`,maroon2:`#7f0000`,maroon3:`#b03060`,mediumaquamarine:`#66cdaa`,mediumblue:`#0000cd`,mediumorchid:`#ba55d3`,mediumpurple:`#9370db`,mediumseagreen:`#3cb371`,mediumslateblue:`#7b68ee`,mediumspringgreen:`#00fa9a`,mediumturquoise:`#48d1cc`,mediumvioletred:`#c71585`,midnightblue:`#191970`,mintcream:`#f5fffa`,mistyrose:`#ffe4e1`,moccasin:`#ffe4b5`,navajowhite:`#ffdead`,navy:`#000080`,oldlace:`#fdf5e6`,olive:`#808000`,olivedrab:`#6b8e23`,orange:`#ffa500`,orangered:`#ff4500`,orchid:`#da70d6`,palegoldenrod:`#eee8aa`,palegreen:`#98fb98`,paleturquoise:`#afeeee`,palevioletred:`#db7093`,papayawhip:`#ffefd5`,peachpuff:`#ffdab9`,peru:`#cd853f`,pink:`#ffc0cb`,plum:`#dda0dd`,powderblue:`#b0e0e6`,purple:`#800080`,purple2:`#7f007f`,purple3:`#a020f0`,rebeccapurple:`#663399`,red:`#ff0000`,rosybrown:`#bc8f8f`,royalblue:`#4169e1`,saddlebrown:`#8b4513`,salmon:`#fa8072`,sandybrown:`#f4a460`,seagreen:`#2e8b57`,seashell:`#fff5ee`,sienna:`#a0522d`,silver:`#c0c0c0`,skyblue:`#87ceeb`,slateblue:`#6a5acd`,slategray:`#708090`,slategrey:`#708090`,snow:`#fffafa`,springgreen:`#00ff7f`,steelblue:`#4682b4`,tan:`#d2b48c`,teal:`#008080`,thistle:`#d8bfd8`,tomato:`#ff6347`,turquoise:`#40e0d0`,violet:`#ee82ee`,wheat:`#f5deb3`,white:`#ffffff`,whitesmoke:`#f5f5f5`,yellow:`#ffff00`,yellowgreen:`#9acd32`},De=/^#?([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/,Oe=/^#?([A-Fa-f0-9]{8}|[A-Fa-f0-9]{4})$/,ke=e=>{if(e.match(De)){(e.length===4||e.length===7)&&(e=e.substr(1)),e.length===3&&(e=e.split(``),e=e[0]+e[0]+e[1]+e[1]+e[2]+e[2]);let t=parseInt(e,16);return[t>>16,t>>8&255,t&255,1]}if(e.match(Oe)){(e.length===5||e.length===9)&&(e=e.substr(1)),e.length===4&&(e=e.split(``),e=e[0]+e[0]+e[1]+e[1]+e[2]+e[2]+e[3]+e[3]);let t=parseInt(e,16);return[t>>24&255,t>>16&255,t>>8&255,Math.round((t&255)/255*100)/100]}throw Error(`unknown hex color: ${e}`)},{round:Ae}=Math,je=(...e)=>{let[t,n,r,i]=G(e,`rgba`),a=fe(e)||`auto`;i===void 0&&(i=1),a===`auto`&&(a=i<1?`rgba`:`rgb`),t=Ae(t),n=Ae(n),r=Ae(r);let o=`000000`+(t<<16|n<<8|r).toString(16);o=o.substr(o.length-6);let s=`0`+Ae(i*255).toString(16);switch(s=s.substr(s.length-2),a.toLowerCase()){case`rgba`:return`#${o}${s}`;case`argb`:return`#${s}${o}`;default:return`#${o}`}};K.prototype.name=function(){let e=je(this._rgb,`rgb`);for(let t of Object.keys(Ee))if(Ee[t]===e)return t.toLowerCase();return e},Ce.format.named=e=>{if(e=e.toLowerCase(),Ee[e])return ke(Ee[e]);throw Error(`unknown color name: `+e)},Ce.autodetect.push({p:5,test:(e,...t)=>{if(!t.length&&W(e)===`string`&&Ee[e.toLowerCase()])return`named`}}),K.prototype.alpha=function(e,t=!1){return e!==void 0&&W(e)===`number`?t?(this._rgb[3]=e,this):new K([this._rgb[0],this._rgb[1],this._rgb[2],e],`rgb`):this._rgb[3]},K.prototype.clipped=function(){return this._rgb._clipped||!1};var Me={Kn:18,labWhitePoint:`d65`,Xn:.95047,Yn:1,Zn:1.08883,t0:.137931034,t1:.206896552,t2:.12841855,t3:.008856452,kE:216/24389,kKE:8,kK:24389/27,RefWhiteRGB:{X:.95047,Y:1,Z:1.08883},MtxRGB2XYZ:{m00:.4124564390896922,m01:.21267285140562253,m02:.0193338955823293,m10:.357576077643909,m11:.715152155287818,m12:.11919202588130297,m20:.18043748326639894,m21:.07217499330655958,m22:.9503040785363679},MtxXYZ2RGB:{m00:3.2404541621141045,m01:-.9692660305051868,m02:.055643430959114726,m10:-1.5371385127977166,m11:1.8760108454466942,m12:-.2040259135167538,m20:-.498531409556016,m21:.041556017530349834,m22:1.0572251882231791},As:.9414285350000001,Bs:1.040417467,Cs:1.089532651,MtxAdaptMa:{m00:.8951,m01:-.7502,m02:.0389,m10:.2664,m11:1.7135,m12:-.0685,m20:-.1614,m21:.0367,m22:1.0296},MtxAdaptMaI:{m00:.9869929054667123,m01:.43230526972339456,m02:-.008528664575177328,m10:-.14705425642099013,m11:.5183602715367776,m12:.04004282165408487,m20:.15996265166373125,m21:.0492912282128556,m22:.9684866957875502}},Ne=new Map([[`a`,[1.0985,.35585]],[`b`,[1.0985,.35585]],[`c`,[.98074,1.18232]],[`d50`,[.96422,.82521]],[`d55`,[.95682,.92149]],[`d65`,[.95047,1.08883]],[`e`,[1,1,1]],[`f2`,[.99186,.67393]],[`f7`,[.95041,1.08747]],[`f11`,[1.00962,.6435]],[`icc`,[.96422,.82521]]]);function Pe(e){let t=Ne.get(String(e).toLowerCase());if(!t)throw Error(`unknown Lab illuminant `+e);Me.labWhitePoint=e,Me.Xn=t[0],Me.Zn=t[1]}function Fe(){return Me.labWhitePoint}var Ie=(...e)=>{e=G(e,`lab`);let[t,n,r]=e,[i,a,o]=Le(t,n,r),[s,c,l]=ze(i,a,o);return[s,c,l,e.length>3?e[3]:1]},Le=(e,t,n)=>{let{kE:r,kK:i,kKE:a,Xn:o,Yn:s,Zn:c}=Me,l=(e+16)/116,u=.002*t+l,d=l-.005*n,f=u*u*u,p=d*d*d,m=f>r?f:(116*u-16)/i,h=e>a?((e+16)/116)**3:e/i,g=p>r?p:(116*d-16)/i;return[m*o,h*s,g*c]},Re=e=>{let t=Math.sign(e);return e=Math.abs(e),(e<=.0031308?e*12.92:1.055*e**(1/2.4)-.055)*t},ze=(e,t,n)=>{let{MtxAdaptMa:r,MtxAdaptMaI:i,MtxXYZ2RGB:a,RefWhiteRGB:o,Xn:s,Yn:c,Zn:l}=Me,u=s*r.m00+c*r.m10+l*r.m20,d=s*r.m01+c*r.m11+l*r.m21,f=s*r.m02+c*r.m12+l*r.m22,p=o.X*r.m00+o.Y*r.m10+o.Z*r.m20,m=o.X*r.m01+o.Y*r.m11+o.Z*r.m21,h=o.X*r.m02+o.Y*r.m12+o.Z*r.m22,g=(e*r.m00+t*r.m10+n*r.m20)*(p/u),_=(e*r.m01+t*r.m11+n*r.m21)*(m/d),v=(e*r.m02+t*r.m12+n*r.m22)*(h/f),y=g*i.m00+_*i.m10+v*i.m20,b=g*i.m01+_*i.m11+v*i.m21,x=g*i.m02+_*i.m12+v*i.m22,S=Re(y*a.m00+b*a.m10+x*a.m20),C=Re(y*a.m01+b*a.m11+x*a.m21),w=Re(y*a.m02+b*a.m12+x*a.m22);return[S*255,C*255,w*255]},Be=(...e)=>{let[t,n,r,...i]=G(e,`rgb`),[a,o,s]=Ue(t,n,r),[c,l,u]=Ve(a,o,s);return[c,l,u,...i.length>0&&i[0]<1?[i[0]]:[]]};function Ve(e,t,n){let{Xn:r,Yn:i,Zn:a,kE:o,kK:s}=Me,c=e/r,l=t/i,u=n/a,d=c>o?c**(1/3):(s*c+16)/116,f=l>o?l**(1/3):(s*l+16)/116,p=u>o?u**(1/3):(s*u+16)/116;return[116*f-16,500*(d-f),200*(f-p)]}function He(e){let t=Math.sign(e);return e=Math.abs(e),(e<=.04045?e/12.92:((e+.055)/1.055)**2.4)*t}var Ue=(e,t,n)=>{e=He(e/255),t=He(t/255),n=He(n/255);let{MtxRGB2XYZ:r,MtxAdaptMa:i,MtxAdaptMaI:a,Xn:o,Yn:s,Zn:c,As:l,Bs:u,Cs:d}=Me,f=e*r.m00+t*r.m10+n*r.m20,p=e*r.m01+t*r.m11+n*r.m21,m=e*r.m02+t*r.m12+n*r.m22,h=o*i.m00+s*i.m10+c*i.m20,g=o*i.m01+s*i.m11+c*i.m21,_=o*i.m02+s*i.m12+c*i.m22,v=f*i.m00+p*i.m10+m*i.m20,y=f*i.m01+p*i.m11+m*i.m21,b=f*i.m02+p*i.m12+m*i.m22;return v*=h/l,y*=g/u,b*=_/d,f=v*a.m00+y*a.m10+b*a.m20,p=v*a.m01+y*a.m11+b*a.m21,m=v*a.m02+y*a.m12+b*a.m22,[f,p,m]};K.prototype.lab=function(){return Be(this._rgb)},Object.assign(Te,{lab:(...e)=>new K(...e,`lab`),getLabWhitePoint:Fe,setLabWhitePoint:Pe}),Ce.format.lab=Ie,Ce.autodetect.push({p:2,test:(...e)=>{if(e=G(e,`lab`),W(e)===`array`&&e.length===3)return`lab`}}),K.prototype.darken=function(e=1){let t=this,n=t.lab();return n[0]-=Me.Kn*e,new K(n,`lab`).alpha(t.alpha(),!0)},K.prototype.brighten=function(e=1){return this.darken(-e)},K.prototype.darker=K.prototype.darken,K.prototype.brighter=K.prototype.brighten,K.prototype.get=function(e){let[t,n]=e.split(`.`),r=this[t]();if(n){let e=t.indexOf(n)-(t.substr(0,2)===`ok`?2:0);if(e>-1)return r[e];throw Error(`unknown channel ${n} in mode ${t}`)}return r};var{pow:We}=Math,Ge=1e-7,Ke=20;K.prototype.luminance=function(e,t=`rgb`){if(e!==void 0&&W(e)===`number`){if(e===0)return new K([0,0,0,this._rgb[3]],`rgb`);if(e===1)return new K([255,255,255,this._rgb[3]],`rgb`);let n=this.luminance(),r=Ke,i=(n,a)=>{let o=n.interpolate(a,.5,t),s=o.luminance();return Math.abs(e-s)<Ge||!r--?o:s>e?i(n,o):i(o,a)};return new K([...(n>e?i(new K([0,0,0]),this):i(this,new K([255,255,255]))).rgb(),this._rgb[3]])}return qe(...this._rgb.slice(0,3))};var qe=(e,t,n)=>(e=Je(e),t=Je(t),n=Je(n),.2126*e+.7152*t+.0722*n),Je=e=>(e/=255,e<=.03928?e/12.92:We((e+.055)/1.055,2.4)),Ye={},Xe=(e,t,n=.5,...r)=>{let i=r[0]||`lrgb`;if(!Ye[i]&&!r.length&&(i=Object.keys(Ye)[0]),!Ye[i])throw Error(`interpolation mode ${i} is not defined`);return W(e)!==`object`&&(e=new K(e)),W(t)!==`object`&&(t=new K(t)),Ye[i](e,t,n).alpha(e.alpha()+n*(t.alpha()-e.alpha()))};K.prototype.mix=K.prototype.interpolate=function(e,t=.5,...n){return Xe(this,e,t,...n)},K.prototype.premultiply=function(e=!1){let t=this._rgb,n=t[3];return e?(this._rgb=[t[0]*n,t[1]*n,t[2]*n,n],this):new K([t[0]*n,t[1]*n,t[2]*n,n],`rgb`)};var{sin:Ze,cos:Qe}=Math,$e=(...e)=>{let[t,n,r]=G(e,`lch`);return isNaN(r)&&(r=0),r*=be,[t,Qe(r)*n,Ze(r)*n]},et=(...e)=>{e=G(e,`lch`);let[t,n,r]=e,[i,a,o]=$e(t,n,r),[s,c,l]=Ie(i,a,o);return[s,c,l,e.length>3?e[3]:1]},tt=(...e)=>et(...Se(G(e,`hcl`))),{sqrt:nt,atan2:rt,round:it}=Math,at=(...e)=>{let[t,n,r]=G(e,`lab`),i=nt(n*n+r*r),a=(rt(r,n)*xe+360)%360;return it(i*1e4)===0&&(a=NaN),[t,i,a]},ot=(...e)=>{let[t,n,r,...i]=G(e,`rgb`),[a,o,s]=Be(t,n,r),[c,l,u]=at(a,o,s);return[c,l,u,...i.length>0&&i[0]<1?[i[0]]:[]]};K.prototype.lch=function(){return ot(this._rgb)},K.prototype.hcl=function(){return Se(ot(this._rgb))},Object.assign(Te,{lch:(...e)=>new K(...e,`lch`),hcl:(...e)=>new K(...e,`hcl`)}),Ce.format.lch=et,Ce.format.hcl=tt,[`lch`,`hcl`].forEach(e=>Ce.autodetect.push({p:2,test:(...t)=>{if(t=G(t,e),W(t)===`array`&&t.length===3)return e}})),K.prototype.saturate=function(e=1){let t=this,n=t.lch();return n[1]+=Me.Kn*e,n[1]<0&&(n[1]=0),new K(n,`lch`).alpha(t.alpha(),!0)},K.prototype.desaturate=function(e=1){return this.saturate(-e)},K.prototype.set=function(e,t,n=!1){let[r,i]=e.split(`.`),a=this[r]();if(i){let e=r.indexOf(i)-(r.substr(0,2)===`ok`?2:0);if(e>-1){if(W(t)==`string`)switch(t.charAt(0)){case`+`:a[e]+=+t;break;case`-`:a[e]+=+t;break;case`*`:a[e]*=+t.substr(1);break;case`/`:a[e]/=+t.substr(1);break;default:a[e]=+t}else if(W(t)===`number`)a[e]=t;else throw Error(`unsupported value for Color.set`);let i=new K(a,r);return n?(this._rgb=i._rgb,this):i}throw Error(`unknown channel ${i} in mode ${r}`)}return a},K.prototype.tint=function(e=.5,...t){return Xe(this,`white`,e,...t)},K.prototype.shade=function(e=.5,...t){return Xe(this,`black`,e,...t)},Ye.rgb=(e,t,n)=>{let r=e._rgb,i=t._rgb;return new K(r[0]+n*(i[0]-r[0]),r[1]+n*(i[1]-r[1]),r[2]+n*(i[2]-r[2]),`rgb`)};var{sqrt:st,pow:ct}=Math;Ye.lrgb=(e,t,n)=>{let[r,i,a]=e._rgb,[o,s,c]=t._rgb;return new K(st(ct(r,2)*(1-n)+ct(o,2)*n),st(ct(i,2)*(1-n)+ct(s,2)*n),st(ct(a,2)*(1-n)+ct(c,2)*n),`rgb`)},Ye.lab=(e,t,n)=>{let r=e.lab(),i=t.lab();return new K(r[0]+n*(i[0]-r[0]),r[1]+n*(i[1]-r[1]),r[2]+n*(i[2]-r[2]),`lab`)};var lt=(e,t,n,r)=>{let i,a;r===`hsl`?(i=e.hsl(),a=t.hsl()):r===`hsv`?(i=e.hsv(),a=t.hsv()):r===`hcg`?(i=e.hcg(),a=t.hcg()):r===`hsi`?(i=e.hsi(),a=t.hsi()):r===`lch`||r===`hcl`?(r=`hcl`,i=e.hcl(),a=t.hcl()):r===`oklch`&&(i=e.oklch().reverse(),a=t.oklch().reverse());let o,s,c,l,u,d;(r.substr(0,1)===`h`||r===`oklch`)&&([o,c,u]=i,[s,l,d]=a);let f,p,m,h;return!isNaN(o)&&!isNaN(s)?(h=s>o&&s-o>180?s-(o+360):s<o&&o-s>180?s+360-o:s-o,p=o+n*h):isNaN(o)?isNaN(s)?p=NaN:(p=s,(u==1||u==0)&&r!=`hsv`&&(f=l)):(p=o,(d==1||d==0)&&r!=`hsv`&&(f=c)),f===void 0&&(f=c+n*(l-c)),m=u+n*(d-u),r===`oklch`?new K([m,f,p],r):new K([p,f,m],r)},ut=(e,t,n)=>lt(e,t,n,`lch`);Ye.lch=ut,Ye.hcl=ut;var dt=e=>{if(W(e)==`number`&&e>=0&&e<=16777215)return[e>>16,e>>8&255,e&255,1];throw Error(`unknown num color: `+e)},ft=(...e)=>{let[t,n,r]=G(e,`rgb`);return(t<<16)+(n<<8)+r};K.prototype.num=function(){return ft(this._rgb)},Object.assign(Te,{num:(...e)=>new K(...e,`num`)}),Ce.format.num=dt,Ce.autodetect.push({p:5,test:(...e)=>{if(e.length===1&&W(e[0])===`number`&&e[0]>=0&&e[0]<=16777215)return`num`}}),Ye.num=(e,t,n)=>{let r=e.num();return new K(r+n*(t.num()-r),`num`)};var{floor:pt}=Math,mt=(...e)=>{e=G(e,`hcg`);let[t,n,r]=e,i,a,o;r*=255;let s=n*255;if(n===0)i=a=o=r;else{t===360&&(t=0),t>360&&(t-=360),t<0&&(t+=360),t/=60;let e=pt(t),c=t-e,l=r*(1-n),u=l+s*(1-c),d=l+s*c,f=l+s;switch(e){case 0:[i,a,o]=[f,d,l];break;case 1:[i,a,o]=[u,f,l];break;case 2:[i,a,o]=[l,f,d];break;case 3:[i,a,o]=[l,u,f];break;case 4:[i,a,o]=[d,l,f];break;case 5:[i,a,o]=[f,l,u]}}return[i,a,o,e.length>3?e[3]:1]},ht=(...e)=>{let[t,n,r]=G(e,`rgb`),i=me(t,n,r),a=he(t,n,r),o=a-i,s=o*100/255,c=i/(255-o)*100,l;return o===0?l=NaN:(t===a&&(l=(n-r)/o),n===a&&(l=2+(r-t)/o),r===a&&(l=4+(t-n)/o),l*=60,l<0&&(l+=360)),[l,s,c]};K.prototype.hcg=function(){return ht(this._rgb)},Te.hcg=(...e)=>new K(...e,`hcg`),Ce.format.hcg=mt,Ce.autodetect.push({p:1,test:(...e)=>{if(e=G(e,`hcg`),W(e)===`array`&&e.length===3)return`hcg`}}),Ye.hcg=(e,t,n)=>lt(e,t,n,`hcg`);var{cos:gt}=Math,_t=(...e)=>{e=G(e,`hsi`);let[t,n,r]=e,i,a,o;return isNaN(t)&&(t=0),isNaN(n)&&(n=0),t>360&&(t-=360),t<0&&(t+=360),t/=360,t<1/3?(o=(1-n)/3,i=(1+n*gt(ve*t)/gt(ye-ve*t))/3,a=1-(o+i)):t<2/3?(t-=1/3,i=(1-n)/3,a=(1+n*gt(ve*t)/gt(ye-ve*t))/3,o=1-(i+a)):(t-=2/3,a=(1-n)/3,o=(1+n*gt(ve*t)/gt(ye-ve*t))/3,i=1-(a+o)),i=le(r*i*3),a=le(r*a*3),o=le(r*o*3),[i*255,a*255,o*255,e.length>3?e[3]:1]},{min:vt,sqrt:yt,acos:bt}=Math,xt=(...e)=>{let[t,n,r]=G(e,`rgb`);t/=255,n/=255,r/=255;let i,a=vt(t,n,r),o=(t+n+r)/3,s=o>0?1-a/o:0;return s===0?i=NaN:(i=(t-n+(t-r))/2,i/=yt((t-n)*(t-n)+(t-r)*(n-r)),i=bt(i),r>n&&(i=ve-i),i/=ve),[i*360,s,o]};K.prototype.hsi=function(){return xt(this._rgb)},Te.hsi=(...e)=>new K(...e,`hsi`),Ce.format.hsi=_t,Ce.autodetect.push({p:2,test:(...e)=>{if(e=G(e,`hsi`),W(e)===`array`&&e.length===3)return`hsi`}}),Ye.hsi=(e,t,n)=>lt(e,t,n,`hsi`);var q=(...e)=>{e=G(e,`hsl`);let[t,n,r]=e,i,a,o;if(n===0)i=a=o=r*255;else{let e=[0,0,0],s=[0,0,0],c=r<.5?r*(1+n):r+n-r*n,l=2*r-c,u=t/360;e[0]=u+1/3,e[1]=u,e[2]=u-1/3;for(let t=0;t<3;t++)e[t]<0&&(e[t]+=1),e[t]>1&&--e[t],6*e[t]<1?s[t]=l+(c-l)*6*e[t]:2*e[t]<1?s[t]=c:3*e[t]<2?s[t]=l+(c-l)*(2/3-e[t])*6:s[t]=l;[i,a,o]=[s[0]*255,s[1]*255,s[2]*255]}return e.length>3?[i,a,o,e[3]]:[i,a,o,1]},J=(...e)=>{e=G(e,`rgba`);let[t,n,r]=e;t/=255,n/=255,r/=255;let i=me(t,n,r),a=he(t,n,r),o=(a+i)/2,s,c;return a===i?(s=0,c=NaN):s=o<.5?(a-i)/(a+i):(a-i)/(2-a-i),t==a?c=(n-r)/(a-i):n==a?c=2+(r-t)/(a-i):r==a&&(c=4+(t-n)/(a-i)),c*=60,c<0&&(c+=360),e.length>3&&e[3]!==void 0?[c,s,o,e[3]]:[c,s,o]};K.prototype.hsl=function(){return J(this._rgb)},Te.hsl=(...e)=>new K(...e,`hsl`),Ce.format.hsl=q,Ce.autodetect.push({p:2,test:(...e)=>{if(e=G(e,`hsl`),W(e)===`array`&&e.length===3)return`hsl`}}),Ye.hsl=(e,t,n)=>lt(e,t,n,`hsl`);var{floor:St}=Math,Ct=(...e)=>{e=G(e,`hsv`);let[t,n,r]=e,i,a,o;if(r*=255,n===0)i=a=o=r;else{t===360&&(t=0),t>360&&(t-=360),t<0&&(t+=360),t/=60;let e=St(t),s=t-e,c=r*(1-n),l=r*(1-n*s),u=r*(1-n*(1-s));switch(e){case 0:[i,a,o]=[r,u,c];break;case 1:[i,a,o]=[l,r,c];break;case 2:[i,a,o]=[c,r,u];break;case 3:[i,a,o]=[c,l,r];break;case 4:[i,a,o]=[u,c,r];break;case 5:[i,a,o]=[r,c,l]}}return[i,a,o,e.length>3?e[3]:1]},{min:wt,max:Y}=Math,Tt=(...e)=>{e=G(e,`rgb`);let[t,n,r]=e,i=wt(t,n,r),a=Y(t,n,r),o=a-i,s,c,l;return l=a/255,a===0?(s=NaN,c=0):(c=o/a,t===a&&(s=(n-r)/o),n===a&&(s=2+(r-t)/o),r===a&&(s=4+(t-n)/o),s*=60,s<0&&(s+=360)),[s,c,l]};K.prototype.hsv=function(){return Tt(this._rgb)},Te.hsv=(...e)=>new K(...e,`hsv`),Ce.format.hsv=Ct,Ce.autodetect.push({p:2,test:(...e)=>{if(e=G(e,`hsv`),W(e)===`array`&&e.length===3)return`hsv`}}),Ye.hsv=(e,t,n)=>lt(e,t,n,`hsv`);function Et(e,t){let n=e.length;Array.isArray(e[0])||(e=[e]),Array.isArray(t[0])||(t=t.map(e=>[e]));let r=t[0].length,i=t[0].map((e,n)=>t.map(e=>e[n])),a=e.map(e=>i.map(t=>Array.isArray(e)?e.reduce((e,n,r)=>e+n*(t[r]||0),0):t.reduce((t,n)=>t+n*e,0)));return n===1&&(a=a[0]),r===1?a.map(e=>e[0]):a}var Dt=(...e)=>{e=G(e,`lab`);let[t,n,r,...i]=e,[a,o,s]=Ot([t,n,r]),[c,l,u]=ze(a,o,s);return[c,l,u,...i.length>0&&i[0]<1?[i[0]]:[]]};function Ot(e){return Et([[1.2268798758459243,-.5578149944602171,.2813910456659647],[-.0405757452148008,1.112286803280317,-.0717110580655164],[-.0763729366746601,-.4214933324022432,1.5869240198367816]],Et([[1,.3963377773761749,.2158037573099136],[1,-.1055613458156586,-.0638541728258133],[1,-.0894841775298119,-1.2914855480194092]],e).map(e=>e**3))}var kt=(...e)=>{let[t,n,r,...i]=G(e,`rgb`);return[...At(Ue(t,n,r)),...i.length>0&&i[0]<1?[i[0]]:[]]};function At(e){return Et([[.210454268309314,.7936177747023054,-.0040720430116193],[1.9779985324311684,-2.42859224204858,.450593709617411],[.0259040424655478,.7827717124575296,-.8086757549230774]],Et([[.819022437996703,.3619062600528904,-.1288737815209879],[.0329836539323885,.9292868615863434,.0361446663506424],[.0481771893596242,.2642395317527308,.6335478284694309]],e).map(e=>Math.cbrt(e)))}K.prototype.oklab=function(){return kt(this._rgb)},Object.assign(Te,{oklab:(...e)=>new K(...e,`oklab`)}),Ce.format.oklab=Dt,Ce.autodetect.push({p:2,test:(...e)=>{if(e=G(e,`oklab`),W(e)===`array`&&e.length===3)return`oklab`}}),Ye.oklab=(e,t,n)=>{let r=e.oklab(),i=t.oklab();return new K(r[0]+n*(i[0]-r[0]),r[1]+n*(i[1]-r[1]),r[2]+n*(i[2]-r[2]),`oklab`)},Ye.oklch=(e,t,n)=>lt(e,t,n,`oklch`);var{pow:jt,sqrt:Mt,PI:Nt,cos:Pt,sin:X,atan2:Ft}=Math,It=(e,t=`lrgb`,n=null)=>{let r=e.length;n||=Array.from(Array(r)).map(()=>1);let i=r/n.reduce(function(e,t){return e+t});if(n.forEach((e,t)=>{n[t]*=i}),e=e.map(e=>new K(e)),t===`lrgb`)return Lt(e,n);let a=e.shift(),o=a.get(t),s=[],c=0,l=0;for(let e=0;e<o.length;e++)if(o[e]=(o[e]||0)*n[0],s.push(isNaN(o[e])?0:n[0]),t.charAt(e)===`h`&&!isNaN(o[e])){let t=o[e]/180*Nt;c+=Pt(t)*n[0],l+=X(t)*n[0]}let u=a.alpha()*n[0];e.forEach((e,r)=>{let i=e.get(t);u+=e.alpha()*n[r+1];for(let e=0;e<o.length;e++)if(!isNaN(i[e])){if(s[e]+=n[r+1],t.charAt(e)===`h`){let t=i[e]/180*Nt;c+=Pt(t)*n[r+1],l+=X(t)*n[r+1]}else o[e]+=i[e]*n[r+1]}});for(let e=0;e<o.length;e++)if(t.charAt(e)===`h`){let t=Ft(l/s[e],c/s[e])/Nt*180;for(;t<0;)t+=360;for(;t>=360;)t-=360;o[e]=t}else o[e]=o[e]/s[e];return u/=r,new K(o,t).alpha(u>.99999?1:u,!0)},Lt=(e,t)=>{let n=e.length,r=[0,0,0,0];for(let i=0;i<e.length;i++){let a=e[i],o=t[i]/n,s=a._rgb;r[0]+=jt(s[0],2)*o,r[1]+=jt(s[1],2)*o,r[2]+=jt(s[2],2)*o,r[3]+=s[3]*o}return r[0]=Mt(r[0]),r[1]=Mt(r[1]),r[2]=Mt(r[2]),r[3]>.9999999&&(r[3]=1),new K(ue(r))},{pow:Rt}=Math;function zt(e){let t=`rgb`,n=Te(`#ccc`),r=0,i=[0,1],a=[0,1],o=[],s=[0,0],c=!1,l=[],u=!1,d=0,f=1,p=!1,m={},h=!0,g=1,_=function(e){if(e||=[`#fff`,`#000`],e&&W(e)===`string`&&Te.brewer&&Te.brewer[e.toLowerCase()]&&(e=Te.brewer[e.toLowerCase()]),W(e)===`array`){e.length===1&&(e=[e[0],e[0]]),e=e.slice(0);for(let t=0;t<e.length;t++)e[t]=Te(e[t]);o.length=0;for(let t=0;t<e.length;t++)o.push(t/(e.length-1))}return S(),l=e},v=function(e){if(c!=null){let t=c.length-1,n=0;for(;n<t&&e>=c[n];)n++;return n-1}return 0},y=e=>e,b=e=>e,x=function(e,r){let i,a;if(r??=!1,isNaN(e)||e===null)return n;a=r?e:c&&c.length>2?v(e)/(c.length-2):f===d?1:(e-d)/(f-d),a=b(a),r||(a=y(a)),g!==1&&(a=Rt(a,g)),a=s[0]+a*(1-s[0]-s[1]),a=le(a,0,1);let u=Math.floor(a*1e4);if(h&&m[u])i=m[u];else{if(W(l)===`array`)for(let e=0;e<o.length;e++){let n=o[e];if(a<=n){i=l[e];break}if(a>=n&&e===o.length-1){i=l[e];break}if(a>n&&a<o[e+1]){a=(a-n)/(o[e+1]-n),i=Te.interpolate(l[e],l[e+1],a,t);break}}else W(l)===`function`&&(i=l(a));h&&(m[u]=i)}return i};var S=()=>m={};_(e);let C=function(e){let t=Te(x(e));return u&&t[u]?t[u]():t};return C.classes=function(e){if(e!=null){if(W(e)===`array`)c=e,i=[e[0],e[e.length-1]];else{let t=Te.analyze(i);c=e===0?[t.min,t.max]:Te.limits(t,`e`,e)}return C}return c},C.domain=function(e){if(!arguments.length)return a;a=e.slice(0),d=e[0],f=e[e.length-1],o=[];let t=l.length;if(e.length===t&&d!==f)for(let t of Array.from(e))o.push((t-d)/(f-d));else{for(let e=0;e<t;e++)o.push(e/(t-1));if(e.length>2){let t=e.map((t,n)=>n/(e.length-1)),n=e.map(e=>(e-d)/(f-d));n.every((e,n)=>t[n]===e)||(b=e=>{if(e<=0||e>=1)return e;let r=0;for(;e>=n[r+1];)r++;let i=(e-n[r])/(n[r+1]-n[r]);return t[r]+i*(t[r+1]-t[r])})}}return i=[d,f],C},C.mode=function(e){return arguments.length?(t=e,S(),C):t},C.range=function(e,t){return _(e,t),C},C.out=function(e){return u=e,C},C.spread=function(e){return arguments.length?(r=e,C):r},C.correctLightness=function(e){return e??=!0,p=e,S(),y=p?function(e){let t=x(0,!0).lab()[0],n=x(1,!0).lab()[0],r=t>n,i=x(e,!0).lab()[0],a=t+(n-t)*e,o=i-a,s=0,c=1,l=20;for(;Math.abs(o)>.01&&l-->0;)(function(){return r&&(o*=-1),o<0?(s=e,e+=(c-e)*.5):(c=e,e+=(s-e)*.5),i=x(e,!0).lab()[0],o=i-a})();return e}:e=>e,C},C.padding=function(e){return e==null?s:(W(e)===`number`&&(e=[e,e]),s=e,C)},C.colors=function(t,n){arguments.length<2&&(n=`hex`);let r=[];if(arguments.length===0)r=l.slice(0);else if(t===1)r=[C(.5)];else if(t>1){let e=i[0],n=i[1]-e;r=Bt(0,t,!1).map(r=>C(e+r/(t-1)*n))}else{e=[];let t=[];if(c&&c.length>2)for(let e=1,n=c.length,r=1<=n;r?e<n:e>n;r?e++:e--)t.push((c[e-1]+c[e])*.5);else t=i;r=t.map(e=>C(e))}return Te[n]&&(r=r.map(e=>e[n]())),r},C.cache=function(e){return e==null?h:(h=e,C)},C.gamma=function(e){return e==null?g:(g=e,C)},C.nodata=function(e){return e==null?n:(n=Te(e),C)},C}function Bt(e,t,n){let r=[],i=e<t,a=n?i?t+1:t-1:t;for(let t=e;i?t<a:t>a;i?t++:t--)r.push(t);return r}var Vt=function(e){let t=[1,1];for(let n=1;n<e;n++){let e=[1];for(let n=1;n<=t.length;n++)e[n]=(t[n]||0)+t[n-1];t=e}return t},Ht=function(e){let t,n,r,i;if(e=e.map(e=>new K(e)),e.length===2)[n,r]=e.map(e=>e.lab()),t=function(e){return new K([0,1,2].map(t=>n[t]+e*(r[t]-n[t])),`lab`)};else if(e.length===3)[n,r,i]=e.map(e=>e.lab()),t=function(e){return new K([0,1,2].map(t=>(1-e)*(1-e)*n[t]+2*(1-e)*e*r[t]+e*e*i[t]),`lab`)};else if(e.length===4){let a;[n,r,i,a]=e.map(e=>e.lab()),t=function(e){return new K([0,1,2].map(t=>(1-e)*(1-e)*(1-e)*n[t]+3*(1-e)*(1-e)*e*r[t]+3*(1-e)*e*e*i[t]+e*e*e*a[t]),`lab`)}}else if(e.length>=5){let n,r,i;n=e.map(e=>e.lab()),i=e.length-1,r=Vt(i),t=function(e){let t=1-e;return new K([0,1,2].map(a=>n.reduce((n,o,s)=>n+r[s]*t**(i-s)*e**s*o[a],0)),`lab`)}}else throw RangeError(`No point in running bezier with only one color.`);return t},Ut=e=>{let t=Ht(e);return t.scale=()=>zt(t),t},{round:Wt}=Math;K.prototype.rgb=function(e=!0){return e===!1?this._rgb.slice(0,3):this._rgb.slice(0,3).map(Wt)},K.prototype.rgba=function(e=!0){return this._rgb.slice(0,4).map((t,n)=>n<3?e===!1?t:Wt(t):t)},Object.assign(Te,{rgb:(...e)=>new K(...e,`rgb`)}),Ce.format.rgb=(...e)=>{let t=G(e,`rgba`);return t[3]===void 0&&(t[3]=1),t},Ce.autodetect.push({p:3,test:(...e)=>{if(e=G(e,`rgba`),W(e)===`array`&&(e.length===3||e.length===4&&W(e[3])==`number`&&e[3]>=0&&e[3]<=1))return`rgb`}});var Gt=(e,t,n)=>{if(!Gt[n])throw Error(`unknown blend mode `+n);return Gt[n](e,t)},Kt=e=>(t,n)=>{let r=Te(n).rgb(),i=Te(t).rgb();return Te.rgb(e(r,i))},qt=e=>(t,n)=>{let r=[];return r[0]=e(t[0],n[0]),r[1]=e(t[1],n[1]),r[2]=e(t[2],n[2]),r};Gt.normal=Kt(qt(e=>e)),Gt.multiply=Kt(qt((e,t)=>e*t/255)),Gt.screen=Kt(qt((e,t)=>255*(1-(1-e/255)*(1-t/255)))),Gt.overlay=Kt(qt((e,t)=>t<128?2*e*t/255:255*(1-2*(1-e/255)*(1-t/255)))),Gt.darken=Kt(qt((e,t)=>e>t?t:e)),Gt.lighten=Kt(qt((e,t)=>e>t?e:t)),Gt.dodge=Kt(qt((e,t)=>e===255?255:(e=t/255*255/(1-e/255),e>255?255:e))),Gt.burn=Kt(qt((e,t)=>255*(1-(1-t/255)/(e/255))));var{pow:Jt,sin:Yt,cos:Xt}=Math;function Zt(e=300,t=-1.5,n=1,r=1,i=[0,1]){let a=0,o;W(i)===`array`?o=i[1]-i[0]:(o=0,i=[i,i]);let s=function(s){let c=ve*((e+120)/360+t*s),l=Jt(i[0]+o*s,r),u=(a===0?n:n[0]+s*a)*l*(1-l)/2,d=Xt(c),f=Yt(c),p=l+u*(-.14861*d+1.78277*f),m=l+u*(-.29227*d-.90649*f),h=l+1.97294*d*u;return Te(ue([p*255,m*255,h*255,1]))};return s.start=function(t){return t==null?e:(e=t,s)},s.rotations=function(e){return e==null?t:(t=e,s)},s.gamma=function(e){return e==null?r:(r=e,s)},s.hue=function(e){return e==null?n:(n=e,W(n)===`array`?(a=n[1]-n[0],a===0&&(n=n[1])):a=0,s)},s.lightness=function(e){return e==null?i:(W(e)===`array`?(i=e,o=e[1]-e[0]):(i=[e,e],o=0),s)},s.scale=()=>Te.scale(s),s.hue(n),s}var Qt=`0123456789abcdef`,{floor:$t,random:en}=Math,tn=(e=en)=>{let t=`#`;for(let n=0;n<6;n++)t+=Qt.charAt($t(e()*16));return new K(t,`hex`)},{log:nn,pow:rn,floor:an,abs:on}=Math;function sn(e,t=null){let n={min:Number.MAX_VALUE,max:Number.MAX_VALUE*-1,sum:0,values:[],count:0};return W(e)===`object`&&(e=Object.values(e)),e.forEach(e=>{t&&W(e)===`object`&&(e=e[t]),e!=null&&!isNaN(e)&&(n.values.push(e),n.sum+=e,e<n.min&&(n.min=e),e>n.max&&(n.max=e),n.count+=1)}),n.domain=[n.min,n.max],n.limits=(e,t)=>cn(n,e,t),n}function cn(e,t=`equal`,n=7){W(e)==`array`&&(e=sn(e));let{min:r,max:i}=e,a=e.values.sort((e,t)=>e-t);if(n===1)return[r,i];let o=[];if(t.substr(0,1)===`c`&&(o.push(r),o.push(i)),t.substr(0,1)===`e`){o.push(r);for(let e=1;e<n;e++)o.push(r+e/n*(i-r));o.push(i)}else if(t.substr(0,1)===`l`){if(r<=0)throw Error(`Logarithmic scales are only possible for values > 0`);let e=Math.LOG10E*nn(r),t=Math.LOG10E*nn(i);o.push(r);for(let r=1;r<n;r++)o.push(rn(10,e+r/n*(t-e)));o.push(i)}else if(t.substr(0,1)===`q`){o.push(r);for(let e=1;e<n;e++){let t=(a.length-1)*e/n,r=an(t);if(r===t)o.push(a[r]);else{let e=t-r;o.push(a[r]*(1-e)+a[r+1]*e)}}o.push(i)}else if(t.substr(0,1)===`k`){let e,t=a.length,s=Array(t),c=Array(n),l=!0,u=0,d=null;d=[],d.push(r);for(let e=1;e<n;e++)d.push(r+e/n*(i-r));for(d.push(i);l;){for(let e=0;e<n;e++)c[e]=0;for(let e=0;e<t;e++){let t=a[e],r=Number.MAX_VALUE,i;for(let a=0;a<n;a++){let n=on(d[a]-t);n<r&&(r=n,i=a),c[i]++,s[e]=i}}let r=Array(n);for(let e=0;e<n;e++)r[e]=null;for(let n=0;n<t;n++)e=s[n],r[e]===null?r[e]=a[n]:r[e]+=a[n];for(let e=0;e<n;e++)r[e]*=1/c[e];l=!1;for(let e=0;e<n;e++)if(r[e]!==d[e]){l=!0;break}d=r,u++,u>200&&(l=!1)}let f={};for(let e=0;e<n;e++)f[e]=[];for(let n=0;n<t;n++)e=s[n],f[e].push(a[n]);let p=[];for(let e=0;e<n;e++)p.push(f[e][0]),p.push(f[e][f[e].length-1]);p=p.sort((e,t)=>e-t),o.push(p[0]);for(let e=1;e<p.length;e+=2){let t=p[e];!isNaN(t)&&o.indexOf(t)===-1&&o.push(t)}}return o}var ln=(e,t)=>{e=new K(e),t=new K(t);let n=e.luminance(),r=t.luminance();return n>r?(n+.05)/(r+.05):(r+.05)/(n+.05)},un=.027,dn=5e-4,fn=.1,pn=1.14,mn=.022,hn=1.414,gn=(e,t)=>{e=new K(e),t=new K(t),e.alpha()<1&&(e=Xe(t,e,e.alpha(),`rgb`));let n=_n(...e.rgb()),r=_n(...t.rgb()),i=n>=mn?n:n+(mn-n)**+hn,a=r>=mn?r:r+(mn-r)**+hn,o=a**.56-i**.57,s=a**.65-i**.62,c=Math.abs(a-i)<dn?0:i<a?o*pn:s*pn;return(Math.abs(c)<fn?0:c>0?c-un:c+un)*100};function _n(e,t,n){return .2126729*(e/255)**2.4+.7151522*(t/255)**2.4+.072175*(n/255)**2.4}var{sqrt:vn,pow:yn,min:bn,max:xn,atan2:Sn,abs:Cn,cos:wn,sin:Tn,exp:En,PI:Dn}=Math;function On(e,t,n=1,r=1,i=1){var a=function(e){return 360*e/(2*Dn)},o=function(e){return 2*Dn*e/360};e=new K(e),t=new K(t);let[s,c,l]=Array.from(e.lab()),[u,d,f]=Array.from(t.lab()),p=(s+u)/2,m=(vn(yn(c,2)+yn(l,2))+vn(yn(d,2)+yn(f,2)))/2,h=.5*(1-vn(yn(m,7)/(yn(m,7)+yn(25,7)))),g=c*(1+h),_=d*(1+h),v=vn(yn(g,2)+yn(l,2)),y=vn(yn(_,2)+yn(f,2)),b=(v+y)/2,x=a(Sn(l,g)),S=a(Sn(f,_)),C=x>=0?x:x+360,w=S>=0?S:S+360,T=Cn(C-w)>180?(C+w+360)/2:(C+w)/2,E=1-.17*wn(o(T-30))+.24*wn(o(2*T))+.32*wn(o(3*T+6))-.2*wn(o(4*T-63)),D=w-C;D=Cn(D)<=180?D:w<=C?D+360:D-360,D=2*vn(v*y)*Tn(o(D)/2);let O=u-s,k=y-v,A=1+.015*yn(p-50,2)/vn(20+yn(p-50,2)),j=1+.045*b,M=1+.015*b*E,N=30*En(-yn((T-275)/25,2)),P=-(2*vn(yn(b,7)/(yn(b,7)+yn(25,7))))*Tn(2*o(N));return xn(0,bn(100,vn(yn(O/(n*A),2)+yn(k/(r*j),2)+yn(D/(i*M),2)+P*(k/(r*j))*(D/(i*M)))))}function kn(e,t,n=`lab`){e=new K(e),t=new K(t);let r=e.get(n),i=t.get(n),a=0;for(let e in r){let t=(r[e]||0)-(i[e]||0);a+=t*t}return Math.sqrt(a)}var An=(...e)=>{try{return new K(...e),!0}catch{return!1}},jn={cool(){return zt([Te.hsl(180,1,.9),Te.hsl(250,.7,.4)])},hot(){return zt([`#000`,`#f00`,`#ff0`,`#fff`],[0,.25,.75,1]).mode(`rgb`)}},Mn={OrRd:[`#fff7ec`,`#fee8c8`,`#fdd49e`,`#fdbb84`,`#fc8d59`,`#ef6548`,`#d7301f`,`#b30000`,`#7f0000`],PuBu:[`#fff7fb`,`#ece7f2`,`#d0d1e6`,`#a6bddb`,`#74a9cf`,`#3690c0`,`#0570b0`,`#045a8d`,`#023858`],BuPu:[`#f7fcfd`,`#e0ecf4`,`#bfd3e6`,`#9ebcda`,`#8c96c6`,`#8c6bb1`,`#88419d`,`#810f7c`,`#4d004b`],Oranges:[`#fff5eb`,`#fee6ce`,`#fdd0a2`,`#fdae6b`,`#fd8d3c`,`#f16913`,`#d94801`,`#a63603`,`#7f2704`],BuGn:[`#f7fcfd`,`#e5f5f9`,`#ccece6`,`#99d8c9`,`#66c2a4`,`#41ae76`,`#238b45`,`#006d2c`,`#00441b`],YlOrBr:[`#ffffe5`,`#fff7bc`,`#fee391`,`#fec44f`,`#fe9929`,`#ec7014`,`#cc4c02`,`#993404`,`#662506`],YlGn:[`#ffffe5`,`#f7fcb9`,`#d9f0a3`,`#addd8e`,`#78c679`,`#41ab5d`,`#238443`,`#006837`,`#004529`],Reds:[`#fff5f0`,`#fee0d2`,`#fcbba1`,`#fc9272`,`#fb6a4a`,`#ef3b2c`,`#cb181d`,`#a50f15`,`#67000d`],RdPu:[`#fff7f3`,`#fde0dd`,`#fcc5c0`,`#fa9fb5`,`#f768a1`,`#dd3497`,`#ae017e`,`#7a0177`,`#49006a`],Greens:[`#f7fcf5`,`#e5f5e0`,`#c7e9c0`,`#a1d99b`,`#74c476`,`#41ab5d`,`#238b45`,`#006d2c`,`#00441b`],YlGnBu:[`#ffffd9`,`#edf8b1`,`#c7e9b4`,`#7fcdbb`,`#41b6c4`,`#1d91c0`,`#225ea8`,`#253494`,`#081d58`],Purples:[`#fcfbfd`,`#efedf5`,`#dadaeb`,`#bcbddc`,`#9e9ac8`,`#807dba`,`#6a51a3`,`#54278f`,`#3f007d`],GnBu:[`#f7fcf0`,`#e0f3db`,`#ccebc5`,`#a8ddb5`,`#7bccc4`,`#4eb3d3`,`#2b8cbe`,`#0868ac`,`#084081`],Greys:[`#ffffff`,`#f0f0f0`,`#d9d9d9`,`#bdbdbd`,`#969696`,`#737373`,`#525252`,`#252525`,`#000000`],YlOrRd:[`#ffffcc`,`#ffeda0`,`#fed976`,`#feb24c`,`#fd8d3c`,`#fc4e2a`,`#e31a1c`,`#bd0026`,`#800026`],PuRd:[`#f7f4f9`,`#e7e1ef`,`#d4b9da`,`#c994c7`,`#df65b0`,`#e7298a`,`#ce1256`,`#980043`,`#67001f`],Blues:[`#f7fbff`,`#deebf7`,`#c6dbef`,`#9ecae1`,`#6baed6`,`#4292c6`,`#2171b5`,`#08519c`,`#08306b`],PuBuGn:[`#fff7fb`,`#ece2f0`,`#d0d1e6`,`#a6bddb`,`#67a9cf`,`#3690c0`,`#02818a`,`#016c59`,`#014636`],Viridis:[`#440154`,`#482777`,`#3f4a8a`,`#31678e`,`#26838f`,`#1f9d8a`,`#6cce5a`,`#b6de2b`,`#fee825`],Spectral:[`#9e0142`,`#d53e4f`,`#f46d43`,`#fdae61`,`#fee08b`,`#ffffbf`,`#e6f598`,`#abdda4`,`#66c2a5`,`#3288bd`,`#5e4fa2`],RdYlGn:[`#a50026`,`#d73027`,`#f46d43`,`#fdae61`,`#fee08b`,`#ffffbf`,`#d9ef8b`,`#a6d96a`,`#66bd63`,`#1a9850`,`#006837`],RdBu:[`#67001f`,`#b2182b`,`#d6604d`,`#f4a582`,`#fddbc7`,`#f7f7f7`,`#d1e5f0`,`#92c5de`,`#4393c3`,`#2166ac`,`#053061`],PiYG:[`#8e0152`,`#c51b7d`,`#de77ae`,`#f1b6da`,`#fde0ef`,`#f7f7f7`,`#e6f5d0`,`#b8e186`,`#7fbc41`,`#4d9221`,`#276419`],PRGn:[`#40004b`,`#762a83`,`#9970ab`,`#c2a5cf`,`#e7d4e8`,`#f7f7f7`,`#d9f0d3`,`#a6dba0`,`#5aae61`,`#1b7837`,`#00441b`],RdYlBu:[`#a50026`,`#d73027`,`#f46d43`,`#fdae61`,`#fee090`,`#ffffbf`,`#e0f3f8`,`#abd9e9`,`#74add1`,`#4575b4`,`#313695`],BrBG:[`#543005`,`#8c510a`,`#bf812d`,`#dfc27d`,`#f6e8c3`,`#f5f5f5`,`#c7eae5`,`#80cdc1`,`#35978f`,`#01665e`,`#003c30`],RdGy:[`#67001f`,`#b2182b`,`#d6604d`,`#f4a582`,`#fddbc7`,`#ffffff`,`#e0e0e0`,`#bababa`,`#878787`,`#4d4d4d`,`#1a1a1a`],PuOr:[`#7f3b08`,`#b35806`,`#e08214`,`#fdb863`,`#fee0b6`,`#f7f7f7`,`#d8daeb`,`#b2abd2`,`#8073ac`,`#542788`,`#2d004b`],Set2:[`#66c2a5`,`#fc8d62`,`#8da0cb`,`#e78ac3`,`#a6d854`,`#ffd92f`,`#e5c494`,`#b3b3b3`],Accent:[`#7fc97f`,`#beaed4`,`#fdc086`,`#ffff99`,`#386cb0`,`#f0027f`,`#bf5b17`,`#666666`],Set1:[`#e41a1c`,`#377eb8`,`#4daf4a`,`#984ea3`,`#ff7f00`,`#ffff33`,`#a65628`,`#f781bf`,`#999999`],Set3:[`#8dd3c7`,`#ffffb3`,`#bebada`,`#fb8072`,`#80b1d3`,`#fdb462`,`#b3de69`,`#fccde5`,`#d9d9d9`,`#bc80bd`,`#ccebc5`,`#ffed6f`],Dark2:[`#1b9e77`,`#d95f02`,`#7570b3`,`#e7298a`,`#66a61e`,`#e6ab02`,`#a6761d`,`#666666`],Paired:[`#a6cee3`,`#1f78b4`,`#b2df8a`,`#33a02c`,`#fb9a99`,`#e31a1c`,`#fdbf6f`,`#ff7f00`,`#cab2d6`,`#6a3d9a`,`#ffff99`,`#b15928`],Pastel2:[`#b3e2cd`,`#fdcdac`,`#cbd5e8`,`#f4cae4`,`#e6f5c9`,`#fff2ae`,`#f1e2cc`,`#cccccc`],Pastel1:[`#fbb4ae`,`#b3cde3`,`#ccebc5`,`#decbe4`,`#fed9a6`,`#ffffcc`,`#e5d8bd`,`#fddaec`,`#f2f2f2`]},Nn=Object.keys(Mn),Pn=new Map(Nn.map(e=>[e.toLowerCase(),e])),Fn=typeof Proxy==`function`?new Proxy(Mn,{get(e,t){let n=t.toLowerCase();if(Pn.has(n))return e[Pn.get(n)]},getOwnPropertyNames(){return Object.getOwnPropertyNames(Nn)}}):Mn,In=(...e)=>{e=G(e,`cmyk`);let[t,n,r,i]=e,a=e.length>4?e[4]:1;return i===1?[0,0,0,a]:[t>=1?0:255*(1-t)*(1-i),n>=1?0:255*(1-n)*(1-i),r>=1?0:255*(1-r)*(1-i),a]},{max:Ln}=Math,Rn=(...e)=>{let[t,n,r]=G(e,`rgb`);t/=255,n/=255,r/=255;let i=1-Ln(t,Ln(n,r)),a=i<1?1/(1-i):0;return[(1-t-i)*a,(1-n-i)*a,(1-r-i)*a,i]};K.prototype.cmyk=function(){return Rn(this._rgb)},Object.assign(Te,{cmyk:(...e)=>new K(...e,`cmyk`)}),Ce.format.cmyk=In,Ce.autodetect.push({p:2,test:(...e)=>{if(e=G(e,`cmyk`),W(e)===`array`&&e.length===4)return`cmyk`}});var zn=(...e)=>{let t=G(e,`hsla`),n=fe(e)||`lsa`;return t[0]=ge(t[0]||0)+`deg`,t[1]=ge(t[1]*100)+`%`,t[2]=ge(t[2]*100)+`%`,n===`hsla`||t.length>3&&t[3]<1?(t[3]=`/ `+(t.length>3?t[3]:1),n=`hsla`):t.length=3,`${n.substr(0,3)}(${t.join(` `)})`},Bn=(...e)=>{let t=G(e,`lab`),n=fe(e)||`lab`;return t[0]=ge(t[0])+`%`,t[1]=ge(t[1]),t[2]=ge(t[2]),n===`laba`||t.length>3&&t[3]<1?t[3]=`/ `+(t.length>3?t[3]:1):t.length=3,`lab(${t.join(` `)})`},Vn=(...e)=>{let t=G(e,`lch`),n=fe(e)||`lab`;return t[0]=ge(t[0])+`%`,t[1]=ge(t[1]),t[2]=isNaN(t[2])?`none`:ge(t[2])+`deg`,n===`lcha`||t.length>3&&t[3]<1?t[3]=`/ `+(t.length>3?t[3]:1):t.length=3,`lch(${t.join(` `)})`},Hn=(...e)=>{let t=G(e,`lab`);return t[0]=ge(t[0]*100)+`%`,t[1]=_e(t[1]),t[2]=_e(t[2]),t.length>3&&t[3]<1?t[3]=`/ `+(t.length>3?t[3]:1):t.length=3,`oklab(${t.join(` `)})`},Un=(...e)=>{let[t,n,r,...i]=G(e,`rgb`),[a,o,s]=kt(t,n,r),[c,l,u]=at(a,o,s);return[c,l,u,...i.length>0&&i[0]<1?[i[0]]:[]]},Wn=(...e)=>{let t=G(e,`lch`);return t[0]=ge(t[0]*100)+`%`,t[1]=_e(t[1]),t[2]=isNaN(t[2])?`none`:ge(t[2])+`deg`,t.length>3&&t[3]<1?t[3]=`/ `+(t.length>3?t[3]:1):t.length=3,`oklch(${t.join(` `)})`},{round:Gn}=Math,Kn=(...e)=>{let t=G(e,`rgba`),n=fe(e)||`rgb`;if(n.substr(0,3)===`hsl`)return zn(J(t),n);if(n.substr(0,3)===`lab`){let e=Fe();Pe(`d50`);let r=Bn(Be(t),n);return Pe(e),r}if(n.substr(0,3)===`lch`){let e=Fe();Pe(`d50`);let r=Vn(ot(t),n);return Pe(e),r}return n.substr(0,5)===`oklab`?Hn(kt(t)):n.substr(0,5)===`oklch`?Wn(Un(t)):(t[0]=Gn(t[0]),t[1]=Gn(t[1]),t[2]=Gn(t[2]),(n===`rgba`||t.length>3&&t[3]<1)&&(t[3]=`/ `+(t.length>3?t[3]:1),n=`rgba`),`${n.substr(0,3)}(${t.slice(0,n===`rgb`?3:4).join(` `)})`)},qn=(...e)=>{e=G(e,`lch`);let[t,n,r,...i]=e,[a,o,s]=$e(t,n,r),[c,l,u]=Dt(a,o,s);return[c,l,u,...i.length>0&&i[0]<1?[i[0]]:[]]},Jn=`((?:-?\\d+)|(?:-?\\d+(?:\\.\\d+)?)%|none)`,Yn=`((?:-?(?:\\d+(?:\\.\\d*)?|\\.\\d+)%?)|none)`,Xn=`((?:-?(?:\\d+(?:\\.\\d*)?|\\.\\d+)%)|none)`,Zn=`\\s*`,Qn=`\\s+`,$n=`\\s*,\\s*`,er=`((?:-?(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:deg)?)|none)`,tr=`\\s*(?:\\/\\s*((?:[01]|[01]?\\.\\d+)|\\d+(?:\\.\\d+)?%))?`,nr=RegExp(`^rgba?\\(`+Zn+[Jn,Jn,Jn].join(Qn)+tr+`\\)$`),rr=RegExp(`^rgb\\(`+Zn+[Jn,Jn,Jn].join($n)+Zn+`\\)$`),ir=RegExp(`^rgba\\(`+Zn+[Jn,Jn,Jn,Yn].join($n)+Zn+`\\)$`),ar=RegExp(`^hsla?\\(`+Zn+[er,Xn,Xn].join(Qn)+tr+`\\)$`),or=RegExp(`^hsl?\\(`+Zn+[er,Xn,Xn].join($n)+Zn+`\\)$`),sr=/^hsla\(\s*(-?\d+(?:\.\d+)?),\s*(-?\d+(?:\.\d+)?)%\s*,\s*(-?\d+(?:\.\d+)?)%\s*,\s*([01]|[01]?\.\d+)\)$/,cr=RegExp(`^lab\\(`+Zn+[Yn,Yn,Yn].join(Qn)+tr+`\\)$`),lr=RegExp(`^lch\\(`+Zn+[Yn,Yn,er].join(Qn)+tr+`\\)$`),ur=RegExp(`^oklab\\(`+Zn+[Yn,Yn,Yn].join(Qn)+tr+`\\)$`),dr=RegExp(`^oklch\\(`+Zn+[Yn,Yn,er].join(Qn)+tr+`\\)$`),{round:fr}=Math,pr=e=>e.map((e,t)=>t<=2?le(fr(e),0,255):e),mr=(e,t=0,n=100,r=!1)=>(typeof e==`string`&&e.endsWith(`%`)&&(e=parseFloat(e.substring(0,e.length-1))/100,e=r?t+(e+1)*.5*(n-t):t+e*(n-t)),+e),hr=(e,t)=>e===`none`?t:e,gr=e=>{if(e=e.toLowerCase().trim(),e===`transparent`)return[0,0,0,0];let t;if(Ce.format.named)try{return Ce.format.named(e)}catch{}if((t=e.match(nr))||(t=e.match(rr))){let e=t.slice(1,4);for(let t=0;t<3;t++)e[t]=+mr(hr(e[t],0),0,255);e=pr(e);let n=t[4]===void 0?1:+mr(t[4],0,1);return e[3]=n,e}if(t=e.match(ir)){let e=t.slice(1,5);for(let t=0;t<4;t++)e[t]=+mr(e[t],0,255);return e}if((t=e.match(ar))||(t=e.match(or))){let e=t.slice(1,4);e[0]=+hr(e[0].replace(`deg`,``),0),e[1]=mr(hr(e[1],0),0,100)*.01,e[2]=mr(hr(e[2],0),0,100)*.01;let n=pr(q(e));return n[3]=t[4]===void 0?1:+mr(t[4],0,1),n}if(t=e.match(sr)){let e=t.slice(1,4);e[1]*=.01,e[2]*=.01;let n=q(e);for(let e=0;e<3;e++)n[e]=fr(n[e]);return n[3]=+t[4],n}if(t=e.match(cr)){let e=t.slice(1,4);e[0]=mr(hr(e[0],0),0,100),e[1]=mr(hr(e[1],0),-125,125,!0),e[2]=mr(hr(e[2],0),-125,125,!0);let n=Fe();Pe(`d50`);let r=pr(Ie(e));return Pe(n),r[3]=t[4]===void 0?1:+mr(t[4],0,1),r}if(t=e.match(lr)){let e=t.slice(1,4);e[0]=mr(e[0],0,100),e[1]=mr(hr(e[1],0),0,150,!1),e[2]=+hr(e[2].replace(`deg`,``),0);let n=Fe();Pe(`d50`);let r=pr(et(e));return Pe(n),r[3]=t[4]===void 0?1:+mr(t[4],0,1),r}if(t=e.match(ur)){let e=t.slice(1,4);e[0]=mr(hr(e[0],0),0,1),e[1]=mr(hr(e[1],0),-.4,.4,!0),e[2]=mr(hr(e[2],0),-.4,.4,!0);let n=pr(Dt(e));return n[3]=t[4]===void 0?1:+mr(t[4],0,1),n}if(t=e.match(dr)){let e=t.slice(1,4);e[0]=mr(hr(e[0],0),0,1),e[1]=mr(hr(e[1],0),0,.4,!1),e[2]=+hr(e[2].replace(`deg`,``),0);let n=pr(qn(e));return n[3]=t[4]===void 0?1:+mr(t[4],0,1),n}};gr.test=e=>nr.test(e)||ar.test(e)||cr.test(e)||lr.test(e)||ur.test(e)||dr.test(e)||rr.test(e)||ir.test(e)||or.test(e)||sr.test(e)||e===`transparent`,K.prototype.css=function(e){return Kn(this._rgb,e)},Te.css=(...e)=>new K(...e,`css`),Ce.format.css=gr,Ce.autodetect.push({p:5,test:(e,...t)=>{if(!t.length&&W(e)===`string`&&gr.test(e))return`css`}}),Ce.format.gl=(...e)=>{let t=G(e,`rgba`);return t[0]*=255,t[1]*=255,t[2]*=255,t},Te.gl=(...e)=>new K(...e,`gl`),K.prototype.gl=function(){let e=this._rgb;return[e[0]/255,e[1]/255,e[2]/255,e[3]]},K.prototype.hex=function(e){return je(this._rgb,e)},Te.hex=(...e)=>new K(...e,`hex`),Ce.format.hex=ke,Ce.autodetect.push({p:4,test:(e,...t)=>{if(!t.length&&W(e)===`string`&&[3,4,5,6,7,8,9].indexOf(e.length)>=0)return`hex`}});var{log:_r}=Math,vr=e=>{let t=e/100,n,r,i;return t<66?(n=255,r=t<6?0:-155.25485562709179-.44596950469579133*(r=t-2)+104.49216199393888*_r(r),i=t<20?0:-254.76935184120902+.8274096064007395*(i=t-10)+115.67994401066147*_r(i)):(n=351.97690566805693+.114206453784165*(n=t-55)-40.25366309332127*_r(n),r=325.4494125711974+.07943456536662342*(r=t-50)-28.0852963507957*_r(r),i=255),[n,r,i,1]},{round:yr}=Math,br=(...e)=>{let t=G(e,`rgb`),n=t[0],r=t[2],i=1e3,a=4e4,o;for(;a-i>.4;){o=(a+i)*.5;let e=vr(o);e[2]/e[0]>=r/n?a=o:i=o}return yr(o)};K.prototype.temp=K.prototype.kelvin=K.prototype.temperature=function(){return br(this._rgb)};var xr=(...e)=>new K(...e,`temp`);Object.assign(Te,{temp:xr,kelvin:xr,temperature:xr}),Ce.format.temp=Ce.format.kelvin=Ce.format.temperature=vr,K.prototype.oklch=function(){return Un(this._rgb)},Object.assign(Te,{oklch:(...e)=>new K(...e,`oklch`)}),Ce.format.oklch=qn,Ce.autodetect.push({p:2,test:(...e)=>{if(e=G(e,`oklch`),W(e)===`array`&&e.length===3)return`oklch`}}),Object.assign(Te,{analyze:sn,average:It,bezier:Ut,blend:Gt,brewer:Fn,Color:K,colors:Ee,contrast:ln,contrastAPCA:gn,cubehelix:Zt,deltaE:On,distance:kn,input:Ce,interpolate:Xe,limits:cn,mix:Xe,random:tn,scale:zt,scales:jn,valid:An});var Sr=Te;function Cr(e,t){if(!Sr.valid(e))return t;try{return Sr(e)}catch{return t}}function wr(e){return Sr.valid(e)&&Sr.contrast(e,`#fff`)>=Sr.contrast(e,`#333`)?`#fff`:`#333`}var Tr=4.5;function Er(e){let t=e;for(;t&&t instanceof Element;){let e=getComputedStyle(t).backgroundColor;if(e&&e!==`rgba(0, 0, 0, 0)`&&e!==`transparent`)return e;t=t.parentElement}return`#fff`}function Dr(e,t=`#fff`){if(!Sr.valid(e))return Sr.valid(t)?wr(t):`#333`;let n=Sr(e),r=Cr(t,Sr(`#fff`));if(Sr.contrast(n,r)>=Tr)return n.hex();let i=r.luminance()>.5;for(let e=0;e<20&&(n=i?n.darken(.3):n.brighten(.3),!(Sr.contrast(n,r)>=Tr));e++);return n.hex()}var Or=12,kr=.25,Ar=20,jr=15;function Mr(e,t){if(e.length===0)return[];let n=Cr(t,Sr(`#fff`)),r=Sr.valid(t)?t:`#fff`,i=n.luminance()>.5,a=e.map(e=>Sr.valid(e)?Nr(Sr(e),r,i):Sr(`#000`));for(let e=1;e<a.length;e++)a[e]=Ir(a[e],a.slice(0,e),r,i);return a.map(e=>e.hex())}function Nr(e,t,n){for(let r=0;r<Ar;r++){if(Sr.contrast(e,t)>=Tr)return e;e=n?e.darken(kr):e.brighten(kr)}return e}function Pr(e,t){return t.reduce((t,n)=>Math.min(t,Sr.deltaE(e,n)),1/0)}function*Fr(e,t){for(let n of[t,!t]){let t=e;for(let e=0;e<Ar;e++)t=n?t.darken(kr):t.brighten(kr),yield t}for(let t=jr;t<=180;t+=jr)yield e.set(`hsl.h`,`+${t}`),yield e.set(`hsl.h`,`-${t}`)}function Ir(e,t,n,r){let i=e,a=Pr(e,t);if(a>=Or)return e;for(let o of Fr(e,r)){if(Sr.contrast(o,n)<Tr)continue;let e=Pr(o,t);if(e>a&&(i=o,a=e),a>=Or)break}return i}var Lr=function(e){return e.BarVertical=`bar-vertical`,e.BarHorizontal=`bar-horizontal`,e.BarMulti=`bar-multi`,e.ColumnStacked=`column-stacked`,e.BarStacked=`bar-stacked`,e.BarSplit=`bar-split`,e.BarGrouped=`bar-grouped`,e.Line=`line`,e.LineMulti=`line-multi`,e.Area=`area`,e.AreaStacked=`area-stacked`,e.Donut=`donut`,e.Pie=`pie`,e.Scatter=`scatter`,e.VerticalBar=`vertical-bar`,e.HorizontalBar=`horizontal-bar`,e}({}),Rr=function(e){return e.Left=`left`,e.Right=`right`,e}({}),zr=function(e){return e.Linear=`linear`,e.Log=`log`,e.Symlog=`symlog`,e}({}),Br=function(e){return e.Solid=`solid`,e.Dashed=`dashed`,e.Dotted=`dotted`,e.None=`none`,e}({}),Vr=function(e){return e.Auto=`auto`,e.Inside=`inside`,e.Outside=`outside`,e.Off=`off`,e}({}),Hr=function(e){return e.Auto=`auto`,e.Horizontal=`horizontal`,e.Vertical=`vertical`,e}({}),Ur=function(e){return e.NW=`NW`,e.N=`N`,e.NE=`NE`,e.E=`E`,e.SE=`SE`,e.S=`S`,e.SW=`SW`,e.W=`W`,e.Center=`center`,e}({}),Wr=function(e){return e.Direct=`direct`,e.CurveLeft=`curve-left`,e.CurveRight=`curve-right`,e.Elbow=`elbow`,e}({}),Gr=function(e){return e.Solid=`solid`,e.Dotted=`dotted`,e.Dashed=`dashed`,e}({}),Kr=function(e){return e.Point=`point`,e.Range=`range`,e.Free=`free`,e}({}),qr=function(e){return e.Start=`start`,e.Center=`center`,e.End=`end`,e}({}),Jr=function(e){return e.Vertical=`vertical`,e.Horizontal=`horizontal`,e}({}),Yr=function(e){return e.Circle=`circle`,e.Square=`square`,e.Diamond=`diamond`,e.Triangle=`triangle`,e.TriangleDown=`triangleDown`,e.Cross=`cross`,e.Star=`star`,e}({}),Xr=function(e){return e.All=`all`,e.First=`first`,e.Last=`last`,e.FirstLast=`firstLast`,e}({}),Zr=function(e){return e.Filled=`filled`,e.Hollow=`hollow`,e}({}),Qr=function(e){return e.Ascending=`ascending`,e.Descending=`descending`,e.None=`none`,e}({}),$r=function(e){return e.Total=`total`,e.WithinGroups=`within-groups`,e.None=`none`,e}({}),ei=function(e){return e.Top=`top`,e.Bottom=`bottom`,e.Left=`left`,e.Right=`right`,e}({}),ti=function(e){return e.Start=`start`,e.Middle=`middle`,e.End=`end`,e}({}),ni=function(e){return e.Inside=`inside`,e.Outside=`outside`,e.Auto=`auto`,e}({}),ri=function(e){return e.Both=`both`,e.Vertical=`vertical`,e.Horizontal=`horizontal`,e}({}),ii=function(e){return e.Solid=`solid`,e.Dashed=`dashed`,e.Dotted=`dotted`,e}({}),ai=function(e){return e.Normal=`normal`,e.Percent=`percent`,e}({}),Z=function(e){return e.Colors=`colors`,e.Boolean=`boolean`,e.Select=`select`,e.Text=`text`,e.NumberFormat=`numberFormat`,e.DateFormat=`dateFormat`,e}({}),oi=function(e){return e.Off=``,e.Auto=`auto`,e.Outside=`outside`,e.Inside=`inside`,e}({}),si=function(e){return e.Linear=`linear`,e.MonotoneX=`monotoneX`,e.Step=`step`,e.StepBefore=`stepBefore`,e.StepAfter=`stepAfter`,e.Basis=`basis`,e.Cardinal=`cardinal`,e.CatmullRom=`catmullRom`,e}({}),ci=function(e){return e.Sort=`sort`,e.Filter=`filter`,e.HideColumns=`hide-columns`,e.Transpose=`transpose`,e.Parse=`parse`,e.Rename=`rename`,e.GroupBy=`group-by`,e.Computed=`computed`,e}({}),li=function(e){return e.Equals=`equals`,e.NotEquals=`not-equals`,e.Contains=`contains`,e.GreaterThan=`greater-than`,e.LessThan=`less-than`,e}({}),ui=function(e){return e.Type=`type`,e.String=`string`,e.Numeric=`numeric`,e.Date=`date`,e}({}),di=s(((e,t)=>{(function(n,r){typeof e==`object`&&t!==void 0?t.exports=r():typeof define==`function`&&define.amd?define(r):(n=typeof globalThis<`u`?globalThis:n||self).dayjs=r()})(e,(function(){"use strict";var e=1e3,t=6e4,n=36e5,r=`millisecond`,i=`second`,a=`minute`,o=`hour`,s=`day`,c=`week`,l=`month`,u=`quarter`,d=`year`,f=`date`,p=`Invalid Date`,m=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,h=/\[([^\]]+)]|YYYY|YY|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,g={name:`en`,weekdays:`Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday`.split(`_`),months:`January_February_March_April_May_June_July_August_September_October_November_December`.split(`_`),ordinal:function(e){var t=[`th`,`st`,`nd`,`rd`],n=e%100;return`[`+e+(t[(n-20)%10]||t[n]||t[0])+`]`}},_=function(e,t,n){var r=String(e);return!r||r.length>=t?e:``+Array(t+1-r.length).join(n)+e},v={s:_,z:function(e){var t=-e.utcOffset(),n=Math.abs(t),r=Math.floor(n/60),i=n%60;return(t<=0?`+`:`-`)+_(r,2,`0`)+`:`+_(i,2,`0`)},m:function e(t,n){if(t.date()<n.date())return-e(n,t);var r=12*(n.year()-t.year())+(n.month()-t.month()),i=t.clone().add(r,l),a=n-i<0,o=t.clone().add(r+(a?-1:1),l);return+(-(r+(n-i)/(a?i-o:o-i))||0)},a:function(e){return e<0?Math.ceil(e)||0:Math.floor(e)},p:function(e){return{M:l,y:d,w:c,d:s,D:f,h:o,m:a,s:i,ms:r,Q:u}[e]||String(e||``).toLowerCase().replace(/s$/,``)},u:function(e){return e===void 0}},y=`en`,b={};b[y]=g;var x=`$isDayjsObject`,S=function(e){return e instanceof E||!(!e||!e[x])},C=function e(t,n,r){var i;if(!t)return y;if(typeof t==`string`){var a=t.toLowerCase();b[a]&&(i=a),n&&(b[a]=n,i=a);var o=t.split(`-`);if(!i&&o.length>1)return e(o[0])}else{var s=t.name;b[s]=t,i=s}return!r&&i&&(y=i),i||!r&&y},w=function(e,t){if(S(e))return e.clone();var n=typeof t==`object`?t:{};return n.date=e,n.args=arguments,new E(n)},T=v;T.l=C,T.i=S,T.w=function(e,t){return w(e,{locale:t.$L,utc:t.$u,x:t.$x,$offset:t.$offset})};var E=function(){function g(e){this.$L=C(e.locale,null,!0),this.parse(e),this.$x=this.$x||e.x||{},this[x]=!0}var _=g.prototype;return _.parse=function(e){this.$d=function(e){var t=e.date,n=e.utc;if(t===null)return new Date(NaN);if(T.u(t))return new Date;if(t instanceof Date)return new Date(t);if(typeof t==`string`&&!/Z$/i.test(t)){var r=t.match(m);if(r){var i=r[2]-1||0,a=(r[7]||`0`).substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,a)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,a)}}return new Date(t)}(e),this.init()},_.init=function(){var e=this.$d;this.$y=e.getFullYear(),this.$M=e.getMonth(),this.$D=e.getDate(),this.$W=e.getDay(),this.$H=e.getHours(),this.$m=e.getMinutes(),this.$s=e.getSeconds(),this.$ms=e.getMilliseconds()},_.$utils=function(){return T},_.isValid=function(){return this.$d.toString()!==p},_.isSame=function(e,t){var n=w(e);return this.startOf(t)<=n&&n<=this.endOf(t)},_.isAfter=function(e,t){return w(e)<this.startOf(t)},_.isBefore=function(e,t){return this.endOf(t)<w(e)},_.$g=function(e,t,n){return T.u(e)?this[t]:this.set(n,e)},_.unix=function(){return Math.floor(this.valueOf()/1e3)},_.valueOf=function(){return this.$d.getTime()},_.startOf=function(e,t){var n=this,r=!!T.u(t)||t,u=T.p(e),p=function(e,t){var i=T.w(n.$u?Date.UTC(n.$y,t,e):new Date(n.$y,t,e),n);return r?i:i.endOf(s)},m=function(e,t){return T.w(n.toDate()[e].apply(n.toDate(`s`),(r?[0,0,0,0]:[23,59,59,999]).slice(t)),n)},h=this.$W,g=this.$M,_=this.$D,v=`set`+(this.$u?`UTC`:``);switch(u){case d:return r?p(1,0):p(31,11);case l:return r?p(1,g):p(0,g+1);case c:var y=this.$locale().weekStart||0,b=(h<y?h+7:h)-y;return p(r?_-b:_+(6-b),g);case s:case f:return m(v+`Hours`,0);case o:return m(v+`Minutes`,1);case a:return m(v+`Seconds`,2);case i:return m(v+`Milliseconds`,3);default:return this.clone()}},_.endOf=function(e){return this.startOf(e,!1)},_.$set=function(e,t){var n,c=T.p(e),u=`set`+(this.$u?`UTC`:``),p=(n={},n[s]=u+`Date`,n[f]=u+`Date`,n[l]=u+`Month`,n[d]=u+`FullYear`,n[o]=u+`Hours`,n[a]=u+`Minutes`,n[i]=u+`Seconds`,n[r]=u+`Milliseconds`,n)[c],m=c===s?this.$D+(t-this.$W):t;if(c===l||c===d){var h=this.clone().set(f,1);h.$d[p](m),h.init(),this.$d=h.set(f,Math.min(this.$D,h.daysInMonth())).$d}else p&&this.$d[p](m);return this.init(),this},_.set=function(e,t){return this.clone().$set(e,t)},_.get=function(e){return this[T.p(e)]()},_.add=function(r,u){var f,p=this;r=Number(r);var m=T.p(u),h=function(e){var t=w(p);return T.w(t.date(t.date()+Math.round(e*r)),p)};if(m===l)return this.set(l,this.$M+r);if(m===d)return this.set(d,this.$y+r);if(m===s)return h(1);if(m===c)return h(7);var g=(f={},f[a]=t,f[o]=n,f[i]=e,f)[m]||1,_=this.$d.getTime()+r*g;return T.w(_,this)},_.subtract=function(e,t){return this.add(-1*e,t)},_.format=function(e){var t=this,n=this.$locale();if(!this.isValid())return n.invalidDate||p;var r=e||`YYYY-MM-DDTHH:mm:ssZ`,i=T.z(this),a=this.$H,o=this.$m,s=this.$M,c=n.weekdays,l=n.months,u=n.meridiem,d=function(e,n,i,a){return e&&(e[n]||e(t,r))||i[n].slice(0,a)},f=function(e){return T.s(a%12||12,e,`0`)},m=u||function(e,t,n){var r=e<12?`AM`:`PM`;return n?r.toLowerCase():r};return r.replace(h,(function(e,r){return r||function(e){switch(e){case`YY`:return String(t.$y).slice(-2);case`YYYY`:return T.s(t.$y,4,`0`);case`M`:return s+1;case`MM`:return T.s(s+1,2,`0`);case`MMM`:return d(n.monthsShort,s,l,3);case`MMMM`:return d(l,s);case`D`:return t.$D;case`DD`:return T.s(t.$D,2,`0`);case`d`:return String(t.$W);case`dd`:return d(n.weekdaysMin,t.$W,c,2);case`ddd`:return d(n.weekdaysShort,t.$W,c,3);case`dddd`:return c[t.$W];case`H`:return String(a);case`HH`:return T.s(a,2,`0`);case`h`:return f(1);case`hh`:return f(2);case`a`:return m(a,o,!0);case`A`:return m(a,o,!1);case`m`:return String(o);case`mm`:return T.s(o,2,`0`);case`s`:return String(t.$s);case`ss`:return T.s(t.$s,2,`0`);case`SSS`:return T.s(t.$ms,3,`0`);case`Z`:return i}return null}(e)||i.replace(`:`,``)}))},_.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},_.diff=function(r,f,p){var m,h=this,g=T.p(f),_=w(r),v=(_.utcOffset()-this.utcOffset())*t,y=this-_,b=function(){return T.m(h,_)};switch(g){case d:m=b()/12;break;case l:m=b();break;case u:m=b()/3;break;case c:m=(y-v)/6048e5;break;case s:m=(y-v)/864e5;break;case o:m=y/n;break;case a:m=y/t;break;case i:m=y/e;break;default:m=y}return p?m:T.a(m)},_.daysInMonth=function(){return this.endOf(l).$D},_.$locale=function(){return b[this.$L]},_.locale=function(e,t){if(!e)return this.$L;var n=this.clone(),r=C(e,t,!0);return r&&(n.$L=r),n},_.clone=function(){return T.w(this.$d,this)},_.toDate=function(){return new Date(this.valueOf())},_.toJSON=function(){return this.isValid()?this.toISOString():null},_.toISOString=function(){return this.$d.toISOString()},_.toString=function(){return this.$d.toUTCString()},g}(),D=E.prototype;return w.prototype=D,[[`$ms`,r],[`$s`,i],[`$m`,a],[`$H`,o],[`$W`,s],[`$M`,l],[`$y`,d],[`$D`,f]].forEach((function(e){D[e[1]]=function(t){return this.$g(t,e[0],e[1])}})),w.extend=function(e,t){return e.$i||=(e(t,E,w),!0),w},w.locale=C,w.isDayjs=S,w.unix=function(e){return w(1e3*e)},w.en=b[y],w.Ls=b,w.p={},w}))})),fi=s(((e,t)=>{(function(n,r){typeof e==`object`&&t!==void 0?t.exports=r():typeof define==`function`&&define.amd?define(r):(n=typeof globalThis<`u`?globalThis:n||self).dayjs_plugin_customParseFormat=r()})(e,(function(){"use strict";var e={LTS:`h:mm:ss A`,LT:`h:mm A`,L:`MM/DD/YYYY`,LL:`MMMM D, YYYY`,LLL:`MMMM D, YYYY h:mm A`,LLLL:`dddd, MMMM D, YYYY h:mm A`},t=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,n=/\d/,r=/\d\d/,i=/\d\d?/,a=/\d*[^-_:/,()\s\d]+/,o={},s=function(e){return(e=+e)+(e>68?1900:2e3)},c=function(e){return function(t){this[e]=+t}},l=[/[+-]\d\d:?(\d\d)?|Z/,function(e){(this.zone||={}).offset=function(e){if(!e||e===`Z`)return 0;var t=e.match(/([+-]|\d\d)/g),n=60*t[1]+(+t[2]||0);return n===0?0:t[0]===`+`?-n:n}(e)}],u=function(e){var t=o[e];return t&&(t.indexOf?t:t.s.concat(t.f))},d=function(e,t){var n,r=o.meridiem;if(r){for(var i=1;i<=24;i+=1)if(e.indexOf(r(i,0,t))>-1){n=i>12;break}}else n=e===(t?`pm`:`PM`);return n},f={A:[a,function(e){this.afternoon=d(e,!1)}],a:[a,function(e){this.afternoon=d(e,!0)}],Q:[n,function(e){this.month=3*(e-1)+1}],S:[n,function(e){this.milliseconds=100*e}],SS:[r,function(e){this.milliseconds=10*e}],SSS:[/\d{3}/,function(e){this.milliseconds=+e}],s:[i,c(`seconds`)],ss:[i,c(`seconds`)],m:[i,c(`minutes`)],mm:[i,c(`minutes`)],H:[i,c(`hours`)],h:[i,c(`hours`)],HH:[i,c(`hours`)],hh:[i,c(`hours`)],D:[i,c(`day`)],DD:[r,c(`day`)],Do:[a,function(e){var t=o.ordinal,n=e.match(/\d+/);if(this.day=n[0],t)for(var r=1;r<=31;r+=1)t(r).replace(/\[|\]/g,``)===e&&(this.day=r)}],w:[i,c(`week`)],ww:[r,c(`week`)],M:[i,c(`month`)],MM:[r,c(`month`)],MMM:[a,function(e){var t=u(`months`),n=(u(`monthsShort`)||t.map((function(e){return e.slice(0,3)}))).indexOf(e)+1;if(n<1)throw Error();this.month=n%12||n}],MMMM:[a,function(e){var t=u(`months`).indexOf(e)+1;if(t<1)throw Error();this.month=t%12||t}],Y:[/[+-]?\d+/,c(`year`)],YY:[r,function(e){this.year=s(e)}],YYYY:[/\d{4}/,c(`year`)],Z:l,ZZ:l};function p(n){for(var r=n,i=o&&o.formats,a=(n=r.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(t,n,r){var a=r&&r.toUpperCase();return n||i[r]||e[r]||i[a].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(function(e,t,n){return t||n.slice(1)}))}))).match(t),s=a.length,c=0;c<s;c+=1){var l=a[c],u=f[l],d=u&&u[0],p=u&&u[1];a[c]=p?{regex:d,parser:p}:l.replace(/^\[|\]$/g,``)}return function(e){for(var t={},n=0,r=0;n<s;n+=1){var i=a[n];if(typeof i==`string`)r+=i.length;else{var o=i.regex,c=i.parser,l=e.slice(r),u=o.exec(l)[0];c.call(t,u),e=e.replace(u,``)}}return function(e){var t=e.afternoon;if(t!==void 0){var n=e.hours;t?n<12&&(e.hours+=12):n===12&&(e.hours=0),delete e.afternoon}}(t),t}}return function(e,t,n){n.p.customParseFormat=!0,e&&e.parseTwoDigitYear&&(s=e.parseTwoDigitYear);var r=t.prototype,i=r.parse;r.parse=function(e){var t=e.date,r=e.utc,a=e.args;this.$u=r;var s=a[1];if(typeof s==`string`){var c=!0===a[2],l=!0===a[3],u=c||l,d=a[2];l&&(d=a[2]),o=this.$locale(),!c&&d&&(o=n.Ls[d]),this.$d=function(e,t,n,r){try{if([`x`,`X`].indexOf(t)>-1)return new Date((t===`X`?1e3:1)*e);var i=p(t)(e),a=i.year,o=i.month,s=i.day,c=i.hours,l=i.minutes,u=i.seconds,d=i.milliseconds,f=i.zone,m=i.week,h=new Date,g=s||(a||o?1:h.getDate()),_=a||h.getFullYear(),v=0;a&&!o||(v=o>0?o-1:h.getMonth());var y,b=c||0,x=l||0,S=u||0,C=d||0;return f?new Date(Date.UTC(_,v,g,b,x,S,C+60*f.offset*1e3)):n?new Date(Date.UTC(_,v,g,b,x,S,C)):(y=new Date(_,v,g,b,x,S,C),m&&(y=r(y).week(m).toDate()),y)}catch{return new Date(``)}}(t,s,r,n),this.init(),d&&!0!==d&&(this.$L=this.locale(d).$L),u&&t!=this.format(s)&&(this.$d=new Date(``)),o={}}else if(s instanceof Array)for(var f=s.length,m=1;m<=f;m+=1){a[1]=s[m-1];var h=n.apply(this,a);if(h.isValid()){this.$d=h.$d,this.$L=h.$L,this.init();break}m===f&&(this.$d=new Date(``))}else i.call(this,e)}}}))})),pi=l(di(),1),mi=l(fi(),1);pi.default.extend(mi.default);var hi=[`YYYY-MM-DDTHH:mm:ss`,`YYYY-MM-DD HH:mm`,`YYYY-MM-DD`,`YYYY/MM/DD`,`MM/DD/YYYY`,`M/D/YYYY`,`M/D/YY`,`DD/MM/YYYY`,`DD.MM.YYYY`,`MMM D, YYYY`,`MMMM D, YYYY`,`MMM YYYY`,`MMMM YYYY`,`YYYY-MM`,`YYYY/MM`,`YYYY`];function gi(e){return e.includes(`HH`)||e.includes(`mm`)||e.includes(`ss`)?`datetime`:e.includes(`DD`)||/(?<![MA-Z])D(?!D)/.test(e)?`day`:e===`YYYY`?`year`:e.includes(`MM`)||e.includes(`MMM`)||e.includes(`MMMM`)||e.includes(`M/`)?`month`:`day`}function _i(e){return new Date(Date.UTC(e.year(),e.month(),e.date(),e.hour(),e.minute(),e.second(),e.millisecond()))}function vi(e){let t=e.trim();if(!t)return null;if(/^\d{4}$/.test(t)){let e=(0,pi.default)(t,`YYYY`,!0);return e.isValid()?_i(e):null}for(let e of hi){if(e===`YYYY`)continue;let n=(0,pi.default)(t,e,!0);if(n.isValid())return _i(n)}return null}function yi(e){let t=e.trim();if(!t)return;let n=vi(t);if(n)return n.getTime();let r=parseFloat(t);if(!isNaN(r))return r}function bi(e){let t=e.trim();if(!t)return;let n=Number(t);return isNaN(n)?vi(t)?.getTime():n}function xi(e){if(e.length===0)return null;let t=[],n=null,r=e[0].trim();if(!r)return null;if(/^\d{4}$/.test(r)){for(let n of e){let e=n.trim();if(!/^\d{4}$/.test(e))return null;let r=(0,pi.default)(e,`YYYY`,!0);if(!r.isValid())return null;t.push(_i(r))}return{dates:t,granularity:`year`}}let i=[];for(let e of hi)e!==`YYYY`&&(0,pi.default)(r,e,!0).isValid()&&i.push(e);if(i.length===0)return null;for(let r of i){let i=[],a=!0;for(let t of e){let e=(0,pi.default)(t.trim(),r,!0);if(!e.isValid()){a=!1;break}i.push(_i(e))}if(a){n=r,t.push(...i);break}}return n?{dates:t,granularity:gi(n)}:null}function Si(e){return typeof e==`string`?bi(e):e}function Ci(e,t){if(typeof e!=`string`)return e;let n=vi(e);return n?n.getTime():t?void 0:yi(e)}function wi(e,t){if(!t||t.min===void 0&&t.max===void 0)return e.map((e,t)=>t);let n=xi(e)!==null,r=Ci(t.min,n),i=Ci(t.max,n);if(r===void 0&&i===void 0)return e.map((e,t)=>t);let a=[];for(let t=0;t<e.length;t++){let n=yi(e[t]);if(n===void 0){a.push(t);continue}r!==void 0&&n<r||i!==void 0&&n>i||a.push(t)}return a}function Ti(e){let t=Number.isFinite(e)?Math.max(0,Math.min(100,e)):60;return t/(t+100)}function Ei(e,t,n,r=!0){let i=r?0:1/0,a=r?0:-1/0,o=1/0,s=!0,c=!1;for(let t of e)Number.isFinite(t)&&(c=!0,t<i&&(i=t),t>a&&(a=t),t<=0?s=!1:t<o&&(o=t));n===zr.Log&&c&&s&&(i=o),!c&&!r&&(i=0,a=0);let l=Si(t?.min)??i,u=Si(t?.max)??a;if(l>u&&([l,u]=[u,l]),l===u){if(l===0)u=1;else{let e=Math.abs(l)*.1;l-=e,u+=e}}return[l,u]}function Di(e,t){if(typeof e.constant!=`function`&&typeof e.base!=`function`)return null;let n=e.domain().map(Number).filter(Number.isFinite),r=Math.min(...n),i=Math.max(...n);if(!(i>0))return null;let a=r>0?Math.ceil(Math.log10(r)):0,o=Math.floor(Math.log10(i)),s=[];for(let e=a;e<=o;e++)s.push(10**e);if(s.length===0)return null;let c=Math.ceil(s.length/Math.max(2,t));return c>1?s.filter((e,t)=>t%c===0):s}function Oi(e,t){return e==null||t==null?NaN:e<t?-1:e>t?1:e>=t?0:NaN}function ki(e,t){return e==null||t==null?NaN:t<e?-1:t>e?1:t>=e?0:NaN}function Ai(e){let t,n,r;e.length===2?(t=e===Oi||e===ki?e:ji,n=e,r=e):(t=Oi,n=(t,n)=>Oi(e(t),n),r=(t,n)=>e(t)-n);function i(e,r,i=0,a=e.length){if(i<a){if(t(r,r)!==0)return a;do{let t=i+a>>>1;n(e[t],r)<0?i=t+1:a=t}while(i<a)}return i}function a(e,r,i=0,a=e.length){if(i<a){if(t(r,r)!==0)return a;do{let t=i+a>>>1;n(e[t],r)<=0?i=t+1:a=t}while(i<a)}return i}function o(e,t,n=0,a=e.length){let o=i(e,t,n,a-1);return o>n&&r(e[o-1],t)>-r(e[o],t)?o-1:o}return{left:i,center:o,right:a}}function ji(){return 0}function Mi(e){return e===null?NaN:+e}var Ni=Ai(Oi),Pi=Ni.right;Ni.left;var Fi=Ai(Mi).center,Ii=class extends Map{constructor(e,t=Bi){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:t}}),e!=null)for(let[t,n]of e)this.set(t,n)}get(e){return super.get(Li(this,e))}has(e){return super.has(Li(this,e))}set(e,t){return super.set(Ri(this,e),t)}delete(e){return super.delete(zi(this,e))}};function Li({_intern:e,_key:t},n){let r=t(n);return e.has(r)?e.get(r):n}function Ri({_intern:e,_key:t},n){let r=t(n);return e.has(r)?e.get(r):(e.set(r,n),n)}function zi({_intern:e,_key:t},n){let r=t(n);return e.has(r)&&(n=e.get(r),e.delete(r)),n}function Bi(e){return typeof e==`object`&&e?e.valueOf():e}function Vi(e){return e}function Hi(e,t,...n){return Ui(e,Vi,t,n)}function Ui(e,t,n,r){return(function e(i,a){if(a>=r.length)return n(i);let o=new Ii,s=r[a++],c=-1;for(let e of i){let t=s(e,++c,i),n=o.get(t);n?n.push(e):o.set(t,[e])}for(let[t,n]of o)o.set(t,e(n,a));return t(o)})(e,0)}function Wi(e,t){return Array.from(t,t=>e[t])}function Gi(e,...t){if(typeof e[Symbol.iterator]!=`function`)throw TypeError(`values is not iterable`);e=Array.from(e);let[n]=t;if(n&&n.length!==2||t.length>1){let r=Uint32Array.from(e,(e,t)=>t);return t.length>1?(t=t.map(t=>e.map(t)),r.sort((e,n)=>{for(let r of t){let t=qi(r[e],r[n]);if(t)return t}})):(n=e.map(n),r.sort((e,t)=>qi(n[e],n[t]))),Wi(e,r)}return e.sort(Ki(n))}function Ki(e=Oi){if(e===Oi)return qi;if(typeof e!=`function`)throw TypeError(`compare is not a function`);return(t,n)=>{let r=e(t,n);return r||r===0?r:(e(n,n)===0)-(e(t,t)===0)}}function qi(e,t){return(e==null||!(e>=e))-(t==null||!(t>=t))||(e<t?-1:+(e>t))}var Ji=Math.sqrt(50),Yi=Math.sqrt(10),Xi=Math.sqrt(2);function Zi(e,t,n){let r=(t-e)/Math.max(0,n),i=Math.floor(Math.log10(r)),a=r/10**i,o=a>=Ji?10:a>=Yi?5:a>=Xi?2:1,s,c,l;return i<0?(l=10**-i/o,s=Math.round(e*l),c=Math.round(t*l),s/l<e&&++s,c/l>t&&--c,l=-l):(l=10**i*o,s=Math.round(e/l),c=Math.round(t/l),s*l<e&&++s,c*l>t&&--c),c<s&&.5<=n&&n<2?Zi(e,t,n*2):[s,c,l]}function Qi(e,t,n){if(t=+t,e=+e,n=+n,!(n>0))return[];if(e===t)return[e];let r=t<e,[i,a,o]=r?Zi(t,e,n):Zi(e,t,n);if(!(a>=i))return[];let s=a-i+1,c=Array(s);if(r){if(o<0)for(let e=0;e<s;++e)c[e]=(a-e)/-o;else for(let e=0;e<s;++e)c[e]=(a-e)*o}else if(o<0)for(let e=0;e<s;++e)c[e]=(i+e)/-o;else for(let e=0;e<s;++e)c[e]=(i+e)*o;return c}function $i(e,t,n){return t=+t,e=+e,n=+n,Zi(e,t,n)[2]}function ea(e,t,n){t=+t,e=+e,n=+n;let r=t<e,i=r?$i(t,e,n):$i(e,t,n);return(r?-1:1)*(i<0?1/-i:i)}function ta(e,t){let n;if(t===void 0)for(let t of e)t!=null&&(n<t||n===void 0&&t>=t)&&(n=t);else{let r=-1;for(let i of e)(i=t(i,++r,e))!=null&&(n<i||n===void 0&&i>=i)&&(n=i)}return n}function na(e,t){let n;if(t===void 0)for(let t of e)t!=null&&(n>t||n===void 0&&t>=t)&&(n=t);else{let r=-1;for(let i of e)(i=t(i,++r,e))!=null&&(n>i||n===void 0&&i>=i)&&(n=i)}return n}function ra(e,t,n){e=+e,t=+t,n=(i=arguments.length)<2?(t=e,e=0,1):i<3?1:+n;for(var r=-1,i=Math.max(0,Math.ceil((t-e)/n))|0,a=Array(i);++r<i;)a[r]=e+r*n;return a}function ia(e,t){let n=0;if(t===void 0)for(let t of e)(t=+t)&&(n+=t);else{let r=-1;for(let i of e)(i=+t(i,++r,e))&&(n+=i)}return n}function aa(e){return e}var oa=1,sa=2,ca=3,la=4,ua=1e-6;function da(e){return`translate(`+e+`,0)`}function fa(e){return`translate(0,`+e+`)`}function pa(e){return t=>+e(t)}function ma(e,t){return t=Math.max(0,e.bandwidth()-t*2)/2,e.round()&&(t=Math.round(t)),n=>+e(n)+t}function ha(){return!this.__axis}function ga(e,t){var n=[],r=null,i=null,a=6,o=6,s=3,c=typeof window<`u`&&window.devicePixelRatio>1?0:.5,l=e===oa||e===la?-1:1,u=e===la||e===sa?`x`:`y`,d=e===oa||e===ca?da:fa;function f(f){var p=r??(t.ticks?t.ticks.apply(t,n):t.domain()),m=i??(t.tickFormat?t.tickFormat.apply(t,n):aa),h=Math.max(a,0)+s,g=t.range(),_=+g[0]+c,v=+g[g.length-1]+c,y=(t.bandwidth?ma:pa)(t.copy(),c),b=f.selection?f.selection():f,x=b.selectAll(`.domain`).data([null]),S=b.selectAll(`.tick`).data(p,t).order(),C=S.exit(),w=S.enter().append(`g`).attr(`class`,`tick`),T=S.select(`line`),E=S.select(`text`);x=x.merge(x.enter().insert(`path`,`.tick`).attr(`class`,`domain`).attr(`stroke`,`currentColor`)),S=S.merge(w),T=T.merge(w.append(`line`).attr(`stroke`,`currentColor`).attr(u+`2`,l*a)),E=E.merge(w.append(`text`).attr(`fill`,`currentColor`).attr(u,l*h).attr(`dy`,e===oa?`0em`:e===ca?`0.71em`:`0.32em`)),f!==b&&(x=x.transition(f),S=S.transition(f),T=T.transition(f),E=E.transition(f),C=C.transition(f).attr(`opacity`,ua).attr(`transform`,function(e){return isFinite(e=y(e))?d(e+c):this.getAttribute(`transform`)}),w.attr(`opacity`,ua).attr(`transform`,function(e){var t=this.parentNode.__axis;return d((t&&isFinite(t=t(e))?t:y(e))+c)})),C.remove(),x.attr(`d`,e===la||e===sa?o?`M`+l*o+`,`+_+`H`+c+`V`+v+`H`+l*o:`M`+c+`,`+_+`V`+v:o?`M`+_+`,`+l*o+`V`+c+`H`+v+`V`+l*o:`M`+_+`,`+c+`H`+v),S.attr(`opacity`,1).attr(`transform`,function(e){return d(y(e)+c)}),T.attr(u+`2`,l*a),E.attr(u,l*h).text(m),b.filter(ha).attr(`fill`,`none`).attr(`font-size`,10).attr(`font-family`,`sans-serif`).attr(`text-anchor`,e===sa?`start`:e===la?`end`:`middle`),b.each(function(){this.__axis=y})}return f.scale=function(e){return arguments.length?(t=e,f):t},f.ticks=function(){return n=Array.from(arguments),f},f.tickArguments=function(e){return arguments.length?(n=e==null?[]:Array.from(e),f):n.slice()},f.tickValues=function(e){return arguments.length?(r=e==null?null:Array.from(e),f):r&&r.slice()},f.tickFormat=function(e){return arguments.length?(i=e,f):i},f.tickSize=function(e){return arguments.length?(a=o=+e,f):a},f.tickSizeInner=function(e){return arguments.length?(a=+e,f):a},f.tickSizeOuter=function(e){return arguments.length?(o=+e,f):o},f.tickPadding=function(e){return arguments.length?(s=+e,f):s},f.offset=function(e){return arguments.length?(c=+e,f):c},f}function _a(e){return ga(oa,e)}function va(e){return ga(sa,e)}function ya(e){return ga(ca,e)}function ba(e){return ga(la,e)}var xa={value:()=>{}};function Sa(){for(var e=0,t=arguments.length,n={},r;e<t;++e){if(!(r=arguments[e]+``)||r in n||/[\s.]/.test(r))throw Error(`illegal type: `+r);n[r]=[]}return new Ca(n)}function Ca(e){this._=e}function wa(e,t){return e.trim().split(/^|\s+/).map(function(e){var n=``,r=e.indexOf(`.`);if(r>=0&&(n=e.slice(r+1),e=e.slice(0,r)),e&&!t.hasOwnProperty(e))throw Error(`unknown type: `+e);return{type:e,name:n}})}Ca.prototype=Sa.prototype={constructor:Ca,on:function(e,t){var n=this._,r=wa(e+``,n),i,a=-1,o=r.length;if(arguments.length<2){for(;++a<o;)if((i=(e=r[a]).type)&&(i=Ta(n[i],e.name)))return i;return}if(t!=null&&typeof t!=`function`)throw Error(`invalid callback: `+t);for(;++a<o;)if(i=(e=r[a]).type)n[i]=Ea(n[i],e.name,t);else if(t==null)for(i in n)n[i]=Ea(n[i],e.name,null);return this},copy:function(){var e={},t=this._;for(var n in t)e[n]=t[n].slice();return new Ca(e)},call:function(e,t){if((i=arguments.length-2)>0)for(var n=Array(i),r=0,i,a;r<i;++r)n[r]=arguments[r+2];if(!this._.hasOwnProperty(e))throw Error(`unknown type: `+e);for(a=this._[e],r=0,i=a.length;r<i;++r)a[r].value.apply(t,n)},apply:function(e,t,n){if(!this._.hasOwnProperty(e))throw Error(`unknown type: `+e);for(var r=this._[e],i=0,a=r.length;i<a;++i)r[i].value.apply(t,n)}};function Ta(e,t){for(var n=0,r=e.length,i;n<r;++n)if((i=e[n]).name===t)return i.value}function Ea(e,t,n){for(var r=0,i=e.length;r<i;++r)if(e[r].name===t){e[r]=xa,e=e.slice(0,r).concat(e.slice(r+1));break}return n!=null&&e.push({name:t,value:n}),e}var Da={svg:`http://www.w3.org/2000/svg`,xhtml:`http://www.w3.org/1999/xhtml`,xlink:`http://www.w3.org/1999/xlink`,xml:`http://www.w3.org/XML/1998/namespace`,xmlns:`http://www.w3.org/2000/xmlns/`};function Oa(e){var t=e+=``,n=t.indexOf(`:`);return n>=0&&(t=e.slice(0,n))!==`xmlns`&&(e=e.slice(n+1)),Da.hasOwnProperty(t)?{space:Da[t],local:e}:e}function ka(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===`http://www.w3.org/1999/xhtml`&&t.documentElement.namespaceURI===`http://www.w3.org/1999/xhtml`?t.createElement(e):t.createElementNS(n,e)}}function Aa(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function ja(e){var t=Oa(e);return(t.local?Aa:ka)(t)}function Ma(){}function Na(e){return e==null?Ma:function(){return this.querySelector(e)}}function Pa(e){typeof e!=`function`&&(e=Na(e));for(var t=this._groups,n=t.length,r=Array(n),i=0;i<n;++i)for(var a=t[i],o=a.length,s=r[i]=Array(o),c,l,u=0;u<o;++u)(c=a[u])&&(l=e.call(c,c.__data__,u,a))&&(`__data__`in c&&(l.__data__=c.__data__),s[u]=l);return new Cs(r,this._parents)}function Fa(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function Ia(){return[]}function La(e){return e==null?Ia:function(){return this.querySelectorAll(e)}}function Ra(e){return function(){return Fa(e.apply(this,arguments))}}function za(e){e=typeof e==`function`?Ra(e):La(e);for(var t=this._groups,n=t.length,r=[],i=[],a=0;a<n;++a)for(var o=t[a],s=o.length,c,l=0;l<s;++l)(c=o[l])&&(r.push(e.call(c,c.__data__,l,o)),i.push(c));return new Cs(r,i)}function Ba(e){return function(){return this.matches(e)}}function Va(e){return function(t){return t.matches(e)}}var Ha=Array.prototype.find;function Ua(e){return function(){return Ha.call(this.children,e)}}function Wa(){return this.firstElementChild}function Ga(e){return this.select(e==null?Wa:Ua(typeof e==`function`?e:Va(e)))}var Ka=Array.prototype.filter;function qa(){return Array.from(this.children)}function Ja(e){return function(){return Ka.call(this.children,e)}}function Ya(e){return this.selectAll(e==null?qa:Ja(typeof e==`function`?e:Va(e)))}function Xa(e){typeof e!=`function`&&(e=Ba(e));for(var t=this._groups,n=t.length,r=Array(n),i=0;i<n;++i)for(var a=t[i],o=a.length,s=r[i]=[],c,l=0;l<o;++l)(c=a[l])&&e.call(c,c.__data__,l,a)&&s.push(c);return new Cs(r,this._parents)}function Za(e){return Array(e.length)}function Qa(){return new Cs(this._enter||this._groups.map(Za),this._parents)}function $a(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}$a.prototype={constructor:$a,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 eo(e){return function(){return e}}function to(e,t,n,r,i,a){for(var o=0,s,c=t.length,l=a.length;o<l;++o)(s=t[o])?(s.__data__=a[o],r[o]=s):n[o]=new $a(e,a[o]);for(;o<c;++o)(s=t[o])&&(i[o]=s)}function no(e,t,n,r,i,a,o){var s,c,l=new Map,u=t.length,d=a.length,f=Array(u),p;for(s=0;s<u;++s)(c=t[s])&&(f[s]=p=o.call(c,c.__data__,s,t)+``,l.has(p)?i[s]=c:l.set(p,c));for(s=0;s<d;++s)p=o.call(e,a[s],s,a)+``,(c=l.get(p))?(r[s]=c,c.__data__=a[s],l.delete(p)):n[s]=new $a(e,a[s]);for(s=0;s<u;++s)(c=t[s])&&l.get(f[s])===c&&(i[s]=c)}function ro(e){return e.__data__}function io(e,t){if(!arguments.length)return Array.from(this,ro);var n=t?no:to,r=this._parents,i=this._groups;typeof e!=`function`&&(e=eo(e));for(var a=i.length,o=Array(a),s=Array(a),c=Array(a),l=0;l<a;++l){var u=r[l],d=i[l],f=d.length,p=ao(e.call(u,u&&u.__data__,l,r)),m=p.length,h=s[l]=Array(m),g=o[l]=Array(m);n(u,d,h,g,c[l]=Array(f),p,t);for(var _=0,v=0,y,b;_<m;++_)if(y=h[_]){for(_>=v&&(v=_+1);!(b=g[v])&&++v<m;);y._next=b||null}}return o=new Cs(o,r),o._enter=s,o._exit=c,o}function ao(e){return typeof e==`object`&&`length`in e?e:Array.from(e)}function oo(){return new Cs(this._exit||this._groups.map(Za),this._parents)}function so(e,t,n){var r=this.enter(),i=this,a=this.exit();return typeof e==`function`?(r=e(r),r&&=r.selection()):r=r.append(e+``),t!=null&&(i=t(i),i&&=i.selection()),n==null?a.remove():n(a),r&&i?r.merge(i).order():i}function co(e){for(var t=e.selection?e.selection():e,n=this._groups,r=t._groups,i=n.length,a=r.length,o=Math.min(i,a),s=Array(i),c=0;c<o;++c)for(var l=n[c],u=r[c],d=l.length,f=s[c]=Array(d),p,m=0;m<d;++m)(p=l[m]||u[m])&&(f[m]=p);for(;c<i;++c)s[c]=n[c];return new Cs(s,this._parents)}function lo(){for(var e=this._groups,t=-1,n=e.length;++t<n;)for(var r=e[t],i=r.length-1,a=r[i],o;--i>=0;)(o=r[i])&&(a&&o.compareDocumentPosition(a)^4&&a.parentNode.insertBefore(o,a),a=o);return this}function uo(e){e||=fo;function t(t,n){return t&&n?e(t.__data__,n.__data__):!t-!n}for(var n=this._groups,r=n.length,i=Array(r),a=0;a<r;++a){for(var o=n[a],s=o.length,c=i[a]=Array(s),l,u=0;u<s;++u)(l=o[u])&&(c[u]=l);c.sort(t)}return new Cs(i,this._parents).order()}function fo(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}function po(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function mo(){return Array.from(this)}function ho(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],i=0,a=r.length;i<a;++i){var o=r[i];if(o)return o}return null}function go(){let e=0;for(let t of this)++e;return e}function _o(){return!this.node()}function vo(e){for(var t=this._groups,n=0,r=t.length;n<r;++n)for(var i=t[n],a=0,o=i.length,s;a<o;++a)(s=i[a])&&e.call(s,s.__data__,a,i);return this}function yo(e){return function(){this.removeAttribute(e)}}function bo(e){return function(){this.removeAttributeNS(e.space,e.local)}}function xo(e,t){return function(){this.setAttribute(e,t)}}function So(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function Co(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttribute(e):this.setAttribute(e,n)}}function wo(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,n)}}function To(e,t){var n=Oa(e);if(arguments.length<2){var r=this.node();return n.local?r.getAttributeNS(n.space,n.local):r.getAttribute(n)}return this.each((t==null?n.local?bo:yo:typeof t==`function`?n.local?wo:Co:n.local?So:xo)(n,t))}function Eo(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function Do(e){return function(){this.style.removeProperty(e)}}function Oo(e,t,n){return function(){this.style.setProperty(e,t,n)}}function ko(e,t,n){return function(){var r=t.apply(this,arguments);r==null?this.style.removeProperty(e):this.style.setProperty(e,r,n)}}function Ao(e,t,n){return arguments.length>1?this.each((t==null?Do:typeof t==`function`?ko:Oo)(e,t,n??``)):jo(this.node(),e)}function jo(e,t){return e.style.getPropertyValue(t)||Eo(e).getComputedStyle(e,null).getPropertyValue(t)}function Mo(e){return function(){delete this[e]}}function No(e,t){return function(){this[e]=t}}function Po(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function Fo(e,t){return arguments.length>1?this.each((t==null?Mo:typeof t==`function`?Po:No)(e,t)):this.node()[e]}function Io(e){return e.trim().split(/^|\s+/)}function Lo(e){return e.classList||new Ro(e)}function Ro(e){this._node=e,this._names=Io(e.getAttribute(`class`)||``)}Ro.prototype={add:function(e){this._names.indexOf(e)<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 zo(e,t){for(var n=Lo(e),r=-1,i=t.length;++r<i;)n.add(t[r])}function Bo(e,t){for(var n=Lo(e),r=-1,i=t.length;++r<i;)n.remove(t[r])}function Vo(e){return function(){zo(this,e)}}function Ho(e){return function(){Bo(this,e)}}function Uo(e,t){return function(){(t.apply(this,arguments)?zo:Bo)(this,e)}}function Wo(e,t){var n=Io(e+``);if(arguments.length<2){for(var r=Lo(this.node()),i=-1,a=n.length;++i<a;)if(!r.contains(n[i]))return!1;return!0}return this.each((typeof t==`function`?Uo:t?Vo:Ho)(n,t))}function Go(){this.textContent=``}function Ko(e){return function(){this.textContent=e}}function qo(e){return function(){var t=e.apply(this,arguments);this.textContent=t??``}}function Jo(e){return arguments.length?this.each(e==null?Go:(typeof e==`function`?qo:Ko)(e)):this.node().textContent}function Yo(){this.innerHTML=``}function Xo(e){return function(){this.innerHTML=e}}function Zo(e){return function(){var t=e.apply(this,arguments);this.innerHTML=t??``}}function Qo(e){return arguments.length?this.each(e==null?Yo:(typeof e==`function`?Zo:Xo)(e)):this.node().innerHTML}function $o(){this.nextSibling&&this.parentNode.appendChild(this)}function es(){return this.each($o)}function ts(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function ns(){return this.each(ts)}function rs(e){var t=typeof e==`function`?e:ja(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})}function is(){return null}function as(e,t){var n=typeof e==`function`?e:ja(e),r=t==null?is:typeof t==`function`?t:Na(t);return this.select(function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)})}function os(){var e=this.parentNode;e&&e.removeChild(this)}function ss(){return this.each(os)}function cs(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function ls(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function us(e){return this.select(e?ls:cs)}function ds(e){return arguments.length?this.property(`__data__`,e):this.node().__data__}function fs(e){return function(t){e.call(this,t,this.__data__)}}function ps(e){return e.trim().split(/^|\s+/).map(function(e){var t=``,n=e.indexOf(`.`);return n>=0&&(t=e.slice(n+1),e=e.slice(0,n)),{type:e,name:t}})}function ms(e){return function(){var t=this.__on;if(t){for(var n=0,r=-1,i=t.length,a;n<i;++n)a=t[n],(!e.type||a.type===e.type)&&a.name===e.name?this.removeEventListener(a.type,a.listener,a.options):t[++r]=a;++r?t.length=r:delete this.__on}}}function hs(e,t,n){return function(){var r=this.__on,i,a=fs(t);if(r){for(var o=0,s=r.length;o<s;++o)if((i=r[o]).type===e.type&&i.name===e.name){this.removeEventListener(i.type,i.listener,i.options),this.addEventListener(i.type,i.listener=a,i.options=n),i.value=t;return}}this.addEventListener(e.type,a,n),i={type:e.type,name:e.name,value:t,listener:a,options:n},r?r.push(i):this.__on=[i]}}function gs(e,t,n){var r=ps(e+``),i,a=r.length,o;if(arguments.length<2){var s=this.node().__on;if(s){for(var c=0,l=s.length,u;c<l;++c)for(i=0,u=s[c];i<a;++i)if((o=r[i]).type===u.type&&o.name===u.name)return u.value}return}for(s=t?hs:ms,i=0;i<a;++i)this.each(s(r[i],t,n));return this}function _s(e,t,n){var r=Eo(e),i=r.CustomEvent;typeof i==`function`?i=new i(t,n):(i=r.document.createEvent(`Event`),n?(i.initEvent(t,n.bubbles,n.cancelable),i.detail=n.detail):i.initEvent(t,!1,!1)),e.dispatchEvent(i)}function vs(e,t){return function(){return _s(this,e,t)}}function ys(e,t){return function(){return _s(this,e,t.apply(this,arguments))}}function bs(e,t){return this.each((typeof t==`function`?ys:vs)(e,t))}function*xs(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],i=0,a=r.length,o;i<a;++i)(o=r[i])&&(yield o)}var Ss=[null];function Cs(e,t){this._groups=e,this._parents=t}function ws(){return new Cs([[document.documentElement]],Ss)}function Ts(){return this}Cs.prototype=ws.prototype={constructor:Cs,select:Pa,selectAll:za,selectChild:Ga,selectChildren:Ya,filter:Xa,data:io,enter:Qa,exit:oo,join:so,merge:co,selection:Ts,order:lo,sort:uo,call:po,nodes:mo,node:ho,size:go,empty:_o,each:vo,attr:To,style:Ao,property:Fo,classed:Wo,text:Jo,html:Qo,raise:es,lower:ns,append:rs,insert:as,remove:ss,clone:us,datum:ds,on:gs,dispatch:bs,[Symbol.iterator]:xs};function Q(e){return typeof e==`string`?new Cs([[document.querySelector(e)]],[document.documentElement]):new Cs([[e]],Ss)}function Es(e){let t;for(;t=e.sourceEvent;)e=t;return e}function Ds(e,t){if(e=Es(e),t===void 0&&(t=e.currentTarget),t){var n=t.ownerSVGElement||t;if(n.createSVGPoint){var r=n.createSVGPoint();return r.x=e.clientX,r.y=e.clientY,r=r.matrixTransform(t.getScreenCTM().inverse()),[r.x,r.y]}if(t.getBoundingClientRect){var i=t.getBoundingClientRect();return[e.clientX-i.left-t.clientLeft,e.clientY-i.top-t.clientTop]}}return[e.pageX,e.pageY]}function Os(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function ks(e,t){var n=Object.create(e.prototype);for(var r in t)n[r]=t[r];return n}function As(){}var js=.7,Ms=1/js,Ns=`\\s*([+-]?\\d+)\\s*`,Ps=`\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*`,Fs=`\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*`,Is=/^#([0-9a-f]{3,8})$/,Ls=RegExp(`^rgb\\(${Ns},${Ns},${Ns}\\)$`),Rs=RegExp(`^rgb\\(${Fs},${Fs},${Fs}\\)$`),zs=RegExp(`^rgba\\(${Ns},${Ns},${Ns},${Ps}\\)$`),Bs=RegExp(`^rgba\\(${Fs},${Fs},${Fs},${Ps}\\)$`),Vs=RegExp(`^hsl\\(${Ps},${Fs},${Fs}\\)$`),Hs=RegExp(`^hsla\\(${Ps},${Fs},${Fs},${Ps}\\)$`),Us={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};Os(As,Js,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:Ws,formatHex:Ws,formatHex8:Gs,formatHsl:Ks,formatRgb:qs,toString:qs});function Ws(){return this.rgb().formatHex()}function Gs(){return this.rgb().formatHex8()}function Ks(){return sc(this).formatHsl()}function qs(){return this.rgb().formatRgb()}function Js(e){var t,n;return e=(e+``).trim().toLowerCase(),(t=Is.exec(e))?(n=t[1].length,t=parseInt(t[1],16),n===6?Ys(t):n===3?new $s(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?Xs(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?Xs(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=Ls.exec(e))?new $s(t[1],t[2],t[3],1):(t=Rs.exec(e))?new $s(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=zs.exec(e))?Xs(t[1],t[2],t[3],t[4]):(t=Bs.exec(e))?Xs(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=Vs.exec(e))?oc(t[1],t[2]/100,t[3]/100,1):(t=Hs.exec(e))?oc(t[1],t[2]/100,t[3]/100,t[4]):Us.hasOwnProperty(e)?Ys(Us[e]):e===`transparent`?new $s(NaN,NaN,NaN,0):null}function Ys(e){return new $s(e>>16&255,e>>8&255,e&255,1)}function Xs(e,t,n,r){return r<=0&&(e=t=n=NaN),new $s(e,t,n,r)}function Zs(e){return e instanceof As||(e=Js(e)),e?(e=e.rgb(),new $s(e.r,e.g,e.b,e.opacity)):new $s}function Qs(e,t,n,r){return arguments.length===1?Zs(e):new $s(e,t,n,r??1)}function $s(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}Os($s,Qs,ks(As,{brighter(e){return e=e==null?Ms:Ms**+e,new $s(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?js:js**+e,new $s(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new $s(ic(this.r),ic(this.g),ic(this.b),rc(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:ec,formatHex:ec,formatHex8:tc,formatRgb:nc,toString:nc}));function ec(){return`#${ac(this.r)}${ac(this.g)}${ac(this.b)}`}function tc(){return`#${ac(this.r)}${ac(this.g)}${ac(this.b)}${ac((isNaN(this.opacity)?1:this.opacity)*255)}`}function nc(){let e=rc(this.opacity);return`${e===1?`rgb(`:`rgba(`}${ic(this.r)}, ${ic(this.g)}, ${ic(this.b)}${e===1?`)`:`, ${e})`}`}function rc(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function ic(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function ac(e){return e=ic(e),(e<16?`0`:``)+e.toString(16)}function oc(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new lc(e,t,n,r)}function sc(e){if(e instanceof lc)return new lc(e.h,e.s,e.l,e.opacity);if(e instanceof As||(e=Js(e)),!e)return new lc;if(e instanceof lc)return e;e=e.rgb();var t=e.r/255,n=e.g/255,r=e.b/255,i=Math.min(t,n,r),a=Math.max(t,n,r),o=NaN,s=a-i,c=(a+i)/2;return s?(o=t===a?(n-r)/s+(n<r)*6:n===a?(r-t)/s+2:(t-n)/s+4,s/=c<.5?a+i:2-a-i,o*=60):s=c>0&&c<1?0:o,new lc(o,s,c,e.opacity)}function cc(e,t,n,r){return arguments.length===1?sc(e):new lc(e,t,n,r??1)}function lc(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}Os(lc,cc,ks(As,{brighter(e){return e=e==null?Ms:Ms**+e,new lc(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?js:js**+e,new lc(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,i=2*n-r;return new $s(fc(e>=240?e-240:e+120,i,r),fc(e,i,r),fc(e<120?e+240:e-120,i,r),this.opacity)},clamp(){return new lc(uc(this.h),dc(this.s),dc(this.l),rc(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=rc(this.opacity);return`${e===1?`hsl(`:`hsla(`}${uc(this.h)}, ${dc(this.s)*100}%, ${dc(this.l)*100}%${e===1?`)`:`, ${e})`}`}}));function uc(e){return e=(e||0)%360,e<0?e+360:e}function dc(e){return Math.max(0,Math.min(1,e||0))}function fc(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}var pc=e=>()=>e;function mc(e,t){return function(n){return e+n*t}}function hc(e,t,n){return e**=+n,t=t**+n-e,n=1/n,function(r){return(e+r*t)**+n}}function gc(e){return(e=+e)==1?_c:function(t,n){return n-t?hc(t,n,e):pc(isNaN(t)?n:t)}}function _c(e,t){var n=t-e;return n?mc(e,n):pc(isNaN(e)?t:e)}var vc=(function e(t){var n=gc(t);function r(e,t){var r=n((e=Qs(e)).r,(t=Qs(t)).r),i=n(e.g,t.g),a=n(e.b,t.b),o=_c(e.opacity,t.opacity);return function(t){return e.r=r(t),e.g=i(t),e.b=a(t),e.opacity=o(t),e+``}}return r.gamma=e,r})(1);function yc(e,t){t||=[];var n=e?Math.min(t.length,e.length):0,r=t.slice(),i;return function(a){for(i=0;i<n;++i)r[i]=e[i]*(1-a)+t[i]*a;return r}}function bc(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function xc(e,t){var n=t?t.length:0,r=e?Math.min(n,e.length):0,i=Array(r),a=Array(n),o;for(o=0;o<r;++o)i[o]=Ac(e[o],t[o]);for(;o<n;++o)a[o]=t[o];return function(e){for(o=0;o<r;++o)a[o]=i[o](e);return a}}function Sc(e,t){var n=new Date;return e=+e,t=+t,function(r){return n.setTime(e*(1-r)+t*r),n}}function Cc(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}function wc(e,t){var n={},r={},i;for(i in(typeof e!=`object`||!e)&&(e={}),(typeof t!=`object`||!t)&&(t={}),t)i in e?n[i]=Ac(e[i],t[i]):r[i]=t[i];return function(e){for(i in n)r[i]=n[i](e);return r}}var Tc=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Ec=new RegExp(Tc.source,`g`);function Dc(e){return function(){return e}}function Oc(e){return function(t){return e(t)+``}}function kc(e,t){var n=Tc.lastIndex=Ec.lastIndex=0,r,i,a,o=-1,s=[],c=[];for(e+=``,t+=``;(r=Tc.exec(e))&&(i=Ec.exec(t));)(a=i.index)>n&&(a=t.slice(n,a),s[o]?s[o]+=a:s[++o]=a),(r=r[0])===(i=i[0])?s[o]?s[o]+=i:s[++o]=i:(s[++o]=null,c.push({i:o,x:Cc(r,i)})),n=Ec.lastIndex;return n<t.length&&(a=t.slice(n),s[o]?s[o]+=a:s[++o]=a),s.length<2?c[0]?Oc(c[0].x):Dc(t):(t=c.length,function(e){for(var n=0,r;n<t;++n)s[(r=c[n]).i]=r.x(e);return s.join(``)})}function Ac(e,t){var n=typeof t,r;return t==null||n===`boolean`?pc(t):(n===`number`?Cc:n===`string`?(r=Js(t))?(t=r,vc):kc:t instanceof Js?vc:t instanceof Date?Sc:bc(t)?yc:Array.isArray(t)?xc:typeof t.valueOf!=`function`&&typeof t.toString!=`function`||isNaN(t)?wc:Cc)(e,t)}function jc(e,t){return e=+e,t=+t,function(n){return Math.round(e*(1-n)+t*n)}}var Mc=180/Math.PI,Nc={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function Pc(e,t,n,r,i,a){var o,s,c;return(o=Math.sqrt(e*e+t*t))&&(e/=o,t/=o),(c=e*n+t*r)&&(n-=e*c,r-=t*c),(s=Math.sqrt(n*n+r*r))&&(n/=s,r/=s,c/=s),e*r<t*n&&(e=-e,t=-t,c=-c,o=-o),{translateX:i,translateY:a,rotate:Math.atan2(t,e)*Mc,skewX:Math.atan(c)*Mc,scaleX:o,scaleY:s}}var Fc;function Ic(e){let t=new(typeof DOMMatrix==`function`?DOMMatrix:WebKitCSSMatrix)(e+``);return t.isIdentity?Nc:Pc(t.a,t.b,t.c,t.d,t.e,t.f)}function Lc(e){return e==null||(Fc||=document.createElementNS(`http://www.w3.org/2000/svg`,`g`),Fc.setAttribute(`transform`,e),!(e=Fc.transform.baseVal.consolidate()))?Nc:(e=e.matrix,Pc(e.a,e.b,e.c,e.d,e.e,e.f))}function Rc(e,t,n,r){function i(e){return e.length?e.pop()+` `:``}function a(e,r,i,a,o,s){if(e!==i||r!==a){var c=o.push(`translate(`,null,t,null,n);s.push({i:c-4,x:Cc(e,i)},{i:c-2,x:Cc(r,a)})}else(i||a)&&o.push(`translate(`+i+t+a+n)}function o(e,t,n,a){e===t?t&&n.push(i(n)+`rotate(`+t+r):(e-t>180?t+=360:t-e>180&&(e+=360),a.push({i:n.push(i(n)+`rotate(`,null,r)-2,x:Cc(e,t)}))}function s(e,t,n,a){e===t?t&&n.push(i(n)+`skewX(`+t+r):a.push({i:n.push(i(n)+`skewX(`,null,r)-2,x:Cc(e,t)})}function c(e,t,n,r,a,o){if(e!==n||t!==r){var s=a.push(i(a)+`scale(`,null,`,`,null,`)`);o.push({i:s-4,x:Cc(e,n)},{i:s-2,x:Cc(t,r)})}else(n!==1||r!==1)&&a.push(i(a)+`scale(`+n+`,`+r+`)`)}return function(t,n){var r=[],i=[];return t=e(t),n=e(n),a(t.translateX,t.translateY,n.translateX,n.translateY,r,i),o(t.rotate,n.rotate,r,i),s(t.skewX,n.skewX,r,i),c(t.scaleX,t.scaleY,n.scaleX,n.scaleY,r,i),t=n=null,function(e){for(var t=-1,n=i.length,a;++t<n;)r[(a=i[t]).i]=a.x(e);return r.join(``)}}}var zc=Rc(Ic,`px, `,`px)`,`deg)`),Bc=Rc(Lc,`, `,`)`,`)`),Vc=0,Hc=0,Uc=0,Wc=1e3,Gc,Kc,qc=0,Jc=0,Yc=0,Xc=typeof performance==`object`&&performance.now?performance:Date,Zc=typeof window==`object`&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function Qc(){return Jc||=(Zc($c),Xc.now()+Yc)}function $c(){Jc=0}function el(){this._call=this._time=this._next=null}el.prototype=tl.prototype={constructor:el,restart:function(e,t,n){if(typeof e!=`function`)throw TypeError(`callback is not a function`);n=(n==null?Qc():+n)+(t==null?0:+t),!this._next&&Kc!==this&&(Kc?Kc._next=this:Gc=this,Kc=this),this._call=e,this._time=n,ol()},stop:function(){this._call&&(this._call=null,this._time=1/0,ol())}};function tl(e,t,n){var r=new el;return r.restart(e,t,n),r}function nl(){Qc(),++Vc;for(var e=Gc,t;e;)(t=Jc-e._time)>=0&&e._call.call(void 0,t),e=e._next;--Vc}function rl(){Jc=(qc=Xc.now())+Yc,Vc=Hc=0;try{nl()}finally{Vc=0,al(),Jc=0}}function il(){var e=Xc.now(),t=e-qc;t>Wc&&(Yc-=t,qc=e)}function al(){for(var e,t=Gc,n,r=1/0;t;)t._call?(r>t._time&&(r=t._time),e=t,t=t._next):(n=t._next,t._next=null,t=e?e._next=n:Gc=n);Kc=e,ol(r)}function ol(e){Vc||(Hc&&=clearTimeout(Hc),e-Jc>24?(e<1/0&&(Hc=setTimeout(rl,e-Xc.now()-Yc)),Uc&&=clearInterval(Uc)):(Uc||=(qc=Xc.now(),setInterval(il,Wc)),Vc=1,Zc(rl)))}function sl(e,t,n){var r=new el;return t=t==null?0:+t,r.restart(n=>{r.stop(),e(n+t)},t,n),r}var cl=Sa(`start`,`end`,`cancel`,`interrupt`),ll=[];function ul(e,t,n,r,i,a){var o=e.__transition;if(!o)e.__transition={};else if(n in o)return;ml(e,n,{name:t,index:r,group:i,on:cl,tween:ll,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:0})}function dl(e,t){var n=pl(e,t);if(n.state>0)throw Error(`too late; already scheduled`);return n}function fl(e,t){var n=pl(e,t);if(n.state>3)throw Error(`too late; already running`);return n}function pl(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw Error(`transition not found`);return n}function ml(e,t,n){var r=e.__transition,i;r[t]=n,n.timer=tl(a,0,n.time);function a(e){n.state=1,n.timer.restart(o,n.delay,n.time),n.delay<=e&&o(e-n.delay)}function o(a){var l,u,d,f;if(n.state!==1)return c();for(l in r)if(f=r[l],f.name===n.name){if(f.state===3)return sl(o);f.state===4?(f.state=6,f.timer.stop(),f.on.call(`interrupt`,e,e.__data__,f.index,f.group),delete r[l]):+l<t&&(f.state=6,f.timer.stop(),f.on.call(`cancel`,e,e.__data__,f.index,f.group),delete r[l])}if(sl(function(){n.state===3&&(n.state=4,n.timer.restart(s,n.delay,n.time),s(a))}),n.state=2,n.on.call(`start`,e,e.__data__,n.index,n.group),n.state===2){for(n.state=3,i=Array(d=n.tween.length),l=0,u=-1;l<d;++l)(f=n.tween[l].value.call(e,e.__data__,n.index,n.group))&&(i[++u]=f);i.length=u+1}}function s(t){for(var r=t<n.duration?n.ease.call(null,t/n.duration):(n.timer.restart(c),n.state=5,1),a=-1,o=i.length;++a<o;)i[a].call(e,r);n.state===5&&(n.on.call(`end`,e,e.__data__,n.index,n.group),c())}function c(){for(var i in n.state=6,n.timer.stop(),delete r[t],r)return;delete e.__transition}}function hl(e,t){var n=e.__transition,r,i,a=!0,o;if(n){for(o in t=t==null?null:t+``,n){if((r=n[o]).name!==t){a=!1;continue}i=r.state>2&&r.state<5,r.state=6,r.timer.stop(),r.on.call(i?`interrupt`:`cancel`,e,e.__data__,r.index,r.group),delete n[o]}a&&delete e.__transition}}function gl(e){return this.each(function(){hl(this,e)})}function _l(e,t){var n,r;return function(){var i=fl(this,e),a=i.tween;if(a!==n){r=n=a;for(var o=0,s=r.length;o<s;++o)if(r[o].name===t){r=r.slice(),r.splice(o,1);break}}i.tween=r}}function vl(e,t,n){var r,i;if(typeof n!=`function`)throw Error();return function(){var a=fl(this,e),o=a.tween;if(o!==r){i=(r=o).slice();for(var s={name:t,value:n},c=0,l=i.length;c<l;++c)if(i[c].name===t){i[c]=s;break}c===l&&i.push(s)}a.tween=i}}function yl(e,t){var n=this._id;if(e+=``,arguments.length<2){for(var r=pl(this.node(),n).tween,i=0,a=r.length,o;i<a;++i)if((o=r[i]).name===e)return o.value;return null}return this.each((t==null?_l:vl)(n,e,t))}function bl(e,t,n){var r=e._id;return e.each(function(){var e=fl(this,r);(e.value||={})[t]=n.apply(this,arguments)}),function(e){return pl(e,r).value[t]}}function xl(e,t){var n;return(typeof t==`number`?Cc:t instanceof Js?vc:(n=Js(t))?(t=n,vc):kc)(e,t)}function Sl(e){return function(){this.removeAttribute(e)}}function Cl(e){return function(){this.removeAttributeNS(e.space,e.local)}}function wl(e,t,n){var r,i=n+``,a;return function(){var o=this.getAttribute(e);return o===i?null:o===r?a:a=t(r=o,n)}}function Tl(e,t,n){var r,i=n+``,a;return function(){var o=this.getAttributeNS(e.space,e.local);return o===i?null:o===r?a:a=t(r=o,n)}}function El(e,t,n){var r,i,a;return function(){var o,s=n(this),c;return s==null?void this.removeAttribute(e):(o=this.getAttribute(e),c=s+``,o===c?null:o===r&&c===i?a:(i=c,a=t(r=o,s)))}}function Dl(e,t,n){var r,i,a;return function(){var o,s=n(this),c;return s==null?void this.removeAttributeNS(e.space,e.local):(o=this.getAttributeNS(e.space,e.local),c=s+``,o===c?null:o===r&&c===i?a:(i=c,a=t(r=o,s)))}}function Ol(e,t){var n=Oa(e),r=n===`transform`?Bc:xl;return this.attrTween(e,typeof t==`function`?(n.local?Dl:El)(n,r,bl(this,`attr.`+e,t)):t==null?(n.local?Cl:Sl)(n):(n.local?Tl:wl)(n,r,t))}function kl(e,t){return function(n){this.setAttribute(e,t.call(this,n))}}function Al(e,t){return function(n){this.setAttributeNS(e.space,e.local,t.call(this,n))}}function jl(e,t){var n,r;function i(){var i=t.apply(this,arguments);return i!==r&&(n=(r=i)&&Al(e,i)),n}return i._value=t,i}function Ml(e,t){var n,r;function i(){var i=t.apply(this,arguments);return i!==r&&(n=(r=i)&&kl(e,i)),n}return i._value=t,i}function Nl(e,t){var n=`attr.`+e;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(t==null)return this.tween(n,null);if(typeof t!=`function`)throw Error();var r=Oa(e);return this.tween(n,(r.local?jl:Ml)(r,t))}function Pl(e,t){return function(){dl(this,e).delay=+t.apply(this,arguments)}}function Fl(e,t){return t=+t,function(){dl(this,e).delay=t}}function Il(e){var t=this._id;return arguments.length?this.each((typeof e==`function`?Pl:Fl)(t,e)):pl(this.node(),t).delay}function Ll(e,t){return function(){fl(this,e).duration=+t.apply(this,arguments)}}function Rl(e,t){return t=+t,function(){fl(this,e).duration=t}}function zl(e){var t=this._id;return arguments.length?this.each((typeof e==`function`?Ll:Rl)(t,e)):pl(this.node(),t).duration}function Bl(e,t){if(typeof t!=`function`)throw Error();return function(){fl(this,e).ease=t}}function Vl(e){var t=this._id;return arguments.length?this.each(Bl(t,e)):pl(this.node(),t).ease}function Hl(e,t){return function(){var n=t.apply(this,arguments);if(typeof n!=`function`)throw Error();fl(this,e).ease=n}}function Ul(e){if(typeof e!=`function`)throw Error();return this.each(Hl(this._id,e))}function Wl(e){typeof e!=`function`&&(e=Ba(e));for(var t=this._groups,n=t.length,r=Array(n),i=0;i<n;++i)for(var a=t[i],o=a.length,s=r[i]=[],c,l=0;l<o;++l)(c=a[l])&&e.call(c,c.__data__,l,a)&&s.push(c);return new yu(r,this._parents,this._name,this._id)}function Gl(e){if(e._id!==this._id)throw Error();for(var t=this._groups,n=e._groups,r=t.length,i=n.length,a=Math.min(r,i),o=Array(r),s=0;s<a;++s)for(var c=t[s],l=n[s],u=c.length,d=o[s]=Array(u),f,p=0;p<u;++p)(f=c[p]||l[p])&&(d[p]=f);for(;s<r;++s)o[s]=t[s];return new yu(o,this._parents,this._name,this._id)}function Kl(e){return(e+``).trim().split(/^|\s+/).every(function(e){var t=e.indexOf(`.`);return t>=0&&(e=e.slice(0,t)),!e||e===`start`})}function ql(e,t,n){var r,i,a=Kl(t)?dl:fl;return function(){var o=a(this,e),s=o.on;s!==r&&(i=(r=s).copy()).on(t,n),o.on=i}}function Jl(e,t){var n=this._id;return arguments.length<2?pl(this.node(),n).on.on(e):this.each(ql(n,e,t))}function Yl(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function Xl(){return this.on(`end.remove`,Yl(this._id))}function Zl(e){var t=this._name,n=this._id;typeof e!=`function`&&(e=Na(e));for(var r=this._groups,i=r.length,a=Array(i),o=0;o<i;++o)for(var s=r[o],c=s.length,l=a[o]=Array(c),u,d,f=0;f<c;++f)(u=s[f])&&(d=e.call(u,u.__data__,f,s))&&(`__data__`in u&&(d.__data__=u.__data__),l[f]=d,ul(l[f],t,n,f,l,pl(u,n)));return new yu(a,this._parents,t,n)}function Ql(e){var t=this._name,n=this._id;typeof e!=`function`&&(e=La(e));for(var r=this._groups,i=r.length,a=[],o=[],s=0;s<i;++s)for(var c=r[s],l=c.length,u,d=0;d<l;++d)if(u=c[d]){for(var f=e.call(u,u.__data__,d,c),p,m=pl(u,n),h=0,g=f.length;h<g;++h)(p=f[h])&&ul(p,t,n,h,f,m);a.push(f),o.push(u)}return new yu(a,o,t,n)}var $l=ws.prototype.constructor;function eu(){return new $l(this._groups,this._parents)}function tu(e,t){var n,r,i;return function(){var a=jo(this,e),o=(this.style.removeProperty(e),jo(this,e));return a===o?null:a===n&&o===r?i:i=t(n=a,r=o)}}function nu(e){return function(){this.style.removeProperty(e)}}function ru(e,t,n){var r,i=n+``,a;return function(){var o=jo(this,e);return o===i?null:o===r?a:a=t(r=o,n)}}function iu(e,t,n){var r,i,a;return function(){var o=jo(this,e),s=n(this),c=s+``;return s??(c=s=(this.style.removeProperty(e),jo(this,e))),o===c?null:o===r&&c===i?a:(i=c,a=t(r=o,s))}}function au(e,t){var n,r,i,a=`style.`+t,o=`end.`+a,s;return function(){var c=fl(this,e),l=c.on,u=c.value[a]==null?s||=nu(t):void 0;(l!==n||i!==u)&&(r=(n=l).copy()).on(o,i=u),c.on=r}}function ou(e,t,n){var r=(e+=``)==`transform`?zc:xl;return t==null?this.styleTween(e,tu(e,r)).on(`end.style.`+e,nu(e)):typeof t==`function`?this.styleTween(e,iu(e,r,bl(this,`style.`+e,t))).each(au(this._id,e)):this.styleTween(e,ru(e,r,t),n).on(`end.style.`+e,null)}function su(e,t,n){return function(r){this.style.setProperty(e,t.call(this,r),n)}}function cu(e,t,n){var r,i;function a(){var a=t.apply(this,arguments);return a!==i&&(r=(i=a)&&su(e,a,n)),r}return a._value=t,a}function lu(e,t,n){var r=`style.`+(e+=``);if(arguments.length<2)return(r=this.tween(r))&&r._value;if(t==null)return this.tween(r,null);if(typeof t!=`function`)throw Error();return this.tween(r,cu(e,t,n??``))}function uu(e){return function(){this.textContent=e}}function du(e){return function(){var t=e(this);this.textContent=t??``}}function fu(e){return this.tween(`text`,typeof e==`function`?du(bl(this,`text`,e)):uu(e==null?``:e+``))}function pu(e){return function(t){this.textContent=e.call(this,t)}}function mu(e){var t,n;function r(){var r=e.apply(this,arguments);return r!==n&&(t=(n=r)&&pu(r)),t}return r._value=e,r}function hu(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 Error();return this.tween(t,mu(e))}function gu(){for(var e=this._name,t=this._id,n=xu(),r=this._groups,i=r.length,a=0;a<i;++a)for(var o=r[a],s=o.length,c,l=0;l<s;++l)if(c=o[l]){var u=pl(c,t);ul(c,e,n,l,o,{time:u.time+u.delay+u.duration,delay:0,duration:u.duration,ease:u.ease})}return new yu(r,this._parents,e,n)}function _u(){var e,t,n=this,r=n._id,i=n.size();return new Promise(function(a,o){var s={value:o},c={value:function(){--i===0&&a()}};n.each(function(){var n=fl(this,r),i=n.on;i!==e&&(t=(e=i).copy(),t._.cancel.push(s),t._.interrupt.push(s),t._.end.push(c)),n.on=t}),i===0&&a()})}var vu=0;function yu(e,t,n,r){this._groups=e,this._parents=t,this._name=n,this._id=r}function bu(e){return ws().transition(e)}function xu(){return++vu}var Su=ws.prototype;yu.prototype=bu.prototype={constructor:yu,select:Zl,selectAll:Ql,selectChild:Su.selectChild,selectChildren:Su.selectChildren,filter:Wl,merge:Gl,selection:eu,transition:gu,call:Su.call,nodes:Su.nodes,node:Su.node,size:Su.size,empty:Su.empty,each:Su.each,on:Jl,attr:Ol,attrTween:Nl,style:ou,styleTween:lu,text:fu,textTween:hu,remove:Xl,tween:yl,delay:Il,duration:zl,ease:Vl,easeVarying:Ul,end:_u,[Symbol.iterator]:Su[Symbol.iterator]};function Cu(e){return--e*e*e+1}function wu(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var Tu={time:null,delay:0,duration:250,ease:wu};function Eu(e,t){for(var n;!(n=e.__transition)||!(n=n[t]);)if(!(e=e.parentNode))throw Error(`transition ${t} not found`);return n}function Du(e){var t,n;e instanceof yu?(t=e._id,e=e._name):(t=xu(),(n=Tu).time=Qc(),e=e==null?null:e+``);for(var r=this._groups,i=r.length,a=0;a<i;++a)for(var o=r[a],s=o.length,c,l=0;l<s;++l)(c=o[l])&&ul(c,e,t,l,o,n||Eu(c,t));return new yu(r,this._parents,e,t)}ws.prototype.interrupt=gl,ws.prototype.transition=Du;var Ou=[null];function ku(e,t){var n=e.__transition,r,i;if(n){for(i in t=t==null?null:t+``,n)if((r=n[i]).state>1&&r.name===t)return new yu([[e]],Ou,t,+i)}return null}var{abs:Au,max:ju,min:Mu}=Math;[`w`,`e`].map(Nu),[`n`,`s`].map(Nu),[`n`,`w`,`e`,`s`,`nw`,`ne`,`sw`,`se`].map(Nu);function Nu(e){return{type:e}}var Pu=Math.PI,Fu=2*Pu,Iu=1e-6,Lu=Fu-Iu;function Ru(e){this._+=e[0];for(let t=1,n=e.length;t<n;++t)this._+=arguments[t]+e[t]}function zu(e){let t=Math.floor(e);if(!(t>=0))throw Error(`invalid digits: ${e}`);if(t>15)return Ru;let n=10**t;return function(e){this._+=e[0];for(let t=1,r=e.length;t<r;++t)this._+=Math.round(arguments[t]*n)/n+e[t]}}var Bu=class{constructor(e){this._x0=this._y0=this._x1=this._y1=null,this._=``,this._append=e==null?Ru:zu(e)}moveTo(e,t){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+t}`}closePath(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._append`Z`)}lineTo(e,t){this._append`L${this._x1=+e},${this._y1=+t}`}quadraticCurveTo(e,t,n,r){this._append`Q${+e},${+t},${this._x1=+n},${this._y1=+r}`}bezierCurveTo(e,t,n,r,i,a){this._append`C${+e},${+t},${+n},${+r},${this._x1=+i},${this._y1=+a}`}arcTo(e,t,n,r,i){if(e=+e,t=+t,n=+n,r=+r,i=+i,i<0)throw Error(`negative radius: ${i}`);let a=this._x1,o=this._y1,s=n-e,c=r-t,l=a-e,u=o-t,d=l*l+u*u;if(this._x1===null)this._append`M${this._x1=e},${this._y1=t}`;else if(d>Iu){if(!(Math.abs(u*s-c*l)>Iu)||!i)this._append`L${this._x1=e},${this._y1=t}`;else{let f=n-a,p=r-o,m=s*s+c*c,h=f*f+p*p,g=Math.sqrt(m),_=Math.sqrt(d),v=i*Math.tan((Pu-Math.acos((m+d-h)/(2*g*_)))/2),y=v/_,b=v/g;Math.abs(y-1)>Iu&&this._append`L${e+y*l},${t+y*u}`,this._append`A${i},${i},0,0,${+(u*f>l*p)},${this._x1=e+b*s},${this._y1=t+b*c}`}}}arc(e,t,n,r,i,a){if(e=+e,t=+t,n=+n,a=!!a,n<0)throw Error(`negative radius: ${n}`);let o=n*Math.cos(r),s=n*Math.sin(r),c=e+o,l=t+s,u=1^a,d=a?r-i:i-r;this._x1===null?this._append`M${c},${l}`:(Math.abs(this._x1-c)>Iu||Math.abs(this._y1-l)>Iu)&&this._append`L${c},${l}`,n&&(d<0&&(d=d%Fu+Fu),d>Lu?this._append`A${n},${n},0,1,${u},${e-o},${t-s}A${n},${n},0,1,${u},${this._x1=c},${this._y1=l}`:d>Iu&&this._append`A${n},${n},0,${+(d>=Pu)},${u},${this._x1=e+n*Math.cos(i)},${this._y1=t+n*Math.sin(i)}`)}rect(e,t,n,r){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+t}h${n=+n}v${+r}h${-n}Z`}toString(){return this._}};Bu.prototype;var Vu=11102230246251565e-32,Hu=134217729,Uu=3.000000000000001*Vu;function Wu(e,t,n,r,i){let a,o,s,c,l=t[0],u=r[0],d=0,f=0;u>l==u>-l?(a=l,l=t[++d]):(a=u,u=r[++f]);let p=0;if(d<e&&f<n)for(u>l==u>-l?(o=l+a,s=a-(o-l),l=t[++d]):(o=u+a,s=a-(o-u),u=r[++f]),a=o,s!==0&&(i[p++]=s);d<e&&f<n;)u>l==u>-l?(o=a+l,c=o-a,s=a-(o-c)+(l-c),l=t[++d]):(o=a+u,c=o-a,s=a-(o-c)+(u-c),u=r[++f]),a=o,s!==0&&(i[p++]=s);for(;d<e;)o=a+l,c=o-a,s=a-(o-c)+(l-c),l=t[++d],a=o,s!==0&&(i[p++]=s);for(;f<n;)o=a+u,c=o-a,s=a-(o-c)+(u-c),u=r[++f],a=o,s!==0&&(i[p++]=s);return(a!==0||p===0)&&(i[p++]=a),p}function Gu(e,t){let n=t[0];for(let r=1;r<e;r++)n+=t[r];return n}function $(e){return new Float64Array(e)}var Ku=(3+16*Vu)*Vu,qu=(2+12*Vu)*Vu,Ju=(9+64*Vu)*Vu*Vu,Yu=$(4),Xu=$(8),Zu=$(12),Qu=$(16),$u=$(4);function ed(e,t,n,r,i,a,o){let s,c,l,u,d,f,p,m,h,g,_,v,y,b,x,S,C,w,T=e-i,E=n-i,D=t-a,O=r-a;b=T*O,f=Hu*T,p=f-(f-T),m=T-p,f=Hu*O,h=f-(f-O),g=O-h,x=m*g-(b-p*h-m*h-p*g),S=D*E,f=Hu*D,p=f-(f-D),m=D-p,f=Hu*E,h=f-(f-E),g=E-h,C=m*g-(S-p*h-m*h-p*g),_=x-C,d=x-_,Yu[0]=x-(_+d)+(d-C),v=b+_,d=v-b,y=b-(v-d)+(_-d),_=y-S,d=y-_,Yu[1]=y-(_+d)+(d-S),w=v+_,d=w-v,Yu[2]=v-(w-d)+(_-d),Yu[3]=w;let k=Gu(4,Yu),A=qu*o;if(k>=A||-k>=A||(d=e-T,s=e-(T+d)+(d-i),d=n-E,l=n-(E+d)+(d-i),d=t-D,c=t-(D+d)+(d-a),d=r-O,u=r-(O+d)+(d-a),s===0&&c===0&&l===0&&u===0)||(A=Ju*o+Uu*Math.abs(k),k+=T*u+O*s-(D*l+E*c),k>=A||-k>=A))return k;b=s*O,f=Hu*s,p=f-(f-s),m=s-p,f=Hu*O,h=f-(f-O),g=O-h,x=m*g-(b-p*h-m*h-p*g),S=c*E,f=Hu*c,p=f-(f-c),m=c-p,f=Hu*E,h=f-(f-E),g=E-h,C=m*g-(S-p*h-m*h-p*g),_=x-C,d=x-_,$u[0]=x-(_+d)+(d-C),v=b+_,d=v-b,y=b-(v-d)+(_-d),_=y-S,d=y-_,$u[1]=y-(_+d)+(d-S),w=v+_,d=w-v,$u[2]=v-(w-d)+(_-d),$u[3]=w;let j=Wu(4,Yu,4,$u,Xu);b=T*u,f=Hu*T,p=f-(f-T),m=T-p,f=Hu*u,h=f-(f-u),g=u-h,x=m*g-(b-p*h-m*h-p*g),S=D*l,f=Hu*D,p=f-(f-D),m=D-p,f=Hu*l,h=f-(f-l),g=l-h,C=m*g-(S-p*h-m*h-p*g),_=x-C,d=x-_,$u[0]=x-(_+d)+(d-C),v=b+_,d=v-b,y=b-(v-d)+(_-d),_=y-S,d=y-_,$u[1]=y-(_+d)+(d-S),w=v+_,d=w-v,$u[2]=v-(w-d)+(_-d),$u[3]=w;let M=Wu(j,Xu,4,$u,Zu);return b=s*u,f=Hu*s,p=f-(f-s),m=s-p,f=Hu*u,h=f-(f-u),g=u-h,x=m*g-(b-p*h-m*h-p*g),S=c*l,f=Hu*c,p=f-(f-c),m=c-p,f=Hu*l,h=f-(f-l),g=l-h,C=m*g-(S-p*h-m*h-p*g),_=x-C,d=x-_,$u[0]=x-(_+d)+(d-C),v=b+_,d=v-b,y=b-(v-d)+(_-d),_=y-S,d=y-_,$u[1]=y-(_+d)+(d-S),w=v+_,d=w-v,$u[2]=v-(w-d)+(_-d),$u[3]=w,Qu[Wu(M,Zu,4,$u,Qu)-1]}function td(e,t,n,r,i,a){let o=(t-a)*(n-i),s=(e-i)*(r-a),c=o-s,l=Math.abs(o+s);return Math.abs(c)>=Ku*l?c:-ed(e,t,n,r,i,a,l)}(7+56*Vu)*Vu,(3+28*Vu)*Vu,(26+288*Vu)*Vu*Vu,$(4),$(4),$(4),$(4),$(4),$(4),$(4),$(4),$(4),$(8),$(8),$(8),$(4),$(8),$(8),$(16),$(12),$(192),$(192),(10+96*Vu)*Vu,(4+48*Vu)*Vu,(44+576*Vu)*Vu*Vu,$(4),$(4),$(4),$(4),$(4),$(4),$(4),$(4),$(8),$(8),$(8),$(8),$(8),$(8),$(8),$(8),$(8),$(4),$(4),$(4),$(8),$(16),$(16),$(16),$(32),$(32),$(48),$(64),$(1152),$(1152),(16+224*Vu)*Vu,(5+72*Vu)*Vu,(71+1408*Vu)*Vu*Vu,$(4),$(4),$(4),$(4),$(4),$(4),$(4),$(4),$(4),$(4),$(24),$(24),$(24),$(24),$(24),$(24),$(24),$(24),$(24),$(24),$(1152),$(1152),$(1152),$(1152),$(1152),$(2304),$(2304),$(3456),$(5760),$(8),$(8),$(8),$(16),$(24),$(48),$(48),$(96),$(192),$(384),$(384),$(384),$(768),$(96),$(96),$(96),$(1152);var nd=2**-52,rd=new Uint32Array(512),id=class e{static from(t,n=fd,r=pd){let i=t.length,a=new Float64Array(i*2);for(let e=0;e<i;e++){let i=t[e];a[2*e]=n(i),a[2*e+1]=r(i)}return new e(a)}constructor(e){let t=e.length>>1;if(t>0&&typeof e[0]!=`number`)throw Error(`Expected coords to contain numbers.`);this.coords=e;let n=Math.max(2*t-5,0);this._triangles=new Uint32Array(n*3),this._halfedges=new Int32Array(n*3),this._hashSize=Math.ceil(Math.sqrt(t)),this._hullPrev=new Uint32Array(t),this._hullNext=new Uint32Array(t),this._hullTri=new Uint32Array(t),this._hullHash=new Int32Array(this._hashSize),this._ids=new Uint32Array(t),this._dists=new Float64Array(t),this.trianglesLen=0,this._cx=0,this._cy=0,this._hullStart=0,this.hull=this._triangles,this.triangles=this._triangles,this.halfedges=this._halfedges,this.update()}update(){let{coords:e,_hullPrev:t,_hullNext:n,_hullTri:r,_hullHash:i}=this,a=e.length>>1,o=1/0,s=1/0,c=-1/0,l=-1/0;for(let t=0;t<a;t++){let n=e[2*t],r=e[2*t+1];n<o&&(o=n),r<s&&(s=r),n>c&&(c=n),r>l&&(l=r),this._ids[t]=t}let u=(o+c)/2,d=(s+l)/2,f=0,p=0,m=0;for(let t=0,n=1/0;t<a;t++){let r=od(u,d,e[2*t],e[2*t+1]);r<n&&(f=t,n=r)}let h=e[2*f],g=e[2*f+1];for(let t=0,n=1/0;t<a;t++){if(t===f)continue;let r=od(h,g,e[2*t],e[2*t+1]);r<n&&r>0&&(p=t,n=r)}let _=e[2*p],v=e[2*p+1],y=1/0;for(let t=0;t<a;t++){if(t===f||t===p)continue;let n=cd(h,g,_,v,e[2*t],e[2*t+1]);n<y&&(m=t,y=n)}let b=e[2*m],x=e[2*m+1];if(y===1/0){for(let t=0;t<a;t++)this._dists[t]=e[2*t]-e[0]||e[2*t+1]-e[1];ud(this._ids,this._dists,0,a-1);let t=new Uint32Array(a),n=0;for(let e=0,r=-1/0;e<a;e++){let i=this._ids[e],a=this._dists[i];a>r&&(t[n++]=i,r=a)}this.hull=t.subarray(0,n),this.triangles=new Uint32Array,this.halfedges=new Int32Array;return}if(td(h,g,_,v,b,x)<0){let e=p,t=_,n=v;p=m,_=b,v=x,m=e,b=t,x=n}let S=ld(h,g,_,v,b,x);this._cx=S.x,this._cy=S.y;for(let t=0;t<a;t++)this._dists[t]=od(e[2*t],e[2*t+1],S.x,S.y);ud(this._ids,this._dists,0,a-1),this._hullStart=f;let C=3;n[f]=t[m]=p,n[p]=t[f]=m,n[m]=t[p]=f,r[f]=0,r[p]=1,r[m]=2,i.fill(-1),i[this._hashKey(h,g)]=f,i[this._hashKey(_,v)]=p,i[this._hashKey(b,x)]=m,this.trianglesLen=0,this._addTriangle(f,p,m,-1,-1,-1);for(let a=0,o=0,s=0;a<this._ids.length;a++){let c=this._ids[a],l=e[2*c],u=e[2*c+1];if(a>0&&Math.abs(l-o)<=nd&&Math.abs(u-s)<=nd||(o=l,s=u,c===f||c===p||c===m))continue;let d=0;for(let e=0,t=this._hashKey(l,u);e<this._hashSize&&(d=i[(t+e)%this._hashSize],d===-1||d===n[d]);e++);d=t[d];let h=d,g;for(;g=n[h],td(l,u,e[2*h],e[2*h+1],e[2*g],e[2*g+1])>=0;)if(h=g,h===d){h=-1;break}if(h===-1)continue;let _=this._addTriangle(h,c,n[h],-1,-1,r[h]);r[c]=this._legalize(_+2),r[h]=_,C++;let v=n[h];for(;g=n[v],td(l,u,e[2*v],e[2*v+1],e[2*g],e[2*g+1])<0;)_=this._addTriangle(v,c,g,r[c],-1,r[v]),r[c]=this._legalize(_+2),n[v]=v,C--,v=g;if(h===d)for(;g=t[h],td(l,u,e[2*g],e[2*g+1],e[2*h],e[2*h+1])<0;)_=this._addTriangle(g,c,h,-1,r[h],r[g]),this._legalize(_+2),r[g]=_,n[h]=h,C--,h=g;this._hullStart=t[c]=h,n[h]=t[v]=c,n[c]=v,i[this._hashKey(l,u)]=c,i[this._hashKey(e[2*h],e[2*h+1])]=h}this.hull=new Uint32Array(C);for(let e=0,t=this._hullStart;e<C;e++)this.hull[e]=t,t=n[t];this.triangles=this._triangles.subarray(0,this.trianglesLen),this.halfedges=this._halfedges.subarray(0,this.trianglesLen)}_hashKey(e,t){return Math.floor(ad(e-this._cx,t-this._cy)*this._hashSize)%this._hashSize}_legalize(e){let{_triangles:t,_halfedges:n,coords:r}=this,i=0,a=0;for(;;){let o=n[e],s=e-e%3;if(a=s+(e+2)%3,o===-1){if(i===0)break;e=rd[--i];continue}let c=o-o%3,l=s+(e+1)%3,u=c+(o+2)%3,d=t[a],f=t[e],p=t[l],m=t[u];if(sd(r[2*d],r[2*d+1],r[2*f],r[2*f+1],r[2*p],r[2*p+1],r[2*m],r[2*m+1])){t[e]=m,t[o]=d;let r=n[u];if(r===-1){let t=this._hullStart;do{if(this._hullTri[t]===u){this._hullTri[t]=e;break}t=this._hullPrev[t]}while(t!==this._hullStart)}this._link(e,r),this._link(o,n[a]),this._link(a,u);let s=c+(o+1)%3;i<rd.length&&(rd[i++]=s)}else{if(i===0)break;e=rd[--i]}}return a}_link(e,t){this._halfedges[e]=t,t!==-1&&(this._halfedges[t]=e)}_addTriangle(e,t,n,r,i,a){let o=this.trianglesLen;return this._triangles[o]=e,this._triangles[o+1]=t,this._triangles[o+2]=n,this._link(o,r),this._link(o+1,i),this._link(o+2,a),this.trianglesLen+=3,o}};function ad(e,t){let n=e/(Math.abs(e)+Math.abs(t));return(t>0?3-n:1+n)/4}function od(e,t,n,r){let i=e-n,a=t-r;return i*i+a*a}function sd(e,t,n,r,i,a,o,s){let c=e-o,l=t-s,u=n-o,d=r-s,f=i-o,p=a-s,m=c*c+l*l,h=u*u+d*d,g=f*f+p*p;return c*(d*g-h*p)-l*(u*g-h*f)+m*(u*p-d*f)<0}function cd(e,t,n,r,i,a){let o=n-e,s=r-t,c=i-e,l=a-t,u=o*o+s*s,d=c*c+l*l,f=.5/(o*l-s*c),p=(l*u-s*d)*f,m=(o*d-c*u)*f;return p*p+m*m}function ld(e,t,n,r,i,a){let o=n-e,s=r-t,c=i-e,l=a-t,u=o*o+s*s,d=c*c+l*l,f=.5/(o*l-s*c);return{x:e+(l*u-s*d)*f,y:t+(o*d-c*u)*f}}function ud(e,t,n,r){if(r-n<=20)for(let i=n+1;i<=r;i++){let r=e[i],a=t[r],o=i-1;for(;o>=n&&t[e[o]]>a;)e[o+1]=e[o--];e[o+1]=r}else{let i=n+r>>1,a=n+1,o=r;dd(e,i,a),t[e[n]]>t[e[r]]&&dd(e,n,r),t[e[a]]>t[e[r]]&&dd(e,a,r),t[e[n]]>t[e[a]]&&dd(e,n,a);let s=e[a],c=t[s];for(;;){do a++;while(t[e[a]]<c);do o--;while(t[e[o]]>c);if(o<a)break;dd(e,a,o)}e[n+1]=e[o],e[o]=s,r-a+1>=o-n?(ud(e,t,a,r),ud(e,t,n,o-1)):(ud(e,t,n,o-1),ud(e,t,a,r))}}function dd(e,t,n){let r=e[t];e[t]=e[n],e[n]=r}function fd(e){return e[0]}function pd(e){return e[1]}var md=1e-6,hd=class{constructor(){this._x0=this._y0=this._x1=this._y1=null,this._=``}moveTo(e,t){this._+=`M${this._x0=this._x1=+e},${this._y0=this._y1=+t}`}closePath(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+=`Z`)}lineTo(e,t){this._+=`L${this._x1=+e},${this._y1=+t}`}arc(e,t,n){e=+e,t=+t,n=+n;let r=e+n,i=t;if(n<0)throw Error(`negative radius`);this._x1===null?this._+=`M${r},${i}`:(Math.abs(this._x1-r)>md||Math.abs(this._y1-i)>md)&&(this._+=`L`+r+`,`+i),n&&(this._+=`A${n},${n},0,1,1,${e-n},${t}A${n},${n},0,1,1,${this._x1=r},${this._y1=i}`)}rect(e,t,n,r){this._+=`M${this._x0=this._x1=+e},${this._y0=this._y1=+t}h${+n}v${+r}h${-n}Z`}value(){return this._||null}},gd=class{constructor(){this._=[]}moveTo(e,t){this._.push([e,t])}closePath(){this._.push(this._[0].slice())}lineTo(e,t){this._.push([e,t])}value(){return this._.length?this._:null}},_d=class{constructor(e,[t,n,r,i]=[0,0,960,500]){if(!((r=+r)>=(t=+t))||!((i=+i)>=(n=+n)))throw Error(`invalid bounds`);this.delaunay=e,this._circumcenters=new Float64Array(e.points.length*2),this.vectors=new Float64Array(e.points.length*2),this.xmax=r,this.xmin=t,this.ymax=i,this.ymin=n,this._init()}update(){return this.delaunay.update(),this._init(),this}_init(){let{delaunay:{points:e,hull:t,triangles:n},vectors:r}=this,i,a,o=this.circumcenters=this._circumcenters.subarray(0,n.length/3*2);for(let r=0,s=0,c=n.length,l,u;r<c;r+=3,s+=2){let c=n[r]*2,d=n[r+1]*2,f=n[r+2]*2,p=e[c],m=e[c+1],h=e[d],g=e[d+1],_=e[f],v=e[f+1],y=h-p,b=g-m,x=_-p,S=v-m,C=(y*S-b*x)*2;if(Math.abs(C)<1e-9){if(i===void 0){i=a=0;for(let n of t)i+=e[n*2],a+=e[n*2+1];i/=t.length,a/=t.length}let n=1e9*Math.sign((i-p)*S-(a-m)*x);l=(p+_)/2-n*S,u=(m+v)/2+n*x}else{let e=1/C,t=y*y+b*b,n=x*x+S*S;l=p+(S*t-b*n)*e,u=m+(y*n-x*t)*e}o[s]=l,o[s+1]=u}let s=t[t.length-1],c,l=s*4,u,d=e[2*s],f,p=e[2*s+1];r.fill(0);for(let n=0;n<t.length;++n)s=t[n],c=l,u=d,f=p,l=s*4,d=e[2*s],p=e[2*s+1],r[c+2]=r[l]=f-p,r[c+3]=r[l+1]=d-u}render(e){let t=e==null?e=new hd:void 0,{delaunay:{halfedges:n,inedges:r,hull:i},circumcenters:a,vectors:o}=this;if(i.length<=1)return null;for(let t=0,r=n.length;t<r;++t){let r=n[t];if(r<t)continue;let i=Math.floor(t/3)*2,o=Math.floor(r/3)*2,s=a[i],c=a[i+1],l=a[o],u=a[o+1];this._renderSegment(s,c,l,u,e)}let s,c=i[i.length-1];for(let t=0;t<i.length;++t){s=c,c=i[t];let n=Math.floor(r[c]/3)*2,l=a[n],u=a[n+1],d=s*4,f=this._project(l,u,o[d+2],o[d+3]);f&&this._renderSegment(l,u,f[0],f[1],e)}return t&&t.value()}renderBounds(e){let t=e==null?e=new hd:void 0;return e.rect(this.xmin,this.ymin,this.xmax-this.xmin,this.ymax-this.ymin),t&&t.value()}renderCell(e,t){let n=t==null?t=new hd:void 0,r=this._clip(e);if(r===null||!r.length)return;t.moveTo(r[0],r[1]);let i=r.length;for(;r[0]===r[i-2]&&r[1]===r[i-1]&&i>1;)i-=2;for(let e=2;e<i;e+=2)(r[e]!==r[e-2]||r[e+1]!==r[e-1])&&t.lineTo(r[e],r[e+1]);return t.closePath(),n&&n.value()}*cellPolygons(){let{delaunay:{points:e}}=this;for(let t=0,n=e.length/2;t<n;++t){let e=this.cellPolygon(t);e&&(e.index=t,yield e)}}cellPolygon(e){let t=new gd;return this.renderCell(e,t),t.value()}_renderSegment(e,t,n,r,i){let a,o=this._regioncode(e,t),s=this._regioncode(n,r);o===0&&s===0?(i.moveTo(e,t),i.lineTo(n,r)):(a=this._clipSegment(e,t,n,r,o,s))&&(i.moveTo(a[0],a[1]),i.lineTo(a[2],a[3]))}contains(e,t,n){return t=+t,t!==t||(n=+n,n!==n)?!1:this.delaunay._step(e,t,n)===e}*neighbors(e){let t=this._clip(e);if(t)for(let n of this.delaunay.neighbors(e)){let e=this._clip(n);if(e){loop:for(let r=0,i=t.length;r<i;r+=2)for(let a=0,o=e.length;a<o;a+=2)if(t[r]===e[a]&&t[r+1]===e[a+1]&&t[(r+2)%i]===e[(a+o-2)%o]&&t[(r+3)%i]===e[(a+o-1)%o]){yield n;break loop}}}}_cell(e){let{circumcenters:t,delaunay:{inedges:n,halfedges:r,triangles:i}}=this,a=n[e];if(a===-1)return null;let o=[],s=a;do{let n=Math.floor(s/3);if(o.push(t[n*2],t[n*2+1]),s=s%3==2?s-2:s+1,i[s]!==e)break;s=r[s]}while(s!==a&&s!==-1);return o}_clip(e){if(e===0&&this.delaunay.hull.length===1)return[this.xmax,this.ymin,this.xmax,this.ymax,this.xmin,this.ymax,this.xmin,this.ymin];let t=this._cell(e);if(t===null)return null;let{vectors:n}=this,r=e*4;return this._simplify(n[r]||n[r+1]?this._clipInfinite(e,t,n[r],n[r+1],n[r+2],n[r+3]):this._clipFinite(e,t))}_clipFinite(e,t){let n=t.length,r=null,i,a,o=t[n-2],s=t[n-1],c,l=this._regioncode(o,s),u,d=0;for(let f=0;f<n;f+=2)if(i=o,a=s,o=t[f],s=t[f+1],c=l,l=this._regioncode(o,s),c===0&&l===0)u=d,d=0,r?r.push(o,s):r=[o,s];else{let t,n,f,p,m;if(c===0){if((t=this._clipSegment(i,a,o,s,c,l))===null)continue;[n,f,p,m]=t}else{if((t=this._clipSegment(o,s,i,a,l,c))===null)continue;[p,m,n,f]=t,u=d,d=this._edgecode(n,f),u&&d&&this._edge(e,u,d,r,r.length),r?r.push(n,f):r=[n,f]}u=d,d=this._edgecode(p,m),u&&d&&this._edge(e,u,d,r,r.length),r?r.push(p,m):r=[p,m]}if(r)u=d,d=this._edgecode(r[0],r[1]),u&&d&&this._edge(e,u,d,r,r.length);else if(this.contains(e,(this.xmin+this.xmax)/2,(this.ymin+this.ymax)/2))return[this.xmax,this.ymin,this.xmax,this.ymax,this.xmin,this.ymax,this.xmin,this.ymin];return r}_clipSegment(e,t,n,r,i,a){let o=i<a;for(o&&([e,t,n,r,i,a]=[n,r,e,t,a,i]);;){if(i===0&&a===0)return o?[n,r,e,t]:[e,t,n,r];if(i&a)return null;let s,c,l=i||a;l&8?(s=e+(n-e)*(this.ymax-t)/(r-t),c=this.ymax):l&4?(s=e+(n-e)*(this.ymin-t)/(r-t),c=this.ymin):l&2?(c=t+(r-t)*(this.xmax-e)/(n-e),s=this.xmax):(c=t+(r-t)*(this.xmin-e)/(n-e),s=this.xmin),i?(e=s,t=c,i=this._regioncode(e,t)):(n=s,r=c,a=this._regioncode(n,r))}}_clipInfinite(e,t,n,r,i,a){let o=Array.from(t),s;if((s=this._project(o[0],o[1],n,r))&&o.unshift(s[0],s[1]),(s=this._project(o[o.length-2],o[o.length-1],i,a))&&o.push(s[0],s[1]),o=this._clipFinite(e,o))for(let t=0,n=o.length,r,i=this._edgecode(o[n-2],o[n-1]);t<n;t+=2)r=i,i=this._edgecode(o[t],o[t+1]),r&&i&&(t=this._edge(e,r,i,o,t),n=o.length);else this.contains(e,(this.xmin+this.xmax)/2,(this.ymin+this.ymax)/2)&&(o=[this.xmin,this.ymin,this.xmax,this.ymin,this.xmax,this.ymax,this.xmin,this.ymax]);return o}_edge(e,t,n,r,i){for(;t!==n;){let n,a;switch(t){case 5:t=4;continue;case 4:t=6,n=this.xmax,a=this.ymin;break;case 6:t=2;continue;case 2:t=10,n=this.xmax,a=this.ymax;break;case 10:t=8;continue;case 8:t=9,n=this.xmin,a=this.ymax;break;case 9:t=1;continue;case 1:t=5,n=this.xmin,a=this.ymin}(r[i]!==n||r[i+1]!==a)&&this.contains(e,n,a)&&(r.splice(i,0,n,a),i+=2)}return i}_project(e,t,n,r){let i=1/0,a,o,s;if(r<0){if(t<=this.ymin)return null;(a=(this.ymin-t)/r)<i&&(s=this.ymin,o=e+(i=a)*n)}else if(r>0){if(t>=this.ymax)return null;(a=(this.ymax-t)/r)<i&&(s=this.ymax,o=e+(i=a)*n)}if(n>0){if(e>=this.xmax)return null;(a=(this.xmax-e)/n)<i&&(o=this.xmax,s=t+(i=a)*r)}else if(n<0){if(e<=this.xmin)return null;(a=(this.xmin-e)/n)<i&&(o=this.xmin,s=t+(i=a)*r)}return[o,s]}_edgecode(e,t){return(e===this.xmin?1:e===this.xmax?2:0)|(t===this.ymin?4:t===this.ymax?8:0)}_regioncode(e,t){return(e<this.xmin?1:e>this.xmax?2:0)|(t<this.ymin?4:t>this.ymax?8:0)}_simplify(e){if(e&&e.length>4){for(let t=0;t<e.length;t+=2){let n=(t+2)%e.length,r=(t+4)%e.length;(e[t]===e[n]&&e[n]===e[r]||e[t+1]===e[n+1]&&e[n+1]===e[r+1])&&(e.splice(n,2),t-=2)}e.length||(e=null)}return e}},vd=2*Math.PI,yd=Math.pow;function bd(e){return e[0]}function xd(e){return e[1]}function Sd(e){let{triangles:t,coords:n}=e;for(let e=0;e<t.length;e+=3){let r=2*t[e],i=2*t[e+1],a=2*t[e+2];if((n[a]-n[r])*(n[i+1]-n[r+1])-(n[i]-n[r])*(n[a+1]-n[r+1])>1e-10)return!1}return!0}function Cd(e,t,n){return[e+Math.sin(e+t)*n,t+Math.cos(e-t)*n]}var wd=class e{static from(t,n=bd,r=xd,i){return new e(`length`in t?Td(t,n,r,i):Float64Array.from(Ed(t,n,r,i)))}constructor(e){this._delaunator=new id(e),this.inedges=new Int32Array(e.length/2),this._hullIndex=new Int32Array(e.length/2),this.points=this._delaunator.coords,this._init()}update(){return this._delaunator.update(),this._init(),this}_init(){let e=this._delaunator,t=this.points;if(e.hull&&e.hull.length>2&&Sd(e)){this.collinear=Int32Array.from({length:t.length/2},(e,t)=>t).sort((e,n)=>t[2*e]-t[2*n]||t[2*e+1]-t[2*n+1]);let e=this.collinear[0],n=this.collinear[this.collinear.length-1],r=[t[2*e],t[2*e+1],t[2*n],t[2*n+1]],i=1e-8*Math.hypot(r[3]-r[1],r[2]-r[0]);for(let e=0,n=t.length/2;e<n;++e){let n=Cd(t[2*e],t[2*e+1],i);t[2*e]=n[0],t[2*e+1]=n[1]}this._delaunator=new id(t)}else delete this.collinear;let n=this.halfedges=this._delaunator.halfedges,r=this.hull=this._delaunator.hull,i=this.triangles=this._delaunator.triangles,a=this.inedges.fill(-1),o=this._hullIndex.fill(-1);for(let e=0,t=n.length;e<t;++e){let t=i[e%3==2?e-2:e+1];(n[e]===-1||a[t]===-1)&&(a[t]=e)}for(let e=0,t=r.length;e<t;++e)o[r[e]]=e;r.length<=2&&r.length>0&&(this.triangles=new Int32Array(3).fill(-1),this.halfedges=new Int32Array(3).fill(-1),this.triangles[0]=r[0],a[r[0]]=1,r.length===2&&(a[r[1]]=0,this.triangles[1]=r[1],this.triangles[2]=r[1]))}voronoi(e){return new _d(this,e)}*neighbors(e){let{inedges:t,hull:n,_hullIndex:r,halfedges:i,triangles:a,collinear:o}=this;if(o){let t=o.indexOf(e);t>0&&(yield o[t-1]),t<o.length-1&&(yield o[t+1]);return}let s=t[e];if(s===-1)return;let c=s,l=-1;do{if(yield l=a[c],c=c%3==2?c-2:c+1,a[c]!==e)return;if(c=i[c],c===-1){let t=n[(r[e]+1)%n.length];t!==l&&(yield t);return}}while(c!==s)}find(e,t,n=0){if(e=+e,e!==e||(t=+t,t!==t))return-1;let r=n,i;for(;(i=this._step(n,e,t))>=0&&i!==n&&i!==r;)n=i;return i}_step(e,t,n){let{inedges:r,hull:i,_hullIndex:a,halfedges:o,triangles:s,points:c}=this;if(r[e]===-1||!c.length)return(e+1)%(c.length>>1);let l=e,u=yd(t-c[e*2],2)+yd(n-c[e*2+1],2),d=r[e],f=d;do{let r=s[f],d=yd(t-c[r*2],2)+yd(n-c[r*2+1],2);if(d<u&&(u=d,l=r),f=f%3==2?f-2:f+1,s[f]!==e)break;if(f=o[f],f===-1){if(f=i[(a[e]+1)%i.length],f!==r&&yd(t-c[f*2],2)+yd(n-c[f*2+1],2)<u)return f;break}}while(f!==d);return l}render(e){let t=e==null?e=new hd:void 0,{points:n,halfedges:r,triangles:i}=this;for(let t=0,a=r.length;t<a;++t){let a=r[t];if(a<t)continue;let o=i[t]*2,s=i[a]*2;e.moveTo(n[o],n[o+1]),e.lineTo(n[s],n[s+1])}return this.renderHull(e),t&&t.value()}renderPoints(e,t){t===void 0&&(!e||typeof e.moveTo!=`function`)&&(t=e,e=null),t=t==null?2:+t;let n=e==null?e=new hd:void 0,{points:r}=this;for(let n=0,i=r.length;n<i;n+=2){let i=r[n],a=r[n+1];e.moveTo(i+t,a),e.arc(i,a,t,0,vd)}return n&&n.value()}renderHull(e){let t=e==null?e=new hd:void 0,{hull:n,points:r}=this,i=n[0]*2,a=n.length;e.moveTo(r[i],r[i+1]);for(let t=1;t<a;++t){let i=2*n[t];e.lineTo(r[i],r[i+1])}return e.closePath(),t&&t.value()}hullPolygon(){let e=new gd;return this.renderHull(e),e.value()}renderTriangle(e,t){let n=t==null?t=new hd:void 0,{points:r,triangles:i}=this,a=i[e*=3]*2,o=i[e+1]*2,s=i[e+2]*2;return t.moveTo(r[a],r[a+1]),t.lineTo(r[o],r[o+1]),t.lineTo(r[s],r[s+1]),t.closePath(),n&&n.value()}*trianglePolygons(){let{triangles:e}=this;for(let t=0,n=e.length/3;t<n;++t)yield this.trianglePolygon(t)}trianglePolygon(e){let t=new gd;return this.renderTriangle(e,t),t.value()}};function Td(e,t,n,r){let i=e.length,a=new Float64Array(i*2);for(let o=0;o<i;++o){let i=e[o];a[o*2]=t.call(r,i,o,e),a[o*2+1]=n.call(r,i,o,e)}return a}function*Ed(e,t,n,r){let i=0;for(let a of e)yield t.call(r,a,i,e),yield n.call(r,a,i,e),++i}function Dd(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString(`en`).replace(/,/g,``):e.toString(10)}function Od(e,t){if(!isFinite(e)||e===0)return null;var n=(e=t?e.toExponential(t-1):e.toExponential()).indexOf(`e`),r=e.slice(0,n);return[r.length>1?r[0]+r.slice(2):r,+e.slice(n+1)]}function kd(e){return e=Od(Math.abs(e)),e?e[1]:NaN}function Ad(e,t){return function(n,r){for(var i=n.length,a=[],o=0,s=e[0],c=0;i>0&&s>0&&(c+s+1>r&&(s=Math.max(1,r-c)),a.push(n.substring(i-=s,i+s)),!((c+=s+1)>r));)s=e[o=(o+1)%e.length];return a.reverse().join(t)}}function jd(e){return function(t){return t.replace(/[0-9]/g,function(t){return e[+t]})}}var Md=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function Nd(e){if(!(t=Md.exec(e)))throw Error(`invalid format: `+e);var t;return new Pd({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]})}Nd.prototype=Pd.prototype;function Pd(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+``}Pd.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 Fd(e){out:for(var t=e.length,n=1,r=-1,i;n<t;++n)switch(e[n]){case`.`:r=i=n;break;case`0`:r===0&&(r=n),i=n;break;default:if(!+e[n])break out;r>0&&(r=0)}return r>0?e.slice(0,r)+e.slice(i+1):e}var Id;function Ld(e,t){var n=Od(e,t);if(!n)return Id=void 0,e.toPrecision(t);var r=n[0],i=n[1],a=i-(Id=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,o=r.length;return a===o?r:a>o?r+Array(a-o+1).join(`0`):a>0?r.slice(0,a)+`.`+r.slice(a):`0.`+Array(1-a).join(`0`)+Od(e,Math.max(0,t+a-1))[0]}function Rd(e,t){var n=Od(e,t);if(!n)return e+``;var r=n[0],i=n[1];return i<0?`0.`+Array(-i).join(`0`)+r:r.length>i+1?r.slice(0,i+1)+`.`+r.slice(i+1):r+Array(i-r.length+2).join(`0`)}var zd={"%":(e,t)=>(e*100).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+``,d:Dd,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)=>Rd(e*100,t),r:Rd,s:Ld,X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function Bd(e){return e}var Vd=Array.prototype.map,Hd=[`y`,`z`,`a`,`f`,`p`,`n`,`µ`,`m`,``,`k`,`M`,`G`,`T`,`P`,`E`,`Z`,`Y`];function Ud(e){var t=e.grouping===void 0||e.thousands===void 0?Bd:Ad(Vd.call(e.grouping,Number),e.thousands+``),n=e.currency===void 0?``:e.currency[0]+``,r=e.currency===void 0?``:e.currency[1]+``,i=e.decimal===void 0?`.`:e.decimal+``,a=e.numerals===void 0?Bd:jd(Vd.call(e.numerals,String)),o=e.percent===void 0?`%`:e.percent+``,s=e.minus===void 0?`−`:e.minus+``,c=e.nan===void 0?`NaN`:e.nan+``;function l(e,l){e=Nd(e);var u=e.fill,d=e.align,f=e.sign,p=e.symbol,m=e.zero,h=e.width,g=e.comma,_=e.precision,v=e.trim,y=e.type;y===`n`?(g=!0,y=`g`):zd[y]||(_===void 0&&(_=12),v=!0,y=`g`),(m||u===`0`&&d===`=`)&&(m=!0,u=`0`,d=`=`);var b=(l&&l.prefix!==void 0?l.prefix:``)+(p===`$`?n:p===`#`&&/[boxX]/.test(y)?`0`+y.toLowerCase():``),x=(p===`$`?r:/[%p]/.test(y)?o:``)+(l&&l.suffix!==void 0?l.suffix:``),S=zd[y],C=/[defgprs%]/.test(y);_=_===void 0?6:/[gprs]/.test(y)?Math.max(1,Math.min(21,_)):Math.max(0,Math.min(20,_));function w(e){var n=b,r=x,o,l,p;if(y===`c`)r=S(e)+r,e=``;else{e=+e;var w=e<0||1/e<0;if(e=isNaN(e)?c:S(Math.abs(e),_),v&&(e=Fd(e)),w&&+e==0&&f!==`+`&&(w=!1),n=(w?f===`(`?f:s:f===`-`||f===`(`?``:f)+n,r=(y===`s`&&!isNaN(e)&&Id!==void 0?Hd[8+Id/3]:``)+r+(w&&f===`(`?`)`:``),C){for(o=-1,l=e.length;++o<l;)if(p=e.charCodeAt(o),48>p||p>57){r=(p===46?i+e.slice(o+1):e.slice(o))+r,e=e.slice(0,o);break}}}g&&!m&&(e=t(e,1/0));var T=n.length+e.length+r.length,E=T<h?Array(h-T+1).join(u):``;switch(g&&m&&(e=t(E+e,E.length?h-r.length:1/0),E=``),d){case`<`:e=n+e+r+E;break;case`=`:e=n+E+e+r;break;case`^`:e=E.slice(0,T=E.length>>1)+n+e+r+E.slice(T);break;default:e=E+n+e+r}return a(e)}return w.toString=function(){return e+``},w}function u(e,t){var n=Math.max(-8,Math.min(8,Math.floor(kd(t)/3)))*3,r=10**-n,i=l((e=Nd(e),e.type=`f`,e),{suffix:Hd[8+n/3]});return function(e){return i(r*e)}}return{format:l,formatPrefix:u}}var Wd,Gd,Kd;qd({thousands:`,`,grouping:[3],currency:[`$`,``]});function qd(e){return Wd=Ud(e),Gd=Wd.format,Kd=Wd.formatPrefix,Wd}function Jd(e){return Math.max(0,-kd(Math.abs(e)))}function Yd(e,t){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(kd(t)/3)))*3-kd(Math.abs(e)))}function Xd(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,kd(t)-kd(e))+1}function Zd(e,t){switch(arguments.length){case 0:break;case 1:this.range(e);break;default:this.range(t).domain(e)}return this}var Qd=Symbol(`implicit`);function $d(){var e=new Ii,t=[],n=[],r=Qd;function i(i){let a=e.get(i);if(a===void 0){if(r!==Qd)return r;e.set(i,a=t.push(i)-1)}return n[a%n.length]}return i.domain=function(n){if(!arguments.length)return t.slice();t=[],e=new Ii;for(let r of n)e.has(r)||e.set(r,t.push(r)-1);return i},i.range=function(e){return arguments.length?(n=Array.from(e),i):n.slice()},i.unknown=function(e){return arguments.length?(r=e,i):r},i.copy=function(){return $d(t,n).unknown(r)},Zd.apply(i,arguments),i}function ef(){var e=$d().unknown(void 0),t=e.domain,n=e.range,r=0,i=1,a,o,s=!1,c=0,l=0,u=.5;delete e.unknown;function d(){var e=t().length,d=i<r,f=d?i:r,p=d?r:i;a=(p-f)/Math.max(1,e-c+l*2),s&&(a=Math.floor(a)),f+=(p-f-a*(e-c))*u,o=a*(1-c),s&&(f=Math.round(f),o=Math.round(o));var m=ra(e).map(function(e){return f+a*e});return n(d?m.reverse():m)}return e.domain=function(e){return arguments.length?(t(e),d()):t()},e.range=function(e){return arguments.length?([r,i]=e,r=+r,i=+i,d()):[r,i]},e.rangeRound=function(e){return[r,i]=e,r=+r,i=+i,s=!0,d()},e.bandwidth=function(){return o},e.step=function(){return a},e.round=function(e){return arguments.length?(s=!!e,d()):s},e.padding=function(e){return arguments.length?(c=Math.min(1,l=+e),d()):c},e.paddingInner=function(e){return arguments.length?(c=Math.min(1,e),d()):c},e.paddingOuter=function(e){return arguments.length?(l=+e,d()):l},e.align=function(e){return arguments.length?(u=Math.max(0,Math.min(1,e)),d()):u},e.copy=function(){return ef(t(),[r,i]).round(s).paddingInner(c).paddingOuter(l).align(u)},Zd.apply(d(),arguments)}function tf(e){var t=e.copy;return e.padding=e.paddingOuter,delete e.paddingInner,delete e.paddingOuter,e.copy=function(){return tf(t())},e}function nf(){return tf(ef.apply(null,arguments).paddingInner(1))}function rf(e){return function(){return e}}function af(e){return+e}var of=[0,1];function sf(e){return e}function cf(e,t){return(t-=e=+e)?function(n){return(n-e)/t}:rf(isNaN(t)?NaN:.5)}function lf(e,t){var n;return e>t&&(n=e,e=t,t=n),function(n){return Math.max(e,Math.min(t,n))}}function uf(e,t,n){var r=e[0],i=e[1],a=t[0],o=t[1];return i<r?(r=cf(i,r),a=n(o,a)):(r=cf(r,i),a=n(a,o)),function(e){return a(r(e))}}function df(e,t,n){var r=Math.min(e.length,t.length)-1,i=Array(r),a=Array(r),o=-1;for(e[r]<e[0]&&(e=e.slice().reverse(),t=t.slice().reverse());++o<r;)i[o]=cf(e[o],e[o+1]),a[o]=n(t[o],t[o+1]);return function(t){var n=Pi(e,t,1,r)-1;return a[n](i[n](t))}}function ff(e,t){return t.domain(e.domain()).range(e.range()).interpolate(e.interpolate()).clamp(e.clamp()).unknown(e.unknown())}function pf(){var e=of,t=of,n=Ac,r,i,a,o=sf,s,c,l;function u(){var n=Math.min(e.length,t.length);return o!==sf&&(o=lf(e[0],e[n-1])),s=n>2?df:uf,c=l=null,d}function d(i){return i==null||isNaN(i=+i)?a:(c||=s(e.map(r),t,n))(r(o(i)))}return d.invert=function(n){return o(i((l||=s(t,e.map(r),Cc))(n)))},d.domain=function(t){return arguments.length?(e=Array.from(t,af),u()):e.slice()},d.range=function(e){return arguments.length?(t=Array.from(e),u()):t.slice()},d.rangeRound=function(e){return t=Array.from(e),n=jc,u()},d.clamp=function(e){return arguments.length?(o=e?!0:sf,u()):o!==sf},d.interpolate=function(e){return arguments.length?(n=e,u()):n},d.unknown=function(e){return arguments.length?(a=e,d):a},function(e,t){return r=e,i=t,u()}}function mf(){return pf()(sf,sf)}function hf(e,t,n,r){var i=ea(e,t,n),a;switch(r=Nd(r??`,f`),r.type){case`s`:var o=Math.max(Math.abs(e),Math.abs(t));return r.precision==null&&!isNaN(a=Yd(i,o))&&(r.precision=a),Kd(r,o);case``:case`e`:case`g`:case`p`:case`r`:r.precision==null&&!isNaN(a=Xd(i,Math.max(Math.abs(e),Math.abs(t))))&&(r.precision=a-(r.type===`e`));break;case`f`:case`%`:r.precision==null&&!isNaN(a=Jd(i))&&(r.precision=a-(r.type===`%`)*2)}return Gd(r)}function gf(e){var t=e.domain;return e.ticks=function(e){var n=t();return Qi(n[0],n[n.length-1],e??10)},e.tickFormat=function(e,n){var r=t();return hf(r[0],r[r.length-1],e??10,n)},e.nice=function(n){n??=10;var r=t(),i=0,a=r.length-1,o=r[i],s=r[a],c,l,u=10;for(s<o&&(l=o,o=s,s=l,l=i,i=a,a=l);u-->0;){if(l=$i(o,s,n),l===c)return r[i]=o,r[a]=s,t(r);if(l>0)o=Math.floor(o/l)*l,s=Math.ceil(s/l)*l;else if(l<0)o=Math.ceil(o*l)/l,s=Math.floor(s*l)/l;else break;c=l}return e},e}function _f(){var e=mf();return e.copy=function(){return ff(e,_f())},Zd.apply(e,arguments),gf(e)}function vf(e,t){e=e.slice();var n=0,r=e.length-1,i=e[n],a=e[r],o;return a<i&&(o=n,n=r,r=o,o=i,i=a,a=o),e[n]=t.floor(i),e[r]=t.ceil(a),e}function yf(e){return Math.log(e)}function bf(e){return Math.exp(e)}function xf(e){return-Math.log(-e)}function Sf(e){return-Math.exp(-e)}function Cf(e){return isFinite(e)?+(`1e`+e):e<0?0:e}function wf(e){return e===10?Cf:e===Math.E?Math.exp:t=>e**+t}function Tf(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 Ef(e){return(t,n)=>-e(-t,n)}function Df(e){let t=e(yf,bf),n=t.domain,r=10,i,a;function o(){return i=Tf(r),a=wf(r),n()[0]<0?(i=Ef(i),a=Ef(a),e(xf,Sf)):e(yf,bf),t}return t.base=function(e){return arguments.length?(r=+e,o()):r},t.domain=function(e){return arguments.length?(n(e),o()):n()},t.ticks=e=>{let t=n(),o=t[0],s=t[t.length-1],c=s<o;c&&([o,s]=[s,o]);let l=i(o),u=i(s),d,f,p=e==null?10:+e,m=[];if(!(r%1)&&u-l<p){if(l=Math.floor(l),u=Math.ceil(u),o>0){for(;l<=u;++l)for(d=1;d<r;++d)if(f=l<0?d/a(-l):d*a(l),!(f<o)){if(f>s)break;m.push(f)}}else for(;l<=u;++l)for(d=r-1;d>=1;--d)if(f=l>0?d/a(-l):d*a(l),!(f<o)){if(f>s)break;m.push(f)}m.length*2<p&&(m=Qi(o,s,p))}else m=Qi(l,u,Math.min(u-l,p)).map(a);return c?m.reverse():m},t.tickFormat=(e,n)=>{if(e??=10,n??=r===10?`s`:`,`,typeof n!=`function`&&(!(r%1)&&(n=Nd(n)).precision==null&&(n.trim=!0),n=Gd(n)),e===1/0)return n;let o=Math.max(1,r*e/t.ticks().length);return e=>{let t=e/a(Math.round(i(e)));return t*r<r-.5&&(t*=r),t<=o?n(e):``}},t.nice=()=>n(vf(n(),{floor:e=>a(Math.floor(i(e))),ceil:e=>a(Math.ceil(i(e)))})),t}function Of(){let e=Df(pf()).domain([1,10]);return e.copy=()=>ff(e,Of()).base(e.base()),Zd.apply(e,arguments),e}function kf(e){return function(t){return Math.sign(t)*Math.log1p(Math.abs(t/e))}}function Af(e){return function(t){return Math.sign(t)*Math.expm1(Math.abs(t))*e}}function jf(e){var t=1,n=e(kf(t),Af(t));return n.constant=function(n){return arguments.length?e(kf(t=+n),Af(t)):t},gf(n)}function Mf(){var e=jf(pf());return e.copy=function(){return ff(e,Mf()).constant(e.constant())},Zd.apply(e,arguments)}function Nf(e){return function(t){return t<0?-((-t)**+e):t**+e}}function Pf(e){return e<0?-Math.sqrt(-e):Math.sqrt(e)}function Ff(e){return e<0?-e*e:e*e}function If(e){var t=e(sf,sf),n=1;function r(){return n===1?e(sf,sf):n===.5?e(Pf,Ff):e(Nf(n),Nf(1/n))}return t.exponent=function(e){return arguments.length?(n=+e,r()):n},gf(t)}function Lf(){var e=If(pf());return e.copy=function(){return ff(e,Lf()).exponent(e.exponent())},Zd.apply(e,arguments),e}function Rf(){return Lf.apply(null,arguments).exponent(.5)}var zf=new Date,Bf=new Date;function Vf(e,t,n,r){function i(t){return e(t=arguments.length===0?new Date:new Date(+t)),t}return i.floor=t=>(e(t=new Date(+t)),t),i.ceil=n=>(e(n=new Date(n-1)),t(n,1),e(n),n),i.round=e=>{let t=i(e),n=i.ceil(e);return e-t<n-e?t:n},i.offset=(e,n)=>(t(e=new Date(+e),n==null?1:Math.floor(n)),e),i.range=(n,r,a)=>{let o=[];if(n=i.ceil(n),a=a==null?1:Math.floor(a),!(n<r)||!(a>0))return o;let s;do o.push(s=new Date(+n)),t(n,a),e(n);while(s<n&&n<r);return o},i.filter=n=>Vf(t=>{if(t>=t)for(;e(t),!n(t);)t.setTime(t-1)},(e,r)=>{if(e>=e){if(r<0)for(;++r<=0;)for(;t(e,-1),!n(e););else for(;--r>=0;)for(;t(e,1),!n(e););}}),n&&(i.count=(t,r)=>(zf.setTime(+t),Bf.setTime(+r),e(zf),e(Bf),Math.floor(n(zf,Bf))),i.every=e=>(e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?i.filter(r?t=>r(t)%e===0:t=>i.count(0,t)%e===0):i)),i}var Hf=6e4,Uf=Hf*60*24,Wf=Uf*7;Uf*30,Uf*365;var Gf=Vf(e=>e.setHours(0,0,0,0),(e,t)=>e.setDate(e.getDate()+t),(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*Hf)/Uf,e=>e.getDate()-1);Gf.range;var Kf=Vf(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/Uf,e=>e.getUTCDate()-1);Kf.range,Vf(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/Uf,e=>Math.floor(e/Uf)).range;function qf(e){return Vf(t=>{t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)},(e,t)=>{e.setDate(e.getDate()+t*7)},(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*Hf)/Wf)}var Jf=qf(0),Yf=qf(1),Xf=qf(2),Zf=qf(3),Qf=qf(4),$f=qf(5),ep=qf(6);Jf.range,Yf.range,Xf.range,Zf.range,Qf.range,$f.range,ep.range;function tp(e){return Vf(t=>{t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t*7)},(e,t)=>(t-e)/Wf)}var np=tp(0),rp=tp(1),ip=tp(2),ap=tp(3),op=tp(4),sp=tp(5),cp=tp(6);np.range,rp.range,ip.range,ap.range,op.range,sp.range,cp.range;var lp=Vf(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());lp.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:Vf(t=>{t.setFullYear(Math.floor(t.getFullYear()/e)*e),t.setMonth(0,1),t.setHours(0,0,0,0)},(t,n)=>{t.setFullYear(t.getFullYear()+n*e)}),lp.range;var up=Vf(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());up.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:Vf(t=>{t.setUTCFullYear(Math.floor(t.getUTCFullYear()/e)*e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,n)=>{t.setUTCFullYear(t.getUTCFullYear()+n*e)}),up.range;function dp(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 fp(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 pp(e,t,n){return{y:e,m:t,d:n,H:0,M:0,S:0,L:0}}function mp(e){var t=e.dateTime,n=e.date,r=e.time,i=e.periods,a=e.days,o=e.shortDays,s=e.months,c=e.shortMonths,l=xp(i),u=Sp(i),d=xp(a),f=Sp(a),p=xp(o),m=Sp(o),h=xp(s),g=Sp(s),_=xp(c),v=Sp(c),y={a:N,A:P,b:F,B:I,c:null,d:Up,e:Up,f:Jp,g:am,G:sm,H:Wp,I:Gp,j:Kp,L:qp,m:Yp,M:Xp,p:L,q:R,Q:Am,s:jm,S:Zp,u:Qp,U:$p,V:tm,w:nm,W:rm,x:null,X:null,y:im,Y:om,Z:cm,"%":km},b={a:z,A:B,b:V,B:H,c:null,d:lm,e:lm,f:mm,g:Tm,G:Dm,H:um,I:dm,j:fm,L:pm,m:hm,M:gm,p:ee,q:te,Q:Am,s:jm,S:_m,u:vm,U:ym,V:xm,w:Sm,W:Cm,x:null,X:null,y:wm,Y:Em,Z:Om,"%":km},x={a:E,A:D,b:O,B:k,c:A,d:Np,e:Np,f:zp,g:kp,G:Op,H:Fp,I:Fp,j:Pp,L:Rp,m:Mp,M:Ip,p:T,q:jp,Q:Vp,s:Hp,S:Lp,u:wp,U:Tp,V:Ep,w:Cp,W:Dp,x:j,X:M,y:kp,Y:Op,Z:Ap,"%":Bp};y.x=S(n,y),y.X=S(r,y),y.c=S(t,y),b.x=S(n,b),b.X=S(r,b),b.c=S(t,b);function S(e,t){return function(n){var r=[],i=-1,a=0,o=e.length,s,c,l;for(n instanceof Date||(n=new Date(+n));++i<o;)e.charCodeAt(i)===37&&(r.push(e.slice(a,i)),(c=hp[s=e.charAt(++i)])==null?c=s===`e`?` `:`0`:s=e.charAt(++i),(l=t[s])&&(s=l(n,c)),r.push(s),a=i+1);return r.push(e.slice(a,i)),r.join(``)}}function C(e,t){return function(n){var r=pp(1900,void 0,1),i=w(r,e,n+=``,0),a,o;if(i!=n.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(t&&!(`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?(a=fp(pp(r.y,0,1)),o=a.getUTCDay(),a=o>4||o===0?rp.ceil(a):rp(a),a=Kf.offset(a,(r.V-1)*7),r.y=a.getUTCFullYear(),r.m=a.getUTCMonth(),r.d=a.getUTCDate()+(r.w+6)%7):(a=dp(pp(r.y,0,1)),o=a.getDay(),a=o>4||o===0?Yf.ceil(a):Yf(a),a=Gf.offset(a,(r.V-1)*7),r.y=a.getFullYear(),r.m=a.getMonth(),r.d=a.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)),o=`Z`in r?fp(pp(r.y,0,1)).getUTCDay():dp(pp(r.y,0,1)).getDay(),r.m=0,r.d=`W`in r?(r.w+6)%7+r.W*7-(o+5)%7:r.w+r.U*7-(o+6)%7);return`Z`in r?(r.H+=r.Z/100|0,r.M+=r.Z%100,fp(r)):dp(r)}}function w(e,t,n,r){for(var i=0,a=t.length,o=n.length,s,c;i<a;){if(r>=o)return-1;if(s=t.charCodeAt(i++),s===37){if(s=t.charAt(i++),c=x[s in hp?t.charAt(i++):s],!c||(r=c(e,n,r))<0)return-1}else if(s!=n.charCodeAt(r++))return-1}return r}function T(e,t,n){var r=l.exec(t.slice(n));return r?(e.p=u.get(r[0].toLowerCase()),n+r[0].length):-1}function E(e,t,n){var r=p.exec(t.slice(n));return r?(e.w=m.get(r[0].toLowerCase()),n+r[0].length):-1}function D(e,t,n){var r=d.exec(t.slice(n));return r?(e.w=f.get(r[0].toLowerCase()),n+r[0].length):-1}function O(e,t,n){var r=_.exec(t.slice(n));return r?(e.m=v.get(r[0].toLowerCase()),n+r[0].length):-1}function k(e,t,n){var r=h.exec(t.slice(n));return r?(e.m=g.get(r[0].toLowerCase()),n+r[0].length):-1}function A(e,n,r){return w(e,t,n,r)}function j(e,t,r){return w(e,n,t,r)}function M(e,t,n){return w(e,r,t,n)}function N(e){return o[e.getDay()]}function P(e){return a[e.getDay()]}function F(e){return c[e.getMonth()]}function I(e){return s[e.getMonth()]}function L(e){return i[+(e.getHours()>=12)]}function R(e){return 1+~~(e.getMonth()/3)}function z(e){return o[e.getUTCDay()]}function B(e){return a[e.getUTCDay()]}function V(e){return c[e.getUTCMonth()]}function H(e){return s[e.getUTCMonth()]}function ee(e){return i[+(e.getUTCHours()>=12)]}function te(e){return 1+~~(e.getUTCMonth()/3)}return{format:function(e){var t=S(e+=``,y);return t.toString=function(){return e},t},parse:function(e){var t=C(e+=``,!1);return t.toString=function(){return e},t},utcFormat:function(e){var t=S(e+=``,b);return t.toString=function(){return e},t},utcParse:function(e){var t=C(e+=``,!0);return t.toString=function(){return e},t}}}var hp={"-":``,_:` `,0:`0`},gp=/^\s*\d+/,_p=/^%/,vp=/[\\^$*+?|[\]().{}]/g;function yp(e,t,n){var r=e<0?`-`:``,i=(r?-e:e)+``,a=i.length;return r+(a<n?Array(n-a+1).join(t)+i:i)}function bp(e){return e.replace(vp,`\\$&`)}function xp(e){return RegExp(`^(?:`+e.map(bp).join(`|`)+`)`,`i`)}function Sp(e){return new Map(e.map((e,t)=>[e.toLowerCase(),t]))}function Cp(e,t,n){var r=gp.exec(t.slice(n,n+1));return r?(e.w=+r[0],n+r[0].length):-1}function wp(e,t,n){var r=gp.exec(t.slice(n,n+1));return r?(e.u=+r[0],n+r[0].length):-1}function Tp(e,t,n){var r=gp.exec(t.slice(n,n+2));return r?(e.U=+r[0],n+r[0].length):-1}function Ep(e,t,n){var r=gp.exec(t.slice(n,n+2));return r?(e.V=+r[0],n+r[0].length):-1}function Dp(e,t,n){var r=gp.exec(t.slice(n,n+2));return r?(e.W=+r[0],n+r[0].length):-1}function Op(e,t,n){var r=gp.exec(t.slice(n,n+4));return r?(e.y=+r[0],n+r[0].length):-1}function kp(e,t,n){var r=gp.exec(t.slice(n,n+2));return r?(e.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function Ap(e,t,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(t.slice(n,n+6));return r?(e.Z=r[1]?0:-(r[2]+(r[3]||`00`)),n+r[0].length):-1}function jp(e,t,n){var r=gp.exec(t.slice(n,n+1));return r?(e.q=r[0]*3-3,n+r[0].length):-1}function Mp(e,t,n){var r=gp.exec(t.slice(n,n+2));return r?(e.m=r[0]-1,n+r[0].length):-1}function Np(e,t,n){var r=gp.exec(t.slice(n,n+2));return r?(e.d=+r[0],n+r[0].length):-1}function Pp(e,t,n){var r=gp.exec(t.slice(n,n+3));return r?(e.m=0,e.d=+r[0],n+r[0].length):-1}function Fp(e,t,n){var r=gp.exec(t.slice(n,n+2));return r?(e.H=+r[0],n+r[0].length):-1}function Ip(e,t,n){var r=gp.exec(t.slice(n,n+2));return r?(e.M=+r[0],n+r[0].length):-1}function Lp(e,t,n){var r=gp.exec(t.slice(n,n+2));return r?(e.S=+r[0],n+r[0].length):-1}function Rp(e,t,n){var r=gp.exec(t.slice(n,n+3));return r?(e.L=+r[0],n+r[0].length):-1}function zp(e,t,n){var r=gp.exec(t.slice(n,n+6));return r?(e.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function Bp(e,t,n){var r=_p.exec(t.slice(n,n+1));return r?n+r[0].length:-1}function Vp(e,t,n){var r=gp.exec(t.slice(n));return r?(e.Q=+r[0],n+r[0].length):-1}function Hp(e,t,n){var r=gp.exec(t.slice(n));return r?(e.s=+r[0],n+r[0].length):-1}function Up(e,t){return yp(e.getDate(),t,2)}function Wp(e,t){return yp(e.getHours(),t,2)}function Gp(e,t){return yp(e.getHours()%12||12,t,2)}function Kp(e,t){return yp(1+Gf.count(lp(e),e),t,3)}function qp(e,t){return yp(e.getMilliseconds(),t,3)}function Jp(e,t){return qp(e,t)+`000`}function Yp(e,t){return yp(e.getMonth()+1,t,2)}function Xp(e,t){return yp(e.getMinutes(),t,2)}function Zp(e,t){return yp(e.getSeconds(),t,2)}function Qp(e){var t=e.getDay();return t===0?7:t}function $p(e,t){return yp(Jf.count(lp(e)-1,e),t,2)}function em(e){var t=e.getDay();return t>=4||t===0?Qf(e):Qf.ceil(e)}function tm(e,t){return e=em(e),yp(Qf.count(lp(e),e)+(lp(e).getDay()===4),t,2)}function nm(e){return e.getDay()}function rm(e,t){return yp(Yf.count(lp(e)-1,e),t,2)}function im(e,t){return yp(e.getFullYear()%100,t,2)}function am(e,t){return e=em(e),yp(e.getFullYear()%100,t,2)}function om(e,t){return yp(e.getFullYear()%1e4,t,4)}function sm(e,t){var n=e.getDay();return e=n>=4||n===0?Qf(e):Qf.ceil(e),yp(e.getFullYear()%1e4,t,4)}function cm(e){var t=e.getTimezoneOffset();return(t>0?`-`:(t*=-1,`+`))+yp(t/60|0,`0`,2)+yp(t%60,`0`,2)}function lm(e,t){return yp(e.getUTCDate(),t,2)}function um(e,t){return yp(e.getUTCHours(),t,2)}function dm(e,t){return yp(e.getUTCHours()%12||12,t,2)}function fm(e,t){return yp(1+Kf.count(up(e),e),t,3)}function pm(e,t){return yp(e.getUTCMilliseconds(),t,3)}function mm(e,t){return pm(e,t)+`000`}function hm(e,t){return yp(e.getUTCMonth()+1,t,2)}function gm(e,t){return yp(e.getUTCMinutes(),t,2)}function _m(e,t){return yp(e.getUTCSeconds(),t,2)}function vm(e){var t=e.getUTCDay();return t===0?7:t}function ym(e,t){return yp(np.count(up(e)-1,e),t,2)}function bm(e){var t=e.getUTCDay();return t>=4||t===0?op(e):op.ceil(e)}function xm(e,t){return e=bm(e),yp(op.count(up(e),e)+(up(e).getUTCDay()===4),t,2)}function Sm(e){return e.getUTCDay()}function Cm(e,t){return yp(rp.count(up(e)-1,e),t,2)}function wm(e,t){return yp(e.getUTCFullYear()%100,t,2)}function Tm(e,t){return e=bm(e),yp(e.getUTCFullYear()%100,t,2)}function Em(e,t){return yp(e.getUTCFullYear()%1e4,t,4)}function Dm(e,t){var n=e.getUTCDay();return e=n>=4||n===0?op(e):op.ceil(e),yp(e.getUTCFullYear()%1e4,t,4)}function Om(){return`+0000`}function km(){return`%`}function Am(e){return+e}function jm(e){return Math.floor(e/1e3)}var Mm,Nm;Pm({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 Pm(e){return Mm=mp(e),Nm=Mm.format,Mm.parse,Mm.utcFormat,Mm.utcParse,Mm}function Fm(e){return function(){return e}}var Im=Math.abs,Lm=Math.atan2,Rm=Math.cos,zm=Math.max,Bm=Math.min,Vm=Math.sin,Hm=Math.sqrt,Um=Math.PI,Wm=Um/2,Gm=2*Um;function Km(e){return e>1?0:e<-1?Um:Math.acos(e)}function qm(e){return e>=1?Wm:e<=-1?-Wm:Math.asin(e)}function Jm(e){let t=3;return e.digits=function(n){if(!arguments.length)return t;if(n==null)t=null;else{let e=Math.floor(n);if(!(e>=0))throw RangeError(`invalid digits: ${n}`);t=e}return e},()=>new Bu(t)}function Ym(e){return e.innerRadius}function Xm(e){return e.outerRadius}function Zm(e){return e.startAngle}function Qm(e){return e.endAngle}function $m(e){return e&&e.padAngle}function eh(e,t,n,r,i,a,o,s){var c=n-e,l=r-t,u=o-i,d=s-a,f=d*c-u*l;if(!(f*f<1e-12))return f=(u*(t-a)-d*(e-i))/f,[e+f*c,t+f*l]}function th(e,t,n,r,i,a,o){var s=e-n,c=t-r,l=(o?a:-a)/Hm(s*s+c*c),u=l*c,d=-l*s,f=e+u,p=t+d,m=n+u,h=r+d,g=(f+m)/2,_=(p+h)/2,v=m-f,y=h-p,b=v*v+y*y,x=i-a,S=f*h-m*p,C=(y<0?-1:1)*Hm(zm(0,x*x*b-S*S)),w=(S*y-v*C)/b,T=(-S*v-y*C)/b,E=(S*y+v*C)/b,D=(-S*v+y*C)/b,O=w-g,k=T-_,A=E-g,j=D-_;return O*O+k*k>A*A+j*j&&(w=E,T=D),{cx:w,cy:T,x01:-u,y01:-d,x11:w*(i/x-1),y11:T*(i/x-1)}}function nh(){var e=Ym,t=Xm,n=Fm(0),r=null,i=Zm,a=Qm,o=$m,s=null,c=Jm(l);function l(){var l,u,d=+e.apply(this,arguments),f=+t.apply(this,arguments),p=i.apply(this,arguments)-Wm,m=a.apply(this,arguments)-Wm,h=Im(m-p),g=m>p;if(s||=l=c(),f<d&&(u=f,f=d,d=u),!(f>1e-12))s.moveTo(0,0);else if(h>Gm-1e-12)s.moveTo(f*Rm(p),f*Vm(p)),s.arc(0,0,f,p,m,!g),d>1e-12&&(s.moveTo(d*Rm(m),d*Vm(m)),s.arc(0,0,d,m,p,g));else{var _=p,v=m,y=p,b=m,x=h,S=h,C=o.apply(this,arguments)/2,w=C>1e-12&&(r?+r.apply(this,arguments):Hm(d*d+f*f)),T=Bm(Im(f-d)/2,+n.apply(this,arguments)),E=T,D=T,O,k;if(w>1e-12){var A=qm(w/d*Vm(C)),j=qm(w/f*Vm(C));(x-=A*2)>1e-12?(A*=g?1:-1,y+=A,b-=A):(x=0,y=b=(p+m)/2),(S-=j*2)>1e-12?(j*=g?1:-1,_+=j,v-=j):(S=0,_=v=(p+m)/2)}var M=f*Rm(_),N=f*Vm(_),P=d*Rm(b),F=d*Vm(b);if(T>1e-12){var I=f*Rm(v),L=f*Vm(v),R=d*Rm(y),z=d*Vm(y),B;if(h<Um){if(B=eh(M,N,R,z,I,L,P,F)){var V=M-B[0],H=N-B[1],ee=I-B[0],te=L-B[1],ne=1/Vm(Km((V*ee+H*te)/(Hm(V*V+H*H)*Hm(ee*ee+te*te)))/2),re=Hm(B[0]*B[0]+B[1]*B[1]);E=Bm(T,(d-re)/(ne-1)),D=Bm(T,(f-re)/(ne+1))}else E=D=0}}S>1e-12?D>1e-12?(O=th(R,z,M,N,f,D,g),k=th(I,L,P,F,f,D,g),s.moveTo(O.cx+O.x01,O.cy+O.y01),D<T?s.arc(O.cx,O.cy,D,Lm(O.y01,O.x01),Lm(k.y01,k.x01),!g):(s.arc(O.cx,O.cy,D,Lm(O.y01,O.x01),Lm(O.y11,O.x11),!g),s.arc(0,0,f,Lm(O.cy+O.y11,O.cx+O.x11),Lm(k.cy+k.y11,k.cx+k.x11),!g),s.arc(k.cx,k.cy,D,Lm(k.y11,k.x11),Lm(k.y01,k.x01),!g))):(s.moveTo(M,N),s.arc(0,0,f,_,v,!g)):s.moveTo(M,N),!(d>1e-12)||!(x>1e-12)?s.lineTo(P,F):E>1e-12?(O=th(P,F,I,L,d,-E,g),k=th(M,N,R,z,d,-E,g),s.lineTo(O.cx+O.x01,O.cy+O.y01),E<T?s.arc(O.cx,O.cy,E,Lm(O.y01,O.x01),Lm(k.y01,k.x01),!g):(s.arc(O.cx,O.cy,E,Lm(O.y01,O.x01),Lm(O.y11,O.x11),!g),s.arc(0,0,d,Lm(O.cy+O.y11,O.cx+O.x11),Lm(k.cy+k.y11,k.cx+k.x11),g),s.arc(k.cx,k.cy,E,Lm(k.y11,k.x11),Lm(k.y01,k.x01),!g))):s.arc(0,0,d,b,y,g)}if(s.closePath(),l)return s=null,l+``||null}return l.centroid=function(){var n=(+e.apply(this,arguments)+ +t.apply(this,arguments))/2,r=(+i.apply(this,arguments)+ +a.apply(this,arguments))/2-Um/2;return[Rm(r)*n,Vm(r)*n]},l.innerRadius=function(t){return arguments.length?(e=typeof t==`function`?t:Fm(+t),l):e},l.outerRadius=function(e){return arguments.length?(t=typeof e==`function`?e:Fm(+e),l):t},l.cornerRadius=function(e){return arguments.length?(n=typeof e==`function`?e:Fm(+e),l):n},l.padRadius=function(e){return arguments.length?(r=e==null?null:typeof e==`function`?e:Fm(+e),l):r},l.startAngle=function(e){return arguments.length?(i=typeof e==`function`?e:Fm(+e),l):i},l.endAngle=function(e){return arguments.length?(a=typeof e==`function`?e:Fm(+e),l):a},l.padAngle=function(e){return arguments.length?(o=typeof e==`function`?e:Fm(+e),l):o},l.context=function(e){return arguments.length?(s=e??null,l):s},l}Array.prototype.slice;function rh(e){return typeof e==`object`&&`length`in e?e:Array.from(e)}function ih(e){this._context=e}ih.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)}}};function ah(e){return new ih(e)}function oh(e){return e[0]}function sh(e){return e[1]}function ch(e,t){var n=Fm(!0),r=null,i=ah,a=null,o=Jm(s);e=typeof e==`function`?e:e===void 0?oh:Fm(e),t=typeof t==`function`?t:t===void 0?sh:Fm(t);function s(s){var c,l=(s=rh(s)).length,u,d=!1,f;for(r??(a=i(f=o())),c=0;c<=l;++c)!(c<l&&n(u=s[c],c,s))===d&&((d=!d)?a.lineStart():a.lineEnd()),d&&a.point(+e(u,c,s),+t(u,c,s));if(f)return a=null,f+``||null}return s.x=function(t){return arguments.length?(e=typeof t==`function`?t:Fm(+t),s):e},s.y=function(e){return arguments.length?(t=typeof e==`function`?e:Fm(+e),s):t},s.defined=function(e){return arguments.length?(n=typeof e==`function`?e:Fm(!!e),s):n},s.curve=function(e){return arguments.length?(i=e,r!=null&&(a=i(r)),s):i},s.context=function(e){return arguments.length?(e==null?r=a=null:a=i(r=e),s):r},s}function lh(e,t,n){var r=null,i=Fm(!0),a=null,o=ah,s=null,c=Jm(l);e=typeof e==`function`?e:e===void 0?oh:Fm(+e),t=typeof t==`function`?t:Fm(t===void 0?0:+t),n=typeof n==`function`?n:n===void 0?sh:Fm(+n);function l(l){var u,d,f,p=(l=rh(l)).length,m,h=!1,g,_=Array(p),v=Array(p);for(a??(s=o(g=c())),u=0;u<=p;++u){if(!(u<p&&i(m=l[u],u,l))===h){if(h=!h)d=u,s.areaStart(),s.lineStart();else{for(s.lineEnd(),s.lineStart(),f=u-1;f>=d;--f)s.point(_[f],v[f]);s.lineEnd(),s.areaEnd()}}h&&(_[u]=+e(m,u,l),v[u]=+t(m,u,l),s.point(r?+r(m,u,l):_[u],n?+n(m,u,l):v[u]))}if(g)return s=null,g+``||null}function u(){return ch().defined(i).curve(o).context(a)}return l.x=function(t){return arguments.length?(e=typeof t==`function`?t:Fm(+t),r=null,l):e},l.x0=function(t){return arguments.length?(e=typeof t==`function`?t:Fm(+t),l):e},l.x1=function(e){return arguments.length?(r=e==null?null:typeof e==`function`?e:Fm(+e),l):r},l.y=function(e){return arguments.length?(t=typeof e==`function`?e:Fm(+e),n=null,l):t},l.y0=function(e){return arguments.length?(t=typeof e==`function`?e:Fm(+e),l):t},l.y1=function(e){return arguments.length?(n=e==null?null:typeof e==`function`?e:Fm(+e),l):n},l.lineX0=l.lineY0=function(){return u().x(e).y(t)},l.lineY1=function(){return u().x(e).y(n)},l.lineX1=function(){return u().x(r).y(t)},l.defined=function(e){return arguments.length?(i=typeof e==`function`?e:Fm(!!e),l):i},l.curve=function(e){return arguments.length?(o=e,a!=null&&(s=o(a)),l):o},l.context=function(e){return arguments.length?(e==null?a=s=null:s=o(a=e),l):a},l}function uh(e,t){return t<e?-1:t>e?1:t>=e?0:NaN}function dh(e){return e}function fh(){var e=dh,t=uh,n=null,r=Fm(0),i=Fm(Gm),a=Fm(0);function o(o){var s,c=(o=rh(o)).length,l,u,d=0,f=Array(c),p=Array(c),m=+r.apply(this,arguments),h=Math.min(Gm,Math.max(-Gm,i.apply(this,arguments)-m)),g,_=Math.min(Math.abs(h)/c,a.apply(this,arguments)),v=_*(h<0?-1:1),y;for(s=0;s<c;++s)(y=p[f[s]=s]=+e(o[s],s,o))>0&&(d+=y);for(t==null?n!=null&&f.sort(function(e,t){return n(o[e],o[t])}):f.sort(function(e,n){return t(p[e],p[n])}),s=0,u=d?(h-c*v)/d:0;s<c;++s,m=g)l=f[s],y=p[l],g=m+(y>0?y*u:0)+v,p[l]={data:o[l],index:s,value:y,startAngle:m,endAngle:g,padAngle:_};return p}return o.value=function(t){return arguments.length?(e=typeof t==`function`?t:Fm(+t),o):e},o.sortValues=function(e){return arguments.length?(t=e,n=null,o):t},o.sort=function(e){return arguments.length?(n=e,t=null,o):n},o.startAngle=function(e){return arguments.length?(r=typeof e==`function`?e:Fm(+e),o):r},o.endAngle=function(e){return arguments.length?(i=typeof e==`function`?e:Fm(+e),o):i},o.padAngle=function(e){return arguments.length?(a=typeof e==`function`?e:Fm(+e),o):a},o}var ph={draw(e,t){let n=Hm(t/Um);e.moveTo(n,0),e.arc(0,0,n,0,Gm)}},mh={draw(e,t){let n=Hm(t/5)/2;e.moveTo(-3*n,-n),e.lineTo(-n,-n),e.lineTo(-n,-3*n),e.lineTo(n,-3*n),e.lineTo(n,-n),e.lineTo(3*n,-n),e.lineTo(3*n,n),e.lineTo(n,n),e.lineTo(n,3*n),e.lineTo(-n,3*n),e.lineTo(-n,n),e.lineTo(-3*n,n),e.closePath()}},hh=Hm(1/3),gh=hh*2,_h={draw(e,t){let n=Hm(t/gh),r=n*hh;e.moveTo(0,-n),e.lineTo(r,0),e.lineTo(0,n),e.lineTo(-r,0),e.closePath()}},vh={draw(e,t){let n=Hm(t),r=-n/2;e.rect(r,r,n,n)}},yh=.8908130915292852,bh=Vm(Um/10)/Vm(7*Um/10),xh=Vm(Gm/10)*bh,Sh=-Rm(Gm/10)*bh,Ch={draw(e,t){let n=Hm(t*yh),r=xh*n,i=Sh*n;e.moveTo(0,-n),e.lineTo(r,i);for(let t=1;t<5;++t){let a=Gm*t/5,o=Rm(a),s=Vm(a);e.lineTo(s*n,-o*n),e.lineTo(o*r-s*i,s*r+o*i)}e.closePath()}},wh=Hm(3),Th={draw(e,t){let n=-Hm(t/(wh*3));e.moveTo(0,n*2),e.lineTo(-wh*n,-n),e.lineTo(wh*n,-n),e.closePath()}},Eh=Hm(3),Dh={draw(e,t){let n=Hm(t)*.6824,r=n/2,i=n*Eh/2;e.moveTo(0,-n),e.lineTo(i,r),e.lineTo(-i,r),e.closePath()}};function Oh(e,t){let n=null,r=Jm(i);e=typeof e==`function`?e:Fm(e||ph),t=typeof t==`function`?t:Fm(t===void 0?64:+t);function i(){let i;if(n||=i=r(),e.apply(this,arguments).draw(n,+t.apply(this,arguments)),i)return n=null,i+``||null}return i.type=function(t){return arguments.length?(e=typeof t==`function`?t:Fm(t),i):e},i.size=function(e){return arguments.length?(t=typeof e==`function`?e:Fm(+e),i):t},i.context=function(e){return arguments.length?(n=e??null,i):n},i}function kh(e,t,n){e._context.bezierCurveTo((2*e._x0+e._x1)/3,(2*e._y0+e._y1)/3,(e._x0+2*e._x1)/3,(e._y0+2*e._y1)/3,(e._x0+4*e._x1+t)/6,(e._y0+4*e._y1+n)/6)}function Ah(e){this._context=e}Ah.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:kh(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1)}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:kh(this,e,t)}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function jh(e){return new Ah(e)}function Mh(e,t,n){e._context.bezierCurveTo(e._x1+e._k*(e._x2-e._x0),e._y1+e._k*(e._y2-e._y0),e._x2+e._k*(e._x1-t),e._y2+e._k*(e._y1-n),e._x2,e._y2)}function Nh(e,t){this._context=e,this._k=(1-t)/6}Nh.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:Mh(this,this._x1,this._y1)}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2,this._x1=e,this._y1=t;break;case 2:this._point=3;default:Mh(this,e,t)}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};var Ph=(function e(t){function n(e){return new Nh(e,t)}return n.tension=function(t){return e(+t)},n})(0);function Fh(e,t,n){var r=e._x1,i=e._y1,a=e._x2,o=e._y2;if(e._l01_a>1e-12){var s=2*e._l01_2a+3*e._l01_a*e._l12_a+e._l12_2a,c=3*e._l01_a*(e._l01_a+e._l12_a);r=(r*s-e._x0*e._l12_2a+e._x2*e._l01_2a)/c,i=(i*s-e._y0*e._l12_2a+e._y2*e._l01_2a)/c}if(e._l23_a>1e-12){var l=2*e._l23_2a+3*e._l23_a*e._l12_a+e._l12_2a,u=3*e._l23_a*(e._l23_a+e._l12_a);a=(a*l+e._x1*e._l23_2a-t*e._l12_2a)/u,o=(o*l+e._y1*e._l23_2a-n*e._l12_2a)/u}e._context.bezierCurveTo(r,i,a,o,e._x2,e._y2)}function Ih(e,t){this._context=e,this._alpha=t}Ih.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2)}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){if(e=+e,t=+t,this._point){var n=this._x2-e,r=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=(n*n+r*r)**+this._alpha)}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3;default:Fh(this,e,t)}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};var Lh=(function e(t){function n(e){return t?new Ih(e,t):new Nh(e,0)}return n.alpha=function(t){return e(+t)},n})(.5);function Rh(e){return e<0?-1:1}function zh(e,t,n){var r=e._x1-e._x0,i=t-e._x1,a=(e._y1-e._y0)/(r||i<0&&-0),o=(n-e._y1)/(i||r<0&&-0),s=(a*i+o*r)/(r+i);return(Rh(a)+Rh(o))*Math.min(Math.abs(a),Math.abs(o),.5*Math.abs(s))||0}function Bh(e,t){var n=e._x1-e._x0;return n?(3*(e._y1-e._y0)/n-t)/2:t}function Vh(e,t,n){var r=e._x0,i=e._y0,a=e._x1,o=e._y1,s=(a-r)/3;e._context.bezierCurveTo(r+s,i+s*t,a-s,o-s*n,a,o)}function Hh(e){this._context=e}Hh.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:Vh(this,this._t0,Bh(this,this._t0))}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){var n=NaN;if(e=+e,t=+t,e!==this._x1||t!==this._y1){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,Vh(this,Bh(this,n=zh(this,e,t)),n);break;default:Vh(this,this._t0,n=zh(this,e,t))}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=n}}},Object.create(Hh.prototype).point=function(e,t){Hh.prototype.point.call(this,t,e)};function Uh(e){return new Hh(e)}function Wh(e,t){this._context=e,this._t=t}Wh.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0<this._t&&this._t<1&&this._point===2&&this._context.lineTo(this._x,this._y),(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line>=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,t),this._context.lineTo(e,t);else{var n=this._x*(1-this._t)+e*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,t)}}this._x=e,this._y=t}};function Gh(e){return new Wh(e,.5)}function Kh(e){return new Wh(e,0)}function qh(e){return new Wh(e,1)}function Jh(e,t){if((o=e.length)>1)for(var n=1,r,i,a=e[t[0]],o,s=a.length;n<o;++n)for(i=a,a=e[t[n]],r=0;r<s;++r)a[r][1]+=a[r][0]=isNaN(i[r][1])?i[r][0]:i[r][1]}function Yh(e){for(var t=e.length,n=Array(t);--t>=0;)n[t]=t;return n}function Xh(e,t){return e[t]}function Zh(e){let t=[];return t.key=e,t}function Qh(){var e=Fm([]),t=Yh,n=Jh,r=Xh;function i(i){var a=Array.from(e.apply(this,arguments),Zh),o,s=a.length,c=-1,l;for(let e of i)for(o=0,++c;o<s;++o)(a[o][c]=[0,+r(e,a[o].key,c,i)]).data=e;for(o=0,l=rh(t(a));o<s;++o)a[l[o]].index=o;return n(a,l),a}return i.keys=function(t){return arguments.length?(e=typeof t==`function`?t:Fm(Array.from(t)),i):e},i.value=function(e){return arguments.length?(r=typeof e==`function`?e:Fm(+e),i):r},i.order=function(e){return arguments.length?(t=e==null?Yh:typeof e==`function`?e:Fm(Array.from(e)),i):t},i.offset=function(e){return arguments.length?(n=e??Jh,i):n},i}function $h(e,t){if((c=e.length)>0)for(var n,r=0,i,a,o,s,c,l=e[t[0]].length;r<l;++r)for(o=s=0,n=0;n<c;++n)(a=(i=e[t[n]][r])[1]-i[0])>0?(i[0]=o,i[1]=o+=a):a<0?(i[1]=s,i[0]=s+=a):(i[0]=0,i[1]=a)}function eg(e,t,n){this.k=e,this.x=t,this.y=n}eg.prototype={constructor:eg,scale:function(e){return e===1?this:new eg(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new eg(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 tg=new eg(1,0,0);ng.prototype=eg.prototype;function ng(e){for(;!e.__zoom;)if(!(e=e.parentNode))return tg;return e.__zoom}function rg(e,t){if(!e)throw Error(`[d3-blueprint] ${t}`)}var ig=class{properties=new Map;define(e,t){rg(!this.properties.has(e),`config "${e}" is already defined`);let{defaultValue:n,getter:r,setter:i}=t,a=i?i(n):n;return this.properties.set(e,{value:a,getter:r,setter:i}),this}get(e){let{value:t,getter:n}=this.getProperty(e);return n?n(t):t}set(e,t){let n=this.getProperty(e);return n.value=n.setter?n.setter(t):t,this}setBatch(e){for(let[t,n]of Object.entries(e))this.set(t,n);return this}getAll(){let e={};for(let[t]of this.properties)e[t]=this.get(t);return e}has(e){return this.properties.has(e)}getProperty(e){let t=this.properties.get(e);return rg(t,`config "${e}" is not defined`),t}},ag=[`update`,`enter`,`merge`,`exit`],og=new Set([...ag,...ag.map(e=>`${e}:transition`)]);function sg(e){return og.has(e)}function cg(e){rg(sg(e),`"${e}" is not a valid lifecycle event. Expected one of: ${[...og].join(`, `)}`)}function lg(e,t,n){let r=e.exit(),i={update:e,enter:t,merge:t.merge(e),exit:r};return ag.map(e=>({name:e,selection:i[e],handlers:n.get(e)??[],transitionHandlers:n.get(`${e}:transition`)??[]}))}function ug(e,t){for(let n of t)n(e)}function dg(e,t){return t.map(t=>{let n=e.transition();return t(n),fg(n)})}function fg(e){return e.end().then(()=>void 0,()=>void 0)}var pg=class{base;dataBindFn;insertFn;handlers=new Map;constructor(e,t){if(this.base=e,this.dataBindFn=t.dataBind,this.insertFn=t.insert,t.events)for(let[e,n]of Object.entries(t.events))n&&this.on(e,n)}on(e,t){cg(e);let n=this.handlers.get(e)??[];return n.push(t),this.handlers.set(e,n),this}off(e,t){if(cg(e),!t)return this.handlers.delete(e),this;let n=this.handlers.get(e);if(n){let e=n.indexOf(t);e!==-1&&n.splice(e,1)}return this}draw(e){let t=this.dataBindFn(this.base,e),n=t.enter(),r=lg(t,this.insertFn(n),this.handlers),i=[];for(let e of r){ug(e.selection,e.handlers);let t=dg(e.selection,e.transitionHandlers);i.push(...t)}return Promise.all(i).then(()=>void 0)}};function mg(e,t,n,r){if(n&&r){let i=new pg(n,r);return e.set(t,i),i}let i=e.get(t);if(!i)throw Error(`[d3-blueprint] layer "${t}" is not defined`);return i}function hg(e,t,n,r){return typeof n==`string`&&r===void 0?e.get(n):typeof n==`string`?(e.set(n,r),t):(e.setBatch(n),t)}function gg(e,t){let n=[];for(let r of e.values())n.push(r.draw(t));return n}function _g(e,t){let n=[];for(let r of e.values()){let e=r.draw(t);e&&n.push(e)}return n}var vg=[`preDraw`,`postDraw`,`postTransition`],yg=class{base;layers=new Map;attachments=new Map;configs=new ig;dispatcher;attached=new Proxy({},{get:(e,t)=>{let n=this.attachments.get(t);if(!n)throw Error(`[d3-blueprint] attachment "${t}" is not defined`);return n},has:(e,t)=>this.attachments.has(t)});constructor(e){this.base=e,this.dispatcher=Sa(...vg),this.initialize()}initialize(){}transform(e){return e}preDraw(e){}postDraw(e){}postTransition(e){}layer(e,t,n){return mg(this.layers,e,t,n)}attach(e,t,n){if(n!==void 0){let r=t;this.attachments.set(e,new r(n))}else this.attachments.set(e,t);return this}config(e,t){return hg(this.configs,this,e,t)}configDefine(e,t){return this.configs.define(e,t),this}on(e,t){return this.dispatcher.on(e,t),this}off(e){return this.dispatcher.on(e,null),this}use(e,t){let n=t||e.name||`plugin`;if(e.install(this),e.preDraw&&this.on(`preDraw.${n}`,t=>e.preDraw(this,t)),e.postDraw&&this.on(`postDraw.${n}`,t=>e.postDraw(this,t)),e.postTransition&&this.on(`postTransition.${n}`,t=>e.postTransition(this,t)),e.destroy){let t=this.destroy.bind(this);this.destroy=()=>{e.destroy(this),t()}}return this}async draw(e){let t=this.transform(e);this.preDraw(t),this.dispatcher.call(`preDraw`,this,t);let n=gg(this.layers,t),r=_g(this.attachments,t);this.postDraw(t),this.dispatcher.call(`postDraw`,this,t),await Promise.all([...n,...r]),this.postTransition(t),this.dispatcher.call(`postTransition`,this,t)}destroy(){this.layers.clear(),this.attachments.clear()}},bg=class extends yg{initialize(){let e=this.base.append(`div`).attr(`class`,`bc-frame`),t=e.append(`div`).attr(`class`,`bc-frame-header`);e.append(`div`).attr(`class`,`bc-frame-body`),e.append(`p`).attr(`class`,`bc-frame-note`);let n=e.append(`div`).attr(`class`,`bc-frame-footer`).style(`display`,`flex`).style(`justify-content`,`space-between`).style(`align-items`,`center`).style(`flex-wrap`,`wrap`).style(`gap`,`0.25rem 1rem`),r=n.append(`div`).attr(`class`,`bc-frame-footer-left`).style(`display`,`flex`).style(`flex-wrap`,`wrap`).style(`gap`,`0.25rem 0.75rem`),i=n.append(`div`).attr(`class`,`bc-frame-footer-right`).style(`display`,`flex`).style(`align-items`,`center`);this.layer(`headerItems`,t,{dataBind:(e,t)=>e.selectAll(`.bc-frame-header-item`).data(t.headerItems,e=>e.className),insert:e=>e.append(e=>document.createElement(e.tag)),events:{enter:e=>{e.attr(`class`,e=>e.className).text(e=>e.text)},merge:e=>{e.attr(`class`,e=>e.className).text(e=>e.text)},exit:e=>{e.remove()}}}),this.layer(`footerLeftItems`,r,{dataBind:(e,t)=>e.selectAll(`.bc-frame-footer-item`).data(t.footerLeftItems,e=>e.className),insert:e=>e.append(e=>document.createElement(e.tag)),events:{enter:e=>{e.attr(`class`,e=>e.className).each(function(e){if(this.textContent=``,e.prefix){let t=document.createElement(`span`);t.className=`bc-frame-source-prefix`,t.textContent=e.prefix,this.appendChild(t)}if(e.href){let t=document.createElement(`a`);t.className=`bc-frame-source-link`,t.href=e.href,t.textContent=e.text,this.appendChild(t)}else this.appendChild(document.createTextNode(e.text))})},merge:e=>{e.attr(`class`,e=>e.className).each(function(e){if(this.textContent=``,e.prefix){let t=document.createElement(`span`);t.className=`bc-frame-source-prefix`,t.textContent=e.prefix,this.appendChild(t)}if(e.href){let t=document.createElement(`a`);t.className=`bc-frame-source-link`,t.href=e.href,t.textContent=e.text,this.appendChild(t)}else this.appendChild(document.createTextNode(e.text))})},exit:e=>{e.remove()}}}),this.layer(`footerRightItems`,i,{dataBind:(e,t)=>e.selectAll(`.bc-frame-footer-item`).data(t.footerRightItems,e=>e.className),insert:e=>e.append(e=>document.createElement(e.tag)),events:{enter:e=>{e.attr(`class`,e=>e.className).each(function(e){if(e.html){let t=document.createRange().createContextualFragment(e.html);this.appendChild(t)}else this.textContent=e.text}),e.filter(e=>!!e.href).attr(`href`,e=>e.href),e.filter(e=>!!e.target).attr(`target`,e=>e.target),e.filter(e=>!!e.rel).attr(`rel`,e=>e.rel)},merge:e=>{e.attr(`class`,e=>e.className).each(function(e){if(this.textContent=``,e.html){let t=document.createRange().createContextualFragment(e.html);this.appendChild(t)}else this.textContent=e.text}),e.filter(e=>!!e.href).attr(`href`,e=>e.href),e.filter(e=>!!e.target).attr(`target`,e=>e.target),e.filter(e=>!!e.rel).attr(`rel`,e=>e.rel)},exit:e=>{e.remove()}}})}};function xg(e){let t=[];return e.title&&t.push({tag:`h3`,className:`bc-frame-title`,text:e.title}),e.description&&t.push({tag:`p`,className:`bc-frame-description`,text:e.description}),t}function Sg(e){let t=[];return e.byline&&t.push({tag:`span`,className:`bc-frame-byline`,text:e.byline}),e.source&&t.push({tag:`span`,className:`bc-frame-source`,text:e.source,prefix:`Source: `,href:e.sourceUrl||void 0}),t}function Cg(){return[{tag:`a`,className:`bc-frame-credit`,text:`Blueprint Chart`,html:`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48.042969 90.607422" width="10" height="18" style="vertical-align:-3px;margin-right:3px"><path fill="currentColor" opacity="0.55" d="M 20.042969 34.607422 A 28 28 0 0 1 23.072266 34.779297 A 28 28 0 0 0 20.042969 34.607422 z M 23.34375 34.810547 A 28 28 0 0 1 26.171875 35.292969 A 28 28 0 0 0 23.34375 34.810547 z M 16.570312 34.84375 A 28 28 0 0 0 15.474609 35.033203 A 28 28 0 0 1 16.570312 34.84375 z M 26.390625 35.341797 A 28 28 0 0 1 29.316406 36.189453 A 28 28 0 0 0 26.390625 35.341797 z M 13.128906 35.511719 A 28 28 0 0 0 11.904297 35.873047 A 28 28 0 0 1 13.128906 35.511719 z M 29.373047 36.210938 A 28 28 0 0 1 32.103516 37.347656 A 28 28 0 0 0 29.373047 36.210938 z M 9.7832031 36.609375 A 28 28 0 0 0 8.5820312 37.117188 A 28 28 0 0 1 9.7832031 36.609375 z M 32.392578 37.486328 A 28 28 0 0 1 34.939453 38.90625 A 28 28 0 0 0 32.392578 37.486328 z M 6.5742188 38.128906 A 28 28 0 0 0 5.4511719 38.765625 A 28 28 0 0 1 6.5742188 38.128906 z M 35.041016 38.966797 A 28 28 0 0 1 37.523438 40.738281 A 28 28 0 0 0 35.041016 38.966797 z M 3.5273438 40.080078 A 28 28 0 0 0 2.5761719 40.771484 A 28 28 0 0 1 3.5273438 40.080078 z M 37.658203 40.851562 A 28 28 0 0 1 39.804688 42.783203 A 28 28 0 0 0 37.658203 40.851562 z M 40.011719 42.990234 A 28 28 0 0 1 42.013672 45.251953 A 28 28 0 0 0 40.011719 42.990234 z M 42.013672 45.251953 A 28 28 0 0 1 20.042969 56 A 28 28 0 0 1 14.232422 55.3125 A 16 16 0 0 1 16 62.607422 A 16 16 0 0 1 0 78.607422 L 0 82.121094 A 28 28 0 0 0 20.042969 90.607422 A 28 28 0 0 0 48.042969 62.607422 A 28 28 0 0 0 42.013672 45.251953 z M 1.3007812 46.667969 A 16 16 0 0 1 1.6191406 46.697266 A 16 16 0 0 0 1.3007812 46.667969 z M 4.2558594 47.189453 A 16 16 0 0 1 4.4355469 47.242188 A 16 16 0 0 0 4.2558594 47.189453 z "/><path fill="currentColor" opacity="0.85" d="M 6.0637516 38.376047 A 28 28 0 0 1 20.042969 34.615234 A 28 28 0 0 1 42.013672 45.259765 A 28 28 0 0 0 48.042969 28.007812 A 28 28 0 0 0 20.042969 0.0078125 A 28 28 0 0 0 0 8.4941407 L 0 16.007812 A 12 12 0 0 1 12 28.007812 A 12 12 0 0 1 6.0613693 38.364443 "/><path fill="currentColor" d="M 20.042969 34.607422 A 28 28 0 0 0 5.0878906 38.970703 A 28 28 0 0 1 6.0644531 38.376953 L 6.0605469 38.365234 A 12 12 0 0 1 0 40.007812 L 0 43.09375 L 0 43.101562 L 0 46.607422 A 16 16 0 0 1 2.8847656 46.873047 A 16 16 0 0 1 2.9199219 46.878906 A 16 16 0 0 1 5.7011719 47.662109 A 16 16 0 0 1 5.7324219 47.673828 A 16 16 0 0 1 8.3300781 48.955078 A 16 16 0 0 1 8.3398438 48.958984 A 16 16 0 0 1 8.3457031 48.962891 A 16 16 0 0 1 10.662109 50.6875 A 16 16 0 0 1 10.697266 50.71875 A 16 16 0 0 1 12.660156 52.837891 A 16 16 0 0 1 12.667969 52.845703 A 16 16 0 0 1 12.673828 52.855469 A 16 16 0 0 1 14.228516 55.306641 A 16 16 0 0 1 14.232422 55.3125 A 28 28 0 0 0 20.042969 56 A 28 28 0 0 0 42.013672 45.251953 A 28 28 0 0 0 20.042969 34.607422 z M 4.7695312 39.177734 A 28 28 0 0 0 2.5390625 40.798828 A 28 28 0 0 1 4.7695312 39.177734 z M 2.1816406 41.091797 A 28 28 0 0 0 0.11914062 42.984375 A 28 28 0 0 1 2.1816406 41.091797 z "/></svg>Blueprint Chart`,href:`/`,target:`_blank`,rel:`noopener noreferrer`}]}var wg=80,Tg=`.bc-frame-title, .bc-frame-description`;function Eg(e){let t=getComputedStyle(e),n=parseFloat(t.lineHeight);return Number.isFinite(n)?n:parseFloat(t.fontSize)*1.2}function Dg(e){e.querySelectorAll(Tg).forEach(e=>{e.style.removeProperty(`display`),e.style.removeProperty(`-webkit-box-orient`),e.style.removeProperty(`-webkit-line-clamp`),e.style.removeProperty(`overflow`)})}function Og(e,t){let n=[...e.querySelectorAll(Tg)],r=t-(e.offsetHeight-n.reduce((e,t)=>e+t.offsetHeight,0));for(let e of n){let t=Math.floor(r/Eg(e));if(t<1){e.style.display=`none`;continue}e.style.display=`-webkit-box`,e.style.setProperty(`-webkit-box-orient`,`vertical`),e.style.setProperty(`-webkit-line-clamp`,String(t)),e.style.overflow=`hidden`,r-=e.offsetHeight}}function kg(e){let[t,n=t,r=t,i=n]=e.trim().split(/\s+/);return[t,n,r,i]}function Ag(e,t){if(t===null)return{wrapper:e,header:e,body:e,footer:e};let n=t??{};new bg(Q(e)).draw({headerItems:xg(n),footerLeftItems:Sg(n),footerRightItems:Cg()});let r=e.querySelector(`.bc-frame`),i=r.querySelector(`.bc-frame-header`),a=r.querySelector(`.bc-frame-body`),o=r.querySelector(`.bc-frame-note`),s=r.querySelector(`.bc-frame-footer`);if(n.padding){r.style.setProperty(`--bc-frame-padding`,n.padding);let[e,t,i,a]=kg(n.padding);r.style.setProperty(`--bc-frame-padding-top`,e),r.style.setProperty(`--bc-frame-padding-right`,t),r.style.setProperty(`--bc-frame-padding-bottom`,i),r.style.setProperty(`--bc-frame-padding-left`,a)}if(n.transparentBackground&&r.style.setProperty(`--bc-frame-bg`,`transparent`),n.note?o.textContent=n.note:o.style.display=`none`,e.isConnected){Dg(i);let t=getComputedStyle(e),n=t.aspectRatio&&t.aspectRatio!==`auto`&&t.aspectRatio!==``,c=t.display===`flex`&&t.flexDirection===`column`;if(n||c){let t=i.offsetHeight,n=s.offsetHeight,c=o.style.display===`none`?0:o.offsetHeight,l=e.clientHeight-n-c-wg;t>l&&(Og(i,l),t=i.offsetHeight),r.classList.add(`bc-frame--constrained`),a.dataset.headerH=String(t);let u=e;a.dataset.footerH=String(u.__bcFooterH??n+c),requestAnimationFrame(()=>{u.__bcFooterH=s.offsetHeight+(o.style.display===`none`?0:o.offsetHeight)})}}return{wrapper:r,header:i,body:a,footer:s}}function jg(e){return e&&(e.startsWith(`(`)&&e.endsWith(`)`)?e.slice(0,-1):e)}function Mg(e){if(!e)return{prefix:``,d3Spec:``,suffix:``};if(e.includes(`|`)){let t=e.split(`|`);return{prefix:t[0]??``,d3Spec:jg(t[1]??``),suffix:t[2]??``}}return{prefix:``,d3Spec:jg(e),suffix:``}}function Ng(e){if(!e)return null;let{prefix:t,d3Spec:n,suffix:r}=Mg(e);if(!n)return null;let i=Gd(n);return!t&&!r?i:e=>`${t}${i(e)}${r}`}function Pg(e,t){return!Number.isFinite(t)||t<=0?`0%`:`${Math.round(e/t*100)}%`}var Fg=`http://www.w3.org/2000/svg`,Ig=`system-ui, -apple-system, sans-serif`,Lg=/[\u1100-\u115f\u2e80-\ua4cf\ua960-\ua97f\uac00-\ud7a3\uf900-\ufaff\ufe10-\ufe19\ufe30-\ufe6f\uff00-\uff60\uffe0-\uffe6]/,Rg=1,zg=.5,Bg=null,Vg=null;function Hg(e,t){let n=0;for(let t of e)n+=Lg.test(t)?Rg:zg;return n*t}function Ug(){if(typeof document>`u`)return null;if(Vg!==document){Vg=document;try{Bg=document.createElement(`canvas`).getContext(`2d`)}catch{Bg=null}}return Bg}function Wg(e,t){let n=Ug();if(!n)return null;n.font=`${t}px ${Ig}`;let r=n.measureText(e).width;return r>0?r:null}function Gg(e,t){if(typeof document>`u`||typeof document.createElementNS!=`function`)return null;let n=document.createElementNS(Fg,`svg`),r=document.createElementNS(Fg,`text`);if(r.setAttribute(`font-size`,String(t)),r.textContent=e,n.appendChild(r),typeof r.getComputedTextLength!=`function`)return null;let i=r.getComputedTextLength();return i>0?i:null}function Kg(e,t){if(e===``)return 0;let n=Wg(e,t)??Gg(e,t)??0;return Math.max(n,Hg(e,t))}function qg(e,t){let n=0;for(let r of e){let e=Kg(r,t);e>n&&(n=e)}return n}function Jg(e,t,n,r=`…`){if(Kg(e,n)<=t)return e;let i=[...e],a=Kg(r,n),o=i.length;for(;o>1&&Kg(i.slice(0,o).join(``),n)+a>t;)o--;return i.slice(0,o).join(``)+r}function Yg(e,t){if(!e)return;let n=e.stableTop??e.top,r=t.stableTop??t.top;return{dx:e.left-t.left,dy:n-r}}var Xg={top:12,right:20,bottom:24,left:50},Zg=10,Qg=.25;function $g(e,t,n){let r=t+n,i=e*Qg;if(r<=0||e-r>=i)return[t,n];let a=Math.max(0,e-i)/r;return[t*a,n*a]}var e_=class extends yg{initialize(){this.configDefine(`totalWidth`,{defaultValue:600}),this.configDefine(`totalHeight`,{defaultValue:400}),this.layer(`svg`,this.base,{dataBind:(e,t)=>e.selectAll(`svg`).data(t),insert:e=>e.append(`svg`),events:{enter:e=>{let t=this.config(`totalWidth`),n=this.config(`totalHeight`);e.attr(`width`,t).attr(`height`,n).append(`g`).attr(`transform`,e=>`translate(${e.left},${e.top})`)}}})}},t_=400,n_=2,r_=2,i_=9;function a_(e,t,n,r){let[i,a]=Ei(e,t,r);return o_(r===`log`?Mf().domain([i,a]).nice():_f().domain([i,a]).nice(),n)}function o_(e,t){let n=e.ticks(),r=t?Ng(t)??e.tickFormat():e.tickFormat(),i=n.map(e=>r(e));return i.length===0?0:Math.ceil(qg(i,Zg))+r_+i_}function s_(e){return e.length===0?0:Math.ceil(qg(e,Zg))+r_+i_}function c_(e,t,n,r,i,a){let o={},s=i??50,c=r??`left`,l=t??`auto`,u=l===`auto`?e>0&&e<t_?`inside`:`outside`:l,d=u===`inside`,f=u===`off`;return c===`right`?(o.left=0,o.right=d?n_:f?0:s):(o.right=a===!1?0:15,o.left=d?n_:f?0:s),d&&(o.top=35),(n===`inside`||n===`off`)&&(o.bottom=5),o}function l_(e,t){return parseFloat(e.dataset[t]??``)||0}function u_(e){let t=e.getBoundingClientRect(),n=e.offsetWidth>0&&(Math.abs(t.width-e.offsetWidth)>=1||Math.abs(t.height-e.offsetHeight)>=1),r=n?e.clientWidth:t.width,i=n?e.clientHeight:t.height,a=getComputedStyle(e),o=r-(parseFloat(a.paddingLeft)||0)-(parseFloat(a.paddingRight)||0),s=i-(parseFloat(a.paddingTop)||0)-(parseFloat(a.paddingBottom)||0);return{width:o>0?o:l_(e,`bcContentWidth`),height:s>0?s:l_(e,`bcContentHeight`)}}function d_(e,t){let n=t.closest(`.bc-frame`);if(!n||n.style.getPropertyValue(`--bc-frame-bg`).trim()===`transparent`)return;e.querySelector(`.bc-canvas-bg`)?.remove();let r=e.ownerDocument.createElementNS(`http://www.w3.org/2000/svg`,`rect`);r.setAttribute(`class`,`bc-canvas-bg`),r.setAttribute(`width`,`100%`),r.setAttribute(`height`,`100%`),r.setAttribute(`fill`,Er(n)),e.insertBefore(r,e.firstChild)}function f_(e,t){let n={...Xg,...t},r=e.closest(`.bc-frame--constrained`)!=null;if(r){let t=parseFloat(e.dataset.headerH||`0`),r=parseFloat(e.dataset.footerH||`0`),i=n.top;n.top=t+i,n.bottom+=r,n.stableTop=i}let i=u_(e),a=i.width>0?i.width:600,o=i.height>0?i.height:400;[n.left,n.right]=$g(a,n.left,n.right),[n.top,n.bottom]=$g(o,n.top,n.bottom);let s=a-n.left-n.right,c=o-n.top-n.bottom,l=new e_(Q(e));l.config({totalWidth:a,totalHeight:o}),l.draw([n]);let u=e.querySelector(`svg`),d=u.querySelector(`g`);return d_(u,e),r&&(u.setAttribute(`viewBox`,`0 0 ${a} ${o}`),u.setAttribute(`preserveAspectRatio`,`none`),u.removeAttribute(`width`),u.removeAttribute(`height`),u.style.width=`100%`,u.style.height=`100%`,u.style.display=`block`),{svg:u,chartArea:d,width:s,height:c,margin:n}}function p_(e){return typeof window>`u`||typeof window.matchMedia!=`function`?e:window.matchMedia(`(prefers-reduced-motion: reduce)`).matches?0:e}var m_=0;function h_(e){m_=e?500:0}function g_(){return p_(m_)}function __(e,t){let n=p_(t??500);n<=0||typeof e.animate!=`function`||e.animate([{opacity:0},{opacity:1}],{duration:n,easing:`ease-in-out`})}function v_(e,t){let n=p_(t??500);if(e.querySelectorAll(`[data-bc-fade-overlay]`).forEach(e=>{typeof e.getAnimations==`function`&&e.getAnimations().forEach(e=>e.cancel()),e.remove()}),n<=0||e.children.length===0)return null;let r=document.createElement(`div`);return r.style.position=`absolute`,r.style.inset=`0`,r.style.pointerEvents=`none`,r.style.display=`flex`,r.style.flexDirection=`column`,r.dataset.bcFadeOverlay=`true`,Array.from(e.childNodes).forEach(e=>{r.appendChild(e.cloneNode(!0))}),r.querySelectorAll(`.bc-axis-vertical, .bc-axis-horizontal`).forEach(e=>{e.remove()}),r.querySelectorAll(`.bc-frame-footer, .bc-frame-note`).forEach(e=>{e.remove()}),r.querySelectorAll(`[data-bc-fade-overlay], .bc-frame--fade-snapshot`).forEach(e=>{e.remove()}),r.querySelectorAll(`.bc-frame`).forEach(e=>{e.classList.remove(`bc-frame`),e.classList.add(`bc-frame--fade-snapshot`)}),r}function y_(e,t,n){let r=p_(n??500);if(getComputedStyle(e).position===`static`&&(e.style.position=`relative`),e.appendChild(t),r>0&&typeof t.animate==`function`){let e=t.animate([{opacity:1},{opacity:0}],{duration:r,easing:`ease-in-out`});e.onfinish=()=>t.remove()}else t.remove()}var b_=60,x_=10,S_=8,C_=16,w_=10,T_=1.3,E_=12,D_=3,O_=14,k_=10;function A_(e,t,n=D_){if(e===``)return[``];if(e.length*w_<=t)return[e];let r=e.split(/\s+/).filter(Boolean);if(r.length===0)return null;let i=[],a=``;for(let e of r){if(e.length*w_>t)return null;let r=a?`${a} ${e}`:e;if(r.length*w_<=t)a=r;else if(i.push(a),a=e,i.length>=n)return null}return a&&i.push(a),i.length>n?null:i}var j_={year:`%Y`,month:`%b %Y`,day:`%b %-d, %Y`,datetime:`%b %-d, %Y %H:%M`};function M_(e){return typeof e.step==`function`}function N_(e,t){let n=xi(t);if(e&&e.includes(`%`)){if(n){let r=Nm(e),i=new Map;return t.forEach((e,t)=>i.set(e,n.dates[t])),e=>{if(e instanceof Date)return r(e);let t=i.get(String(e));return t?r(t):String(e)}}return null}if(e)return t.length>0?null:Ng(e)??Gd(e);if(n){let e=Nm(j_[n.granularity]??`%Y-%m-%d`),r=new Map;return t.forEach((e,t)=>r.set(e,n.dates[t])),t=>{if(t instanceof Date)return e(t);let n=r.get(String(t));return n?e(n):String(t)}}return null}function P_(e,t){let n=0;for(let r of e){let e=(t?t(r):r).length*w_;e>n&&(n=e)}return n}function F_(e,t){return e.map(e=>t?t(e):String(e))}function I_(e,t){let n=Math.max(C_,Math.ceil(e)+S_);return Math.max(2,Math.floor(t/n))}function L_(e,t,n){if(e.length<=1)return e;let r=I_(qg(F_(e,n??null),x_),t);if(e.length<=r)return e;let i=Math.ceil(e.length/r),a=[];for(let t=0;t<e.length;t+=i)a.push(t);let o=e.length-1;return a[a.length-1]!==o&&(o-a[a.length-1]<i&&a.pop(),a.push(o)),a.map(t=>e[t])}function R_(e,t,n){let r=Math.max(2,Math.floor(t/b_));for(;r>2;){let i=F_(e.ticks(r),n??e.tickFormat(r)),a=I_(qg(i,x_),t);if(i.length<=a)break;r=Math.min(r-1,a)}return r}function z_(e,t,n,r){return e.length<=1||t<=0||n===`horizontal`?!1:n===`vertical`||!xi(e)&&P_(e,r??null)>t/e.length*T_}function B_(e,t){if(e.length===0)return 0;let n=P_(e,t??null);return Math.ceil(n)+E_}function V_(e){let t=1;for(let n of e)n.length>t&&(t=n.length);return t<=1?0:t*O_+k_}function H_(e,t,n={},r=24){if(e.length===0||t<=0||n.labelPosition===`off`||n.labelPosition===`inside`)return;let i=n.tickFormat?n.tickFormat:N_(n.numberFormat??null,e),a=n.labelRotation??`auto`;if((a===`vertical`||xi(e)===null)&&e.length>1){let n=t/e.length*T_,o=P_(e,i)>n;if(a!==`vertical`&&o){let t=U_(e,n,i);if(t){let e=V_(Array.from(t.values()));return e>r?e:void 0}}}if(!z_(e,t,a,i))return;let o=B_(e,i);return o>r?o:void 0}function U_(e,t,n){let r=new Map,i=!1;for(let a of e){let e=A_(n?n(a):a,t);if(e===null)return null;r.set(a,e),e.length>1&&(i=!0)}return i?r:null}function W_(e,t){e.selectAll(`.tick`).each(function(){let e=Q(this),n=e.datum(),r=n instanceof Date?n.toISOString():String(n),i=t.get(r);if(!i||i.length<=1)return;let a=e.select(`text`);a.empty()||(a.attr(`dy`,null).text(null),i.forEach((e,t)=>{a.append(`tspan`).attr(`x`,0).attr(`dy`,t===0?`0.71em`:`1em`).text(e)}))})}var G_=class extends yg{initialize(){this.configDefine(`scale`,{defaultValue:ef()}),this.configDefine(`height`,{defaultValue:0}),this.configDefine(`tickPosition`,{defaultValue:`below`}),this.configDefine(`showAxis`,{defaultValue:!0}),this.configDefine(`showTicks`,{defaultValue:!1}),this.configDefine(`gridStyle`,{defaultValue:`dashed`}),this.configDefine(`ticks`,{defaultValue:null}),this.configDefine(`numberFormat`,{defaultValue:null}),this.configDefine(`width`,{defaultValue:0}),this.configDefine(`labels`,{defaultValue:[]}),this.configDefine(`labelPosition`,{defaultValue:`auto`}),this.configDefine(`labelRotation`,{defaultValue:`auto`}),this.configDefine(`zeroY`,{defaultValue:null}),this.configDefine(`tickFormat`,{defaultValue:null});let e=this.base.append(`g`);this.layer(`axis`,e,{dataBind:(e,t)=>e.selectAll(`.bc-axis-horizontal`).data(t),insert:e=>e.append(`g`).attr(`class`,`bc-axis bc-axis-horizontal`),events:{"merge:transition":e=>{this.applyAxis(e,`merge`)},exit:e=>{e.remove()},enter:e=>{this.applyAxis(e,`enter`)}}})}applyAxis(e,t){let n=this.config(`scale`),r=this.config(`scale`),i=this.config(`tickPosition`),a=this.config(`height`),o=this.config(`labelPosition`),s=this.config(`labelRotation`),c=this.config(`width`),l=this.config(`numberFormat`),u=this.config(`labels`),d=this.config(`tickFormat`),f=i===`above`?_a(n):ya(n);this.config(`showTicks`)||f.tickSizeOuter(0);let p=d||N_(l,u);p&&f.tickFormat(p);let m=M_(r),h=m?r.domain():[],g=m&&s!==`vertical`&&xi(h)!==null,_=null,v=!1;if(m&&!g&&h.length>1&&c>0){let e=c/h.length*T_,t=P_(h,p)>e;s===`vertical`?v=!0:t&&(_=U_(h,e,p),!_&&s===`auto`&&(v=!0))}let y=o===`auto`?`outside`:o,b=this.config(`ticks`);if(!b&&c>0){if(m){if(g||!v&&!_&&y!==`off`){let e=L_(h,c,p);e.length<h.length&&(b=e)}}else{let e=Di(r,Math.max(2,Math.floor(c/b_)));e?b=e:f.ticks(R_(r,c,p))}}b&&f.tickValues(b);let x=i===`above`?0:a,S=e.node(),C=t===`merge`?g_():0;if(t===`merge`){if(!S)return;C>0?(e.attr(`transform`,`translate(0,${x})`),e.duration(C).call(f)):Q(S).attr(`transform`,`translate(0,${x})`).call(f)}else e.attr(`transform`,`translate(0,${x})`),e.call(f);let w=C>0?e:S?Q(S):e;if(!this.config(`showAxis`))w.select(`.domain`).remove();else if(t===`enter`){let e=this.config(`zeroY`);if(e!=null){let t=e-(i===`above`?0:a);w.select(`.domain`).attr(`transform`,`translate(0,${t})`)}}this.config(`showTicks`)||w.selectAll(`.tick line`).remove(),y===`off`?w.selectAll(`.tick text`).remove():y===`inside`&&w.selectAll(`.tick text`).attr(`y`,0).attr(`dy`,`-0.6em`),v&&y!==`off`?w.selectAll(`.tick text`).attr(`transform`,`rotate(-90)`).attr(`text-anchor`,`end`).attr(`x`,i===`above`?9:-9).attr(`y`,0).attr(`dy`,`0.32em`):(w.selectAll(`.tick text`).attr(`transform`,null),y!==`off`&&K_(w,c)),_&&y!==`off`&&W_(w,_)}postDraw(){let e=this.config(`gridStyle`),t=this.config(`height`),n=this.base.select(`.bc-axis-horizontal`).node();n&&q_(n,e,t)}};function K_(e,t){t>0&&e.selectAll(`.tick text`).each((e,n,r)=>{let i=r[n],a=i.parentElement,o=Number(/translate\(([-\d.]+)/.exec(a?.getAttribute(`transform`)??``)?.[1]??`NaN`);if(!Number.isFinite(o))return;let s=Kg(i.textContent??``,x_)/2;o-s<0?Q(i).attr(`text-anchor`,`start`):o+s>t&&Q(i).attr(`text-anchor`,`end`)})}function q_(e,t,n){let r=e.ownerSVGElement?.parentElement??document.documentElement,i=getComputedStyle(r).getPropertyValue(`--bc-grid-color`).trim()||`#ccc`,a=t===`none`||n<=0?[]:[null];Q(e).selectAll(`.tick`).each(function(){Q(this).selectAll(`.bc-grid-line`).data(a).join(`line`).attr(`class`,`bc-grid-line`).attr(`x1`,0).attr(`x2`,0).attr(`y1`,0).attr(`y2`,-n).attr(`stroke`,i).attr(`stroke-width`,1).attr(`stroke-dasharray`,J_[t]??null)})}var J_={dashed:`4,4`,dotted:`1,3`};function Y_(e,t,n,r={},i){let a=new G_(Q(e));if(i){i.querySelectorAll(`.bc-grid-line`).forEach(e=>e.remove());let t=e.lastElementChild;t&&t.appendChild(i)}let o=M_(t)?t.domain():[];return a.config({scale:t,height:n,tickPosition:r.tickPosition??`below`,showAxis:r.showAxis??!0,showTicks:r.showTicks??!1,gridStyle:r.gridStyle??`dashed`,ticks:r.ticks??null,numberFormat:r.numberFormat??null,width:r.width??0,labels:o,labelPosition:r.labelPosition??`auto`,labelRotation:r.labelRotation??`auto`,zeroY:r.zeroY??null,tickFormat:r.tickFormat??null}),a.draw([{placeholder:!0}]),e.querySelector(`.bc-axis-horizontal`)}var X_=30;function Z_(e){return typeof e.bandwidth==`function`}var Q_=class extends yg{initialize(){this.configDefine(`scale`,{defaultValue:_f()}),this.configDefine(`direction`,{defaultValue:Rr.Left}),this.configDefine(`showAxis`,{defaultValue:!0}),this.configDefine(`showTicks`,{defaultValue:!1}),this.configDefine(`gridStyle`,{defaultValue:Br.Dashed}),this.configDefine(`gridWidth`,{defaultValue:0}),this.configDefine(`height`,{defaultValue:0}),this.configDefine(`ticks`,{defaultValue:null}),this.configDefine(`numberFormat`,{defaultValue:null}),this.configDefine(`labelPosition`,{defaultValue:Vr.Auto}),this.configDefine(`topPadding`,{defaultValue:0}),this.configDefine(`tickFormat`,{defaultValue:null});let e=this.base.append(`g`);this.layer(`axis`,e,{dataBind:(e,t)=>e.selectAll(`.bc-axis-vertical`).data(t),insert:e=>e.append(`g`).attr(`class`,`bc-axis bc-axis-vertical`),events:{"merge:transition":e=>{let t=this.config(`scale`),n=this.config(`direction`),r=this.config(`showAxis`),i=this.config(`showTicks`),a=this.config(`labelPosition`),o=this.config(`gridWidth`),s=this.config(`height`),c=n===Rr.Right?va(t):ba(t);i||c.tickSizeOuter(0);let l=this.config(`ticks`);if(l)c.tickValues(l);else if(s>0){let e=Math.max(2,Math.floor(s/X_)),n=Di(t,e);n?c.tickValues(n):c.ticks(e)}let u=this.config(`tickFormat`);if(u)c.tickFormat(u);else{let e=this.config(`numberFormat`),n=e&&!Z_(t)?Ng(e):null;n&&c.tickFormat(n)}let d=g_(),f=e.node();if(f){d>0?e.duration(d).call(c):Q(f).call(c),r||Q(f).select(`.domain`).remove(),i||Q(f).selectAll(`.tick line`).attr(`opacity`,0);let t=a===Vr.Auto?o>0&&o<400?Vr.Inside:Vr.Outside:a;if(t===Vr.Inside){let t=r?4:0,i=d>0?e.selectAll(`.tick text`):Q(f).selectAll(`.tick text`);Q(f).selectAll(`.tick text`).classed(`bc-axis-label-inside`,!0),n===Rr.Right?i.attr(`x`,-t).attr(`dy`,`-0.4em`).attr(`text-anchor`,`end`):i.attr(`x`,t).attr(`dy`,`-0.4em`).attr(`text-anchor`,`start`)}else t===Vr.Off&&Q(f).selectAll(`.tick text`).attr(`opacity`,0)}},exit:e=>{e.remove()},enter:e=>{let t=this.config(`scale`),n=this.config(`direction`),r=this.config(`labelPosition`),i=this.config(`gridWidth`),a=this.config(`height`),o=this.config(`topPadding`),s=n===Rr.Right?va(t):ba(t);this.config(`showTicks`)||s.tickSizeOuter(0);let c=this.config(`ticks`);if(c)s.tickValues(c);else if(a>0){let e=Math.max(2,Math.floor(a/X_)),n=Di(t,e);n?s.tickValues(n):s.ticks(e)}let l=this.config(`tickFormat`);if(l)s.tickFormat(l);else{let e=this.config(`numberFormat`),n=e&&!Z_(t)?Ng(e):null;n&&s.tickFormat(n)}e.call(s);let u=this.config(`showAxis`),d=this.config(`showTicks`);u||e.select(`.domain`).remove();let f=r===Vr.Auto?i>0&&i<400?Vr.Inside:Vr.Outside:r;if(f===Vr.Inside){let t=u?4:0;if(e.selectAll(`.tick text`).classed(`bc-axis-label-inside`,!0),n===Rr.Right?e.selectAll(`.tick text`).attr(`x`,-t).attr(`dy`,`-0.4em`).attr(`text-anchor`,`end`):e.selectAll(`.tick text`).attr(`x`,t).attr(`dy`,`-0.4em`).attr(`text-anchor`,`start`),d?e.selectAll(`.tick line`).attr(`x2`,n===Rr.Right?-6:6):e.selectAll(`.tick line`).remove(),o>0&&u){let t=e.select(`.domain`);if(!t.empty()){let e=t.attr(`d`),n=e.replace(/V[\d.]+/,`V${-o}`);n!==e&&t.attr(`d`,n)}}}else d||e.selectAll(`.tick line`).remove(),f===Vr.Off&&e.selectAll(`.tick text`).remove()}}})}postDraw(){let e=this.config(`gridStyle`),t=this.config(`gridWidth`),n=this.config(`direction`),r=this.base.select(`.bc-axis-vertical`).node();r&&ev(r,e,n===Rr.Right?-t:t)}},$_={[Br.Dashed]:`4,4`,[Br.Dotted]:`1,3`};function ev(e,t,n){let r=e.ownerSVGElement?.parentElement??document.documentElement,i=getComputedStyle(r).getPropertyValue(`--bc-grid-color`).trim()||`#ccc`,a=t===Br.None||n===0?[]:[null];Q(e).selectAll(`.tick`).each(function(){Q(this).selectAll(`.bc-grid-line`).data(a).join(`line`).attr(`class`,`bc-grid-line`).attr(`x1`,0).attr(`x2`,n).attr(`y1`,0).attr(`y2`,0).attr(`stroke`,i).attr(`stroke-width`,1).attr(`stroke-dasharray`,$_[t]??null)})}function tv(e){return typeof e.step==`function`}var nv=new WeakMap,rv=new WeakMap;function iv(e,t){let n=rv.get(e);rv.set(e,t),n!==void 0&&n!==t&&nv.get(e)?.destroy()}var av=class e{vGroup=null;hGroup=null;vChart=null;hChart=null;container;initialized=!1;constructor(e){this.container=e}static for(t){let n=nv.get(t);return n||(n=new e(t),nv.set(t,n)),n}static clear(e){nv.delete(e)}detach(){this.vGroup?.parentNode&&(Q(this.vGroup).interrupt().selectAll(`*`).interrupt(),this.vGroup.querySelectorAll(`.bc-grid-line`).forEach(e=>e.remove()),this.vGroup.remove()),this.hGroup?.parentNode&&(Q(this.hGroup).interrupt().selectAll(`*`).interrupt(),this.hGroup.querySelectorAll(`.bc-grid-line`).forEach(e=>e.remove()),this.hGroup.remove())}attach(e,t){if(!this.initialized)this.vGroup=document.createElementNS(`http://www.w3.org/2000/svg`,`g`),this.vGroup.setAttribute(`class`,`bc-axis-service-v`),this.hGroup=document.createElementNS(`http://www.w3.org/2000/svg`,`g`),this.hGroup.setAttribute(`class`,`bc-axis-service-h`),e.appendChild(this.vGroup),e.appendChild(this.hGroup),this.vChart=new Q_(Q(this.vGroup)),this.hChart=new G_(Q(this.hGroup)),this.initialized=!0;else{for(let e of[this.vGroup,this.hGroup])Q(e).interrupt(),e.removeAttribute(`transform`),Q(e).selectAll(`.tick`).interrupt();if(e.appendChild(this.vGroup),e.appendChild(this.hGroup),t&&(Math.abs(t.dx)>=1||Math.abs(t.dy)>=1)){let{dx:e,dy:n}=t;for(let t of[this.vGroup,this.hGroup]){t.setAttribute(`transform`,`translate(${e},${n})`);let r=g_();r>0?Q(t).transition().duration(r).attrTween(`transform`,()=>{let t=Cc(e,0),r=Cc(n,0);return e=>`translate(${t(e)},${r(e)})`}):t.removeAttribute(`transform`)}}}}update(e){let t=e.order??`vertical-first`;t===`horizontal-first`?(this.updateHorizontal(e.horizontal),this.updateVertical(e.vertical)):(this.updateVertical(e.vertical),this.updateHorizontal(e.horizontal)),t===`horizontal-first`?this.hGroup&&this.vGroup&&this.hGroup.parentNode&&this.hGroup.parentNode.insertBefore(this.hGroup,this.vGroup):this.vGroup&&this.hGroup&&this.vGroup.parentNode&&this.vGroup.parentNode.insertBefore(this.vGroup,this.hGroup)}updateVertical(e){if(!this.vChart||!this.vGroup)return;if(!e){this.vGroup.style.display=`none`;return}this.vGroup.style.display=``;let t=e.options;this.vChart.config({scale:e.scale,direction:t.direction??`left`,showAxis:t.showAxis??!0,showTicks:t.showTicks??!1,gridStyle:t.gridStyle??`dashed`,gridWidth:t.gridWidth??0,height:e.height,ticks:t.ticks??null,numberFormat:t.numberFormat??null,labelPosition:t.labelPosition??`auto`,topPadding:t.topPadding??0,tickFormat:t.tickFormat??null}),this.vChart.draw([{placeholder:!0}]);let n=this.vGroup.querySelector(`.bc-axis-vertical`);n&&(t.direction??`left`)===`right`?n.setAttribute(`transform`,`translate(${t.gridWidth??0},0)`):n&&n.removeAttribute(`transform`)}updateHorizontal(e){if(!this.hChart||!this.hGroup)return;if(!e){this.hGroup.style.display=`none`;return}this.hGroup.style.display=``;let t=e.options,n=e.scale,r=tv(n)?n.domain():[];this.hChart.config({scale:n,height:e.height,tickPosition:t.tickPosition??`below`,showAxis:t.showAxis??!0,showTicks:t.showTicks??!1,gridStyle:t.gridStyle??`dashed`,ticks:t.ticks??null,numberFormat:t.numberFormat??null,width:t.width??0,labels:r,labelPosition:t.labelPosition??`auto`,labelRotation:t.labelRotation??`auto`,zeroY:t.zeroY??null,tickFormat:t.tickFormat??null}),this.hChart.draw([{placeholder:!0}])}destroy(){this.detach(),this.vChart=null,this.hChart=null,this.vGroup=null,this.hGroup=null,this.initialized=!1,nv.delete(this.container)}},ov=Math.min,sv=Math.max,cv=Math.round,lv=e=>({x:e,y:e}),uv={left:`right`,right:`left`,bottom:`top`,top:`bottom`};function dv(e,t,n){return sv(e,ov(t,n))}function fv(e,t){return typeof e==`function`?e(t):e}function pv(e){return e.split(`-`)[0]}function mv(e){return e.split(`-`)[1]}function hv(e){return e===`x`?`y`:`x`}function gv(e){return e===`y`?`height`:`width`}function _v(e){let t=e[0];return t===`t`||t===`b`?`y`:`x`}function vv(e){return hv(_v(e))}function yv(e,t,n){n===void 0&&(n=!1);let r=mv(e),i=vv(e),a=gv(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=Ov(o)),[o,Ov(o)]}function bv(e){let t=Ov(e);return[xv(e),t,xv(t)]}function xv(e){return e.includes(`start`)?e.replace(`start`,`end`):e.replace(`end`,`start`)}var Sv=[`left`,`right`],Cv=[`right`,`left`],wv=[`top`,`bottom`],Tv=[`bottom`,`top`];function Ev(e,t,n){switch(e){case`top`:case`bottom`:return n?t?Cv:Sv:t?Sv:Cv;case`left`:case`right`:return t?wv:Tv;default:return[]}}function Dv(e,t,n,r){let i=mv(e),a=Ev(pv(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(xv)))),a}function Ov(e){let t=pv(e);return uv[t]+e.slice(t.length)}function kv(e){return{top:e.top??0,right:e.right??0,bottom:e.bottom??0,left:e.left??0}}function Av(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:kv(e)}function jv(e){let{x:t,y:n,width:r,height:i}=e;return{width:r,height:i,top:n,left:t,right:t+r,bottom:n+i,x:t,y:n}}function Mv(e,t,n){let{reference:r,floating:i}=e,a=_v(t),o=vv(t),s=gv(o),c=pv(t),l=a===`y`,u=r.x+r.width/2-i.width/2,d=r.y+r.height/2-i.height/2,f=r[s]/2-i[s]/2,p;switch(c){case`top`:p={x:u,y:r.y-i.height};break;case`bottom`:p={x:u,y:r.y+r.height};break;case`right`:p={x:r.x+r.width,y:d};break;case`left`:p={x:r.x-i.width,y:d};break;default:p={x:r.x,y:r.y}}let m=mv(t);return m&&(p[o]+=f*(m===`end`?1:-1)*(n&&l?-1:1)),p}async function Nv(e,t){t===void 0&&(t={});let{x:n,y:r,platform:i,rects:a,elements:o,strategy:s}=e,{boundary:c=`clippingAncestors`,rootBoundary:l=`viewport`,elementContext:u=`floating`,altBoundary:d=!1,padding:f=0}=fv(t,e),p=Av(f),m=o[d?u===`floating`?`reference`:`floating`:u],h=jv(await i.getClippingRect({element:await(i.isElement==null?void 0:i.isElement(m))??!0?m:m.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(o.floating)),boundary:c,rootBoundary:l,strategy:s})),g=u===`floating`?{x:n,y:r,width:a.floating.width,height:a.floating.height}:a.reference,_=await(i.getOffsetParent==null?void 0:i.getOffsetParent(o.floating)),v=await(i.isElement==null?void 0:i.isElement(_))&&await(i.getScale==null?void 0:i.getScale(_))||{x:1,y:1},y=jv(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:o,rect:g,offsetParent:_,strategy:s}):g);return{top:(h.top-y.top+p.top)/v.y,bottom:(y.bottom-h.bottom+p.bottom)/v.y,left:(h.left-y.left+p.left)/v.x,right:(y.right-h.right+p.right)/v.x}}var Pv=50,Fv=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=o.detectOverflow?o:{...o,detectOverflow:Nv},c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=Mv(l,r,c),f=r,p=0,m={};for(let n=0;n<a.length;n++){let h=a[n];if(!h)continue;let{name:g,fn:_}=h,{x:v,y,data:b,reset:x}=await _({x:u,y:d,initialPlacement:r,placement:f,strategy:i,middlewareData:m,rects:l,platform:s,elements:{reference:e,floating:t}});u=v??u,d=y??d,m[g]={...m[g],...b},x&&p<Pv&&(p++,typeof x==`object`&&(x.placement&&(f=x.placement),x.rects&&(l=x.rects===!0?await o.getElementRects({reference:e,floating:t,strategy:i}):x.rects),{x:u,y:d}=Mv(l,f,c)),n=-1)}return{x:u,y:d,placement:f,strategy:i,middlewareData:m}},Iv=function(e){return e===void 0&&(e={}),{name:`flip`,options:e,async fn(t){var n;let{placement:r,middlewareData:i,rects:a,initialPlacement:o,platform:s,elements:c}=t,{mainAxis:l=!0,crossAxis:u=!0,fallbackPlacements:d,fallbackStrategy:f=`bestFit`,fallbackAxisSideDirection:p=`none`,flipAlignment:m=!0,...h}=fv(e,t);if((n=i.arrow)!=null&&n.alignmentOffset)return{};let g=pv(r),_=_v(o),v=pv(o)===o,y=await(s.isRTL==null?void 0:s.isRTL(c.floating)),b=d||(v||!m?[Ov(o)]:bv(o)),x=p!==`none`;!d&&x&&b.push(...Dv(o,m,p,y));let S=[o,...b],C=await s.detectOverflow(t,h),w=[],T=i.flip?.overflows||[];if(l&&w.push(C[g]),u){let e=yv(r,a,y);w.push(C[e[0]],C[e[1]])}if(T=[...T,{placement:r,overflows:w}],!w.every(e=>e<=0)){let e=(i.flip?.index||0)+1,t=S[e];if(t&&(u!==`alignment`||_===_v(t)||T.every(e=>_v(e.placement)!==_||e.overflows[0]>0)))return{data:{index:e,overflows:T},reset:{placement:t}};let n=T.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0]?.placement;if(!n)switch(f){case`bestFit`:{let e=T.filter(e=>{if(x){let t=_v(e.placement);return t===_||t===`y`}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0]?.[0];e&&(n=e);break}case`initialPlacement`:n=o}if(r!==n)return{reset:{placement:n}}}return{}}}},Lv=new Set([`left`,`top`]);async function Rv(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=pv(n),s=mv(n),c=_v(n)===`y`,l=Lv.has(o)?-1:1,u=a&&c?-1:1,d=fv(t,e),{mainAxis:f,crossAxis:p,alignmentAxis:m}=typeof d==`number`?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return s&&typeof m==`number`&&(p=s===`end`?m*-1:m),c?{x:p*u,y:f*l}:{x:f*l,y:p*u}}var zv=function(e){return e===void 0&&(e=0),{name:`offset`,options:e,async fn(t){var n;let{x:r,y:i,placement:a,middlewareData:o}=t,s=await Rv(t,e);return a===o.offset?.placement&&(n=o.arrow)!=null&&n.alignmentOffset?{}:{x:r+s.x,y:i+s.y,data:{...s,placement:a}}}}},Bv=function(e){return e===void 0&&(e={}),{name:`shift`,options:e,async fn(t){let{x:n,y:r,placement:i,platform:a}=t,{mainAxis:o=!0,crossAxis:s=!1,limiter:c={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...l}=fv(e,t),u={x:n,y:r},d=await a.detectOverflow(t,l),f=_v(i),p=hv(f),m=u[p],h=u[f],g=(e,t)=>dv(t+d[e===`y`?`top`:`left`],t,t-d[e===`y`?`bottom`:`right`]);o&&(m=g(p,m)),s&&(h=g(f,h));let _=c.fn({...t,[p]:m,[f]:h});return{..._,data:{x:_.x-n,y:_.y-r,enabled:{[p]:o,[f]:s}}}}}};function Vv(){return typeof window<`u`}function Hv(e){return Gv(e)?(e.nodeName||``).toLowerCase():`#document`}function Uv(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function Wv(e){return((Gv(e)?e.ownerDocument:e.document)||window.document)?.documentElement}function Gv(e){return Vv()?e instanceof Node||e instanceof Uv(e).Node:!1}function Kv(e){return Vv()?e instanceof Element||e instanceof Uv(e).Element:!1}function qv(e){return Vv()?e instanceof HTMLElement||e instanceof Uv(e).HTMLElement:!1}function Jv(e){return!Vv()||typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot||e instanceof Uv(e).ShadowRoot}function Yv(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=oy(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&i!==`inline`&&i!==`contents`}function Xv(e){return/^(table|td|th)$/.test(Hv(e))}function Zv(e){try{if(e.matches(`:popover-open`))return!0}catch{}try{return e.matches(`:modal`)}catch{return!1}}var Qv=/transform|translate|scale|rotate|perspective|filter/,$v=/paint|layout|strict|content/,ey=e=>!!e&&e!==`none`,ty;function ny(e){let t=Kv(e)?oy(e):e;return ey(t.transform)||ey(t.translate)||ey(t.scale)||ey(t.rotate)||ey(t.perspective)||!iy()&&(ey(t.backdropFilter)||ey(t.filter))||Qv.test(t.willChange||``)||$v.test(t.contain||``)}function ry(e){let t=cy(e);for(;qv(t)&&!ay(t);){if(ny(t))return t;if(Zv(t))return null;t=cy(t)}return null}function iy(){return ty??=typeof CSS<`u`&&CSS.supports&&CSS.supports(`-webkit-backdrop-filter`,`none`),ty}function ay(e){return/^(html|body|#document)$/.test(Hv(e))}function oy(e){return Uv(e).getComputedStyle(e)}function sy(e){return Kv(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function cy(e){if(Hv(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||Jv(e)&&e.host||Wv(e);return Jv(t)?t.host:t}function ly(e){let t=cy(e);return ay(t)?(e.ownerDocument||e).body:qv(t)&&Yv(t)?t:ly(t)}function uy(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!0);let r=ly(e),i=r===e.ownerDocument?.body,a=Uv(r);if(i){let e=dy(a);return t.concat(a,a.visualViewport||[],Yv(r)?r:[],e&&n?uy(e):[])}return t.concat(r,uy(r,[],n))}function dy(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function fy(e){let t=oy(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=qv(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r,s=cv(n)!==a||cv(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function py(e){return Kv(e)?e:e.contextElement}function my(e){let t=py(e);if(!qv(t))return lv(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=fy(t),o=(a?cv(n.width):n.width)/r,s=(a?cv(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}var hy=lv(0);function gy(e){let t=Uv(e);return!iy()||!t.visualViewport?hy:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function _y(e,t,n){return t===void 0&&(t=!1),!!n&&t&&n===Uv(e)}function vy(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=py(e),o=lv(1);t&&(r?Kv(r)&&(o=my(r)):o=my(e));let s=_y(a,n,r)?gy(a):lv(0),c=(i.left+s.x)/o.x,l=(i.top+s.y)/o.y,u=i.width/o.x,d=i.height/o.y;if(a&&r){let e=Uv(a),t=Kv(r)?Uv(r):r,n=e,i=dy(n);for(;i&&t!==n;){let e=my(i),t=i.getBoundingClientRect(),r=oy(i),a=t.left+(i.clientLeft+parseFloat(r.paddingLeft))*e.x,o=t.top+(i.clientTop+parseFloat(r.paddingTop))*e.y;c*=e.x,l*=e.y,u*=e.x,d*=e.y,c+=a,l+=o,n=Uv(i),i=dy(n)}}return jv({width:u,height:d,x:c,y:l})}function yy(e,t){let n=sy(e).scrollLeft;return t?t.left+n:vy(Wv(e)).left+n}function by(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-yy(e,n),y:n.top+t.scrollTop}}function xy(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,a=i===`fixed`,o=Wv(r),s=t?Zv(t.floating):!1;if(r===o||s&&a)return n;let c={scrollLeft:0,scrollTop:0},l=lv(1),u=lv(0),d=qv(r);if((d||!a)&&((Hv(r)!==`body`||Yv(o))&&(c=sy(r)),d)){let e=vy(r);l=my(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}let f=o&&!d&&!a?by(o,c):lv(0);return{width:n.width*l.x,height:n.height*l.y,x:n.x*l.x-c.scrollLeft*l.x+u.x+f.x,y:n.y*l.y-c.scrollTop*l.y+u.y+f.y}}function Sy(e){return e.getClientRects?Array.from(e.getClientRects()):[]}function Cy(e){let t=sy(e),n=e.ownerDocument.body,r=sv(e.scrollWidth,e.clientWidth,n.scrollWidth,n.clientWidth),i=sv(e.scrollHeight,e.clientHeight,n.scrollHeight,n.clientHeight),a=-t.scrollLeft+yy(e),o=-t.scrollTop;return oy(n).direction===`rtl`&&(a+=sv(e.clientWidth,n.clientWidth)-r),{width:r,height:i,x:a,y:o}}var wy=25;function Ty(e,t,n){n===void 0&&(n=`viewport`);let r=n===`layoutViewport`,i=Uv(e),a=Wv(e),o=i.visualViewport,s=a.clientWidth,c=a.clientHeight,l=0,u=0;if(o){let e=!iy()||t===`fixed`;r?e||(l=-o.offsetLeft,u=-o.offsetTop):(s=o.width,c=o.height,e&&(l=o.offsetLeft,u=o.offsetTop))}if(yy(a)<=0){let e=a.ownerDocument,t=e.body,n=getComputedStyle(t),r=e.compatMode===`CSS1Compat`&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,i=Math.abs(a.clientWidth-t.clientWidth-r),o=getComputedStyle(a).scrollbarGutter===`stable both-edges`?i/2:i;o<=wy&&(s-=o)}return{width:s,height:c,x:l,y:u}}function Ey(e,t){let n=vy(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=my(e);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function Dy(e,t,n){let r;if(t===`viewport`||t===`layoutViewport`)r=Ty(e,n,t);else if(t===`document`)r=Cy(Wv(e));else if(Kv(t))r=Ey(t,n);else{let n=gy(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return jv(r)}function Oy(e,t){let n=t.get(e);if(n)return n;let r=uy(e,[],!1).filter(e=>Kv(e)&&Hv(e)!==`body`),i=null,a=oy(e).position===`fixed`,o=a?cy(e):e;for(;Kv(o)&&!ay(o);){let e=oy(o),t=ny(o),n=i?i.position:a?`fixed`:``;!t&&(n===`fixed`||n===`absolute`&&e.position===`static`)?r=r.filter(e=>e!==o):i=e,o=cy(o)}return t.set(e,r),r}function ky(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?Zv(t)?[]:Oy(t,this._c):[].concat(n),r],o=Dy(t,a[0],i),s=o.top,c=o.right,l=o.bottom,u=o.left;for(let e=1;e<a.length;e++){let n=Dy(t,a[e],i);s=sv(n.top,s),c=ov(n.right,c),l=ov(n.bottom,l),u=sv(n.left,u)}return{width:c-u,height:l-s,x:u,y:s}}function Ay(e){let{width:t,height:n}=fy(e);return{width:t,height:n}}function jy(e,t,n){let r=qv(t),i=Wv(t),a=n===`fixed`,o=vy(e,!0,a,t),s={scrollLeft:0,scrollTop:0},c=lv(0);if((r||!a)&&((Hv(t)!==`body`||Yv(i))&&(s=sy(t)),r)){let e=vy(t,!0,a,t);c.x=e.x+t.clientLeft,c.y=e.y+t.clientTop}!r&&i&&(c.x=yy(i));let l=i&&!r&&!a?by(i,s):lv(0);return{x:o.left+s.scrollLeft-c.x-l.x,y:o.top+s.scrollTop-c.y-l.y,width:o.width,height:o.height}}function My(e){return oy(e).position===`static`}function Ny(e,t){if(!qv(e)||oy(e).position===`fixed`)return null;if(t)return t(e);let n=e.offsetParent;return Wv(e)===n&&(n=n.ownerDocument.body),n}function Py(e,t){let n=Uv(e);if(Zv(e))return n;if(!qv(e)){let t=cy(e);for(;t&&!ay(t);){if(Kv(t)&&!My(t))return t;t=cy(t)}return n}let r=Ny(e,t);for(;r&&Xv(r)&&My(r);)r=Ny(r,t);return r&&ay(r)&&My(r)&&!ny(r)?n:r||ry(e)||n}var Fy=async function(e){let t=this.getOffsetParent||Py,n=this.getDimensions,r=await n(e.floating);return{reference:jy(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function Iy(e){return oy(e).direction===`rtl`}var Ly={convertOffsetParentRelativeRectToViewportRelativeRect:xy,getDocumentElement:Wv,getClippingRect:ky,getOffsetParent:Py,getElementRects:Fy,getClientRects:Sy,getDimensions:Ay,getScale:my,isElement:Kv,isRTL:Iy},Ry=zv,zy=Bv,By=Iv,Vy=(e,t,n)=>{let r=new Map,i=n??{},a={...Ly,...i.platform,_c:r};return Fv(e,t,{...i,platform:a})},Hy=`bc-tooltip`;function Uy(){if(document.getElementById(`bc-tooltip-styles`))return;let e=document.createElement(`style`);e.id=`bc-tooltip-styles`,e.textContent=`
|
|
313
|
+
.${Hy} {
|
|
314
314
|
position: absolute;
|
|
315
315
|
pointer-events: none;
|
|
316
316
|
background: var(--bs-body-bg, #fff);
|
|
@@ -323,10 +323,10 @@ body {
|
|
|
323
323
|
z-index: 9999;
|
|
324
324
|
display: none;
|
|
325
325
|
}
|
|
326
|
-
`,document.head.appendChild(e)}function
|
|
327
|
-
`);if(c.length>1||i.maxWidth&&i.maxWidth>0){if(i.maxWidth&&i.maxWidth>0)
|
|
328
|
-
`)){let t=``;for(let r of e.split(/\s+/).filter(Boolean)){let e=t?`${t} ${r}`:r;t&&Fh(e,Qv)>n?(i(t),t=r):t=e;let a=Lh(t,n,Qv,``);for(;a!==t;)i(a),t=t.slice(a.length),a=Lh(t,n,Qv,``)}i(t)}}function sy(e,t){let n=Number(e);return Number.isFinite(n)?t.copy().clamp(!0)(n):null}function cy(e,t,n=Gr.Center){if(`bandwidth`in t){let r=t,i=r(String(e));if(i===void 0)return null;let a=r.bandwidth(),o=r.step()-a;return n===`start`?i-o/2:n===`end`?i+a+o/2:i+a/2}if(Uv(t)){let r=t(String(e));if(r===void 0)return null;let i=t.step()/2;return n===`start`?r-i:n===`end`?r+i:r}if(Wv(t)){let n=new Date(String(e));return Number.isNaN(n.getTime())?null:t.copy().clamp(!0)(n)}return sy(e,t)}function ly(e,t){return sy(e,t)}function uy(e,t){if(typeof e==`number`)return e/100*t;let n=String(e);return n.endsWith(`%`)?parseFloat(n)/100*t:parseFloat(n)||0}function dy(e,t){if(e==null)return;if(typeof e==`number`)return e||void 0;let n=String(e);return n.endsWith(`%`)?parseFloat(n)/100*t:parseFloat(n)||void 0}function fy(e){return e<-4?`end`:e>4?`start`:`middle`}function py(e,t,n){if(`bandwidth`in t){let r=t;return{x:(r(e.label)??0)+r.bandwidth()/2,y:n(e.value)}}return{x:Gv(t,e.label),y:n(e.value)}}function my(e,t,n,r){let i=`target`in t?t.target:void 0;if(!i)return;let a=n.data.find(e=>e.label===i);if(!a)return;let o=e.append(`g`).attr(`data-annotation-index`,String(r)),s=t.key;s&&o.attr(`data-annotation-id`,s);let c=t,l=c.anchorDirection??Vr.N,u=qv(a,n.scaleX,n.scaleY,l,n.orientation),d,f,p=t;if(p.dx!=null||p.dy!=null){let{x:e,y:t}=py(a,n.scaleX,n.scaleY);d=e+(Number(p.dx)||40),f=t+(Number(p.dy)||-40)}else if(p.direction!=null&&p.textOffsetX==null){let{x:e,y:t}=py(a,n.scaleX,n.scaleY),r=p.direction,i=Hv(r,p.anchorDistance??60);d=e+i.dx,f=t+i.dy}else d=u.x+(c.textOffsetX??-42),f=u.y+(c.textOffsetY??-42);let m=t.circleColor??`#666`,h=t;h.showCircle&&ey(o,u.x,u.y,{size:h.circleSize,style:h.circleStyle,color:m});let g=Math.max(4,Math.min(d,n.width-4)),_=Math.max(4,Math.min(f,n.height-4));if(t.text){let e=fy(d-u.x);ay(o,t.text,g,_-4,{textColor:t.textColor,maxWidth:dy(t.maxWidth,n.width)??n.width*.4,textAnchor:e,backgroundColor:n.backgroundColor,textOutline:t.textOutline})}if(p.dx!=null||p.dy!=null?c.showLine!==!1:c.showLine===!0||c.showArrow===!0){let e={x:g,y:_},t=!1,n=o.select(`.bc-annotation-text`).node();if(n)try{let r=n.getBBox();if(r.width>0&&r.height>0){e=Jv(r,u.x,u.y);let n=r.x+r.width/2;t=Math.abs(e.x-n)<1}}catch{}let r=c.showCircle?$v(c.circleSize)+(c.lineTargetDistance??5):c.lineTargetDistance??0,i=u.x,a=u.y;if(r>0){let t=u.x-e.x,n=u.y-e.y,o=Math.sqrt(t*t+n*n);if(o>0){let e=u.x-t/o*r,s=u.y-n/o*r,c=Bv[l]??Bv.N;i=Math.abs(c.dx)>.01?e:u.x,a=Math.abs(c.dy)>.01?s:u.y}}iy(o,e,{x:i,y:a},c.lineStyle??Hr.Direct,{showArrow:c.showArrow,lineWeight:c.lineWeight,color:m,departVertical:t})}}function hy(e,t,n,r,i){if(t.kind!==Wr.Range)return;let a=(t.orientation??Kr.Vertical)===Kr.Vertical,o=a?cy(t.start,n.scaleX,t.startAnchor):ly(t.start,n.scaleY),s=a?cy(t.end,n.scaleX,t.endAnchor):ly(t.end,n.scaleY);if(o===null||s===null)return;let c=e.append(`g`).attr(`data-annotation-index`,String(r)),l=t.key;l&&c.attr(`data-annotation-id`,l);let u=n.orientation===Kr.Horizontal===a,d,f,p,m;if(u?(f=Math.min(o,s),m=Math.abs(s-o),d=0,p=n.width):(d=Math.min(o,s),p=Math.abs(s-o),f=0,m=n.height),c.append(`rect`).attr(`class`,`bc-annotation-range`).attr(`x`,d).attr(`y`,f).attr(`width`,p).attr(`height`,m).attr(`fill`,t.bgColor??`#ccc`).attr(`opacity`,(t.bgOpacity??20)/100),t.text){let e=a?p:m,o=dy(t.maxWidth,n.width)??Math.max(e,50),s=Bv[t.direction??`center`]??Bv.center,l=.5+s.dx*.5,u=.5+s.dy*.5,h=Math.max(4,Math.min(d+p*l,n.width-4)),g=`middle`;l<.25?g=`start`:l>.75&&(g=`end`);let _=f+4+12,v=i?i.append(`g`).attr(`data-annotation-index`,String(r)):c;if(ay(v,t.text,h,_,{textColor:t.textColor,maxWidth:o,textAnchor:g,backgroundColor:n.backgroundColor,textOutline:t.textOutline}),u>.25){let e=v.select(`.bc-annotation-text`).node();if(e)try{let t=e.getBBox(),n=0;n=u>.75?f+m-4-(t.y+t.height):f+m/2-(t.y+t.height/2),Math.abs(n)>.5&&e.setAttribute(`transform`,`translate(0, ${n})`)}catch{}}}}function gy(e,t,n,r){if(t.kind!==`free`)return;let i=e.append(`g`).attr(`data-annotation-index`,String(r)),a=t.key;a&&i.attr(`data-annotation-id`,a);let o=uy(t.x,n.width),s=uy(t.y,n.height);if(t.text){ay(i,t.text,o,s,{textColor:t.textColor,maxWidth:dy(t.maxWidth,n.width)??n.width*.4,textAnchor:`middle`,backgroundColor:n.backgroundColor,textOutline:t.textOutline});let e=i.select(`.bc-annotation-text`).node();if(e)try{let t=e.getBBox(),n=s-(t.y+t.height/2);Math.abs(n)>.5&&e.setAttribute(`transform`,`translate(0, ${n})`)}catch{}}}function _y(e,t,n,r){return`M ${e} ${t} L ${n+.45*(e-n)} ${t} L ${n} ${r}`}function vy(e,t){let n=e.hasAttribute(`marker-end`),r=Rv(e.parentElement);if(n&&r){let n=$(e),i=e.getAttribute(`d`),a=`M ${r.fromX} ${r.fromY} L ${r.fromX} ${r.fromY}`;if(n.attr(`d`,a),r.style===Hr.Elbow){let e={tipX:r.toX,tipY:r.toY,calloutX:r.fromX,calloutY:r.fromY},i={tipX:r.fromX,tipY:r.fromY,calloutX:r.fromX,calloutY:r.fromY};n.transition().duration(t).ease(_u).attrTween(`d`,()=>{let t=vc(i,e);return e=>{let n=t(e);return _y(n.calloutX,n.calloutY,n.tipX,n.tipY)}})}else if(r.style===Hr.CurveLeft||r.style===Hr.CurveRight){let e={x:r.fromX,y:r.fromY},a={x:r.toX,y:r.toY},o=a.x-e.x,s=a.y-e.y,c=Math.sqrt(o*o+s*s),l=c*.8,u=+(r.style===Hr.CurveRight),d=c/2,f=d<l?Math.sqrt(l*l-d*d):0,p=(e.x+a.x)/2,m=(e.y+a.y)/2,h=c>0?-s/c:0,g=c>0?o/c:0,_=u===1?1:-1,v=p+_*f*h,y=m+_*f*g,b=Math.atan2(e.y-y,e.x-v),x=Math.atan2(a.y-y,a.x-v)-b;u===1&&x<=0&&(x+=2*Math.PI),u===0&&x>=0&&(x-=2*Math.PI),n.transition().duration(t).ease(_u).attrTween(`d`,()=>t=>{if(t>=.98)return i;let n=b+t*x,r=v+l*Math.cos(n),a=y+l*Math.sin(n);return`M ${e.x} ${e.y} A ${l} ${l} 0 0 ${u} ${r} ${a}`})}else n.transition().duration(t).ease(_u).attrTween(`d`,()=>{let e=_c(r.fromX,r.toX),t=_c(r.fromY,r.toY);return n=>`M ${r.fromX} ${r.fromY} L ${e(n)} ${t(n)}`})}else e.setAttribute(`stroke-dasharray`,`1`),e.setAttribute(`stroke-dashoffset`,`1`),$(e).transition().duration(t).ease(_u).attr(`stroke-dashoffset`,`0`).on(`end`,()=>{e.removeAttribute(`stroke-dasharray`),e.removeAttribute(`stroke-dashoffset`)})}var yy=1;function by(e,t){return e.style!==t.style||e.departVertical!==t.departVertical?!1:Math.abs(e.fromX-t.fromX)<=yy&&Math.abs(e.fromY-t.fromY)<=yy&&Math.abs(e.toX-t.toX)<=yy&&Math.abs(e.toY-t.toY)<=yy}function xy(e,t,n){let r=Rv(e.parentElement);if(!r||by(t,r))return;let i=$(e);if(t.style===Hr.Elbow&&r.style===Hr.Elbow){let e={tipX:t.toX,tipY:t.toY,calloutX:t.fromX,calloutY:t.fromY},a={tipX:r.toX,tipY:r.toY,calloutX:r.fromX,calloutY:r.fromY};i.attr(`d`,_y(e.calloutX,e.calloutY,e.tipX,e.tipY)),i.transition().duration(n).ease(vu).attrTween(`d`,()=>{let t=vc(e,a);return e=>{let n=t(e);return _y(n.calloutX,n.calloutY,n.tipX,n.tipY)}})}else{let a={x:t.fromX,y:t.fromY},o={x:t.toX,y:t.toY},s={x:r.fromX,y:r.fromY},c={x:r.toX,y:r.toY},l=e.getAttribute(`d`),u=`M ${a.x} ${a.y} L ${o.x} ${o.y}`;i.attr(`d`,u),i.transition().duration(n).ease(vu).attrTween(`d`,()=>{let e=vc(a,s),n=vc(o,c);return i=>{if(i>=.98)return l;let a=e(i),o=n(i);if(r.style===Hr.Direct||t.style===Hr.Direct)return`M ${a.x} ${a.y} L ${o.x} ${o.y}`;let s=o.x-a.x,c=o.y-a.y,u=Math.sqrt(s*s+c*c)*.8,d=+(r.style===Hr.CurveRight);return`M ${a.x} ${a.y} A ${u} ${u} 0 0 ${d} ${o.x} ${o.y}`}})}}function Sy(e,t,n,r){if(r<=0)return;let i=[...e.querySelectorAll(`g[data-annotation-id]`),...t.querySelectorAll(`g[data-annotation-id]`)],a=new Set;for(let e of i){let t=e.getAttribute(`data-annotation-id`);a.add(t);let i=n.get(t);if(i){let t=e.querySelector(`.bc-annotation-line`);t&&i.line&&xy(t,i.line,r);try{let t=e.getBBox(),n=i.rect.x-t.x,a=i.rect.y-t.y;if(Math.abs(n)>.5||Math.abs(a)>.5){let t=e.querySelectorAll(`.bc-annotation-text, .bc-annotation-circle`);for(let e of t){let t=e;t.style.transition=`none`,t.setAttribute(`transform`,`translate(${n}, ${a})`),t.getBoundingClientRect(),t.style.transition=`transform ${r}ms ease`,t.setAttribute(`transform`,`translate(0, 0)`)}}}catch{}}else{let t=e.querySelector(`.bc-annotation-line`);t&&vy(t,r);let n=e.querySelectorAll(`.bc-annotation-text, .bc-annotation-circle`);for(let e of n){let t=e;t.style.opacity=`0`,t.getBoundingClientRect(),t.style.transition=`opacity ${r}ms ease`,t.style.opacity=`1`}}}for(let[t,i]of n)if(!a.has(t)){let t=i.element.cloneNode(!0);e.appendChild(t),t.style.opacity=`1`,t.getBoundingClientRect(),t.style.transition=`opacity ${r}ms ease`,t.style.opacity=`0`,setTimeout(()=>t.remove(),r)}}function Cy(e,t=0){if(!e)return;if(t>0){setTimeout(()=>Cy(e),t);return}let n=parseFloat(e.getAttribute(`width`)||`0`),r=parseFloat(e.getAttribute(`height`)||`0`);if(!n||!r)return;let i=e.getBBox();if(i.width===0&&i.height===0)return;let a=n*.25/2,o=r*.25/2,s=i.x,c=i.y,l=i.x+i.width,u=i.y+i.height,d=s<0?Math.max(s-8,-a):0,f=c<0?Math.max(c-8,-o):0,p=l>n?Math.min(l+8,n+a):n,m=u>r?Math.min(u+8,r+o):r;d<0||f<0||p>n||m>r?$(e).attr(`viewBox`,`${d} ${f} ${p-d} ${m-f}`).attr(`preserveAspectRatio`,`xMidYMid meet`):$(e).attr(`viewBox`,null).attr(`preserveAspectRatio`,null)}function wy(e,t,n){let r=e.ownerSVGElement??e;$(r).style(`overflow`,`visible`),Yv(r);let i=$(e),a;if(n.transition){if(n.priorAnnotations&&n.priorAnnotations.size>0)a=n.priorAnnotations;else{let t=e.querySelector(`.bc-annotations`),n=e.querySelector(`.bc-annotations-range`);if(t||n){if(a=new Map,t)for(let[e,n]of zv(t))a.set(e,n);if(n)for(let[e,t]of zv(n))a.set(e,t)}}}e.querySelectorAll(`.bc-annotations, .bc-annotations-range`).forEach(e=>e.remove());let o=i.insert(`g`,`:first-child`).attr(`class`,`bc-annotations-range`),s=i.append(`g`).attr(`class`,`bc-annotations`).attr(`data-ctx-width`,String(n.width)).attr(`data-ctx-height`,String(n.height));for(let e=0;e<t.length;e++){let r=t[e];switch(r.kind??Wr.Point){case Wr.Point:my(s,r,n,e);break;case Wr.Range:hy(o,r,n,e,s);break;case Wr.Free:gy(s,r,n,e)}}let c=0;n.transition&&(c=rg(500),Sy(s.node(),o.node(),a??new Map,c)),Cy(r,c)}function Ty(e,t){return{name:`annotations`,install(){},postDraw(n){let r=n.base,i=r.node()?.ownerSVGElement??r.node();i&&$(i).style(`overflow`,`visible`),Yv(i);let a=r.node()?.parentNode,o=a&&a!==i?$(a):r,s=o.node(),c;if(t.transition){if(t.priorAnnotations&&t.priorAnnotations.size>0)c=t.priorAnnotations;else if(s){let e=s.querySelector(`.bc-annotations`),t=s.querySelector(`.bc-annotations-range`);if(e||t){if(c=new Map,e)for(let[t,n]of zv(e))c.set(t,n);if(t)for(let[e,n]of zv(t))c.set(e,n)}}}s&&s.querySelectorAll(`.bc-annotations, .bc-annotations-range`).forEach(e=>e.remove());let l=o.insert(`g`,`:first-child`).attr(`class`,`bc-annotations-range`),u=o.append(`g`).attr(`class`,`bc-annotations`).attr(`data-ctx-width`,String(t.width)).attr(`data-ctx-height`,String(t.height));for(let n=0;n<e.length;n++){let r=e[n];switch(r.kind??Wr.Point){case Wr.Point:my(u,r,t,n);break;case Wr.Range:hy(l,r,t,n,u);break;case Wr.Free:gy(u,r,t,n)}}let d=0;t.transition&&(d=rg(500),Sy(u.node(),l.node(),c??new Map,d)),Cy(i,d)}}}function Ey(e){return new Map((e??[]).map(e=>[e.target,e.color]))}var Dy=new WeakMap;function Oy(e){return Dy.get(e)}function ky(e,t){Dy.set(e,t)}var Ay=0,jy=new WeakMap;function My(e,t,n,r){let i=jy.get(t);i||(i=new Map,jy.set(t,i));let a=i.get(n);a||(a=`bc-clip-${++Ay}`,i.set(n,a));let o=$(e).select(`defs`).empty()?$(e).append(`defs`):$(e).select(`defs`),s=o.select(`#${a}`);return s.empty()?o.append(`clipPath`).attr(`id`,a).append(`rect`).attr(`x`,r.x).attr(`y`,r.y).attr(`width`,r.width).attr(`height`,r.height):s.select(`rect`).attr(`x`,r.x).attr(`y`,r.y).attr(`width`,r.width).attr(`height`,r.height),a}var Ny=class extends ch{initialize(){}};function Py(e){return new Ny(e)}var Fy=`bc-scene`,Iy=500,Ly=new Set,Ry=new WeakMap;function zy(e){let t=Ry.get(e);return t||(t=new Vy(e),Ry.set(e,t)),t}function By(e){Ry.delete(e)}var Vy=class{container;_state=`idle`;_transition=null;_buffer=[];register(e){this._buffer.push(e)}constructor(e){this.container=e}get state(){return this._state}get activeTransition(){return this._transition}beginCommit(){(this._state===`committing`||this._state===`animating`)&&this.interrupt(),this._state=`committing`}commit(e={}){if(this._state!==`committing`){console.warn(`[blueprint-chart] commit() called from state '${this._state}' — call beginCommit() first; ignored.`);return}let t=e.mode??`transform`;if(t!==`transform`){Ly.has(t)||(Ly.add(t),console.warn(`[blueprint-chart] transition mode '${t}' is not yet implemented; falling back to snap.`));let e=this._buffer;this._buffer=[],this._state=`animating`;for(let t of e)try{t()}catch(e){console.warn(`[blueprint-chart] feature flush failed:`,e)}this._state=`idle`;return}let n=e.duration??Iy,r=this.effectiveDuration(n),i=this._buffer;if(this._buffer=[],r<=0){this._state=`animating`;for(let e of i)try{e()}catch(e){console.warn(`[blueprint-chart] feature flush failed:`,e)}this._state=`idle`;return}this._state=`animating`;let a=mu(Fy).duration(r).ease(vu);this._transition=a;for(let e of i)try{e()}catch(e){console.warn(`[blueprint-chart] feature flush failed:`,e)}a.on(`end`,()=>{this._transition===a&&(this._transition=null,this._state=`idle`)}),a.on(`interrupt`,()=>{this._transition===a&&(this._transition=null,this._state=`idle`)})}effectiveDuration(e){return e<=0?0:typeof window>`u`||typeof window.matchMedia!=`function`?e:window.matchMedia(`(prefers-reduced-motion: reduce)`).matches?0:e}interrupt(){this._buffer=[],this._transition=null,$(this.container).interrupt(Fy),$(this.container).selectAll(`*`).interrupt(Fy),this._state=`idle`}run(e,t={}){this.beginCommit();try{e()}catch(e){console.warn(`[blueprint-chart] scene-transition commit failed:`,e),this._state=`idle`;return}this.commit(t)}destroy(){this.interrupt(),By(this.container)}};function Hy(e,t){let n=new Map;return e.querySelectorAll(`[data-bc-role="${t}"]`).forEach(e=>{let t=e.getAttribute(`data-bc-key`);t!=null&&n.set(t,e)}),n}function Uy(e,t){return e.tagName===t.tagName}function Wy(e,t){$(e).interrupt(Fy);let n={};for(let r of t){let t=e.getAttribute(r);t!==null&&(n[r]=t)}return n}function Gy(e,t){let n=Ky(e),r=Ky(t);if(n.skeleton!==r.skeleton||n.nums.length!==r.nums.length)return n=>n<.5?e:t;let{skeleton:i,nums:a}=n,{nums:o}=r;return n=>{if(n<=0)return e;if(n>=1)return t;let r=0;return i.replace(/#/g,()=>{let e=a[r]+(o[r]-a[r])*n;return r++,qy(e)})}}function Ky(e){let t=[];return{skeleton:e.replace(/-?\d*\.?\d+(?:e[-+]?\d+)?/gi,e=>(t.push(parseFloat(e)),`#`)),nums:t}}function qy(e){let t=Math.round(e*1e3)/1e3;return Object.is(t,-0)?`0`:String(t)}var Jy={opacity:0},Yy=new Set([`d`,`transform`]),Xy=new Set([`stroke-dasharray`]);function Zy(e,t){if(e.state===`idle`||e.state===`animating`){Qy(t);return}e.register(()=>$y(e,t))}function Qy(e){let t=$(e.parent).selectAll(e.selector).data(e.data,t=>e.key(t));t.exit().remove();let n=e.insert(t.enter());eb(n,e),n.merge(t).each(function(t){rb(this,e.attrs(t))})}function $y(e,t){let n=e.activeTransition,r=$(t.parent).selectAll(t.selector).data(t.data,e=>t.key(e)),i=nb(t),a=r.exit();n?a.each(function(){let e=this,r=$(e).datum();ib(e,t.exitTo?t.exitTo(r):Jy,n).on(`end.featureJoin-exit`,()=>e.parentNode?.removeChild(e))}):a.remove();let o=Hy(e.container,t.role),s=t.insert(r.enter());eb(s,t),s.each(function(e){let r=this,a=t.attrs(e);if(n){let s=o.get(tb(t.key(e)));if(s&&Uy(s,r)){rb(r,Wy(s,i)),ib(r,a,n);return}rb(r,t.enterFrom?t.enterFrom(e):a),ib(r,a,n)}else rb(r,a)}),r.each(function(e){let r=this,a=t.attrs(e);n?(Wy(r,i),ib(r,a,n)):rb(r,a)})}function eb(e,t){e.attr(`data-bc-role`,t.role),e.attr(`data-bc-key`,e=>tb(t.key(e)))}function tb(e){return e.replace(/[\u0000-\u0008\u000B\u000C\u000E-\u001F]/g,`␟`)}function nb(e){return e.data.length===0?[]:Object.keys(e.attrs(e.data[0]))}function rb(e,t){for(let[n,r]of Object.entries(t))e.setAttribute(n,String(r))}function ib(e,t,n){let r=$(e).transition(n);for(let[n,i]of Object.entries(t))if(Yy.has(n)){let e=String(i);r.attrTween(n,function(){return Gy(this.getAttribute(n)??e,e)})}else Xy.has(n)?e.setAttribute(n,String(i)):r.attr(n,String(i));return r}function ab(e,t){if(!t.active||!t.from)return;let n=t.svg.querySelector(`#${t.clipId} rect`);ob(e,{group:t.group,clipRect:n,from:t.from,to:t.to})}function ob(e,t){let{group:n,clipRect:r,from:i,to:a}=t,o=`translate(${a.left},${a.top})`,s=`translate(${i.left},${i.top})`;e.register(()=>{let t=e.activeTransition;if(!t){n.setAttribute(`transform`,o),r&&(r.setAttribute(`width`,String(a.width)),r.setAttribute(`height`,String(a.height)));return}n.setAttribute(`transform`,s),$(n).transition(t).attrTween(`transform`,function(){return Gy(this.getAttribute(`transform`)??s,o)}),r&&(r.setAttribute(`width`,String(i.width)),r.setAttribute(`height`,String(i.height)),$(r).transition(t).attr(`width`,a.width).attr(`height`,a.height))})}var sb=.35;function cb(e,t){let n=new Set(t);return new Set((e??[]).map(e=>e.target).filter(e=>n.has(e)))}function lb(e,t,n=1){return e.size===0||e.has(t)?n:sb}var ub=11,db=6.2,fb=ub,pb=8,mb=4,hb=14;function gb(e){return Math.max(Fh(e,ub),e.length*db)}function _b(e){let t=gb(e.text);return e.placement===`inside`?e.orientation===`horizontal`?t<=e.barWidth-pb&&fb<=e.barHeight:fb<=e.barHeight-mb&&t<=e.barWidth:(e.orientation===`vertical`?e.barWidth:e.barHeight)>=hb}var vb=8,yb=4,bb=7,xb=`11px sans-serif`;function Sb(e,t=xb){let n=e.length*bb;try{let r=document.createElement(`canvas`).getContext(`2d`);if(r)return r.font=t,Math.max(Math.ceil(r.measureText(e).width),n)}catch{}return n}function Cb(e,t,n,r){let i=e.length*bb/2,a=i+yb-r.margin.left,o=r.width+r.margin.right-i-yb,s=12-r.margin.top,c=r.height+r.margin.bottom-yb,l=Math.min(Math.max(n,0),r.height);return{x:Math.min(Math.max(t,a),Math.max(a,o)),y:Math.min(Math.max(l-vb,s),Math.max(s,c))}}var wb=4;function Tb(e){return Math.max(0,Math.min(13,e-wb))}var Eb=400;function Db(e,t){return e>0&&e<Eb&&t!==zr.Outside}var Ob=[`#4e79a7`],kb=4,Ab=8;function jb(e,t,n={},r=!1){ag(r);let i=null,a,o,s,c=[],l=Yg.for(e);if(r){let t=Oy(e);o=t?.margin,s=t?.plotRect,l.detach(),t?.chartType===`bar-vertical`?c=Array.from(e.querySelectorAll(`.bc-frame .bc-bar`)):t&&(i=cg(e)),a=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of zv(t))a.set(e,n);e.replaceChildren()}let{body:u}=yh(e,n.frame),d=eg(u).width,f=n.categoryLabelLine===!0,p=Xh(t.values,n.verticalAxis?.range,n.verticalAxis?.numberFormat,n.verticalAxis?.scaleType),m=f?zr.Off:n.horizontalAxis?.labelPosition,h=Qh(d,n.verticalAxis?.labelPosition,m,n.verticalAxis?.direction,p);if(!f){let e=Math.max(0,d-(h.left??50)-(h.right??20)),r=Mg(t.labels,e,n.horizontalAxis);r!==void 0&&(h.bottom=r)}let{chartArea:g,width:_,height:v,margin:y}=ng(u,h),b=v-(f?Tb(v):0),x=Rh(o,y),S={left:y.left,top:y.top,width:_,height:b},C=Pb(t,n),w=C.map(e=>({label:e,value:t.values[t.labels.indexOf(e)]})).filter(e=>Number.isFinite(e.value)),T=n.swapLabelValue===!0,E=n.waterfall===!0,D=[];if(E){let e=0;for(let t of w){let n=e;e+=t.value,D.push({label:t.label,value:t.value,y0:n,y1:e,isTotal:!1})}n.waterfallTotal&&D.push({label:`Total`,value:e,y0:0,y1:e,isTotal:!0})}let O=E?D.map(e=>e.label):C,k=od().domain(O).range([0,_]).padding(Ci(n.barGap)),ee=n.verticalAxis?.scaleType===`log`,[A,j]=wi(E?D.flatMap(e=>[e.y0,e.y1]):w.map(e=>e.value),n.verticalAxis?.range,n.verticalAxis?.scaleType);if(n.valueLabels&&A<0&&n.verticalAxis?.range?.min==null){let e=j-A;A-=e*.1}let M=ee?Ed().domain([A,j]).nice().range([b,0]):Sd().domain([A,j]).nice().range([b,0]);l.attach(g,x);let N=T&&n.valueLabels&&!E?(()=>{let e=new Map(w.map(e=>[e.label,e.value]));return{...n.horizontalAxis,width:_,tickFormat:t=>String(e.get(t)??t)}})():{...n.horizontalAxis,width:_},P=f?{...N,labelPosition:zr.Off}:N;l.update({vertical:{scale:M,height:v,options:{...n.verticalAxis,gridWidth:_,topPadding:y.top}},horizontal:{scale:k,height:v,options:P}}),!ee&&A<0&&j>0&&$(g).append(`line`).attr(`class`,`bc-zero-baseline`).attr(`x1`,0).attr(`x2`,_).attr(`y1`,M(0)).attr(`y2`,M(0)).attr(`stroke`,`#666`).attr(`stroke-width`,1);let F=Ey(n.colorizes),I=cb(n.highlights,O),L=g.ownerSVGElement,R=My(L,e,`bars`,{x:0,y:0,width:_,height:b}),z=$(L).select(`defs`),B=R.replace(/^bc-clip-/,``),V=$(g).append(`g`).attr(`clip-path`,`url(#${R})`);if(n.barBackground){let e=(n.colors??Ob)[0],t=E?O:w.map(e=>e.label);V.selectAll(`.bc-bar-bg`).data(t,e=>e).enter().append(`rect`).attr(`class`,`bc-bar-bg`).attr(`x`,e=>k(e)??0).attr(`y`,0).attr(`width`,k.bandwidth()).attr(`height`,b).attr(`fill`,e).attr(`opacity`,.18)}let te=E?O:w.map(e=>e.label);if(n.barSeparators&&te.length>1){let e=k.step();for(let t=1;t<te.length;t++){let n=(k(te[t-1])??0)+k.bandwidth()+(e-k.bandwidth())/2;V.append(`line`).attr(`class`,`bc-bar-separator`).attr(`x1`,n).attr(`x2`,n).attr(`y1`,0).attr(`y2`,b).attr(`stroke`,`currentColor`).attr(`opacity`,.15)}}if(!E&&n.connectedColumns&&w.length>1){let e=n.colors??Ob,t=n.connectionsOpacity??.15;for(let n=0;n<w.length-1;n++){let r=w[n],i=w[n+1];if(r.value==null||i.value==null||Number.isNaN(r.value)||Number.isNaN(i.value)||r.value===0||i.value===0)continue;let a=(k(r.label)??0)+k.bandwidth(),o=k(i.label)??0,s=Math.min(M(0),M(r.value)),c=Math.min(M(0),M(i.value)),l=M(0),u=F.get(r.label)??e[0],d=F.get(i.label)??e[0],f;if(u===d)f=u;else{let e=`bc-conn-grad-${B}-${n}`,t=z.append(`linearGradient`).attr(`id`,e).attr(`x1`,`0%`).attr(`x2`,`100%`).attr(`y1`,`0%`).attr(`y2`,`0%`);t.append(`stop`).attr(`offset`,`0%`).attr(`stop-color`,u),t.append(`stop`).attr(`offset`,`100%`).attr(`stop-color`,d),f=`url(#${e})`}V.append(`polygon`).attr(`class`,`bc-bar-connection`).attr(`points`,`${a},${s} ${o},${c} ${o},${l} ${a},${l}`).attr(`fill`,f).attr(`opacity`,t).attr(`pointer-events`,`none`)}}let ne=$(g).append(`g`);if(E){let e=n.colors??Ob,t=`#333`;if(n.connectedColumns&&D.length>1){let e=n.colors??Ob,t=n.connectionsOpacity??.15;for(let n=0;n<D.length-1;n++){let r=D[n],i=D[n+1];if(i.isTotal||r.value==null||i.value==null||Number.isNaN(r.value)||Number.isNaN(i.value)||r.value===0||i.value===0)continue;let a=(k(r.label)??0)+k.bandwidth(),o=k(i.label)??0,s=M(r.y1),c=M(i.y1),l=M(r.y0),u=M(i.y0),d=F.get(r.label)??e[0],f=F.get(i.label)??e[0],p;if(d===f)p=d;else{let e=`bc-conn-grad-${B}-${n}`,t=z.append(`linearGradient`).attr(`id`,e).attr(`x1`,`0%`).attr(`x2`,`100%`).attr(`y1`,`0%`).attr(`y2`,`0%`);t.append(`stop`).attr(`offset`,`0%`).attr(`stop-color`,d),t.append(`stop`).attr(`offset`,`100%`).attr(`stop-color`,f),p=`url(#${e})`}V.append(`polygon`).attr(`class`,`bc-bar-connection`).attr(`points`,`${a},${s} ${o},${c} ${o},${u} ${a},${l}`).attr(`fill`,p).attr(`opacity`,t).attr(`pointer-events`,`none`)}}for(let e=0;e<D.length-1;e++){let t=D[e],n=D[e+1];if(n.isTotal)break;V.append(`line`).attr(`class`,`bc-waterfall-connector`).attr(`x1`,(k(t.label)??0)+k.bandwidth()).attr(`x2`,k(n.label)??0).attr(`y1`,M(t.y1)).attr(`y2`,M(t.y1)).attr(`stroke`,`currentColor`).attr(`stroke-dasharray`,`2,2`).attr(`opacity`,.3)}if(V.selectAll(`.bc-bar`).data(D,e=>e.label).enter().append(`rect`).attr(`class`,`bc-bar`).attr(`x`,e=>k(e.label)??0).attr(`y`,e=>Math.min(M(e.y0),M(e.y1))).attr(`width`,k.bandwidth()).attr(`height`,e=>Math.abs(M(e.y0)-M(e.y1))).attr(`fill`,n=>n.isTotal?t:F.get(n.label)??e[0]).attr(`opacity`,e=>I.size>0?lb(I,e.label):null),n.valueLabels){let r=n.valueLabelPosition??ei.Auto,i=Sh(n.verticalAxis?.numberFormat??``),a=e=>i?i(e):String(e);ne.selectAll(`.bc-value-label`).data(D,e=>e.label).enter().append(`text`).attr(`class`,`bc-value-label`).attr(`font-size`,`11px`).attr(`x`,e=>(k(e.label)??0)+k.bandwidth()/2).attr(`y`,e=>{let t=Math.min(M(e.y0),M(e.y1)),n=Math.abs(M(e.y0)-M(e.y1));return r===ei.Inside?t+n/2:t-4}).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,r===ei.Inside?`central`:`auto`).attr(`fill`,n=>r===ei.Inside?Sr(n.isTotal?t:F.get(n.label)??e[0]):`currentColor`).text(e=>T?e.label:a(e.isTotal?e.y1:e.value))}}else{let t=zy(e),i=V.append(`g`).node();if(r)for(let e of c)i.appendChild(e);Zy(t,{role:`mark-per-category`,parent:i,selector:`.bc-bar`,data:w,key:e=>e.label,insert:e=>e.append(`rect`).attr(`class`,`bc-bar`),attrs:e=>({x:k(e.label)??0,y:Math.min(M(0),M(e.value)),width:k.bandwidth(),height:Math.abs(M(e.value)-M(0)),fill:F.get(e.label)??(n.colors??Ob)[0],opacity:lb(I,e.label)})}),ab(t,{svg:L,clipId:R,group:g,from:s,to:S,active:r&&c.length>0});let o=Py(V);n.tooltips&&o.use(Fv({numberFormat:n.verticalAxis?.numberFormat})),n.crosshair&&o.use(Lv({width:_,height:b,direction:n.crosshairDirection,style:n.crosshairStyle,color:n.crosshairColor})),n.annotations?.length&&o.use(Ty(n.annotations,{scaleX:k,scaleY:M,data:w,width:_,height:b,backgroundColor:wr(e),transition:r,priorAnnotations:a}));let l=()=>o.draw(w);if(t.state===`committing`?t.register(l):l(),n.valueLabels){let e=Sh(n.verticalAxis?.numberFormat??``);Nb(ne,w,k,M,{position:n.valueLabelPosition,colorOverrides:F,colors:n.colors??Ob,transition:r,swapLabelValue:T,percent:n.valueLabels===`percent`,total:Qi(w,e=>e.value),formatValue:t=>e?e(t):String(t),bounds:{plotHeight:b,marginTop:y.top,marginBottom:y.bottom}})}}if(f){let e=$(g).append(`g`).attr(`class`,`bc-category-labels`);for(let t of O)e.append(`text`).attr(`class`,`bc-category-label`).attr(`x`,(k(t)??0)+k.bandwidth()/2).attr(`y`,b+13/2).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`central`).attr(`font-size`,`10px`).attr(`font-weight`,`600`).attr(`fill`,`currentColor`).text(t)}ky(e,{chartType:`bar-vertical`,margin:y,plotRect:S}),i&&(sg(V.node()),lg(e,i))}function Mb(e,t,n,r,i){let a=(t(e.label)??0)+t.bandwidth()/2,o=`middle`,s=e=>Math.max(0,Math.min(i.plotHeight,e)),c=s(Math.min(n(0),n(e.value))),l=s(Math.max(n(0),n(e.value))),u=e.value<0,d=n(e.value),f=d<0||d>i.plotHeight,p=u?l+kb:c-kb,m=u?p+Ab<=i.plotHeight+i.marginBottom:p-Ab>=-i.marginTop,h=l-c,g=(r===ei.Inside||f||!m)&&h>=12;return g?{tx:a,ty:(c+l)/2,anchor:o,baseline:`central`,isInside:g}:{tx:a,ty:p,anchor:o,baseline:u?`hanging`:`auto`,isInside:g}}function Nb(e,t,n,r,i){let a=i.position??ei.Auto,o=e=>i.swapLabelValue?e.label:i.percent&&i.total!==void 0?Ch(e.value,i.total):i.formatValue(e.value),s=e.select(`.bc-value-label-group`);s.empty()&&(s=e.append(`g`).attr(`class`,`bc-value-label-group`));let c=e.node().ownerSVGElement?.parentElement,l=zy(c),u=t.filter(e=>_b({text:o(e),placement:a===ei.Inside?`inside`:`outside`,orientation:`vertical`,barWidth:n.bandwidth(),barHeight:Math.abs(r(e.value)-r(0))}));Zy(l,{role:`value-label`,parent:s.node(),selector:`.bc-value-label`,data:u,key:e=>e.label,insert:e=>e.append(`text`).attr(`class`,`bc-value-label`).attr(`font-size`,`11px`),attrs:e=>{let t=Mb(e,n,r,a,i.bounds);return{x:t.tx,y:t.ty,"text-anchor":t.anchor,"dominant-baseline":t.baseline,fill:t.isInside?Sr(i.colorOverrides.get(e.label)??i.colors[0]):`currentColor`}}}),s.selectAll(`.bc-value-label`).data(u,e=>e.label).text(o)}function Pb(e,t){let n=e.labels.map((t,n)=>({label:t,value:e.values[n]}));return t.sort===Xr.Ascending?n.sort((e,t)=>e.value-t.value):t.sort===Xr.Descending&&n.sort((e,t)=>t.value-e.value),n.map(e=>e.label)}var Fb=[`#4e79a7`],Ib=4;function Lb(e,t,n={},r=!1){ag(r);let i=null,a,o,s=[],c,l=Yg.for(e);if(r){let t=Oy(e);o=t?.margin,c=t?.plotRect,l.detach(),t?.chartType===`bar-horizontal`?s=Array.from(e.querySelectorAll(`.bc-frame .bc-bar`)):t&&(i=cg(e)),a=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of zv(t))a.set(e,n);e.replaceChildren()}let{body:u}=yh(e,n.frame),d=eg(u).width,f=Db(d,n.verticalAxis?.labelPosition),p=n.categoryLabelLine===!0||f,m=Zh(t.labels),h=Qh(d,p?zr.Off:n.verticalAxis?.labelPosition,n.horizontalAxis?.labelPosition,n.verticalAxis?.direction,m,n.horizontalAxis?.showAxis),g=n.valueLabelPosition??ei.Auto,_=n.swapLabelValue===!0,v=Sh(n.horizontalAxis?.numberFormat??``),y=e=>v?v(e):String(e);if(n.valueLabels&&g!==ei.Inside){if(_){let e=Sb(t.labels.reduce((e,t)=>e.length>t.length?e:t,``))+8;h.right=Math.max(h.right??15,e)}else{let e=t.values.filter(e=>Number.isFinite(e)),n=Math.max(...e),r=Math.min(...e),i=n>0?Sb(y(n))+8:0,a=r<0?Sb(y(r))+8:0;h.right=Math.max(h.right??15,i),a>0&&(h.left=(h.left??50)+a)}}let{chartArea:b,width:x,height:S,margin:C}=ng(u,h),w={left:C.left,top:C.top,width:x,height:S},T=Rh(o,C),E=Bb(t,n),D=E.map(e=>({label:e,value:t.values[t.labels.indexOf(e)]})).filter(e=>Number.isFinite(e.value)),O=n.waterfall===!0,k=[];if(O){let e=0;for(let t of D){let n=e;e+=t.value,k.push({label:t.label,value:t.value,x0:n,x1:e,isTotal:!1})}n.waterfallTotal&&k.push({label:`Total`,value:e,x0:0,x1:e,isTotal:!0})}let ee=n.horizontalAxis?.scaleType===`log`,[A,j]=wi(O?k.flatMap(e=>[e.x0,e.x1]):D.map(e=>e.value),n.horizontalAxis?.range,n.horizontalAxis?.scaleType),M=ee?Ed().domain([A,j]).nice().range([0,x]):Sd().domain([A,j]).nice().range([0,x]),N=O?k.map(e=>e.label):E,P=od().domain(N).range([0,S]).padding(Ci(n.barGap)),F=p?Tb(P.bandwidth()):0,I=_&&n.valueLabels&&!O?(()=>{let e=new Map(D.map(e=>[e.label,e.value]));return{...n.verticalAxis,topPadding:C.top,tickFormat:t=>String(e.get(t)??t)}})():{...n.verticalAxis,topPadding:C.top},L=p?{...I,labelPosition:zr.Off,...f?{showAxis:!1}:{}}:I;l.attach(b,T),l.update({horizontal:{scale:M,height:S,options:{...n.horizontalAxis,width:x}},vertical:{scale:P,height:S,options:L},order:`horizontal-first`}),!ee&&A<0&&j>0&&$(b).append(`line`).attr(`class`,`bc-zero-baseline`).attr(`x1`,M(0)).attr(`x2`,M(0)).attr(`y1`,0).attr(`y2`,S).attr(`stroke`,`#666`).attr(`stroke-width`,1);let R=Ey(n.colorizes),z=cb(n.highlights,N),B=b.ownerSVGElement,V=My(B,e,`bars`,{x:0,y:0,width:x,height:S}),te=$(B).select(`defs`),ne=V.replace(/^bc-clip-/,``),re=$(b).append(`g`).attr(`clip-path`,`url(#${V})`);if(n.barBackground){let e=(n.colors??Fb)[0],t=O?N:D.map(e=>e.label);re.selectAll(`.bc-bar-bg`).data(t,e=>e).enter().append(`rect`).attr(`class`,`bc-bar-bg`).attr(`x`,0).attr(`y`,e=>(P(e)??0)+F).attr(`width`,x).attr(`height`,P.bandwidth()-F).attr(`fill`,e).attr(`opacity`,.18)}let ie=O?N:D.map(e=>e.label);if(n.barSeparators&&ie.length>1){let e=P.step();for(let t=1;t<ie.length;t++){let n=(P(ie[t-1])??0)+P.bandwidth()+(e-P.bandwidth())/2;re.append(`line`).attr(`class`,`bc-bar-separator`).attr(`x1`,0).attr(`x2`,x).attr(`y1`,n).attr(`y2`,n).attr(`stroke`,`currentColor`).attr(`opacity`,.15)}}if(!O&&n.connectedColumns&&D.length>1){let e=n.colors??Fb,t=n.connectionsOpacity??.15;for(let n=0;n<D.length-1;n++){let r=D[n],i=D[n+1];if(r.value==null||i.value==null||Number.isNaN(r.value)||Number.isNaN(i.value)||r.value===0||i.value===0)continue;let a=(P(r.label)??0)+P.bandwidth(),o=(P(i.label)??0)+F,s=Math.max(M(0),M(r.value)),c=Math.max(M(0),M(i.value)),l=M(0),u=R.get(r.label)??e[0],d=R.get(i.label)??e[0],f;if(u===d)f=u;else{let e=`bc-conn-grad-${ne}-${n}`,t=te.append(`linearGradient`).attr(`id`,e).attr(`x1`,`0%`).attr(`x2`,`0%`).attr(`y1`,`0%`).attr(`y2`,`100%`);t.append(`stop`).attr(`offset`,`0%`).attr(`stop-color`,u),t.append(`stop`).attr(`offset`,`100%`).attr(`stop-color`,d),f=`url(#${e})`}re.append(`polygon`).attr(`class`,`bc-bar-connection`).attr(`points`,`${s},${a} ${c},${o} ${l},${o} ${l},${a}`).attr(`fill`,f).attr(`opacity`,t).attr(`pointer-events`,`none`)}}if(O){let e=n.colors??Fb,t=`#333`;if(n.connectedColumns&&k.length>1){let e=n.colors??Fb,t=n.connectionsOpacity??.15;for(let n=0;n<k.length-1;n++){let r=k[n],i=k[n+1];if(i.isTotal||r.value==null||i.value==null||Number.isNaN(r.value)||Number.isNaN(i.value)||r.value===0||i.value===0)continue;let a=(P(r.label)??0)+P.bandwidth(),o=(P(i.label)??0)+F,s=M(r.x1),c=M(i.x1),l=M(r.x0),u=M(i.x0),d=R.get(r.label)??e[0],f=R.get(i.label)??e[0],p;if(d===f)p=d;else{let e=`bc-conn-grad-${ne}-${n}`,t=te.append(`linearGradient`).attr(`id`,e).attr(`x1`,`0%`).attr(`x2`,`0%`).attr(`y1`,`0%`).attr(`y2`,`100%`);t.append(`stop`).attr(`offset`,`0%`).attr(`stop-color`,d),t.append(`stop`).attr(`offset`,`100%`).attr(`stop-color`,f),p=`url(#${e})`}re.append(`polygon`).attr(`class`,`bc-bar-connection`).attr(`points`,`${s},${a} ${c},${o} ${u},${o} ${l},${a}`).attr(`fill`,p).attr(`opacity`,t).attr(`pointer-events`,`none`)}}for(let e=0;e<k.length-1;e++){let t=k[e],n=k[e+1];if(n.isTotal)break;re.append(`line`).attr(`class`,`bc-waterfall-connector`).attr(`x1`,M(t.x1)).attr(`x2`,M(t.x1)).attr(`y1`,(P(t.label)??0)+P.bandwidth()).attr(`y2`,(P(n.label)??0)+F).attr(`stroke`,`currentColor`).attr(`stroke-dasharray`,`2,2`).attr(`opacity`,.3)}if(re.selectAll(`.bc-bar`).data(k,e=>e.label).enter().append(`rect`).attr(`class`,`bc-bar`).attr(`x`,e=>Math.min(M(e.x0),M(e.x1))).attr(`y`,e=>(P(e.label)??0)+F).attr(`width`,e=>Math.abs(M(e.x1)-M(e.x0))).attr(`height`,P.bandwidth()-F).attr(`fill`,n=>n.isTotal?t:R.get(n.label)??e[0]).attr(`opacity`,e=>z.size>0?lb(z,e.label):null),n.valueLabels){let n=g;$(b).append(`g`).selectAll(`.bc-value-label`).data(k,e=>e.label).enter().append(`text`).attr(`class`,`bc-value-label`).attr(`font-size`,`11px`).attr(`dominant-baseline`,`central`).attr(`y`,e=>(P(e.label)??0)+F+(P.bandwidth()-F)/2).attr(`x`,e=>{let t=Math.max(M(e.x0),M(e.x1));return n===ei.Inside?t-4:t+4}).attr(`text-anchor`,n===ei.Inside?`end`:`start`).attr(`fill`,r=>n===ei.Inside?Sr(r.isTotal?t:R.get(r.label)??e[0]):`currentColor`).text(e=>_?e.label:y(e.isTotal?e.x1:e.value))}}else{let t=zy(e),i=re.append(`g`).node();if(r)for(let e of s)i.appendChild(e);Zy(t,{role:`mark-per-category`,parent:i,selector:`.bc-bar`,data:D,key:e=>e.label,insert:e=>e.append(`rect`).attr(`class`,`bc-bar`),attrs:e=>({x:Math.min(M(0),M(e.value)),y:(P(e.label)??0)+F,width:Math.abs(M(e.value)-M(0)),height:P.bandwidth()-F,fill:R.get(e.label)??(n.colors??Fb)[0],opacity:lb(z,e.label)})}),ab(t,{svg:B,clipId:V,group:b,from:c,to:w,active:r&&s.length>0});let o=Py(re);n.tooltips&&o.use(Fv({numberFormat:n.horizontalAxis?.numberFormat})),n.crosshair&&o.use(Lv({width:x,height:S,direction:n.crosshairDirection,style:n.crosshairStyle,color:n.crosshairColor,orientation:Kr.Horizontal})),n.annotations?.length&&o.use(Ty(n.annotations,{scaleX:P,scaleY:M,data:D,width:x,height:S,backgroundColor:wr(e),orientation:Kr.Horizontal,transition:r,priorAnnotations:a}));let l=()=>o.draw(D);t.state===`committing`?t.register(l):l(),n.valueLabels&&zb($(b).append(`g`),D,M,P,{position:g,colorOverrides:R,colors:n.colors??Fb,transition:r,swapLabelValue:_,categoryLabelOffset:F,percent:n.valueLabels===`percent`,total:Qi(D,e=>e.value),formatValue:y,bounds:{plotWidth:x,marginLeft:C.left,marginRight:C.right}})}if(p){let e=$(b).append(`g`).attr(`class`,`bc-category-labels`);for(let t of N){let n=P(t)??0;e.append(`text`).attr(`class`,`bc-category-label`).attr(`x`,2).attr(`y`,n+13/2).attr(`text-anchor`,`start`).attr(`dominant-baseline`,`central`).attr(`font-size`,`10px`).attr(`font-weight`,`600`).attr(`fill`,`currentColor`).text(t)}}ky(e,{chartType:`bar-horizontal`,margin:C,plotRect:w}),i&&(sg(re.node()),lg(e,i))}function Rb(e,t,n,r,i,a,o){let s=(n(e.label)??0)+i+(n.bandwidth()-i)/2,c=e=>Math.max(0,Math.min(a.plotWidth,e)),l=t(e.value),u=l<0||l>a.plotWidth,d=e.value<0,f=d?Math.min(c(t(0)),c(l)):Math.max(c(t(0)),c(l)),p=d?f-Ib-o>=Ib-a.marginLeft:f+Ib+o<=a.plotWidth+a.marginRight-Ib,m=d?a.plotWidth-f:f,h=(r===ei.Inside||u||!p)&&m>=o+Ib;return h?d?{tx:f+Ib,ty:s,anchor:`start`,isInside:h}:{tx:f-Ib,ty:s,anchor:`end`,isInside:h}:d?{tx:f-Ib,ty:s,anchor:`end`,isInside:h}:{tx:f+Ib,ty:s,anchor:`start`,isInside:h}}function zb(e,t,n,r,i){let a=i.position??ei.Auto,o=i.categoryLabelOffset??0,s=e=>i.swapLabelValue?e.label:i.percent&&i.total!==void 0?Ch(e.value,i.total):i.formatValue(e.value),c=e.select(`.bc-value-label-group`);c.empty()&&(c=e.append(`g`).attr(`class`,`bc-value-label-group`));let l=e.node().ownerSVGElement?.parentElement,u=zy(l),d=t.filter(e=>_b({text:s(e),placement:a===ei.Inside?`inside`:`outside`,orientation:`horizontal`,barWidth:Math.abs(n(e.value)-n(0)),barHeight:r.bandwidth()}));Zy(u,{role:`value-label`,parent:c.node(),selector:`.bc-value-label`,data:d,key:e=>e.label,insert:e=>e.append(`text`).attr(`class`,`bc-value-label`).attr(`font-size`,`11px`).attr(`dominant-baseline`,`central`),attrs:e=>{let t=Rb(e,n,r,a,o,i.bounds,Sb(s(e)));return{x:t.tx,y:t.ty,"text-anchor":t.anchor,fill:t.isInside?Sr(i.colorOverrides.get(e.label)??i.colors[0]):`currentColor`}}}),c.selectAll(`.bc-value-label`).data(d,e=>e.label).text(s)}function Bb(e,t){let n=e.labels.map((t,n)=>({label:t,value:e.values[n]}));return t.sort===Xr.Ascending?n.sort((e,t)=>e.value-t.value):t.sort===Xr.Descending&&n.sort((e,t)=>t.value-e.value),n.map(e=>e.label)}var Vb=12,Hb=16,Ub=12,Wb=8;function Gb(e){return e>0?e-Hb-Ub:1/0}function Kb(e,t=``,n=0){let r=t?` ${t}`:``,i=Lh(e,Gb(n)-Fh(r,Vb),Vb);return{label:i,suffix:r,width:Hb+Fh(i+r,Vb)+Ub}}function qb(e){return Ih(e,Vb)+Hb+Wb}function Jb(e,t,n){if(e.length===0)return{width:0,height:0};if(t===`left`||t===`right`)return{width:qb(e),height:e.length*20};let r=e.map(e=>Kb(e,``,n).width);if(!n||n<=0)return{width:r.reduce((e,t)=>e+t,0),height:20};let i=1,a=0,o=0;for(let e of r)a>0&&a+e>n?(o=Math.max(o,a),i++,a=e):a+=e;return o=Math.max(o,a),{width:o,height:i*20}}function Yb(e){return e.length===0?0:Ih(e,Vb)+10}var Xb=[`#4e79a7`,`#f28e2b`,`#e15759`,`#76b7b2`,`#59a14f`,`#edc948`,`#b07aa1`,`#ff9da7`],Zb=200,Qb=.2,$b=class extends ch{initialize(){this.configDefine(`colors`,{defaultValue:Xb}),this.configDefine(`yOffset`,{defaultValue:-10}),this.configDefine(`layout`,{defaultValue:`horizontal`}),this.configDefine(`valueSuffixes`,{defaultValue:[]}),this.configDefine(`maxWidth`,{defaultValue:0});let e=this.base.append(`g`).attr(`class`,`bc-legend`),t=e=>{let t=this.config(`colors`),n=this.config(`layout`),r=this.config(`valueSuffixes`),i=this.base.node()?.ownerSVGElement?.parentElement??document.documentElement,a=getComputedStyle(i).getPropertyValue(`--bc-text-color`).trim()||`#555`,o=this.config(`maxWidth`),s=0,c=0;e.each(function(e,i){let l=$(this),u=r[i],d=Kb(e,u,n===`horizontal`?o:0),f=d.width;n===`horizontal`&&o>0&&s>0&&s+f>o&&(s=0,c+=20),l.attr(`transform`,`translate(${s},${c})`).attr(`data-series`,e).style(`cursor`,`default`);let p=l.select(`rect`);p.empty()&&(p=l.append(`rect`).attr(`width`,12).attr(`height`,12)),p.attr(`fill`,t[i%t.length]);let m=l.select(`text`);m.empty()&&(m=l.append(`text`).attr(`x`,16).attr(`y`,10).attr(`font-size`,`12px`)),m.attr(`fill`,a),m.selectAll(`tspan`).remove(),u?(m.text(null),m.append(`tspan`).attr(`font-weight`,`bold`).text(d.label),m.append(`tspan`).text(d.suffix)):m.text(d.label),n===`vertical`?c+=20:s+=f})};this.layer(`items`,e,{dataBind:(e,t)=>e.selectAll(`.bc-legend-item`).data(t,e=>e),insert:e=>e.append(`g`).attr(`class`,`bc-legend-item`),events:{enter:t,update:t}})}preDraw(){let e=this.config(`yOffset`);this.base.select(`.bc-legend`).attr(`transform`,`translate(0,${e})`)}};function ex(e){let t=$(e).selectAll(`.bc-legend-item`);if(t.empty())return;let n=null,r=null;function i(n){r=n,t.each(function(){let e=$(this),t=e.attr(`data-series`)===n;e.transition().duration(150).style(`opacity`,t?1:Qb)}),$(e).selectAll(`[data-series]`).filter(function(){return!this.closest(`.bc-legend`)}).each(function(){let e=$(this),t=e.attr(`data-series`)===n,r=this.classList.contains(`bc-direct-label`)||this.classList.contains(`bc-value-label`);e.transition().duration(150).style(`opacity`,t?1:r?0:Qb)})}function a(){r=null,t.transition().duration(150).style(`opacity`,1),$(e).selectAll(`[data-series]`).filter(function(){return!this.closest(`.bc-legend`)}).transition().duration(150).style(`opacity`,null)}t.on(`mouseenter.bcHighlight`,null).on(`mouseleave.bcHighlight`,null).on(`mouseenter.bcHighlight`,function(){let e=$(this).attr(`data-series`)??``;n&&clearTimeout(n),n=setTimeout(()=>i(e),rg(Zb))}).on(`mouseleave.bcHighlight`,()=>{n&&=(clearTimeout(n),null),r!==null&&a()})}function tx(e,t,n=Xb,r=-10,i=`top`,a=`start`,o=0,s=0,c=0,l=[],u={}){let d=i===`left`||i===`right`?`vertical`:`horizontal`,f=new $b($(e));f.config({colors:n,yOffset:r,layout:d,valueSuffixes:l,maxWidth:o}),f.draw(t);let p=e.querySelector(`.bc-legend`);if(p){let e,n;if(d===`horizontal`){let r=t.map((e,t)=>Kb(e,l[t],o).width),i=1,a=0,s=0;for(let e of r)o>0&&a>0&&a+e>o?(s=Math.max(s,a),i++,a=e):a+=e;s=Math.max(s,a),e=s,n=i*20}else e=qb(t.map((e,t)=>l[t]?`${e} ${l[t]}`:e)),n=t.length*20;let i=u.left??0,f=u.right??0,m=c,h=r;d===`horizontal`?m+=a===`middle`?-i+(o+i+f-e)/2:a===`end`?o+f-e:-i:a===`middle`?h+=(s-n)/2:a===`end`&&(h+=s-n),p.setAttribute(`transform`,`translate(${m},${h})`)}return ex(e),p}function nx(e){return e.series?e.series:e.values.length>0?[{name:``,values:e.values}]:[]}function rx(e,t){if(t<=e.length)return e;let n=e.filter(e=>br.valid(e));return n.length<2?e:br.scale(n).mode(`lch`).colors(t)}function ix(e,t){return t?.find(t=>t.name===e)}function ax(e,t,n,r){return ix(e,r)?.color??n[t%n.length]}function ox(e,t){return ix(e,t)?.dash??`solid`}function sx(e,t){return ix(e,t)?.lineWidth??2}function cx(e,t,n){let r=ix(e,n);return!r?.interpolation||r.interpolation===`global`?t:r.interpolation}function lx(e,t){return ix(e,t)?.hidden??!1}function ux(e,t,n){let r=ix(e,n);return!r?.labelMode||r.labelMode===`global`?t:r.labelMode}function dx(e,t,n){let r=ix(e,n);return r?.valueLabels===void 0?t:r.valueLabels}function fx(e,t){return ix(e,t)?.opacity??1}function px(e,t,n){let r=ix(e,n);if(r?.lineSymbols!==!1&&(r?.lineSymbols===!0||t))return{name:e,symbolShape:r?.symbolShape??t?.symbolShape,symbolShowOn:r?.symbolShowOn??t?.symbolShowOn,symbolStyle:r?.symbolStyle??t?.symbolStyle,symbolSize:r?.symbolSize??t?.symbolSize,symbolOpacity:r?.symbolOpacity??t?.symbolOpacity,lineSymbols:!0}}var mx=[`#4e79a7`,`#f28e2b`,`#e15759`,`#76b7b2`,`#59a14f`,`#edc948`,`#b07aa1`,`#ff9da7`],hx=4,gx=16,_x=8;function vx(e,t,n={},r=!1){ag(r);let i=null,a,o,s=[],c,l=Yg.for(e);if(r){let t=Oy(e);o=t?.margin,c=t?.plotRect,l.detach(),t?.chartType===`bar-multi`?s=Array.from(e.querySelectorAll(`.bc-frame .bc-bar-multi`)):t&&(i=cg(e)),a=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of zv(t))a.set(e,n);e.replaceChildren()}let{body:u}=yh(e,n.frame),d=t.series??[],f=d.filter(e=>!lx(e.name,n.seriesOverrides)),p=f.map(e=>e.name),m=rx(n.colors??mx,d.length),h=n.seriesOverrides,g=n.directLabelling===!0||n.directLabelling===`auto`&&n.legend!==!0||!!n.directLabelling&&n.directLabelling!==`auto`,_=g?`direct`:n.legend===!1?`none`:`legend`,v=n.valueLabels??!1,y=n.valueLabelPosition??ei.Auto,b=typeof n.directLabelling==`string`?n.directLabelling:n.directLabelling?ii.Auto:ii.Off,x=n.legend!==!1&&!g,S=eg(u).width,C=n.legendPosition??`top`,w=S>0&&S<350&&(C===`left`||C===`right`)?`top`:C,T=n.legendAnchor??`start`,E=f.flatMap(e=>e.values),D=Xh(E,n.verticalAxis?.range,n.verticalAxis?.numberFormat,n.verticalAxis?.scaleType),O=Qh(S,n.verticalAxis?.labelPosition,n.horizontalAxis?.labelPosition,n.verticalAxis?.direction,D),k=O.top!=null,ee=Math.max(0,S-(O.left??50)-(O.right??20)),A=x?Jb(p,w,ee):{width:0,height:0},j=x?A.height+15:0,M={...O};x&&w===`top`&&(M.top=j+(k?15:0)),x&&w===`left`&&(M.left=(M.left??50)+A.width+10),x&&w===`right`&&(M.right=(M.right??20)+A.width+10);let N=Math.max(0,S-(M.left??50)-(M.right??20));M.bottom=(Mg(t.labels,N,n.horizontalAxis)??Math.max(M.bottom??24,24))+(w===`bottom`?j:0);let P=g||!!h?.some(e=>e.labelMode===`direct`),F=v!==!1||!!h?.some(e=>e.valueLabels),I=P&&b!==ii.Inside,L=F&&y!==ei.Inside,R=I&&L?gx:hx;(I||L)&&(M.top=(M.top??0)+R+_x);let{chartArea:z,width:B,height:V,margin:te}=ng(u,M),ne=Rh(o,te),[re,ie]=wi(E,n.verticalAxis?.range,n.verticalAxis?.scaleType);if(n.valueLabels&&re<0&&n.verticalAxis?.range?.min==null){let e=ie-re;re-=e*.1}let ae=t.labels;if(n.sortMode===`total`){let e=t.labels.map((e,t)=>({label:e,index:t,total:f.reduce((e,n)=>e+(n.values[t]??0),0)}));e.sort((e,t)=>t.total-e.total),ae=e.map(e=>e.label)}let oe=od().domain(ae).range([0,B]).padding(Ci(n.barGap)),H=od().domain(p).range([0,oe.bandwidth()]).padding(.05),se=n.verticalAxis?.scaleType===`log`,ce=se?Ed().domain([re,ie]).nice().range([V,0]):Sd().domain([re,ie]).nice().range([V,0]);l.attach(z,ne),l.update({vertical:{scale:ce,height:V,options:{...n.verticalAxis,gridWidth:B,topPadding:te.top}},horizontal:{scale:oe,height:V,options:{...n.horizontalAxis,width:B}}}),!se&&re<0&&ie>0&&$(z).append(`line`).attr(`class`,`bc-zero-baseline`).attr(`x1`,0).attr(`x2`,B).attr(`y1`,ce(0)).attr(`y2`,ce(0)).attr(`stroke`,`#666`).attr(`stroke-width`,1);let le=new Map;n.sortMode===`within-groups`&&t.labels.forEach((e,t)=>{let n=f.map(e=>({name:e.name,value:e.values[t]}));n.sort((e,t)=>t.value-e.value),n.forEach((t,n)=>{le.set(`${e}\0${t.name}`,p[n])})});let ue=[];t.labels.forEach((e,t)=>{f.forEach(r=>{let i=d.findIndex(e=>e.name===r.name),a=n.sortMode===`within-groups`?le.get(`${e}\0${r.name}`)??r.name:r.name;ue.push({label:e,series:a,seriesName:r.name,value:r.values[t],seriesIndex:i})})});let de=z.ownerSVGElement,U=My(de,e,`bars`,{x:0,y:0,width:B,height:V}),W=$(z).append(`g`).attr(`clip-path`,`url(#${U})`),fe=zy(e),pe=cb(n.highlights,ue.map(e=>e.seriesName)),me=Ey(n.colorizes),he=W.append(`g`).node();if(r)for(let e of s)e.removeAttribute(`opacity`),e.removeAttribute(`fill-opacity`),he.appendChild(e);Zy(fe,{role:`mark-per-cell`,parent:he,selector:`.bc-bar-multi`,data:ue,key:e=>`${e.label}\0${e.seriesName}`,insert:e=>e.append(`rect`).attr(`class`,`bc-bar bc-bar-multi`),attrs:e=>{let t=ax(e.seriesName,e.seriesIndex,m,h),n=fx(e.seriesName,h),r={"data-series":e.seriesName,x:(oe(e.label)??0)+(H(e.series)??0),y:Math.min(ce(0),ce(e.value)),width:H.bandwidth(),height:Math.abs(ce(e.value)-ce(0)),fill:me.get(e.seriesName)??t};return n<1&&(r[`fill-opacity`]=n),pe.size>0?{...r,opacity:lb(pe,e.seriesName)}:r}});let ge={left:te.left,top:te.top,width:B,height:V};ab(fe,{svg:de,clipId:U,group:z,from:c,to:ge,active:r&&s.length>0});let _e=Py(W);if(n.tooltips&&_e.use(Fv({numberFormat:n.verticalAxis?.numberFormat})),n.crosshair&&_e.use(Lv({width:B,height:V,direction:n.crosshairDirection,style:n.crosshairStyle,color:n.crosshairColor})),n.annotations?.length){let i=t.labels.map((e,t)=>({label:e,value:Math.max(...f.map(e=>e.values[t]??0))}));_e.use(Ty(n.annotations,{scaleX:oe,scaleY:ce,data:i,width:B,height:V,backgroundColor:wr(e),transition:r,priorAnnotations:a}))}let ve=()=>_e.draw(ue);fe.state===`committing`?fe.register(ve):ve(),ky(e,{chartType:`bar-multi`,margin:te,plotRect:ge}),i&&(sg(W.node()),lg(e,i));let ye=new Set;f.forEach(e=>{ux(e.name,_,h)===`direct`&&ye.add(e.name)});let be=ye.size>0,xe=wr(e),Se=n.directLabelAnchor??`middle`;function G(){return y===ei.Inside?ei.Inside:(ei.Outside,ei.Outside)}function K(e){return b===ii.Inside?ei.Inside:b===ii.Outside?ei.Outside:v?G():ei.Outside}function Ce(e,t,n){return n===`start`?e+12:n===`end`?e+t-4:e+t/2}let we=$(z).append(`g`).attr(`class`,`bc-value-labels`);ue.forEach(e=>{if(!dx(e.seriesName,v,h))return;let t=(oe(e.label)??0)+(H(e.series)??0)+H.bandwidth()/2,n=Math.min(ce(0),ce(e.value)),r=Math.abs(ce(e.value)-ce(0)),i=G(),a=be&&ye.has(e.seriesName),o=e.value<0,s=n+r,c,l,u;i===ei.Inside?(l=Sr(ax(e.seriesName,e.seriesIndex,m,h)),u=`central`,c=a&&K(r)===ei.Inside?Ce(n,r,Se)+14:n+r/2):(l=`currentColor`,o?(c=a&&K(r)===ei.Outside?s+gx:s+hx,u=`hanging`):(c=a&&K(r)===ei.Outside?n-gx:n-hx,u=`auto`)),_b({text:String(e.value),placement:i===ei.Inside?`inside`:`outside`,orientation:`vertical`,barWidth:H.bandwidth(),barHeight:r})&&we.append(`text`).attr(`class`,`bc-value-label`).attr(`data-series`,e.seriesName).attr(`x`,t).attr(`y`,c).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,u).attr(`font-size`,`11px`).attr(`fill`,l).text(String(e.value))}),ue.forEach(e=>{if(!ye.has(e.seriesName))return;let t=(oe(e.label)??0)+(H(e.series)??0)+H.bandwidth()/2,n=Math.min(ce(0),ce(e.value)),r=Math.abs(ce(e.value)-ce(0)),i=h?.find(t=>t.name===e.seriesName)?.labelText||e.seriesName,a=K(r),o=ax(e.seriesName,e.seriesIndex,m,h),s=$(z).append(`text`).attr(`class`,`bc-direct-label`).attr(`data-series`,e.seriesName).attr(`x`,t).attr(`text-anchor`,`middle`).attr(`font-size`,`10px`).text(i);if(a===ei.Inside){let e=Ce(n,r,Se);s.attr(`y`,e).attr(`fill`,Sr(o)),Se===`middle`&&s.attr(`dominant-baseline`,`central`)}else s.attr(`y`,n-hx).attr(`fill`,Tr(o,xe))});let Te=p.filter(e=>ux(e,_,h)===`legend`);if(x&&Te.length>0){let e=Te.map(e=>ax(e,d.findIndex(t=>t.name===e),m,h)),t=0,n=0;if(w===`top`){let e=k?15:0;n=-(A.height+10+e)}else w===`bottom`?n=V+Math.max(te.bottom-j,0):w===`left`?t=-(A.width+10):w===`right`&&(t=B+10);tx(z,Te,e,n,w,T,B,V,t,[],{left:te.left,right:te.right})}}var yx={linear:Jp,monotoneX:Mm,step:Pm,stepBefore:Fm,stepAfter:Im,basis:bm,cardinal:Cm,catmullRom:Em};function bx(e){return e&&yx[e]||Jp}var xx=`bc-tooltip`,Sx=new WeakMap;function Cx(e){let t=Sx.get(e);t&&(Sx.delete(e),t())}function wx(){if(document.getElementById(`bc-tooltip-styles`))return;let e=document.createElement(`style`);e.id=`bc-tooltip-styles`,e.textContent=`
|
|
329
|
-
.${
|
|
326
|
+
`,document.head.appendChild(e)}function Wy(e){let t=e?Ng(e):null,n=e=>typeof e==`number`&&t?t(e):String(e);return e=>{if(e&&typeof e==`object`){if(`data`in e&&typeof e.data==`number`)return n(e.data);let t=e,r=typeof t.series==`string`?t.series:typeof t.seriesName==`string`?t.seriesName:null;if(r!==null&&`label`in t&&`value`in t)return`${r} – ${t.label}: ${n(t.value)}`;if(`label`in t&&`value`in t)return`${t.label}: ${n(t.value)}`;if(`series`in t&&`value`in t)return`${t.series}: ${n(t.value)}`;if(`value`in t)return n(t.value)}return String(e)}}function Gy(e){let t=e?.format??Wy(e?.numberFormat),n=null,r=[];return{name:`tooltip`,install(){Uy(),n=document.createElement(`div`),n.className=Hy,document.body.appendChild(n)},postDraw(e){e.base.selectAll(`.bc-bar, .bc-dot, .bc-arc`).each(function(){let e=this,i=()=>{if(!n)return;let r=Q(e).datum();n.textContent=t(r),n.style.display=`block`,Vy(e,n,{placement:`top`,middleware:[Ry(8),By(),zy()]}).then(({x:e,y:t})=>{n&&(n.style.left=`${e}px`,n.style.top=`${t}px`)})},a=()=>{n&&(n.style.display=`none`)};e.addEventListener(`mouseenter`,i),e.addEventListener(`mouseleave`,a),r.push(()=>{e.removeEventListener(`mouseenter`,i),e.removeEventListener(`mouseleave`,a)})})},destroy(){for(let e of r)e();r.length=0,n&&=(n.remove(),null)}}}function Ky(e){switch(e){case ii.Solid:return`none`;case ii.Dotted:return`2,2`;case ii.Dashed:default:return`4,3`}}function qy(e){let t=e?.color??`#999`,n=e?.dashArray??Ky(e?.style),r=e?.direction??ri.Both,i=e?.orientation??Jr.Vertical,a=[];return{name:`crosshair`,install(){},postDraw(o){let s=o.base,c=e?.width??0,l=e?.height??0,u=r===ri.Both||r===ri.Vertical,d=r===ri.Both||r===ri.Horizontal,f=u?s.append(`line`).attr(`class`,`bc-crosshair bc-crosshair-v`).attr(`y1`,0).attr(`y2`,l).style(`stroke`,t).attr(`stroke-width`,1).style(`stroke-dasharray`,n).attr(`pointer-events`,`none`).style(`display`,`none`):null,p=d?s.append(`line`).attr(`class`,`bc-crosshair bc-crosshair-h`).attr(`x1`,0).attr(`x2`,c).style(`stroke`,t).attr(`stroke-width`,1).style(`stroke-dasharray`,n).attr(`pointer-events`,`none`).style(`display`,`none`):null;s.selectAll(`.bc-dot, .bc-bar`).each(function(){let e=this,t=()=>{let t=Q(e),n,r;if(e.tagName===`circle`)n=parseFloat(t.attr(`cx`)),r=parseFloat(t.attr(`cy`));else{let e=parseFloat(t.attr(`x`)),a=parseFloat(t.attr(`width`)),o=parseFloat(t.attr(`y`)),s=parseFloat(t.attr(`height`));i===Jr.Horizontal?(n=e+a,r=o+s/2):(n=e+a/2,r=o)}f&&f.attr(`x1`,n).attr(`x2`,n).style(`display`,null),p&&p.attr(`y1`,r).attr(`y2`,r).style(`display`,null)},n=()=>{f&&f.style(`display`,`none`),p&&p.style(`display`,`none`)};e.addEventListener(`mouseenter`,t),e.addEventListener(`mouseleave`,n),a.push(()=>{e.removeEventListener(`mouseenter`,t),e.removeEventListener(`mouseleave`,n)})})},destroy(){for(let e of a)e();a.length=0}}}var Jy=`bc-scene`;function Yy(e){let t=e.querySelector(`.bc-annotation-line`);if(!(!t||!t.hasAttribute(`data-line-style`)))return{style:t.getAttribute(`data-line-style`),fromX:parseFloat(t.getAttribute(`data-line-from-x`)||`0`),fromY:parseFloat(t.getAttribute(`data-line-from-y`)||`0`),toX:parseFloat(t.getAttribute(`data-line-to-x`)||`0`),toY:parseFloat(t.getAttribute(`data-line-to-y`)||`0`),departVertical:t.getAttribute(`data-line-depart-vertical`)===`true`}}function Xy(e){let t=new Map,n=e.querySelectorAll(`g[data-annotation-id]`);for(let e of n){let n=e.getAttribute(`data-annotation-id`),r=Yy(e);try{let i=e.getBBox();t.set(n,{id:n,element:e,rect:{x:i.x,y:i.y,width:i.width,height:i.height},line:r})}catch{t.set(n,{id:n,element:e,rect:{x:0,y:0,width:0,height:0},line:r})}}return t}var Zy={N:{dx:0,dy:-1},NE:{dx:.707,dy:-.707},E:{dx:1,dy:0},SE:{dx:.707,dy:.707},S:{dx:0,dy:1},SW:{dx:-.707,dy:.707},W:{dx:-1,dy:0},NW:{dx:-.707,dy:-.707},center:{dx:0,dy:0}},Qy={N:{nx:0,ny:-1},NE:{nx:1,ny:-1},E:{nx:1,ny:0},SE:{nx:1,ny:1},S:{nx:0,ny:1},SW:{nx:-1,ny:1},W:{nx:-1,ny:0},NW:{nx:-1,ny:-1},center:{nx:0,ny:0}};Ur.N,Ur.W,Ur.NE,Ur.NW,Ur.E,Ur.N,Ur.SE,Ur.NE,Ur.S,Ur.E,Ur.SW,Ur.SE,Ur.W,Ur.S,Ur.NW,Ur.SW,Ur.Center,Ur.Center;function $y(e,t){let n=Zy[e]??Zy.NW;return{dx:n.dx*t,dy:n.dy*t}}function eb(e){return`step`in e&&!(`bandwidth`in e)}function tb(e){if(`bandwidth`in e||eb(e))return!1;let t=e.domain();return t.length>0&&t[0]instanceof Date}function nb(e,t){if(`bandwidth`in e){let n=e;return(n(t)??0)+n.bandwidth()/2}return eb(e)?e(t)??0:tb(e)?e(new Date(t)):e(Number(t))}function rb(e,t){let n=(t.left+t.right)/2,r=(t.top+t.bottom)/2,i=Qy[e]??Qy.N;return{x:n+i.nx*(t.right-t.left)/2,y:r+i.ny*(t.bottom-t.top)/2}}function ib(e,t,n,r,i){if(`bandwidth`in t){let a=t,o=a(e.label)??0,s=a.bandwidth(),c=n(e.value),l=n(0);return i===`horizontal`?rb(r,{left:l,right:c,top:o,bottom:o+s}):rb(r,{left:o,right:o+s,top:c,bottom:l})}let a=e.x===void 0?nb(t,e.label):t(e.x),o=n(e.value),s=Zy[r]??Zy.N;return{x:a+s.dx*2,y:o+s.dy*2}}function ab(e,t,n,r=4){let i=e.x+e.width/2,a=e.y+e.height/2;if(t===i&&n===a)return{x:i,y:a};let o=t>=e.x&&t<=e.x+e.width,s=n>=e.y&&n<=e.y+e.height,c=[];if(o&&(n<a?c.push({x:i,y:e.y-r,dist:Math.abs(a-n)}):c.push({x:i,y:e.y+e.height+r,dist:Math.abs(n-a)})),s&&(t>i?c.push({x:e.x+e.width+r,y:a,dist:Math.abs(t-i)}):c.push({x:e.x-r,y:a,dist:Math.abs(i-t)})),c.length>0){c.sort((e,t)=>e.dist-t.dist);let{x:e,y:t}=c[0];return{x:e,y:t}}let l=[{x:i,y:e.y-r},{x:i,y:e.y+e.height+r},{x:e.x+e.width+r,y:a},{x:e.x-r,y:a}],u=l[0],d=(u.x-t)**2+(u.y-n)**2;for(let e=1;e<l.length;e++){let r=(l[e].x-t)**2+(l[e].y-n)**2;r<d&&(u=l[e],d=r)}return u}function ob(e,t){if(!e)return`bc-arrow`;let n=t??`#666`,r=`bc-arrow-${n.replace(/[^a-zA-Z0-9]/g,``)}`;return e.querySelector(`#${r}`)||(Q(e).select(`defs`).empty()?Q(e).append(`defs`):Q(e).select(`defs`)).append(`marker`).attr(`id`,r).attr(`viewBox`,`0 0 10 10`).attr(`refX`,9).attr(`refY`,5).attr(`markerWidth`,8).attr(`markerHeight`,8).attr(`markerUnits`,`userSpaceOnUse`).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 1 1 L 9 5 L 1 9`).attr(`fill`,`none`).attr(`stroke`,n).attr(`stroke-width`,1.5).attr(`stroke-linecap`,`round`).attr(`stroke-linejoin`,`round`),r}function sb(e){switch(e){case Gr.Dotted:return`2,3`;case Gr.Dashed:return`5,4`;default:return``}}var cb=4,lb=12;function ub(e){return e!==void 0&&e>0?e:cb}function db(e,t,n,r={}){let i=e.append(`circle`).attr(`class`,`bc-annotation-circle`).attr(`cx`,t).attr(`cy`,n).attr(`r`,ub(r.size)).attr(`fill`,`none`).attr(`stroke`,r.color??`#666`).attr(`stroke-width`,1.5),a=sb(r.style??Gr.Solid);a&&i.attr(`stroke-dasharray`,a)}var fb=1/Math.tan(40*Math.PI/180);function pb(e,t,n){if(n){let n=t.y>=e.y?1:-1,r=Math.max(Math.abs(t.y-e.y)-Math.abs(t.x-e.x)*fb,12);return{x:e.x,y:e.y+n*r}}let r=t.x>=e.x?1:-1,i=Math.max(Math.abs(t.x-e.x)-Math.abs(t.y-e.y)*fb,12);return{x:e.x+r*i,y:e.y}}function mb(e,t,n){let r=pb(e,t,n);return`M ${e.x} ${e.y} L ${r.x} ${r.y} L ${t.x} ${t.y}`}function hb(e,t,n,r=Wr.Direct,i={}){let a;switch(r){case Wr.CurveLeft:case Wr.CurveRight:{let e=n.x-t.x,i=n.y-t.y,o=Math.sqrt(e*e+i*i)*.8,s=+(r===Wr.CurveRight);a=`M ${t.x} ${t.y} A ${o} ${o} 0 0 ${s} ${n.x} ${n.y}`;break}case Wr.Elbow:a=mb(t,n,i.departVertical??!1);break;default:a=`M ${t.x} ${t.y} L ${n.x} ${n.y}`}let o=i.color??`#666`,s=e.append(`path`).attr(`class`,`bc-annotation-line`).attr(`d`,a).attr(`fill`,`none`).attr(`stroke`,o).attr(`stroke-width`,i.lineWeight??1).attr(`pathLength`,`1`).attr(`data-line-style`,r).attr(`data-line-from-x`,String(t.x)).attr(`data-line-from-y`,String(t.y)).attr(`data-line-to-x`,String(n.x)).attr(`data-line-to-y`,String(n.y)).attr(`data-line-depart-vertical`,String(i.departVertical??!1));if(i.showArrow===!0){let t=ob(e.node()?.ownerSVGElement??null,o);s.attr(`marker-end`,`url(#${t})`)}}function gb(e,t,n,r,i={}){let a=i.textAnchor??`middle`,o=i.textOutline!==!1,s=e.append(`text`).attr(`class`,`bc-annotation-text`).attr(`x`,n).attr(`y`,r).attr(`text-anchor`,a).attr(`font-size`,`${lb}px`).attr(`fill`,i.textColor??`currentColor`);o&&s.attr(`stroke`,i.backgroundColor??`#fff`).attr(`stroke-width`,3).attr(`paint-order`,`stroke`);let c=t.split(`
|
|
327
|
+
`);if(c.length>1||i.maxWidth&&i.maxWidth>0){if(i.maxWidth&&i.maxWidth>0)_b(s,t,i.maxWidth);else for(let e=0;e<c.length;e++)s.append(`tspan`).attr(`x`,s.attr(`x`)).attr(`dy`,e===0?`0`:`1.2em`).text(c[e])}else s.text(t)}function _b(e,t,n){let r=0,i=t=>{e.append(`tspan`).attr(`x`,e.attr(`x`)).attr(`dy`,r===0?`0`:`1.2em`).text(t),r++};for(let e of t.split(`
|
|
328
|
+
`)){let t=``;for(let r of e.split(/\s+/).filter(Boolean)){let e=t?`${t} ${r}`:r;t&&Kg(e,lb)>n?(i(t),t=r):t=e;let a=Jg(t,n,lb,``);for(;a!==t;)i(a),t=t.slice(a.length),a=Jg(t,n,lb,``)}i(t)}}function vb(e,t){let n=Number(e);return Number.isFinite(n)?t.copy().clamp(!0)(n):null}function yb(e,t,n=qr.Center){if(`bandwidth`in t){let r=t,i=r(String(e));if(i===void 0)return null;let a=r.bandwidth(),o=r.step()-a;return n===`start`?i-o/2:n===`end`?i+a+o/2:i+a/2}if(eb(t)){let r=t(String(e));if(r===void 0)return null;let i=t.step()/2;return n===`start`?r-i:n===`end`?r+i:r}if(tb(t)){let n=new Date(String(e));return Number.isNaN(n.getTime())?null:t.copy().clamp(!0)(n)}return vb(e,t)}function bb(e,t){return vb(e,t)}function xb(e,t){if(typeof e==`number`)return e/100*t;let n=String(e);return n.endsWith(`%`)?parseFloat(n)/100*t:parseFloat(n)||0}function Sb(e,t){if(e==null)return;if(typeof e==`number`)return e||void 0;let n=String(e);return n.endsWith(`%`)?parseFloat(n)/100*t:parseFloat(n)||void 0}function Cb(e){return e<-4?`end`:e>4?`start`:`middle`}function wb(e,t,n){if(`bandwidth`in t){let r=t;return{x:(r(e.label)??0)+r.bandwidth()/2,y:n(e.value)}}return{x:nb(t,e.label),y:n(e.value)}}function Tb(e,t,n,r){let i=`target`in t?t.target:void 0;if(!i)return;let a=n.data.find(e=>e.label===i);if(!a)return;let o=e.append(`g`).attr(`data-annotation-index`,String(r)),s=t.key;s&&o.attr(`data-annotation-id`,s);let c=t,l=c.anchorDirection??Ur.N,u=ib(a,n.scaleX,n.scaleY,l,n.orientation),d,f,p=t;if(p.dx!=null||p.dy!=null){let{x:e,y:t}=wb(a,n.scaleX,n.scaleY);d=e+(Number(p.dx)||40),f=t+(Number(p.dy)||-40)}else if(p.direction!=null&&p.textOffsetX==null){let{x:e,y:t}=wb(a,n.scaleX,n.scaleY),r=p.direction,i=$y(r,p.anchorDistance??60);d=e+i.dx,f=t+i.dy}else d=u.x+(c.textOffsetX??-42),f=u.y+(c.textOffsetY??-42);let m=t.circleColor??`#666`,h=t;h.showCircle&&db(o,u.x,u.y,{size:h.circleSize,style:h.circleStyle,color:m});let g=Math.max(4,Math.min(d,n.width-4)),_=Math.max(4,Math.min(f,n.height-4));if(t.text){let e=Cb(d-u.x);gb(o,t.text,g,_-4,{textColor:t.textColor,maxWidth:Sb(t.maxWidth,n.width)??n.width*.4,textAnchor:e,backgroundColor:n.backgroundColor,textOutline:t.textOutline})}if(p.dx!=null||p.dy!=null?c.showLine!==!1:c.showLine===!0||c.showArrow===!0){let e={x:g,y:_},t=!1,r=o.select(`.bc-annotation-text`).node();if(r)try{let n=r.getBBox();if(n.width>0&&n.height>0){e=ab(n,u.x,u.y);let r=n.x+n.width/2;t=Math.abs(e.x-r)<1}}catch{}let i=c.showCircle?ub(c.circleSize)+(c.lineTargetDistance??5):c.lineTargetDistance??0,a=u.x,s=u.y;if(i>0){let t=u.x-e.x,r=u.y-e.y,o=Math.sqrt(t*t+r*r);if(o>0){let e=u.x-t/o*i,c=u.y-r/o*i,d=`bandwidth`in n.scaleX,f=Zy[l]??Zy.N;a=!d||Math.abs(f.dx)>.01?e:u.x,s=!d||Math.abs(f.dy)>.01?c:u.y}}hb(o,e,{x:a,y:s},c.lineStyle??Wr.Direct,{showArrow:c.showArrow,lineWeight:c.lineWeight,color:m,departVertical:t})}}function Eb(e,t,n,r,i){if(t.kind!==Kr.Range)return;let a=(t.orientation??Jr.Vertical)===Jr.Vertical,o=a?yb(t.start,n.scaleX,t.startAnchor):bb(t.start,n.scaleY),s=a?yb(t.end,n.scaleX,t.endAnchor):bb(t.end,n.scaleY);if(o===null||s===null)return;let c=e.append(`g`).attr(`data-annotation-index`,String(r)),l=t.key;l&&c.attr(`data-annotation-id`,l);let u=n.orientation===Jr.Horizontal===a,d,f,p,m;if(u?(f=Math.min(o,s),m=Math.abs(s-o),d=0,p=n.width):(d=Math.min(o,s),p=Math.abs(s-o),f=0,m=n.height),c.append(`rect`).attr(`class`,`bc-annotation-range`).attr(`x`,d).attr(`y`,f).attr(`width`,p).attr(`height`,m).attr(`fill`,t.bgColor??`#ccc`).attr(`opacity`,(t.bgOpacity??20)/100),t.text){let e=a?p:m,o=Sb(t.maxWidth,n.width)??Math.max(e,50),s=Zy[t.direction??`center`]??Zy.center,l=.5+s.dx*.5,u=.5+s.dy*.5,h=Math.max(4,Math.min(d+p*l,n.width-4)),g=`middle`;l<.25?g=`start`:l>.75&&(g=`end`);let _=f+4+12,v=i?i.append(`g`).attr(`data-annotation-index`,String(r)):c;if(gb(v,t.text,h,_,{textColor:t.textColor,maxWidth:o,textAnchor:g,backgroundColor:n.backgroundColor,textOutline:t.textOutline}),u>.25){let e=v.select(`.bc-annotation-text`).node();if(e)try{let t=e.getBBox(),n=0;n=u>.75?f+m-4-(t.y+t.height):f+m/2-(t.y+t.height/2),Math.abs(n)>.5&&e.setAttribute(`transform`,`translate(0, ${n})`)}catch{}}}}function Db(e,t,n,r){if(t.kind!==`free`)return;let i=e.append(`g`).attr(`data-annotation-index`,String(r)),a=t.key;a&&i.attr(`data-annotation-id`,a);let o=xb(t.x,n.width),s=xb(t.y,n.height);if(t.text){gb(i,t.text,o,s,{textColor:t.textColor,maxWidth:Sb(t.maxWidth,n.width)??n.width*.4,textAnchor:`middle`,backgroundColor:n.backgroundColor,textOutline:t.textOutline});let e=i.select(`.bc-annotation-text`).node();if(e)try{let t=e.getBBox(),n=s-(t.y+t.height/2);Math.abs(n)>.5&&e.setAttribute(`transform`,`translate(0, ${n})`)}catch{}}}function Ob(e,t,n,r){return`M ${e} ${t} L ${n+.45*(e-n)} ${t} L ${n} ${r}`}function kb(e,t){let n=e.hasAttribute(`marker-end`),r=Yy(e.parentElement);if(n&&r){let n=Q(e),i=e.getAttribute(`d`),a=`M ${r.fromX} ${r.fromY} L ${r.fromX} ${r.fromY}`;if(n.attr(`d`,a),r.style===Wr.Elbow){let e={tipX:r.toX,tipY:r.toY,calloutX:r.fromX,calloutY:r.fromY},i={tipX:r.fromX,tipY:r.fromY,calloutX:r.fromX,calloutY:r.fromY};n.transition().duration(t).ease(Cu).attrTween(`d`,()=>{let t=wc(i,e);return e=>{let n=t(e);return Ob(n.calloutX,n.calloutY,n.tipX,n.tipY)}})}else if(r.style===Wr.CurveLeft||r.style===Wr.CurveRight){let e={x:r.fromX,y:r.fromY},a={x:r.toX,y:r.toY},o=a.x-e.x,s=a.y-e.y,c=Math.sqrt(o*o+s*s),l=c*.8,u=+(r.style===Wr.CurveRight),d=c/2,f=d<l?Math.sqrt(l*l-d*d):0,p=(e.x+a.x)/2,m=(e.y+a.y)/2,h=c>0?-s/c:0,g=c>0?o/c:0,_=u===1?1:-1,v=p+_*f*h,y=m+_*f*g,b=Math.atan2(e.y-y,e.x-v),x=Math.atan2(a.y-y,a.x-v)-b;u===1&&x<=0&&(x+=2*Math.PI),u===0&&x>=0&&(x-=2*Math.PI),n.transition().duration(t).ease(Cu).attrTween(`d`,()=>t=>{if(t>=.98)return i;let n=b+t*x,r=v+l*Math.cos(n),a=y+l*Math.sin(n);return`M ${e.x} ${e.y} A ${l} ${l} 0 0 ${u} ${r} ${a}`})}else n.transition().duration(t).ease(Cu).attrTween(`d`,()=>{let e=Cc(r.fromX,r.toX),t=Cc(r.fromY,r.toY);return n=>`M ${r.fromX} ${r.fromY} L ${e(n)} ${t(n)}`})}else e.setAttribute(`stroke-dasharray`,`1`),e.setAttribute(`stroke-dashoffset`,`1`),Q(e).transition().duration(t).ease(Cu).attr(`stroke-dashoffset`,`0`).on(`end`,()=>{e.removeAttribute(`stroke-dasharray`),e.removeAttribute(`stroke-dashoffset`)})}var Ab=1;function jb(e,t){return e.style!==t.style||e.departVertical!==t.departVertical?!1:Math.abs(e.fromX-t.fromX)<=Ab&&Math.abs(e.fromY-t.fromY)<=Ab&&Math.abs(e.toX-t.toX)<=Ab&&Math.abs(e.toY-t.toY)<=Ab}function Mb(e,t,n){let r=Yy(e.parentElement);if(!r||jb(t,r))return;let i=Q(e);if(t.style===Wr.Elbow&&r.style===Wr.Elbow){let e={tipX:t.toX,tipY:t.toY,calloutX:t.fromX,calloutY:t.fromY},a={tipX:r.toX,tipY:r.toY,calloutX:r.fromX,calloutY:r.fromY};i.attr(`d`,Ob(e.calloutX,e.calloutY,e.tipX,e.tipY)),i.transition().duration(n).ease(wu).attrTween(`d`,()=>{let t=wc(e,a);return e=>{let n=t(e);return Ob(n.calloutX,n.calloutY,n.tipX,n.tipY)}})}else{let a={x:t.fromX,y:t.fromY},o={x:t.toX,y:t.toY},s={x:r.fromX,y:r.fromY},c={x:r.toX,y:r.toY},l=e.getAttribute(`d`),u=`M ${a.x} ${a.y} L ${o.x} ${o.y}`;i.attr(`d`,u),i.transition().duration(n).ease(wu).attrTween(`d`,()=>{let e=wc(a,s),n=wc(o,c);return i=>{if(i>=.98)return l;let a=e(i),o=n(i);if(r.style===Wr.Direct||t.style===Wr.Direct)return`M ${a.x} ${a.y} L ${o.x} ${o.y}`;let s=o.x-a.x,c=o.y-a.y,u=Math.sqrt(s*s+c*c)*.8,d=+(r.style===Wr.CurveRight);return`M ${a.x} ${a.y} A ${u} ${u} 0 0 ${d} ${o.x} ${o.y}`}})}}function Nb(e,t,n,r){if(r<=0)return;let i=[...e.querySelectorAll(`g[data-annotation-id]`),...t.querySelectorAll(`g[data-annotation-id]`)],a=new Set;for(let e of i){let t=e.getAttribute(`data-annotation-id`);a.add(t);let i=n.get(t);if(i){let t=e.querySelector(`.bc-annotation-line`);t&&i.line&&Mb(t,i.line,r);try{let t=e.getBBox(),n=i.rect.x-t.x,a=i.rect.y-t.y;if(Math.abs(n)>.5||Math.abs(a)>.5){let t=e.querySelectorAll(`.bc-annotation-text, .bc-annotation-circle`);for(let e of t){let t=e;t.style.transition=`none`,t.setAttribute(`transform`,`translate(${n}, ${a})`),t.getBoundingClientRect(),t.style.transition=`transform ${r}ms ease`,t.setAttribute(`transform`,`translate(0, 0)`)}}}catch{}}else{let t=e.querySelector(`.bc-annotation-line`);t&&kb(t,r);let n=e.querySelectorAll(`.bc-annotation-text, .bc-annotation-circle`);for(let e of n){let t=e;t.style.opacity=`0`,t.getBoundingClientRect(),t.style.transition=`opacity ${r}ms ease`,t.style.opacity=`1`}}}for(let[t,i]of n)if(!a.has(t)){let t=i.element.cloneNode(!0);e.appendChild(t),t.style.opacity=`1`,t.getBoundingClientRect(),t.style.transition=`opacity ${r}ms ease`,t.style.opacity=`0`,setTimeout(()=>t.remove(),r)}}var Pb=16;function Fb(e){return Array.from(e.querySelectorAll(`*`)).some(e=>ku(e,Jy))}function Ib(e,t=0){if(!e)return;if(t>0){setTimeout(()=>Ib(e,Fb(e)?Pb:0),t);return}let n=parseFloat(e.getAttribute(`width`)||`0`),r=parseFloat(e.getAttribute(`height`)||`0`);if(!n||!r)return;let i=e.getBBox();if(i.width===0&&i.height===0)return;let a=n*.25/2,o=r*.25/2,s=i.x,c=i.y,l=i.x+i.width,u=i.y+i.height,d=s<0?Math.max(s-8,-a):0,f=c<0?Math.max(c-8,-o):0,p=l>n?Math.min(l+8,n+a):n,m=u>r?Math.min(u+8,r+o):r;d<0||f<0||p>n||m>r?Q(e).attr(`viewBox`,`${d} ${f} ${p-d} ${m-f}`).attr(`preserveAspectRatio`,`xMidYMid meet`):Q(e).attr(`viewBox`,null).attr(`preserveAspectRatio`,null)}function Lb(e,t,n){let r=e.ownerSVGElement??e;Q(r).style(`overflow`,`visible`),ob(r);let i=Q(e),a;if(n.transition){if(n.priorAnnotations&&n.priorAnnotations.size>0)a=n.priorAnnotations;else{let t=e.querySelector(`.bc-annotations`),n=e.querySelector(`.bc-annotations-range`);if(t||n){if(a=new Map,t)for(let[e,n]of Xy(t))a.set(e,n);if(n)for(let[e,t]of Xy(n))a.set(e,t)}}}e.querySelectorAll(`.bc-annotations, .bc-annotations-range`).forEach(e=>e.remove());let o=i.insert(`g`,`:first-child`).attr(`class`,`bc-annotations-range`),s=i.append(`g`).attr(`class`,`bc-annotations`).attr(`data-ctx-width`,String(n.width)).attr(`data-ctx-height`,String(n.height));for(let e=0;e<t.length;e++){let r=t[e];switch(r.kind??Kr.Point){case Kr.Point:Tb(s,r,n,e);break;case Kr.Range:Eb(o,r,n,e,s);break;case Kr.Free:Db(s,r,n,e)}}let c=0;n.transition&&(c=p_(500),Nb(s.node(),o.node(),a??new Map,c)),Ib(r,c)}function Rb(e,t){return{name:`annotations`,install(){},postDraw(n){let r=n.base,i=r.node()?.ownerSVGElement??r.node();i&&Q(i).style(`overflow`,`visible`),ob(i);let a=r.node()?.parentNode,o=a&&a!==i?Q(a):r,s=o.node(),c;if(t.transition){if(t.priorAnnotations&&t.priorAnnotations.size>0)c=t.priorAnnotations;else if(s){let e=s.querySelector(`.bc-annotations`),t=s.querySelector(`.bc-annotations-range`);if(e||t){if(c=new Map,e)for(let[t,n]of Xy(e))c.set(t,n);if(t)for(let[e,n]of Xy(t))c.set(e,n)}}}s&&s.querySelectorAll(`.bc-annotations, .bc-annotations-range`).forEach(e=>e.remove());let l=o.insert(`g`,`:first-child`).attr(`class`,`bc-annotations-range`),u=o.append(`g`).attr(`class`,`bc-annotations`).attr(`data-ctx-width`,String(t.width)).attr(`data-ctx-height`,String(t.height));for(let n=0;n<e.length;n++){let r=e[n];switch(r.kind??Kr.Point){case Kr.Point:Tb(u,r,t,n);break;case Kr.Range:Eb(l,r,t,n,u);break;case Kr.Free:Db(u,r,t,n)}}let d=0;t.transition&&(d=p_(500),Nb(u.node(),l.node(),c??new Map,d)),Ib(i,d)}}}function zb(e){return new Map((e??[]).map(e=>[e.target,e.color]))}var Bb=new WeakMap;function Vb(e){return Bb.get(e)}function Hb(e,t){Bb.set(e,t)}var Ub=0,Wb=new WeakMap;function Gb(e,t,n,r){let i=Wb.get(t);i||(i=new Map,Wb.set(t,i));let a=i.get(n);a||(a=`bc-clip-${++Ub}`,i.set(n,a));let o=Q(e).select(`defs`).empty()?Q(e).append(`defs`):Q(e).select(`defs`),s=o.select(`#${a}`);return s.empty()?o.append(`clipPath`).attr(`id`,a).append(`rect`).attr(`x`,r.x).attr(`y`,r.y).attr(`width`,r.width).attr(`height`,r.height):s.select(`rect`).attr(`x`,r.x).attr(`y`,r.y).attr(`width`,r.width).attr(`height`,r.height),a}var Kb=class extends yg{initialize(){}};function qb(e){return new Kb(e)}var Jb=500,Yb=new Set,Xb=new WeakMap;function Zb(e){let t=Xb.get(e);return t||(t=new $b(e),Xb.set(e,t)),t}function Qb(e){Xb.delete(e)}var $b=class{container;_state=`idle`;_transition=null;_buffer=[];register(e){this._buffer.push(e)}constructor(e){this.container=e}get state(){return this._state}get activeTransition(){return this._transition}beginCommit(){(this._state===`committing`||this._state===`animating`)&&this.interrupt(),this._state=`committing`}commit(e={}){if(this._state!==`committing`){console.warn(`[blueprint-chart] commit() called from state '${this._state}' — call beginCommit() first; ignored.`);return}let t=e.mode??`transform`;if(t!==`transform`){Yb.has(t)||(Yb.add(t),console.warn(`[blueprint-chart] transition mode '${t}' is not yet implemented; falling back to snap.`));let e=this._buffer;this._buffer=[],this._state=`animating`;for(let t of e)try{t()}catch(e){console.warn(`[blueprint-chart] feature flush failed:`,e)}this._state=`idle`;return}let n=e.duration??Jb,r=this.effectiveDuration(n),i=this._buffer;if(this._buffer=[],r<=0){this._state=`animating`;for(let e of i)try{e()}catch(e){console.warn(`[blueprint-chart] feature flush failed:`,e)}this._state=`idle`;return}this._state=`animating`;let a=bu(Jy).duration(r).ease(wu);this._transition=a;for(let e of i)try{e()}catch(e){console.warn(`[blueprint-chart] feature flush failed:`,e)}a.on(`end`,()=>{this._transition===a&&(this._transition=null,this._state=`idle`)}),a.on(`interrupt`,()=>{this._transition===a&&(this._transition=null,this._state=`idle`)})}effectiveDuration(e){return e<=0?0:typeof window>`u`||typeof window.matchMedia!=`function`?e:window.matchMedia(`(prefers-reduced-motion: reduce)`).matches?0:e}interrupt(){this._buffer=[],this._transition=null,Q(this.container).interrupt(Jy),Q(this.container).selectAll(`*`).interrupt(Jy),this._state=`idle`}run(e,t={}){this.beginCommit();try{e()}catch(e){console.warn(`[blueprint-chart] scene-transition commit failed:`,e),this._state=`idle`;return}this.commit(t)}destroy(){this.interrupt(),Qb(this.container)}};function ex(e,t){let n=new Map;return e.querySelectorAll(`[data-bc-role="${t}"]`).forEach(e=>{let t=e.getAttribute(`data-bc-key`);t!=null&&n.set(t,e)}),n}function tx(e,t){return e.tagName===t.tagName}function nx(e,t){Q(e).interrupt(Jy);let n={};for(let r of t){let t=e.getAttribute(r);t!==null&&(n[r]=t)}return n}function rx(e,t){let n=ix(e),r=ix(t);if(n.skeleton!==r.skeleton||n.nums.length!==r.nums.length)return n=>n<.5?e:t;let{skeleton:i,nums:a}=n,{nums:o}=r;return n=>{if(n<=0)return e;if(n>=1)return t;let r=0;return i.replace(/#/g,()=>{let e=a[r]+(o[r]-a[r])*n;return r++,ax(e)})}}function ix(e){let t=[];return{skeleton:e.replace(/-?\d*\.?\d+(?:e[-+]?\d+)?/gi,e=>(t.push(parseFloat(e)),`#`)),nums:t}}function ax(e){let t=Math.round(e*1e3)/1e3;return Object.is(t,-0)?`0`:String(t)}var ox={opacity:0},sx=new Set([`d`,`transform`]),cx=new Set([`stroke-dasharray`]);function lx(e,t){if(e.state===`idle`||e.state===`animating`){ux(t);return}e.register(()=>dx(e,t))}function ux(e){let t=Q(e.parent).selectAll(e.selector).data(e.data,t=>e.key(t));t.exit().remove();let n=e.insert(t.enter());fx(n,e),n.merge(t).each(function(t){hx(this,e.attrs(t))})}function dx(e,t){let n=e.activeTransition,r=Q(t.parent).selectAll(t.selector).data(t.data,e=>t.key(e)),i=mx(t),a=r.exit();n?a.each(function(){let e=this,r=Q(e).datum();gx(e,t.exitTo?t.exitTo(r):ox,n).on(`end.featureJoin-exit`,()=>e.parentNode?.removeChild(e))}):a.remove();let o=ex(e.container,t.role),s=t.insert(r.enter());fx(s,t),s.each(function(e){let r=this,a=t.attrs(e);if(n){let s=o.get(px(t.key(e)));if(s&&tx(s,r)){hx(r,nx(s,i)),gx(r,a,n);return}hx(r,t.enterFrom?t.enterFrom(e):a),gx(r,a,n)}else hx(r,a)}),r.each(function(e){let r=this,a=t.attrs(e);n?(nx(r,i),gx(r,a,n)):hx(r,a)})}function fx(e,t){e.attr(`data-bc-role`,t.role),e.attr(`data-bc-key`,e=>px(t.key(e)))}function px(e){return e.replace(/[\u0000-\u0008\u000B\u000C\u000E-\u001F]/g,`␟`)}function mx(e){return e.data.length===0?[]:Object.keys(e.attrs(e.data[0]))}function hx(e,t){for(let[n,r]of Object.entries(t))e.setAttribute(n,String(r))}function gx(e,t,n){let r=Q(e).transition(n);for(let[n,i]of Object.entries(t))if(sx.has(n)){let e=String(i);r.attrTween(n,function(){return rx(this.getAttribute(n)??e,e)})}else cx.has(n)?e.setAttribute(n,String(i)):r.attr(n,String(i));return r}function _x(e,t){if(!t.active||!t.from)return;let n=t.svg.querySelector(`#${t.clipId} rect`);vx(e,{group:t.group,clipRect:n,from:t.from,to:t.to})}function vx(e,t){let{group:n,clipRect:r,from:i,to:a}=t,o=`translate(${a.left},${a.top})`,s=`translate(${i.left},${i.top})`;e.register(()=>{let t=e.activeTransition;if(!t){n.setAttribute(`transform`,o),r&&(r.setAttribute(`width`,String(a.width)),r.setAttribute(`height`,String(a.height)));return}n.setAttribute(`transform`,s),Q(n).transition(t).attrTween(`transform`,function(){return rx(this.getAttribute(`transform`)??s,o)}),r&&(r.setAttribute(`width`,String(i.width)),r.setAttribute(`height`,String(i.height)),Q(r).transition(t).attr(`width`,a.width).attr(`height`,a.height))})}var yx=.35;function bx(e,t){let n=new Set(t);return new Set((e??[]).map(e=>e.target).filter(e=>n.has(e)))}function xx(e,t,n=1){return e.size===0||e.has(t)?n:yx}var Sx=11,Cx=6.2,wx=Sx,Tx=8,Ex=4,Dx=14;function Ox(e){return Math.max(Kg(e,Sx),e.length*Cx)}function kx(e){let t=Ox(e.text);return e.placement===`inside`?e.orientation===`horizontal`?t<=e.barWidth-Tx&&wx<=e.barHeight:wx<=e.barHeight-Ex&&t<=e.barWidth:(e.orientation===`vertical`?e.barWidth:e.barHeight)>=Dx}var Ax=8,jx=4,Mx=7,Nx=`11px sans-serif`;function Px(e,t=Nx){let n=e.length*Mx;try{let r=document.createElement(`canvas`).getContext(`2d`);if(r)return r.font=t,Math.max(Math.ceil(r.measureText(e).width),n)}catch{}return n}function Fx(e,t,n,r){let i=e.length*Mx/2,a=i+jx-r.margin.left,o=r.width+r.margin.right-i-jx,s=12-r.margin.top,c=r.height+r.margin.bottom-jx,l=Math.min(Math.max(n,0),r.height);return{x:Math.min(Math.max(t,a),Math.max(a,o)),y:Math.min(Math.max(l-Ax,s),Math.max(s,c))}}var Ix=4;function Lx(e){return Math.max(0,Math.min(13,e-Ix))}var Rx=400;function zx(e,t){return e>0&&e<Rx&&t!==Vr.Outside}var Bx=[`#4e79a7`],Vx=4,Hx=8;function Ux(e,t,n={},r=!1){h_(r);let i=null,a,o,s,c=[],l=av.for(e);if(r){let t=Vb(e);o=t?.margin,s=t?.plotRect,l.detach(),t?.chartType===`bar-vertical`?c=Array.from(e.querySelectorAll(`.bc-frame .bc-bar`)):t&&(i=v_(e)),a=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of Xy(t))a.set(e,n);e.replaceChildren()}let{body:u}=Ag(e,n.frame),d=u_(u).width,f=n.categoryLabelLine===!0,p=a_(t.values,n.verticalAxis?.range,n.verticalAxis?.numberFormat,n.verticalAxis?.scaleType),m=f?Vr.Off:n.horizontalAxis?.labelPosition,h=c_(d,n.verticalAxis?.labelPosition,m,n.verticalAxis?.direction,p);if(!f){let e=Math.max(0,d-(h.left??50)-(h.right??20)),r=H_(t.labels,e,n.horizontalAxis);r!==void 0&&(h.bottom=r)}let{chartArea:g,width:_,height:v,margin:y}=f_(u,h),b=v-(f?Lx(v):0),x=Yg(o,y),S={left:y.left,top:y.top,width:_,height:b},C=Kx(t,n),w=C.map(e=>({label:e,value:t.values[t.labels.indexOf(e)]})).filter(e=>Number.isFinite(e.value)),T=n.swapLabelValue===!0,E=n.waterfall===!0,D=[];if(E){let e=0;for(let t of w){let n=e;e+=t.value,D.push({label:t.label,value:t.value,y0:n,y1:e,isTotal:!1})}n.waterfallTotal&&D.push({label:`Total`,value:e,y0:0,y1:e,isTotal:!0})}let O=E?D.map(e=>e.label):C,k=ef().domain(O).range([0,_]).padding(Ti(n.barGap)),A=n.verticalAxis?.scaleType===`log`,[j,M]=Ei(E?D.flatMap(e=>[e.y0,e.y1]):w.map(e=>e.value),n.verticalAxis?.range,n.verticalAxis?.scaleType);if(n.valueLabels&&j<0&&n.verticalAxis?.range?.min==null){let e=M-j;j-=e*.1}let N=A?Mf().domain([j,M]).nice().range([b,0]):_f().domain([j,M]).nice().range([b,0]);l.attach(g,x);let P=T&&n.valueLabels&&!E?(()=>{let e=new Map(w.map(e=>[e.label,e.value]));return{...n.horizontalAxis,width:_,tickFormat:t=>String(e.get(t)??t)}})():{...n.horizontalAxis,width:_},F=f?{...P,labelPosition:Vr.Off}:P;l.update({vertical:{scale:N,height:v,options:{...n.verticalAxis,gridWidth:_,topPadding:y.top}},horizontal:{scale:k,height:v,options:F}}),!A&&j<0&&M>0&&Q(g).append(`line`).attr(`class`,`bc-zero-baseline`).attr(`x1`,0).attr(`x2`,_).attr(`y1`,N(0)).attr(`y2`,N(0)).attr(`stroke`,`#666`).attr(`stroke-width`,1);let I=zb(n.colorizes),L=bx(n.highlights,O),R=g.ownerSVGElement,z=Gb(R,e,`bars`,{x:0,y:0,width:_,height:b}),B=Q(R).select(`defs`),V=z.replace(/^bc-clip-/,``),H=Q(g).append(`g`).attr(`clip-path`,`url(#${z})`);if(n.barBackground){let e=(n.colors??Bx)[0],t=E?O:w.map(e=>e.label);H.selectAll(`.bc-bar-bg`).data(t,e=>e).enter().append(`rect`).attr(`class`,`bc-bar-bg`).attr(`x`,e=>k(e)??0).attr(`y`,0).attr(`width`,k.bandwidth()).attr(`height`,b).attr(`fill`,e).attr(`opacity`,.18)}let ee=E?O:w.map(e=>e.label);if(n.barSeparators&&ee.length>1){let e=k.step();for(let t=1;t<ee.length;t++){let n=(k(ee[t-1])??0)+k.bandwidth()+(e-k.bandwidth())/2;H.append(`line`).attr(`class`,`bc-bar-separator`).attr(`x1`,n).attr(`x2`,n).attr(`y1`,0).attr(`y2`,b).attr(`stroke`,`currentColor`).attr(`opacity`,.15)}}if(!E&&n.connectedColumns&&w.length>1){let e=n.colors??Bx,t=n.connectionsOpacity??.15;for(let n=0;n<w.length-1;n++){let r=w[n],i=w[n+1];if(r.value==null||i.value==null||Number.isNaN(r.value)||Number.isNaN(i.value)||r.value===0||i.value===0)continue;let a=(k(r.label)??0)+k.bandwidth(),o=k(i.label)??0,s=Math.min(N(0),N(r.value)),c=Math.min(N(0),N(i.value)),l=N(0),u=I.get(r.label)??e[0],d=I.get(i.label)??e[0],f;if(u===d)f=u;else{let e=`bc-conn-grad-${V}-${n}`,t=B.append(`linearGradient`).attr(`id`,e).attr(`x1`,`0%`).attr(`x2`,`100%`).attr(`y1`,`0%`).attr(`y2`,`0%`);t.append(`stop`).attr(`offset`,`0%`).attr(`stop-color`,u),t.append(`stop`).attr(`offset`,`100%`).attr(`stop-color`,d),f=`url(#${e})`}H.append(`polygon`).attr(`class`,`bc-bar-connection`).attr(`points`,`${a},${s} ${o},${c} ${o},${l} ${a},${l}`).attr(`fill`,f).attr(`opacity`,t).attr(`pointer-events`,`none`)}}let te=Q(g).append(`g`);if(E){let e=n.colors??Bx,t=`#333`;if(n.connectedColumns&&D.length>1){let e=n.colors??Bx,t=n.connectionsOpacity??.15;for(let n=0;n<D.length-1;n++){let r=D[n],i=D[n+1];if(i.isTotal||r.value==null||i.value==null||Number.isNaN(r.value)||Number.isNaN(i.value)||r.value===0||i.value===0)continue;let a=(k(r.label)??0)+k.bandwidth(),o=k(i.label)??0,s=N(r.y1),c=N(i.y1),l=N(r.y0),u=N(i.y0),d=I.get(r.label)??e[0],f=I.get(i.label)??e[0],p;if(d===f)p=d;else{let e=`bc-conn-grad-${V}-${n}`,t=B.append(`linearGradient`).attr(`id`,e).attr(`x1`,`0%`).attr(`x2`,`100%`).attr(`y1`,`0%`).attr(`y2`,`0%`);t.append(`stop`).attr(`offset`,`0%`).attr(`stop-color`,d),t.append(`stop`).attr(`offset`,`100%`).attr(`stop-color`,f),p=`url(#${e})`}H.append(`polygon`).attr(`class`,`bc-bar-connection`).attr(`points`,`${a},${s} ${o},${c} ${o},${u} ${a},${l}`).attr(`fill`,p).attr(`opacity`,t).attr(`pointer-events`,`none`)}}for(let e=0;e<D.length-1;e++){let t=D[e],n=D[e+1];if(n.isTotal)break;H.append(`line`).attr(`class`,`bc-waterfall-connector`).attr(`x1`,(k(t.label)??0)+k.bandwidth()).attr(`x2`,k(n.label)??0).attr(`y1`,N(t.y1)).attr(`y2`,N(t.y1)).attr(`stroke`,`currentColor`).attr(`stroke-dasharray`,`2,2`).attr(`opacity`,.3)}if(H.selectAll(`.bc-bar`).data(D,e=>e.label).enter().append(`rect`).attr(`class`,`bc-bar`).attr(`x`,e=>k(e.label)??0).attr(`y`,e=>Math.min(N(e.y0),N(e.y1))).attr(`width`,k.bandwidth()).attr(`height`,e=>Math.abs(N(e.y0)-N(e.y1))).attr(`fill`,n=>n.isTotal?t:I.get(n.label)??e[0]).attr(`opacity`,e=>L.size>0?xx(L,e.label):null),n.valueLabels){let r=n.valueLabelPosition??ni.Auto,i=Ng(n.verticalAxis?.numberFormat??``),a=e=>i?i(e):String(e);te.selectAll(`.bc-value-label`).data(D,e=>e.label).enter().append(`text`).attr(`class`,`bc-value-label`).attr(`font-size`,`11px`).attr(`x`,e=>(k(e.label)??0)+k.bandwidth()/2).attr(`y`,e=>{let t=Math.min(N(e.y0),N(e.y1)),n=Math.abs(N(e.y0)-N(e.y1));return r===ni.Inside?t+n/2:t-4}).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,r===ni.Inside?`central`:`auto`).attr(`fill`,n=>r===ni.Inside?wr(n.isTotal?t:I.get(n.label)??e[0]):`currentColor`).text(e=>T?e.label:a(e.isTotal?e.y1:e.value))}}else{let t=Zb(e),i=H.append(`g`).node();if(r)for(let e of c)i.appendChild(e);lx(t,{role:`mark-per-category`,parent:i,selector:`.bc-bar`,data:w,key:e=>e.label,insert:e=>e.append(`rect`).attr(`class`,`bc-bar`),attrs:e=>({x:k(e.label)??0,y:Math.min(N(0),N(e.value)),width:k.bandwidth(),height:Math.abs(N(e.value)-N(0)),fill:I.get(e.label)??(n.colors??Bx)[0],opacity:xx(L,e.label)})}),_x(t,{svg:R,clipId:z,group:g,from:s,to:S,active:r&&c.length>0});let o=qb(H);n.tooltips&&o.use(Gy({numberFormat:n.verticalAxis?.numberFormat})),n.crosshair&&o.use(qy({width:_,height:b,direction:n.crosshairDirection,style:n.crosshairStyle,color:n.crosshairColor})),n.annotations?.length&&o.use(Rb(n.annotations,{scaleX:k,scaleY:N,data:w,width:_,height:b,backgroundColor:Er(e),transition:r,priorAnnotations:a}));let l=()=>o.draw(w);if(t.state===`committing`?t.register(l):l(),n.valueLabels){let e=Ng(n.verticalAxis?.numberFormat??``);Gx(te,w,k,N,{position:n.valueLabelPosition,colorOverrides:I,colors:n.colors??Bx,transition:r,swapLabelValue:T,percent:n.valueLabels===`percent`,total:ia(w,e=>e.value),formatValue:t=>e?e(t):String(t),bounds:{plotHeight:b,marginTop:y.top,marginBottom:y.bottom}})}}if(f){let e=Q(g).append(`g`).attr(`class`,`bc-category-labels`);for(let t of O)e.append(`text`).attr(`class`,`bc-category-label`).attr(`x`,(k(t)??0)+k.bandwidth()/2).attr(`y`,b+13/2).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`central`).attr(`font-size`,`10px`).attr(`font-weight`,`600`).attr(`fill`,`currentColor`).text(t)}Hb(e,{chartType:`bar-vertical`,margin:y,plotRect:S}),i&&(__(H.node()),y_(e,i))}function Wx(e,t,n,r,i){let a=(t(e.label)??0)+t.bandwidth()/2,o=`middle`,s=e=>Math.max(0,Math.min(i.plotHeight,e)),c=s(Math.min(n(0),n(e.value))),l=s(Math.max(n(0),n(e.value))),u=e.value<0,d=n(e.value),f=d<0||d>i.plotHeight,p=u?l+Vx:c-Vx,m=u?p+Hx<=i.plotHeight+i.marginBottom:p-Hx>=-i.marginTop,h=l-c,g=(r===ni.Inside||f||!m)&&h>=12;return g?{tx:a,ty:(c+l)/2,anchor:o,baseline:`central`,isInside:g}:{tx:a,ty:p,anchor:o,baseline:u?`hanging`:`auto`,isInside:g}}function Gx(e,t,n,r,i){let a=i.position??ni.Auto,o=e=>i.swapLabelValue?e.label:i.percent&&i.total!==void 0?Pg(e.value,i.total):i.formatValue(e.value),s=e.select(`.bc-value-label-group`);s.empty()&&(s=e.append(`g`).attr(`class`,`bc-value-label-group`));let c=e.node().ownerSVGElement?.parentElement,l=Zb(c),u=t.filter(e=>kx({text:o(e),placement:a===ni.Inside?`inside`:`outside`,orientation:`vertical`,barWidth:n.bandwidth(),barHeight:Math.abs(r(e.value)-r(0))}));lx(l,{role:`value-label`,parent:s.node(),selector:`.bc-value-label`,data:u,key:e=>e.label,insert:e=>e.append(`text`).attr(`class`,`bc-value-label`).attr(`font-size`,`11px`),attrs:e=>{let t=Wx(e,n,r,a,i.bounds);return{x:t.tx,y:t.ty,"text-anchor":t.anchor,"dominant-baseline":t.baseline,fill:t.isInside?wr(i.colorOverrides.get(e.label)??i.colors[0]):`currentColor`}}}),s.selectAll(`.bc-value-label`).data(u,e=>e.label).text(o)}function Kx(e,t){let n=e.labels.map((t,n)=>({label:t,value:e.values[n]}));return t.sort===Qr.Ascending?n.sort((e,t)=>e.value-t.value):t.sort===Qr.Descending&&n.sort((e,t)=>t.value-e.value),n.map(e=>e.label)}var qx=[`#4e79a7`],Jx=4;function Yx(e,t,n={},r=!1){h_(r);let i=null,a,o,s=[],c,l=av.for(e);if(r){let t=Vb(e);o=t?.margin,c=t?.plotRect,l.detach(),t?.chartType===`bar-horizontal`?s=Array.from(e.querySelectorAll(`.bc-frame .bc-bar`)):t&&(i=v_(e)),a=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of Xy(t))a.set(e,n);e.replaceChildren()}let{body:u}=Ag(e,n.frame),d=u_(u).width,f=zx(d,n.verticalAxis?.labelPosition),p=n.categoryLabelLine===!0||f,m=s_(t.labels),h=c_(d,p?Vr.Off:n.verticalAxis?.labelPosition,n.horizontalAxis?.labelPosition,n.verticalAxis?.direction,m,n.horizontalAxis?.showAxis),g=n.valueLabelPosition??ni.Auto,_=n.swapLabelValue===!0,v=Ng(n.horizontalAxis?.numberFormat??``),y=e=>v?v(e):String(e);if(n.valueLabels&&g!==ni.Inside){if(_){let e=Px(t.labels.reduce((e,t)=>e.length>t.length?e:t,``))+8;h.right=Math.max(h.right??15,e)}else{let e=t.values.filter(e=>Number.isFinite(e)),n=Math.max(...e),r=Math.min(...e),i=n>0?Px(y(n))+8:0,a=r<0?Px(y(r))+8:0;h.right=Math.max(h.right??15,i),a>0&&(h.left=(h.left??50)+a)}}let{chartArea:b,width:x,height:S,margin:C}=f_(u,h),w={left:C.left,top:C.top,width:x,height:S},T=Yg(o,C),E=Qx(t,n),D=E.map(e=>({label:e,value:t.values[t.labels.indexOf(e)]})).filter(e=>Number.isFinite(e.value)),O=n.waterfall===!0,k=[];if(O){let e=0;for(let t of D){let n=e;e+=t.value,k.push({label:t.label,value:t.value,x0:n,x1:e,isTotal:!1})}n.waterfallTotal&&k.push({label:`Total`,value:e,x0:0,x1:e,isTotal:!0})}let A=n.horizontalAxis?.scaleType===`log`,[j,M]=Ei(O?k.flatMap(e=>[e.x0,e.x1]):D.map(e=>e.value),n.horizontalAxis?.range,n.horizontalAxis?.scaleType),N=A?Mf().domain([j,M]).nice().range([0,x]):_f().domain([j,M]).nice().range([0,x]),P=O?k.map(e=>e.label):E,F=ef().domain(P).range([0,S]).padding(Ti(n.barGap)),I=p?Lx(F.bandwidth()):0,L=_&&n.valueLabels&&!O?(()=>{let e=new Map(D.map(e=>[e.label,e.value]));return{...n.verticalAxis,topPadding:C.top,tickFormat:t=>String(e.get(t)??t)}})():{...n.verticalAxis,topPadding:C.top},R=p?{...L,labelPosition:Vr.Off,...f?{showAxis:!1}:{}}:L;l.attach(b,T),l.update({horizontal:{scale:N,height:S,options:{...n.horizontalAxis,width:x}},vertical:{scale:F,height:S,options:R},order:`horizontal-first`}),!A&&j<0&&M>0&&Q(b).append(`line`).attr(`class`,`bc-zero-baseline`).attr(`x1`,N(0)).attr(`x2`,N(0)).attr(`y1`,0).attr(`y2`,S).attr(`stroke`,`#666`).attr(`stroke-width`,1);let z=zb(n.colorizes),B=bx(n.highlights,P),V=b.ownerSVGElement,H=Gb(V,e,`bars`,{x:0,y:0,width:x,height:S}),ee=Q(V).select(`defs`),te=H.replace(/^bc-clip-/,``),ne=Q(b).append(`g`).attr(`clip-path`,`url(#${H})`);if(n.barBackground){let e=(n.colors??qx)[0],t=O?P:D.map(e=>e.label);ne.selectAll(`.bc-bar-bg`).data(t,e=>e).enter().append(`rect`).attr(`class`,`bc-bar-bg`).attr(`x`,0).attr(`y`,e=>(F(e)??0)+I).attr(`width`,x).attr(`height`,F.bandwidth()-I).attr(`fill`,e).attr(`opacity`,.18)}let re=O?P:D.map(e=>e.label);if(n.barSeparators&&re.length>1){let e=F.step();for(let t=1;t<re.length;t++){let n=(F(re[t-1])??0)+F.bandwidth()+(e-F.bandwidth())/2;ne.append(`line`).attr(`class`,`bc-bar-separator`).attr(`x1`,0).attr(`x2`,x).attr(`y1`,n).attr(`y2`,n).attr(`stroke`,`currentColor`).attr(`opacity`,.15)}}if(!O&&n.connectedColumns&&D.length>1){let e=n.colors??qx,t=n.connectionsOpacity??.15;for(let n=0;n<D.length-1;n++){let r=D[n],i=D[n+1];if(r.value==null||i.value==null||Number.isNaN(r.value)||Number.isNaN(i.value)||r.value===0||i.value===0)continue;let a=(F(r.label)??0)+F.bandwidth(),o=(F(i.label)??0)+I,s=Math.max(N(0),N(r.value)),c=Math.max(N(0),N(i.value)),l=N(0),u=z.get(r.label)??e[0],d=z.get(i.label)??e[0],f;if(u===d)f=u;else{let e=`bc-conn-grad-${te}-${n}`,t=ee.append(`linearGradient`).attr(`id`,e).attr(`x1`,`0%`).attr(`x2`,`0%`).attr(`y1`,`0%`).attr(`y2`,`100%`);t.append(`stop`).attr(`offset`,`0%`).attr(`stop-color`,u),t.append(`stop`).attr(`offset`,`100%`).attr(`stop-color`,d),f=`url(#${e})`}ne.append(`polygon`).attr(`class`,`bc-bar-connection`).attr(`points`,`${s},${a} ${c},${o} ${l},${o} ${l},${a}`).attr(`fill`,f).attr(`opacity`,t).attr(`pointer-events`,`none`)}}if(O){let e=n.colors??qx,t=`#333`;if(n.connectedColumns&&k.length>1){let e=n.colors??qx,t=n.connectionsOpacity??.15;for(let n=0;n<k.length-1;n++){let r=k[n],i=k[n+1];if(i.isTotal||r.value==null||i.value==null||Number.isNaN(r.value)||Number.isNaN(i.value)||r.value===0||i.value===0)continue;let a=(F(r.label)??0)+F.bandwidth(),o=(F(i.label)??0)+I,s=N(r.x1),c=N(i.x1),l=N(r.x0),u=N(i.x0),d=z.get(r.label)??e[0],f=z.get(i.label)??e[0],p;if(d===f)p=d;else{let e=`bc-conn-grad-${te}-${n}`,t=ee.append(`linearGradient`).attr(`id`,e).attr(`x1`,`0%`).attr(`x2`,`0%`).attr(`y1`,`0%`).attr(`y2`,`100%`);t.append(`stop`).attr(`offset`,`0%`).attr(`stop-color`,d),t.append(`stop`).attr(`offset`,`100%`).attr(`stop-color`,f),p=`url(#${e})`}ne.append(`polygon`).attr(`class`,`bc-bar-connection`).attr(`points`,`${s},${a} ${c},${o} ${u},${o} ${l},${a}`).attr(`fill`,p).attr(`opacity`,t).attr(`pointer-events`,`none`)}}for(let e=0;e<k.length-1;e++){let t=k[e],n=k[e+1];if(n.isTotal)break;ne.append(`line`).attr(`class`,`bc-waterfall-connector`).attr(`x1`,N(t.x1)).attr(`x2`,N(t.x1)).attr(`y1`,(F(t.label)??0)+F.bandwidth()).attr(`y2`,(F(n.label)??0)+I).attr(`stroke`,`currentColor`).attr(`stroke-dasharray`,`2,2`).attr(`opacity`,.3)}if(ne.selectAll(`.bc-bar`).data(k,e=>e.label).enter().append(`rect`).attr(`class`,`bc-bar`).attr(`x`,e=>Math.min(N(e.x0),N(e.x1))).attr(`y`,e=>(F(e.label)??0)+I).attr(`width`,e=>Math.abs(N(e.x1)-N(e.x0))).attr(`height`,F.bandwidth()-I).attr(`fill`,n=>n.isTotal?t:z.get(n.label)??e[0]).attr(`opacity`,e=>B.size>0?xx(B,e.label):null),n.valueLabels){let n=g;Q(b).append(`g`).selectAll(`.bc-value-label`).data(k,e=>e.label).enter().append(`text`).attr(`class`,`bc-value-label`).attr(`font-size`,`11px`).attr(`dominant-baseline`,`central`).attr(`y`,e=>(F(e.label)??0)+I+(F.bandwidth()-I)/2).attr(`x`,e=>{let t=Math.max(N(e.x0),N(e.x1));return n===ni.Inside?t-4:t+4}).attr(`text-anchor`,n===ni.Inside?`end`:`start`).attr(`fill`,r=>n===ni.Inside?wr(r.isTotal?t:z.get(r.label)??e[0]):`currentColor`).text(e=>_?e.label:y(e.isTotal?e.x1:e.value))}}else{let t=Zb(e),i=ne.append(`g`).node();if(r)for(let e of s)i.appendChild(e);lx(t,{role:`mark-per-category`,parent:i,selector:`.bc-bar`,data:D,key:e=>e.label,insert:e=>e.append(`rect`).attr(`class`,`bc-bar`),attrs:e=>({x:Math.min(N(0),N(e.value)),y:(F(e.label)??0)+I,width:Math.abs(N(e.value)-N(0)),height:F.bandwidth()-I,fill:z.get(e.label)??(n.colors??qx)[0],opacity:xx(B,e.label)})}),_x(t,{svg:V,clipId:H,group:b,from:c,to:w,active:r&&s.length>0});let o=qb(ne);n.tooltips&&o.use(Gy({numberFormat:n.horizontalAxis?.numberFormat})),n.crosshair&&o.use(qy({width:x,height:S,direction:n.crosshairDirection,style:n.crosshairStyle,color:n.crosshairColor,orientation:Jr.Horizontal})),n.annotations?.length&&o.use(Rb(n.annotations,{scaleX:F,scaleY:N,data:D,width:x,height:S,backgroundColor:Er(e),orientation:Jr.Horizontal,transition:r,priorAnnotations:a}));let l=()=>o.draw(D);t.state===`committing`?t.register(l):l(),n.valueLabels&&Zx(Q(b).append(`g`),D,N,F,{position:g,colorOverrides:z,colors:n.colors??qx,transition:r,swapLabelValue:_,categoryLabelOffset:I,percent:n.valueLabels===`percent`,total:ia(D,e=>e.value),formatValue:y,bounds:{plotWidth:x,marginLeft:C.left,marginRight:C.right}})}if(p){let e=Q(b).append(`g`).attr(`class`,`bc-category-labels`);for(let t of P){let n=F(t)??0;e.append(`text`).attr(`class`,`bc-category-label`).attr(`x`,2).attr(`y`,n+13/2).attr(`text-anchor`,`start`).attr(`dominant-baseline`,`central`).attr(`font-size`,`10px`).attr(`font-weight`,`600`).attr(`fill`,`currentColor`).text(t)}}Hb(e,{chartType:`bar-horizontal`,margin:C,plotRect:w}),i&&(__(ne.node()),y_(e,i))}function Xx(e,t,n,r,i,a,o){let s=(n(e.label)??0)+i+(n.bandwidth()-i)/2,c=e=>Math.max(0,Math.min(a.plotWidth,e)),l=t(e.value),u=l<0||l>a.plotWidth,d=e.value<0,f=d?Math.min(c(t(0)),c(l)):Math.max(c(t(0)),c(l)),p=d?f-Jx-o>=Jx-a.marginLeft:f+Jx+o<=a.plotWidth+a.marginRight-Jx,m=d?a.plotWidth-f:f,h=(r===ni.Inside||u||!p)&&m>=o+Jx;return h?d?{tx:f+Jx,ty:s,anchor:`start`,isInside:h}:{tx:f-Jx,ty:s,anchor:`end`,isInside:h}:d?{tx:f-Jx,ty:s,anchor:`end`,isInside:h}:{tx:f+Jx,ty:s,anchor:`start`,isInside:h}}function Zx(e,t,n,r,i){let a=i.position??ni.Auto,o=i.categoryLabelOffset??0,s=e=>i.swapLabelValue?e.label:i.percent&&i.total!==void 0?Pg(e.value,i.total):i.formatValue(e.value),c=e.select(`.bc-value-label-group`);c.empty()&&(c=e.append(`g`).attr(`class`,`bc-value-label-group`));let l=e.node().ownerSVGElement?.parentElement,u=Zb(l),d=t.filter(e=>kx({text:s(e),placement:a===ni.Inside?`inside`:`outside`,orientation:`horizontal`,barWidth:Math.abs(n(e.value)-n(0)),barHeight:r.bandwidth()}));lx(u,{role:`value-label`,parent:c.node(),selector:`.bc-value-label`,data:d,key:e=>e.label,insert:e=>e.append(`text`).attr(`class`,`bc-value-label`).attr(`font-size`,`11px`).attr(`dominant-baseline`,`central`),attrs:e=>{let t=Xx(e,n,r,a,o,i.bounds,Px(s(e)));return{x:t.tx,y:t.ty,"text-anchor":t.anchor,fill:t.isInside?wr(i.colorOverrides.get(e.label)??i.colors[0]):`currentColor`}}}),c.selectAll(`.bc-value-label`).data(d,e=>e.label).text(s)}function Qx(e,t){let n=e.labels.map((t,n)=>({label:t,value:e.values[n]}));return t.sort===Qr.Ascending?n.sort((e,t)=>e.value-t.value):t.sort===Qr.Descending&&n.sort((e,t)=>t.value-e.value),n.map(e=>e.label)}var $x=12,eS=16,tS=12,nS=8;function rS(e){return e>0?e-eS-tS:1/0}function iS(e,t=``,n=0){let r=t?` ${t}`:``,i=Jg(e,rS(n)-Kg(r,$x),$x);return{label:i,suffix:r,width:eS+Kg(i+r,$x)+tS}}function aS(e){return qg(e,$x)+eS+nS}function oS(e,t,n){if(e.length===0)return{width:0,height:0};if(t===`left`||t===`right`)return{width:aS(e),height:e.length*20};let r=e.map(e=>iS(e,``,n).width);if(!n||n<=0)return{width:r.reduce((e,t)=>e+t,0),height:20};let i=1,a=0,o=0;for(let e of r)a>0&&a+e>n?(o=Math.max(o,a),i++,a=e):a+=e;return o=Math.max(o,a),{width:o,height:i*20}}function sS(e){return e.length===0?0:qg(e,$x)+10}var cS=[`#4e79a7`,`#f28e2b`,`#e15759`,`#76b7b2`,`#59a14f`,`#edc948`,`#b07aa1`,`#ff9da7`],lS=200,uS=.2,dS=class extends yg{initialize(){this.configDefine(`colors`,{defaultValue:cS}),this.configDefine(`yOffset`,{defaultValue:-10}),this.configDefine(`layout`,{defaultValue:`horizontal`}),this.configDefine(`valueSuffixes`,{defaultValue:[]}),this.configDefine(`maxWidth`,{defaultValue:0});let e=this.base.append(`g`).attr(`class`,`bc-legend`),t=e=>{let t=this.config(`colors`),n=this.config(`layout`),r=this.config(`valueSuffixes`),i=this.base.node()?.ownerSVGElement?.parentElement??document.documentElement,a=getComputedStyle(i).getPropertyValue(`--bc-text-color`).trim()||`#555`,o=this.config(`maxWidth`),s=0,c=0;e.each(function(e,i){let l=Q(this),u=r[i],d=iS(e,u,n===`horizontal`?o:0),f=d.width;n===`horizontal`&&o>0&&s>0&&s+f>o&&(s=0,c+=20),l.attr(`transform`,`translate(${s},${c})`).attr(`data-series`,e).style(`cursor`,`default`);let p=l.select(`rect`);p.empty()&&(p=l.append(`rect`).attr(`width`,12).attr(`height`,12)),p.attr(`fill`,t[i%t.length]);let m=l.select(`text`);m.empty()&&(m=l.append(`text`).attr(`x`,16).attr(`y`,10).attr(`font-size`,`12px`)),m.attr(`fill`,a),m.selectAll(`tspan`).remove(),u?(m.text(null),m.append(`tspan`).attr(`font-weight`,`bold`).text(d.label),m.append(`tspan`).text(d.suffix)):m.text(d.label),n===`vertical`?c+=20:s+=f})};this.layer(`items`,e,{dataBind:(e,t)=>e.selectAll(`.bc-legend-item`).data(t,e=>e),insert:e=>e.append(`g`).attr(`class`,`bc-legend-item`),events:{enter:t,update:t}})}preDraw(){let e=this.config(`yOffset`);this.base.select(`.bc-legend`).attr(`transform`,`translate(0,${e})`)}};function fS(e){let t=Q(e).selectAll(`.bc-legend-item`);if(t.empty())return;let n=null,r=null;function i(n){r=n,t.each(function(){let e=Q(this),t=e.attr(`data-series`)===n;e.transition().duration(150).style(`opacity`,t?1:uS)}),Q(e).selectAll(`[data-series]`).filter(function(){return!this.closest(`.bc-legend`)}).each(function(){let e=Q(this),t=e.attr(`data-series`)===n,r=this.classList.contains(`bc-direct-label`)||this.classList.contains(`bc-value-label`);e.transition().duration(150).style(`opacity`,t?1:r?0:uS)})}function a(){r=null,t.transition().duration(150).style(`opacity`,1),Q(e).selectAll(`[data-series]`).filter(function(){return!this.closest(`.bc-legend`)}).transition().duration(150).style(`opacity`,null)}t.on(`mouseenter.bcHighlight`,null).on(`mouseleave.bcHighlight`,null).on(`mouseenter.bcHighlight`,function(){let e=Q(this).attr(`data-series`)??``;n&&clearTimeout(n),n=setTimeout(()=>i(e),p_(lS))}).on(`mouseleave.bcHighlight`,()=>{n&&=(clearTimeout(n),null),r!==null&&a()})}function pS(e,t,n=cS,r=-10,i=`top`,a=`start`,o=0,s=0,c=0,l=[],u={}){let d=i===`left`||i===`right`?`vertical`:`horizontal`,f=new dS(Q(e));f.config({colors:n,yOffset:r,layout:d,valueSuffixes:l,maxWidth:o}),f.draw(t);let p=e.querySelector(`.bc-legend`);if(p){let e,n;if(d===`horizontal`){let r=t.map((e,t)=>iS(e,l[t],o).width),i=1,a=0,s=0;for(let e of r)o>0&&a>0&&a+e>o?(s=Math.max(s,a),i++,a=e):a+=e;s=Math.max(s,a),e=s,n=i*20}else e=aS(t.map((e,t)=>l[t]?`${e} ${l[t]}`:e)),n=t.length*20;let i=u.left??0,f=u.right??0,m=c,h=r;d===`horizontal`?m+=a===`middle`?-i+(o+i+f-e)/2:a===`end`?o+f-e:-i:a===`middle`?h+=(s-n)/2:a===`end`&&(h+=s-n),p.setAttribute(`transform`,`translate(${m},${h})`)}return fS(e),p}function mS(e){return e.series?e.series:e.values.length>0?[{name:``,values:e.values}]:[]}function hS(e,t){if(t<=e.length)return e;let n=e.filter(e=>Sr.valid(e));return n.length<2?e:Sr.scale(n).mode(`lch`).colors(t)}function gS(e,t){return t?.find(t=>t.name===e)}function _S(e,t,n,r){return gS(e,r)?.color??n[t%n.length]}function vS(e,t){return gS(e,t)?.dash??`solid`}function yS(e,t){return gS(e,t)?.lineWidth??2}function bS(e,t,n){let r=gS(e,n);return!r?.interpolation||r.interpolation===`global`?t:r.interpolation}function xS(e,t){return gS(e,t)?.hidden??!1}function SS(e,t,n){let r=gS(e,n);return!r?.labelMode||r.labelMode===`global`?t:r.labelMode}function CS(e,t,n){let r=gS(e,n);return r?.valueLabels===void 0?t:r.valueLabels}function wS(e,t){return gS(e,t)?.opacity??1}function TS(e,t,n){let r=gS(e,n);if(r?.lineSymbols!==!1&&(r?.lineSymbols===!0||t))return{name:e,symbolShape:r?.symbolShape??t?.symbolShape,symbolShowOn:r?.symbolShowOn??t?.symbolShowOn,symbolStyle:r?.symbolStyle??t?.symbolStyle,symbolSize:r?.symbolSize??t?.symbolSize,symbolOpacity:r?.symbolOpacity??t?.symbolOpacity,lineSymbols:!0}}var ES=[`#4e79a7`,`#f28e2b`,`#e15759`,`#76b7b2`,`#59a14f`,`#edc948`,`#b07aa1`,`#ff9da7`],DS=4,OS=16,kS=8;function AS(e,t,n={},r=!1){h_(r);let i=null,a,o,s=[],c,l=av.for(e);if(r){let t=Vb(e);o=t?.margin,c=t?.plotRect,l.detach(),t?.chartType===`bar-multi`?s=Array.from(e.querySelectorAll(`.bc-frame .bc-bar-multi`)):t&&(i=v_(e)),a=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of Xy(t))a.set(e,n);e.replaceChildren()}let{body:u}=Ag(e,n.frame),d=t.series??[],f=d.filter(e=>!xS(e.name,n.seriesOverrides)),p=f.map(e=>e.name),m=hS(n.colors??ES,d.length),h=n.seriesOverrides,g=n.directLabelling===!0||n.directLabelling===`auto`&&n.legend!==!0||!!n.directLabelling&&n.directLabelling!==`auto`,_=g?`direct`:n.legend===!1?`none`:`legend`,v=n.valueLabels??!1,y=n.valueLabelPosition??ni.Auto,b=typeof n.directLabelling==`string`?n.directLabelling:n.directLabelling?oi.Auto:oi.Off,x=n.legend!==!1&&!g,S=u_(u).width,C=n.legendPosition??`top`,w=S>0&&S<350&&(C===`left`||C===`right`)?`top`:C,T=n.legendAnchor??`start`,E=f.flatMap(e=>e.values),D=a_(E,n.verticalAxis?.range,n.verticalAxis?.numberFormat,n.verticalAxis?.scaleType),O=c_(S,n.verticalAxis?.labelPosition,n.horizontalAxis?.labelPosition,n.verticalAxis?.direction,D),k=O.top!=null,A=Math.max(0,S-(O.left??50)-(O.right??20)),j=x?oS(p,w,A):{width:0,height:0},M=x?j.height+15:0,N={...O};x&&w===`top`&&(N.top=M+(k?15:0)),x&&w===`left`&&(N.left=(N.left??50)+j.width+10),x&&w===`right`&&(N.right=(N.right??20)+j.width+10);let P=Math.max(0,S-(N.left??50)-(N.right??20));N.bottom=(H_(t.labels,P,n.horizontalAxis)??Math.max(N.bottom??24,24))+(w===`bottom`?M:0);let F=g||!!h?.some(e=>e.labelMode===`direct`),I=v!==!1||!!h?.some(e=>e.valueLabels),L=F&&b!==oi.Inside,R=I&&y!==ni.Inside,z=L&&R?OS:DS;(L||R)&&(N.top=(N.top??0)+z+kS);let{chartArea:B,width:V,height:H,margin:ee}=f_(u,N),te=Yg(o,ee),[ne,re]=Ei(E,n.verticalAxis?.range,n.verticalAxis?.scaleType);if(n.valueLabels&&ne<0&&n.verticalAxis?.range?.min==null){let e=re-ne;ne-=e*.1}let ie=t.labels;if(n.sortMode===`total`){let e=t.labels.map((e,t)=>({label:e,index:t,total:f.reduce((e,n)=>e+(n.values[t]??0),0)}));e.sort((e,t)=>t.total-e.total),ie=e.map(e=>e.label)}let ae=ef().domain(ie).range([0,V]).padding(Ti(n.barGap)),U=ef().domain(p).range([0,ae.bandwidth()]).padding(.05),oe=n.verticalAxis?.scaleType===`log`,se=oe?Mf().domain([ne,re]).nice().range([H,0]):_f().domain([ne,re]).nice().range([H,0]);l.attach(B,te),l.update({vertical:{scale:se,height:H,options:{...n.verticalAxis,gridWidth:V,topPadding:ee.top}},horizontal:{scale:ae,height:H,options:{...n.horizontalAxis,width:V}}}),!oe&&ne<0&&re>0&&Q(B).append(`line`).attr(`class`,`bc-zero-baseline`).attr(`x1`,0).attr(`x2`,V).attr(`y1`,se(0)).attr(`y2`,se(0)).attr(`stroke`,`#666`).attr(`stroke-width`,1);let ce=new Map;n.sortMode===`within-groups`&&t.labels.forEach((e,t)=>{let n=f.map(e=>({name:e.name,value:e.values[t]}));n.sort((e,t)=>t.value-e.value),n.forEach((t,n)=>{ce.set(`${e}\0${t.name}`,p[n])})});let le=[];t.labels.forEach((e,t)=>{f.forEach(r=>{let i=d.findIndex(e=>e.name===r.name),a=n.sortMode===`within-groups`?ce.get(`${e}\0${r.name}`)??r.name:r.name;le.push({label:e,series:a,seriesName:r.name,value:r.values[t],seriesIndex:i})})});let ue=B.ownerSVGElement,de=Gb(ue,e,`bars`,{x:0,y:0,width:V,height:H}),W=Q(B).append(`g`).attr(`clip-path`,`url(#${de})`),G=Zb(e),fe=bx(n.highlights,le.map(e=>e.seriesName)),pe=zb(n.colorizes),me=W.append(`g`).node();if(r)for(let e of s)e.removeAttribute(`opacity`),e.removeAttribute(`fill-opacity`),me.appendChild(e);lx(G,{role:`mark-per-cell`,parent:me,selector:`.bc-bar-multi`,data:le,key:e=>`${e.label}\0${e.seriesName}`,insert:e=>e.append(`rect`).attr(`class`,`bc-bar bc-bar-multi`),attrs:e=>{let t=_S(e.seriesName,e.seriesIndex,m,h),n=wS(e.seriesName,h),r={"data-series":e.seriesName,x:(ae(e.label)??0)+(U(e.series)??0),y:Math.min(se(0),se(e.value)),width:U.bandwidth(),height:Math.abs(se(e.value)-se(0)),fill:pe.get(e.seriesName)??t};return n<1&&(r[`fill-opacity`]=n),fe.size>0?{...r,opacity:xx(fe,e.seriesName)}:r}});let he={left:ee.left,top:ee.top,width:V,height:H};_x(G,{svg:ue,clipId:de,group:B,from:c,to:he,active:r&&s.length>0});let ge=qb(W);if(n.tooltips&&ge.use(Gy({numberFormat:n.verticalAxis?.numberFormat})),n.crosshair&&ge.use(qy({width:V,height:H,direction:n.crosshairDirection,style:n.crosshairStyle,color:n.crosshairColor})),n.annotations?.length){let i=t.labels.map((e,t)=>({label:e,value:Math.max(...f.map(e=>e.values[t]??0))}));ge.use(Rb(n.annotations,{scaleX:ae,scaleY:se,data:i,width:V,height:H,backgroundColor:Er(e),transition:r,priorAnnotations:a}))}let _e=()=>ge.draw(le);G.state===`committing`?G.register(_e):_e(),Hb(e,{chartType:`bar-multi`,margin:ee,plotRect:he}),i&&(__(W.node()),y_(e,i));let ve=new Set;f.forEach(e=>{SS(e.name,_,h)===`direct`&&ve.add(e.name)});let ye=ve.size>0,be=Er(e),xe=n.directLabelAnchor??`middle`;function Se(){return y===ni.Inside?ni.Inside:(ni.Outside,ni.Outside)}function Ce(e){return b===oi.Inside?ni.Inside:b===oi.Outside?ni.Outside:v?Se():ni.Outside}function K(e,t,n){return n===`start`?e+12:n===`end`?e+t-4:e+t/2}let we=Q(B).append(`g`).attr(`class`,`bc-value-labels`);le.forEach(e=>{if(!CS(e.seriesName,v,h))return;let t=(ae(e.label)??0)+(U(e.series)??0)+U.bandwidth()/2,n=Math.min(se(0),se(e.value)),r=Math.abs(se(e.value)-se(0)),i=Se(),a=ye&&ve.has(e.seriesName),o=e.value<0,s=n+r,c,l,u;i===ni.Inside?(l=wr(_S(e.seriesName,e.seriesIndex,m,h)),u=`central`,c=a&&Ce(r)===ni.Inside?K(n,r,xe)+14:n+r/2):(l=`currentColor`,o?(c=a&&Ce(r)===ni.Outside?s+OS:s+DS,u=`hanging`):(c=a&&Ce(r)===ni.Outside?n-OS:n-DS,u=`auto`)),kx({text:String(e.value),placement:i===ni.Inside?`inside`:`outside`,orientation:`vertical`,barWidth:U.bandwidth(),barHeight:r})&&we.append(`text`).attr(`class`,`bc-value-label`).attr(`data-series`,e.seriesName).attr(`x`,t).attr(`y`,c).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,u).attr(`font-size`,`11px`).attr(`fill`,l).text(String(e.value))}),le.forEach(e=>{if(!ve.has(e.seriesName))return;let t=(ae(e.label)??0)+(U(e.series)??0)+U.bandwidth()/2,n=Math.min(se(0),se(e.value)),r=Math.abs(se(e.value)-se(0)),i=h?.find(t=>t.name===e.seriesName)?.labelText||e.seriesName,a=Ce(r),o=_S(e.seriesName,e.seriesIndex,m,h),s=Q(B).append(`text`).attr(`class`,`bc-direct-label`).attr(`data-series`,e.seriesName).attr(`x`,t).attr(`text-anchor`,`middle`).attr(`font-size`,`10px`).text(i);if(a===ni.Inside){let e=K(n,r,xe);s.attr(`y`,e).attr(`fill`,wr(o)),xe===`middle`&&s.attr(`dominant-baseline`,`central`)}else s.attr(`y`,n-DS).attr(`fill`,Dr(o,be))});let Te=p.filter(e=>SS(e,_,h)===`legend`);if(x&&Te.length>0){let e=Te.map(e=>_S(e,d.findIndex(t=>t.name===e),m,h)),t=0,n=0;if(w===`top`){let e=k?15:0;n=-(j.height+10+e)}else w===`bottom`?n=H+Math.max(ee.bottom-M,0):w===`left`?t=-(j.width+10):w===`right`&&(t=V+10);pS(B,Te,e,n,w,T,V,H,t,[],{left:ee.left,right:ee.right})}}var jS={linear:ah,monotoneX:Uh,step:Gh,stepBefore:Kh,stepAfter:qh,basis:jh,cardinal:Ph,catmullRom:Lh};function MS(e){return e&&jS[e]||ah}var NS=`bc-tooltip`,PS=new WeakMap;function FS(e){let t=PS.get(e);t&&(PS.delete(e),t())}function IS(){if(document.getElementById(`bc-tooltip-styles`))return;let e=document.createElement(`style`);e.id=`bc-tooltip-styles`,e.textContent=`
|
|
329
|
+
.${NS} {
|
|
330
330
|
position: absolute;
|
|
331
331
|
pointer-events: none;
|
|
332
332
|
background: var(--bs-body-bg, #fff);
|
|
@@ -337,10 +337,12 @@ body {
|
|
|
337
337
|
font-size: 13px;
|
|
338
338
|
box-shadow: 0 2px 8px rgba(0,0,0,0.12);
|
|
339
339
|
z-index: 9999;
|
|
340
|
+
white-space: pre-line;
|
|
340
341
|
display: none;
|
|
341
342
|
}
|
|
342
|
-
`,document.head.appendChild(e)}function Tx(e){let t=e?Sh(e):null,n=e=>t?t(e):String(e);return e=>e.series?`${e.series} – ${e.label}: ${n(e.value)}`:`${e.label}: ${n(e.value)}`}function Ex(e,t){let{width:n,height:r,points:i,tooltip:a=!0,crosshair:o=!1,crosshairDirection:s=ti.Both,crosshairStyle:c=ni.Dashed,crosshairColor:l=`#999`,format:u=Tx(t.numberFormat),container:d}=t;if(i.length===0){let e=()=>{};return d&&Sx.set(d,e),e}let f=c===ni.Solid?`none`:c===ni.Dotted?`2,2`:`4,3`,p=[...new Set(i.map(e=>e.cx))].sort((e,t)=>e-t),m=$(e),h=null;a&&(wx(),h=document.createElement(`div`),h.className=xx,document.body.appendChild(h));let g=`.bc-annotations`,_=!m.select(g).empty(),v=e=>_?m.insert(e,g):m.append(e),y=o&&(s===ti.Both||s===ti.Vertical),b=o&&(s===ti.Both||s===ti.Horizontal),x=null,S=null;y&&(x=v(`line`).attr(`class`,`bc-crosshair bc-crosshair-v`).attr(`y1`,0).attr(`y2`,r).style(`stroke`,l).attr(`stroke-width`,1).style(`stroke-dasharray`,f).attr(`pointer-events`,`none`).style(`display`,`none`)),b&&(S=v(`line`).attr(`class`,`bc-crosshair bc-crosshair-h`).attr(`x1`,0).attr(`x2`,n).style(`stroke`,l).attr(`stroke-width`,1).style(`stroke-dasharray`,f).attr(`pointer-events`,`none`).style(`display`,`none`));let C=v(`circle`).attr(`class`,`bc-proximity-dot`).attr(`r`,6).attr(`fill`,`none`).attr(`stroke`,`#333`).attr(`stroke-width`,1).attr(`opacity`,.45).attr(`pointer-events`,`none`).style(`display`,`none`),w=v(`rect`).attr(`class`,`bc-proximity-overlay`).attr(`width`,n).attr(`height`,r).attr(`fill`,`none`).attr(`pointer-events`,`all`);function T(e,t){if(p.length===0)return null;let n=Ni(p,e),r=p[n],a=i.filter(e=>e.cx===r);if(a.length===0)return null;let o=a[0],s=Math.abs(a[0].cy-t);for(let e=1;e<a.length;e++){let n=Math.abs(a[e].cy-t);n<s&&(o=a[e],s=n)}return o}let E=t=>{let[n,r]=xs(t,e),i=T(n,r);i&&(C.attr(`cx`,i.cx).attr(`cy`,i.cy).attr(`stroke`,i.color).style(`display`,null),h&&(h.textContent=u(i),h.style.display=`block`,jv(C.node(),h,{placement:`top`,middleware:[Ov(8),Av(),kv()]}).then(({x:e,y:t})=>{h&&(h.style.left=`${e}px`,h.style.top=`${t}px`)})),x&&x.attr(`x1`,i.cx).attr(`x2`,i.cx).style(`display`,null),S&&S.attr(`y1`,i.cy).attr(`y2`,i.cy).style(`display`,null))},D=()=>{C.style(`display`,`none`),h&&(h.style.display=`none`),x&&x.style(`display`,`none`),S&&S.style(`display`,`none`)},O=w.node();O.addEventListener(`mousemove`,E),O.addEventListener(`mouseleave`,D);let k=()=>{O.removeEventListener(`mousemove`,E),O.removeEventListener(`mouseleave`,D),w.remove(),C.remove(),h&&=(h.remove(),null),x&&x.remove(),S&&S.remove(),d&&Sx.get(d)===k&&Sx.delete(d)};return d&&Sx.set(d,k),k}var Dx={circle:nm,square:sm,diamond:om,triangle:mm,triangleDown:gm??mm,cross:rm,star:fm};function Ox(e,t,n){switch(n){case Jr.First:return e===0;case Jr.Last:return e===t-1;case Jr.FirstLast:return e===0||e===t-1;case Jr.All:default:return!0}}function kx(e,t,n,r,i=!1){let a=r.symbol??qr.Circle,o=r.showOn??Jr.FirstLast,s=r.style??Yr.Filled,c=r.size&&r.size>0?r.size:3.5,l=r.opacity??1,u=`var(--bs-body-bg, #fff)`,d=t.filter(e=>Ox(e.index,n,o)),f=i?og():0;if(a===qr.Circle){e.selectAll(`path.bc-symbol`).remove();let t=e.selectAll(`circle.bc-symbol`).data(d).join(e=>e.append(`circle`).attr(`class`,`bc-symbol`).attr(`cx`,e=>e.cx).attr(`cy`,e=>e.cy).attr(`r`,c).attr(`fill`,e=>s===Yr.Filled?e.color:u).attr(`stroke`,e=>e.color).attr(`stroke-width`,s===Yr.Hollow?1.5:0).attr(`opacity`,l),e=>e,e=>e.remove());(i?t.transition().duration(f):t).attr(`cx`,e=>e.cx).attr(`cy`,e=>e.cy).attr(`r`,c).attr(`fill`,e=>s===Yr.Filled?e.color:u).attr(`stroke`,e=>e.color).attr(`stroke-width`,s===Yr.Hollow?1.5:0).attr(`opacity`,l)}else{let t=Dx[a]??nm,n=Math.PI*c*c,r=_m().type(t).size(n);e.selectAll(`circle.bc-symbol`).remove();let o=e.selectAll(`path.bc-symbol`).data(d).join(e=>e.append(`path`).attr(`class`,`bc-symbol`).attr(`transform`,e=>`translate(${e.cx},${e.cy})`).attr(`d`,r).attr(`fill`,e=>s===Yr.Filled?e.color:u).attr(`stroke`,e=>e.color).attr(`stroke-width`,s===Yr.Hollow?1.5:0).attr(`opacity`,l),e=>e,e=>e.remove());(i?o.transition().duration(f):o).attr(`transform`,e=>`translate(${e.cx},${e.cy})`).attr(`d`,r).attr(`fill`,e=>s===Yr.Filled?e.color:u).attr(`stroke`,e=>e.color).attr(`stroke-width`,s===Yr.Hollow?1.5:0).attr(`opacity`,l)}}function Ax(e,t,n={},r=!1){ag(r),Cx(e);let i=[],a=[],o=null,s=null,c,l,u,d=Yg.for(e);if(r){let t=Oy(e);l=t?.margin,u=t?.plotRect,d.detach(),t?.chartType===`line`?(i=Array.from(e.querySelectorAll(`.bc-frame .bc-area`)),a=Array.from(e.querySelectorAll(`.bc-frame .bc-line`)),o=e.querySelector(`.bc-frame .bc-symbols`)):t&&(s=cg(e)),c=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of zv(t))c.set(e,n);e.replaceChildren()}let{body:f}=yh(e,n.frame),p=eg(f).width,m=Xh(t.values,n.verticalAxis?.range,n.verticalAxis?.numberFormat,n.verticalAxis?.scaleType),h=Qh(p,n.verticalAxis?.labelPosition,n.horizontalAxis?.labelPosition,n.verticalAxis?.direction,m),g=Mg(t.labels,Math.max(0,p-(h.left??50)-(h.right??20)),n.horizontalAxis);g!==void 0&&(h.bottom=g);let{chartArea:_,width:v,height:y,margin:b}=ng(f,h),x=Rh(l,b),S=Si(t.labels,n.horizontalAxis?.range),C=S.map(e=>t.labels[e]),w=S.map(e=>t.values[e]),T=C.map((e,t)=>({label:e,value:w[t]})),E=T.filter(e=>Number.isFinite(e.value)),D=cd().domain(C).range([0,v]).padding(n.edgePadding?.6:0),O=D,k=e=>D(e.label)??0,ee=n.verticalAxis?.scaleType===`log`,[A,j]=wi(w,n.verticalAxis?.range,n.verticalAxis?.scaleType,!1),M=ee?Ed().domain([A,j]).nice().range([y,0]):Sd().domain([A,j]).nice().range([y,0]),N=M.domain(),P=N[0]<0&&N[1]>0?M(0):void 0;d.attach(_,x),d.update({vertical:{scale:M,height:y,options:{...n.verticalAxis,gridWidth:v,topPadding:b.top}},horizontal:{scale:O,height:y,options:{...n.horizontalAxis,width:v,zeroY:P}}});let F=_.ownerSVGElement,I=My(F,e,`plot`,{x:-1,y:-1,width:v+2,height:y+2}),L=$(_).append(`g`).attr(`clip-path`,`url(#${I})`),R=L.node(),z=n.colors?.[0]??`#4e79a7`,B=bx(n.interpolation),V=n.areaFill??!1,te=n.areaFillOpacity??.2,ne=e=>Number.isFinite(e.value),re=Qp().curve(B).defined(ne).x(e=>k(e)).y0(y).y1(e=>M(e.value)),ie=Zp().curve(B).defined(ne).x(e=>k(e)).y(e=>M(e.value)),ae=$(R).append(`g`).node(),oe=$(R).append(`g`).node();if(r){for(let e of i)ae.appendChild(e);for(let e of a)oe.appendChild(e)}let H=zy(e),se=[{name:`line`,points:T}];Zy(H,{role:`series-area`,parent:ae,selector:`.bc-area`,data:V?se:[],key:e=>e.name,insert:e=>e.append(`path`).attr(`class`,`bc-area`),attrs:e=>({d:re(e.points)??``,fill:z,opacity:te})}),Zy(H,{role:`series-line`,parent:oe,selector:`.bc-line`,data:se,key:e=>e.name,insert:e=>e.append(`path`).attr(`class`,`bc-line`),attrs:e=>({d:ie(e.points)??``,fill:`none`,stroke:z})}),$(R).append(`g`).selectAll(`.bc-dot`).data(E,e=>e.label).enter().append(`circle`).attr(`class`,`bc-dot`).attr(`cx`,e=>k(e)).attr(`cy`,e=>M(e.value)).attr(`r`,3).attr(`fill`,z).attr(`fill-opacity`,0).attr(`stroke-opacity`,0).attr(`pointer-events`,`none`);let ce={left:b.left,top:b.top,width:v+2,height:y+2};if(ab(H,{svg:F,clipId:I,group:_,from:u,to:ce,active:r&&(i.length>0||a.length>0)}),n.annotations?.length&&wy(_,n.annotations,{scaleX:O,scaleY:M,data:T,width:v,height:y,backgroundColor:wr(e),transition:r,priorAnnotations:c}),(n.tooltips||n.crosshair)&&Ex(_,{width:v,height:y,points:E.map(e=>({cx:k(e),cy:M(e.value),label:e.label,value:e.value,color:z})),tooltip:n.tooltips,crosshair:n.crosshair,crosshairDirection:n.crosshairDirection,crosshairStyle:n.crosshairStyle,crosshairColor:n.crosshairColor,numberFormat:n.verticalAxis?.numberFormat,container:e}),n.valueLabels){let e=$(_).insert(`g`,()=>R.nextSibling),t=e=>Cb(String(e.value),k(e),M(e.value),{width:v,height:y,margin:b});e.selectAll(`.bc-value-label`).data(E,e=>e.label).enter().append(`text`).attr(`class`,`bc-value-label`).attr(`x`,e=>t(e).x).attr(`y`,e=>t(e).y).attr(`text-anchor`,`middle`).attr(`font-size`,`11px`).attr(`fill`,`currentColor`).text(e=>String(e.value))}if(n.lineSymbols){let e=T.map((e,t)=>({cx:k(e),cy:M(e.value),color:z,index:t})).filter(e=>Number.isFinite(e.cy)),t;o?(_.appendChild(o),t=$(o)):t=$(_).append(`g`).attr(`class`,`bc-symbols`),kx(t,e,T.length,n.lineSymbols,r)}ky(e,{chartType:`line`,margin:b,plotRect:ce}),s&&(sg(L.node()),lg(e,s))}var jx=28,Mx=18,Nx=20,Px=12,Fx=.3;function Ix(e,t,n,r=jx){if(e.length===0)return[];if(e.length===1)return[Math.max(t,Math.min(n,e[0]))];let i=e.length,a=n-t,o=(i-1)*r>a?Math.max(0,a/(i-1)):r,s=[...e];for(let e=0;e<10;e++){for(let e=1;e<s.length;e++)s[e]-s[e-1]<o&&(s[e]=s[e-1]+o);s[s.length-1]>n&&(s[s.length-1]=n);for(let e=s.length-2;e>=0;e--)s[e+1]-s[e]<o&&(s[e]=s[e+1]-o);s[0]<t&&(s[0]=t)}return s}function Lx(e,t,n){let{outerRadius:r,fontSize:i=12,bgColor:a=`#fff`}=n,o=r+2,s=o+Mx,c=jx/s,l=[],u=[];for(let e of t){let t=(e.startAngle+e.endAngle)/2;t<Math.PI?u.push({...e,midAngle:t}):l.push({...e,midAngle:t})}function d(t,n){if(t.length===0)return;t.sort((e,t)=>e.midAngle-t.midAngle);let r=n?.05:Math.PI+.05,l=n?Math.PI-.05:2*Math.PI-.05,u=Ix(t.map(e=>e.midAngle),r,l,c),d=n?1:-1,f=e.append(`g`).attr(`class`,`bc-arc-labels`);t.forEach((e,t)=>{let r=e.showLabel!==!1,c=e.showValue!==!1;if(!r&&!c)return;let l=u[t]-Math.PI/2,p=Math.cos(l)*o,m=Math.sin(l)*o,h=Math.cos(l)*s,g=Math.sin(l)*s,_=h+d*Nx;f.append(`polyline`).attr(`class`,`bc-arc-label-line`).attr(`points`,`${p},${m} ${h},${g} ${_},${g}`).attr(`fill`,`none`).attr(`stroke`,`var(--bc-text-color, #999)`).attr(`stroke-width`,1).attr(`opacity`,.5);let v=_+d*4,y=f.append(`text`).attr(`class`,`bc-arc-direct-label`).attr(`x`,v).attr(`y`,g).attr(`text-anchor`,n?`start`:`end`).attr(`font-size`,`${i}px`);if(r&&y.append(`tspan`).attr(`x`,v).attr(`dy`,c?`-0.1em`:`0.35em`).attr(`font-weight`,`bold`).attr(`fill`,Tr(e.color,a)).text(e.label),c){let t=e.displayAsPercentage&&e.percentage!=null?`${Math.round(e.percentage)}%`:String(e.value);y.append(`tspan`).attr(`x`,v).attr(`dy`,r?`1.2em`:`0.35em`).attr(`fill`,`var(--bc-text-color, #666)`).text(t)}})}d(u,!0),d(l,!1)}var Rx=.3;function zx(e,t,n){let{outerRadius:r,innerRadius:i=0,fontSize:a=12}=n,o=(i+r)/2,s=e.append(`g`).attr(`class`,`bc-arc-labels-inside`),c=[],l=r-i;for(let e of t){if(e.endAngle-e.startAngle<Rx||Fh(e.label,a)>l*2){c.push(e);continue}let t=e.showLabel!==!1,n=e.showValue!==!1;if(!t&&!n)continue;let r=(e.startAngle+e.endAngle)/2-Math.PI/2,i=Math.cos(r)*o,u=Math.sin(r)*o,d=s.append(`text`).attr(`class`,`bc-arc-inside-label`).attr(`x`,i).attr(`y`,u).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`central`).attr(`font-size`,`${a}px`),f=Sr(e.color);if(t&&d.append(`tspan`).attr(`x`,i).attr(`dy`,n?`-0.5em`:`0em`).attr(`font-weight`,`bold`).attr(`fill`,f).text(e.label),n){let n=e.displayAsPercentage&&e.percentage!=null?`${Math.round(e.percentage)}%`:String(e.value);d.append(`tspan`).attr(`x`,i).attr(`dy`,t?`1.2em`:`0em`).attr(`fill`,f).attr(`opacity`,.85).text(n)}}c.length>0&&Lx(e,c,{outerRadius:r,chartWidth:n.chartWidth,chartHeight:n.chartHeight,fontSize:a,bgColor:n.bgColor})}function Bx(e,t,n){let{outerRadius:r,innerRadius:i=0,fontSize:a=12,bgColor:o}=n,s=(i+r)/2,c=[],l=[],u=r-i;for(let e of t){let t=e.endAngle-e.startAngle,n=t*s,r=Fh(e.label,a);n>r*1.2&&t>=Rx&&r<=u*2?c.push(e):l.push(e)}c.length>0&&zx(e,c,{outerRadius:r,innerRadius:i,chartWidth:n.chartWidth,chartHeight:n.chartHeight,fontSize:a,bgColor:o}),l.length>0&&Lx(e,l,{outerRadius:r,chartWidth:n.chartWidth,chartHeight:n.chartHeight,fontSize:a,bgColor:o})}function Vx(e,t,n={width:0,height:0}){if(e.length===0)return{left:0,right:0,top:0,bottom:0};let r=48+Ih(e,Px)+6,i=e.length*jx/2,a=Math.max(10,i-t+20),o=Hx(r,n.width),s=Hx(a,n.height);return{left:o,right:o,top:s,bottom:s}}function Hx(e,t){return t>0?Math.min(e,t*Fx):e}var Ux=[`#4e79a7`,`#f28e2b`,`#e15759`,`#76b7b2`,`#59a14f`,`#edc948`,`#b07aa1`,`#ff9da7`];function Wx(e,t,n={},r=!1){ag(r),Cx(e);let i=t,a=[],o=[],s=[],c=null,l,u,d,f=Yg.for(e);if(r){let t=Oy(e);u=t?.margin,d=t?.plotRect,f.detach(),t?.chartType===`line-multi`?(a=Array.from(e.querySelectorAll(`.bc-frame .bc-area`)),o=Array.from(e.querySelectorAll(`.bc-frame .bc-line`)),s=Array.from(e.querySelectorAll(`.bc-frame .bc-symbols`))):t&&(c=cg(e)),l=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of zv(t))l.set(e,n);e.replaceChildren()}let{body:p}=yh(e,n.frame),m=i.series??[],h=m.filter(e=>!lx(e.name,n.seriesOverrides));(n.sortMode===`total`||n.sortMode===`within-groups`)&&(h=[...h].sort((e,t)=>{let n=e.values.reduce((e,t)=>e+t,0);return t.values.reduce((e,t)=>e+t,0)-n}));let g=rx(n.colors??Ux,m.length),_=h.map(e=>e.name),v=Ey(n.colorizes),y=n.seriesOverrides,b=n.directLabelling===!0||n.directLabelling===`auto`&&n.legend!==!0||!!n.directLabelling&&n.directLabelling!==`auto`,x=b?`direct`:n.legend===!1?`none`:`legend`,S=_.filter(e=>ux(e,x,y)===`direct`),C=n.legend!==!1&&!b,w=eg(p).width,T=n.legendPosition??`top`,E=w>0&&w<350&&(T===`left`||T===`right`)?`top`:T,D=n.legendAnchor??`start`,O=Si(i.labels,n.horizontalAxis?.range),k=O.map(e=>i.labels[e]);h=h.map(e=>({...e,values:O.map(t=>e.values[t])})),i={...i,labels:k,series:h};let ee=h.flatMap(e=>e.values),A=Xh(ee,n.verticalAxis?.range,n.verticalAxis?.numberFormat,n.verticalAxis?.scaleType),j=Qh(w,n.verticalAxis?.labelPosition,n.horizontalAxis?.labelPosition,n.verticalAxis?.direction,A),M=S.length>0?Yb(S):0,N=j.top!=null,P=Math.max(0,w-(j.left??50)-(j.right??20)-M),F=C?Jb(_,E,P):{width:0,height:0},I=C?F.height+15:0,L={...j};C&&E===`top`&&(L.top=I+(N?15:0)),C&&E===`left`&&(L.left=(L.left??50)+F.width+10),C&&E===`right`&&(L.right=(L.right??20)+F.width+10),M>0&&(L.right=(L.right??20)+M),L.bottom=(Mg(i.labels,Math.max(0,w-(L.left??50)-(L.right??20)),n.horizontalAxis)??Math.max(L.bottom??24,24))+(E===`bottom`?I:0);let{chartArea:R,width:z,height:B,margin:V}=ng(p,L),te=Rh(u,V),[ne,re]=wi(ee,n.verticalAxis?.range,n.verticalAxis?.scaleType,!1),ie=cd().domain(i.labels).range([0,z]).padding(n.edgePadding?.6:0),ae=ie,oe=e=>ie(i.labels[e])??0,H=n.verticalAxis?.scaleType===`log`?Ed().domain([ne,re]).nice().range([B,0]):Sd().domain([ne,re]).nice().range([B,0]),se=H.domain(),ce=se[0]<0&&se[1]>0?H(0):void 0;f.attach(R,te),f.update({vertical:{scale:H,height:B,options:{...n.verticalAxis,gridWidth:z,topPadding:V.top}},horizontal:{scale:ae,height:B,options:{...n.horizontalAxis,width:z,zeroY:ce}}});let le=R.ownerSVGElement,ue=My(le,e,`plot`,{x:0,y:0,width:z,height:B}),de=$(R).append(`g`).attr(`clip-path`,`url(#${ue})`),U=de.node(),W=h.map(e=>({name:e.name,values:e.values,colorIndex:m.findIndex(t=>t.name===e.name)})),fe=bx(n.interpolation);n.areaFills?.length&&Gx(U,n.areaFills,h,oe,i.labels.length,H,fe);let pe=e=>Number.isFinite(e),me=[];h.forEach((e,t)=>{i.labels.forEach((n,r)=>{pe(e.values[r])&&me.push({label:n,value:e.values[r],series:e.name,colorIndex:t})})});let he=n.lineSymbols,ge={solid:``,dotted:`2,4`,dashed:`8,4`,"dash-dot":`8,4,2,4`},_e=n.valueLabels??!1,ve=cb(n.highlights,_),ye=n.areaFill??!1,be=n.areaFillOpacity??.2,xe=e=>v.get(e.name)??ax(e.name,e.colorIndex,g,y),Se=Qp().curve(fe).defined(pe).x((e,t)=>oe(t)).y0(B).y1(e=>H(e)),G=zy(e),K=$(U).append(`g`).node(),Ce=$(U).append(`g`).node(),we=new Set(W.map(e=>e.name));if(r){for(let e of a)we.has(e.__data__?.name??``)&&K.appendChild(e);for(let e of o)we.has(e.__data__?.name??``)&&Ce.appendChild(e)}Zy(G,{role:`series-area`,parent:K,selector:`.bc-area`,data:ye?W:[],key:e=>e.name,insert:e=>e.append(`path`).attr(`class`,`bc-area`),attrs:e=>({"data-series":e.name,d:Se(e.values)??``,fill:xe(e),opacity:lb(ve,e.name,be)})}),Zy(G,{role:`series-line`,parent:Ce,selector:`.bc-line`,data:W,key:e=>e.name,insert:e=>e.append(`path`).attr(`class`,`bc-line`),attrs:e=>{let t=cx(e.name,n.interpolation??`linear`,y),r=Zp().curve(bx(t)).defined(pe).x((e,t)=>oe(t)).y(e=>H(e));return{"data-series":e.name,d:r(e.values)??``,fill:`none`,stroke:xe(e),style:`stroke-width:${sx(e.name,y)}`,"stroke-dasharray":ge[ox(e.name,y)]??``,opacity:lb(ve,e.name,1)}}}),$(U).append(`g`).selectAll(`.bc-dot`).data(me,e=>e.label+`\0`+e.series).enter().append(`circle`).attr(`class`,`bc-dot`).attr(`data-series`,e=>e.series).attr(`cx`,e=>oe(i.labels.indexOf(e.label))).attr(`cy`,e=>H(e.value)).attr(`r`,3).attr(`fill`,e=>xe({name:e.series,values:[],colorIndex:e.colorIndex})).attr(`fill-opacity`,0).attr(`stroke-opacity`,0).attr(`pointer-events`,`none`);let Te={left:V.left,top:V.top,width:z,height:B};if(ab(G,{svg:le,clipId:ue,group:R,from:d,to:Te,active:r&&(o.length>0||a.length>0)}),n.annotations?.length){let t=i.labels.map((e,t)=>({label:e,value:h[0]?.values[t]??0}));wy(R,n.annotations,{scaleX:ae,scaleY:H,data:t,width:z,height:B,backgroundColor:wr(e),transition:r,priorAnnotations:l})}let Ee=$(R).insert(`g`,()=>U.nextSibling).attr(`class`,`bc-value-labels`);me.forEach(e=>{if(!dx(e.series,_e,y))return;let t=oe(i.labels.indexOf(e.label)),n=H(e.value),r=Cb(String(e.value),t,n,{width:z,height:B,margin:V});Ee.append(`text`).attr(`class`,`bc-value-label`).attr(`data-series`,e.series).attr(`x`,r.x).attr(`y`,r.y).attr(`text-anchor`,`middle`).attr(`font-size`,`11px`).attr(`fill`,`currentColor`).text(String(e.value))}),(n.tooltips||n.crosshair)&&Ex(R,{width:z,height:B,points:me.map(e=>({cx:oe(i.labels.indexOf(e.label)),cy:H(e.value),label:e.label,value:e.value,series:e.series,color:ax(e.series,e.colorIndex,g,y)})),tooltip:n.tooltips,crosshair:n.crosshair,crosshairDirection:n.crosshairDirection,crosshairStyle:n.crosshairStyle,crosshairColor:n.crosshairColor,numberFormat:n.verticalAxis?.numberFormat,container:e});let De=he?{name:``,lineSymbols:!0,symbolShape:he.symbol,symbolShowOn:he.showOn,symbolStyle:he.style,symbolSize:he.size,symbolOpacity:he.opacity}:void 0,Oe=i.labels.length;h.forEach((e,t)=>{let n=px(e.name,De,y);if(!n)return;let a={symbol:n.symbolShape??he?.symbol??qr.Circle,showOn:n.symbolShowOn??he?.showOn??Jr.FirstLast,style:n.symbolStyle??he?.style??Yr.Filled,size:n.symbolSize??he?.size??3.5,opacity:n.symbolOpacity??he?.opacity??1},o=i.labels.map((n,r)=>({cx:oe(r),cy:H(e.values[r]),color:ax(e.name,t,g,y),index:r})).filter(e=>Number.isFinite(e.cy)),c=s.find(t=>t.getAttribute(`data-series-name`)===e.name),l,u=!1;c?(R.appendChild(c),l=$(c),u=!0):l=$(R).append(`g`).attr(`class`,`bc-symbols`).attr(`data-series`,e.name).attr(`data-series-name`,e.name),kx(l,o,Oe,a,r&&u)});let ke=i.labels.length-1,Ae=oe(ke)+6,je=[];if(h.forEach((e,t)=>{if(ux(e.name,x,y)!==`direct`)return;let n=e.values[ke];if(!Number.isFinite(n))return;let r=y?.find(t=>t.name===e.name)?.labelText||e.name;je.push({name:e.name,index:t,naturalY:H(n),text:r})}),je.length>0){je.sort((e,t)=>e.naturalY-t.naturalY);let e=Ix(je.map(e=>e.naturalY),0,B,14);je.forEach((t,n)=>{$(R).append(`text`).attr(`class`,`bc-direct-label`).attr(`data-series`,t.name).attr(`x`,Ae).attr(`y`,e[n]).attr(`dy`,`0.35em`).attr(`font-size`,`11px`).attr(`fill`,ax(t.name,t.index,g,y)).text(t.text)})}let Me=_.filter(e=>ux(e,x,y)===`legend`);if(C&&Me.length>0){let e=Me.map(e=>ax(e,m.findIndex(t=>t.name===e),g,y)),t=0,n=0;if(E===`top`){let e=N?15:0;n=-(F.height+10+e)}else E===`bottom`?n=B+Math.max(V.bottom-I,0):E===`left`?t=-(F.width+10):E===`right`&&(t=z+10);tx(R,Me,e,n,E,D,z,B,t,[],{left:V.left,right:V.right})}ky(e,{chartType:`line-multi`,margin:V,plotRect:Te}),c&&(sg(de.node()),lg(e,c))}function Gx(e,t,n,r,i,a,o){let s=$(e).append(`g`).attr(`class`,`bc-area-fills`);for(let e of t){let t=n.find(t=>t.name===e.from),i=n.find(t=>t.name===e.to);if(!t||!i)continue;let c=e.interpolation?bx(e.interpolation):o,l=(e.opacity??30)/100,u=e.color??`#ccc`,d=e.negativeColor;if(d)qx(s,t.values,i.values,r,a,c,u,d,l);else{let e=Qp().curve(c).defined((e,t)=>Number.isFinite(e)&&Number.isFinite(i.values[t])).x((e,t)=>r(t)).y0((e,t)=>a(i.values[t])).y1(e=>a(e));s.append(`path`).attr(`class`,`bc-area-fill`).attr(`d`,e(t.values)??``).attr(`fill`,u).attr(`opacity`,l)}}}function Kx(e,t,n,r){let i=e-n,a=t-r;if(i===0&&a===0||i>0&&a>0||i<0&&a<0)return null;let o=a-i;if(o===0)return null;let s=-i/o;return s<0||s>1?null:s}function qx(e,t,n,r,i,a,o,s,c){let l=t.length;if(l===0)return;let u=[],d=e=>Number.isFinite(t[e])&&Number.isFinite(n[e]);for(let e=0;e<l;e++){if(!d(e)){u.push(null);continue}let a=r(e),o=i(t[e]),s=i(n[e]);if(u.push({x:a,fromY:o,toY:s}),e<l-1&&d(e+1)){let c=i(t[e+1]),l=i(n[e+1]),d=Kx(o,c,s,l);if(d!==null&&d>0&&d<1){let t=a+d*(r(e+1)-a),n=o+d*(c-o),i=s+d*(l-s);u.push({x:t,fromY:n,toY:i})}}}let f=[],p=[],m=null;for(let e of u){if(!e){p.length>=2&&m!==null&&f.push({points:p,positive:m}),p=[],m=null;continue}let t=e.fromY-e.toY,n=t<0;m===null?(m=t===0?null:n,p.push(e)):t===0?(p.push(e),p.length>=2&&f.push({points:p,positive:m}),p=[e],m=null):m===n?p.push(e):(p.push(e),p.length>=2&&f.push({points:p,positive:m}),p=[e],m=n)}p.length>=2&&m!==null&&f.push({points:p,positive:m});for(let t of f){let n=t.points,r=`M${n[0].x},${n[0].fromY}`;for(let e=1;e<n.length;e++)r+=`L${n[e].x},${n[e].fromY}`;for(let e=n.length-1;e>=0;e--)r+=`L${n[e].x},${n[e].toY}`;r+=`Z`,e.append(`path`).attr(`class`,`bc-area-fill ${t.positive?`bc-area-fill-pos`:`bc-area-fill-neg`}`).attr(`d`,r).attr(`fill`,t.positive?o:s).attr(`opacity`,c)}}var Jx=[`#4e79a7`,`#f28e2b`,`#e15759`,`#76b7b2`,`#59a14f`,`#edc948`,`#b07aa1`,`#ff9da7`];function Yx(e){return Zu(`,`)(Number(e.toPrecision(12)))}var Xx=class extends ch{initialize(){}};function Zx(e,t,n={},r=!1){Qx(e,t,n,.6,r)}function Qx(e,t,n,r,i=!1){ag(i);let a=null,o;if(i){let t=Oy(e),n=r>0?`donut`:`pie`;t&&t.chartType!==n&&(a=cg(e)),o=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of zv(t))o.set(e,n);e.replaceChildren()}let{body:s}=yh(e,n.frame),c=[...t.labels],l=[...t.values];if(n.sort===Xr.Ascending||n.sort===Xr.Descending){let e=c.map((e,t)=>({label:e,value:l[t]}));e.sort((e,t)=>n.sort===Xr.Ascending?e.value-t.value:t.value-e.value),c=e.map(e=>e.label),l=e.map(e=>e.value)}if(n.sliceMax&&n.sliceMax>0&&c.length>n.sliceMax){let e=n.sliceMax-1,t=c.map((e,t)=>({label:e,value:l[t],i:t})).sort((e,t)=>t.value-e.value||e.i-t.i),r=t.slice(0,e).sort((e,t)=>e.i-t.i),i=t.slice(e).reduce((e,t)=>e+t.value,0);c=[...r.map(e=>e.label),n.sliceGroupLabel??`Others`],l=[...r.map(e=>e.value),i]}let u=l.reduce((e,t)=>e+t,0),d=l.map(e=>u>0?e/u*100:0),f=rx(n.colors??Jx,c.length),p=typeof n.directLabelling==`string`?n.directLabelling:n.directLabelling?ii.Auto:ii.Off,m=!!p&&(p!==ii.Auto||n.legend!==!0),h=(n.showValues??!0)&&!m?l.map((e,t)=>`(${n.displayAsPercentage?`${Math.round(d[t])}%`:Yx(e)})`):[],g=n.legend!==!1&&!m,_=eg(s).width,v=n.legendPosition??`top`,y=_>0&&_<350&&(v===`left`||v===`right`)?`top`:v,b=n.legendAnchor??`start`,x=h.length>0?c.map((e,t)=>`${e} ${h[t]}`):c,S=Math.max(0,_-50-20),C=g?Jb(x,y,S):{width:0,height:0},w=g?C.height+15:0,T={};if(g&&y===`top`&&(T.top=w),g&&y===`bottom`&&(T.bottom=24+w),g&&y===`left`&&(T.left=50+C.width+10),g&&y===`right`&&(T.right=20+C.width+10),m){let e=eg(s),t=e.width-40,n=(e.height>0?e.height:400)-40,r=Math.min(t,n)/2,i=Vx(c,r,{width:t,height:n});T.left=(T.left??20)+i.left,T.right=(T.right??20)+i.right,T.top=(T.top??20)+i.top,T.bottom=(T.bottom??20)+i.bottom}let{chartArea:E,width:D,height:O,margin:k}=ng(s,T),ee=Math.min(D,O)/2,A=ee*r,j=ad().domain(c).range(f);if(l.some(e=>e<0)){let e=c.filter((e,t)=>l[t]<0);console.warn(`[blueprint-chart] Ignoring ${e.length} negative slice(s) on an arc chart: ${e.join(`, `)}.`);let t=c.map((e,t)=>({label:e,value:l[t]})).filter(e=>e.value>=0);c=t.map(e=>e.label),l=t.map(e=>e.value)}let M=tm().sort(null),N=Gp().innerRadius(A).outerRadius(ee),P=$(E).append(`g`).attr(`transform`,`translate(${D/2},${O/2})`),F=Ey(n.colorizes),I=M(l),L=I.map((e,t)=>({label:c[t],value:l[t],arc:e,color:F.get(c[t])??j(c[t])})),R=zy(e),z=cb(n.highlights,c);Zy(R,{role:`mark-per-category`,parent:P.append(`g`).node(),selector:`.bc-arc`,data:L,key:e=>e.label,insert:e=>e.append(`path`).attr(`class`,`bc-arc`),attrs:e=>{let t={"data-series":e.label,d:N(e.arc)??``,fill:e.color};return z.size>0?{...t,opacity:lb(z,e.label)}:t}});let B=new Xx(P);if(n.tooltips&&B.use(Fv()),B.draw(L),n.annotations?.length){let t=n.annotations.filter(e=>e.kind===`range`);t.length&&console.warn(`[blueprint-chart] Range annotations have no meaning on an arc chart; ignoring ${t.length}.`);let r=new Map(L.map(e=>[e.label,N.centroid(e.arc)])),a=n.annotations.filter(e=>e.kind!==`range`);a.length&&Ty(a,{scaleX:ad().domain([...r.keys()]).range([...r.values()].map(e=>e[0]+D/2)),scaleY:Sd().domain([0,1]).range([0,1]),data:L.map(e=>({label:e.label,value:(r.get(e.label)?.[1]??0)+O/2})),width:D,height:O,backgroundColor:wr(e),transition:i,priorAnnotations:o}).postDraw({base:$(E)},void 0)}if(m){let t=I.map((e,t)=>({label:c[t],value:e.data,startAngle:e.startAngle,endAngle:e.endAngle,color:j(c[t]),percentage:d[t],displayAsPercentage:n.displayAsPercentage,showLabel:n.showLabels??!0,showValue:n.showValues??!0})),r=P,i={outerRadius:ee,innerRadius:A,chartWidth:D,chartHeight:O,bgColor:wr(e)};p===ii.Inside?zx(r,t,i):p===ii.Auto?Bx(r,t,i):Lx(r,t,i)}if(n.showTotal&&r>0&&!n.displayAsPercentage){let e=Yx(u);P.append(`text`).attr(`class`,`bc-arc-total-label`).attr(`text-anchor`,`middle`).attr(`dy`,`-0.3em`).attr(`font-size`,`11px`).attr(`fill`,`var(--bc-text-color, #555)`).attr(`opacity`,.7).text(`Total`),P.append(`text`).attr(`class`,`bc-arc-total-value`).attr(`text-anchor`,`middle`).attr(`dy`,`1em`).attr(`font-size`,`18px`).attr(`font-weight`,`bold`).attr(`fill`,`var(--bc-text-color, #555)`).text(e)}if(g){let e=0,t=0;y===`top`?t=-(C.height+10):y===`bottom`?t=O+25:y===`left`?e=-(C.width+10):y===`right`&&(e=D+10),tx(E,c,f,t,y,b,D,O,e,h,{left:k.left,right:k.right})}ky(e,{chartType:r>0?`donut`:`pie`}),a&&(sg(P.node()),lg(e,a))}function $x(e,t,n={},r=!1){Qx(e,t,n,0,r)}function eS(e,t,n={},r=!1){ag(r),Cx(e);let i=[],a=[],o=null,s=null,c,l,u,d=Yg.for(e);if(r){let t=Oy(e);l=t?.margin,u=t?.plotRect,d.detach(),t?.chartType===`area`?(i=Array.from(e.querySelectorAll(`.bc-frame .bc-area`)),a=Array.from(e.querySelectorAll(`.bc-frame .bc-line`)),o=e.querySelector(`.bc-frame .bc-symbols`)):t&&(s=cg(e)),c=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of zv(t))c.set(e,n);e.replaceChildren()}let{body:f}=yh(e,n.frame),p=eg(f).width,m=Xh(t.values,n.verticalAxis?.range,n.verticalAxis?.numberFormat,n.verticalAxis?.scaleType),h=Qh(p,n.verticalAxis?.labelPosition,n.horizontalAxis?.labelPosition,n.verticalAxis?.direction,m),g=Mg(t.labels,Math.max(0,p-(h.left??50)-(h.right??20)),n.horizontalAxis);g!==void 0&&(h.bottom=g);let{chartArea:_,width:v,height:y,margin:b}=ng(f,h),x=Rh(l,b),S=Si(t.labels,n.horizontalAxis?.range),C=S.map(e=>t.labels[e]),w=S.map(e=>t.values[e]),T=C.map((e,t)=>({label:e,value:w[t]})),E=T.filter(e=>Number.isFinite(e.value)),D=cd().domain(C).range([0,v]).padding(n.edgePadding?.6:0),O=D,k=e=>D(e.label)??0,ee=n.verticalAxis?.scaleType===`log`,[A,j]=wi(w,n.verticalAxis?.range,n.verticalAxis?.scaleType),M=ee?Ed().domain([A,j]).nice().range([y,0]):Sd().domain([A,j]).nice().range([y,0]),N=M.domain(),P=N[0]<0&&N[1]>0?M(0):void 0;d.attach(_,x),d.update({vertical:{scale:M,height:y,options:{...n.verticalAxis,gridWidth:v,topPadding:b.top}},horizontal:{scale:O,height:y,options:{...n.horizontalAxis,width:v,zeroY:P}}});let F=_.ownerSVGElement,I=My(F,e,`plot`,{x:0,y:0,width:v,height:y}),L=$(_).append(`g`).attr(`clip-path`,`url(#${I})`),R=L.node(),z=n.colors?.[0]??`#4e79a7`,B=bx(n.interpolation??`monotoneX`),V=n.areaFillOpacity??.25,te=e=>Number.isFinite(e.value),ne=Qp().curve(B).defined(te).x(e=>k(e)).y0(y).y1(e=>M(e.value)),re=Zp().curve(B).defined(te).x(e=>k(e)).y(e=>M(e.value)),ie=$(R).append(`g`).node(),ae=$(R).append(`g`).node();if(r){for(let e of i)ie.appendChild(e);for(let e of a)ae.appendChild(e)}let oe=zy(e),H=[{name:`area`,points:T}];Zy(oe,{role:`series-area`,parent:ie,selector:`.bc-area`,data:H,key:e=>e.name,insert:e=>e.append(`path`).attr(`class`,`bc-area`),attrs:e=>({d:ne(e.points)??``,fill:z,opacity:V})}),Zy(oe,{role:`series-line`,parent:ae,selector:`.bc-line`,data:H,key:e=>e.name,insert:e=>e.append(`path`).attr(`class`,`bc-line`),attrs:e=>({d:re(e.points)??``,fill:`none`,stroke:z,"stroke-width":2})}),$(R).append(`g`).selectAll(`.bc-dot`).data(E,e=>e.label).enter().append(`circle`).attr(`class`,`bc-dot`).attr(`cx`,e=>k(e)).attr(`cy`,e=>M(e.value)).attr(`r`,3).attr(`fill`,z).attr(`fill-opacity`,0).attr(`stroke-opacity`,0).attr(`pointer-events`,`none`);let se={left:b.left,top:b.top,width:v,height:y};if(ab(oe,{svg:F,clipId:I,group:_,from:u,to:se,active:r&&(i.length>0||a.length>0)}),n.annotations?.length&&wy(_,n.annotations,{scaleX:O,scaleY:M,data:T,width:v,height:y,backgroundColor:wr(e),transition:r,priorAnnotations:c}),(n.tooltips||n.crosshair)&&Ex(_,{width:v,height:y,points:E.map(e=>({cx:k(e),cy:M(e.value),label:e.label,value:e.value,color:z})),tooltip:n.tooltips,crosshair:n.crosshair,crosshairDirection:n.crosshairDirection,crosshairStyle:n.crosshairStyle,crosshairColor:n.crosshairColor,numberFormat:n.verticalAxis?.numberFormat,container:e}),n.valueLabels){let e=$(_).insert(`g`,()=>R.nextSibling),t=e=>Cb(String(e.value),k(e),M(e.value),{width:v,height:y,margin:b});e.selectAll(`.bc-value-label`).data(E,e=>e.label).enter().append(`text`).attr(`class`,`bc-value-label`).attr(`x`,e=>t(e).x).attr(`y`,e=>t(e).y).attr(`text-anchor`,`middle`).attr(`font-size`,`11px`).attr(`fill`,`currentColor`).text(e=>String(e.value))}if(n.lineSymbols){let e=T.map((e,t)=>({cx:k(e),cy:M(e.value),color:z,index:t})).filter(e=>Number.isFinite(e.cy)),t;o?(_.appendChild(o),t=$(o)):t=$(_).append(`g`).attr(`class`,`bc-symbols`),kx(t,e,T.length,n.lineSymbols,r)}ky(e,{chartType:`area`,margin:b,plotRect:se}),s&&(sg(L.node()),lg(e,s))}function tS(e){let t=e.series??[];if(t.length===0)return[];let n=t.map(e=>e.name),r=!1,i=e.labels.map((e,n)=>{let i={_index:n};return t.forEach(e=>{let t=e.values[n]??0;t<0&&(r=!0),i[e.name]=t}),i});return Vm().keys(n).order(Rm).offset(r?Hm:Lm)(i)}function nS(e){let t=e.series??[];if(t.length===0)return[];let n=t.map(e=>e.name),r=!1,i=e.labels.map((e,n)=>{let i={_index:n},a=t.reduce((e,t)=>e+Math.abs(t.values[n]??0),0);return t.forEach(e=>{let t=e.values[n]??0;t<0&&(r=!0),i[e.name]=a>0?t/a*100:0}),i});return Vm().keys(n).order(Rm).offset(r?Hm:Lm)(i)}var rS=[`#4e79a7`,`#f28e2b`,`#e15759`,`#76b7b2`,`#59a14f`,`#edc948`,`#b07aa1`,`#ff9da7`];function iS(e,t,n={},r=!1){ag(r),Cx(e);let i=t,a=[],o=[],s=null,c,l,u,d=Yg.for(e);if(r){let t=Oy(e);l=t?.margin,u=t?.plotRect,d.detach(),t?.chartType===`area-stacked`?(a=Array.from(e.querySelectorAll(`.bc-frame .bc-area`)),o=Array.from(e.querySelectorAll(`.bc-frame .bc-line`))):t&&(s=cg(e)),c=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of zv(t))c.set(e,n);e.replaceChildren()}let{body:f}=yh(e,n.frame),p=Si(i.labels,n.horizontalAxis?.range);if(p.length<i.labels.length){let e=p.map(e=>i.labels[e]),t=(i.series??[]).map(e=>({...e,values:p.map(t=>e.values[t])}));i={labels:e,values:p.map(e=>i.values[e]),series:t}}let m=nx(i),h=m.filter(e=>!lx(e.name,n.seriesOverrides)),g=rx(n.colors??rS,m.length),_=h.map(e=>e.name),v=_.filter(Boolean),y=n.seriesOverrides,b=Ey(n.colorizes),x=n.directLabelling===!0||n.directLabelling===`auto`&&n.legend!==!0||!!n.directLabelling&&n.directLabelling!==`auto`,S=x?`direct`:n.legend===!1?`none`:`legend`,C=_.filter(e=>ux(e,S,y)===`direct`),w=n.legend!==!1&&!x,T=eg(f).width,E=n.legendPosition??`top`,D=T>0&&T<350&&(E===`left`||E===`right`)?`top`:E,O=n.legendAnchor??`start`,k=n.stacked!==!1,ee=n.stackPercent===!0||n.stackMode===ri.Percent,A=n.areaSortMode??Xr.None,j=n.areaLines!==!1,M=[...h];if(A!==Xr.None){let e=new Map(M.map(e=>[e.name,e.values.reduce((e,t)=>e+t,0)]));M.sort((t,n)=>{let r=(e.get(t.name)??0)-(e.get(n.name)??0);return A===Xr.Ascending?r:-r})}let N={labels:i.labels,values:i.values,series:M},P=ee?nS(N):tS(N),F=0;if(k)for(let e of P)for(let t of e)t[1]>F&&(F=t[1]);else for(let e of M)for(let t of e.values)t>F&&(F=t);ee&&(F=100);let I=[0,F],L=n.verticalAxis?.numberFormat??(ee?`|d|%`:void 0),R=Xh(I,n.verticalAxis?.range,L,n.verticalAxis?.scaleType),z=Qh(T,n.verticalAxis?.labelPosition,n.horizontalAxis?.labelPosition,n.verticalAxis?.direction,R),B=C.length>0?Yb(C):0,V=z.top!=null,te=Math.max(0,T-(z.left??50)-(z.right??20)-B),ne=w?Jb(v,D,te):{width:0,height:0},re=w?ne.height+15:0,ie={...z};w&&D===`top`&&(ie.top=re+(V?15:0)),w&&D===`left`&&(ie.left=(ie.left??50)+ne.width+10),w&&D===`right`&&(ie.right=(ie.right??20)+ne.width+10),B>0&&(ie.right=(ie.right??20)+B),ie.bottom=(Mg(i.labels,Math.max(0,T-(ie.left??50)-(ie.right??20)),n.horizontalAxis)??Math.max(ie.bottom??24,24))+(D===`bottom`?re:0);let{chartArea:ae,width:oe,height:H,margin:se}=ng(f,ie),ce=Rh(l,se),le=cd().domain(i.labels).range([0,oe]).padding(n.edgePadding?.6:0),ue=le,de=e=>le(i.labels[e])??0,[U,W]=wi(I,n.verticalAxis?.range,n.verticalAxis?.scaleType),fe=(n.verticalAxis?.scaleType===Lr.Log?Ed():Sd()).domain([U,W]).nice().range([H,0]);d.attach(ae,ce),d.update({vertical:{scale:fe,height:H,options:{...n.verticalAxis,numberFormat:L,gridWidth:oe,topPadding:se.top}},horizontal:{scale:ue,height:H,options:{...n.horizontalAxis,width:oe}}});let pe=ae.ownerSVGElement,me=My(pe,e,`plot`,{x:0,y:0,width:oe,height:H}),he=$(ae).append(`g`).attr(`clip-path`,`url(#${me})`),ge=he.node(),_e=bx(n.interpolation??`monotoneX`),ve=P.map(e=>{let t=m.findIndex(t=>t.name===e.key),n;return n=k?Array.from(e).map(e=>[fe(e[0]),fe(e[1])]):(M.find(t=>t.name===e.key)?.values??[]).map(e=>[fe(0),fe(e)]),{name:e.key,points:n,colorIndex:t>=0?t:0}}),ye=cb(n.highlights,ve.map(e=>e.name)),be=ye.size>0,xe=n.areaFillOpacity==null?.85:n.areaFillOpacity,Se=e=>b.get(e.name)??ax(e.name,e.colorIndex,g,y),G=Qp().curve(_e).x((e,t)=>de(t)).y0(e=>e[0]).y1(e=>e[1]),K=$(ge).append(`g`).node(),Ce=$(ge).append(`g`).node();if(r){for(let e of a)K.appendChild(e);for(let e of o)Ce.appendChild(e)}let we=zy(e);Zy(we,{role:`series-area`,parent:K,selector:`.bc-area`,data:ve,key:e=>e.name,insert:e=>e.append(`path`).attr(`class`,`bc-area`),attrs:e=>({"data-series":e.name,d:G(e.points)??``,fill:Se(e),opacity:be?lb(ye,e.name,xe):xe})}),Zy(we,{role:`series-line`,parent:Ce,selector:`.bc-line`,data:j?ve:[],key:e=>e.name,insert:e=>e.append(`path`).attr(`class`,`bc-line`),attrs:e=>{let t=cx(e.name,n.interpolation??`monotoneX`,y),r=Zp().curve(bx(t)).x((e,t)=>de(t)).y(e=>e[1]);return{"data-series":e.name,d:r(e.points)??``,fill:`none`,stroke:Se(e),"stroke-width":1,opacity:be?lb(ye,e.name,1):1}}});let Te={left:se.left,top:se.top,width:oe,height:H};if(ab(we,{svg:pe,clipId:me,group:ae,from:u,to:Te,active:r&&(a.length>0||o.length>0)}),n.annotations?.length){let t=i.labels.map((e,t)=>({label:e,value:h[0]?.values[t]??0}));wy(ae,n.annotations,{scaleX:ue,scaleY:fe,data:t,width:oe,height:H,backgroundColor:wr(e),transition:r,priorAnnotations:c})}if(n.tooltips||n.crosshair){let t=[];P.forEach(e=>{let n=m.findIndex(t=>t.name===e.key);Array.from(e).forEach((r,a)=>{let o=r[1]-r[0];t.push({cx:de(a),cy:fe(r[1]),label:i.labels[a],value:Math.round(o*100)/100,series:e.key,color:ax(e.key,n,g,y)})})}),Ex(ae,{width:oe,height:H,points:t,tooltip:n.tooltips,crosshair:n.crosshair,crosshairDirection:n.crosshairDirection,crosshairStyle:n.crosshairStyle,crosshairColor:n.crosshairColor,numberFormat:n.verticalAxis?.numberFormat,container:e})}let Ee=i.labels.length-1,De=de(Ee)+6,Oe=[];if(h.forEach((e,t)=>{if(ux(e.name,S,y)!==`direct`)return;let n=P.find(t=>t.key===e.name);if(!n)return;let r=n[Ee];if(!r)return;let i=fe((r[0]+r[1])/2),a=y?.find(t=>t.name===e.name)?.labelText||e.name;Oe.push({name:e.name,index:t,naturalY:i,text:a})}),Oe.length>0){Oe.sort((e,t)=>e.naturalY-t.naturalY);let e=Ix(Oe.map(e=>e.naturalY),0,H,14);Oe.forEach((t,n)=>{$(ae).append(`text`).attr(`class`,`bc-direct-label`).attr(`data-series`,t.name).attr(`x`,De).attr(`y`,e[n]).attr(`dy`,`0.35em`).attr(`font-size`,`11px`).attr(`fill`,ax(t.name,t.index,g,y)).text(t.text)})}let ke=v.filter(e=>ux(e,S,y)===`legend`);if(w&&ke.length>0){let e=ke.map(e=>ax(e,m.findIndex(t=>t.name===e),g,y)),t=0,n=0;if(D===`top`){let e=V?15:0;n=-(ne.height+10+e)}else D===`bottom`?n=H+Math.max(se.bottom-re,0):D===`left`?t=-(ne.width+10):D===`right`&&(t=oe+10);tx(ae,ke,e,n,D,O,oe,H,t,[],{left:se.left,right:se.right})}ky(e,{chartType:`area-stacked`,margin:se,plotRect:Te}),s&&(sg(he.node()),lg(e,s))}var aS=[`#4e79a7`,`#f28e2b`,`#e15759`,`#76b7b2`,`#59a14f`,`#edc948`,`#b07aa1`,`#ff9da7`];function oS(e,t,n){let r=[];for(let i of e){let e=i.key,a=n.findIndex(t=>t.name===e);for(let n=0;n<i.length;n++){let o=i[n];r.push({label:t[n],seriesName:e,seriesIndex:a,y0:o[0],y1:o[1],value:o[1]-o[0]})}}return r}function sS(e,t,n={},r=!1){ag(r);let i=[],a=null,o,s,c,l=Yg.for(e);if(r){let t=Oy(e);s=t?.margin,c=t?.plotRect,l.detach(),t?.chartType===`column-stacked`?i=Array.from(e.querySelectorAll(`.bc-frame .bc-bar-stacked`)):t&&(a=cg(e)),o=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of zv(t))o.set(e,n);e.replaceChildren()}let{body:u}=yh(e,n.frame),d=nx(t),f=d.filter(e=>!lx(e.name,n.seriesOverrides)),p=f.map(e=>e.name).filter(Boolean),m=rx(n.colors??aS,d.length),h=n.seriesOverrides,g=n.legend!==!1,_=eg(u).width,v=n.legendPosition??`top`,y=_>0&&_<350&&(v===`left`||v===`right`)?`top`:v,b=n.legendAnchor??`start`,x={labels:t.labels,values:t.values,series:f},S=n.stackMode===ri.Percent,C=oS(S?nS(x):tS(x),t.labels,d),w=S?100:Yi(C,e=>e.y1)??0,T=S?Math.min(0,Xi(C,e=>e.y0)??0):0,E=S?[T,w]:C.flatMap(e=>[e.y0,e.y1]),D=Xh(E,n.verticalAxis?.range,n.verticalAxis?.numberFormat,n.verticalAxis?.scaleType),O=Qh(_,n.verticalAxis?.labelPosition,n.horizontalAxis?.labelPosition,n.verticalAxis?.direction,D),k=O.top!=null,ee=Math.max(0,_-(O.left??50)-(O.right??20)),A=g?Jb(p,y,ee):{width:0,height:0},j=g?A.height+15:0,M={...O};g&&y===`top`&&(M.top=j+(k?15:0)),g&&y===`left`&&(M.left=(M.left??50)+A.width+10),g&&y===`right`&&(M.right=(M.right??20)+A.width+10);let N=Math.max(0,_-(M.left??50)-(M.right??20));M.bottom=(Mg(t.labels,N,n.horizontalAxis)??Math.max(M.bottom??24,24))+(y===`bottom`?j:0);let{chartArea:P,width:F,height:I,margin:L}=ng(u,M),R=Rh(s,L),z=t.labels;if(n.sortMode===`total`){let e=t.labels.map((e,t)=>({label:e,index:t,total:f.reduce((e,n)=>e+(n.values[t]??0),0)}));e.sort((e,t)=>t.total-e.total),z=e.map(e=>e.label)}let B=od().domain(z).range([0,F]).padding(Ci(n.barGap)),[V,te]=wi(E,n.verticalAxis?.range,n.verticalAxis?.scaleType),ne=(n.verticalAxis?.scaleType===Lr.Log?Ed():Sd()).domain([V,te]).nice().range([I,0]);l.attach(P,R),l.update({vertical:{scale:ne,height:I,options:{...n.verticalAxis,gridWidth:F,topPadding:L.top}},horizontal:{scale:B,height:I,options:{...n.horizontalAxis,width:F}}});let re=P.ownerSVGElement,ie=My(re,e,`bars`,{x:0,y:0,width:F,height:I}),ae=$(P).append(`g`).attr(`clip-path`,`url(#${ie})`),oe=z===t.labels?C:z.flatMap(e=>C.filter(t=>t.label===e)),H=Ey(n.colorizes),se=cb(n.highlights,C.map(e=>e.seriesName)),ce=zy(e),le=ae.append(`g`).node();if(r)for(let e of i)e.removeAttribute(`opacity`),e.removeAttribute(`fill-opacity`),le.appendChild(e);Zy(ce,{role:`mark-per-cell`,parent:le,selector:`.bc-bar-stacked`,data:oe,key:e=>e.label+`\0`+e.seriesName,insert:e=>e.append(`rect`).attr(`class`,`bc-bar bc-bar-stacked`),attrs:e=>{let t=H.get(e.seriesName)??ax(e.seriesName,e.seriesIndex,m,h),n=fx(e.seriesName,h),r={"data-series":e.seriesName,x:B(e.label)??0,y:ne(e.y1),width:B.bandwidth(),height:ne(e.y0)-ne(e.y1),fill:t};return n<1&&(r[`fill-opacity`]=n),se.size>0&&(r.opacity=lb(se,e.seriesName)),r}});let ue={left:L.left,top:L.top,width:F,height:I};ab(ce,{svg:re,clipId:ie,group:P,from:c,to:ue,active:r&&i.length>0});let de=Py(ae);if(n.tooltips&&de.use(Fv({numberFormat:n.verticalAxis?.numberFormat})),n.crosshair&&de.use(Lv({width:F,height:I,direction:n.crosshairDirection,style:n.crosshairStyle,color:n.crosshairColor})),n.annotations?.length){let i=t.labels.map((e,t)=>({label:e,value:f.reduce((e,n)=>e+(n.values[t]??0),0)}));de.use(Ty(n.annotations,{scaleX:B,scaleY:ne,data:i,width:F,height:I,backgroundColor:wr(e),transition:r,priorAnnotations:o}))}let U=()=>de.draw(oe);ce.state===`committing`?ce.register(U):U(),ky(e,{chartType:`column-stacked`,margin:L,plotRect:ue}),a&&(sg(ae.node()),lg(e,a));let W=n.valueLabels??!1,fe=Bi(oe,e=>Yi(e,e=>e.y1)??0,e=>e.label),pe=$(P).append(`g`).attr(`class`,`bc-value-labels`);if(oe.forEach(e=>{if(!dx(e.seriesName,W,h))return;let t=(B(e.label)??0)+B.bandwidth()/2,r=Math.abs(ne(e.y0)-ne(e.y1)),i=ne(e.y0)-r/2,a=S?`${Math.round(e.y0<0?-e.value:e.value)}%`:n.valueLabels===`percent`?Ch(e.value,fe.get(e.label)??0):String(Math.round(e.value*100)/100);if(!_b({text:a,placement:`inside`,orientation:`vertical`,barWidth:B.bandwidth(),barHeight:r}))return;let o=H.get(e.seriesName)??ax(e.seriesName,e.seriesIndex,m,h);pe.append(`text`).attr(`class`,`bc-value-label`).attr(`data-series`,e.seriesName).attr(`x`,t).attr(`y`,i).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`central`).attr(`font-size`,`11px`).attr(`fill`,Sr(o)).text(a)}),g&&p.length>0){let e=p.map(e=>ax(e,d.findIndex(t=>t.name===e),m,h)),t=0,n=0;if(y===`top`){let e=k?15:0;n=-(A.height+10+e)}else y===`bottom`?n=I+Math.max(L.bottom-j,0):y===`left`?t=-(A.width+10):y===`right`&&(t=F+10);tx(P,p,e,n,y,b,F,I,t,[],{left:L.left,right:L.right})}}var cS=[`#4e79a7`,`#f28e2b`,`#e15759`,`#76b7b2`,`#59a14f`,`#edc948`,`#b07aa1`,`#ff9da7`];function lS(e,t,n){let r=[];for(let i of e){let e=i.key,a=n.findIndex(t=>t.name===e);for(let n=0;n<i.length;n++){let o=i[n];r.push({label:t[n],seriesName:e,seriesIndex:a,y0:o[0],y1:o[1],value:o[1]-o[0]})}}return r}function uS(e,t,n={},r=!1){ag(r);let i=[],a=null,o,s,c,l=Yg.for(e);if(r){let t=Oy(e);s=t?.margin,c=t?.plotRect,l.detach(),t?.chartType===`bar-stacked`?i=Array.from(e.querySelectorAll(`.bc-frame .bc-bar-stacked`)):t&&(a=cg(e)),o=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of zv(t))o.set(e,n);e.replaceChildren()}let{body:u}=yh(e,n.frame),d=nx(t),f=d.filter(e=>!lx(e.name,n.seriesOverrides)),p=f.map(e=>e.name).filter(Boolean),m=rx(n.colors??cS,d.length),h=n.seriesOverrides,g=n.legend!==!1,_=eg(u).width,v=n.legendPosition??`top`,y=_>0&&_<350&&(v===`left`||v===`right`)?`top`:v,b=n.legendAnchor??`start`,x={labels:t.labels,values:t.values,series:f},S=n.stackMode===ri.Percent,C=lS(S?nS(x):tS(x),t.labels,d),w=S?100:Yi(C,e=>e.y1)??0,T=S?Math.min(0,Xi(C,e=>e.y0)??0):0,E=Db(_,n.verticalAxis?.labelPosition),D=n.categoryLabelLine===!0||E,O=Zh(t.labels),k=Qh(_,D?zr.Off:n.verticalAxis?.labelPosition,n.horizontalAxis?.labelPosition,n.verticalAxis?.direction,O,n.horizontalAxis?.showAxis),ee=k.top!=null,A=Math.max(0,_-(k.left??50)-(k.right??20)),j=g?Jb(p,y,A):{width:0,height:0},M=g?j.height+15:0,N={...k};g&&y===`top`&&(N.top=M+(ee?15:0)),g&&y===`bottom`&&(N.bottom=(N.bottom??24)+M),g&&y===`left`&&(N.left=(N.left??50)+j.width+10),g&&y===`right`&&(N.right=(N.right??20)+j.width+10);let{chartArea:P,width:F,height:I,margin:L}=ng(u,N),R=Rh(s,L),z=t.labels;if(n.sortMode===`total`){let e=t.labels.map((e,t)=>({label:e,index:t,total:f.reduce((e,n)=>e+(n.values[t]??0),0)}));e.sort((e,t)=>t.total-e.total),z=e.map(e=>e.label)}let[B,V]=wi(S?[T,w]:C.flatMap(e=>[e.y0,e.y1]),n.horizontalAxis?.range,n.horizontalAxis?.scaleType),te=(n.horizontalAxis?.scaleType===Lr.Log?Ed():Sd()).domain([B,V]).nice().range([0,F]),ne=od().domain(z).range([0,I]).padding(Ci(n.barGap));l.attach(P,R),l.update({horizontal:{scale:te,height:I,options:{...n.horizontalAxis,width:F}},vertical:{scale:ne,height:I,options:{...n.verticalAxis,labelPosition:D?zr.Off:n.verticalAxis?.labelPosition,topPadding:L.top,...E?{showAxis:!1}:{}}},order:`horizontal-first`});let re=P.ownerSVGElement,ie=My(re,e,`bars`,{x:0,y:0,width:F,height:I}),ae=$(P).append(`g`).attr(`clip-path`,`url(#${ie})`),oe=z===t.labels?C:z.flatMap(e=>C.filter(t=>t.label===e)),H=D?Tb(ne.bandwidth()):0,se=Ey(n.colorizes),ce=cb(n.highlights,C.map(e=>e.seriesName)),le=zy(e),ue=ae.append(`g`).node();if(r)for(let e of i)e.removeAttribute(`opacity`),e.removeAttribute(`fill-opacity`),ue.appendChild(e);Zy(le,{role:`mark-per-cell`,parent:ue,selector:`.bc-bar-stacked`,data:oe,key:e=>e.label+`\0`+e.seriesName,insert:e=>e.append(`rect`).attr(`class`,`bc-bar bc-bar-stacked`),attrs:e=>{let t=se.get(e.seriesName)??ax(e.seriesName,e.seriesIndex,m,h),n=fx(e.seriesName,h),r={"data-series":e.seriesName,x:te(e.y0),y:(ne(e.label)??0)+H,width:te(e.y1)-te(e.y0),height:Math.max(0,ne.bandwidth()-H),fill:t};return n<1&&(r[`fill-opacity`]=n),ce.size>0&&(r.opacity=lb(ce,e.seriesName)),r}});let de={left:L.left,top:L.top,width:F,height:I};ab(le,{svg:re,clipId:ie,group:P,from:c,to:de,active:r&&i.length>0});let U=Py(ae);if(n.tooltips&&U.use(Fv({numberFormat:n.verticalAxis?.numberFormat})),n.crosshair&&U.use(Lv({width:F,height:I,direction:n.crosshairDirection,style:n.crosshairStyle,color:n.crosshairColor,orientation:Kr.Horizontal})),n.annotations?.length){let i=t.labels.map((e,t)=>({label:e,value:f.reduce((e,n)=>e+(n.values[t]??0),0)}));U.use(Ty(n.annotations,{scaleX:ne,scaleY:te,data:i,width:F,height:I,backgroundColor:wr(e),orientation:Kr.Horizontal,transition:r,priorAnnotations:o}))}let W=()=>U.draw(oe);if(le.state===`committing`?le.register(W):W(),ky(e,{chartType:`bar-stacked`,margin:L,plotRect:de}),a&&(sg(ae.node()),lg(e,a)),D){let e=$(P).append(`g`).attr(`class`,`bc-category-labels`);for(let t of z){let n=ne(t)??0;e.append(`text`).attr(`class`,`bc-category-label`).attr(`x`,2).attr(`y`,n+13/2).attr(`text-anchor`,`start`).attr(`dominant-baseline`,`central`).attr(`font-size`,`10px`).attr(`font-weight`,`600`).attr(`fill`,`currentColor`).text(t)}}let fe=n.valueLabels??!1,pe=n.valueLabelPosition??ei.Auto,me=new Set,he=new Map;for(let e of z){let t=oe.filter(t=>t.label===e).sort((e,t)=>e.y1-t.y1);if(t.length>0){let e=t[t.length-1];me.add(e.label+`\0`+e.seriesName);for(let e=0;e<t.length-1;e++){let n=t[e].label+`\0`+t[e].seriesName;he.set(n,te(t[e+1].y1)-te(t[e].y1))}}}let ge=new Map,_e=Bi(oe,e=>Yi(e,e=>e.y1)??0,e=>e.label),ve=$(P).append(`g`).attr(`class`,`bc-value-labels`);if(oe.forEach(e=>{if(!dx(e.seriesName,fe,h))return;let t=S?`${Math.round(e.y0<0?-e.value:e.value)}%`:n.valueLabels===`percent`?Ch(e.value,_e.get(e.label)??0):String(Math.round(e.value*100)/100),r=te(e.y1)-te(e.y0),i=t.length*6.5+8,a=r>=i,o=(ne(e.label)??0)+H+(ne.bandwidth()-H)/2,s=ax(e.seriesName,e.seriesIndex,m,h),c=me.has(e.label+`\0`+e.seriesName),l=pe===ei.Outside||pe===ei.Auto&&!a&&c,u=_b({text:t,placement:l?`outside`:`inside`,orientation:`horizontal`,barWidth:r,barHeight:ne.bandwidth()}),d=()=>{let n=te(e.y0)+r/2;ve.append(`text`).attr(`class`,`bc-value-label`).attr(`data-series`,e.seriesName).attr(`opacity`,0).attr(`x`,n).attr(`y`,o).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`central`).attr(`font-size`,`11px`).attr(`fill`,Sr(s)).text(t)};if(l){if(pe===ei.Inside)d();else{let n=te(e.y1)+4,r=ge.get(e.label)??0,a=he.get(e.label+`\0`+e.seriesName),s=n<r,c=a!==void 0&&i+4>a,l=F+L.right-2,f=n+i>l;s||c||f||!u?d():(ge.set(e.label,n+i),ve.append(`text`).attr(`class`,`bc-value-label`).attr(`data-series`,e.seriesName).attr(`x`,n).attr(`y`,o).attr(`text-anchor`,`start`).attr(`dominant-baseline`,`central`).attr(`font-size`,`11px`).attr(`fill`,`currentColor`).text(t))}}else if(!a||!u)d();else{let n=te(e.y0)+r/2;ve.append(`text`).attr(`class`,`bc-value-label`).attr(`data-series`,e.seriesName).attr(`x`,n).attr(`y`,o).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`central`).attr(`font-size`,`11px`).attr(`fill`,Sr(s)).text(t)}}),g&&p.length>0){let e=p.map(e=>ax(e,d.findIndex(t=>t.name===e),m,h)),t=0,n=0;if(y===`top`){let e=ee?15:0;n=-(j.height+10+e)}else y===`bottom`?n=I+25:y===`left`?t=-(j.width+10):y===`right`&&(t=F+10);tx(P,p,e,n,y,b,F,I,t,[],{left:L.left,right:L.right})}}var dS=[`#4e79a7`,`#f28e2b`,`#e15759`,`#76b7b2`,`#59a14f`,`#edc948`,`#b07aa1`,`#ff9da7`],fS=16,pS=4,mS=20,hS=`600 11px sans-serif`,gS=`…`;function _S(e,t){if(Sb(e,hS)<=t)return e;let n=e;for(;n.length>0&&Sb(n+gS,hS)>t;)n=n.slice(0,-1);return n+gS}function vS(e,t,n,r,i){let a=e.length;if(a===0)return[];let o=Math.max(0,(n-(a-1)*fS)/a),s=r?e.flatMap(e=>e.values):[];return e.map((e,n)=>{let[a,c]=wi(r?s:e.values,i?.range,i?.scaleType),l=(i?.scaleType===Lr.Log?Ed():Sd()).domain([a,c]).nice().range([0,o]);return{seriesName:e.name,seriesIndex:t.findIndex(t=>t.name===e.name),xOffset:n*(o+fS),panelWidth:o,xScale:l}})}function yS(e,t,n,r){let i=[];for(let a of e){let e=r.find(e=>e.name===a.seriesName);if(e)for(let r of t){let t=n.indexOf(r),o=t>=0?e.values[t]??0:0,s=Math.max(0,a.xScale(o)-a.xScale(0));i.push({label:r,seriesName:a.seriesName,seriesIndex:a.seriesIndex,value:o,xPos:a.xOffset,barWidth:s})}}return i}function bS(e,t,n={},r=!1){ag(r);let i=[],a=null,o,s,c,l=Yg.for(e);if(r){let t=Oy(e);o=t?.margin,s=t?.plotRect,l.detach(),t?.chartType===`bar-split`?i=Array.from(e.querySelectorAll(`.bc-frame .bc-bar-split`)):t&&(a=cg(e)),c=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of zv(t))c.set(e,n);e.replaceChildren()}let{body:u}=yh(e,n.frame),d=nx(t),f=d.filter(e=>!lx(e.name,n.seriesOverrides)),p=f.map(e=>e.name).filter(Boolean),m=rx(n.colors??dS,d.length),h=n.seriesOverrides,g=n.legend!==!1,_=eg(u).width,v=n.legendPosition??`top`,y=_>0&&_<350&&(v===`left`||v===`right`)?`top`:v,b=n.legendAnchor??`start`,x=Db(_,n.verticalAxis?.labelPosition),S=n.categoryLabelLine===!0||x,C=Zh(t.labels),w=Qh(_,S?zr.Off:n.verticalAxis?.labelPosition,n.horizontalAxis?.labelPosition,n.verticalAxis?.direction,C,n.horizontalAxis?.showAxis);w.top=(w.top??12)+mS;let T=Math.max(0,_-(w.left??50)-(w.right??20)),E=g?Jb(p,y,T):{width:0,height:0},D=g?E.height+15:0,O={...w};g&&y===`top`&&(O.top=D+mS),g&&y===`bottom`&&(O.bottom=(O.bottom??24)+D),g&&y===`left`&&(O.left=(O.left??50)+E.width+10),g&&y===`right`&&(O.right=(O.right??20)+E.width+10);let{chartArea:k,width:ee,height:A,margin:j}=ng(u,O),M=Rh(o,j),N=t.labels;if(n.sortMode===`total`){let e=t.labels.map((e,t)=>({label:e,total:f.reduce((e,n)=>e+(n.values[t]??0),0)}));e.sort((e,t)=>t.total-e.total),N=e.map(e=>e.label)}let P=od().domain(N).range([0,A]).padding(Ci(n.barGap)),F=S?Tb(P.bandwidth()):0;l.attach(k,M),l.update({vertical:{scale:P,height:A,options:{...n.verticalAxis,labelPosition:S?zr.Off:n.verticalAxis?.labelPosition,topPadding:j.top,...x?{showAxis:!1}:{}}},order:`horizontal-first`});let I=vS(f,d,ee,n.sharedScale===!0,n.horizontalAxis),L=$(k).append(`g`).attr(`class`,`bc-split-axes`);for(let e of I)zg(L.append(`g`).attr(`transform`,`translate(${e.xOffset},0)`).node(),e.xScale,A,{...n.horizontalAxis,width:e.panelWidth});let R=k.ownerSVGElement,z=My(R,e,`bars`,{x:0,y:0,width:ee,height:A}),B=$(k).append(`g`).attr(`clip-path`,`url(#${z})`),V=$(k).append(`g`).attr(`class`,`bc-split-headers`);for(let e of I)V.append(`text`).attr(`class`,`bc-split-header`).attr(`x`,e.xOffset+e.panelWidth/2).attr(`y`,-10).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`central`).attr(`font-size`,`11px`).attr(`font-weight`,`600`).attr(`fill`,`currentColor`).text(_S(e.seriesName,e.panelWidth));let te=yS(I,N,t.labels,d),ne=cb(n.highlights,te.map(e=>e.seriesName)),re=Ey(n.colorizes),ie=zy(e),ae=B.append(`g`).node();if(r)for(let e of i)e.removeAttribute(`opacity`),e.removeAttribute(`fill-opacity`),ae.appendChild(e);Zy(ie,{role:`mark-per-cell`,parent:ae,selector:`.bc-bar-split`,data:te,key:e=>e.label+`\0`+e.seriesName,insert:e=>e.append(`rect`).attr(`class`,`bc-bar bc-bar-split`),attrs:e=>{let t=re.get(e.seriesName)??ax(e.seriesName,e.seriesIndex,m,h),n=fx(e.seriesName,h),r={"data-series":e.seriesName,x:e.xPos,y:(P(e.label)??0)+F,width:e.barWidth,height:Math.max(0,P.bandwidth()-F),fill:t};return n<1&&(r[`fill-opacity`]=n),ne.size>0&&(r.opacity=lb(ne,e.seriesName)),r}});let oe={left:j.left,top:j.top,width:ee,height:A};ab(ie,{svg:R,clipId:z,group:k,from:s,to:oe,active:r&&i.length>0});let H=Py(B);if(n.tooltips&&H.use(Fv({numberFormat:n.verticalAxis?.numberFormat})),n.crosshair&&H.use(Lv({width:ee,height:A,direction:n.crosshairDirection,style:n.crosshairStyle,color:n.crosshairColor,orientation:Kr.Horizontal})),n.annotations?.length&&I.length>0){let i=I[0],a=f.find(e=>e.name===i.seriesName),o=t.labels.map((e,t)=>({label:e,value:a?.values[t]??0}));H.use(Ty(n.annotations,{scaleX:P,scaleY:i.xScale,data:o,width:ee,height:A,backgroundColor:wr(e),orientation:Kr.Horizontal,transition:r,priorAnnotations:c}))}let se=()=>H.draw(te);if(ie.state===`committing`?ie.register(se):se(),ky(e,{chartType:`bar-split`,margin:j,plotRect:oe}),a&&(sg(B.node()),lg(e,a)),S){let e=$(k).append(`g`).attr(`class`,`bc-category-labels`);for(let t of N){let n=P(t)??0;e.append(`text`).attr(`class`,`bc-category-label`).attr(`x`,2).attr(`y`,n+13/2).attr(`text-anchor`,`start`).attr(`dominant-baseline`,`central`).attr(`font-size`,`10px`).attr(`font-weight`,`600`).attr(`fill`,`currentColor`).text(t)}}let ce=n.valueLabels??!0,le=n.valueLabelPosition??ei.Auto,ue=$(k).append(`g`).attr(`class`,`bc-value-labels`);if(te.forEach(e=>{if(!dx(e.seriesName,ce,h))return;let t=I.find(t=>t.seriesName===e.seriesName);if(!t)return;let n=ax(e.seriesName,e.seriesIndex,m,h),r=e.xPos+e.barWidth,i=Math.max(0,P.bandwidth()-F),a=(P(e.label)??0)+F+i/2,o=r+pS+Sb(String(e.value))<=t.xOffset+t.panelWidth,s=le===ei.Inside||!o||le===ei.Auto&&e.barWidth>30;if(!_b({text:String(e.value),placement:s?`inside`:`outside`,orientation:`horizontal`,barWidth:e.barWidth,barHeight:i}))return;let c,l,u;s?(c=r-pS,l=`end`,u=Sr(n)):(c=r+pS,l=`start`,u=`currentColor`),ue.append(`text`).attr(`class`,`bc-value-label`).attr(`data-series`,e.seriesName).attr(`x`,c).attr(`y`,a).attr(`text-anchor`,l).attr(`dominant-baseline`,`central`).attr(`font-size`,`11px`).attr(`fill`,u).text(String(e.value))}),g&&p.length>0){let e=p.map(e=>ax(e,d.findIndex(t=>t.name===e),m,h)),t=0,n=0;y===`top`?n=-(E.height+10+mS):y===`bottom`?n=A+25:y===`left`?t=-(E.width+10):y===`right`&&(t=ee+10),tx(k,p,e,n,y,b,ee,A,t,[],{left:j.left,right:j.right})}}var xS=[`#4e79a7`,`#f28e2b`,`#e15759`,`#76b7b2`,`#59a14f`,`#edc948`,`#b07aa1`,`#ff9da7`];function SS(e,t,n={},r=!1){ag(r);let i=[],a=null,o,s,c,l=Yg.for(e);if(r){let t=Oy(e);o=t?.margin,s=t?.plotRect,l.detach(),t?.chartType===`bar-grouped`?i=Array.from(e.querySelectorAll(`.bc-frame .bc-bar-grouped`)):t&&(a=cg(e)),c=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of zv(t))c.set(e,n);e.replaceChildren()}let{body:u}=yh(e,n.frame),d=nx(t),f=d.filter(e=>!lx(e.name,n.seriesOverrides)),p=f.map(e=>e.name),m=p.filter(Boolean),h=rx(n.colors??xS,d.length),g=n.seriesOverrides,_=n.legend!==!1,v=eg(u).width,y=n.legendPosition??`top`,b=v>0&&v<350&&(y===`left`||y===`right`)?`top`:y,x=n.legendAnchor??`start`,S=Db(v,n.verticalAxis?.labelPosition),C=n.categoryLabelLine===!0||S,w=Zh(t.labels),T=Qh(v,C?zr.Off:n.verticalAxis?.labelPosition,n.horizontalAxis?.labelPosition,n.verticalAxis?.direction,w,n.horizontalAxis?.showAxis),E=Math.max(0,v-(T.left??50)-(T.right??20)),D=_?Jb(m,b,E):{width:0,height:0},O=_?D.height+15:0,k={...T};_&&b===`top`&&(k.top=O),_&&b===`bottom`&&(k.bottom=(k.bottom??24)+O),_&&b===`left`&&(k.left=(k.left??50)+D.width+10),_&&b===`right`&&(k.right=(k.right??20)+D.width+10);let{chartArea:ee,width:A,height:j,margin:M}=ng(u,k),N=Rh(o,M),P=t.labels;if(n.sortMode===`total`){let e=t.labels.map((e,t)=>({label:e,total:f.reduce((e,n)=>e+(n.values[t]??0),0)}));e.sort((e,t)=>t.total-e.total),P=e.map(e=>e.label)}let F=od().domain(P).range([0,j]).paddingInner(Ci(n.barGap)).paddingOuter(.05),I=C?Tb(F.bandwidth()):0,L=Math.max(0,F.bandwidth()-I),R=od().domain(p).range([0,L]).padding(.05),[z,B]=wi(f.flatMap(e=>e.values),n.horizontalAxis?.range,n.horizontalAxis?.scaleType),V=(n.horizontalAxis?.scaleType===Lr.Log?Ed():Sd()).domain([z,B]).nice().range([0,A]);l.attach(ee,N),l.update({vertical:{scale:F,height:j,options:{...n.verticalAxis,labelPosition:C?zr.Off:n.verticalAxis?.labelPosition,topPadding:M.top,...S?{showAxis:!1}:{}}},horizontal:{scale:V,height:j,options:{...n.horizontalAxis,width:A}},order:`horizontal-first`});let te=ee.ownerSVGElement,ne=My(te,e,`bars`,{x:0,y:0,width:A,height:j}),re=$(ee).append(`g`).attr(`clip-path`,`url(#${ne})`);if(n.barBackground){let e=(n.colors??xS)[0];re.selectAll(`.bc-bar-bg`).data(P,e=>e).enter().append(`rect`).attr(`class`,`bc-bar-bg`).attr(`x`,0).attr(`y`,e=>(F(e)??0)+I).attr(`width`,A).attr(`height`,F.bandwidth()-I).attr(`fill`,e).attr(`opacity`,.18)}if(n.barSeparators&&P.length>1){let e=F.step();for(let t=1;t<P.length;t++){let n=(F(P[t-1])??0)+F.bandwidth()+(e-F.bandwidth())/2;re.append(`line`).attr(`class`,`bc-bar-separator`).attr(`x1`,0).attr(`x2`,A).attr(`y1`,n).attr(`y2`,n).attr(`stroke`,`currentColor`).attr(`opacity`,.15)}}let ie=[];for(let e of P){let n=t.labels.indexOf(e);for(let t of f){let r=d.findIndex(e=>e.name===t.name);ie.push({label:e,seriesName:t.name,seriesIndex:r,value:n>=0?t.values[n]??0:0})}}let ae=cb(n.highlights,ie.map(e=>e.seriesName)),oe=Ey(n.colorizes),H=zy(e),se=re.append(`g`).node();if(r)for(let e of i)e.removeAttribute(`opacity`),e.removeAttribute(`fill-opacity`),se.appendChild(e);Zy(H,{role:`mark-per-cell`,parent:se,selector:`.bc-bar-grouped`,data:ie,key:e=>e.label+`\0`+e.seriesName,insert:e=>e.append(`rect`).attr(`class`,`bc-bar bc-bar-grouped`),attrs:e=>{let t=oe.get(e.seriesName)??ax(e.seriesName,e.seriesIndex,h,g),n=fx(e.seriesName,g),r={"data-series":e.seriesName,x:V(0),y:(F(e.label)??0)+I+(R(e.seriesName)??0),width:Math.max(0,V(e.value)-V(0)),height:R.bandwidth(),fill:t};return n<1&&(r[`fill-opacity`]=n),ae.size>0&&(r.opacity=lb(ae,e.seriesName)),r}});let ce={left:M.left,top:M.top,width:A,height:j};ab(H,{svg:te,clipId:ne,group:ee,from:s,to:ce,active:r&&i.length>0});let le=Py(re);if(n.tooltips&&le.use(Fv({numberFormat:n.verticalAxis?.numberFormat})),n.crosshair&&le.use(Lv({width:A,height:j,direction:n.crosshairDirection,style:n.crosshairStyle,color:n.crosshairColor,orientation:Kr.Horizontal})),n.annotations?.length){let i=t.labels.map((e,t)=>({label:e,value:Math.max(0,...f.map(e=>e.values[t]??0))}));le.use(Ty(n.annotations,{scaleX:F,scaleY:V,data:i,width:A,height:j,backgroundColor:wr(e),orientation:Kr.Horizontal,transition:r,priorAnnotations:c}))}let ue=()=>le.draw(ie);if(H.state===`committing`?H.register(ue):ue(),ky(e,{chartType:`bar-grouped`,margin:M,plotRect:ce}),a&&(sg(re.node()),lg(e,a)),C){let e=$(ee).append(`g`).attr(`class`,`bc-category-labels`);for(let t of P){let n=F(t)??0;e.append(`text`).attr(`class`,`bc-category-label`).attr(`x`,2).attr(`y`,n+13/2).attr(`text-anchor`,`start`).attr(`dominant-baseline`,`central`).attr(`font-size`,`10px`).attr(`font-weight`,`600`).attr(`fill`,`currentColor`).text(t)}}let de=n.valueLabels??!0,U=n.valueLabelPosition??ei.Auto,W=$(ee).append(`g`).attr(`class`,`bc-value-labels`);if(ie.forEach(e=>{if(!dx(e.seriesName,de,g))return;let t=ax(e.seriesName,e.seriesIndex,h,g),n=Math.max(0,V(e.value)-V(0)),r=V(0)+n,i=(F(e.label)??0)+I+(R(e.seriesName)??0)+R.bandwidth()/2,a=U===ei.Inside||U===ei.Auto&&n>30;if(!_b({text:String(e.value),placement:a?`inside`:`outside`,orientation:`horizontal`,barWidth:n,barHeight:R.bandwidth()}))return;let o,s,c;a?(o=r-4,s=`end`,c=Sr(t)):(o=r+4,s=`start`,c=`currentColor`),W.append(`text`).attr(`class`,`bc-value-label`).attr(`data-series`,e.seriesName).attr(`x`,o).attr(`y`,i).attr(`text-anchor`,s).attr(`dominant-baseline`,`central`).attr(`font-size`,`11px`).attr(`fill`,c).text(String(e.value))}),_&&m.length>0){let e=m.map(e=>ax(e,d.findIndex(t=>t.name===e),h,g)),t=0,n=0;b===`top`?n=-(D.height+10):b===`bottom`?n=j+25:b===`left`?t=-(D.width+10):b===`right`&&(t=A+10),tx(ee,m,e,n,b,x,A,j,t,[],{left:M.left,right:M.right})}}var CS=new Map;function wS(e,t,n){CS.set(e,{renderer:t,options:n})}function TS(e){return CS.get(e)?.renderer}function ES(e){return CS.get(e)?.options??[]}var DS=[{value:Rr.Solid,text:`Solid`},{value:Rr.Dashed,text:`Dashed`},{value:Rr.Dotted,text:`Dotted`},{value:Rr.None,text:`None`}],OS={key:`colors`,type:Q.Colors,label:`Colors`},kS={key:`colorPalette`,type:Q.Select,label:`Color palette`,default:`Blueprint`,choices:[{value:``,text:`Custom`},...H().map(e=>({value:e.name,text:e.label}))]},AS={key:`autoContrast`,type:Q.Boolean,label:`Auto-adjust contrast`,default:!1},jS={key:`allowDarkMode`,type:Q.Boolean,label:`Allow dark mode`,default:!0},MS={key:`legend`,type:Q.Boolean,label:`Show legend`,default:!0},NS={key:`legendPosition`,type:Q.Select,label:`Legend position`,default:Qr.Top,choices:[{value:Qr.Top,text:`Top`},{value:Qr.Bottom,text:`Bottom`},{value:Qr.Left,text:`Left`},{value:Qr.Right,text:`Right`}]},PS={key:`legendAnchor`,type:Q.Select,label:`Legend anchor`,default:$r.Start,choices:[{value:$r.Start,text:`Start`},{value:$r.Middle,text:`Middle`},{value:$r.End,text:`End`}]},FS={key:`directLabelling`,type:Q.Select,label:`Direct labelling`,default:ii.Off,choices:[{value:ii.Off,text:`Off`},{value:ii.Auto,text:`Auto`},{value:ii.Outside,text:`Outside`},{value:ii.Inside,text:`Inside`}]},IS={key:`directLabelAnchor`,type:Q.Select,label:`Label anchor`,default:$r.Middle,choices:[{value:$r.Start,text:`Start`},{value:$r.Middle,text:`Middle`},{value:$r.End,text:`End`}]},LS={key:`valueLabels`,type:Q.Boolean,label:`Value labels`,default:!1},RS={key:`valueLabelPosition`,type:Q.Select,label:`Label position`,default:ei.Auto,choices:[{value:ei.Auto,text:`Auto`},{value:ei.Outside,text:`Outside`},{value:ei.Inside,text:`Inside`}]},zS={key:`tooltips`,type:Q.Boolean,label:`Tooltips`,default:!1},BS={key:`crosshair`,type:Q.Boolean,label:`Crosshair`,default:!1},VS={key:`crosshairDirection`,type:Q.Select,label:`Crosshair direction`,default:ti.Both,choices:[{value:ti.Both,text:`Both`},{value:ti.Vertical,text:`Vertical`},{value:ti.Horizontal,text:`Horizontal`}]},HS={key:`crosshairStyle`,type:Q.Select,label:`Crosshair style`,default:ni.Dashed,choices:[{value:ni.Solid,text:`Solid`},{value:ni.Dashed,text:`Dashed`},{value:ni.Dotted,text:`Dotted`}]},US={key:`crosshairColor`,type:Q.Text,label:`Crosshair color`,default:`#999`,placeholder:`#999`},WS={key:`lineSymbols`,type:Q.Boolean,label:`Show line symbols`,default:!1},GS={key:`lineSymbolShape`,type:Q.Select,label:`Symbol`,default:qr.Circle,choices:[{value:qr.Circle,text:`Circle`},{value:qr.Square,text:`Square`},{value:qr.Diamond,text:`Diamond`},{value:qr.Triangle,text:`Triangle Up`},{value:qr.TriangleDown,text:`Triangle Down`},{value:qr.Cross,text:`Cross`},{value:qr.Star,text:`Star`}]},KS={key:`lineSymbolShowOn`,type:Q.Select,label:`Show on`,default:Jr.FirstLast,choices:[{value:Jr.FirstLast,text:`First & Last`},{value:Jr.First,text:`First`},{value:Jr.Last,text:`Last`},{value:Jr.All,text:`All`}]},qS={key:`lineSymbolStyle`,type:Q.Select,label:`Style`,default:Yr.Filled,choices:[{value:Yr.Filled,text:`Filled`},{value:Yr.Hollow,text:`Hollow`}]},JS={key:`lineSymbolSize`,type:Q.Text,label:`Size`,default:`3.5`,placeholder:`3.5`},YS={key:`lineSymbolOpacity`,type:Q.Text,label:`Opacity`,default:`1`,placeholder:`1`},XS={key:`sortMode`,type:Q.Select,label:`Sort mode`,default:Zr.None,choices:[{value:Zr.None,text:`None`},{value:Zr.Total,text:`By total`},{value:Zr.WithinGroups,text:`Within groups`}]},ZS={key:`edgePadding`,type:Q.Boolean,label:`Edge padding`,default:!1},QS={key:`waterfall`,type:Q.Boolean,label:`Waterfall`,default:!1},$S={key:`waterfallTotal`,type:Q.Boolean,label:`Waterfall total`,default:!1},eC={key:`barBackground`,type:Q.Boolean,label:`Bar background`,default:!1},tC={key:`barGap`,type:Q.Text,label:`Bar gap`,default:`60`,placeholder:`60`},nC={key:`barSeparators`,type:Q.Boolean,label:`Bar separators`,default:!1},rC={key:`connectedColumns`,type:Q.Boolean,label:`Connected columns`,default:!1},iC={key:`connectionsOpacity`,type:Q.Text,label:`Opacity`,default:`0.15`,placeholder:`0.15`},aC={key:`swapLabelValue`,type:Q.Boolean,label:`Swap labels and values`,default:!1},oC={key:`stackMode`,type:Q.Select,label:`Stack mode`,default:ri.Normal,choices:[{value:ri.Normal,text:`Normal`},{value:ri.Percent,text:`Percentage (100%)`}]},sC={key:`sharedScale`,type:Q.Boolean,label:`Shared scale`,default:!1},cC={key:`categoryLabelLine`,type:Q.Boolean,label:`Labels on separate line`,default:!1},lC={key:`displayAsPercentage`,type:Q.Boolean,label:`Display as percentage`,default:!1},uC={key:`showTotal`,type:Q.Boolean,label:`Show total`,default:!1},dC={key:`showLabels`,type:Q.Boolean,label:`Show labels`,default:!0},fC={key:`showValues`,type:Q.Boolean,label:`Show values`,default:!0},pC={key:`sliceMax`,type:Q.Text,label:`Max slices`,default:`6`},mC={key:`sliceGroupLabel`,type:Q.Text,label:`Group label`,default:`Others`,placeholder:`Others`},hC={key:`areaFillOpacity`,type:Q.Text,label:`Opacity`,default:`0.85`,placeholder:`0.85`},gC={key:`stacked`,type:Q.Boolean,label:`Stack areas`,default:!0},_C={key:`stackPercent`,type:Q.Boolean,label:`Stack to 100%`,default:!1},vC={key:`areaLines`,type:Q.Boolean,label:`Separate areas with lines`,default:!0},yC={key:`areaSortMode`,type:Q.Select,label:`Sort areas`,default:Xr.None,choices:[{value:Xr.None,text:`Keep order`},{value:Xr.Ascending,text:`Smallest first`},{value:Xr.Descending,text:`Largest first`}]},bC={key:`interpolation`,type:Q.Select,label:`Line interpolation`,default:ai.Linear,choices:[{value:ai.Linear,text:`Linear`},{value:ai.MonotoneX,text:`Monotone`},{value:ai.Step,text:`Step`},{value:ai.StepBefore,text:`Step (before)`},{value:ai.StepAfter,text:`Step (after)`},{value:ai.Basis,text:`Basis`},{value:ai.Cardinal,text:`Cardinal`},{value:ai.CatmullRom,text:`Catmull-Rom`}]},xC=[{value:Lr.Linear,text:`Linear`},{value:Lr.Log,text:`Logarithmic`}],SC=[{value:zr.Auto,text:`Auto`},{value:zr.Inside,text:`Inside`},{value:zr.Outside,text:`Outside`},{value:zr.Off,text:`Off`}],CC=[{value:Br.Auto,text:`Auto`},{value:Br.Horizontal,text:`Horizontal`},{value:Br.Vertical,text:`Vertical`}];function wC(e){return[{key:`showVerticalAxis`,type:Q.Boolean,label:`Show vertical axis`,default:e.showVerticalAxis??!0},{key:`verticalAxisDirection`,type:Q.Select,label:`Vertical axis side`,default:Ir.Left,choices:[{value:Ir.Left,text:`Left`},{value:Ir.Right,text:`Right`}]},{key:`showVerticalTicks`,type:Q.Boolean,label:`Show vertical ticks`,default:e.showVerticalTicks},{key:`verticalLabelPosition`,type:Q.Select,label:`Vertical labels`,default:e.valueAxisLabelsOff&&e.valueAxis===`vertical`?zr.Off:zr.Auto,choices:SC},{key:`verticalGridStyle`,type:Q.Select,label:`Vertical grid style`,default:e.verticalGrid,choices:DS},{key:`verticalNumberFormat`,type:Q.NumberFormat,label:`Vertical number format`},...e.valueAxis===`vertical`?[{key:`verticalScaleType`,type:Q.Select,label:`Vertical scale`,default:Lr.Linear,choices:xC},{key:`verticalRangeMin`,type:Q.Text,label:`Vertical min`,placeholder:`auto`},{key:`verticalRangeMax`,type:Q.Text,label:`Vertical max`,placeholder:`auto`}]:[],{key:`showHorizontalAxis`,type:Q.Boolean,label:`Show horizontal axis`,default:e.showHorizontalAxis??!0},{key:`showHorizontalTicks`,type:Q.Boolean,label:`Show horizontal ticks`,default:e.showHorizontalTicks},{key:`horizontalLabelPosition`,type:Q.Select,label:`Horizontal labels`,default:e.valueAxisLabelsOff&&e.valueAxis===`horizontal`?zr.Off:zr.Auto,choices:SC},{key:`horizontalLabelRotation`,type:Q.Select,label:`Horizontal label rotation`,default:Br.Horizontal,choices:CC},{key:`horizontalGridStyle`,type:Q.Select,label:`Horizontal grid style`,default:e.horizontalGrid,choices:DS},{key:`horizontalNumberFormat`,type:Q.NumberFormat,label:`Horizontal number format`},...e.valueAxis===`horizontal`?[{key:`horizontalScaleType`,type:Q.Select,label:`Horizontal scale`,default:Lr.Linear,choices:xC},{key:`horizontalRangeMin`,type:Q.Text,label:`Horizontal min`,placeholder:`auto`},{key:`horizontalRangeMax`,type:Q.Text,label:`Horizontal max`,placeholder:`auto`}]:[],...e.horizontalRange?[{key:`horizontalRangeMin`,type:Q.Text,label:`Horizontal min`,placeholder:`auto`},{key:`horizontalRangeMax`,type:Q.Text,label:`Horizontal max`,placeholder:`auto`}]:[]]}var TC=wC({verticalGrid:Rr.None,horizontalGrid:Rr.None,showVerticalTicks:!1,showHorizontalTicks:!1,showVerticalAxis:!1,valueAxis:`vertical`,valueAxisLabelsOff:!0}),EC=wC({verticalGrid:Rr.None,horizontalGrid:Rr.None,showVerticalTicks:!1,showHorizontalTicks:!1,showHorizontalAxis:!1,valueAxis:`horizontal`,valueAxisLabelsOff:!0}),DC=wC({verticalGrid:Rr.Dashed,horizontalGrid:Rr.None,showVerticalTicks:!1,showHorizontalTicks:!1,showVerticalAxis:!1,valueAxis:`vertical`,horizontalRange:!0}),OC=wC({verticalGrid:Rr.Dashed,horizontalGrid:Rr.None,showVerticalTicks:!1,showHorizontalTicks:!1,showVerticalAxis:!1,valueAxis:`vertical`,horizontalRange:!0}),kC={...bC,default:ai.MonotoneX},AC={...VS,default:ti.Vertical},jC={...BS,default:!0},MC={...WS,default:!0},NC={...XS,default:Zr.Total},PC={...LS,default:!0},FC={...LS,default:!0},IC={...lC,default:!0},LC={...pC,default:`5`},RC={...uC,default:!0},zC={...FS,default:ii.Auto},BC={...MS,default:!1},VC=[BS,VS,HS,US],HC=[jC,AC,HS,US],UC=[FC,RS,zS,...VC],WC=[PC,RS,zS,...VC],GC=[WS,GS,KS,qS,JS,YS],KC=[MC,GS,KS,qS,JS,YS],qC=[LS,zS,...HC,...GC],JC=[LS,zS,...HC,...KC],YC=[IC,dC,fC,LC,mC],XC=[lC,RC,dC,fC,pC,mC];wS(Fr.BarVertical,jb,[OS,kS,AS,jS,aC,eC,nC,tC,rC,iC,QS,$S,cC,...TC,...UC]),wS(Fr.BarHorizontal,Lb,[OS,kS,AS,jS,aC,eC,nC,tC,rC,iC,QS,$S,cC,...EC,...WC]),wS(Fr.BarMulti,vx,[OS,kS,AS,jS,NC,BC,PS,NS,zC,IS,...TC,...UC]),wS(Fr.Line,Ax,[OS,kS,AS,jS,kC,ZS,...DC,...qC]),wS(Fr.LineMulti,Wx,[OS,kS,AS,jS,kC,ZS,XS,BC,PS,NS,zC,...DC,...JC]),wS(Fr.Donut,Zx,[OS,kS,AS,jS,BC,PS,NS,zC,zS,...XC]),wS(Fr.Pie,$x,[OS,kS,AS,jS,BC,PS,NS,zC,zS,...YC]),wS(Fr.Area,eS,[OS,kS,AS,jS,kC,ZS,...OC,...qC]);var ZC=wC({verticalGrid:Rr.Dashed,horizontalGrid:Rr.None,showVerticalTicks:!1,showHorizontalTicks:!1,showVerticalAxis:!1,valueAxis:`vertical`,horizontalRange:!0});wS(Fr.AreaStacked,iS,[OS,kS,AS,jS,hC,kC,ZS,yC,gC,_C,vC,MS,PS,NS,FS,...ZC,zS,...HC]),wS(Fr.ColumnStacked,sS,[OS,kS,AS,jS,oC,XS,MS,PS,NS,FS,IS,...TC,...UC]),wS(Fr.BarStacked,uS,[OS,kS,AS,jS,oC,XS,MS,PS,NS,FS,IS,cC,...EC,...WC]),wS(Fr.BarSplit,bS,[OS,kS,AS,jS,sC,XS,MS,PS,NS,cC,...EC,PC,RS,zS,...VC]),wS(Fr.BarGrouped,SS,[OS,kS,AS,jS,NC,MS,PS,NS,eC,nC,cC,...EC,PC,RS,zS,...VC]),wS(Fr.VerticalBar,jb,[OS,kS,AS,jS,aC,eC,nC,tC,rC,iC,QS,$S,cC,...TC,...UC]),wS(Fr.HorizontalBar,Lb,[OS,kS,AS,jS,aC,eC,nC,tC,rC,iC,QS,$S,cC,...EC,...WC]);function QC(e){let t=(e??``).trim();return t&&_i(t)!==void 0?t:void 0}function $C(e){if(!(e.showVerticalTicks!==void 0||e.verticalGridStyle!==void 0||e.verticalNumberFormat!==void 0||e.showVerticalAxis!==void 0||e.verticalAxisDirection!==void 0||e.verticalScaleType!==void 0||e.verticalLabelPosition!==void 0||e.verticalRangeMin||e.verticalRangeMax))return{};let t={};e.showVerticalTicks!==void 0&&(t.showTicks=e.showVerticalTicks),e.verticalAxisDirection!==void 0&&(t.direction=e.verticalAxisDirection),e.verticalGridStyle!==void 0&&(t.gridStyle=e.verticalGridStyle),e.verticalNumberFormat!==void 0&&(t.numberFormat=e.verticalNumberFormat),e.showVerticalAxis!==void 0&&(t.showAxis=e.showVerticalAxis),e.verticalScaleType!==void 0&&(t.scaleType=e.verticalScaleType),e.verticalLabelPosition!==void 0&&(t.labelPosition=e.verticalLabelPosition);let n=QC(e.verticalRangeMin),r=QC(e.verticalRangeMax);return(n!==void 0||r!==void 0)&&(t.range={},n!==void 0&&(t.range.min=n),r!==void 0&&(t.range.max=r)),{verticalAxis:t}}function ew(e){if(!(e.showHorizontalTicks!==void 0||e.horizontalGridStyle!==void 0||e.horizontalNumberFormat!==void 0||e.showHorizontalAxis!==void 0||e.horizontalScaleType!==void 0||e.horizontalLabelPosition!==void 0||e.horizontalLabelRotation!==void 0||e.horizontalRangeMin||e.horizontalRangeMax))return{};let t={};e.showHorizontalTicks!==void 0&&(t.showTicks=e.showHorizontalTicks),e.horizontalGridStyle!==void 0&&(t.gridStyle=e.horizontalGridStyle),e.horizontalNumberFormat!==void 0&&(t.numberFormat=e.horizontalNumberFormat),e.showHorizontalAxis!==void 0&&(t.showAxis=e.showHorizontalAxis),e.horizontalScaleType!==void 0&&(t.scaleType=e.horizontalScaleType),e.horizontalLabelPosition!==void 0&&(t.labelPosition=e.horizontalLabelPosition),e.horizontalLabelRotation!==void 0&&(t.labelRotation=e.horizontalLabelRotation);let n=QC(e.horizontalRangeMin),r=QC(e.horizontalRangeMax);return(n!==void 0||r!==void 0)&&(t.range={},n!==void 0&&(t.range.min=n),r!==void 0&&(t.range.max=r)),{horizontalAxis:t}}var tw=new Set(`colors.colorPalette.autoContrast.crosshairDirection.crosshairStyle.crosshairColor.lineSymbols.lineSymbolShape.lineSymbolShowOn.lineSymbolStyle.lineSymbolSize.lineSymbolOpacity.showVerticalTicks.showVerticalAxis.verticalAxisDirection.verticalGridStyle.verticalNumberFormat.verticalScaleType.verticalLabelPosition.verticalRangeMin.verticalRangeMax.showHorizontalTicks.showHorizontalAxis.horizontalGridStyle.horizontalNumberFormat.horizontalScaleType.horizontalLabelPosition.horizontalLabelRotation.horizontalRangeMin.horizontalRangeMax.sliceMax.barGap.connectionsOpacity.areaFillOpacity`.split(`.`));function nw(e,t){if(!t)return{};let n={};for(let{key:r}of ES(t)){let t=e[r];t!==void 0&&!tw.has(r)&&(n[r]=t)}return n}function rw(e,t){let n={},r=oe(e.colorPalette);return r?n.colors=r:e.colors&&e.colors.length>0&&(n.colors=e.colors),e.autoContrast&&t&&n.colors&&(n.colors=Ar(n.colors,t)),e.allowDarkMode!==void 0&&(n.allowDarkMode=e.allowDarkMode),n}function iw(e){let t={};return e.legend!==void 0&&(t.legend=e.legend),e.legendPosition!==void 0&&(t.legendPosition=e.legendPosition),e.legendAnchor!==void 0&&(t.legendAnchor=e.legendAnchor),e.directLabelling!==void 0&&(t.directLabelling=e.directLabelling),e.directLabelAnchor!==void 0&&(t.directLabelAnchor=e.directLabelAnchor),t}function aw(e){return e.lineSymbols?{lineSymbols:{symbol:e.lineSymbolShape??qr.Circle,showOn:e.lineSymbolShowOn??Jr.FirstLast,style:e.lineSymbolStyle??Yr.Filled,size:parseFloat(e.lineSymbolSize??`3.5`)||3.5,opacity:parseFloat(e.lineSymbolOpacity??`1`)||1}}:{}}function ow(e,t,n){let r={...nw(e,n),...rw(e,t),...iw(e),...$C(e),...ew(e),...aw(e)};e.interpolation!==void 0&&(r.interpolation=e.interpolation),e.valueLabels!==void 0&&(r.valueLabels=e.valueLabels),e.valueLabelPosition!==void 0&&(r.valueLabelPosition=e.valueLabelPosition),e.tooltips!==void 0&&(r.tooltips=e.tooltips),e.crosshair!==void 0&&(r.crosshair=e.crosshair),e.crosshairDirection&&(r.crosshairDirection=e.crosshairDirection),e.crosshairStyle&&(r.crosshairStyle=e.crosshairStyle),e.crosshairColor&&(r.crosshairColor=e.crosshairColor),e.displayAsPercentage!==void 0&&(r.displayAsPercentage=e.displayAsPercentage),e.showTotal!==void 0&&(r.showTotal=e.showTotal),e.showLabels!==void 0&&(r.showLabels=e.showLabels),e.showValues!==void 0&&(r.showValues=e.showValues),e.swapLabelValue!==void 0&&(r.swapLabelValue=e.swapLabelValue);let i=parseInt(e.sliceMax??``,10);!isNaN(i)&&i>0&&(r.sliceMax=i),e.sliceGroupLabel!==void 0&&(r.sliceGroupLabel=e.sliceGroupLabel),e.barBackground!==void 0&&(r.barBackground=e.barBackground),e.barSeparators!==void 0&&(r.barSeparators=e.barSeparators);let a=parseFloat(e.barGap??``);isNaN(a)||(r.barGap=Math.max(0,Math.min(100,a))),e.connectedColumns!==void 0&&(r.connectedColumns=e.connectedColumns);let o=parseFloat(e.connectionsOpacity??``);isNaN(o)||(r.connectionsOpacity=Math.max(0,Math.min(1,o))),e.stackMode!==void 0&&(r.stackMode=e.stackMode),e.stacked!==void 0&&(r.stacked=e.stacked),e.stackPercent!==void 0&&(r.stackPercent=e.stackPercent),e.areaSortMode!==void 0&&(r.areaSortMode=e.areaSortMode),e.areaLines!==void 0&&(r.areaLines=e.areaLines);let s=parseFloat(e.areaFillOpacity??``);return isNaN(s)||(r.areaFillOpacity=s),e.edgePadding!==void 0&&(r.edgePadding=e.edgePadding),e.waterfall!==void 0&&(r.waterfall=e.waterfall),e.waterfallTotal!==void 0&&(r.waterfallTotal=e.waterfallTotal),e.categoryLabelLine!==void 0&&(r.categoryLabelLine=e.categoryLabelLine),r}var sw=e=>e===!0||String(e).toLowerCase()===`true`;function cw(e){return new Map(e.map(e=>[e.key,e.value]))}function lw(e,t){let n=cw(t),r=ES(e),i=new Set(r.map(e=>e.key)),a={};for(let e of r){let t=n.get(e.key);t!==void 0&&i.has(e.key)&&(e.type===Q.Colors?a[e.key]=R(String(t)).map(e=>e.trim()).filter(Boolean):e.type===Q.Boolean?e.key===`valueLabels`&&String(t).toLowerCase()===`percent`?a[e.key]=`percent`:a[e.key]=sw(t):a[e.key]=String(t))}return a}function uw(e){return!(/^-?\d+(\.\d+)?$/.test(e)||/^-?\d+(\.\d+)?%$/.test(e)||/^[a-zA-Z_][a-zA-Z0-9_-]*$/.test(e))}function dw(e){return e.entries.map(e=>{if(e.values&&e.values.length>1){if(e.key===`series`&&!e.quotedKey)return`series = ${e.values.map(e=>F(String(e))).join(`,`)}`;let t=e.values.map(e=>typeof e==`number`||!uw(String(e))?String(e):F(String(e)));return`${F(e.key)} = ${t.join(`,`)}`}let t=e.isPercentage?`${e.value}%`:String(e.value);return e.key===`series`&&!e.quotedKey?`series = ${F(t)}`:typeof e.value==`string`&&uw(t)?`${F(e.key)} = ${F(t)}`:`${F(e.key)} = ${t}`}).join(`
|
|
343
|
-
`)}function fw(e,t){let n=e.find(e=>e.key===t);return n?String(n.value):void 0}function pw(e,t){let n=e.find(e=>e.key===t);if(n)return n.isPercentage,n.value}function mw(e){let t=e.find(e=>e.key===`maxWidth`);if(t)return t.isPercentage?`${t.value}%`:t.value}function hw(e){return e.map(e=>({target:e.target,color:fw(e.properties,`color`)??`#e15759`,label:fw(e.properties,`label`)}))}function gw(e){return e.map(e=>({target:e.target}))}function _w(e){return e.map(e=>{let t=cw(e.properties);return{from:e.from,to:e.to,color:t.has(`color`)?String(t.get(`color`)):void 0,negativeColor:t.has(`negativeColor`)?String(t.get(`negativeColor`)):void 0,opacity:t.has(`opacity`)?Number(t.get(`opacity`)):void 0,interpolation:t.has(`interpolation`)?String(t.get(`interpolation`)):void 0}})}function vw(e){let t=e.get(`repeat`);if(sw(t))return`always`;if(t===void 0||t===!1||t===`false`)return;let n=Number(t);return Number.isInteger(n)&&n>=1?n:void 0}function yw(e){return e.map(e=>{let t=cw(e.properties),n=e.kind??Wr.Point;if(n===Wr.Range){let e={kind:Wr.Range,start:t.has(`start`)?isNaN(Number(t.get(`start`)))?String(t.get(`start`)):Number(t.get(`start`)):0,end:t.has(`end`)?isNaN(Number(t.get(`end`)))?String(t.get(`end`)):Number(t.get(`end`)):0};return e.repeat=vw(t),t.has(`orientation`)&&(e.orientation=String(t.get(`orientation`))),t.has(`startAnchor`)&&(e.startAnchor=String(t.get(`startAnchor`))),t.has(`endAnchor`)&&(e.endAnchor=String(t.get(`endAnchor`))),t.has(`bgColor`)&&(e.bgColor=String(t.get(`bgColor`))),t.has(`bgOpacity`)&&(e.bgOpacity=Number(t.get(`bgOpacity`))),t.has(`direction`)&&(e.direction=String(t.get(`direction`))),t.has(`text`)&&(e.text=String(t.get(`text`))),t.has(`textColor`)&&(e.textColor=String(t.get(`textColor`))),e}if(n===Wr.Free){let n={kind:Wr.Free,text:String(t.get(`text`)??``),x:pw(e.properties,`x`)??0,y:pw(e.properties,`y`)??0};n.repeat=vw(t),t.has(`textColor`)&&(n.textColor=String(t.get(`textColor`)));let r=mw(e.properties);return r!==void 0&&(n.maxWidth=r),t.has(`textOutline`)&&(n.textOutline=sw(t.get(`textOutline`))),n}let r=`target`in e?e.target:``,i={kind:Wr.Point,target:r,text:String(t.get(`text`)??``)};i.repeat=vw(t),t.has(`textColor`)&&(i.textColor=String(t.get(`textColor`)));let a=mw(e.properties);return a!==void 0&&(i.maxWidth=a),t.has(`textOutline`)&&(i.textOutline=sw(t.get(`textOutline`))),t.has(`showLine`)&&(i.showLine=sw(t.get(`showLine`))),t.has(`anchorDirection`)&&(i.anchorDirection=String(t.get(`anchorDirection`))),t.has(`textOffsetX`)&&(i.textOffsetX=Number(t.get(`textOffsetX`))),t.has(`textOffsetY`)&&(i.textOffsetY=Number(t.get(`textOffsetY`))),t.has(`lineStyle`)&&(i.lineStyle=String(t.get(`lineStyle`))),t.has(`lineWeight`)&&(i.lineWeight=Number(t.get(`lineWeight`))),t.has(`showArrow`)&&(i.showArrow=sw(t.get(`showArrow`))),t.has(`lineTargetDistance`)&&(i.lineTargetDistance=Number(t.get(`lineTargetDistance`))),t.has(`showCircle`)&&(i.showCircle=sw(t.get(`showCircle`))),t.has(`circleSize`)&&(i.circleSize=Number(t.get(`circleSize`))),t.has(`circleStyle`)&&(i.circleStyle=String(t.get(`circleStyle`))),t.has(`circleColor`)&&(i.circleColor=String(t.get(`circleColor`))),i})}function bw(e){return e.map(e=>{let t=cw(e.properties),n={name:e.name};if(t.has(`color`)&&(n.color=String(t.get(`color`))),t.has(`lineWidth`)&&(n.lineWidth=Number(t.get(`lineWidth`))),t.has(`dash`)&&(n.dash=String(t.get(`dash`))),t.has(`interpolation`)&&(n.interpolation=String(t.get(`interpolation`))),t.has(`labelMode`)&&(n.labelMode=String(t.get(`labelMode`))),t.has(`labelText`)&&(n.labelText=String(t.get(`labelText`))),t.has(`valueLabels`)){let e=t.get(`valueLabels`);n.valueLabels=String(e).toLowerCase()===`percent`?`percent`:sw(e)}return t.has(`lineSymbols`)&&(n.lineSymbols=sw(t.get(`lineSymbols`))),t.has(`hidden`)&&(n.hidden=sw(t.get(`hidden`))),t.has(`symbolShape`)&&(n.symbolShape=String(t.get(`symbolShape`))),t.has(`symbolShowOn`)&&(n.symbolShowOn=String(t.get(`symbolShowOn`))),t.has(`symbolStyle`)&&(n.symbolStyle=String(t.get(`symbolStyle`))),t.has(`symbolSize`)&&(n.symbolSize=Number(t.get(`symbolSize`))),t.has(`symbolOpacity`)&&(n.symbolOpacity=Number(t.get(`symbolOpacity`))),n})}function xw(e,t,n){if(!n&&t!==si.Equals&&t!==si.NotEquals)return!0;switch(t){case si.Equals:return e===n;case si.NotEquals:return e!==n;case si.Contains:return e.toLowerCase().includes(n.toLowerCase());case si.GreaterThan:{let t=Number(e.replace(/[,%$€£¥₹]/g,``).trim()),r=Number(n);return!Number.isNaN(t)&&!Number.isNaN(r)&&t>r}case si.LessThan:{let t=Number(e.replace(/[,%$€£¥₹]/g,``).trim()),r=Number(n);return!Number.isNaN(t)&&!Number.isNaN(r)&&t<r}default:return!0}}function Sw(e,t){let n=e.columns.indexOf(t.column);if(n<0||!t.column)return e;let r=e.rows.filter(e=>xw(e[n]??``,t.condition??si.Equals,t.value??``));return{...e,rows:r}}function Cw(e){return Number(A(e).replace(/[,%$€£¥₹]/g,``).trim())||0}function ww(e,t,n){return n===`number`?Cw(e)-Cw(t):n===`date`?(Date.parse(e)||0)-(Date.parse(t)||0):e.localeCompare(t)}function Tw(e){return e.columns?e.columns.split(`,`).map(e=>e.trim()).filter(Boolean):e.column?[e.column]:[]}var Ew={sum:e=>e.reduce((e,t)=>e+t,0),avg:e=>e.reduce((e,t)=>e+t,0)/e.length,min:e=>Math.min(...e),max:e=>Math.max(...e)};function Dw(e,t){return e.split(`,`).map(e=>e.trim()).filter(Boolean).map(e=>{let n=e.lastIndexOf(`:`);if(n<0)return null;let r=e.slice(0,n),i=e.slice(n+1);if(i!==`count`&&!Ew[i])return null;let a=i===`count`?-1:t.indexOf(r);return i!==`count`&&a<0?null:{col:r,fn:i,colIndex:a}}).filter(e=>e!==null)}function Ow(e,t,n){if(e===`count`)return String(t.length);let r=t.map(e=>Cw(e[n]??``));return String(Ew[e](r))}function kw(e,t){let n=Tw({columns:t.groupColumns}).map(t=>e.columns.indexOf(t)).filter(e=>e>=0);if(n.length===0||!t.aggregates)return e;let r=Dw(t.aggregates,e.columns);if(r.length===0)return e;let i=new Map;for(let t of e.rows){let e=n.map(e=>t[e]??``),r=e.join(`\0`),a=i.get(r);a?a.rows.push(t):i.set(r,{key:e,rows:[t]})}return{columns:[...n.map(t=>e.columns[t]),...r.map(e=>`${e.col}_${e.fn}`)],columnTypes:[...n.map(t=>e.columnTypes[t]),...r.map(()=>`number`)],rows:[...i.values()].map(({key:e,rows:t})=>[...e,...r.map(e=>Ow(e.fn,t,e.colIndex))])}}function Aw(e,t){let n=Tw(t);if(n.length===0)return e;let r=e.columns.map((e,t)=>n.includes(e)?-1:t).filter(e=>e>=0);return r.length===e.columns.length?e:{columns:r.map(t=>e.columns[t]),rows:e.rows.map(e=>r.map(t=>e[t])),columnTypes:r.map(t=>e.columnTypes[t])}}var jw=[`string`,`number`,`date`],Mw=[{id:`to-number`,label:`To Number`,description:`Strip non-numeric characters and convert to number`,category:ci.Type,accepts:jw,outputType:`number`},{id:`to-string`,label:`To String`,description:`Keep value as plain text`,category:ci.Type,accepts:jw,outputType:`string`},{id:`to-date`,label:`To Date`,description:`Parse text into an ISO date`,category:ci.Type,accepts:jw,outputType:`date`},{id:`to-boolean`,label:`To Boolean`,description:`Map yes/no, true/false, 1/0 to boolean`,category:ci.Type,accepts:jw,outputType:`string`},{id:`parse-json`,label:`Parse JSON`,description:`Parse JSON string and optionally extract a key`,category:ci.Type,accepts:[`string`],outputType:`string`,params:[`key`]},{id:`trim`,label:`Trim`,description:`Remove leading and trailing whitespace`,category:ci.String,accepts:jw,outputType:`string`},{id:`lowercase`,label:`Lowercase`,description:`Convert all characters to lowercase`,category:ci.String,accepts:jw,outputType:`string`},{id:`uppercase`,label:`Uppercase`,description:`Convert all characters to uppercase`,category:ci.String,accepts:jw,outputType:`string`},{id:`title-case`,label:`Title Case`,description:`Capitalize the first letter of each word`,category:ci.String,accepts:jw,outputType:`string`},{id:`slugify`,label:`Slugify`,description:`Lowercase and replace non-alphanumeric with hyphens`,category:ci.String,accepts:jw,outputType:`string`},{id:`regex-replace`,label:`Regex Replace`,description:`Find and replace using a regular expression`,category:ci.String,accepts:jw,outputType:`string`,params:[`pattern`,`replacement`]},{id:`extract`,label:`Extract Substring`,description:`Extract a portion of text by character position`,category:ci.String,accepts:jw,outputType:`string`,params:[`start`,`end`]},{id:`pad-start`,label:`Pad Start`,description:`Pad the beginning to a fixed length`,category:ci.String,accepts:jw,outputType:`string`,params:[`length`,`char`]},{id:`pad-end`,label:`Pad End`,description:`Pad the end to a fixed length`,category:ci.String,accepts:jw,outputType:`string`,params:[`length`,`char`]},{id:`remove-diacritics`,label:`Remove Diacritics`,description:`Strip accents and diacritical marks`,category:ci.String,accepts:jw,outputType:`string`},{id:`split`,label:`Split into Columns`,description:`Split values by a separator into new columns`,category:ci.String,accepts:jw,outputType:`string`,params:[`separator`,`limit`]},{id:`round`,label:`Round`,description:`Round to a number of decimal places`,category:ci.Numeric,accepts:[`number`],outputType:`number`,params:[`decimals`]},{id:`floor`,label:`Floor`,description:`Round down to the nearest integer`,category:ci.Numeric,accepts:[`number`],outputType:`number`},{id:`ceil`,label:`Ceiling`,description:`Round up to the nearest integer`,category:ci.Numeric,accepts:[`number`],outputType:`number`},{id:`abs`,label:`Absolute Value`,description:`Remove the sign (make positive)`,category:ci.Numeric,accepts:[`number`],outputType:`number`},{id:`clamp`,label:`Clamp`,description:`Constrain values between a min and max`,category:ci.Numeric,accepts:[`number`],outputType:`number`,params:[`min`,`max`]},{id:`log`,label:`Logarithm`,description:`Natural log — compress wide-range values for charting`,category:ci.Numeric,accepts:[`number`],outputType:`number`},{id:`exp`,label:`Exponential`,description:`Raise e to the power of each value`,category:ci.Numeric,accepts:[`number`],outputType:`number`},{id:`normalize`,label:`Normalize (0–1)`,description:`Scale values to 0–1 range for cross-series comparison`,category:ci.Numeric,accepts:[`number`],outputType:`number`},{id:`standardize`,label:`Standardize (z-score)`,description:`Center around mean, scale by std deviation`,category:ci.Numeric,accepts:[`number`],outputType:`number`},{id:`bin`,label:`Bin/Bucket`,description:`Group values into fixed-size buckets`,category:ci.Numeric,accepts:[`number`],outputType:`number`,params:[`size`]},{id:`extract-year`,label:`Extract Year`,description:`Get the four-digit year as a number`,category:ci.Date,accepts:[`date`],outputType:`number`},{id:`extract-month`,label:`Extract Month`,description:`Get the month (1–12) as a number`,category:ci.Date,accepts:[`date`],outputType:`number`},{id:`extract-day`,label:`Extract Day`,description:`Get the day of the month as a number`,category:ci.Date,accepts:[`date`],outputType:`number`},{id:`extract-weekday`,label:`Extract Weekday`,description:`Get the day name (Monday, Tuesday, …)`,category:ci.Date,accepts:[`date`],outputType:`string`},{id:`extract-hour`,label:`Extract Hour`,description:`Get the hour (0–23) as a number`,category:ci.Date,accepts:[`date`],outputType:`number`},{id:`shift-date`,label:`Shift Date`,description:`Add or subtract days, months, or years`,category:ci.Date,accepts:[`date`],outputType:`date`,params:[`amount`,`unit`]},{id:`truncate-date`,label:`Truncate to Period`,description:`Round down to start of week, month, quarter, or year`,category:ci.Date,accepts:[`date`],outputType:`date`,params:[`period`]},{id:`date-diff`,label:`Duration Since`,description:`Days between each date and a reference date`,category:ci.Date,accepts:[`date`],outputType:`number`,params:[`reference`]}],Nw=new Map(Mw.map(e=>[e.id,e]));function Pw(e,t){let n=Nw.get(e);return n?n.accepts.includes(t):!1}function Fw(e){return Nw.get(e)?.outputType??`string`}function Iw(e,t){let n=parseFloat(e);if(Number.isNaN(n))return e;let r=t(n);return Number.isNaN(r)?e:String(r)}function Lw(e,t){let n=new Date(e);return Number.isNaN(n.getTime())?e:t(n)}function Rw(e,t,n){switch(t){case`to-number`:{let t=Number(e.replace(/[^0-9.\-+eE]/g,``));return Number.isNaN(t)?``:String(t)}case`to-string`:return e;case`to-date`:return Lw(e,e=>e.toISOString());case`to-boolean`:{let t=e.toLowerCase().trim();return[`true`,`1`,`yes`,`on`,`y`].includes(t)?`true`:[`false`,`0`,`no`,`off`,`n`,``].includes(t)?`false`:e}case`parse-json`:try{let t=JSON.parse(e);return n.key?String(t[n.key]??``):JSON.stringify(t)}catch{return e}default:return e}}function zw(e,t,n){switch(t){case`trim`:return e.trim();case`lowercase`:return e.toLowerCase();case`uppercase`:return e.toUpperCase();case`title-case`:return e.replace(/\w\S*/g,e=>e.charAt(0).toUpperCase()+e.slice(1).toLowerCase());case`slugify`:return e.toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-|-$/g,``);case`regex-replace`:if(!n.pattern)return e;try{return e.replace(new RegExp(n.pattern,`g`),n.replacement??``)}catch{return e}case`extract`:return e.slice(Number(n.start)||0,n.end?Number(n.end):void 0);case`pad-start`:return e.padStart(Number(n.length)||0,n.char||` `);case`pad-end`:return e.padEnd(Number(n.length)||0,n.char||` `);case`remove-diacritics`:return e.normalize(`NFD`).replace(/[\u0300-\u036f]/g,``);default:return e}}function Bw(e,t,n){switch(t){case`round`:{let t=10**(Number(n.decimals)||0);return Iw(e,e=>Math.round(e*t)/t)}case`floor`:return Iw(e,Math.floor);case`ceil`:return Iw(e,Math.ceil);case`abs`:return Iw(e,Math.abs);case`clamp`:{let t=n.min?Number(n.min):-1/0,r=n.max?Number(n.max):1/0;return Iw(e,e=>Math.min(Math.max(e,t),r))}case`log`:return Iw(e,e=>e>0?Math.log(e):NaN);case`exp`:return Iw(e,Math.exp);case`bin`:{let t=Number(n.size)||1;return Iw(e,e=>Math.floor(e/t)*t)}default:return e}}function Vw(e,t,n){switch(t){case`extract-year`:return Lw(e,e=>String(e.getFullYear()));case`extract-month`:return Lw(e,e=>String(e.getMonth()+1));case`extract-day`:return Lw(e,e=>String(e.getDate()));case`extract-weekday`:return Lw(e,e=>e.toLocaleDateString(`en`,{weekday:`long`}));case`extract-hour`:return Lw(e,e=>String(e.getHours()));case`shift-date`:return Lw(e,e=>{let t=Number(n.amount)||0,r=n.unit||`days`;return r===`years`?e.setFullYear(e.getFullYear()+t):r===`months`?e.setMonth(e.getMonth()+t):e.setDate(e.getDate()+t),e.toISOString()});case`truncate-date`:return Lw(e,e=>{let t=n.period||`month`;return t===`year`?new Date(e.getFullYear(),0,1).toISOString():t===`quarter`?new Date(e.getFullYear(),Math.floor(e.getMonth()/3)*3,1).toISOString():t===`month`?new Date(e.getFullYear(),e.getMonth(),1).toISOString():t===`week`?(e.setDate(e.getDate()-e.getDay()),e.setHours(0,0,0,0),e.toISOString()):e.toISOString()});case`date-diff`:{let t=new Date(n.reference||new Date().toISOString());return Number.isNaN(t.getTime())?e:Lw(e,e=>String(Math.round((e.getTime()-t.getTime())/864e5)))}default:return e}}function Hw(e,t,n){return t.startsWith(`to-`)||t===`parse-json`?Rw(e,t,n):new Set([`round`,`floor`,`ceil`,`abs`,`clamp`,`log`,`exp`,`bin`]).has(t)?Bw(e,t,n):t.startsWith(`extract-`)||t.startsWith(`shift-`)||t.startsWith(`truncate-`)||t===`date-diff`?Vw(e,t,n):zw(e,t,n)}function Uw(e,t){let n=e.rows.map(e=>{let n=[...e];return n[t]=``,n});return{columns:[...e.columns],rows:n,columnTypes:[...e.columnTypes]}}function Ww(e,t,n){let r=n.separator||`,`,i=n.limit?Number(n.limit):void 0,a=0,o=e.rows.map(e=>{let n=e[t].split(r),o=i?n.slice(0,i):n;return a=Math.max(a,o.length),o}),s=[...e.columns],c=[...e.columnTypes],l=[];for(let e=0;e<a;e++)l.push(`${n.column}_${e+1}`);return s.splice(t,1,...l),c.splice(t,1,...Array(a).fill(`string`)),{columns:s,rows:e.rows.map((e,n)=>{let r=o[n],i=[...e],s=[...r,...Array(a-r.length).fill(``)];return i.splice(t,1,...s),i}),columnTypes:c}}function Gw(e,t,n){let r=e.rows.map(e=>parseFloat(e[t])).filter(e=>!Number.isNaN(e));if(r.length===0)return e;let i=e.rows.map(e=>[...e]),a=[...e.columnTypes];if(a[t]=`number`,n===`normalize`){let e=Math.min(...r),n=Math.max(...r)-e;for(let r of i){let i=parseFloat(r[t]);r[t]=Number.isNaN(i)?r[t]:String(n===0?0:(i-e)/n)}}else{let e=r.reduce((e,t)=>e+t,0)/r.length,n=r.reduce((t,n)=>t+(n-e)**2,0)/r.length,a=Math.sqrt(n);for(let n of i){let r=parseFloat(n[t]);n[t]=Number.isNaN(r)?n[t]:String(a===0?0:(r-e)/a)}}return{columns:[...e.columns],rows:i,columnTypes:a}}function Kw(e,t){let n=e.columns.indexOf(t.column);if(n<0||!t.column||!t.operation)return e;let r=t.operation,i=e.columnTypes[n];if(!Pw(r,i))return Uw(e,n);if(r===`split`)return Ww(e,n,t);if(r===`normalize`||r===`standardize`)return Gw(e,n,r);let a=e.rows.map(e=>[...e]);for(let e of a)e[n]=Hw(e[n],r,t);let o=[...e.columnTypes];return o[n]=Fw(r),{columns:[...e.columns],rows:a,columnTypes:o}}function qw(e,t){let n=e.columns.indexOf(t.column);if(n<0||!t.column||!t.newName)return e;let r=[...e.columns];return r[n]=t.newName,{...e,columns:r}}function Jw(e,t){let n=Tw(t);if(n.length===0)return e;let r=n.map(t=>e.columns.indexOf(t)).filter(e=>e>=0);if(r.length===0)return e;let i=t.direction===Xr.Descending?-1:1,a=t.operation;if(a&&r.length>1){let t=[...e.rows].sort((e,t)=>{let n=r.map(t=>Cw(e[t]??``)),o=r.map(e=>Cw(t[e]??``)),s,c;return a===`avg`?(s=n.reduce((e,t)=>e+t,0)/n.length,c=o.reduce((e,t)=>e+t,0)/o.length):(s=n.reduce((e,t)=>e+t,0),c=o.reduce((e,t)=>e+t,0)),i*(s-c)});return{...e,rows:t}}let o=[...e.rows].sort((t,n)=>{for(let a of r){let r=e.columnTypes[a]??`string`,o=ww(t[a]??``,n[a]??``,r);if(o!==0)return i*o}return 0});return{...e,rows:o}}function Yw(e){if(e.rows.length===0||e.columns.length===0)return e;let t=[`Field`,...e.rows.map(e=>e[0]??``)],n=[],r=[`string`];for(let t=1;t<e.columns.length;t++){let r=[e.columns[t]];for(let n=0;n<e.rows.length;n++)r.push(e.rows[n][t]??``);n.push(r)}for(let t=0;t<e.rows.length;t++){let e=n.map(e=>e[t+1]??``).filter(e=>e.length>0);e.length>0&&e.every(e=>!Number.isNaN(Number(e.replace(/[,%$€£¥₹]/g,``).trim()))&&e.trim().length>0)?r.push(`number`):r.push(`string`)}return{columns:t,rows:n,columnTypes:r}}var Xw=[/^\d{4}-\d{2}-\d{2}$/,/^\d{4}-\d{2}$/,/^\d{4}$/,/^\d{1,2}\/\d{1,2}\/\d{2,4}$/,/^\d{1,2}-\d{1,2}-\d{2,4}$/,/^(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s+\d{1,2},?\s+\d{4}$/i,/^\d{4}\/\d{2}\/\d{2}$/,/^\d{4}\/\d{2}$/,/^Q[1-4]\s+\d{4}$/],Zw=/^"((?:[^"\\]|\\.)*)"\s*=\s*(.+)$/,Qw=/^"((?:[^"\\]|\\.)*)"\s*=\s*"([^"]*)"$/;function $w(e){if(!e)return!1;for(let t of Xw)if(t.test(e))return/^\d{4}(-\d{2})?$/.test(e)||/^\d{4}\/\d{2}$/.test(e)||/^Q[1-4]\s+\d{4}$/.test(e)?!0:!Number.isNaN(Date.parse(e));return!1}function eT(e){let t=e.match(/^[<>≤≥~]\s*(.+)$/);if(t){let e=A(t[1]).replace(/[,%$€£¥₹]/g,``).trim();if(e.length>0&&!Number.isNaN(Number(e)))return t[1].trim()}return e}function tT(e){if(!e)return!1;let t=A(eT(e)).replace(/[,%$€£¥₹]/g,``).trim();return t.length>0&&!Number.isNaN(Number(t))}function nT(e,t){return e.map((e,n)=>{let r=t.map(e=>e[n]??``).filter(e=>e.length>0);return r.length===0?`string`:r.every($w)?`date`:r.every(tT)?`number`:`string`})}function rT(e){let t=e.split(`
|
|
344
|
-
`).map(e=>e.trim()).filter(Boolean);if(t.length===0)return{columns:[],rows:[],columnTypes:[]};let n=t[0]?.match(/^series\s*=\s*(.+)$/);if(n){let e=R(n[1].trim()),r=[];for(let e=1;e<t.length;e++){let n=t[e].match(Qw),i=n??t[e].match(Zw);i&&r.push({cells:R(i[2]).map(L),label:I(i[1]),legacy:n!==null})}let i=e.length>1||!r.some(e=>e.legacy)?e.map(L):L(e[0]).split(`,`).map(e=>e.trim());return iT([`label`,...i],r.map(e=>[e.label,...i.map((t,n)=>e.cells[n]??``)]))}let r=[`label`,`value`],i=[];for(let e of t){let t=e.match(Zw);t&&i.push([I(t[1]),L(t[2])])}return iT(r,i)}function iT(e,t){return{columns:e,rows:t,columnTypes:nT(e,t)}}function aT(e){return/^-?\d+(\.\d+)?%?$/.test(e)?e:F(e)}function oT(e,t){return e.length<=2?t.map(e=>{let t=e[0]??``,n=e[1]??``;return`${F(t)} = ${aT(n)}`}).join(`
|
|
345
|
-
`):[
|
|
346
|
-
`)}function sT(e){let t=e=>e==null||!Number.isFinite(e)?``:String(e),n=[`label`,...e.series?e.series.map(e=>e.name):[`value`]],r=e.labels.map((n,r)=>[n,...e.series?e.series.map(e=>t(e.values[r])):[t(e.values[r])]]);return{columns:n,rows:r,columnTypes:nT(n,r)}}var cT=new Set(Object.values(oi));function lT(e,t,n,r){let i={columns:[...t],rows:n.map(e=>[...e]),columnTypes:[...r]};for(let t of e)switch(t.type){case oi.Sort:i=Jw(i,t.config);break;case oi.Filter:i=Sw(i,t.config);break;case oi.HideColumns:i=Aw(i,t.config);break;case oi.Transpose:i=Yw(i);break;case oi.Parse:i=Kw(i,t.config);break;case oi.Rename:i=qw(i,t.config);break;case oi.GroupBy:i=kw(i,t.config)}return i}function uT(e){return e.filter(e=>cT.has(e.transformType)).map(e=>{let t={};for(let[n,r]of cw(e.properties))t[n]=String(r);return{type:e.transformType,config:t}})}function dT(e,t){let n=uT(t);if(n.length===0)return e;let r=rT(e);if(r.columns.length===0)return e;let i=lT(n,r.columns,r.rows,r.columnTypes);return oT(i.columns,i.rows)}function fT(e,t){let n=uT(t);if(n.length===0||e.labels.length===0)return e;let r=sT(e),i=lT(n,r.columns,r.rows,r.columnTypes);return re(oT(i.columns,i.rows))}var pT=new Set;function mT(e,t,n){let r=t;for(let t of e)t.transformType===`sort`?r=Zr.Total:!cT.has(t.transformType)&&!pT.has(t.transformType)&&(pT.add(t.transformType),console.warn(`[blueprint-chart] Unknown transform "${t.transformType}" in ${n}; ignored.`));return r}function hT(e){let t=t=>{let n=e.get(t);return n==null?void 0:String(n)||void 0},n=e.get(`transparentBackground`),r={title:t(`title`),description:t(`description`),source:t(`source`),sourceUrl:t(`sourceUrl`),byline:t(`byline`),note:t(`note`),padding:t(`padding`),transparentBackground:sw(n)||void 0};return Object.values(r).some(e=>e!==void 0)?r:void 0}function gT(e){let t=cw(e.properties),n=re(dT(e.data?dw(e.data):``,e.transforms)),r=t.get(`sort`),i=r==null?void 0:String(r),a=i===Xr.Ascending||i===Xr.Descending?i:void 0,o=t.get(`theme`),s=t.get(`sortMode`),c;return(s===Zr.Total||s===Zr.WithinGroups||s===Zr.None)&&(c=s),c=mT(e.transforms,c,`chart`),{chartType:e.chartType,data:n,properties:e.properties,frame:hT(t),colorizes:hw(e.colorizes),highlights:gw(e.highlights),areaFills:_w(e.areaFills),annotations:yw(e.annotations),seriesOverrides:bw(e.series),scenes:e.scenes,sort:a,sortMode:c,theme:o==null?void 0:String(o)||void 0}}var _T=Object.create(null);function vT(e){if(!_T[e]){let t={};for(let n of ES(e))n.default!==void 0&&(t[n.key]=n.default);_T[e]=t}return{..._T[e]}}function yT(e,t){let n=vT(e);return t.colors?.length?{...n,colorPalette:void 0,...t}:{...n,...t}}var bT=[`verticalLabelPosition`,`horizontalLabelPosition`];function xT(e,t,n){let r=vT(t),i={...e};for(let e of bT)n[e]===void 0&&r[e]!==void 0&&r[e]!==zr.Off&&(i[e]=r[e]);return i}var ST=new Set;function CT(e,t,n){let r=t;for(let t of e)t.transformType===`sort`?r=Zr.Total:!cT.has(t.transformType)&&!ST.has(t.transformType)&&(ST.add(t.transformType),console.warn(`[blueprint-chart] Unknown transform "${t.transformType}" in ${n}; ignored.`));return r}function wT(){return{properties:new Map,chartTypeOptions:{},colorizes:[],highlights:[],areaFills:[],seriesOverrides:[],transforms:[]}}function TT(e,t,n){let r=wT();for(let i=0;i<=t;i++){let a=e[i],o=cw(a.properties),s=o.get(`type`);s&&(r.chartType=s);let c=r.chartType??n;a.data&&(r.data=a.data);let l=lw(c,a.properties);r.chartTypeOptions={...r.chartTypeOptions,...l},a.colorizes.length>0?r.colorizes=a.colorizes:a.data&&(r.colorizes=[]),i===t&&(r.highlights=a.highlights),a.areaFills.length>0&&(r.areaFills=a.areaFills),a.series.length>0&&(r.seriesOverrides=a.series),a.transforms.length>0&&(r.transforms=[...r.transforms,...a.transforms]);for(let[e,t]of o)r.properties.set(e,t)}return r}function ET(e,t,n){return n<e?!1:t===`always`||n<=e+(typeof t==`number`?t:0)}function DT(e,t){let n=e.options??(e.properties?yT(e.chartType,lw(e.chartType,e.properties)):{}),r={chartType:e.chartType,data:e.data,options:n,frame:e.frame,colorizes:e.colorizes??[],highlights:e.highlights??[],areaFills:e.areaFills??[],annotations:(e.annotations??[]).map((e,t)=>({...e,key:e.key??`base:${t}:${e.kind}`})),seriesOverrides:e.seriesOverrides??[],sort:e.sort,sortMode:e.sortMode,theme:e.theme};if(t==null||!e.scenes||t<0||t>=e.scenes.length)return r;let i=TT(e.scenes,t,e.chartType),a=i.chartType??e.chartType,o=i.data?re(dw(i.data)):fT(r.data,i.transforms),s=Object.keys(i.chartTypeOptions).length>0?yT(a,{...n,...i.chartTypeOptions}):n,c=a!==e.chartType&&!e.options&&e.properties?xT(s,a,{...lw(a,e.properties),...i.chartTypeOptions}):s,l=i.colorizes.length>0?hw(i.colorizes):i.data?[]:r.colorizes,u=t==null?r.highlights:gw(i.highlights),d=i.areaFills.length>0?_w(i.areaFills):r.areaFills,f=(e.annotations??[]).map((e,t)=>({anchor:-1,key:e.key??`base:${t}:${e.kind}`,config:e}));for(let n=0;n<=t;n++)yw(e.scenes[n].annotations).forEach((e,t)=>{f.push({anchor:n,key:e.key??`s${n}:${t}:${e.kind}`,config:e})});let p=f.filter(({anchor:e,config:n})=>ET(e,n.repeat,t)).map(({key:e,config:t})=>({...t,key:e})),m=i.seriesOverrides.length>0?bw(i.seriesOverrides):r.seriesOverrides,h=i.properties.get(`sortMode`),g=h===Zr.Total||h===Zr.WithinGroups||h===Zr.None?h:void 0,_=CT(i.transforms,g??r.sortMode,`scene ${t}`),v=[`title`,`description`,`source`,`sourceUrl`,`byline`,`note`],y={};for(let e of v){let t=i.properties.get(e);typeof t==`string`&&(y[e]=t)}let b=Object.keys(y).length>0?{...r.frame,...y}:r.frame;return{...r,chartType:a,data:o,options:c,frame:b,colorizes:l,highlights:u,areaFills:d,annotations:p,seriesOverrides:m,sortMode:_}}var OT=new WeakMap;function kT(e){let t=OT.get(e);if(!(!t||t.size===0)){for(let n of t)e.style[n]=``;t.clear()}}function AT(e,t){let n=OT.get(e);n||(n=new Set,OT.set(e,n)),n.add(t)}function jT(e,t,n){if(kT(e),n.ignoreLayout||!t)return{constrained:!1};let r=cw(t),i=r.get(`heightMode`),a=r.get(`aspectRatio`),o=r.get(`fixedHeight`),s=!1;if(i===`aspect-ratio`&&a){let t=String(a).split(`:`).map(Number);t.length===2&&t[0]>0&&t[1]>0&&(e.style.aspectRatio=`${t[0]} / ${t[1]}`,e.style.height=`auto`,AT(e,`aspectRatio`),AT(e,`height`),s=!0)}else i===`fixed`&&o&&(e.style.height=`${o}px`,AT(e,`height`),s=!0);return s&&(e.style.display=`flex`,e.style.flexDirection=`column`,e.style.overflow=`hidden`,AT(e,`display`),AT(e,`flexDirection`),AT(e,`overflow`)),{constrained:s}}var MT=new WeakMap;function NT(e){e.querySelectorAll(`[data-bc-fade-overlay]`).forEach(e=>{typeof e.getAnimations==`function`&&e.getAnimations().forEach(e=>e.cancel()),e.remove()})}function PT(e,t,n){if(!n)return null;let r=MT.get(e);return!r||r===t?null:(NT(e),cg(e))}function FT(e,t,n){if(MT.set(e,t),n){let t=e.querySelector(`.bc-frame .bc-frame-body`);t&&sg(t),lg(e,n)}}function IT(e){MT.delete(e),NT(e)}var LT=`http://www.w3.org/2000/svg`;function RT(e){return e.replace(/\s+/g,` `).trim()}function zT(e,t){let n=t.series??[],r=(n.length>0?n.flatMap(e=>e.values):t.values).filter(e=>Number.isFinite(e));return`${e} of ${`${t.labels.length} categor${t.labels.length===1?`y`:`ies`}`}${n.length>0?` across ${n.length} series (${n.map(e=>e.name).join(`, `)})`:``}${r.length>0?`, values from ${Math.min(...r)} to ${Math.max(...r)}`:``}.`}function BT(e,t,n){let r=`${e.replace(/-/g,` `)} chart`,i=t?.title?RT(t.title):``,a=t?.description?RT(t.description):``;return{label:i||r,description:[a,zT(r,n)].filter(Boolean).join(` `)}}function VT(e,t,n){let r=Array.from(e.children).find(e=>e.tagName===t),i=r??e.ownerDocument.createElementNS(LT,t);i.textContent=n,r||e.insertBefore(i,e.firstChild)}function HT(e,t){e.setAttribute(`role`,`img`),e.setAttribute(`aria-label`,t.label),VT(e,`desc`,t.description),VT(e,`title`,t.label)}function UT(e){return(e.querySelector(`.bc-frame-body`)??e).querySelector(`svg`)}function WT(e,t,n){let r=UT(e);r&&t.accessibility&&HT(r,t.accessibility);let i=e.querySelector(`.bc-frame`);if(!i)return;let a=[];i.classList.forEach(e=>{e.startsWith(`bc-theme-`)&&a.push(e)});for(let e of a)i.classList.remove(e);t.theme&&i.classList.add(`bc-theme-${t.theme}`),n.constrained&&i.classList.add(`bc-frame--constrained`)}function GT(e,t,n={}){if(n.transition||(zy(e).interrupt(),e.replaceChildren(),IT(e)),t.data.labels.length===0){n.transition&&(zy(e).interrupt(),e.replaceChildren(),IT(e));return}let r=t;if(n.stripColors){let e={...t};if(t.properties&&(e.properties=t.properties.filter(e=>e.key!==`colors`&&e.key!==`colorPalette`)),t.options){let{colors:n,colorPalette:r,...i}=t.options;e.options=i}r=e}let i=jT(e,r.properties,n),a=DT(r,n.sceneIndex),o=TS(a.chartType);if(!o)return;Jg(e,a.chartType);let s=PT(e,a.chartType,!!n.transition);s&&e.replaceChildren();let c=wr(e),l=ow(a.options,c,a.chartType),u;if(n.thumbnail)u=null;else{let e=a.frame?.padding??n.padding??`16px`;u={...a.frame??{},padding:e}}let d=zy(e);n.transition&&d.beginCommit(),o(e,a.data,{frame:u,sort:a.sort,...l,sortMode:a.sortMode??l.sortMode,colorizes:a.colorizes.length>0?a.colorizes:void 0,highlights:a.highlights.length>0?a.highlights:void 0,areaFills:a.areaFills.length>0?a.areaFills:void 0,annotations:a.annotations.length>0?a.annotations:void 0,seriesOverrides:a.seriesOverrides.length>0?a.seriesOverrides:void 0},!!n.transition),n.transition&&d.commit({duration:og(),mode:n.transitionMode}),WT(e,{theme:n.theme??a.theme,accessibility:BT(a.chartType,u,a.data)},i),FT(e,a.chartType,s)}function KT(e,t,n){let r=document.createElement(`div`);r.style.cssText=`color: #888; font-family: monospace; padding: 0.75rem; white-space: pre-wrap;`,r.textContent=`Blueprint Chart: ${t}\n${n}`,e.replaceChildren(r)}function qT(e,t,n){if(!t){n?.transition||e.replaceChildren();return}let r;try{r=ee(t)}catch(t){KT(e,`could not parse chart`,t instanceof Error?t.message:String(t));return}try{GT(e,gT(r),n)}catch(t){KT(e,`could not render chart`,t instanceof Error?t.message:String(t))}}function JT(e,t,n){let r=0,i=!1,a=document.createElement(`nav`);a.className=`blueprint-chart-scenes`;let o=document.createElement(`button`);o.className=`blueprint-chart-scenes-prev`,o.textContent=`Previous`;let s=document.createElement(`button`);s.className=`blueprint-chart-scenes-next`,s.textContent=`Next`;let c=document.createElement(`span`);c.className=`blueprint-chart-scenes-counter`,a.appendChild(o),a.appendChild(c),a.appendChild(s),t.length>0&&e.appendChild(a);function l(){if(t.length===0){c.textContent=``;return}c.textContent=`${r+1} / ${t.length}`}function u(e){if(i||t.length===0||!Number.isFinite(e))return;let a=(Math.floor(e)%t.length+t.length)%t.length;r=a,l(),n(t[a],a)}return o.addEventListener(`click`,()=>u(r-1)),s.addEventListener(`click`,()=>u(r+1)),l(),{get currentScene(){return r},get totalScenes(){return t.length},next(){u(r+1)},previous(){u(r-1)},goTo:u,destroy(){i||(i=!0,a.remove())}}}var YT=JT;return document.readyState===`loading`?document.addEventListener(`DOMContentLoaded`,b):b(),e.createSceneController=JT,e.createStepController=YT,e.initBlueprint=b,e.renderBpc=qT,e})({});
|
|
343
|
+
`,document.head.appendChild(e)}function LS(e){let t=e?Ng(e):null,n=e=>t?t(e):String(e);return e=>e.series?`${e.series} – ${e.label}: ${n(e.value)}`:`${e.label}: ${n(e.value)}`}function RS(e,t){let{width:n,height:r,points:i,tooltip:a=!0,nearest:o=`x`,crosshair:s=!1,crosshairDirection:c=ri.Both,crosshairStyle:l=ii.Dashed,crosshairColor:u=`#999`,format:d=LS(t.numberFormat),container:f}=t;if(i.length===0){let e=()=>{};return f&&PS.set(f,e),e}let p=l===ii.Solid?`none`:l===ii.Dotted?`2,2`:`4,3`,m=[...new Set(i.map(e=>e.cx))].sort((e,t)=>e-t),h=Q(e),g=null;a&&(IS(),g=document.createElement(`div`),g.className=NS,document.body.appendChild(g));let _=`.bc-annotations`,v=!h.select(_).empty(),y=e=>v?h.insert(e,_):h.append(e),b=s&&(c===ri.Both||c===ri.Vertical),x=s&&(c===ri.Both||c===ri.Horizontal),S=null,C=null;b&&(S=y(`line`).attr(`class`,`bc-crosshair bc-crosshair-v`).attr(`y1`,0).attr(`y2`,r).style(`stroke`,u).attr(`stroke-width`,1).style(`stroke-dasharray`,p).attr(`pointer-events`,`none`).style(`display`,`none`)),x&&(C=y(`line`).attr(`class`,`bc-crosshair bc-crosshair-h`).attr(`x1`,0).attr(`x2`,n).style(`stroke`,u).attr(`stroke-width`,1).style(`stroke-dasharray`,p).attr(`pointer-events`,`none`).style(`display`,`none`));let w=y(`circle`).attr(`class`,`bc-proximity-dot`).attr(`r`,6).attr(`fill`,`none`).attr(`stroke`,`#333`).attr(`stroke-width`,1).attr(`opacity`,.45).attr(`pointer-events`,`none`).style(`display`,`none`),T=y(`rect`).attr(`class`,`bc-proximity-overlay`).attr(`width`,n).attr(`height`,r).attr(`fill`,`none`).attr(`pointer-events`,`all`),E=o===`xy`?wd.from(i,e=>e.cx,e=>e.cy):null;function D(e,t){if(E)return i[E.find(e,t)];if(m.length===0)return null;let n=Fi(m,e),r=m[n],a=i.filter(e=>e.cx===r);if(a.length===0)return null;let o=a[0],s=Math.abs(a[0].cy-t);for(let e=1;e<a.length;e++){let n=Math.abs(a[e].cy-t);n<s&&(o=a[e],s=n)}return o}let O=t=>{let[n,r]=Ds(t,e),i=D(n,r);i&&(w.attr(`cx`,i.cx).attr(`cy`,i.cy).attr(`r`,i.r??6).attr(`stroke`,i.color).style(`display`,null),g&&(g.textContent=d(i),g.style.display=`block`,Vy(w.node(),g,{placement:`top`,middleware:[Ry(8),By(),zy()]}).then(({x:e,y:t})=>{g&&(g.style.left=`${e}px`,g.style.top=`${t}px`)})),S&&S.attr(`x1`,i.cx).attr(`x2`,i.cx).style(`display`,null),C&&C.attr(`y1`,i.cy).attr(`y2`,i.cy).style(`display`,null))},k=()=>{w.style(`display`,`none`),g&&(g.style.display=`none`),S&&S.style(`display`,`none`),C&&C.style(`display`,`none`)},A=T.node();A.addEventListener(`mousemove`,O),A.addEventListener(`mouseleave`,k);let j=()=>{A.removeEventListener(`mousemove`,O),A.removeEventListener(`mouseleave`,k),T.remove(),w.remove(),g&&=(g.remove(),null),S&&S.remove(),C&&C.remove(),f&&PS.get(f)===j&&PS.delete(f)};return f&&PS.set(f,j),j}var zS={circle:ph,square:vh,diamond:_h,triangle:Th,triangleDown:Dh??Th,cross:mh,star:Ch};function BS(e,t,n){switch(n){case Xr.First:return e===0;case Xr.Last:return e===t-1;case Xr.FirstLast:return e===0||e===t-1;case Xr.All:default:return!0}}function VS(e,t,n,r,i=!1){let a=r.symbol??Yr.Circle,o=r.showOn??Xr.FirstLast,s=r.style??Zr.Filled,c=r.size&&r.size>0?r.size:3.5,l=r.opacity??1,u=`var(--bs-body-bg, #fff)`,d=t.filter(e=>BS(e.index,n,o)),f=i?g_():0;if(a===Yr.Circle){e.selectAll(`path.bc-symbol`).remove();let t=e.selectAll(`circle.bc-symbol`).data(d).join(e=>e.append(`circle`).attr(`class`,`bc-symbol`).attr(`cx`,e=>e.cx).attr(`cy`,e=>e.cy).attr(`r`,c).attr(`fill`,e=>s===Zr.Filled?e.color:u).attr(`stroke`,e=>e.color).attr(`stroke-width`,s===Zr.Hollow?1.5:0).attr(`opacity`,l),e=>e,e=>e.remove());(i?t.transition().duration(f):t).attr(`cx`,e=>e.cx).attr(`cy`,e=>e.cy).attr(`r`,c).attr(`fill`,e=>s===Zr.Filled?e.color:u).attr(`stroke`,e=>e.color).attr(`stroke-width`,s===Zr.Hollow?1.5:0).attr(`opacity`,l)}else{let t=zS[a]??ph,n=Math.PI*c*c,r=Oh().type(t).size(n);e.selectAll(`circle.bc-symbol`).remove();let o=e.selectAll(`path.bc-symbol`).data(d).join(e=>e.append(`path`).attr(`class`,`bc-symbol`).attr(`transform`,e=>`translate(${e.cx},${e.cy})`).attr(`d`,r).attr(`fill`,e=>s===Zr.Filled?e.color:u).attr(`stroke`,e=>e.color).attr(`stroke-width`,s===Zr.Hollow?1.5:0).attr(`opacity`,l),e=>e,e=>e.remove());(i?o.transition().duration(f):o).attr(`transform`,e=>`translate(${e.cx},${e.cy})`).attr(`d`,r).attr(`fill`,e=>s===Zr.Filled?e.color:u).attr(`stroke`,e=>e.color).attr(`stroke-width`,s===Zr.Hollow?1.5:0).attr(`opacity`,l)}}function HS(e,t,n={},r=!1){h_(r),FS(e);let i=[],a=[],o=null,s=null,c,l,u,d=av.for(e);if(r){let t=Vb(e);l=t?.margin,u=t?.plotRect,d.detach(),t?.chartType===`line`?(i=Array.from(e.querySelectorAll(`.bc-frame .bc-area`)),a=Array.from(e.querySelectorAll(`.bc-frame .bc-line`)),o=e.querySelector(`.bc-frame .bc-symbols`)):t&&(s=v_(e)),c=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of Xy(t))c.set(e,n);e.replaceChildren()}let{body:f}=Ag(e,n.frame),p=u_(f).width,m=a_(t.values,n.verticalAxis?.range,n.verticalAxis?.numberFormat,n.verticalAxis?.scaleType),h=c_(p,n.verticalAxis?.labelPosition,n.horizontalAxis?.labelPosition,n.verticalAxis?.direction,m),g=H_(t.labels,Math.max(0,p-(h.left??50)-(h.right??20)),n.horizontalAxis);g!==void 0&&(h.bottom=g);let{chartArea:_,width:v,height:y,margin:b}=f_(f,h),x=Yg(l,b),S=wi(t.labels,n.horizontalAxis?.range),C=S.map(e=>t.labels[e]),w=S.map(e=>t.values[e]),T=C.map((e,t)=>({label:e,value:w[t]})),E=T.filter(e=>Number.isFinite(e.value)),D=nf().domain(C).range([0,v]).padding(n.edgePadding?.6:0),O=D,k=e=>D(e.label)??0,A=n.verticalAxis?.scaleType===`log`,[j,M]=Ei(w,n.verticalAxis?.range,n.verticalAxis?.scaleType,!1),N=A?Mf().domain([j,M]).nice().range([y,0]):_f().domain([j,M]).nice().range([y,0]),P=N.domain(),F=P[0]<0&&P[1]>0?N(0):void 0;d.attach(_,x),d.update({vertical:{scale:N,height:y,options:{...n.verticalAxis,gridWidth:v,topPadding:b.top}},horizontal:{scale:O,height:y,options:{...n.horizontalAxis,width:v,zeroY:F}}});let I=_.ownerSVGElement,L=Gb(I,e,`plot`,{x:-1,y:-1,width:v+2,height:y+2}),R=Q(_).append(`g`).attr(`clip-path`,`url(#${L})`),z=R.node(),B=n.colors?.[0]??`#4e79a7`,V=MS(n.interpolation),H=n.areaFill??!1,ee=n.areaFillOpacity??.2,te=e=>Number.isFinite(e.value),ne=lh().curve(V).defined(te).x(e=>k(e)).y0(y).y1(e=>N(e.value)),re=ch().curve(V).defined(te).x(e=>k(e)).y(e=>N(e.value)),ie=Q(z).append(`g`).node(),ae=Q(z).append(`g`).node();if(r){for(let e of i)ie.appendChild(e);for(let e of a)ae.appendChild(e)}let U=Zb(e),oe=[{name:`line`,points:T}];lx(U,{role:`series-area`,parent:ie,selector:`.bc-area`,data:H?oe:[],key:e=>e.name,insert:e=>e.append(`path`).attr(`class`,`bc-area`),attrs:e=>({d:ne(e.points)??``,fill:B,opacity:ee})}),lx(U,{role:`series-line`,parent:ae,selector:`.bc-line`,data:oe,key:e=>e.name,insert:e=>e.append(`path`).attr(`class`,`bc-line`),attrs:e=>({d:re(e.points)??``,fill:`none`,stroke:B})}),Q(z).append(`g`).selectAll(`.bc-dot`).data(E,e=>e.label).enter().append(`circle`).attr(`class`,`bc-dot`).attr(`cx`,e=>k(e)).attr(`cy`,e=>N(e.value)).attr(`r`,3).attr(`fill`,B).attr(`fill-opacity`,0).attr(`stroke-opacity`,0).attr(`pointer-events`,`none`);let se={left:b.left,top:b.top,width:v+2,height:y+2};if(_x(U,{svg:I,clipId:L,group:_,from:u,to:se,active:r&&(i.length>0||a.length>0)}),n.annotations?.length&&Lb(_,n.annotations,{scaleX:O,scaleY:N,data:T,width:v,height:y,backgroundColor:Er(e),transition:r,priorAnnotations:c}),(n.tooltips||n.crosshair)&&RS(_,{width:v,height:y,points:E.map(e=>({cx:k(e),cy:N(e.value),label:e.label,value:e.value,color:B})),tooltip:n.tooltips,crosshair:n.crosshair,crosshairDirection:n.crosshairDirection,crosshairStyle:n.crosshairStyle,crosshairColor:n.crosshairColor,numberFormat:n.verticalAxis?.numberFormat,container:e}),n.valueLabels){let e=Q(_).insert(`g`,()=>z.nextSibling),t=e=>Fx(String(e.value),k(e),N(e.value),{width:v,height:y,margin:b});e.selectAll(`.bc-value-label`).data(E,e=>e.label).enter().append(`text`).attr(`class`,`bc-value-label`).attr(`x`,e=>t(e).x).attr(`y`,e=>t(e).y).attr(`text-anchor`,`middle`).attr(`font-size`,`11px`).attr(`fill`,`currentColor`).text(e=>String(e.value))}if(n.lineSymbols){let e=T.map((e,t)=>({cx:k(e),cy:N(e.value),color:B,index:t})).filter(e=>Number.isFinite(e.cy)),t;o?(_.appendChild(o),t=Q(o)):t=Q(_).append(`g`).attr(`class`,`bc-symbols`),VS(t,e,T.length,n.lineSymbols,r)}Hb(e,{chartType:`line`,margin:b,plotRect:se}),s&&(__(R.node()),y_(e,s))}var US=28,WS=18,GS=20,KS=12,qS=.3;function JS(e,t,n,r=US){if(e.length===0)return[];if(e.length===1)return[Math.max(t,Math.min(n,e[0]))];let i=e.length,a=n-t,o=(i-1)*r>a?Math.max(0,a/(i-1)):r,s=[...e];for(let e=0;e<10;e++){for(let e=1;e<s.length;e++)s[e]-s[e-1]<o&&(s[e]=s[e-1]+o);s[s.length-1]>n&&(s[s.length-1]=n);for(let e=s.length-2;e>=0;e--)s[e+1]-s[e]<o&&(s[e]=s[e+1]-o);s[0]<t&&(s[0]=t)}return s}function YS(e,t,n){let{outerRadius:r,fontSize:i=12,bgColor:a=`#fff`}=n,o=r+2,s=o+WS,c=US/s,l=[],u=[];for(let e of t){let t=(e.startAngle+e.endAngle)/2;t<Math.PI?u.push({...e,midAngle:t}):l.push({...e,midAngle:t})}function d(t,n){if(t.length===0)return;t.sort((e,t)=>e.midAngle-t.midAngle);let r=n?.05:Math.PI+.05,l=n?Math.PI-.05:2*Math.PI-.05,u=JS(t.map(e=>e.midAngle),r,l,c),d=n?1:-1,f=e.append(`g`).attr(`class`,`bc-arc-labels`);t.forEach((e,t)=>{let r=e.showLabel!==!1,c=e.showValue!==!1;if(!r&&!c)return;let l=u[t]-Math.PI/2,p=Math.cos(l)*o,m=Math.sin(l)*o,h=Math.cos(l)*s,g=Math.sin(l)*s,_=h+d*GS;f.append(`polyline`).attr(`class`,`bc-arc-label-line`).attr(`points`,`${p},${m} ${h},${g} ${_},${g}`).attr(`fill`,`none`).attr(`stroke`,`var(--bc-text-color, #999)`).attr(`stroke-width`,1).attr(`opacity`,.5);let v=_+d*4,y=f.append(`text`).attr(`class`,`bc-arc-direct-label`).attr(`x`,v).attr(`y`,g).attr(`text-anchor`,n?`start`:`end`).attr(`font-size`,`${i}px`);if(r&&y.append(`tspan`).attr(`x`,v).attr(`dy`,c?`-0.1em`:`0.35em`).attr(`font-weight`,`bold`).attr(`fill`,Dr(e.color,a)).text(e.label),c){let t=e.displayAsPercentage&&e.percentage!=null?`${Math.round(e.percentage)}%`:String(e.value);y.append(`tspan`).attr(`x`,v).attr(`dy`,r?`1.2em`:`0.35em`).attr(`fill`,`var(--bc-text-color, #666)`).text(t)}})}d(u,!0),d(l,!1)}var XS=.3;function ZS(e,t,n){let{outerRadius:r,innerRadius:i=0,fontSize:a=12}=n,o=(i+r)/2,s=e.append(`g`).attr(`class`,`bc-arc-labels-inside`),c=[],l=r-i;for(let e of t){if(e.endAngle-e.startAngle<XS||Kg(e.label,a)>l*2){c.push(e);continue}let t=e.showLabel!==!1,n=e.showValue!==!1;if(!t&&!n)continue;let r=(e.startAngle+e.endAngle)/2-Math.PI/2,i=Math.cos(r)*o,u=Math.sin(r)*o,d=s.append(`text`).attr(`class`,`bc-arc-inside-label`).attr(`x`,i).attr(`y`,u).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`central`).attr(`font-size`,`${a}px`),f=wr(e.color);if(t&&d.append(`tspan`).attr(`x`,i).attr(`dy`,n?`-0.5em`:`0em`).attr(`font-weight`,`bold`).attr(`fill`,f).text(e.label),n){let n=e.displayAsPercentage&&e.percentage!=null?`${Math.round(e.percentage)}%`:String(e.value);d.append(`tspan`).attr(`x`,i).attr(`dy`,t?`1.2em`:`0em`).attr(`fill`,f).attr(`opacity`,.85).text(n)}}c.length>0&&YS(e,c,{outerRadius:r,chartWidth:n.chartWidth,chartHeight:n.chartHeight,fontSize:a,bgColor:n.bgColor})}function QS(e,t,n){let{outerRadius:r,innerRadius:i=0,fontSize:a=12,bgColor:o}=n,s=(i+r)/2,c=[],l=[],u=r-i;for(let e of t){let t=e.endAngle-e.startAngle,n=t*s,r=Kg(e.label,a);n>r*1.2&&t>=XS&&r<=u*2?c.push(e):l.push(e)}c.length>0&&ZS(e,c,{outerRadius:r,innerRadius:i,chartWidth:n.chartWidth,chartHeight:n.chartHeight,fontSize:a,bgColor:o}),l.length>0&&YS(e,l,{outerRadius:r,chartWidth:n.chartWidth,chartHeight:n.chartHeight,fontSize:a,bgColor:o})}function $S(e,t,n={width:0,height:0}){if(e.length===0)return{left:0,right:0,top:0,bottom:0};let r=48+qg(e,KS)+6,i=e.length*US/2,a=Math.max(10,i-t+20),o=eC(r,n.width),s=eC(a,n.height);return{left:o,right:o,top:s,bottom:s}}function eC(e,t){return t>0?Math.min(e,t*qS):e}var tC=[`#4e79a7`,`#f28e2b`,`#e15759`,`#76b7b2`,`#59a14f`,`#edc948`,`#b07aa1`,`#ff9da7`];function nC(e,t,n={},r=!1){h_(r),FS(e);let i=t,a=[],o=[],s=[],c=null,l,u,d,f=av.for(e);if(r){let t=Vb(e);u=t?.margin,d=t?.plotRect,f.detach(),t?.chartType===`line-multi`?(a=Array.from(e.querySelectorAll(`.bc-frame .bc-area`)),o=Array.from(e.querySelectorAll(`.bc-frame .bc-line`)),s=Array.from(e.querySelectorAll(`.bc-frame .bc-symbols`))):t&&(c=v_(e)),l=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of Xy(t))l.set(e,n);e.replaceChildren()}let{body:p}=Ag(e,n.frame),m=i.series??[],h=m.filter(e=>!xS(e.name,n.seriesOverrides));(n.sortMode===`total`||n.sortMode===`within-groups`)&&(h=[...h].sort((e,t)=>{let n=e.values.reduce((e,t)=>e+t,0);return t.values.reduce((e,t)=>e+t,0)-n}));let g=hS(n.colors??tC,m.length),_=h.map(e=>e.name),v=zb(n.colorizes),y=n.seriesOverrides,b=n.directLabelling===!0||n.directLabelling===`auto`&&n.legend!==!0||!!n.directLabelling&&n.directLabelling!==`auto`,x=b?`direct`:n.legend===!1?`none`:`legend`,S=_.filter(e=>SS(e,x,y)===`direct`),C=n.legend!==!1&&!b,w=u_(p).width,T=n.legendPosition??`top`,E=w>0&&w<350&&(T===`left`||T===`right`)?`top`:T,D=n.legendAnchor??`start`,O=wi(i.labels,n.horizontalAxis?.range),k=O.map(e=>i.labels[e]);h=h.map(e=>({...e,values:O.map(t=>e.values[t])})),i={...i,labels:k,series:h};let A=h.flatMap(e=>e.values),j=a_(A,n.verticalAxis?.range,n.verticalAxis?.numberFormat,n.verticalAxis?.scaleType),M=c_(w,n.verticalAxis?.labelPosition,n.horizontalAxis?.labelPosition,n.verticalAxis?.direction,j),N=S.length>0?sS(S):0,P=M.top!=null,F=Math.max(0,w-(M.left??50)-(M.right??20)-N),I=C?oS(_,E,F):{width:0,height:0},L=C?I.height+15:0,R={...M};C&&E===`top`&&(R.top=L+(P?15:0)),C&&E===`left`&&(R.left=(R.left??50)+I.width+10),C&&E===`right`&&(R.right=(R.right??20)+I.width+10),N>0&&(R.right=(R.right??20)+N),R.bottom=(H_(i.labels,Math.max(0,w-(R.left??50)-(R.right??20)),n.horizontalAxis)??Math.max(R.bottom??24,24))+(E===`bottom`?L:0);let{chartArea:z,width:B,height:V,margin:H}=f_(p,R),ee=Yg(u,H),[te,ne]=Ei(A,n.verticalAxis?.range,n.verticalAxis?.scaleType,!1),re=nf().domain(i.labels).range([0,B]).padding(n.edgePadding?.6:0),ie=re,ae=e=>re(i.labels[e])??0,U=n.verticalAxis?.scaleType===`log`?Mf().domain([te,ne]).nice().range([V,0]):_f().domain([te,ne]).nice().range([V,0]),oe=U.domain(),se=oe[0]<0&&oe[1]>0?U(0):void 0;f.attach(z,ee),f.update({vertical:{scale:U,height:V,options:{...n.verticalAxis,gridWidth:B,topPadding:H.top}},horizontal:{scale:ie,height:V,options:{...n.horizontalAxis,width:B,zeroY:se}}});let ce=z.ownerSVGElement,le=Gb(ce,e,`plot`,{x:0,y:0,width:B,height:V}),ue=Q(z).append(`g`).attr(`clip-path`,`url(#${le})`),de=ue.node(),W=h.map(e=>({name:e.name,values:e.values,colorIndex:m.findIndex(t=>t.name===e.name)})),G=MS(n.interpolation);n.areaFills?.length&&rC(de,n.areaFills,h,ae,i.labels.length,U,G);let fe=e=>Number.isFinite(e),pe=[];h.forEach((e,t)=>{i.labels.forEach((n,r)=>{fe(e.values[r])&&pe.push({label:n,value:e.values[r],series:e.name,colorIndex:t})})});let me=n.lineSymbols,he={solid:``,dotted:`2,4`,dashed:`8,4`,"dash-dot":`8,4,2,4`},ge=n.valueLabels??!1,_e=bx(n.highlights,_),ve=n.areaFill??!1,ye=n.areaFillOpacity??.2,be=e=>v.get(e.name)??_S(e.name,e.colorIndex,g,y),xe=lh().curve(G).defined(fe).x((e,t)=>ae(t)).y0(V).y1(e=>U(e)),Se=Zb(e),Ce=Q(de).append(`g`).node(),K=Q(de).append(`g`).node(),we=new Set(W.map(e=>e.name));if(r){for(let e of a)we.has(e.__data__?.name??``)&&Ce.appendChild(e);for(let e of o)we.has(e.__data__?.name??``)&&K.appendChild(e)}lx(Se,{role:`series-area`,parent:Ce,selector:`.bc-area`,data:ve?W:[],key:e=>e.name,insert:e=>e.append(`path`).attr(`class`,`bc-area`),attrs:e=>({"data-series":e.name,d:xe(e.values)??``,fill:be(e),opacity:xx(_e,e.name,ye)})}),lx(Se,{role:`series-line`,parent:K,selector:`.bc-line`,data:W,key:e=>e.name,insert:e=>e.append(`path`).attr(`class`,`bc-line`),attrs:e=>{let t=bS(e.name,n.interpolation??`linear`,y),r=ch().curve(MS(t)).defined(fe).x((e,t)=>ae(t)).y(e=>U(e));return{"data-series":e.name,d:r(e.values)??``,fill:`none`,stroke:be(e),style:`stroke-width:${yS(e.name,y)}`,"stroke-dasharray":he[vS(e.name,y)]??``,opacity:xx(_e,e.name,1)}}}),Q(de).append(`g`).selectAll(`.bc-dot`).data(pe,e=>e.label+`\0`+e.series).enter().append(`circle`).attr(`class`,`bc-dot`).attr(`data-series`,e=>e.series).attr(`cx`,e=>ae(i.labels.indexOf(e.label))).attr(`cy`,e=>U(e.value)).attr(`r`,3).attr(`fill`,e=>be({name:e.series,values:[],colorIndex:e.colorIndex})).attr(`fill-opacity`,0).attr(`stroke-opacity`,0).attr(`pointer-events`,`none`);let Te={left:H.left,top:H.top,width:B,height:V};if(_x(Se,{svg:ce,clipId:le,group:z,from:d,to:Te,active:r&&(o.length>0||a.length>0)}),n.annotations?.length){let t=i.labels.map((e,t)=>({label:e,value:h[0]?.values[t]??0}));Lb(z,n.annotations,{scaleX:ie,scaleY:U,data:t,width:B,height:V,backgroundColor:Er(e),transition:r,priorAnnotations:l})}let Ee=Q(z).insert(`g`,()=>de.nextSibling).attr(`class`,`bc-value-labels`);pe.forEach(e=>{if(!CS(e.series,ge,y))return;let t=ae(i.labels.indexOf(e.label)),n=U(e.value),r=Fx(String(e.value),t,n,{width:B,height:V,margin:H});Ee.append(`text`).attr(`class`,`bc-value-label`).attr(`data-series`,e.series).attr(`x`,r.x).attr(`y`,r.y).attr(`text-anchor`,`middle`).attr(`font-size`,`11px`).attr(`fill`,`currentColor`).text(String(e.value))}),(n.tooltips||n.crosshair)&&RS(z,{width:B,height:V,points:pe.map(e=>({cx:ae(i.labels.indexOf(e.label)),cy:U(e.value),label:e.label,value:e.value,series:e.series,color:_S(e.series,e.colorIndex,g,y)})),tooltip:n.tooltips,crosshair:n.crosshair,crosshairDirection:n.crosshairDirection,crosshairStyle:n.crosshairStyle,crosshairColor:n.crosshairColor,numberFormat:n.verticalAxis?.numberFormat,container:e});let De=me?{name:``,lineSymbols:!0,symbolShape:me.symbol,symbolShowOn:me.showOn,symbolStyle:me.style,symbolSize:me.size,symbolOpacity:me.opacity}:void 0,Oe=i.labels.length;h.forEach((e,t)=>{let n=TS(e.name,De,y);if(!n)return;let a={symbol:n.symbolShape??me?.symbol??Yr.Circle,showOn:n.symbolShowOn??me?.showOn??Xr.FirstLast,style:n.symbolStyle??me?.style??Zr.Filled,size:n.symbolSize??me?.size??3.5,opacity:n.symbolOpacity??me?.opacity??1},o=i.labels.map((n,r)=>({cx:ae(r),cy:U(e.values[r]),color:_S(e.name,t,g,y),index:r})).filter(e=>Number.isFinite(e.cy)),c=s.find(t=>t.getAttribute(`data-series-name`)===e.name),l,u=!1;c?(z.appendChild(c),l=Q(c),u=!0):l=Q(z).append(`g`).attr(`class`,`bc-symbols`).attr(`data-series`,e.name).attr(`data-series-name`,e.name),VS(l,o,Oe,a,r&&u)});let ke=i.labels.length-1,Ae=ae(ke)+6,je=[];if(h.forEach((e,t)=>{if(SS(e.name,x,y)!==`direct`)return;let n=e.values[ke];if(!Number.isFinite(n))return;let r=y?.find(t=>t.name===e.name)?.labelText||e.name;je.push({name:e.name,index:t,naturalY:U(n),text:r})}),je.length>0){je.sort((e,t)=>e.naturalY-t.naturalY);let e=JS(je.map(e=>e.naturalY),0,V,14);je.forEach((t,n)=>{Q(z).append(`text`).attr(`class`,`bc-direct-label`).attr(`data-series`,t.name).attr(`x`,Ae).attr(`y`,e[n]).attr(`dy`,`0.35em`).attr(`font-size`,`11px`).attr(`fill`,_S(t.name,t.index,g,y)).text(t.text)})}let Me=_.filter(e=>SS(e,x,y)===`legend`);if(C&&Me.length>0){let e=Me.map(e=>_S(e,m.findIndex(t=>t.name===e),g,y)),t=0,n=0;if(E===`top`){let e=P?15:0;n=-(I.height+10+e)}else E===`bottom`?n=V+Math.max(H.bottom-L,0):E===`left`?t=-(I.width+10):E===`right`&&(t=B+10);pS(z,Me,e,n,E,D,B,V,t,[],{left:H.left,right:H.right})}Hb(e,{chartType:`line-multi`,margin:H,plotRect:Te}),c&&(__(ue.node()),y_(e,c))}function rC(e,t,n,r,i,a,o){let s=Q(e).append(`g`).attr(`class`,`bc-area-fills`);for(let e of t){let t=n.find(t=>t.name===e.from),i=n.find(t=>t.name===e.to);if(!t||!i)continue;let c=e.interpolation?MS(e.interpolation):o,l=(e.opacity??30)/100,u=e.color??`#ccc`,d=e.negativeColor;if(d)aC(s,t.values,i.values,r,a,c,u,d,l);else{let e=lh().curve(c).defined((e,t)=>Number.isFinite(e)&&Number.isFinite(i.values[t])).x((e,t)=>r(t)).y0((e,t)=>a(i.values[t])).y1(e=>a(e));s.append(`path`).attr(`class`,`bc-area-fill`).attr(`d`,e(t.values)??``).attr(`fill`,u).attr(`opacity`,l)}}}function iC(e,t,n,r){let i=e-n,a=t-r;if(i===0&&a===0||i>0&&a>0||i<0&&a<0)return null;let o=a-i;if(o===0)return null;let s=-i/o;return s<0||s>1?null:s}function aC(e,t,n,r,i,a,o,s,c){let l=t.length;if(l===0)return;let u=[],d=e=>Number.isFinite(t[e])&&Number.isFinite(n[e]);for(let e=0;e<l;e++){if(!d(e)){u.push(null);continue}let a=r(e),o=i(t[e]),s=i(n[e]);if(u.push({x:a,fromY:o,toY:s}),e<l-1&&d(e+1)){let c=i(t[e+1]),l=i(n[e+1]),d=iC(o,c,s,l);if(d!==null&&d>0&&d<1){let t=a+d*(r(e+1)-a),n=o+d*(c-o),i=s+d*(l-s);u.push({x:t,fromY:n,toY:i})}}}let f=[],p=[],m=null;for(let e of u){if(!e){p.length>=2&&m!==null&&f.push({points:p,positive:m}),p=[],m=null;continue}let t=e.fromY-e.toY,n=t<0;m===null?(m=t===0?null:n,p.push(e)):t===0?(p.push(e),p.length>=2&&f.push({points:p,positive:m}),p=[e],m=null):m===n?p.push(e):(p.push(e),p.length>=2&&f.push({points:p,positive:m}),p=[e],m=n)}p.length>=2&&m!==null&&f.push({points:p,positive:m});for(let t of f){let n=t.points,r=`M${n[0].x},${n[0].fromY}`;for(let e=1;e<n.length;e++)r+=`L${n[e].x},${n[e].fromY}`;for(let e=n.length-1;e>=0;e--)r+=`L${n[e].x},${n[e].toY}`;r+=`Z`,e.append(`path`).attr(`class`,`bc-area-fill ${t.positive?`bc-area-fill-pos`:`bc-area-fill-neg`}`).attr(`d`,r).attr(`fill`,t.positive?o:s).attr(`opacity`,c)}}var oC=[`#4e79a7`,`#f28e2b`,`#e15759`,`#76b7b2`,`#59a14f`,`#edc948`,`#b07aa1`,`#ff9da7`];function sC(e){return Gd(`,`)(Number(e.toPrecision(12)))}var cC=class extends yg{initialize(){}};function lC(e,t,n={},r=!1){uC(e,t,n,.6,r)}function uC(e,t,n,r,i=!1){h_(i);let a=null,o;if(i){let t=Vb(e),n=r>0?`donut`:`pie`;t&&t.chartType!==n&&(a=v_(e)),o=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of Xy(t))o.set(e,n);e.replaceChildren()}let{body:s}=Ag(e,n.frame),c=[...t.labels],l=[...t.values];if(n.sort===Qr.Ascending||n.sort===Qr.Descending){let e=c.map((e,t)=>({label:e,value:l[t]}));e.sort((e,t)=>n.sort===Qr.Ascending?e.value-t.value:t.value-e.value),c=e.map(e=>e.label),l=e.map(e=>e.value)}if(n.sliceMax&&n.sliceMax>0&&c.length>n.sliceMax){let e=n.sliceMax-1,t=c.map((e,t)=>({label:e,value:l[t],i:t})).sort((e,t)=>t.value-e.value||e.i-t.i),r=t.slice(0,e).sort((e,t)=>e.i-t.i),i=t.slice(e).reduce((e,t)=>e+t.value,0);c=[...r.map(e=>e.label),n.sliceGroupLabel??`Others`],l=[...r.map(e=>e.value),i]}let u=l.reduce((e,t)=>e+t,0),d=l.map(e=>u>0?e/u*100:0),f=hS(n.colors??oC,c.length),p=typeof n.directLabelling==`string`?n.directLabelling:n.directLabelling?oi.Auto:oi.Off,m=!!p&&(p!==oi.Auto||n.legend!==!0),h=(n.showValues??!0)&&!m?l.map((e,t)=>`(${n.displayAsPercentage?`${Math.round(d[t])}%`:sC(e)})`):[],g=n.legend!==!1&&!m,_=u_(s).width,v=n.legendPosition??`top`,y=_>0&&_<350&&(v===`left`||v===`right`)?`top`:v,b=n.legendAnchor??`start`,x=h.length>0?c.map((e,t)=>`${e} ${h[t]}`):c,S=Math.max(0,_-50-20),C=g?oS(x,y,S):{width:0,height:0},w=g?C.height+15:0,T={};if(g&&y===`top`&&(T.top=w),g&&y===`bottom`&&(T.bottom=24+w),g&&y===`left`&&(T.left=50+C.width+10),g&&y===`right`&&(T.right=20+C.width+10),m){let e=u_(s),t=e.width-40,n=(e.height>0?e.height:400)-40,r=Math.min(t,n)/2,i=$S(c,r,{width:t,height:n});T.left=(T.left??20)+i.left,T.right=(T.right??20)+i.right,T.top=(T.top??20)+i.top,T.bottom=(T.bottom??20)+i.bottom}let{chartArea:E,width:D,height:O,margin:k}=f_(s,T),A=Math.min(D,O)/2,j=A*r,M=$d().domain(c).range(f);if(l.some(e=>e<0)){let e=c.filter((e,t)=>l[t]<0);console.warn(`[blueprint-chart] Ignoring ${e.length} negative slice(s) on an arc chart: ${e.join(`, `)}.`);let t=c.map((e,t)=>({label:e,value:l[t]})).filter(e=>e.value>=0);c=t.map(e=>e.label),l=t.map(e=>e.value)}let N=fh().sort(null),P=nh().innerRadius(j).outerRadius(A),F=Q(E).append(`g`).attr(`transform`,`translate(${D/2},${O/2})`),I=zb(n.colorizes),L=N(l),R=L.map((e,t)=>({label:c[t],value:l[t],arc:e,color:I.get(c[t])??M(c[t])})),z=Zb(e),B=bx(n.highlights,c);lx(z,{role:`mark-per-category`,parent:F.append(`g`).node(),selector:`.bc-arc`,data:R,key:e=>e.label,insert:e=>e.append(`path`).attr(`class`,`bc-arc`),attrs:e=>{let t={"data-series":e.label,d:P(e.arc)??``,fill:e.color};return B.size>0?{...t,opacity:xx(B,e.label)}:t}});let V=new cC(F);if(n.tooltips&&V.use(Gy()),V.draw(R),n.annotations?.length){let t=n.annotations.filter(e=>e.kind===`range`);t.length&&console.warn(`[blueprint-chart] Range annotations have no meaning on an arc chart; ignoring ${t.length}.`);let r=new Map(R.map(e=>[e.label,P.centroid(e.arc)])),a=n.annotations.filter(e=>e.kind!==`range`);a.length&&Rb(a,{scaleX:$d().domain([...r.keys()]).range([...r.values()].map(e=>e[0]+D/2)),scaleY:_f().domain([0,1]).range([0,1]),data:R.map(e=>({label:e.label,value:(r.get(e.label)?.[1]??0)+O/2})),width:D,height:O,backgroundColor:Er(e),transition:i,priorAnnotations:o}).postDraw({base:Q(E)},void 0)}if(m){let t=L.map((e,t)=>({label:c[t],value:e.data,startAngle:e.startAngle,endAngle:e.endAngle,color:M(c[t]),percentage:d[t],displayAsPercentage:n.displayAsPercentage,showLabel:n.showLabels??!0,showValue:n.showValues??!0})),r=F,i={outerRadius:A,innerRadius:j,chartWidth:D,chartHeight:O,bgColor:Er(e)};p===oi.Inside?ZS(r,t,i):p===oi.Auto?QS(r,t,i):YS(r,t,i)}if(n.showTotal&&r>0&&!n.displayAsPercentage){let e=sC(u);F.append(`text`).attr(`class`,`bc-arc-total-label`).attr(`text-anchor`,`middle`).attr(`dy`,`-0.3em`).attr(`font-size`,`11px`).attr(`fill`,`var(--bc-text-color, #555)`).attr(`opacity`,.7).text(`Total`),F.append(`text`).attr(`class`,`bc-arc-total-value`).attr(`text-anchor`,`middle`).attr(`dy`,`1em`).attr(`font-size`,`18px`).attr(`font-weight`,`bold`).attr(`fill`,`var(--bc-text-color, #555)`).text(e)}if(g){let e=0,t=0;y===`top`?t=-(C.height+10):y===`bottom`?t=O+25:y===`left`?e=-(C.width+10):y===`right`&&(e=D+10),pS(E,c,f,t,y,b,D,O,e,h,{left:k.left,right:k.right})}Hb(e,{chartType:r>0?`donut`:`pie`}),a&&(__(F.node()),y_(e,a))}function dC(e,t,n={},r=!1){uC(e,t,n,0,r)}function fC(e,t,n={},r=!1){h_(r),FS(e);let i=[],a=[],o=null,s=null,c,l,u,d=av.for(e);if(r){let t=Vb(e);l=t?.margin,u=t?.plotRect,d.detach(),t?.chartType===`area`?(i=Array.from(e.querySelectorAll(`.bc-frame .bc-area`)),a=Array.from(e.querySelectorAll(`.bc-frame .bc-line`)),o=e.querySelector(`.bc-frame .bc-symbols`)):t&&(s=v_(e)),c=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of Xy(t))c.set(e,n);e.replaceChildren()}let{body:f}=Ag(e,n.frame),p=u_(f).width,m=a_(t.values,n.verticalAxis?.range,n.verticalAxis?.numberFormat,n.verticalAxis?.scaleType),h=c_(p,n.verticalAxis?.labelPosition,n.horizontalAxis?.labelPosition,n.verticalAxis?.direction,m),g=H_(t.labels,Math.max(0,p-(h.left??50)-(h.right??20)),n.horizontalAxis);g!==void 0&&(h.bottom=g);let{chartArea:_,width:v,height:y,margin:b}=f_(f,h),x=Yg(l,b),S=wi(t.labels,n.horizontalAxis?.range),C=S.map(e=>t.labels[e]),w=S.map(e=>t.values[e]),T=C.map((e,t)=>({label:e,value:w[t]})),E=T.filter(e=>Number.isFinite(e.value)),D=nf().domain(C).range([0,v]).padding(n.edgePadding?.6:0),O=D,k=e=>D(e.label)??0,A=n.verticalAxis?.scaleType===`log`,[j,M]=Ei(w,n.verticalAxis?.range,n.verticalAxis?.scaleType),N=A?Mf().domain([j,M]).nice().range([y,0]):_f().domain([j,M]).nice().range([y,0]),P=N.domain(),F=P[0]<0&&P[1]>0?N(0):void 0;d.attach(_,x),d.update({vertical:{scale:N,height:y,options:{...n.verticalAxis,gridWidth:v,topPadding:b.top}},horizontal:{scale:O,height:y,options:{...n.horizontalAxis,width:v,zeroY:F}}});let I=_.ownerSVGElement,L=Gb(I,e,`plot`,{x:0,y:0,width:v,height:y}),R=Q(_).append(`g`).attr(`clip-path`,`url(#${L})`),z=R.node(),B=n.colors?.[0]??`#4e79a7`,V=MS(n.interpolation??`monotoneX`),H=n.areaFillOpacity??.25,ee=e=>Number.isFinite(e.value),te=lh().curve(V).defined(ee).x(e=>k(e)).y0(y).y1(e=>N(e.value)),ne=ch().curve(V).defined(ee).x(e=>k(e)).y(e=>N(e.value)),re=Q(z).append(`g`).node(),ie=Q(z).append(`g`).node();if(r){for(let e of i)re.appendChild(e);for(let e of a)ie.appendChild(e)}let ae=Zb(e),U=[{name:`area`,points:T}];lx(ae,{role:`series-area`,parent:re,selector:`.bc-area`,data:U,key:e=>e.name,insert:e=>e.append(`path`).attr(`class`,`bc-area`),attrs:e=>({d:te(e.points)??``,fill:B,opacity:H})}),lx(ae,{role:`series-line`,parent:ie,selector:`.bc-line`,data:U,key:e=>e.name,insert:e=>e.append(`path`).attr(`class`,`bc-line`),attrs:e=>({d:ne(e.points)??``,fill:`none`,stroke:B,"stroke-width":2})}),Q(z).append(`g`).selectAll(`.bc-dot`).data(E,e=>e.label).enter().append(`circle`).attr(`class`,`bc-dot`).attr(`cx`,e=>k(e)).attr(`cy`,e=>N(e.value)).attr(`r`,3).attr(`fill`,B).attr(`fill-opacity`,0).attr(`stroke-opacity`,0).attr(`pointer-events`,`none`);let oe={left:b.left,top:b.top,width:v,height:y};if(_x(ae,{svg:I,clipId:L,group:_,from:u,to:oe,active:r&&(i.length>0||a.length>0)}),n.annotations?.length&&Lb(_,n.annotations,{scaleX:O,scaleY:N,data:T,width:v,height:y,backgroundColor:Er(e),transition:r,priorAnnotations:c}),(n.tooltips||n.crosshair)&&RS(_,{width:v,height:y,points:E.map(e=>({cx:k(e),cy:N(e.value),label:e.label,value:e.value,color:B})),tooltip:n.tooltips,crosshair:n.crosshair,crosshairDirection:n.crosshairDirection,crosshairStyle:n.crosshairStyle,crosshairColor:n.crosshairColor,numberFormat:n.verticalAxis?.numberFormat,container:e}),n.valueLabels){let e=Q(_).insert(`g`,()=>z.nextSibling),t=e=>Fx(String(e.value),k(e),N(e.value),{width:v,height:y,margin:b});e.selectAll(`.bc-value-label`).data(E,e=>e.label).enter().append(`text`).attr(`class`,`bc-value-label`).attr(`x`,e=>t(e).x).attr(`y`,e=>t(e).y).attr(`text-anchor`,`middle`).attr(`font-size`,`11px`).attr(`fill`,`currentColor`).text(e=>String(e.value))}if(n.lineSymbols){let e=T.map((e,t)=>({cx:k(e),cy:N(e.value),color:B,index:t})).filter(e=>Number.isFinite(e.cy)),t;o?(_.appendChild(o),t=Q(o)):t=Q(_).append(`g`).attr(`class`,`bc-symbols`),VS(t,e,T.length,n.lineSymbols,r)}Hb(e,{chartType:`area`,margin:b,plotRect:oe}),s&&(__(R.node()),y_(e,s))}function pC(e){let t=e.series??[];if(t.length===0)return[];let n=t.map(e=>e.name),r=!1,i=e.labels.map((e,n)=>{let i={_index:n};return t.forEach(e=>{let t=e.values[n]??0;t<0&&(r=!0),i[e.name]=t}),i});return Qh().keys(n).order(Yh).offset(r?$h:Jh)(i)}function mC(e){let t=e.series??[];if(t.length===0)return[];let n=t.map(e=>e.name),r=!1,i=e.labels.map((e,n)=>{let i={_index:n},a=t.reduce((e,t)=>e+Math.abs(t.values[n]??0),0);return t.forEach(e=>{let t=e.values[n]??0;t<0&&(r=!0),i[e.name]=a>0?t/a*100:0}),i});return Qh().keys(n).order(Yh).offset(r?$h:Jh)(i)}var hC=[`#4e79a7`,`#f28e2b`,`#e15759`,`#76b7b2`,`#59a14f`,`#edc948`,`#b07aa1`,`#ff9da7`];function gC(e,t,n={},r=!1){h_(r),FS(e);let i=t,a=[],o=[],s=null,c,l,u,d=av.for(e);if(r){let t=Vb(e);l=t?.margin,u=t?.plotRect,d.detach(),t?.chartType===`area-stacked`?(a=Array.from(e.querySelectorAll(`.bc-frame .bc-area`)),o=Array.from(e.querySelectorAll(`.bc-frame .bc-line`))):t&&(s=v_(e)),c=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of Xy(t))c.set(e,n);e.replaceChildren()}let{body:f}=Ag(e,n.frame),p=wi(i.labels,n.horizontalAxis?.range);if(p.length<i.labels.length){let e=p.map(e=>i.labels[e]),t=(i.series??[]).map(e=>({...e,values:p.map(t=>e.values[t])}));i={labels:e,values:p.map(e=>i.values[e]),series:t}}let m=mS(i),h=m.filter(e=>!xS(e.name,n.seriesOverrides)),g=hS(n.colors??hC,m.length),_=h.map(e=>e.name),v=_.filter(Boolean),y=n.seriesOverrides,b=zb(n.colorizes),x=n.directLabelling===!0||n.directLabelling===`auto`&&n.legend!==!0||!!n.directLabelling&&n.directLabelling!==`auto`,S=x?`direct`:n.legend===!1?`none`:`legend`,C=_.filter(e=>SS(e,S,y)===`direct`),w=n.legend!==!1&&!x,T=u_(f).width,E=n.legendPosition??`top`,D=T>0&&T<350&&(E===`left`||E===`right`)?`top`:E,O=n.legendAnchor??`start`,k=n.stacked!==!1,A=n.stackPercent===!0||n.stackMode===ai.Percent,j=n.areaSortMode??Qr.None,M=n.areaLines!==!1,N=[...h];if(j!==Qr.None){let e=new Map(N.map(e=>[e.name,e.values.reduce((e,t)=>e+t,0)]));N.sort((t,n)=>{let r=(e.get(t.name)??0)-(e.get(n.name)??0);return j===Qr.Ascending?r:-r})}let P={labels:i.labels,values:i.values,series:N},F=A?mC(P):pC(P),I=0;if(k)for(let e of F)for(let t of e)t[1]>I&&(I=t[1]);else for(let e of N)for(let t of e.values)t>I&&(I=t);A&&(I=100);let L=[0,I],R=n.verticalAxis?.numberFormat??(A?`|d|%`:void 0),z=a_(L,n.verticalAxis?.range,R,n.verticalAxis?.scaleType),B=c_(T,n.verticalAxis?.labelPosition,n.horizontalAxis?.labelPosition,n.verticalAxis?.direction,z),V=C.length>0?sS(C):0,H=B.top!=null,ee=Math.max(0,T-(B.left??50)-(B.right??20)-V),te=w?oS(v,D,ee):{width:0,height:0},ne=w?te.height+15:0,re={...B};w&&D===`top`&&(re.top=ne+(H?15:0)),w&&D===`left`&&(re.left=(re.left??50)+te.width+10),w&&D===`right`&&(re.right=(re.right??20)+te.width+10),V>0&&(re.right=(re.right??20)+V),re.bottom=(H_(i.labels,Math.max(0,T-(re.left??50)-(re.right??20)),n.horizontalAxis)??Math.max(re.bottom??24,24))+(D===`bottom`?ne:0);let{chartArea:ie,width:ae,height:U,margin:oe}=f_(f,re),se=Yg(l,oe),ce=nf().domain(i.labels).range([0,ae]).padding(n.edgePadding?.6:0),le=ce,ue=e=>ce(i.labels[e])??0,[de,W]=Ei(L,n.verticalAxis?.range,n.verticalAxis?.scaleType),G=(n.verticalAxis?.scaleType===zr.Log?Mf():_f()).domain([de,W]).nice().range([U,0]);d.attach(ie,se),d.update({vertical:{scale:G,height:U,options:{...n.verticalAxis,numberFormat:R,gridWidth:ae,topPadding:oe.top}},horizontal:{scale:le,height:U,options:{...n.horizontalAxis,width:ae}}});let fe=ie.ownerSVGElement,pe=Gb(fe,e,`plot`,{x:0,y:0,width:ae,height:U}),me=Q(ie).append(`g`).attr(`clip-path`,`url(#${pe})`),he=me.node(),ge=MS(n.interpolation??`monotoneX`),_e=F.map(e=>{let t=m.findIndex(t=>t.name===e.key),n;return n=k?Array.from(e).map(e=>[G(e[0]),G(e[1])]):(N.find(t=>t.name===e.key)?.values??[]).map(e=>[G(0),G(e)]),{name:e.key,points:n,colorIndex:t>=0?t:0}}),ve=bx(n.highlights,_e.map(e=>e.name)),ye=ve.size>0,be=n.areaFillOpacity==null?.85:n.areaFillOpacity,xe=e=>b.get(e.name)??_S(e.name,e.colorIndex,g,y),Se=lh().curve(ge).x((e,t)=>ue(t)).y0(e=>e[0]).y1(e=>e[1]),Ce=Q(he).append(`g`).node(),K=Q(he).append(`g`).node();if(r){for(let e of a)Ce.appendChild(e);for(let e of o)K.appendChild(e)}let we=Zb(e);lx(we,{role:`series-area`,parent:Ce,selector:`.bc-area`,data:_e,key:e=>e.name,insert:e=>e.append(`path`).attr(`class`,`bc-area`),attrs:e=>({"data-series":e.name,d:Se(e.points)??``,fill:xe(e),opacity:ye?xx(ve,e.name,be):be})}),lx(we,{role:`series-line`,parent:K,selector:`.bc-line`,data:M?_e:[],key:e=>e.name,insert:e=>e.append(`path`).attr(`class`,`bc-line`),attrs:e=>{let t=bS(e.name,n.interpolation??`monotoneX`,y),r=ch().curve(MS(t)).x((e,t)=>ue(t)).y(e=>e[1]);return{"data-series":e.name,d:r(e.points)??``,fill:`none`,stroke:xe(e),"stroke-width":1,opacity:ye?xx(ve,e.name,1):1}}});let Te={left:oe.left,top:oe.top,width:ae,height:U};if(_x(we,{svg:fe,clipId:pe,group:ie,from:u,to:Te,active:r&&(a.length>0||o.length>0)}),n.annotations?.length){let t=i.labels.map((e,t)=>({label:e,value:h[0]?.values[t]??0}));Lb(ie,n.annotations,{scaleX:le,scaleY:G,data:t,width:ae,height:U,backgroundColor:Er(e),transition:r,priorAnnotations:c})}if(n.tooltips||n.crosshair){let t=[];F.forEach(e=>{let n=m.findIndex(t=>t.name===e.key);Array.from(e).forEach((r,a)=>{let o=r[1]-r[0];t.push({cx:ue(a),cy:G(r[1]),label:i.labels[a],value:Math.round(o*100)/100,series:e.key,color:_S(e.key,n,g,y)})})}),RS(ie,{width:ae,height:U,points:t,tooltip:n.tooltips,crosshair:n.crosshair,crosshairDirection:n.crosshairDirection,crosshairStyle:n.crosshairStyle,crosshairColor:n.crosshairColor,numberFormat:n.verticalAxis?.numberFormat,container:e})}let Ee=i.labels.length-1,De=ue(Ee)+6,Oe=[];if(h.forEach((e,t)=>{if(SS(e.name,S,y)!==`direct`)return;let n=F.find(t=>t.key===e.name);if(!n)return;let r=n[Ee];if(!r)return;let i=G((r[0]+r[1])/2),a=y?.find(t=>t.name===e.name)?.labelText||e.name;Oe.push({name:e.name,index:t,naturalY:i,text:a})}),Oe.length>0){Oe.sort((e,t)=>e.naturalY-t.naturalY);let e=JS(Oe.map(e=>e.naturalY),0,U,14);Oe.forEach((t,n)=>{Q(ie).append(`text`).attr(`class`,`bc-direct-label`).attr(`data-series`,t.name).attr(`x`,De).attr(`y`,e[n]).attr(`dy`,`0.35em`).attr(`font-size`,`11px`).attr(`fill`,_S(t.name,t.index,g,y)).text(t.text)})}let ke=v.filter(e=>SS(e,S,y)===`legend`);if(w&&ke.length>0){let e=ke.map(e=>_S(e,m.findIndex(t=>t.name===e),g,y)),t=0,n=0;if(D===`top`){let e=H?15:0;n=-(te.height+10+e)}else D===`bottom`?n=U+Math.max(oe.bottom-ne,0):D===`left`?t=-(te.width+10):D===`right`&&(t=ae+10);pS(ie,ke,e,n,D,O,ae,U,t,[],{left:oe.left,right:oe.right})}Hb(e,{chartType:`area-stacked`,margin:oe,plotRect:Te}),s&&(__(me.node()),y_(e,s))}var _C=[`#4e79a7`,`#f28e2b`,`#e15759`,`#76b7b2`,`#59a14f`,`#edc948`,`#b07aa1`,`#ff9da7`];function vC(e,t,n){let r=[];for(let i of e){let e=i.key,a=n.findIndex(t=>t.name===e);for(let n=0;n<i.length;n++){let o=i[n];r.push({label:t[n],seriesName:e,seriesIndex:a,y0:o[0],y1:o[1],value:o[1]-o[0]})}}return r}function yC(e,t,n={},r=!1){h_(r);let i=[],a=null,o,s,c,l=av.for(e);if(r){let t=Vb(e);s=t?.margin,c=t?.plotRect,l.detach(),t?.chartType===`column-stacked`?i=Array.from(e.querySelectorAll(`.bc-frame .bc-bar-stacked`)):t&&(a=v_(e)),o=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of Xy(t))o.set(e,n);e.replaceChildren()}let{body:u}=Ag(e,n.frame),d=mS(t),f=d.filter(e=>!xS(e.name,n.seriesOverrides)),p=f.map(e=>e.name).filter(Boolean),m=hS(n.colors??_C,d.length),h=n.seriesOverrides,g=n.legend!==!1,_=u_(u).width,v=n.legendPosition??`top`,y=_>0&&_<350&&(v===`left`||v===`right`)?`top`:v,b=n.legendAnchor??`start`,x={labels:t.labels,values:t.values,series:f},S=n.stackMode===ai.Percent,C=vC(S?mC(x):pC(x),t.labels,d),w=S?100:ta(C,e=>e.y1)??0,T=S?Math.min(0,na(C,e=>e.y0)??0):0,E=S?[T,w]:C.flatMap(e=>[e.y0,e.y1]),D=a_(E,n.verticalAxis?.range,n.verticalAxis?.numberFormat,n.verticalAxis?.scaleType),O=c_(_,n.verticalAxis?.labelPosition,n.horizontalAxis?.labelPosition,n.verticalAxis?.direction,D),k=O.top!=null,A=Math.max(0,_-(O.left??50)-(O.right??20)),j=g?oS(p,y,A):{width:0,height:0},M=g?j.height+15:0,N={...O};g&&y===`top`&&(N.top=M+(k?15:0)),g&&y===`left`&&(N.left=(N.left??50)+j.width+10),g&&y===`right`&&(N.right=(N.right??20)+j.width+10);let P=Math.max(0,_-(N.left??50)-(N.right??20));N.bottom=(H_(t.labels,P,n.horizontalAxis)??Math.max(N.bottom??24,24))+(y===`bottom`?M:0);let{chartArea:F,width:I,height:L,margin:R}=f_(u,N),z=Yg(s,R),B=t.labels;if(n.sortMode===`total`){let e=t.labels.map((e,t)=>({label:e,index:t,total:f.reduce((e,n)=>e+(n.values[t]??0),0)}));e.sort((e,t)=>t.total-e.total),B=e.map(e=>e.label)}let V=ef().domain(B).range([0,I]).padding(Ti(n.barGap)),[H,ee]=Ei(E,n.verticalAxis?.range,n.verticalAxis?.scaleType),te=(n.verticalAxis?.scaleType===zr.Log?Mf():_f()).domain([H,ee]).nice().range([L,0]);l.attach(F,z),l.update({vertical:{scale:te,height:L,options:{...n.verticalAxis,gridWidth:I,topPadding:R.top}},horizontal:{scale:V,height:L,options:{...n.horizontalAxis,width:I}}});let ne=F.ownerSVGElement,re=Gb(ne,e,`bars`,{x:0,y:0,width:I,height:L}),ie=Q(F).append(`g`).attr(`clip-path`,`url(#${re})`),ae=B===t.labels?C:B.flatMap(e=>C.filter(t=>t.label===e)),U=zb(n.colorizes),oe=bx(n.highlights,C.map(e=>e.seriesName)),se=Zb(e),ce=ie.append(`g`).node();if(r)for(let e of i)e.removeAttribute(`opacity`),e.removeAttribute(`fill-opacity`),ce.appendChild(e);lx(se,{role:`mark-per-cell`,parent:ce,selector:`.bc-bar-stacked`,data:ae,key:e=>e.label+`\0`+e.seriesName,insert:e=>e.append(`rect`).attr(`class`,`bc-bar bc-bar-stacked`),attrs:e=>{let t=U.get(e.seriesName)??_S(e.seriesName,e.seriesIndex,m,h),n=wS(e.seriesName,h),r={"data-series":e.seriesName,x:V(e.label)??0,y:te(e.y1),width:V.bandwidth(),height:te(e.y0)-te(e.y1),fill:t};return n<1&&(r[`fill-opacity`]=n),oe.size>0&&(r.opacity=xx(oe,e.seriesName)),r}});let le={left:R.left,top:R.top,width:I,height:L};_x(se,{svg:ne,clipId:re,group:F,from:c,to:le,active:r&&i.length>0});let ue=qb(ie);if(n.tooltips&&ue.use(Gy({numberFormat:n.verticalAxis?.numberFormat})),n.crosshair&&ue.use(qy({width:I,height:L,direction:n.crosshairDirection,style:n.crosshairStyle,color:n.crosshairColor})),n.annotations?.length){let i=t.labels.map((e,t)=>({label:e,value:f.reduce((e,n)=>e+(n.values[t]??0),0)}));ue.use(Rb(n.annotations,{scaleX:V,scaleY:te,data:i,width:I,height:L,backgroundColor:Er(e),transition:r,priorAnnotations:o}))}let de=()=>ue.draw(ae);se.state===`committing`?se.register(de):de(),Hb(e,{chartType:`column-stacked`,margin:R,plotRect:le}),a&&(__(ie.node()),y_(e,a));let W=n.valueLabels??!1,G=Hi(ae,e=>ta(e,e=>e.y1)??0,e=>e.label),fe=Q(F).append(`g`).attr(`class`,`bc-value-labels`);if(ae.forEach(e=>{if(!CS(e.seriesName,W,h))return;let t=(V(e.label)??0)+V.bandwidth()/2,r=Math.abs(te(e.y0)-te(e.y1)),i=te(e.y0)-r/2,a=S?`${Math.round(e.y0<0?-e.value:e.value)}%`:n.valueLabels===`percent`?Pg(e.value,G.get(e.label)??0):String(Math.round(e.value*100)/100);if(!kx({text:a,placement:`inside`,orientation:`vertical`,barWidth:V.bandwidth(),barHeight:r}))return;let o=U.get(e.seriesName)??_S(e.seriesName,e.seriesIndex,m,h);fe.append(`text`).attr(`class`,`bc-value-label`).attr(`data-series`,e.seriesName).attr(`x`,t).attr(`y`,i).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`central`).attr(`font-size`,`11px`).attr(`fill`,wr(o)).text(a)}),g&&p.length>0){let e=p.map(e=>_S(e,d.findIndex(t=>t.name===e),m,h)),t=0,n=0;if(y===`top`){let e=k?15:0;n=-(j.height+10+e)}else y===`bottom`?n=L+Math.max(R.bottom-M,0):y===`left`?t=-(j.width+10):y===`right`&&(t=I+10);pS(F,p,e,n,y,b,I,L,t,[],{left:R.left,right:R.right})}}var bC=[`#4e79a7`,`#f28e2b`,`#e15759`,`#76b7b2`,`#59a14f`,`#edc948`,`#b07aa1`,`#ff9da7`];function xC(e,t,n){let r=[];for(let i of e){let e=i.key,a=n.findIndex(t=>t.name===e);for(let n=0;n<i.length;n++){let o=i[n];r.push({label:t[n],seriesName:e,seriesIndex:a,y0:o[0],y1:o[1],value:o[1]-o[0]})}}return r}function SC(e,t,n={},r=!1){h_(r);let i=[],a=null,o,s,c,l=av.for(e);if(r){let t=Vb(e);s=t?.margin,c=t?.plotRect,l.detach(),t?.chartType===`bar-stacked`?i=Array.from(e.querySelectorAll(`.bc-frame .bc-bar-stacked`)):t&&(a=v_(e)),o=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of Xy(t))o.set(e,n);e.replaceChildren()}let{body:u}=Ag(e,n.frame),d=mS(t),f=d.filter(e=>!xS(e.name,n.seriesOverrides)),p=f.map(e=>e.name).filter(Boolean),m=hS(n.colors??bC,d.length),h=n.seriesOverrides,g=n.legend!==!1,_=u_(u).width,v=n.legendPosition??`top`,y=_>0&&_<350&&(v===`left`||v===`right`)?`top`:v,b=n.legendAnchor??`start`,x={labels:t.labels,values:t.values,series:f},S=n.stackMode===ai.Percent,C=xC(S?mC(x):pC(x),t.labels,d),w=S?100:ta(C,e=>e.y1)??0,T=S?Math.min(0,na(C,e=>e.y0)??0):0,E=zx(_,n.verticalAxis?.labelPosition),D=n.categoryLabelLine===!0||E,O=s_(t.labels),k=c_(_,D?Vr.Off:n.verticalAxis?.labelPosition,n.horizontalAxis?.labelPosition,n.verticalAxis?.direction,O,n.horizontalAxis?.showAxis),A=k.top!=null,j=Math.max(0,_-(k.left??50)-(k.right??20)),M=g?oS(p,y,j):{width:0,height:0},N=g?M.height+15:0,P={...k};g&&y===`top`&&(P.top=N+(A?15:0)),g&&y===`bottom`&&(P.bottom=(P.bottom??24)+N),g&&y===`left`&&(P.left=(P.left??50)+M.width+10),g&&y===`right`&&(P.right=(P.right??20)+M.width+10);let{chartArea:F,width:I,height:L,margin:R}=f_(u,P),z=Yg(s,R),B=t.labels;if(n.sortMode===`total`){let e=t.labels.map((e,t)=>({label:e,index:t,total:f.reduce((e,n)=>e+(n.values[t]??0),0)}));e.sort((e,t)=>t.total-e.total),B=e.map(e=>e.label)}let[V,H]=Ei(S?[T,w]:C.flatMap(e=>[e.y0,e.y1]),n.horizontalAxis?.range,n.horizontalAxis?.scaleType),ee=(n.horizontalAxis?.scaleType===zr.Log?Mf():_f()).domain([V,H]).nice().range([0,I]),te=ef().domain(B).range([0,L]).padding(Ti(n.barGap));l.attach(F,z),l.update({horizontal:{scale:ee,height:L,options:{...n.horizontalAxis,width:I}},vertical:{scale:te,height:L,options:{...n.verticalAxis,labelPosition:D?Vr.Off:n.verticalAxis?.labelPosition,topPadding:R.top,...E?{showAxis:!1}:{}}},order:`horizontal-first`});let ne=F.ownerSVGElement,re=Gb(ne,e,`bars`,{x:0,y:0,width:I,height:L}),ie=Q(F).append(`g`).attr(`clip-path`,`url(#${re})`),ae=B===t.labels?C:B.flatMap(e=>C.filter(t=>t.label===e)),U=D?Lx(te.bandwidth()):0,oe=zb(n.colorizes),se=bx(n.highlights,C.map(e=>e.seriesName)),ce=Zb(e),le=ie.append(`g`).node();if(r)for(let e of i)e.removeAttribute(`opacity`),e.removeAttribute(`fill-opacity`),le.appendChild(e);lx(ce,{role:`mark-per-cell`,parent:le,selector:`.bc-bar-stacked`,data:ae,key:e=>e.label+`\0`+e.seriesName,insert:e=>e.append(`rect`).attr(`class`,`bc-bar bc-bar-stacked`),attrs:e=>{let t=oe.get(e.seriesName)??_S(e.seriesName,e.seriesIndex,m,h),n=wS(e.seriesName,h),r={"data-series":e.seriesName,x:ee(e.y0),y:(te(e.label)??0)+U,width:ee(e.y1)-ee(e.y0),height:Math.max(0,te.bandwidth()-U),fill:t};return n<1&&(r[`fill-opacity`]=n),se.size>0&&(r.opacity=xx(se,e.seriesName)),r}});let ue={left:R.left,top:R.top,width:I,height:L};_x(ce,{svg:ne,clipId:re,group:F,from:c,to:ue,active:r&&i.length>0});let de=qb(ie);if(n.tooltips&&de.use(Gy({numberFormat:n.verticalAxis?.numberFormat})),n.crosshair&&de.use(qy({width:I,height:L,direction:n.crosshairDirection,style:n.crosshairStyle,color:n.crosshairColor,orientation:Jr.Horizontal})),n.annotations?.length){let i=t.labels.map((e,t)=>({label:e,value:f.reduce((e,n)=>e+(n.values[t]??0),0)}));de.use(Rb(n.annotations,{scaleX:te,scaleY:ee,data:i,width:I,height:L,backgroundColor:Er(e),orientation:Jr.Horizontal,transition:r,priorAnnotations:o}))}let W=()=>de.draw(ae);if(ce.state===`committing`?ce.register(W):W(),Hb(e,{chartType:`bar-stacked`,margin:R,plotRect:ue}),a&&(__(ie.node()),y_(e,a)),D){let e=Q(F).append(`g`).attr(`class`,`bc-category-labels`);for(let t of B){let n=te(t)??0;e.append(`text`).attr(`class`,`bc-category-label`).attr(`x`,2).attr(`y`,n+13/2).attr(`text-anchor`,`start`).attr(`dominant-baseline`,`central`).attr(`font-size`,`10px`).attr(`font-weight`,`600`).attr(`fill`,`currentColor`).text(t)}}let G=n.valueLabels??!1,fe=n.valueLabelPosition??ni.Auto,pe=new Set,me=new Map;for(let e of B){let t=ae.filter(t=>t.label===e).sort((e,t)=>e.y1-t.y1);if(t.length>0){let e=t[t.length-1];pe.add(e.label+`\0`+e.seriesName);for(let e=0;e<t.length-1;e++){let n=t[e].label+`\0`+t[e].seriesName;me.set(n,ee(t[e+1].y1)-ee(t[e].y1))}}}let he=new Map,ge=Hi(ae,e=>ta(e,e=>e.y1)??0,e=>e.label),_e=Q(F).append(`g`).attr(`class`,`bc-value-labels`);if(ae.forEach(e=>{if(!CS(e.seriesName,G,h))return;let t=S?`${Math.round(e.y0<0?-e.value:e.value)}%`:n.valueLabels===`percent`?Pg(e.value,ge.get(e.label)??0):String(Math.round(e.value*100)/100),r=ee(e.y1)-ee(e.y0),i=t.length*6.5+8,a=r>=i,o=(te(e.label)??0)+U+(te.bandwidth()-U)/2,s=_S(e.seriesName,e.seriesIndex,m,h),c=pe.has(e.label+`\0`+e.seriesName),l=fe===ni.Outside||fe===ni.Auto&&!a&&c,u=kx({text:t,placement:l?`outside`:`inside`,orientation:`horizontal`,barWidth:r,barHeight:te.bandwidth()}),d=()=>{let n=ee(e.y0)+r/2;_e.append(`text`).attr(`class`,`bc-value-label`).attr(`data-series`,e.seriesName).attr(`opacity`,0).attr(`x`,n).attr(`y`,o).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`central`).attr(`font-size`,`11px`).attr(`fill`,wr(s)).text(t)};if(l){if(fe===ni.Inside)d();else{let n=ee(e.y1)+4,r=he.get(e.label)??0,a=me.get(e.label+`\0`+e.seriesName),s=n<r,c=a!==void 0&&i+4>a,l=I+R.right-2,f=n+i>l;s||c||f||!u?d():(he.set(e.label,n+i),_e.append(`text`).attr(`class`,`bc-value-label`).attr(`data-series`,e.seriesName).attr(`x`,n).attr(`y`,o).attr(`text-anchor`,`start`).attr(`dominant-baseline`,`central`).attr(`font-size`,`11px`).attr(`fill`,`currentColor`).text(t))}}else if(!a||!u)d();else{let n=ee(e.y0)+r/2;_e.append(`text`).attr(`class`,`bc-value-label`).attr(`data-series`,e.seriesName).attr(`x`,n).attr(`y`,o).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`central`).attr(`font-size`,`11px`).attr(`fill`,wr(s)).text(t)}}),g&&p.length>0){let e=p.map(e=>_S(e,d.findIndex(t=>t.name===e),m,h)),t=0,n=0;if(y===`top`){let e=A?15:0;n=-(M.height+10+e)}else y===`bottom`?n=L+25:y===`left`?t=-(M.width+10):y===`right`&&(t=I+10);pS(F,p,e,n,y,b,I,L,t,[],{left:R.left,right:R.right})}}var CC=[`#4e79a7`,`#f28e2b`,`#e15759`,`#76b7b2`,`#59a14f`,`#edc948`,`#b07aa1`,`#ff9da7`],wC=16,TC=4,EC=20,DC=`600 11px sans-serif`,OC=`…`;function kC(e,t){if(Px(e,DC)<=t)return e;let n=e;for(;n.length>0&&Px(n+OC,DC)>t;)n=n.slice(0,-1);return n+OC}function AC(e,t,n,r,i){let a=e.length;if(a===0)return[];let o=Math.max(0,(n-(a-1)*wC)/a),s=r?e.flatMap(e=>e.values):[];return e.map((e,n)=>{let[a,c]=Ei(r?s:e.values,i?.range,i?.scaleType),l=(i?.scaleType===zr.Log?Mf():_f()).domain([a,c]).nice().range([0,o]);return{seriesName:e.name,seriesIndex:t.findIndex(t=>t.name===e.name),xOffset:n*(o+wC),panelWidth:o,xScale:l}})}function jC(e,t,n,r){let i=[];for(let a of e){let e=r.find(e=>e.name===a.seriesName);if(e)for(let r of t){let t=n.indexOf(r),o=t>=0?e.values[t]??0:0,s=Math.max(0,a.xScale(o)-a.xScale(0));i.push({label:r,seriesName:a.seriesName,seriesIndex:a.seriesIndex,value:o,xPos:a.xOffset,barWidth:s})}}return i}function MC(e,t,n={},r=!1){h_(r);let i=[],a=null,o,s,c,l=av.for(e);if(r){let t=Vb(e);o=t?.margin,s=t?.plotRect,l.detach(),t?.chartType===`bar-split`?i=Array.from(e.querySelectorAll(`.bc-frame .bc-bar-split`)):t&&(a=v_(e)),c=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of Xy(t))c.set(e,n);e.replaceChildren()}let{body:u}=Ag(e,n.frame),d=mS(t),f=d.filter(e=>!xS(e.name,n.seriesOverrides)),p=f.map(e=>e.name).filter(Boolean),m=hS(n.colors??CC,d.length),h=n.seriesOverrides,g=n.legend!==!1,_=u_(u).width,v=n.legendPosition??`top`,y=_>0&&_<350&&(v===`left`||v===`right`)?`top`:v,b=n.legendAnchor??`start`,x=zx(_,n.verticalAxis?.labelPosition),S=n.categoryLabelLine===!0||x,C=s_(t.labels),w=c_(_,S?Vr.Off:n.verticalAxis?.labelPosition,n.horizontalAxis?.labelPosition,n.verticalAxis?.direction,C,n.horizontalAxis?.showAxis);w.top=(w.top??12)+EC;let T=Math.max(0,_-(w.left??50)-(w.right??20)),E=g?oS(p,y,T):{width:0,height:0},D=g?E.height+15:0,O={...w};g&&y===`top`&&(O.top=D+EC),g&&y===`bottom`&&(O.bottom=(O.bottom??24)+D),g&&y===`left`&&(O.left=(O.left??50)+E.width+10),g&&y===`right`&&(O.right=(O.right??20)+E.width+10);let{chartArea:k,width:A,height:j,margin:M}=f_(u,O),N=Yg(o,M),P=t.labels;if(n.sortMode===`total`){let e=t.labels.map((e,t)=>({label:e,total:f.reduce((e,n)=>e+(n.values[t]??0),0)}));e.sort((e,t)=>t.total-e.total),P=e.map(e=>e.label)}let F=ef().domain(P).range([0,j]).padding(Ti(n.barGap)),I=S?Lx(F.bandwidth()):0;l.attach(k,N),l.update({vertical:{scale:F,height:j,options:{...n.verticalAxis,labelPosition:S?Vr.Off:n.verticalAxis?.labelPosition,topPadding:M.top,...x?{showAxis:!1}:{}}},order:`horizontal-first`});let L=AC(f,d,A,n.sharedScale===!0,n.horizontalAxis),R=Q(k).append(`g`).attr(`class`,`bc-split-axes`);for(let e of L)Y_(R.append(`g`).attr(`transform`,`translate(${e.xOffset},0)`).node(),e.xScale,j,{...n.horizontalAxis,width:e.panelWidth});let z=k.ownerSVGElement,B=Gb(z,e,`bars`,{x:0,y:0,width:A,height:j}),V=Q(k).append(`g`).attr(`clip-path`,`url(#${B})`),H=Q(k).append(`g`).attr(`class`,`bc-split-headers`);for(let e of L)H.append(`text`).attr(`class`,`bc-split-header`).attr(`x`,e.xOffset+e.panelWidth/2).attr(`y`,-10).attr(`text-anchor`,`middle`).attr(`dominant-baseline`,`central`).attr(`font-size`,`11px`).attr(`font-weight`,`600`).attr(`fill`,`currentColor`).text(kC(e.seriesName,e.panelWidth));let ee=jC(L,P,t.labels,d),te=bx(n.highlights,ee.map(e=>e.seriesName)),ne=zb(n.colorizes),re=Zb(e),ie=V.append(`g`).node();if(r)for(let e of i)e.removeAttribute(`opacity`),e.removeAttribute(`fill-opacity`),ie.appendChild(e);lx(re,{role:`mark-per-cell`,parent:ie,selector:`.bc-bar-split`,data:ee,key:e=>e.label+`\0`+e.seriesName,insert:e=>e.append(`rect`).attr(`class`,`bc-bar bc-bar-split`),attrs:e=>{let t=ne.get(e.seriesName)??_S(e.seriesName,e.seriesIndex,m,h),n=wS(e.seriesName,h),r={"data-series":e.seriesName,x:e.xPos,y:(F(e.label)??0)+I,width:e.barWidth,height:Math.max(0,F.bandwidth()-I),fill:t};return n<1&&(r[`fill-opacity`]=n),te.size>0&&(r.opacity=xx(te,e.seriesName)),r}});let ae={left:M.left,top:M.top,width:A,height:j};_x(re,{svg:z,clipId:B,group:k,from:s,to:ae,active:r&&i.length>0});let U=qb(V);if(n.tooltips&&U.use(Gy({numberFormat:n.verticalAxis?.numberFormat})),n.crosshair&&U.use(qy({width:A,height:j,direction:n.crosshairDirection,style:n.crosshairStyle,color:n.crosshairColor,orientation:Jr.Horizontal})),n.annotations?.length&&L.length>0){let i=L[0],a=f.find(e=>e.name===i.seriesName),o=t.labels.map((e,t)=>({label:e,value:a?.values[t]??0}));U.use(Rb(n.annotations,{scaleX:F,scaleY:i.xScale,data:o,width:A,height:j,backgroundColor:Er(e),orientation:Jr.Horizontal,transition:r,priorAnnotations:c}))}let oe=()=>U.draw(ee);if(re.state===`committing`?re.register(oe):oe(),Hb(e,{chartType:`bar-split`,margin:M,plotRect:ae}),a&&(__(V.node()),y_(e,a)),S){let e=Q(k).append(`g`).attr(`class`,`bc-category-labels`);for(let t of P){let n=F(t)??0;e.append(`text`).attr(`class`,`bc-category-label`).attr(`x`,2).attr(`y`,n+13/2).attr(`text-anchor`,`start`).attr(`dominant-baseline`,`central`).attr(`font-size`,`10px`).attr(`font-weight`,`600`).attr(`fill`,`currentColor`).text(t)}}let se=n.valueLabels??!0,ce=n.valueLabelPosition??ni.Auto,le=Q(k).append(`g`).attr(`class`,`bc-value-labels`);if(ee.forEach(e=>{if(!CS(e.seriesName,se,h))return;let t=L.find(t=>t.seriesName===e.seriesName);if(!t)return;let n=_S(e.seriesName,e.seriesIndex,m,h),r=e.xPos+e.barWidth,i=Math.max(0,F.bandwidth()-I),a=(F(e.label)??0)+I+i/2,o=r+TC+Px(String(e.value))<=t.xOffset+t.panelWidth,s=ce===ni.Inside||!o||ce===ni.Auto&&e.barWidth>30;if(!kx({text:String(e.value),placement:s?`inside`:`outside`,orientation:`horizontal`,barWidth:e.barWidth,barHeight:i}))return;let c,l,u;s?(c=r-TC,l=`end`,u=wr(n)):(c=r+TC,l=`start`,u=`currentColor`),le.append(`text`).attr(`class`,`bc-value-label`).attr(`data-series`,e.seriesName).attr(`x`,c).attr(`y`,a).attr(`text-anchor`,l).attr(`dominant-baseline`,`central`).attr(`font-size`,`11px`).attr(`fill`,u).text(String(e.value))}),g&&p.length>0){let e=p.map(e=>_S(e,d.findIndex(t=>t.name===e),m,h)),t=0,n=0;y===`top`?n=-(E.height+10+EC):y===`bottom`?n=j+25:y===`left`?t=-(E.width+10):y===`right`&&(t=A+10),pS(k,p,e,n,y,b,A,j,t,[],{left:M.left,right:M.right})}}var NC=[`#4e79a7`,`#f28e2b`,`#e15759`,`#76b7b2`,`#59a14f`,`#edc948`,`#b07aa1`,`#ff9da7`];function PC(e,t,n={},r=!1){h_(r);let i=[],a=null,o,s,c,l=av.for(e);if(r){let t=Vb(e);o=t?.margin,s=t?.plotRect,l.detach(),t?.chartType===`bar-grouped`?i=Array.from(e.querySelectorAll(`.bc-frame .bc-bar-grouped`)):t&&(a=v_(e)),c=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of Xy(t))c.set(e,n);e.replaceChildren()}let{body:u}=Ag(e,n.frame),d=mS(t),f=d.filter(e=>!xS(e.name,n.seriesOverrides)),p=f.map(e=>e.name),m=p.filter(Boolean),h=hS(n.colors??NC,d.length),g=n.seriesOverrides,_=n.legend!==!1,v=u_(u).width,y=n.legendPosition??`top`,b=v>0&&v<350&&(y===`left`||y===`right`)?`top`:y,x=n.legendAnchor??`start`,S=zx(v,n.verticalAxis?.labelPosition),C=n.categoryLabelLine===!0||S,w=s_(t.labels),T=c_(v,C?Vr.Off:n.verticalAxis?.labelPosition,n.horizontalAxis?.labelPosition,n.verticalAxis?.direction,w,n.horizontalAxis?.showAxis),E=Math.max(0,v-(T.left??50)-(T.right??20)),D=_?oS(m,b,E):{width:0,height:0},O=_?D.height+15:0,k={...T};_&&b===`top`&&(k.top=O),_&&b===`bottom`&&(k.bottom=(k.bottom??24)+O),_&&b===`left`&&(k.left=(k.left??50)+D.width+10),_&&b===`right`&&(k.right=(k.right??20)+D.width+10);let{chartArea:A,width:j,height:M,margin:N}=f_(u,k),P=Yg(o,N),F=t.labels;if(n.sortMode===`total`){let e=t.labels.map((e,t)=>({label:e,total:f.reduce((e,n)=>e+(n.values[t]??0),0)}));e.sort((e,t)=>t.total-e.total),F=e.map(e=>e.label)}let I=ef().domain(F).range([0,M]).paddingInner(Ti(n.barGap)).paddingOuter(.05),L=C?Lx(I.bandwidth()):0,R=Math.max(0,I.bandwidth()-L),z=ef().domain(p).range([0,R]).padding(.05),[B,V]=Ei(f.flatMap(e=>e.values),n.horizontalAxis?.range,n.horizontalAxis?.scaleType),H=(n.horizontalAxis?.scaleType===zr.Log?Mf():_f()).domain([B,V]).nice().range([0,j]);l.attach(A,P),l.update({vertical:{scale:I,height:M,options:{...n.verticalAxis,labelPosition:C?Vr.Off:n.verticalAxis?.labelPosition,topPadding:N.top,...S?{showAxis:!1}:{}}},horizontal:{scale:H,height:M,options:{...n.horizontalAxis,width:j}},order:`horizontal-first`});let ee=A.ownerSVGElement,te=Gb(ee,e,`bars`,{x:0,y:0,width:j,height:M}),ne=Q(A).append(`g`).attr(`clip-path`,`url(#${te})`);if(n.barBackground){let e=(n.colors??NC)[0];ne.selectAll(`.bc-bar-bg`).data(F,e=>e).enter().append(`rect`).attr(`class`,`bc-bar-bg`).attr(`x`,0).attr(`y`,e=>(I(e)??0)+L).attr(`width`,j).attr(`height`,I.bandwidth()-L).attr(`fill`,e).attr(`opacity`,.18)}if(n.barSeparators&&F.length>1){let e=I.step();for(let t=1;t<F.length;t++){let n=(I(F[t-1])??0)+I.bandwidth()+(e-I.bandwidth())/2;ne.append(`line`).attr(`class`,`bc-bar-separator`).attr(`x1`,0).attr(`x2`,j).attr(`y1`,n).attr(`y2`,n).attr(`stroke`,`currentColor`).attr(`opacity`,.15)}}let re=[];for(let e of F){let n=t.labels.indexOf(e);for(let t of f){let r=d.findIndex(e=>e.name===t.name);re.push({label:e,seriesName:t.name,seriesIndex:r,value:n>=0?t.values[n]??0:0})}}let ie=bx(n.highlights,re.map(e=>e.seriesName)),ae=zb(n.colorizes),U=Zb(e),oe=ne.append(`g`).node();if(r)for(let e of i)e.removeAttribute(`opacity`),e.removeAttribute(`fill-opacity`),oe.appendChild(e);lx(U,{role:`mark-per-cell`,parent:oe,selector:`.bc-bar-grouped`,data:re,key:e=>e.label+`\0`+e.seriesName,insert:e=>e.append(`rect`).attr(`class`,`bc-bar bc-bar-grouped`),attrs:e=>{let t=ae.get(e.seriesName)??_S(e.seriesName,e.seriesIndex,h,g),n=wS(e.seriesName,g),r={"data-series":e.seriesName,x:H(0),y:(I(e.label)??0)+L+(z(e.seriesName)??0),width:Math.max(0,H(e.value)-H(0)),height:z.bandwidth(),fill:t};return n<1&&(r[`fill-opacity`]=n),ie.size>0&&(r.opacity=xx(ie,e.seriesName)),r}});let se={left:N.left,top:N.top,width:j,height:M};_x(U,{svg:ee,clipId:te,group:A,from:s,to:se,active:r&&i.length>0});let ce=qb(ne);if(n.tooltips&&ce.use(Gy({numberFormat:n.verticalAxis?.numberFormat})),n.crosshair&&ce.use(qy({width:j,height:M,direction:n.crosshairDirection,style:n.crosshairStyle,color:n.crosshairColor,orientation:Jr.Horizontal})),n.annotations?.length){let i=t.labels.map((e,t)=>({label:e,value:Math.max(0,...f.map(e=>e.values[t]??0))}));ce.use(Rb(n.annotations,{scaleX:I,scaleY:H,data:i,width:j,height:M,backgroundColor:Er(e),orientation:Jr.Horizontal,transition:r,priorAnnotations:c}))}let le=()=>ce.draw(re);if(U.state===`committing`?U.register(le):le(),Hb(e,{chartType:`bar-grouped`,margin:N,plotRect:se}),a&&(__(ne.node()),y_(e,a)),C){let e=Q(A).append(`g`).attr(`class`,`bc-category-labels`);for(let t of F){let n=I(t)??0;e.append(`text`).attr(`class`,`bc-category-label`).attr(`x`,2).attr(`y`,n+13/2).attr(`text-anchor`,`start`).attr(`dominant-baseline`,`central`).attr(`font-size`,`10px`).attr(`font-weight`,`600`).attr(`fill`,`currentColor`).text(t)}}let ue=n.valueLabels??!0,de=n.valueLabelPosition??ni.Auto,W=Q(A).append(`g`).attr(`class`,`bc-value-labels`);if(re.forEach(e=>{if(!CS(e.seriesName,ue,g))return;let t=_S(e.seriesName,e.seriesIndex,h,g),n=Math.max(0,H(e.value)-H(0)),r=H(0)+n,i=(I(e.label)??0)+L+(z(e.seriesName)??0)+z.bandwidth()/2,a=de===ni.Inside||de===ni.Auto&&n>30;if(!kx({text:String(e.value),placement:a?`inside`:`outside`,orientation:`horizontal`,barWidth:n,barHeight:z.bandwidth()}))return;let o,s,c;a?(o=r-4,s=`end`,c=wr(t)):(o=r+4,s=`start`,c=`currentColor`),W.append(`text`).attr(`class`,`bc-value-label`).attr(`data-series`,e.seriesName).attr(`x`,o).attr(`y`,i).attr(`text-anchor`,s).attr(`dominant-baseline`,`central`).attr(`font-size`,`11px`).attr(`fill`,c).text(String(e.value))}),_&&m.length>0){let e=m.map(e=>_S(e,d.findIndex(t=>t.name===e),h,g)),t=0,n=0;b===`top`?n=-(D.height+10):b===`bottom`?n=M+25:b===`left`?t=-(D.width+10):b===`right`&&(t=j+10),pS(A,m,e,n,b,x,j,M,t,[],{left:N.left,right:N.right})}}var FC=[`x`,`y`,`size`];function IC(e){let t=new Set(e.textColumns?.map(e=>e.name));return(e.series?e.series.map(e=>e.name):[`value`]).filter(e=>!t.has(e))}function LC(e,t={}){let n={},r=new Set(FC.map(e=>t[e]).filter(Boolean)),i=IC(e).filter(e=>!r.has(e));for(let e of FC){let r=t[e]||i.shift();r&&r!==`none`&&(n[e]=r)}let a=t.group||e.textColumns?.[0]?.name;return a&&a!==`none`&&(n.group=a),n}function RC(e,t){if(t)return e.series?e.series.find(e=>e.name===t)?.values:e.values}function zC(e){return typeof e==`number`&&Number.isFinite(e)}function BC(e,t,n,r){if(!zC(e))return n;if(t===zr.Log&&e<=0)return r}function VC(e,t,n){let r=RC(e,t.x),i=RC(e,t.y),a=RC(e,t.size),o=e.textColumns?.find(e=>e.name===t.group)?.values,s=[],c=[];return e.labels.forEach((e,t)=>{let l=BC(r?.[t],n.x,`missing-x`,`non-positive-log-x`)??BC(i?.[t],n.y,`missing-y`,`non-positive-log-y`)??(a&&!(zC(a[t])&&a[t]>0)?`invalid-size`:void 0);if(l){c.push({name:e,reason:l});return}let u=o?.[t];s.push({name:e,x:r[t],y:i[t],...a&&{size:a[t]},...u&&{group:u}})}),{points:s,dropped:c}}function HC(e){let t=typeof e==`string`&&e.trim()?Number(e):e;return typeof t==`number`&&t<=0?void 0:e}function UC(e,t){let n=t&&{min:HC(t.min),max:HC(t.max)},r=Ei(e.filter(e=>e>0),n,zr.Log,!1);return r[0]>0&&Number.isFinite(r[1])?Of().domain(r).nice():Of().domain([1,10])}function WC(e,t,n){if(e===zr.Log)return UC(t,n);let r=Ei(t,n,e,!1);return e===zr.Symlog?Mf().domain(r).nice():_f().domain(r).nice()}function GC(e){switch(e){case zr.Log:return{forward:Math.log10,inverse:e=>10**e};case zr.Symlog:return{forward:e=>Math.sign(e)*Math.log1p(Math.abs(e)),inverse:e=>Math.sign(e)*Math.expm1(Math.abs(e))};default:return{forward:e=>e,inverse:e=>e}}}function KC(e,t,n,r=0){let i=e.copy().range([0,1]),a=[{t:0,r},{t:1,r},...t.map(({value:e,r:t})=>({t:i(e),r:t}))],o=e=>Math.max(...a.map(t=>t.r-t.t*e)),s=e=>{let t=o(e);return a.every(r=>t+r.t*e+r.r<=n)},c=0,l=n;for(let e=0;e<40;e++){let e=(c+l)/2;s(e)?c=e:l=e}let u=o(c);return[u,u+c]}var qC=[1,2,5],JC=11,YC=`${JC}px`,XC=8,ZC=6,QC=24,$C=`4 3`,ew=JC*1.2,tw=Gd(`~s`);function nw(e,t){let n=[...new Set(e.map(e=>e.group).filter(e=>!!e))];return new Map(n.map((e,n)=>[e,t[n%t.length]]))}function rw(e){let t=Math.floor(Math.log10(e));return[t-1,t].flatMap(e=>qC.map(t=>t*10**e)).filter(t=>t<=e).slice(-3)}function iw(e,t,n,r){return e.append(`text`).attr(`x`,n).attr(`y`,r).attr(`font-size`,YC).attr(`fill`,`currentColor`).text(t)}function aw(e,t){let n=[];for(let r of[...e].reverse()){let e=n[n.length-1];(e===void 0||2*(t(e)-t(r))>=ew)&&n.push(r)}return n.reverse()}function ow(e,{sizeLabel:t,sizeValues:n,radius:r},i){let a=Q(e).append(`g`).attr(`class`,`bc-size-legend`),o=r(n[n.length-1]);t&&iw(a,t,0,i-o*2-ZC),aw(n,r).forEach(e=>{let t=r(e);a.append(`circle`).attr(`cx`,o).attr(`cy`,i-t).attr(`r`,t).attr(`fill`,`none`).attr(`stroke`,`currentColor`).attr(`stroke-opacity`,.6),iw(a,tw(e),o*2+ZC,i-t*2+XC)})}function sw(e){let t=Q(e).append(`g`).attr(`class`,`bc-trend-key`).attr(`transform`,`translate(0,-16)`);t.append(`line`).attr(`x1`,0).attr(`x2`,QC).attr(`y1`,6).attr(`y2`,6).attr(`stroke`,`currentColor`).attr(`stroke-dasharray`,$C),iw(t,`Trend`,30,10)}function cw({sizeLabel:e,sizeValues:t,radius:n,trend:r}){let i=[0];if(t.length>0){let r=t.map(tw);i.push(n(t[t.length-1])*2+ZC+Math.max(...r.map(e=>Kg(e,JC)))),i.push(Kg(e??``,JC))}return r&&i.push(30+Kg(`Trend`,JC)),Math.ceil(Math.max(...i))}function lw(e,t){let n=t.sizeValues.length>0;if(!n&&!t.trend)return null;let r=Q(e).append(`g`).attr(`class`,`bc-scatter-key`).node();return n&&ow(r,t,t.trend?-24:0),t.trend&&sw(r),r}function uw(e,t){let n=new Set(e.map(e=>e.name)),r=new Set;for(let i of t){if(n.has(i)){r.add(i);continue}e.filter(e=>e.group===i).forEach(e=>r.add(e.name))}return r}function dw(e,t){let n=new Set(e.map(e=>e.name)),r=[...t];return{points:new Map(r.filter(([e])=>n.has(e))),groups:new Map(r.filter(([e])=>!n.has(e)))}}function fw(e,t,n,r){return t.get(e.name)??n.get(e.group??``)??r}var pw=3,mw=2,hw=1.3;function gw(e,t){let{key:n,cx:r,cy:i,r:a}=e,o=t*hw/2;return[{key:n,x:r+a+pw,y:i,anchor:`start`},{key:n,x:r-a-pw,y:i,anchor:`end`},{key:n,x:r,y:i-a-pw-o,anchor:`middle`},{key:n,x:r,y:i+a+pw+o,anchor:`middle`}]}function _w(e,t,n){let r={start:0,middle:t/2,end:t}[e.anchor],i=e.x-r,a=n*hw/2;return{left:i,right:i+t,top:e.y-a,bottom:e.y+a}}function vw(e,t){return e.left<t.right+mw&&t.left<e.right+mw&&e.top<t.bottom&&t.top<e.bottom}function yw(e,t,n){let r=[],i=[];for(let a of e){let e=Kg(a.text,n);for(let o of gw(a,n)){let a=_w(o,e,n);if(a.left>=0&&a.right<=t.width&&a.top>=0&&a.bottom<=t.height&&!i.some(e=>vw(e,a))){r.push(o),i.push(a);break}}}return r}function bw(e){return(e?Ng(e):null)??String}function xw(e,t,n){let r=[e.name,`${t.x}: ${bw(n.x)(e.x)}`,`${t.y}: ${bw(n.y)(e.y)}`];return e.size!==void 0&&t.size&&r.push(`${t.size}: ${e.size}`),e.group!==void 0&&t.group&&r.push(`${t.group}: ${e.group}`),r.join(`
|
|
344
|
+
`)}var Sw=[`overall`,`per-group`];function Cw(e){return Sw.includes(e??``)}var ww=3;function Tw(e,t){let n=e.length;if(n<ww)return null;let r=e.reduce((e,t)=>e+t,0)/n,i=t.reduce((e,t)=>e+t,0)/n,a=e.reduce((e,t)=>e+(t-r)**2,0);if(a===0)return null;let o=e.reduce((e,n,a)=>e+(n-r)*(t[a]-i),0)/a;return{slope:o,intercept:i-o*r}}function Ew(e,t,n,r){let i=GC(t.x),a=GC(t.y),o=e.map(e=>i.forward(e.x)),s=Tw(o,e.map(e=>a.forward(e.y)));if(!s)return null;let[c,l]=[Math.min(...o),Math.max(...o)],u=e=>a.inverse(s.slope*e+s.intercept);return{key:n,group:r,x1:i.inverse(c),y1:u(c),x2:i.inverse(l),y2:u(l)}}function Dw(e,t,n){let r=[],i=[],a=t===`overall`?new Map([[`overall`,e]]):Ow(e);for(let[e,o]of a){let a=Ew(o,n,`trend:${e}`,t===`overall`?void 0:e);a?r.push(a):i.push(e)}return{segments:r,skipped:i}}function Ow(e){let t=new Map;for(let n of e)n.group!==void 0&&t.set(n.group,[...t.get(n.group)??[],n]);return t}var kw=`#4e79a7`,Aw=4.5,jw=.7,Mw=16,Nw=350,Pw=8,Fw=`6 4`,Iw=1.5,Lw=.6,Rw=11,zw=3;function Bw(e,t){return Math.min(e,t)/12}function Vw(e,t,n){return e===`left`?-(t+10):e===`right`?n+10:0}function Hw(e,t,n,r,i){return e===`top`?-(t+10):e===`bottom`?r+Math.max(i-n,0):0}function Uw(e,t,n){let r=ta(e,e=>e.size);return r===void 0?()=>Aw:Rf().domain([0,r]).range([0,Bw(t,n)])}function Ww(e,t,n){let r=new Set((n.annotations??[]).flatMap(e=>e.kind===Kr.Point?[e.target]:[])),i=n.showLabels?e:e.filter(e=>t.has(e.name)||r.has(e.name)),a=e=>+!t.has(e.name);return Gi(i,(e,t)=>a(e)-a(t)||(t.size??0)-(e.size??0))}function Gw(e,t,n={},r=!1){h_(r),FS(e);let i=av.for(e),a=r?Vb(e):void 0,o=[],s=[],c=[],l=null,u;if(r){i.detach(),a?.chartType===`scatter`?(o=Array.from(e.querySelectorAll(`.bc-frame .bc-trend-line`)),s=Array.from(e.querySelectorAll(`.bc-frame .bc-scatter-point`)),c=Array.from(e.querySelectorAll(`.bc-frame .bc-point-label`))):a&&(l=v_(e)),u=new Map;for(let t of e.querySelectorAll(`.bc-frame .bc-annotations, .bc-frame .bc-annotations-range`))for(let[e,n]of Xy(t))u.set(e,n);e.replaceChildren()}let d=LC(t,n),f={x:n.horizontalAxis?.scaleType,y:n.verticalAxis?.scaleType},{points:p}=VC(t,d,f),m=WC(f.x,p.map(e=>e.x),n.horizontalAxis?.range),h=WC(f.y,p.map(e=>e.y),n.verticalAxis?.range),{body:g}=Ag(e,n.frame),_=u_(g).width,v=o_(h,n.verticalAxis?.numberFormat),y=c_(_,n.verticalAxis?.labelPosition,n.horizontalAxis?.labelPosition,n.verticalAxis?.direction,v),b=nw(p,n.colors??tC),x=[...b.keys()],S=n.legend!==!1&&x.length>0,C=n.legendPosition??`top`,w=_>0&&_<Nw&&(C===`left`||C===`right`)?`top`:C,T=n.legendAnchor??`start`,E=ta(p,e=>e.size),D={sizeLabel:d.size,sizeValues:E===void 0?[]:rw(E),trend:Cw(n.trend)},O=D.sizeValues.length>0||D.trend,k=(e,t)=>Rf().domain([0,E??1]).range([0,Bw(e,t)]),A=_>0?_:600,j=u_(g).height||400,M=y.top==null?0:15,N=y.right??Xg.right,P={...y,right:N},F={width:0,height:0},I=0,L=0;for(let e=0;e<3;e++){let e=P.left??Xg.left,t=Math.max(0,A-e-P.right);F=S?oS(x,w,t):{width:0,height:0},I=S?F.height+15:0,S&&w===`top`&&(P.top=I+M),S&&w===`left`&&(P.left=(y.left??50)+F.width+10),L=S&&w===`right`?F.width+10:0,P.bottom=Math.max(y.bottom??24,24)+(S&&w===`bottom`?I:0);let n=j-(P.top??Xg.top)-P.bottom,r=O?cw({...D,radius:k(t,n)}):0;P.right=L+(O?Mw+r:N)}let{chartArea:R,width:z,height:B,margin:V}=f_(g,P),H=Yg(a?.margin,V),ee=Uw(p,z,B),te=e=>ee(e.size??0);m.range(KC(m,p.map(e=>({value:e.x,r:te(e)+1})),z));let[ne,re]=KC(h,p.map(e=>({value:e.y,r:te(e)+1})),B,Pw);h.range([B-ne,B-re]),i.attach(R,H),i.update({vertical:{scale:h,height:B,options:{...n.verticalAxis,gridWidth:z,topPadding:V.top}},horizontal:{scale:m,height:B,options:{...n.horizontalAxis,width:z}}});let ie=R.ownerSVGElement,ae=Gb(ie,e,`plot`,{x:0,y:0,width:z,height:B}),U=Q(R).append(`g`).attr(`clip-path`,`url(#${ae})`).node(),oe=Q(R).append(`g`).attr(`clip-path`,`url(#${ae})`).node();U.append(...o);let se=Gi(p,e=>-te(e)),ce=new Map(se.map((e,t)=>[e.name,t]));oe.append(...Gi(s,e=>ce.get(e.getAttribute(`data-key`))??1/0));let le=dw(p,zb(n.colorizes)),ue=new Map(x.map(e=>[e,le.groups.get(e)??b.get(e)])),de=uw(p,(n.highlights??[]).map(e=>e.target)),W=e=>fw(e,le.points,ue,kw),G=Er(e),fe=Zb(e);lx(fe,{role:`series-line`,parent:U,selector:`.bc-trend-line`,data:Cw(n.trend)?Dw(p,n.trend,f).segments:[],key:e=>e.key,insert:e=>e.append(`path`).attr(`class`,`bc-trend-line`).attr(`data-key`,e=>e.key),attrs:e=>({d:`M${m(e.x1)},${h(e.y1)}L${m(e.x2)},${h(e.y2)}`,fill:`none`,stroke:e.group===void 0?`currentColor`:ue.get(e.group),"stroke-opacity":e.group===void 0?Lw:1,"stroke-width":Iw,"stroke-dasharray":Fw})});let pe=e=>({cx:m(e.x),cy:h(e.y),r:te(e),fill:W(e),"fill-opacity":xx(de,e.name,jw),stroke:G,"stroke-width":1,opacity:1});lx(fe,{role:`mark-per-category`,parent:oe,selector:`.bc-scatter-point`,data:se,key:e=>e.name,insert:e=>e.append(`circle`).attr(`class`,`bc-scatter-point`).attr(`data-key`,e=>e.name),attrs:pe,enterFrom:e=>({...pe(e),opacity:0}),exitTo:()=>({opacity:0})}),Q(oe).selectAll(`.bc-scatter-point`).attr(`data-series`,e=>e.group??null);let me=yw(Ww(p,de,n).map(e=>({key:e.name,text:e.name,cx:m(e.x),cy:h(e.y),r:te(e)})),{width:z,height:B},Rw),he=Q(R).append(`g`).node();he.append(...c);let ge=e=>({x:e.x,y:e.y,"text-anchor":e.anchor,opacity:1});if(lx(fe,{role:`value-label`,parent:he,selector:`.bc-point-label`,data:me,key:e=>e.key,insert:e=>e.append(`text`).attr(`class`,`bc-point-label`).attr(`data-key`,e=>e.key).attr(`dominant-baseline`,`central`).attr(`font-size`,Rw).attr(`fill`,`currentColor`).text(e=>e.key),attrs:ge,enterFrom:e=>({...ge(e),opacity:0}),exitTo:()=>({opacity:0})}),n.annotations?.length){let e=p.map(e=>({label:e.name,value:e.y,x:e.x}));Lb(R,n.annotations,{scaleX:m,scaleY:h,data:e,width:z,height:B,backgroundColor:G,transition:r,priorAnnotations:u})}let _e={left:V.left,top:V.top,width:z,height:B};_x(fe,{svg:ie,clipId:ae,group:R,from:a?.chartType===`scatter`?a.plotRect:void 0,to:_e,active:r}),S&&pS(R,x,[...ue.values()],Hw(w,F.height+M,I,B,V.bottom),w,T,z,B,Vw(w,F.width,z),[],{left:V.left,right:V.right});let ve=lw(R,{...D,radius:ee}),ye=cw({...D,radius:ee});if(ve?.setAttribute(`transform`,`translate(${Math.max(z+L+Mw,z+V.right-ye)},${B})`),n.tooltips){let t={x:n.horizontalAxis?.numberFormat,y:n.verticalAxis?.numberFormat};RS(R,{width:z,height:B,points:p.map(e=>({cx:m(e.x),cy:h(e.y),label:xw(e,d,t),value:e.y,color:W(e),r:te(e)+zw})),nearest:`xy`,format:e=>e.label,container:e})}Hb(e,{chartType:`scatter`,margin:V,plotRect:_e}),l&&(__(U),__(oe),y_(e,l))}var Kw=new Map;function qw(e,t,n){Kw.set(e,{renderer:t,options:n})}function Jw(e){return Kw.get(e)?.renderer}function Yw(e){return Kw.get(e)?.options??[]}var Xw=[{value:Br.Solid,text:`Solid`},{value:Br.Dashed,text:`Dashed`},{value:Br.Dotted,text:`Dotted`},{value:Br.None,text:`None`}],Zw={key:`colors`,type:Z.Colors,label:`Colors`},Qw={key:`colorPalette`,type:Z.Select,label:`Color palette`,default:`Blueprint`,choices:[{value:``,text:`Custom`},...oe().map(e=>({value:e.name,text:e.label}))]},$w={key:`autoContrast`,type:Z.Boolean,label:`Auto-adjust contrast`,default:!1},eT={key:`allowDarkMode`,type:Z.Boolean,label:`Allow dark mode`,default:!0},tT={key:`legend`,type:Z.Boolean,label:`Show legend`,default:!0},nT={key:`legendPosition`,type:Z.Select,label:`Legend position`,default:ei.Top,choices:[{value:ei.Top,text:`Top`},{value:ei.Bottom,text:`Bottom`},{value:ei.Left,text:`Left`},{value:ei.Right,text:`Right`}]},rT={key:`legendAnchor`,type:Z.Select,label:`Legend anchor`,default:ti.Start,choices:[{value:ti.Start,text:`Start`},{value:ti.Middle,text:`Middle`},{value:ti.End,text:`End`}]},iT={key:`directLabelling`,type:Z.Select,label:`Direct labelling`,default:oi.Off,choices:[{value:oi.Off,text:`Off`},{value:oi.Auto,text:`Auto`},{value:oi.Outside,text:`Outside`},{value:oi.Inside,text:`Inside`}]},aT={key:`directLabelAnchor`,type:Z.Select,label:`Label anchor`,default:ti.Middle,choices:[{value:ti.Start,text:`Start`},{value:ti.Middle,text:`Middle`},{value:ti.End,text:`End`}]},oT={key:`valueLabels`,type:Z.Boolean,label:`Value labels`,default:!1},sT={key:`valueLabelPosition`,type:Z.Select,label:`Label position`,default:ni.Auto,choices:[{value:ni.Auto,text:`Auto`},{value:ni.Outside,text:`Outside`},{value:ni.Inside,text:`Inside`}]},cT={key:`tooltips`,type:Z.Boolean,label:`Tooltips`,default:!1},lT={key:`crosshair`,type:Z.Boolean,label:`Crosshair`,default:!1},uT={key:`crosshairDirection`,type:Z.Select,label:`Crosshair direction`,default:ri.Both,choices:[{value:ri.Both,text:`Both`},{value:ri.Vertical,text:`Vertical`},{value:ri.Horizontal,text:`Horizontal`}]},dT={key:`crosshairStyle`,type:Z.Select,label:`Crosshair style`,default:ii.Dashed,choices:[{value:ii.Solid,text:`Solid`},{value:ii.Dashed,text:`Dashed`},{value:ii.Dotted,text:`Dotted`}]},fT={key:`crosshairColor`,type:Z.Text,label:`Crosshair color`,default:`#999`,placeholder:`#999`},pT={key:`lineSymbols`,type:Z.Boolean,label:`Show line symbols`,default:!1},mT={key:`lineSymbolShape`,type:Z.Select,label:`Symbol`,default:Yr.Circle,choices:[{value:Yr.Circle,text:`Circle`},{value:Yr.Square,text:`Square`},{value:Yr.Diamond,text:`Diamond`},{value:Yr.Triangle,text:`Triangle Up`},{value:Yr.TriangleDown,text:`Triangle Down`},{value:Yr.Cross,text:`Cross`},{value:Yr.Star,text:`Star`}]},hT={key:`lineSymbolShowOn`,type:Z.Select,label:`Show on`,default:Xr.FirstLast,choices:[{value:Xr.FirstLast,text:`First & Last`},{value:Xr.First,text:`First`},{value:Xr.Last,text:`Last`},{value:Xr.All,text:`All`}]},gT={key:`lineSymbolStyle`,type:Z.Select,label:`Style`,default:Zr.Filled,choices:[{value:Zr.Filled,text:`Filled`},{value:Zr.Hollow,text:`Hollow`}]},_T={key:`lineSymbolSize`,type:Z.Text,label:`Size`,default:`3.5`,placeholder:`3.5`},vT={key:`lineSymbolOpacity`,type:Z.Text,label:`Opacity`,default:`1`,placeholder:`1`},yT={key:`sortMode`,type:Z.Select,label:`Sort mode`,default:$r.None,choices:[{value:$r.None,text:`None`},{value:$r.Total,text:`By total`},{value:$r.WithinGroups,text:`Within groups`}]},bT={key:`edgePadding`,type:Z.Boolean,label:`Edge padding`,default:!1},xT={key:`waterfall`,type:Z.Boolean,label:`Waterfall`,default:!1},ST={key:`waterfallTotal`,type:Z.Boolean,label:`Waterfall total`,default:!1},CT={key:`barBackground`,type:Z.Boolean,label:`Bar background`,default:!1},wT={key:`barGap`,type:Z.Text,label:`Bar gap`,default:`60`,placeholder:`60`},TT={key:`barSeparators`,type:Z.Boolean,label:`Bar separators`,default:!1},ET={key:`connectedColumns`,type:Z.Boolean,label:`Connected columns`,default:!1},DT={key:`connectionsOpacity`,type:Z.Text,label:`Opacity`,default:`0.15`,placeholder:`0.15`},OT={key:`swapLabelValue`,type:Z.Boolean,label:`Swap labels and values`,default:!1},kT={key:`stackMode`,type:Z.Select,label:`Stack mode`,default:ai.Normal,choices:[{value:ai.Normal,text:`Normal`},{value:ai.Percent,text:`Percentage (100%)`}]},AT={key:`sharedScale`,type:Z.Boolean,label:`Shared scale`,default:!1},jT={key:`categoryLabelLine`,type:Z.Boolean,label:`Labels on separate line`,default:!1},MT={key:`displayAsPercentage`,type:Z.Boolean,label:`Display as percentage`,default:!1},NT={key:`showTotal`,type:Z.Boolean,label:`Show total`,default:!1},PT={key:`showLabels`,type:Z.Boolean,label:`Show labels`,default:!0},FT={key:`showValues`,type:Z.Boolean,label:`Show values`,default:!0},IT={key:`sliceMax`,type:Z.Text,label:`Max slices`,default:`6`},LT={key:`sliceGroupLabel`,type:Z.Text,label:`Group label`,default:`Others`,placeholder:`Others`},RT={key:`areaFillOpacity`,type:Z.Text,label:`Opacity`,default:`0.85`,placeholder:`0.85`},zT={key:`stacked`,type:Z.Boolean,label:`Stack areas`,default:!0},BT={key:`stackPercent`,type:Z.Boolean,label:`Stack to 100%`,default:!1},VT={key:`areaLines`,type:Z.Boolean,label:`Separate areas with lines`,default:!0},HT={key:`areaSortMode`,type:Z.Select,label:`Sort areas`,default:Qr.None,choices:[{value:Qr.None,text:`Keep order`},{value:Qr.Ascending,text:`Smallest first`},{value:Qr.Descending,text:`Largest first`}]},UT={key:`interpolation`,type:Z.Select,label:`Line interpolation`,default:si.Linear,choices:[{value:si.Linear,text:`Linear`},{value:si.MonotoneX,text:`Monotone`},{value:si.Step,text:`Step`},{value:si.StepBefore,text:`Step (before)`},{value:si.StepAfter,text:`Step (after)`},{value:si.Basis,text:`Basis`},{value:si.Cardinal,text:`Cardinal`},{value:si.CatmullRom,text:`Catmull-Rom`}]},WT={[zr.Linear]:`Linear`,[zr.Log]:`Logarithmic`,[zr.Symlog]:`Symmetric log`};function GT(e){return e.map(e=>({value:e,text:WT[e]}))}var KT=[{value:Vr.Auto,text:`Auto`},{value:Vr.Inside,text:`Inside`},{value:Vr.Outside,text:`Outside`},{value:Vr.Off,text:`Off`}],qT=[{value:Hr.Auto,text:`Auto`},{value:Hr.Horizontal,text:`Horizontal`},{value:Hr.Vertical,text:`Vertical`}];function JT(e){let t=GT(e.scaleTypeChoices??[zr.Linear,zr.Log]),n=e.valueAxis===`vertical`||e.valueAxis===`both`,r=e.valueAxis===`horizontal`||e.valueAxis===`both`;return[{key:`showVerticalAxis`,type:Z.Boolean,label:`Show vertical axis`,default:e.showVerticalAxis??!0},{key:`verticalAxisDirection`,type:Z.Select,label:`Vertical axis side`,default:Rr.Left,choices:[{value:Rr.Left,text:`Left`},{value:Rr.Right,text:`Right`}]},{key:`showVerticalTicks`,type:Z.Boolean,label:`Show vertical ticks`,default:e.showVerticalTicks},{key:`verticalLabelPosition`,type:Z.Select,label:`Vertical labels`,default:e.valueAxisLabelsOff&&e.valueAxis===`vertical`?Vr.Off:Vr.Auto,choices:KT},{key:`verticalGridStyle`,type:Z.Select,label:`Vertical grid style`,default:e.verticalGrid,choices:Xw},{key:`verticalNumberFormat`,type:Z.NumberFormat,label:`Vertical number format`},...n?[{key:`verticalScaleType`,type:Z.Select,label:`Vertical scale`,default:zr.Linear,choices:t},{key:`verticalRangeMin`,type:Z.Text,label:`Vertical min`,placeholder:`auto`},{key:`verticalRangeMax`,type:Z.Text,label:`Vertical max`,placeholder:`auto`}]:[],{key:`showHorizontalAxis`,type:Z.Boolean,label:`Show horizontal axis`,default:e.showHorizontalAxis??!0},{key:`showHorizontalTicks`,type:Z.Boolean,label:`Show horizontal ticks`,default:e.showHorizontalTicks},{key:`horizontalLabelPosition`,type:Z.Select,label:`Horizontal labels`,default:e.valueAxisLabelsOff&&e.valueAxis===`horizontal`?Vr.Off:Vr.Auto,choices:KT},{key:`horizontalLabelRotation`,type:Z.Select,label:`Horizontal label rotation`,default:Hr.Horizontal,choices:qT},{key:`horizontalGridStyle`,type:Z.Select,label:`Horizontal grid style`,default:e.horizontalGrid,choices:Xw},{key:`horizontalNumberFormat`,type:Z.NumberFormat,label:`Horizontal number format`},...r?[{key:`horizontalScaleType`,type:Z.Select,label:`Horizontal scale`,default:zr.Linear,choices:t},{key:`horizontalRangeMin`,type:Z.Text,label:`Horizontal min`,placeholder:`auto`},{key:`horizontalRangeMax`,type:Z.Text,label:`Horizontal max`,placeholder:`auto`}]:[],...e.horizontalRange?[{key:`horizontalRangeMin`,type:Z.Text,label:`Horizontal min`,placeholder:`auto`},{key:`horizontalRangeMax`,type:Z.Text,label:`Horizontal max`,placeholder:`auto`}]:[]]}var YT=JT({verticalGrid:Br.None,horizontalGrid:Br.None,showVerticalTicks:!1,showHorizontalTicks:!1,showVerticalAxis:!1,valueAxis:`vertical`,valueAxisLabelsOff:!0}),XT=JT({verticalGrid:Br.None,horizontalGrid:Br.None,showVerticalTicks:!1,showHorizontalTicks:!1,showHorizontalAxis:!1,valueAxis:`horizontal`,valueAxisLabelsOff:!0}),ZT=JT({verticalGrid:Br.Dashed,horizontalGrid:Br.None,showVerticalTicks:!1,showHorizontalTicks:!1,showVerticalAxis:!1,valueAxis:`vertical`,horizontalRange:!0}),QT=JT({verticalGrid:Br.Dashed,horizontalGrid:Br.None,showVerticalTicks:!1,showHorizontalTicks:!1,showVerticalAxis:!1,valueAxis:`vertical`,horizontalRange:!0}),$T={...UT,default:si.MonotoneX},eE={...uT,default:ri.Vertical},tE={...lT,default:!0},nE={...pT,default:!0},rE={...yT,default:$r.Total},iE={...oT,default:!0},aE={...oT,default:!0},oE={...MT,default:!0},sE={...IT,default:`5`},cE={...NT,default:!0},lE={...iT,default:oi.Auto},uE={...tT,default:!1},dE=[lT,uT,dT,fT],fE=[tE,eE,dT,fT],pE=[aE,sT,cT,...dE],mE=[iE,sT,cT,...dE],hE=[pT,mT,hT,gT,_T,vT],gE=[nE,mT,hT,gT,_T,vT],_E=[oT,cT,...fE,...hE],vE=[oT,cT,...fE,...gE],yE=[oE,PT,FT,sE,LT],bE=[MT,cE,PT,FT,IT,LT];qw(Lr.BarVertical,Ux,[Zw,Qw,$w,eT,OT,CT,TT,wT,ET,DT,xT,ST,jT,...YT,...pE]),qw(Lr.BarHorizontal,Yx,[Zw,Qw,$w,eT,OT,CT,TT,wT,ET,DT,xT,ST,jT,...XT,...mE]),qw(Lr.BarMulti,AS,[Zw,Qw,$w,eT,rE,uE,rT,nT,lE,aT,...YT,...pE]),qw(Lr.Line,HS,[Zw,Qw,$w,eT,$T,bT,...ZT,..._E]),qw(Lr.LineMulti,nC,[Zw,Qw,$w,eT,$T,bT,yT,uE,rT,nT,lE,...ZT,...vE]),qw(Lr.Donut,lC,[Zw,Qw,$w,eT,uE,rT,nT,lE,cT,...bE]),qw(Lr.Pie,dC,[Zw,Qw,$w,eT,uE,rT,nT,lE,cT,...yE]),qw(Lr.Area,fC,[Zw,Qw,$w,eT,$T,bT,...QT,..._E]);var xE=JT({verticalGrid:Br.Dashed,horizontalGrid:Br.None,showVerticalTicks:!1,showHorizontalTicks:!1,showVerticalAxis:!1,valueAxis:`vertical`,horizontalRange:!0});qw(Lr.AreaStacked,gC,[Zw,Qw,$w,eT,RT,$T,bT,HT,zT,BT,VT,tT,rT,nT,iT,...xE,cT,...fE]),qw(Lr.ColumnStacked,yC,[Zw,Qw,$w,eT,kT,yT,tT,rT,nT,iT,aT,...YT,...pE]),qw(Lr.BarStacked,SC,[Zw,Qw,$w,eT,kT,yT,tT,rT,nT,iT,aT,jT,...XT,...mE]),qw(Lr.BarSplit,MC,[Zw,Qw,$w,eT,AT,yT,tT,rT,nT,jT,...XT,iE,sT,cT,...dE]),qw(Lr.BarGrouped,PC,[Zw,Qw,$w,eT,rE,tT,rT,nT,CT,TT,jT,...XT,iE,sT,cT,...dE]);var SE=[{key:`x`,type:Z.Text,label:`X axis`,default:``},{key:`y`,type:Z.Text,label:`Y axis`,default:``},{key:`size`,type:Z.Text,label:`Bubble size`,default:``},{key:`group`,type:Z.Text,label:`Color groups`,default:``}],CE={key:`trend`,type:Z.Select,label:`Trend line`,default:``,choices:[{value:``,text:`None`},{value:`overall`,text:`Overall`},{value:`per-group`,text:`Per group`}]},wE={...PT,default:!1,label:`Label all points`},TE=JT({verticalGrid:Br.Dashed,horizontalGrid:Br.Dashed,showVerticalTicks:!1,showHorizontalTicks:!1,showVerticalAxis:!1,valueAxis:`both`,scaleTypeChoices:[zr.Linear,zr.Log,zr.Symlog]});qw(Lr.Scatter,Gw,[Zw,Qw,$w,eT,...SE,CE,wE,tT,nT,rT,{...cT,default:!0},...TE]),qw(Lr.VerticalBar,Ux,[Zw,Qw,$w,eT,OT,CT,TT,wT,ET,DT,xT,ST,jT,...YT,...pE]),qw(Lr.HorizontalBar,Yx,[Zw,Qw,$w,eT,OT,CT,TT,wT,ET,DT,xT,ST,jT,...XT,...mE]);function EE(e){let t=(e??``).trim();return t&&yi(t)!==void 0?t:void 0}function DE(e){if(!(e.showVerticalTicks!==void 0||e.verticalGridStyle!==void 0||e.verticalNumberFormat!==void 0||e.showVerticalAxis!==void 0||e.verticalAxisDirection!==void 0||e.verticalScaleType!==void 0||e.verticalLabelPosition!==void 0||e.verticalRangeMin||e.verticalRangeMax))return{};let t={};e.showVerticalTicks!==void 0&&(t.showTicks=e.showVerticalTicks),e.verticalAxisDirection!==void 0&&(t.direction=e.verticalAxisDirection),e.verticalGridStyle!==void 0&&(t.gridStyle=e.verticalGridStyle),e.verticalNumberFormat!==void 0&&(t.numberFormat=e.verticalNumberFormat),e.showVerticalAxis!==void 0&&(t.showAxis=e.showVerticalAxis),e.verticalScaleType!==void 0&&(t.scaleType=e.verticalScaleType),e.verticalLabelPosition!==void 0&&(t.labelPosition=e.verticalLabelPosition);let n=EE(e.verticalRangeMin),r=EE(e.verticalRangeMax);return(n!==void 0||r!==void 0)&&(t.range={},n!==void 0&&(t.range.min=n),r!==void 0&&(t.range.max=r)),{verticalAxis:t}}function OE(e){if(!(e.showHorizontalTicks!==void 0||e.horizontalGridStyle!==void 0||e.horizontalNumberFormat!==void 0||e.showHorizontalAxis!==void 0||e.horizontalScaleType!==void 0||e.horizontalLabelPosition!==void 0||e.horizontalLabelRotation!==void 0||e.horizontalRangeMin||e.horizontalRangeMax))return{};let t={};e.showHorizontalTicks!==void 0&&(t.showTicks=e.showHorizontalTicks),e.horizontalGridStyle!==void 0&&(t.gridStyle=e.horizontalGridStyle),e.horizontalNumberFormat!==void 0&&(t.numberFormat=e.horizontalNumberFormat),e.showHorizontalAxis!==void 0&&(t.showAxis=e.showHorizontalAxis),e.horizontalScaleType!==void 0&&(t.scaleType=e.horizontalScaleType),e.horizontalLabelPosition!==void 0&&(t.labelPosition=e.horizontalLabelPosition),e.horizontalLabelRotation!==void 0&&(t.labelRotation=e.horizontalLabelRotation);let n=EE(e.horizontalRangeMin),r=EE(e.horizontalRangeMax);return(n!==void 0||r!==void 0)&&(t.range={},n!==void 0&&(t.range.min=n),r!==void 0&&(t.range.max=r)),{horizontalAxis:t}}var kE=new Set(`colors.colorPalette.autoContrast.crosshairDirection.crosshairStyle.crosshairColor.lineSymbols.lineSymbolShape.lineSymbolShowOn.lineSymbolStyle.lineSymbolSize.lineSymbolOpacity.showVerticalTicks.showVerticalAxis.verticalAxisDirection.verticalGridStyle.verticalNumberFormat.verticalScaleType.verticalLabelPosition.verticalRangeMin.verticalRangeMax.showHorizontalTicks.showHorizontalAxis.horizontalGridStyle.horizontalNumberFormat.horizontalScaleType.horizontalLabelPosition.horizontalLabelRotation.horizontalRangeMin.horizontalRangeMax.sliceMax.barGap.connectionsOpacity.areaFillOpacity`.split(`.`));function AE(e,t){if(!t)return{};let n={};for(let{key:r}of Yw(t)){let t=e[r];t!==void 0&&!kE.has(r)&&(n[r]=t)}return n}function jE(e,t){let n={},r=U(e.colorPalette);return r?n.colors=r:e.colors&&e.colors.length>0&&(n.colors=e.colors),e.autoContrast&&t&&n.colors&&(n.colors=Mr(n.colors,t)),e.allowDarkMode!==void 0&&(n.allowDarkMode=e.allowDarkMode),n}function ME(e){let t={};return e.legend!==void 0&&(t.legend=e.legend),e.legendPosition!==void 0&&(t.legendPosition=e.legendPosition),e.legendAnchor!==void 0&&(t.legendAnchor=e.legendAnchor),e.directLabelling!==void 0&&(t.directLabelling=e.directLabelling),e.directLabelAnchor!==void 0&&(t.directLabelAnchor=e.directLabelAnchor),t}function NE(e){return e.lineSymbols?{lineSymbols:{symbol:e.lineSymbolShape??Yr.Circle,showOn:e.lineSymbolShowOn??Xr.FirstLast,style:e.lineSymbolStyle??Zr.Filled,size:parseFloat(e.lineSymbolSize??`3.5`)||3.5,opacity:parseFloat(e.lineSymbolOpacity??`1`)||1}}:{}}function PE(e,t,n){let r={...AE(e,n),...jE(e,t),...ME(e),...DE(e),...OE(e),...NE(e)};e.interpolation!==void 0&&(r.interpolation=e.interpolation),e.valueLabels!==void 0&&(r.valueLabels=e.valueLabels),e.valueLabelPosition!==void 0&&(r.valueLabelPosition=e.valueLabelPosition),e.tooltips!==void 0&&(r.tooltips=e.tooltips),e.crosshair!==void 0&&(r.crosshair=e.crosshair),e.crosshairDirection&&(r.crosshairDirection=e.crosshairDirection),e.crosshairStyle&&(r.crosshairStyle=e.crosshairStyle),e.crosshairColor&&(r.crosshairColor=e.crosshairColor),e.displayAsPercentage!==void 0&&(r.displayAsPercentage=e.displayAsPercentage),e.showTotal!==void 0&&(r.showTotal=e.showTotal),e.showLabels!==void 0&&(r.showLabels=e.showLabels),e.showValues!==void 0&&(r.showValues=e.showValues),e.swapLabelValue!==void 0&&(r.swapLabelValue=e.swapLabelValue);let i=parseInt(e.sliceMax??``,10);!isNaN(i)&&i>0&&(r.sliceMax=i),e.sliceGroupLabel!==void 0&&(r.sliceGroupLabel=e.sliceGroupLabel),e.barBackground!==void 0&&(r.barBackground=e.barBackground),e.barSeparators!==void 0&&(r.barSeparators=e.barSeparators);let a=parseFloat(e.barGap??``);isNaN(a)||(r.barGap=Math.max(0,Math.min(100,a))),e.connectedColumns!==void 0&&(r.connectedColumns=e.connectedColumns);let o=parseFloat(e.connectionsOpacity??``);isNaN(o)||(r.connectionsOpacity=Math.max(0,Math.min(1,o))),e.stackMode!==void 0&&(r.stackMode=e.stackMode),e.stacked!==void 0&&(r.stacked=e.stacked),e.stackPercent!==void 0&&(r.stackPercent=e.stackPercent),e.areaSortMode!==void 0&&(r.areaSortMode=e.areaSortMode),e.areaLines!==void 0&&(r.areaLines=e.areaLines);let s=parseFloat(e.areaFillOpacity??``);return isNaN(s)||(r.areaFillOpacity=s),e.edgePadding!==void 0&&(r.edgePadding=e.edgePadding),e.waterfall!==void 0&&(r.waterfall=e.waterfall),e.waterfallTotal!==void 0&&(r.waterfallTotal=e.waterfallTotal),e.categoryLabelLine!==void 0&&(r.categoryLabelLine=e.categoryLabelLine),r}var FE=e=>e===!0||String(e).toLowerCase()===`true`;function IE(e){return new Map(e.map(e=>[e.key,e.value]))}function LE(e,t){let n=IE(t),r=Yw(e),i=new Set(r.map(e=>e.key)),a={};for(let e of r){let t=n.get(e.key);t!==void 0&&i.has(e.key)&&(e.type===Z.Colors?a[e.key]=z(String(t)).map(e=>e.trim()).filter(Boolean):e.type===Z.Boolean?e.key===`valueLabels`&&String(t).toLowerCase()===`percent`?a[e.key]=`percent`:a[e.key]=FE(t):a[e.key]=String(t))}return a}function RE(e){return!(/^-?\d+(\.\d+)?$/.test(e)||/^-?\d+(\.\d+)?%$/.test(e)||/^[a-zA-Z_][a-zA-Z0-9_-]*$/.test(e))}function zE(e){return e.entries.map(e=>{if(e.values&&e.values.length>1){if(e.key===`series`&&!e.quotedKey)return`series = ${e.values.map(e=>I(String(e))).join(`,`)}`;let t=e.values.map(e=>typeof e==`number`||!RE(String(e))?String(e):I(String(e)));return`${I(e.key)} = ${t.join(`,`)}`}let t=e.isPercentage?`${e.value}%`:String(e.value);return e.key===`series`&&!e.quotedKey?`series = ${I(t)}`:typeof e.value==`string`&&RE(t)?`${I(e.key)} = ${I(t)}`:`${I(e.key)} = ${t}`}).join(`
|
|
345
|
+
`)}function BE(e,t){let n=e.find(e=>e.key===t);return n?String(n.value):void 0}function VE(e,t){let n=e.find(e=>e.key===t);if(n)return n.isPercentage,n.value}function HE(e){let t=e.find(e=>e.key===`maxWidth`);if(t)return t.isPercentage?`${t.value}%`:t.value}function UE(e){return e.map(e=>({target:e.target,color:BE(e.properties,`color`)??`#e15759`,label:BE(e.properties,`label`)}))}function WE(e){return e.map(e=>({target:e.target}))}function GE(e){return e.map(e=>{let t=IE(e.properties);return{from:e.from,to:e.to,color:t.has(`color`)?String(t.get(`color`)):void 0,negativeColor:t.has(`negativeColor`)?String(t.get(`negativeColor`)):void 0,opacity:t.has(`opacity`)?Number(t.get(`opacity`)):void 0,interpolation:t.has(`interpolation`)?String(t.get(`interpolation`)):void 0}})}function KE(e){let t=e.get(`repeat`);if(FE(t))return`always`;if(t===void 0||t===!1||t===`false`)return;let n=Number(t);return Number.isInteger(n)&&n>=1?n:void 0}function qE(e){return e.map(e=>{let t=IE(e.properties),n=e.kind??Kr.Point;if(n===Kr.Range){let e={kind:Kr.Range,start:t.has(`start`)?isNaN(Number(t.get(`start`)))?String(t.get(`start`)):Number(t.get(`start`)):0,end:t.has(`end`)?isNaN(Number(t.get(`end`)))?String(t.get(`end`)):Number(t.get(`end`)):0};return e.repeat=KE(t),t.has(`orientation`)&&(e.orientation=String(t.get(`orientation`))),t.has(`startAnchor`)&&(e.startAnchor=String(t.get(`startAnchor`))),t.has(`endAnchor`)&&(e.endAnchor=String(t.get(`endAnchor`))),t.has(`bgColor`)&&(e.bgColor=String(t.get(`bgColor`))),t.has(`bgOpacity`)&&(e.bgOpacity=Number(t.get(`bgOpacity`))),t.has(`direction`)&&(e.direction=String(t.get(`direction`))),t.has(`text`)&&(e.text=String(t.get(`text`))),t.has(`textColor`)&&(e.textColor=String(t.get(`textColor`))),e}if(n===Kr.Free){let n={kind:Kr.Free,text:String(t.get(`text`)??``),x:VE(e.properties,`x`)??0,y:VE(e.properties,`y`)??0};n.repeat=KE(t),t.has(`textColor`)&&(n.textColor=String(t.get(`textColor`)));let r=HE(e.properties);return r!==void 0&&(n.maxWidth=r),t.has(`textOutline`)&&(n.textOutline=FE(t.get(`textOutline`))),n}let r=`target`in e?e.target:``,i={kind:Kr.Point,target:r,text:String(t.get(`text`)??``)};i.repeat=KE(t),t.has(`textColor`)&&(i.textColor=String(t.get(`textColor`)));let a=HE(e.properties);return a!==void 0&&(i.maxWidth=a),t.has(`textOutline`)&&(i.textOutline=FE(t.get(`textOutline`))),t.has(`showLine`)&&(i.showLine=FE(t.get(`showLine`))),t.has(`anchorDirection`)&&(i.anchorDirection=String(t.get(`anchorDirection`))),t.has(`textOffsetX`)&&(i.textOffsetX=Number(t.get(`textOffsetX`))),t.has(`textOffsetY`)&&(i.textOffsetY=Number(t.get(`textOffsetY`))),t.has(`lineStyle`)&&(i.lineStyle=String(t.get(`lineStyle`))),t.has(`lineWeight`)&&(i.lineWeight=Number(t.get(`lineWeight`))),t.has(`showArrow`)&&(i.showArrow=FE(t.get(`showArrow`))),t.has(`lineTargetDistance`)&&(i.lineTargetDistance=Number(t.get(`lineTargetDistance`))),t.has(`showCircle`)&&(i.showCircle=FE(t.get(`showCircle`))),t.has(`circleSize`)&&(i.circleSize=Number(t.get(`circleSize`))),t.has(`circleStyle`)&&(i.circleStyle=String(t.get(`circleStyle`))),t.has(`circleColor`)&&(i.circleColor=String(t.get(`circleColor`))),i})}function JE(e){return e.map(e=>{let t=IE(e.properties),n={name:e.name};if(t.has(`color`)&&(n.color=String(t.get(`color`))),t.has(`lineWidth`)&&(n.lineWidth=Number(t.get(`lineWidth`))),t.has(`dash`)&&(n.dash=String(t.get(`dash`))),t.has(`interpolation`)&&(n.interpolation=String(t.get(`interpolation`))),t.has(`labelMode`)&&(n.labelMode=String(t.get(`labelMode`))),t.has(`labelText`)&&(n.labelText=String(t.get(`labelText`))),t.has(`valueLabels`)){let e=t.get(`valueLabels`);n.valueLabels=String(e).toLowerCase()===`percent`?`percent`:FE(e)}return t.has(`lineSymbols`)&&(n.lineSymbols=FE(t.get(`lineSymbols`))),t.has(`hidden`)&&(n.hidden=FE(t.get(`hidden`))),t.has(`symbolShape`)&&(n.symbolShape=String(t.get(`symbolShape`))),t.has(`symbolShowOn`)&&(n.symbolShowOn=String(t.get(`symbolShowOn`))),t.has(`symbolStyle`)&&(n.symbolStyle=String(t.get(`symbolStyle`))),t.has(`symbolSize`)&&(n.symbolSize=Number(t.get(`symbolSize`))),t.has(`symbolOpacity`)&&(n.symbolOpacity=Number(t.get(`symbolOpacity`))),n})}function YE(e,t,n){if(!n&&t!==li.Equals&&t!==li.NotEquals)return!0;switch(t){case li.Equals:return e===n;case li.NotEquals:return e!==n;case li.Contains:return e.toLowerCase().includes(n.toLowerCase());case li.GreaterThan:{let t=Number(e.replace(/[,%$€£¥₹]/g,``).trim()),r=Number(n);return!Number.isNaN(t)&&!Number.isNaN(r)&&t>r}case li.LessThan:{let t=Number(e.replace(/[,%$€£¥₹]/g,``).trim()),r=Number(n);return!Number.isNaN(t)&&!Number.isNaN(r)&&t<r}default:return!0}}function XE(e,t){let n=e.columns.indexOf(t.column);if(n<0||!t.column)return e;let r=e.rows.filter(e=>YE(e[n]??``,t.condition??li.Equals,t.value??``));return{...e,rows:r}}function ZE(e){return Number(j(e).replace(/[,%$€£¥₹]/g,``).trim())||0}function QE(e,t,n){return n===`number`?ZE(e)-ZE(t):n===`date`?(Date.parse(e)||0)-(Date.parse(t)||0):e.localeCompare(t)}function $E(e){return e.columns?e.columns.split(`,`).map(e=>e.trim()).filter(Boolean):e.column?[e.column]:[]}var eD={sum:e=>e.reduce((e,t)=>e+t,0),avg:e=>e.reduce((e,t)=>e+t,0)/e.length,min:e=>Math.min(...e),max:e=>Math.max(...e)};function tD(e,t){return e.split(`,`).map(e=>e.trim()).filter(Boolean).map(e=>{let n=e.lastIndexOf(`:`);if(n<0)return null;let r=e.slice(0,n),i=e.slice(n+1);if(i!==`count`&&!eD[i])return null;let a=i===`count`?-1:t.indexOf(r);return i!==`count`&&a<0?null:{col:r,fn:i,colIndex:a}}).filter(e=>e!==null)}function nD(e,t,n){if(e===`count`)return String(t.length);let r=t.map(e=>ZE(e[n]??``));return String(eD[e](r))}function rD(e,t){let n=$E({columns:t.groupColumns}).map(t=>e.columns.indexOf(t)).filter(e=>e>=0);if(n.length===0||!t.aggregates)return e;let r=tD(t.aggregates,e.columns);if(r.length===0)return e;let i=new Map;for(let t of e.rows){let e=n.map(e=>t[e]??``),r=e.join(`\0`),a=i.get(r);a?a.rows.push(t):i.set(r,{key:e,rows:[t]})}return{columns:[...n.map(t=>e.columns[t]),...r.map(e=>`${e.col}_${e.fn}`)],columnTypes:[...n.map(t=>e.columnTypes[t]),...r.map(()=>`number`)],rows:[...i.values()].map(({key:e,rows:t})=>[...e,...r.map(e=>nD(e.fn,t,e.colIndex))])}}function iD(e,t){let n=$E(t);if(n.length===0)return e;let r=e.columns.map((e,t)=>n.includes(e)?-1:t).filter(e=>e>=0);return r.length===e.columns.length?e:{columns:r.map(t=>e.columns[t]),rows:e.rows.map(e=>r.map(t=>e[t])),columnTypes:r.map(t=>e.columnTypes[t])}}var aD=[`string`,`number`,`date`],oD=[{id:`to-number`,label:`To Number`,description:`Strip non-numeric characters and convert to number`,category:ui.Type,accepts:aD,outputType:`number`},{id:`to-string`,label:`To String`,description:`Keep value as plain text`,category:ui.Type,accepts:aD,outputType:`string`},{id:`to-date`,label:`To Date`,description:`Parse text into an ISO date`,category:ui.Type,accepts:aD,outputType:`date`},{id:`to-boolean`,label:`To Boolean`,description:`Map yes/no, true/false, 1/0 to boolean`,category:ui.Type,accepts:aD,outputType:`string`},{id:`parse-json`,label:`Parse JSON`,description:`Parse JSON string and optionally extract a key`,category:ui.Type,accepts:[`string`],outputType:`string`,params:[`key`]},{id:`trim`,label:`Trim`,description:`Remove leading and trailing whitespace`,category:ui.String,accepts:aD,outputType:`string`},{id:`lowercase`,label:`Lowercase`,description:`Convert all characters to lowercase`,category:ui.String,accepts:aD,outputType:`string`},{id:`uppercase`,label:`Uppercase`,description:`Convert all characters to uppercase`,category:ui.String,accepts:aD,outputType:`string`},{id:`title-case`,label:`Title Case`,description:`Capitalize the first letter of each word`,category:ui.String,accepts:aD,outputType:`string`},{id:`slugify`,label:`Slugify`,description:`Lowercase and replace non-alphanumeric with hyphens`,category:ui.String,accepts:aD,outputType:`string`},{id:`regex-replace`,label:`Regex Replace`,description:`Find and replace using a regular expression`,category:ui.String,accepts:aD,outputType:`string`,params:[`pattern`,`replacement`]},{id:`extract`,label:`Extract Substring`,description:`Extract a portion of text by character position`,category:ui.String,accepts:aD,outputType:`string`,params:[`start`,`end`]},{id:`pad-start`,label:`Pad Start`,description:`Pad the beginning to a fixed length`,category:ui.String,accepts:aD,outputType:`string`,params:[`length`,`char`]},{id:`pad-end`,label:`Pad End`,description:`Pad the end to a fixed length`,category:ui.String,accepts:aD,outputType:`string`,params:[`length`,`char`]},{id:`remove-diacritics`,label:`Remove Diacritics`,description:`Strip accents and diacritical marks`,category:ui.String,accepts:aD,outputType:`string`},{id:`split`,label:`Split into Columns`,description:`Split values by a separator into new columns`,category:ui.String,accepts:aD,outputType:`string`,params:[`separator`,`limit`]},{id:`round`,label:`Round`,description:`Round to a number of decimal places`,category:ui.Numeric,accepts:[`number`],outputType:`number`,params:[`decimals`]},{id:`floor`,label:`Floor`,description:`Round down to the nearest integer`,category:ui.Numeric,accepts:[`number`],outputType:`number`},{id:`ceil`,label:`Ceiling`,description:`Round up to the nearest integer`,category:ui.Numeric,accepts:[`number`],outputType:`number`},{id:`abs`,label:`Absolute Value`,description:`Remove the sign (make positive)`,category:ui.Numeric,accepts:[`number`],outputType:`number`},{id:`clamp`,label:`Clamp`,description:`Constrain values between a min and max`,category:ui.Numeric,accepts:[`number`],outputType:`number`,params:[`min`,`max`]},{id:`log`,label:`Logarithm`,description:`Natural log — compress wide-range values for charting`,category:ui.Numeric,accepts:[`number`],outputType:`number`},{id:`exp`,label:`Exponential`,description:`Raise e to the power of each value`,category:ui.Numeric,accepts:[`number`],outputType:`number`},{id:`normalize`,label:`Normalize (0–1)`,description:`Scale values to 0–1 range for cross-series comparison`,category:ui.Numeric,accepts:[`number`],outputType:`number`},{id:`standardize`,label:`Standardize (z-score)`,description:`Center around mean, scale by std deviation`,category:ui.Numeric,accepts:[`number`],outputType:`number`},{id:`bin`,label:`Bin/Bucket`,description:`Group values into fixed-size buckets`,category:ui.Numeric,accepts:[`number`],outputType:`number`,params:[`size`]},{id:`extract-year`,label:`Extract Year`,description:`Get the four-digit year as a number`,category:ui.Date,accepts:[`date`],outputType:`number`},{id:`extract-month`,label:`Extract Month`,description:`Get the month (1–12) as a number`,category:ui.Date,accepts:[`date`],outputType:`number`},{id:`extract-day`,label:`Extract Day`,description:`Get the day of the month as a number`,category:ui.Date,accepts:[`date`],outputType:`number`},{id:`extract-weekday`,label:`Extract Weekday`,description:`Get the day name (Monday, Tuesday, …)`,category:ui.Date,accepts:[`date`],outputType:`string`},{id:`extract-hour`,label:`Extract Hour`,description:`Get the hour (0–23) as a number`,category:ui.Date,accepts:[`date`],outputType:`number`},{id:`shift-date`,label:`Shift Date`,description:`Add or subtract days, months, or years`,category:ui.Date,accepts:[`date`],outputType:`date`,params:[`amount`,`unit`]},{id:`truncate-date`,label:`Truncate to Period`,description:`Round down to start of week, month, quarter, or year`,category:ui.Date,accepts:[`date`],outputType:`date`,params:[`period`]},{id:`date-diff`,label:`Duration Since`,description:`Days between each date and a reference date`,category:ui.Date,accepts:[`date`],outputType:`number`,params:[`reference`]}],sD=new Map(oD.map(e=>[e.id,e]));function cD(e,t){let n=sD.get(e);return n?n.accepts.includes(t):!1}function lD(e){return sD.get(e)?.outputType??`string`}function uD(e,t){let n=parseFloat(e);if(Number.isNaN(n))return e;let r=t(n);return Number.isNaN(r)?e:String(r)}function dD(e,t){let n=new Date(e);return Number.isNaN(n.getTime())?e:t(n)}function fD(e,t,n){switch(t){case`to-number`:{let t=Number(e.replace(/[^0-9.\-+eE]/g,``));return Number.isNaN(t)?``:String(t)}case`to-string`:return e;case`to-date`:return dD(e,e=>e.toISOString());case`to-boolean`:{let t=e.toLowerCase().trim();return[`true`,`1`,`yes`,`on`,`y`].includes(t)?`true`:[`false`,`0`,`no`,`off`,`n`,``].includes(t)?`false`:e}case`parse-json`:try{let t=JSON.parse(e);return n.key?String(t[n.key]??``):JSON.stringify(t)}catch{return e}default:return e}}function pD(e,t,n){switch(t){case`trim`:return e.trim();case`lowercase`:return e.toLowerCase();case`uppercase`:return e.toUpperCase();case`title-case`:return e.replace(/\w\S*/g,e=>e.charAt(0).toUpperCase()+e.slice(1).toLowerCase());case`slugify`:return e.toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-|-$/g,``);case`regex-replace`:if(!n.pattern)return e;try{return e.replace(new RegExp(n.pattern,`g`),n.replacement??``)}catch{return e}case`extract`:return e.slice(Number(n.start)||0,n.end?Number(n.end):void 0);case`pad-start`:return e.padStart(Number(n.length)||0,n.char||` `);case`pad-end`:return e.padEnd(Number(n.length)||0,n.char||` `);case`remove-diacritics`:return e.normalize(`NFD`).replace(/[\u0300-\u036f]/g,``);default:return e}}function mD(e,t,n){switch(t){case`round`:{let t=10**(Number(n.decimals)||0);return uD(e,e=>Math.round(e*t)/t)}case`floor`:return uD(e,Math.floor);case`ceil`:return uD(e,Math.ceil);case`abs`:return uD(e,Math.abs);case`clamp`:{let t=n.min?Number(n.min):-1/0,r=n.max?Number(n.max):1/0;return uD(e,e=>Math.min(Math.max(e,t),r))}case`log`:return uD(e,e=>e>0?Math.log(e):NaN);case`exp`:return uD(e,Math.exp);case`bin`:{let t=Number(n.size)||1;return uD(e,e=>Math.floor(e/t)*t)}default:return e}}function hD(e,t,n){switch(t){case`extract-year`:return dD(e,e=>String(e.getFullYear()));case`extract-month`:return dD(e,e=>String(e.getMonth()+1));case`extract-day`:return dD(e,e=>String(e.getDate()));case`extract-weekday`:return dD(e,e=>e.toLocaleDateString(`en`,{weekday:`long`}));case`extract-hour`:return dD(e,e=>String(e.getHours()));case`shift-date`:return dD(e,e=>{let t=Number(n.amount)||0,r=n.unit||`days`;return r===`years`?e.setFullYear(e.getFullYear()+t):r===`months`?e.setMonth(e.getMonth()+t):e.setDate(e.getDate()+t),e.toISOString()});case`truncate-date`:return dD(e,e=>{let t=n.period||`month`;return t===`year`?new Date(e.getFullYear(),0,1).toISOString():t===`quarter`?new Date(e.getFullYear(),Math.floor(e.getMonth()/3)*3,1).toISOString():t===`month`?new Date(e.getFullYear(),e.getMonth(),1).toISOString():t===`week`?(e.setDate(e.getDate()-e.getDay()),e.setHours(0,0,0,0),e.toISOString()):e.toISOString()});case`date-diff`:{let t=new Date(n.reference||new Date().toISOString());return Number.isNaN(t.getTime())?e:dD(e,e=>String(Math.round((e.getTime()-t.getTime())/864e5)))}default:return e}}function gD(e,t,n){return t.startsWith(`to-`)||t===`parse-json`?fD(e,t,n):new Set([`round`,`floor`,`ceil`,`abs`,`clamp`,`log`,`exp`,`bin`]).has(t)?mD(e,t,n):t.startsWith(`extract-`)||t.startsWith(`shift-`)||t.startsWith(`truncate-`)||t===`date-diff`?hD(e,t,n):pD(e,t,n)}function _D(e,t){let n=e.rows.map(e=>{let n=[...e];return n[t]=``,n});return{columns:[...e.columns],rows:n,columnTypes:[...e.columnTypes]}}function vD(e,t,n){let r=n.separator||`,`,i=n.limit?Number(n.limit):void 0,a=0,o=e.rows.map(e=>{let n=e[t].split(r),o=i?n.slice(0,i):n;return a=Math.max(a,o.length),o}),s=[...e.columns],c=[...e.columnTypes],l=[];for(let e=0;e<a;e++)l.push(`${n.column}_${e+1}`);return s.splice(t,1,...l),c.splice(t,1,...Array(a).fill(`string`)),{columns:s,rows:e.rows.map((e,n)=>{let r=o[n],i=[...e],s=[...r,...Array(a-r.length).fill(``)];return i.splice(t,1,...s),i}),columnTypes:c}}function yD(e,t,n){let r=e.rows.map(e=>parseFloat(e[t])).filter(e=>!Number.isNaN(e));if(r.length===0)return e;let i=e.rows.map(e=>[...e]),a=[...e.columnTypes];if(a[t]=`number`,n===`normalize`){let e=Math.min(...r),n=Math.max(...r)-e;for(let r of i){let i=parseFloat(r[t]);r[t]=Number.isNaN(i)?r[t]:String(n===0?0:(i-e)/n)}}else{let e=r.reduce((e,t)=>e+t,0)/r.length,n=r.reduce((t,n)=>t+(n-e)**2,0)/r.length,a=Math.sqrt(n);for(let n of i){let r=parseFloat(n[t]);n[t]=Number.isNaN(r)?n[t]:String(a===0?0:(r-e)/a)}}return{columns:[...e.columns],rows:i,columnTypes:a}}function bD(e,t){let n=e.columns.indexOf(t.column);if(n<0||!t.column||!t.operation)return e;let r=t.operation,i=e.columnTypes[n];if(!cD(r,i))return _D(e,n);if(r===`split`)return vD(e,n,t);if(r===`normalize`||r===`standardize`)return yD(e,n,r);let a=e.rows.map(e=>[...e]);for(let e of a)e[n]=gD(e[n],r,t);let o=[...e.columnTypes];return o[n]=lD(r),{columns:[...e.columns],rows:a,columnTypes:o}}function xD(e,t){let n=e.columns.indexOf(t.column);if(n<0||!t.column||!t.newName)return e;let r=[...e.columns];return r[n]=t.newName,{...e,columns:r}}function SD(e,t){let n=$E(t);if(n.length===0)return e;let r=n.map(t=>e.columns.indexOf(t)).filter(e=>e>=0);if(r.length===0)return e;let i=t.direction===Qr.Descending?-1:1,a=t.operation;if(a&&r.length>1){let t=[...e.rows].sort((e,t)=>{let n=r.map(t=>ZE(e[t]??``)),o=r.map(e=>ZE(t[e]??``)),s,c;return a===`avg`?(s=n.reduce((e,t)=>e+t,0)/n.length,c=o.reduce((e,t)=>e+t,0)/o.length):(s=n.reduce((e,t)=>e+t,0),c=o.reduce((e,t)=>e+t,0)),i*(s-c)});return{...e,rows:t}}let o=[...e.rows].sort((t,n)=>{for(let a of r){let r=e.columnTypes[a]??`string`,o=QE(t[a]??``,n[a]??``,r);if(o!==0)return i*o}return 0});return{...e,rows:o}}function CD(e){if(e.rows.length===0||e.columns.length===0)return e;let t=[`Field`,...e.rows.map(e=>e[0]??``)],n=[],r=[`string`];for(let t=1;t<e.columns.length;t++){let r=[e.columns[t]];for(let n=0;n<e.rows.length;n++)r.push(e.rows[n][t]??``);n.push(r)}for(let t=0;t<e.rows.length;t++){let e=n.map(e=>e[t+1]??``).filter(e=>e.length>0);e.length>0&&e.every(e=>!Number.isNaN(Number(e.replace(/[,%$€£¥₹]/g,``).trim()))&&e.trim().length>0)?r.push(`number`):r.push(`string`)}return{columns:t,rows:n,columnTypes:r}}var wD=[/^\d{4}-\d{2}-\d{2}$/,/^\d{4}-\d{2}$/,/^\d{4}$/,/^\d{1,2}\/\d{1,2}\/\d{2,4}$/,/^\d{1,2}-\d{1,2}-\d{2,4}$/,/^(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s+\d{1,2},?\s+\d{4}$/i,/^\d{4}\/\d{2}\/\d{2}$/,/^\d{4}\/\d{2}$/,/^Q[1-4]\s+\d{4}$/],TD=/^"((?:[^"\\]|\\.)*)"\s*=\s*(.+)$/,ED=/^"((?:[^"\\]|\\.)*)"\s*=\s*"([^"]*)"$/;function DD(e){if(!e)return!1;for(let t of wD)if(t.test(e))return/^\d{4}(-\d{2})?$/.test(e)||/^\d{4}\/\d{2}$/.test(e)||/^Q[1-4]\s+\d{4}$/.test(e)?!0:!Number.isNaN(Date.parse(e));return!1}function OD(e){let t=e.match(/^[<>≤≥~]\s*(.+)$/);if(t){let e=j(t[1]).replace(/[,%$€£¥₹]/g,``).trim();if(e.length>0&&!Number.isNaN(Number(e)))return t[1].trim()}return e}function kD(e){if(!e)return!1;let t=j(OD(e)).replace(/[,%$€£¥₹]/g,``).trim();return t.length>0&&!Number.isNaN(Number(t))}function AD(e,t){return e.map((e,n)=>{let r=t.map(e=>e[n]??``).filter(e=>e.length>0);return r.length===0?`string`:r.every(DD)?`date`:r.every(kD)?`number`:`string`})}function jD(e){let t=e.split(`
|
|
346
|
+
`).map(e=>e.trim()).filter(Boolean);if(t.length===0)return{columns:[],rows:[],columnTypes:[]};let n=t[0]?.match(/^series\s*=\s*(.+)$/);if(n){let e=z(n[1].trim()),r=[];for(let e=1;e<t.length;e++){let n=t[e].match(ED),i=n??t[e].match(TD);i&&r.push({cells:z(i[2]).map(R),label:L(i[1]),legacy:n!==null})}let i=e.length>1||!r.some(e=>e.legacy)?e.map(R):R(e[0]).split(`,`).map(e=>e.trim());return MD([`label`,...i],r.map(e=>[e.label,...i.map((t,n)=>e.cells[n]??``)]))}let r=[`label`,`value`],i=[];for(let e of t){let t=e.match(TD);t&&i.push([L(t[1]),R(t[2])])}return MD(r,i)}function MD(e,t){return{columns:e,rows:t,columnTypes:AD(e,t)}}function ND(e){return/^-?\d+(\.\d+)?%?$/.test(e)?e:I(e)}function PD(e,t){return e.length<=2?t.map(e=>{let t=e[0]??``,n=e[1]??``;return`${I(t)} = ${ND(n)}`}).join(`
|
|
347
|
+
`):[`series = ${e.slice(1).map(I).join(`,`)}`,...t.map(e=>{let t=e[0]??``,n=e.slice(1).map(e=>ND(e??``)).join(`,`);return`${I(t)} = ${n}`})].join(`
|
|
348
|
+
`)}function FD(e){let t=e=>e==null||!Number.isFinite(e)?``:String(e),n=[`label`,...e.series?e.series.map(e=>e.name):[`value`]],r=new Map(e.textColumns?.map(e=>[e.name,e.values])),i=(e,n,i)=>r.has(e)?r.get(e)?.[i]??``:t(n[i]),a=e.labels.map((n,r)=>[n,...e.series?e.series.map(e=>i(e.name,e.values,r)):[t(e.values[r])]]);return{columns:n,rows:a,columnTypes:AD(n,a)}}var ID=new Set(Object.values(ci));function LD(e,t,n,r){let i={columns:[...t],rows:n.map(e=>[...e]),columnTypes:[...r]};for(let t of e)switch(t.type){case ci.Sort:i=SD(i,t.config);break;case ci.Filter:i=XE(i,t.config);break;case ci.HideColumns:i=iD(i,t.config);break;case ci.Transpose:i=CD(i);break;case ci.Parse:i=bD(i,t.config);break;case ci.Rename:i=xD(i,t.config);break;case ci.GroupBy:i=rD(i,t.config)}return i}function RD(e){return e.filter(e=>ID.has(e.transformType)).map(e=>{let t={};for(let[n,r]of IE(e.properties))t[n]=String(r);return{type:e.transformType,config:t}})}function zD(e,t){let n=RD(t);if(n.length===0)return e;let r=jD(e);if(r.columns.length===0)return e;let i=LD(n,r.columns,r.rows,r.columnTypes);return PD(i.columns,i.rows)}function BD(e,t){let n=RD(t);if(n.length===0||e.labels.length===0)return e;let r=FD(e),i=LD(n,r.columns,r.rows,r.columnTypes);return re(PD(i.columns,i.rows))}var VD=new Set;function HD(e,t,n){let r=t;for(let t of e)t.transformType===`sort`?r=$r.Total:!ID.has(t.transformType)&&!VD.has(t.transformType)&&(VD.add(t.transformType),console.warn(`[blueprint-chart] Unknown transform "${t.transformType}" in ${n}; ignored.`));return r}function UD(e){let t=t=>{let n=e.get(t);return n==null?void 0:String(n)||void 0},n=e.get(`transparentBackground`),r={title:t(`title`),description:t(`description`),source:t(`source`),sourceUrl:t(`sourceUrl`),byline:t(`byline`),note:t(`note`),padding:t(`padding`),transparentBackground:FE(n)||void 0};return Object.values(r).some(e=>e!==void 0)?r:void 0}function WD(e){let t=IE(e.properties),n=re(zD(e.data?zE(e.data):``,e.transforms)),r=t.get(`sort`),i=r==null?void 0:String(r),a=i===Qr.Ascending||i===Qr.Descending?i:void 0,o=t.get(`theme`),s=t.get(`sortMode`),c;return(s===$r.Total||s===$r.WithinGroups||s===$r.None)&&(c=s),c=HD(e.transforms,c,`chart`),{chartType:e.chartType,data:n,properties:e.properties,frame:UD(t),colorizes:UE(e.colorizes),highlights:WE(e.highlights),areaFills:GE(e.areaFills),annotations:qE(e.annotations),seriesOverrides:JE(e.series),scenes:e.scenes,sort:a,sortMode:c,theme:o==null?void 0:String(o)||void 0}}var GD=Object.create(null);function KD(e){if(!GD[e]){let t={};for(let n of Yw(e))n.default!==void 0&&(t[n.key]=n.default);GD[e]=t}return{...GD[e]}}function qD(e,t){let n=KD(e);return t.colors?.length?{...n,colorPalette:void 0,...t}:{...n,...t}}var JD=[`verticalLabelPosition`,`horizontalLabelPosition`];function YD(e,t,n){let r=KD(t),i={...e};for(let e of JD)n[e]===void 0&&r[e]!==void 0&&r[e]!==Vr.Off&&(i[e]=r[e]);return i}var XD=new Set;function ZD(e,t,n){let r=t;for(let t of e)t.transformType===`sort`?r=$r.Total:!ID.has(t.transformType)&&!XD.has(t.transformType)&&(XD.add(t.transformType),console.warn(`[blueprint-chart] Unknown transform "${t.transformType}" in ${n}; ignored.`));return r}function QD(){return{properties:new Map,chartTypeOptions:{},colorizes:[],highlights:[],areaFills:[],seriesOverrides:[],transforms:[]}}function $D(e,t,n){let r=QD();for(let i=0;i<=t;i++){let a=e[i],o=IE(a.properties),s=o.get(`type`);s&&(r.chartType=s);let c=r.chartType??n;a.data&&(r.data=a.data);let l=LE(c,a.properties);r.chartTypeOptions={...r.chartTypeOptions,...l},a.colorizes.length>0?r.colorizes=a.colorizes:a.data&&(r.colorizes=[]),i===t&&(r.highlights=a.highlights),a.areaFills.length>0&&(r.areaFills=a.areaFills),a.series.length>0&&(r.seriesOverrides=a.series),a.transforms.length>0&&(r.transforms=[...r.transforms,...a.transforms]);for(let[e,t]of o)r.properties.set(e,t)}return r}function eO(e,t,n){return n<e?!1:t===`always`||n<=e+(typeof t==`number`?t:0)}function tO(e,t){let n=e.options??(e.properties?qD(e.chartType,LE(e.chartType,e.properties)):{}),r={chartType:e.chartType,data:e.data,options:n,frame:e.frame,colorizes:e.colorizes??[],highlights:e.highlights??[],areaFills:e.areaFills??[],annotations:(e.annotations??[]).map((e,t)=>({...e,key:e.key??`base:${t}:${e.kind}`})),seriesOverrides:e.seriesOverrides??[],sort:e.sort,sortMode:e.sortMode,theme:e.theme};if(t==null||!e.scenes||t<0||t>=e.scenes.length)return r;let i=$D(e.scenes,t,e.chartType),a=i.chartType??e.chartType,o=i.data?re(zE(i.data)):BD(r.data,i.transforms),s=Object.keys(i.chartTypeOptions).length>0?qD(a,{...n,...i.chartTypeOptions}):n,c=a!==e.chartType&&!e.options&&e.properties?YD(s,a,{...LE(a,e.properties),...i.chartTypeOptions}):s,l=i.colorizes.length>0?UE(i.colorizes):i.data?[]:r.colorizes,u=t==null?r.highlights:WE(i.highlights),d=i.areaFills.length>0?GE(i.areaFills):r.areaFills,f=(e.annotations??[]).map((e,t)=>({anchor:-1,key:e.key??`base:${t}:${e.kind}`,config:e}));for(let n=0;n<=t;n++)qE(e.scenes[n].annotations).forEach((e,t)=>{f.push({anchor:n,key:e.key??`s${n}:${t}:${e.kind}`,config:e})});let p=f.filter(({anchor:e,config:n})=>eO(e,n.repeat,t)).map(({key:e,config:t})=>({...t,key:e})),m=i.seriesOverrides.length>0?JE(i.seriesOverrides):r.seriesOverrides,h=i.properties.get(`sortMode`),g=h===$r.Total||h===$r.WithinGroups||h===$r.None?h:void 0,_=ZD(i.transforms,g??r.sortMode,`scene ${t}`),v=[`title`,`description`,`source`,`sourceUrl`,`byline`,`note`],y={};for(let e of v){let t=i.properties.get(e);typeof t==`string`&&(y[e]=t)}let b=Object.keys(y).length>0?{...r.frame,...y}:r.frame;return{...r,chartType:a,data:o,options:c,frame:b,colorizes:l,highlights:u,areaFills:d,annotations:p,seriesOverrides:m,sortMode:_}}var nO=new WeakMap;function rO(e){let t=nO.get(e);if(!(!t||t.size===0)){for(let n of t)e.style[n]=``;t.clear()}}function iO(e,t){let n=nO.get(e);n||(n=new Set,nO.set(e,n)),n.add(t)}function aO(e,t,n){if(rO(e),n.ignoreLayout||!t)return{constrained:!1};let r=IE(t),i=r.get(`heightMode`),a=r.get(`aspectRatio`),o=r.get(`fixedHeight`),s=!1;if(i===`aspect-ratio`&&a){let t=String(a).split(`:`).map(Number);t.length===2&&t[0]>0&&t[1]>0&&(e.style.aspectRatio=`${t[0]} / ${t[1]}`,e.style.height=`auto`,iO(e,`aspectRatio`),iO(e,`height`),s=!0)}else i===`fixed`&&o&&(e.style.height=`${o}px`,iO(e,`height`),s=!0);return s&&(e.style.display=`flex`,e.style.flexDirection=`column`,e.style.overflow=`hidden`,iO(e,`display`),iO(e,`flexDirection`),iO(e,`overflow`)),{constrained:s}}var oO=new WeakMap;function sO(e){e.querySelectorAll(`[data-bc-fade-overlay]`).forEach(e=>{typeof e.getAnimations==`function`&&e.getAnimations().forEach(e=>e.cancel()),e.remove()})}function cO(e,t,n){if(!n)return null;let r=oO.get(e);return!r||r===t?null:(sO(e),v_(e))}function lO(e,t,n){if(oO.set(e,t),n){let t=e.querySelector(`.bc-frame .bc-frame-body`);t&&__(t),y_(e,n)}}function uO(e){oO.delete(e),sO(e)}var dO=`http://www.w3.org/2000/svg`;function fO(e){return e.replace(/\s+/g,` `).trim()}function pO(e,t){if(e===`scatter chart`)return`${e} of ${t.labels.length} points.`;let n=t.series??[],r=(n.length>0?n.flatMap(e=>e.values):t.values).filter(e=>Number.isFinite(e));return`${e} of ${`${t.labels.length} categor${t.labels.length===1?`y`:`ies`}`}${n.length>0?` across ${n.length} series (${n.map(e=>e.name).join(`, `)})`:``}${r.length>0?`, values from ${Math.min(...r)} to ${Math.max(...r)}`:``}.`}function mO(e,t,n){let r=`${e.replace(/-/g,` `)} chart`,i=t?.title?fO(t.title):``,a=t?.description?fO(t.description):``;return{label:i||r,description:[a,pO(r,n)].filter(Boolean).join(` `)}}function hO(e,t,n){let r=Array.from(e.children).find(e=>e.tagName===t),i=r??e.ownerDocument.createElementNS(dO,t);i.textContent=n,r||e.insertBefore(i,e.firstChild)}function gO(e,t){e.setAttribute(`role`,`img`),e.setAttribute(`aria-label`,t.label),hO(e,`desc`,t.description),hO(e,`title`,t.label)}function _O(e){return(e.querySelector(`.bc-frame-body`)??e).querySelector(`svg`)}function vO(e,t,n){let r=_O(e);r&&t.accessibility&&gO(r,t.accessibility);let i=e.querySelector(`.bc-frame`);if(!i)return;let a=[];i.classList.forEach(e=>{e.startsWith(`bc-theme-`)&&a.push(e)});for(let e of a)i.classList.remove(e);t.theme&&i.classList.add(`bc-theme-${t.theme}`),n.constrained&&i.classList.add(`bc-frame--constrained`)}function yO(e,t,n={}){let r=!!n.transition||Zb(e).state===`animating`;if(r||(Zb(e).interrupt(),e.replaceChildren(),uO(e)),t.data.labels.length===0){r&&(Zb(e).interrupt(),e.replaceChildren(),uO(e));return}let i=t;if(n.stripColors){let e={...t};if(t.properties&&(e.properties=t.properties.filter(e=>e.key!==`colors`&&e.key!==`colorPalette`)),t.options){let{colors:n,colorPalette:r,...i}=t.options;e.options=i}i=e}let a=aO(e,i.properties,n),o=tO(i,n.sceneIndex),s=Jw(o.chartType);if(!s)return;iv(e,o.chartType);let c=cO(e,o.chartType,r);c&&e.replaceChildren();let l=Er(e),u=PE(o.options,l,o.chartType),d;if(n.thumbnail)d=null;else{let e=o.frame?.padding??n.padding??`16px`;d={...o.frame??{},padding:e}}let f=Zb(e);r&&f.beginCommit(),s(e,o.data,{frame:d,sort:o.sort,...u,sortMode:o.sortMode??u.sortMode,colorizes:o.colorizes.length>0?o.colorizes:void 0,highlights:o.highlights.length>0?o.highlights:void 0,areaFills:o.areaFills.length>0?o.areaFills:void 0,annotations:o.annotations.length>0?o.annotations:void 0,seriesOverrides:o.seriesOverrides.length>0?o.seriesOverrides:void 0},r),r&&f.commit({duration:g_(),mode:n.transitionMode}),vO(e,{theme:n.theme??o.theme,accessibility:mO(o.chartType,d,o.data)},a),lO(e,o.chartType,c)}function bO(e,t,n){let r=document.createElement(`div`);r.style.cssText=`color: #888; font-family: monospace; padding: 0.75rem; white-space: pre-wrap;`,r.textContent=`Blueprint Chart: ${t}\n${n}`,e.replaceChildren(r)}function xO(e,t,n){if(!t){n?.transition||e.replaceChildren();return}let r;try{r=A(t)}catch(t){bO(e,`could not parse chart`,t instanceof Error?t.message:String(t));return}try{yO(e,WD(r),n)}catch(t){bO(e,`could not render chart`,t instanceof Error?t.message:String(t))}}function SO(e,t,n){let r=0,i=!1,a=document.createElement(`nav`);a.className=`blueprint-chart-scenes`;let o=document.createElement(`button`);o.className=`blueprint-chart-scenes-prev`,o.textContent=`Previous`;let s=document.createElement(`button`);s.className=`blueprint-chart-scenes-next`,s.textContent=`Next`;let c=document.createElement(`span`);c.className=`blueprint-chart-scenes-counter`,a.appendChild(o),a.appendChild(c),a.appendChild(s),t.length>0&&e.appendChild(a);function l(){if(t.length===0){c.textContent=``;return}c.textContent=`${r+1} / ${t.length}`}function u(e){if(i||t.length===0||!Number.isFinite(e))return;let a=(Math.floor(e)%t.length+t.length)%t.length;r=a,l(),n(t[a],a)}return o.addEventListener(`click`,()=>u(r-1)),s.addEventListener(`click`,()=>u(r+1)),l(),{get currentScene(){return r},get totalScenes(){return t.length},next(){u(r+1)},previous(){u(r-1)},goTo:u,destroy(){i||(i=!0,a.remove())}}}var CO=SO;return document.readyState===`loading`?document.addEventListener(`DOMContentLoaded`,b):b(),e.createSceneController=SO,e.createStepController=CO,e.initBlueprint=b,e.renderBpc=xO,e})({});
|