@maddytp/node-red-dashboard-2-ui-reef
Version:
Set of UI nodes for aquarium automation based on @flowfuse/node-red-dashboard
17 lines • 281 kB
JavaScript
(function(){"use strict";try{if(typeof document<"u"){var e=document.createElement("style");e.appendChild(document.createTextNode(".probe-container[data-v-1f76b3d3]{display:flex;height:100%;width:100%}.probe-chart[data-v-1f76b3d3]{width:calc(100% - 80px);height:100%}.probe-chart-canvas[data-v-1f76b3d3]{border-radius:10px;background-color:rgba(var(--v-theme-primary),.2)}.probe-label[data-v-1f76b3d3]{display:block;padding-left:10px;width:80px;margin:auto;white-space:nowrap;overflow:hidden}.probe-name[data-v-1f76b3d3]{line-height:28px;letter-spacing:.025em;font-size:15px;font-weight:500;text-align:center;text-transform:uppercase;border-bottom:1px dashed #aaa}.probe-value[data-v-1f76b3d3]{position:relative;font-size:20px;font-weight:500;color:rgb(var(--v-theme-primary));text-align:center}")),document.head.appendChild(e)}}catch(t){console.error("vite-plugin-css-injected-by-js",t)}})();
(function(ht,Y){typeof exports=="object"&&typeof module<"u"?Y(exports,require("vue"),require("vuex")):typeof define=="function"&&define.amd?define(["exports","vue","vuex"],Y):(ht=typeof globalThis<"u"?globalThis:ht||self,Y(ht["ui-probe"]={},ht.Vue,ht.vuex))})(this,function(ht,Y,ye){"use strict";var Km=Object.defineProperty;var Jm=(ht,Y,ye)=>Y in ht?Km(ht,Y,{enumerable:!0,configurable:!0,writable:!0,value:ye}):ht[Y]=ye;var k=(ht,Y,ye)=>Jm(ht,typeof Y!="symbol"?Y+"":Y,ye);/*!
* @kurkle/color v0.3.2
* https://github.com/kurkle/color#readme
* (c) 2023 Jukka Kurkela
* Released under the MIT License
*/function ze(i){return i+.5|0}const Bt=(i,t,e)=>Math.max(Math.min(i,e),t);function We(i){return Bt(ze(i*2.55),0,255)}function Ht(i){return Bt(ze(i*255),0,255)}function It(i){return Bt(ze(i/2.55)/100,0,1)}function zn(i){return Bt(ze(i*100),0,100)}const bt={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15},Ms=[..."0123456789ABCDEF"],Rl=i=>Ms[i&15],Nl=i=>Ms[(i&240)>>4]+Ms[i&15],Si=i=>(i&240)>>4===(i&15),Vl=i=>Si(i.r)&&Si(i.g)&&Si(i.b)&&Si(i.a);function zl(i){var t=i.length,e;return i[0]==="#"&&(t===4||t===5?e={r:255&bt[i[1]]*17,g:255&bt[i[2]]*17,b:255&bt[i[3]]*17,a:t===5?bt[i[4]]*17:255}:(t===7||t===9)&&(e={r:bt[i[1]]<<4|bt[i[2]],g:bt[i[3]]<<4|bt[i[4]],b:bt[i[5]]<<4|bt[i[6]],a:t===9?bt[i[7]]<<4|bt[i[8]]:255})),e}const Wl=(i,t)=>i<255?t(i):"";function Bl(i){var t=Vl(i)?Rl:Nl;return i?"#"+t(i.r)+t(i.g)+t(i.b)+Wl(i.a,t):void 0}const Hl=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function Wn(i,t,e){const s=t*Math.min(e,1-e),n=(o,r=(o+i/30)%12)=>e-s*Math.max(Math.min(r-3,9-r,1),-1);return[n(0),n(8),n(4)]}function $l(i,t,e){const s=(n,o=(n+i/60)%6)=>e-e*t*Math.max(Math.min(o,4-o,1),0);return[s(5),s(3),s(1)]}function jl(i,t,e){const s=Wn(i,1,.5);let n;for(t+e>1&&(n=1/(t+e),t*=n,e*=n),n=0;n<3;n++)s[n]*=1-t-e,s[n]+=t;return s}function Ul(i,t,e,s,n){return i===n?(t-e)/s+(t<e?6:0):t===n?(e-i)/s+2:(i-t)/s+4}function Os(i){const e=i.r/255,s=i.g/255,n=i.b/255,o=Math.max(e,s,n),r=Math.min(e,s,n),a=(o+r)/2;let l,c,h;return o!==r&&(h=o-r,c=a>.5?h/(2-o-r):h/(o+r),l=Ul(e,s,n,h,o),l=l*60+.5),[l|0,c||0,a]}function Ts(i,t,e,s){return(Array.isArray(t)?i(t[0],t[1],t[2]):i(t,e,s)).map(Ht)}function Ds(i,t,e){return Ts(Wn,i,t,e)}function Yl(i,t,e){return Ts(jl,i,t,e)}function Zl(i,t,e){return Ts($l,i,t,e)}function Bn(i){return(i%360+360)%360}function ql(i){const t=Hl.exec(i);let e=255,s;if(!t)return;t[5]!==s&&(e=t[6]?We(+t[5]):Ht(+t[5]));const n=Bn(+t[2]),o=+t[3]/100,r=+t[4]/100;return t[1]==="hwb"?s=Yl(n,o,r):t[1]==="hsv"?s=Zl(n,o,r):s=Ds(n,o,r),{r:s[0],g:s[1],b:s[2],a:e}}function Xl(i,t){var e=Os(i);e[0]=Bn(e[0]+t),e=Ds(e),i.r=e[0],i.g=e[1],i.b=e[2]}function Gl(i){if(!i)return;const t=Os(i),e=t[0],s=zn(t[1]),n=zn(t[2]);return i.a<255?`hsla(${e}, ${s}%, ${n}%, ${It(i.a)})`:`hsl(${e}, ${s}%, ${n}%)`}const Hn={x:"dark",Z:"light",Y:"re",X:"blu",W:"gr",V:"medium",U:"slate",A:"ee",T:"ol",S:"or",B:"ra",C:"lateg",D:"ights",R:"in",Q:"turquois",E:"hi",P:"ro",O:"al",N:"le",M:"de",L:"yello",F:"en",K:"ch",G:"arks",H:"ea",I:"ightg",J:"wh"},$n={OiceXe:"f0f8ff",antiquewEte:"faebd7",aqua:"ffff",aquamarRe:"7fffd4",azuY:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"0",blanKedOmond:"ffebcd",Xe:"ff",XeviTet:"8a2be2",bPwn:"a52a2a",burlywood:"deb887",caMtXe:"5f9ea0",KartYuse:"7fff00",KocTate:"d2691e",cSO:"ff7f50",cSnflowerXe:"6495ed",cSnsilk:"fff8dc",crimson:"dc143c",cyan:"ffff",xXe:"8b",xcyan:"8b8b",xgTMnPd:"b8860b",xWay:"a9a9a9",xgYF:"6400",xgYy:"a9a9a9",xkhaki:"bdb76b",xmagFta:"8b008b",xTivegYF:"556b2f",xSange:"ff8c00",xScEd:"9932cc",xYd:"8b0000",xsOmon:"e9967a",xsHgYF:"8fbc8f",xUXe:"483d8b",xUWay:"2f4f4f",xUgYy:"2f4f4f",xQe:"ced1",xviTet:"9400d3",dAppRk:"ff1493",dApskyXe:"bfff",dimWay:"696969",dimgYy:"696969",dodgerXe:"1e90ff",fiYbrick:"b22222",flSOwEte:"fffaf0",foYstWAn:"228b22",fuKsia:"ff00ff",gaRsbSo:"dcdcdc",ghostwEte:"f8f8ff",gTd:"ffd700",gTMnPd:"daa520",Way:"808080",gYF:"8000",gYFLw:"adff2f",gYy:"808080",honeyMw:"f0fff0",hotpRk:"ff69b4",RdianYd:"cd5c5c",Rdigo:"4b0082",ivSy:"fffff0",khaki:"f0e68c",lavFMr:"e6e6fa",lavFMrXsh:"fff0f5",lawngYF:"7cfc00",NmoncEffon:"fffacd",ZXe:"add8e6",ZcSO:"f08080",Zcyan:"e0ffff",ZgTMnPdLw:"fafad2",ZWay:"d3d3d3",ZgYF:"90ee90",ZgYy:"d3d3d3",ZpRk:"ffb6c1",ZsOmon:"ffa07a",ZsHgYF:"20b2aa",ZskyXe:"87cefa",ZUWay:"778899",ZUgYy:"778899",ZstAlXe:"b0c4de",ZLw:"ffffe0",lime:"ff00",limegYF:"32cd32",lRF:"faf0e6",magFta:"ff00ff",maPon:"800000",VaquamarRe:"66cdaa",VXe:"cd",VScEd:"ba55d3",VpurpN:"9370db",VsHgYF:"3cb371",VUXe:"7b68ee",VsprRggYF:"fa9a",VQe:"48d1cc",VviTetYd:"c71585",midnightXe:"191970",mRtcYam:"f5fffa",mistyPse:"ffe4e1",moccasR:"ffe4b5",navajowEte:"ffdead",navy:"80",Tdlace:"fdf5e6",Tive:"808000",TivedBb:"6b8e23",Sange:"ffa500",SangeYd:"ff4500",ScEd:"da70d6",pOegTMnPd:"eee8aa",pOegYF:"98fb98",pOeQe:"afeeee",pOeviTetYd:"db7093",papayawEp:"ffefd5",pHKpuff:"ffdab9",peru:"cd853f",pRk:"ffc0cb",plum:"dda0dd",powMrXe:"b0e0e6",purpN:"800080",YbeccapurpN:"663399",Yd:"ff0000",Psybrown:"bc8f8f",PyOXe:"4169e1",saddNbPwn:"8b4513",sOmon:"fa8072",sandybPwn:"f4a460",sHgYF:"2e8b57",sHshell:"fff5ee",siFna:"a0522d",silver:"c0c0c0",skyXe:"87ceeb",UXe:"6a5acd",UWay:"708090",UgYy:"708090",snow:"fffafa",sprRggYF:"ff7f",stAlXe:"4682b4",tan:"d2b48c",teO:"8080",tEstN:"d8bfd8",tomato:"ff6347",Qe:"40e0d0",viTet:"ee82ee",JHt:"f5deb3",wEte:"ffffff",wEtesmoke:"f5f5f5",Lw:"ffff00",LwgYF:"9acd32"};function Kl(){const i={},t=Object.keys($n),e=Object.keys(Hn);let s,n,o,r,a;for(s=0;s<t.length;s++){for(r=a=t[s],n=0;n<e.length;n++)o=e[n],a=a.replace(o,Hn[o]);o=parseInt($n[r],16),i[a]=[o>>16&255,o>>8&255,o&255]}return i}let vi;function Jl(i){vi||(vi=Kl(),vi.transparent=[0,0,0,0]);const t=vi[i.toLowerCase()];return t&&{r:t[0],g:t[1],b:t[2],a:t.length===4?t[3]:255}}const Ql=/^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/;function tc(i){const t=Ql.exec(i);let e=255,s,n,o;if(t){if(t[7]!==s){const r=+t[7];e=t[8]?We(r):Bt(r*255,0,255)}return s=+t[1],n=+t[3],o=+t[5],s=255&(t[2]?We(s):Bt(s,0,255)),n=255&(t[4]?We(n):Bt(n,0,255)),o=255&(t[6]?We(o):Bt(o,0,255)),{r:s,g:n,b:o,a:e}}}function ec(i){return i&&(i.a<255?`rgba(${i.r}, ${i.g}, ${i.b}, ${It(i.a)})`:`rgb(${i.r}, ${i.g}, ${i.b})`)}const Cs=i=>i<=.0031308?i*12.92:Math.pow(i,1/2.4)*1.055-.055,xe=i=>i<=.04045?i/12.92:Math.pow((i+.055)/1.055,2.4);function ic(i,t,e){const s=xe(It(i.r)),n=xe(It(i.g)),o=xe(It(i.b));return{r:Ht(Cs(s+e*(xe(It(t.r))-s))),g:Ht(Cs(n+e*(xe(It(t.g))-n))),b:Ht(Cs(o+e*(xe(It(t.b))-o))),a:i.a+e*(t.a-i.a)}}function Mi(i,t,e){if(i){let s=Os(i);s[t]=Math.max(0,Math.min(s[t]+s[t]*e,t===0?360:1)),s=Ds(s),i.r=s[0],i.g=s[1],i.b=s[2]}}function jn(i,t){return i&&Object.assign(t||{},i)}function Un(i){var t={r:0,g:0,b:0,a:255};return Array.isArray(i)?i.length>=3&&(t={r:i[0],g:i[1],b:i[2],a:255},i.length>3&&(t.a=Ht(i[3]))):(t=jn(i,{r:0,g:0,b:0,a:1}),t.a=Ht(t.a)),t}function sc(i){return i.charAt(0)==="r"?tc(i):ql(i)}class Be{constructor(t){if(t instanceof Be)return t;const e=typeof t;let s;e==="object"?s=Un(t):e==="string"&&(s=zl(t)||Jl(t)||sc(t)),this._rgb=s,this._valid=!!s}get valid(){return this._valid}get rgb(){var t=jn(this._rgb);return t&&(t.a=It(t.a)),t}set rgb(t){this._rgb=Un(t)}rgbString(){return this._valid?ec(this._rgb):void 0}hexString(){return this._valid?Bl(this._rgb):void 0}hslString(){return this._valid?Gl(this._rgb):void 0}mix(t,e){if(t){const s=this.rgb,n=t.rgb;let o;const r=e===o?.5:e,a=2*r-1,l=s.a-n.a,c=((a*l===-1?a:(a+l)/(1+a*l))+1)/2;o=1-c,s.r=255&c*s.r+o*n.r+.5,s.g=255&c*s.g+o*n.g+.5,s.b=255&c*s.b+o*n.b+.5,s.a=r*s.a+(1-r)*n.a,this.rgb=s}return this}interpolate(t,e){return t&&(this._rgb=ic(this._rgb,t._rgb,e)),this}clone(){return new Be(this.rgb)}alpha(t){return this._rgb.a=Ht(t),this}clearer(t){const e=this._rgb;return e.a*=1-t,this}greyscale(){const t=this._rgb,e=ze(t.r*.3+t.g*.59+t.b*.11);return t.r=t.g=t.b=e,this}opaquer(t){const e=this._rgb;return e.a*=1+t,this}negate(){const t=this._rgb;return t.r=255-t.r,t.g=255-t.g,t.b=255-t.b,this}lighten(t){return Mi(this._rgb,2,t),this}darken(t){return Mi(this._rgb,2,-t),this}saturate(t){return Mi(this._rgb,1,t),this}desaturate(t){return Mi(this._rgb,1,-t),this}rotate(t){return Xl(this._rgb,t),this}}/*!
* Chart.js v4.4.4
* https://www.chartjs.org
* (c) 2024 Chart.js Contributors
* Released under the MIT License
*/function At(){}const nc=(()=>{let i=0;return()=>i++})();function F(i){return i===null||typeof i>"u"}function j(i){if(Array.isArray&&Array.isArray(i))return!0;const t=Object.prototype.toString.call(i);return t.slice(0,7)==="[object"&&t.slice(-6)==="Array]"}function A(i){return i!==null&&Object.prototype.toString.call(i)==="[object Object]"}function Z(i){return(typeof i=="number"||i instanceof Number)&&isFinite(+i)}function ft(i,t){return Z(i)?i:t}function P(i,t){return typeof i>"u"?t:i}const oc=(i,t)=>typeof i=="string"&&i.endsWith("%")?parseFloat(i)/100:+i/t,Yn=(i,t)=>typeof i=="string"&&i.endsWith("%")?parseFloat(i)/100*t:+i;function B(i,t,e){if(i&&typeof i.call=="function")return i.apply(e,t)}function z(i,t,e,s){let n,o,r;if(j(i))for(o=i.length,n=0;n<o;n++)t.call(e,i[n],n);else if(A(i))for(r=Object.keys(i),o=r.length,n=0;n<o;n++)t.call(e,i[r[n]],r[n])}function Oi(i,t){let e,s,n,o;if(!i||!t||i.length!==t.length)return!1;for(e=0,s=i.length;e<s;++e)if(n=i[e],o=t[e],n.datasetIndex!==o.datasetIndex||n.index!==o.index)return!1;return!0}function Ti(i){if(j(i))return i.map(Ti);if(A(i)){const t=Object.create(null),e=Object.keys(i),s=e.length;let n=0;for(;n<s;++n)t[e[n]]=Ti(i[e[n]]);return t}return i}function Zn(i){return["__proto__","prototype","constructor"].indexOf(i)===-1}function rc(i,t,e,s){if(!Zn(i))return;const n=t[i],o=e[i];A(n)&&A(o)?He(n,o,s):t[i]=Ti(o)}function He(i,t,e){const s=j(t)?t:[t],n=s.length;if(!A(i))return i;e=e||{};const o=e.merger||rc;let r;for(let a=0;a<n;++a){if(r=s[a],!A(r))continue;const l=Object.keys(r);for(let c=0,h=l.length;c<h;++c)o(l[c],i,r,e)}return i}function $e(i,t){return He(i,t,{merger:ac})}function ac(i,t,e){if(!Zn(i))return;const s=t[i],n=e[i];A(s)&&A(n)?$e(s,n):Object.prototype.hasOwnProperty.call(t,i)||(t[i]=Ti(n))}const qn={"":i=>i,x:i=>i.x,y:i=>i.y};function lc(i){const t=i.split("."),e=[];let s="";for(const n of t)s+=n,s.endsWith("\\")?s=s.slice(0,-1)+".":(e.push(s),s="");return e}function cc(i){const t=lc(i);return e=>{for(const s of t){if(s==="")break;e=e&&e[s]}return e}}function $t(i,t){return(qn[t]||(qn[t]=cc(t)))(i)}function Es(i){return i.charAt(0).toUpperCase()+i.slice(1)}const je=i=>typeof i<"u",jt=i=>typeof i=="function",Xn=(i,t)=>{if(i.size!==t.size)return!1;for(const e of i)if(!t.has(e))return!1;return!0};function hc(i){return i.type==="mouseup"||i.type==="click"||i.type==="contextmenu"}const H=Math.PI,$=2*H,uc=$+H,Di=Number.POSITIVE_INFINITY,dc=H/180,K=H/2,te=H/4,Gn=H*2/3,Ut=Math.log10,Ct=Math.sign;function Ue(i,t,e){return Math.abs(i-t)<e}function Kn(i){const t=Math.round(i);i=Ue(i,t,i/1e3)?t:i;const e=Math.pow(10,Math.floor(Ut(i))),s=i/e;return(s<=1?1:s<=2?2:s<=5?5:10)*e}function fc(i){const t=[],e=Math.sqrt(i);let s;for(s=1;s<e;s++)i%s===0&&(t.push(s),t.push(i/s));return e===(e|0)&&t.push(e),t.sort((n,o)=>n-o).pop(),t}function _e(i){return!isNaN(parseFloat(i))&&isFinite(i)}function gc(i,t){const e=Math.round(i);return e-t<=i&&e+t>=i}function Jn(i,t,e){let s,n,o;for(s=0,n=i.length;s<n;s++)o=i[s][e],isNaN(o)||(t.min=Math.min(t.min,o),t.max=Math.max(t.max,o))}function wt(i){return i*(H/180)}function Ps(i){return i*(180/H)}function Qn(i){if(!Z(i))return;let t=1,e=0;for(;Math.round(i*t)/t!==i;)t*=10,e++;return e}function to(i,t){const e=t.x-i.x,s=t.y-i.y,n=Math.sqrt(e*e+s*s);let o=Math.atan2(s,e);return o<-.5*H&&(o+=$),{angle:o,distance:n}}function Is(i,t){return Math.sqrt(Math.pow(t.x-i.x,2)+Math.pow(t.y-i.y,2))}function mc(i,t){return(i-t+uc)%$-H}function gt(i){return(i%$+$)%$}function Ye(i,t,e,s){const n=gt(i),o=gt(t),r=gt(e),a=gt(o-n),l=gt(r-n),c=gt(n-o),h=gt(n-r);return n===o||n===r||s&&o===r||a>l&&c<h}function et(i,t,e){return Math.max(t,Math.min(e,i))}function pc(i){return et(i,-32768,32767)}function Lt(i,t,e,s=1e-6){return i>=Math.min(t,e)-s&&i<=Math.max(t,e)+s}function As(i,t,e){e=e||(r=>i[r]<t);let s=i.length-1,n=0,o;for(;s-n>1;)o=n+s>>1,e(o)?n=o:s=o;return{lo:n,hi:s}}const Ft=(i,t,e,s)=>As(i,e,s?n=>{const o=i[n][t];return o<e||o===e&&i[n+1][t]===e}:n=>i[n][t]<e),bc=(i,t,e)=>As(i,e,s=>i[s][t]>=e);function yc(i,t,e){let s=0,n=i.length;for(;s<n&&i[s]<t;)s++;for(;n>s&&i[n-1]>e;)n--;return s>0||n<i.length?i.slice(s,n):i}const eo=["push","pop","shift","splice","unshift"];function xc(i,t){if(i._chartjs){i._chartjs.listeners.push(t);return}Object.defineProperty(i,"_chartjs",{configurable:!0,enumerable:!1,value:{listeners:[t]}}),eo.forEach(e=>{const s="_onData"+Es(e),n=i[e];Object.defineProperty(i,e,{configurable:!0,enumerable:!1,value(...o){const r=n.apply(this,o);return i._chartjs.listeners.forEach(a=>{typeof a[s]=="function"&&a[s](...o)}),r}})})}function io(i,t){const e=i._chartjs;if(!e)return;const s=e.listeners,n=s.indexOf(t);n!==-1&&s.splice(n,1),!(s.length>0)&&(eo.forEach(o=>{delete i[o]}),delete i._chartjs)}function so(i){const t=new Set(i);return t.size===i.length?i:Array.from(t)}const no=function(){return typeof window>"u"?function(i){return i()}:window.requestAnimationFrame}();function oo(i,t){let e=[],s=!1;return function(...n){e=n,s||(s=!0,no.call(window,()=>{s=!1,i.apply(t,e)}))}}function _c(i,t){let e;return function(...s){return t?(clearTimeout(e),e=setTimeout(i,t,s)):i.apply(this,s),t}}const Ls=i=>i==="start"?"left":i==="end"?"right":"center",st=(i,t,e)=>i==="start"?t:i==="end"?e:(t+e)/2,wc=(i,t,e,s)=>i===(s?"left":"right")?e:i==="center"?(t+e)/2:t;function ro(i,t,e){const s=t.length;let n=0,o=s;if(i._sorted){const{iScale:r,_parsed:a}=i,l=r.axis,{min:c,max:h,minDefined:u,maxDefined:d}=r.getUserBounds();u&&(n=et(Math.min(Ft(a,l,c).lo,e?s:Ft(t,l,r.getPixelForValue(c)).lo),0,s-1)),d?o=et(Math.max(Ft(a,r.axis,h,!0).hi+1,e?0:Ft(t,l,r.getPixelForValue(h),!0).hi+1),n,s)-n:o=s-n}return{start:n,count:o}}function ao(i){const{xScale:t,yScale:e,_scaleRanges:s}=i,n={xmin:t.min,xmax:t.max,ymin:e.min,ymax:e.max};if(!s)return i._scaleRanges=n,!0;const o=s.xmin!==t.min||s.xmax!==t.max||s.ymin!==e.min||s.ymax!==e.max;return Object.assign(s,n),o}const Ci=i=>i===0||i===1,lo=(i,t,e)=>-(Math.pow(2,10*(i-=1))*Math.sin((i-t)*$/e)),co=(i,t,e)=>Math.pow(2,-10*i)*Math.sin((i-t)*$/e)+1,Ze={linear:i=>i,easeInQuad:i=>i*i,easeOutQuad:i=>-i*(i-2),easeInOutQuad:i=>(i/=.5)<1?.5*i*i:-.5*(--i*(i-2)-1),easeInCubic:i=>i*i*i,easeOutCubic:i=>(i-=1)*i*i+1,easeInOutCubic:i=>(i/=.5)<1?.5*i*i*i:.5*((i-=2)*i*i+2),easeInQuart:i=>i*i*i*i,easeOutQuart:i=>-((i-=1)*i*i*i-1),easeInOutQuart:i=>(i/=.5)<1?.5*i*i*i*i:-.5*((i-=2)*i*i*i-2),easeInQuint:i=>i*i*i*i*i,easeOutQuint:i=>(i-=1)*i*i*i*i+1,easeInOutQuint:i=>(i/=.5)<1?.5*i*i*i*i*i:.5*((i-=2)*i*i*i*i+2),easeInSine:i=>-Math.cos(i*K)+1,easeOutSine:i=>Math.sin(i*K),easeInOutSine:i=>-.5*(Math.cos(H*i)-1),easeInExpo:i=>i===0?0:Math.pow(2,10*(i-1)),easeOutExpo:i=>i===1?1:-Math.pow(2,-10*i)+1,easeInOutExpo:i=>Ci(i)?i:i<.5?.5*Math.pow(2,10*(i*2-1)):.5*(-Math.pow(2,-10*(i*2-1))+2),easeInCirc:i=>i>=1?i:-(Math.sqrt(1-i*i)-1),easeOutCirc:i=>Math.sqrt(1-(i-=1)*i),easeInOutCirc:i=>(i/=.5)<1?-.5*(Math.sqrt(1-i*i)-1):.5*(Math.sqrt(1-(i-=2)*i)+1),easeInElastic:i=>Ci(i)?i:lo(i,.075,.3),easeOutElastic:i=>Ci(i)?i:co(i,.075,.3),easeInOutElastic(i){return Ci(i)?i:i<.5?.5*lo(i*2,.1125,.45):.5+.5*co(i*2-1,.1125,.45)},easeInBack(i){return i*i*((1.70158+1)*i-1.70158)},easeOutBack(i){return(i-=1)*i*((1.70158+1)*i+1.70158)+1},easeInOutBack(i){let t=1.70158;return(i/=.5)<1?.5*(i*i*(((t*=1.525)+1)*i-t)):.5*((i-=2)*i*(((t*=1.525)+1)*i+t)+2)},easeInBounce:i=>1-Ze.easeOutBounce(1-i),easeOutBounce(i){return i<1/2.75?7.5625*i*i:i<2/2.75?7.5625*(i-=1.5/2.75)*i+.75:i<2.5/2.75?7.5625*(i-=2.25/2.75)*i+.9375:7.5625*(i-=2.625/2.75)*i+.984375},easeInOutBounce:i=>i<.5?Ze.easeInBounce(i*2)*.5:Ze.easeOutBounce(i*2-1)*.5+.5};function Fs(i){if(i&&typeof i=="object"){const t=i.toString();return t==="[object CanvasPattern]"||t==="[object CanvasGradient]"}return!1}function ho(i){return Fs(i)?i:new Be(i)}function Rs(i){return Fs(i)?i:new Be(i).saturate(.5).darken(.1).hexString()}const kc=["x","y","borderWidth","radius","tension"],Sc=["color","borderColor","backgroundColor"];function vc(i){i.set("animation",{delay:void 0,duration:1e3,easing:"easeOutQuart",fn:void 0,from:void 0,loop:void 0,to:void 0,type:void 0}),i.describe("animation",{_fallback:!1,_indexable:!1,_scriptable:t=>t!=="onProgress"&&t!=="onComplete"&&t!=="fn"}),i.set("animations",{colors:{type:"color",properties:Sc},numbers:{type:"number",properties:kc}}),i.describe("animations",{_fallback:"animation"}),i.set("transitions",{active:{animation:{duration:400}},resize:{animation:{duration:0}},show:{animations:{colors:{from:"transparent"},visible:{type:"boolean",duration:0}}},hide:{animations:{colors:{to:"transparent"},visible:{type:"boolean",easing:"linear",fn:t=>t|0}}}})}function Mc(i){i.set("layout",{autoPadding:!0,padding:{top:0,right:0,bottom:0,left:0}})}const uo=new Map;function Oc(i,t){t=t||{};const e=i+JSON.stringify(t);let s=uo.get(e);return s||(s=new Intl.NumberFormat(i,t),uo.set(e,s)),s}function qe(i,t,e){return Oc(t,e).format(i)}const fo={values(i){return j(i)?i:""+i},numeric(i,t,e){if(i===0)return"0";const s=this.chart.options.locale;let n,o=i;if(e.length>1){const c=Math.max(Math.abs(e[0].value),Math.abs(e[e.length-1].value));(c<1e-4||c>1e15)&&(n="scientific"),o=Tc(i,e)}const r=Ut(Math.abs(o)),a=isNaN(r)?1:Math.max(Math.min(-1*Math.floor(r),20),0),l={notation:n,minimumFractionDigits:a,maximumFractionDigits:a};return Object.assign(l,this.options.ticks.format),qe(i,s,l)},logarithmic(i,t,e){if(i===0)return"0";const s=e[t].significand||i/Math.pow(10,Math.floor(Ut(i)));return[1,2,3,5,10,15].includes(s)||t>.8*e.length?fo.numeric.call(this,i,t,e):""}};function Tc(i,t){let e=t.length>3?t[2].value-t[1].value:t[1].value-t[0].value;return Math.abs(e)>=1&&i!==Math.floor(i)&&(e=i-Math.floor(i)),e}var Ei={formatters:fo};function Dc(i){i.set("scale",{display:!0,offset:!1,reverse:!1,beginAtZero:!1,bounds:"ticks",clip:!0,grace:0,grid:{display:!0,lineWidth:1,drawOnChartArea:!0,drawTicks:!0,tickLength:8,tickWidth:(t,e)=>e.lineWidth,tickColor:(t,e)=>e.color,offset:!1},border:{display:!0,dash:[],dashOffset:0,width:1},title:{display:!1,text:"",padding:{top:4,bottom:4}},ticks:{minRotation:0,maxRotation:50,mirror:!1,textStrokeWidth:0,textStrokeColor:"",padding:3,display:!0,autoSkip:!0,autoSkipPadding:3,labelOffset:0,callback:Ei.formatters.values,minor:{},major:{},align:"center",crossAlign:"near",showLabelBackdrop:!1,backdropColor:"rgba(255, 255, 255, 0.75)",backdropPadding:2}}),i.route("scale.ticks","color","","color"),i.route("scale.grid","color","","borderColor"),i.route("scale.border","color","","borderColor"),i.route("scale.title","color","","color"),i.describe("scale",{_fallback:!1,_scriptable:t=>!t.startsWith("before")&&!t.startsWith("after")&&t!=="callback"&&t!=="parser",_indexable:t=>t!=="borderDash"&&t!=="tickBorderDash"&&t!=="dash"}),i.describe("scales",{_fallback:"scale"}),i.describe("scale.ticks",{_scriptable:t=>t!=="backdropPadding"&&t!=="callback",_indexable:t=>t!=="backdropPadding"})}const ee=Object.create(null),Ns=Object.create(null);function Xe(i,t){if(!t)return i;const e=t.split(".");for(let s=0,n=e.length;s<n;++s){const o=e[s];i=i[o]||(i[o]=Object.create(null))}return i}function Vs(i,t,e){return typeof t=="string"?He(Xe(i,t),e):He(Xe(i,""),t)}class Cc{constructor(t,e){this.animation=void 0,this.backgroundColor="rgba(0,0,0,0.1)",this.borderColor="rgba(0,0,0,0.1)",this.color="#666",this.datasets={},this.devicePixelRatio=s=>s.chart.platform.getDevicePixelRatio(),this.elements={},this.events=["mousemove","mouseout","click","touchstart","touchmove"],this.font={family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",size:12,style:"normal",lineHeight:1.2,weight:null},this.hover={},this.hoverBackgroundColor=(s,n)=>Rs(n.backgroundColor),this.hoverBorderColor=(s,n)=>Rs(n.borderColor),this.hoverColor=(s,n)=>Rs(n.color),this.indexAxis="x",this.interaction={mode:"nearest",intersect:!0,includeInvisible:!1},this.maintainAspectRatio=!0,this.onHover=null,this.onClick=null,this.parsing=!0,this.plugins={},this.responsive=!0,this.scale=void 0,this.scales={},this.showLine=!0,this.drawActiveElementsOnTop=!0,this.describe(t),this.apply(e)}set(t,e){return Vs(this,t,e)}get(t){return Xe(this,t)}describe(t,e){return Vs(Ns,t,e)}override(t,e){return Vs(ee,t,e)}route(t,e,s,n){const o=Xe(this,t),r=Xe(this,s),a="_"+e;Object.defineProperties(o,{[a]:{value:o[e],writable:!0},[e]:{enumerable:!0,get(){const l=this[a],c=r[n];return A(l)?Object.assign({},c,l):P(l,c)},set(l){this[a]=l}}})}apply(t){t.forEach(e=>e(this))}}var q=new Cc({_scriptable:i=>!i.startsWith("on"),_indexable:i=>i!=="events",hover:{_fallback:"interaction"},interaction:{_scriptable:!1,_indexable:!1}},[vc,Mc,Dc]);function Ec(i){return!i||F(i.size)||F(i.family)?null:(i.style?i.style+" ":"")+(i.weight?i.weight+" ":"")+i.size+"px "+i.family}function Pi(i,t,e,s,n){let o=t[n];return o||(o=t[n]=i.measureText(n).width,e.push(n)),o>s&&(s=o),s}function Pc(i,t,e,s){s=s||{};let n=s.data=s.data||{},o=s.garbageCollect=s.garbageCollect||[];s.font!==t&&(n=s.data={},o=s.garbageCollect=[],s.font=t),i.save(),i.font=t;let r=0;const a=e.length;let l,c,h,u,d;for(l=0;l<a;l++)if(u=e[l],u!=null&&!j(u))r=Pi(i,n,o,r,u);else if(j(u))for(c=0,h=u.length;c<h;c++)d=u[c],d!=null&&!j(d)&&(r=Pi(i,n,o,r,d));i.restore();const f=o.length/2;if(f>e.length){for(l=0;l<f;l++)delete n[o[l]];o.splice(0,f)}return r}function ie(i,t,e){const s=i.currentDevicePixelRatio,n=e!==0?Math.max(e/2,.5):0;return Math.round((t-n)*s)/s+n}function go(i,t){!t&&!i||(t=t||i.getContext("2d"),t.save(),t.resetTransform(),t.clearRect(0,0,i.width,i.height),t.restore())}function zs(i,t,e,s){mo(i,t,e,s,null)}function mo(i,t,e,s,n){let o,r,a,l,c,h,u,d;const f=t.pointStyle,g=t.rotation,m=t.radius;let p=(g||0)*dc;if(f&&typeof f=="object"&&(o=f.toString(),o==="[object HTMLImageElement]"||o==="[object HTMLCanvasElement]")){i.save(),i.translate(e,s),i.rotate(p),i.drawImage(f,-f.width/2,-f.height/2,f.width,f.height),i.restore();return}if(!(isNaN(m)||m<=0)){switch(i.beginPath(),f){default:n?i.ellipse(e,s,n/2,m,0,0,$):i.arc(e,s,m,0,$),i.closePath();break;case"triangle":h=n?n/2:m,i.moveTo(e+Math.sin(p)*h,s-Math.cos(p)*m),p+=Gn,i.lineTo(e+Math.sin(p)*h,s-Math.cos(p)*m),p+=Gn,i.lineTo(e+Math.sin(p)*h,s-Math.cos(p)*m),i.closePath();break;case"rectRounded":c=m*.516,l=m-c,r=Math.cos(p+te)*l,u=Math.cos(p+te)*(n?n/2-c:l),a=Math.sin(p+te)*l,d=Math.sin(p+te)*(n?n/2-c:l),i.arc(e-u,s-a,c,p-H,p-K),i.arc(e+d,s-r,c,p-K,p),i.arc(e+u,s+a,c,p,p+K),i.arc(e-d,s+r,c,p+K,p+H),i.closePath();break;case"rect":if(!g){l=Math.SQRT1_2*m,h=n?n/2:l,i.rect(e-h,s-l,2*h,2*l);break}p+=te;case"rectRot":u=Math.cos(p)*(n?n/2:m),r=Math.cos(p)*m,a=Math.sin(p)*m,d=Math.sin(p)*(n?n/2:m),i.moveTo(e-u,s-a),i.lineTo(e+d,s-r),i.lineTo(e+u,s+a),i.lineTo(e-d,s+r),i.closePath();break;case"crossRot":p+=te;case"cross":u=Math.cos(p)*(n?n/2:m),r=Math.cos(p)*m,a=Math.sin(p)*m,d=Math.sin(p)*(n?n/2:m),i.moveTo(e-u,s-a),i.lineTo(e+u,s+a),i.moveTo(e+d,s-r),i.lineTo(e-d,s+r);break;case"star":u=Math.cos(p)*(n?n/2:m),r=Math.cos(p)*m,a=Math.sin(p)*m,d=Math.sin(p)*(n?n/2:m),i.moveTo(e-u,s-a),i.lineTo(e+u,s+a),i.moveTo(e+d,s-r),i.lineTo(e-d,s+r),p+=te,u=Math.cos(p)*(n?n/2:m),r=Math.cos(p)*m,a=Math.sin(p)*m,d=Math.sin(p)*(n?n/2:m),i.moveTo(e-u,s-a),i.lineTo(e+u,s+a),i.moveTo(e+d,s-r),i.lineTo(e-d,s+r);break;case"line":r=n?n/2:Math.cos(p)*m,a=Math.sin(p)*m,i.moveTo(e-r,s-a),i.lineTo(e+r,s+a);break;case"dash":i.moveTo(e,s),i.lineTo(e+Math.cos(p)*(n?n/2:m),s+Math.sin(p)*m);break;case!1:i.closePath();break}i.fill(),t.borderWidth>0&&i.stroke()}}function Rt(i,t,e){return e=e||.5,!t||i&&i.x>t.left-e&&i.x<t.right+e&&i.y>t.top-e&&i.y<t.bottom+e}function Ii(i,t){i.save(),i.beginPath(),i.rect(t.left,t.top,t.right-t.left,t.bottom-t.top),i.clip()}function Ai(i){i.restore()}function Ic(i,t,e,s,n){if(!t)return i.lineTo(e.x,e.y);if(n==="middle"){const o=(t.x+e.x)/2;i.lineTo(o,t.y),i.lineTo(o,e.y)}else n==="after"!=!!s?i.lineTo(t.x,e.y):i.lineTo(e.x,t.y);i.lineTo(e.x,e.y)}function Ac(i,t,e,s){if(!t)return i.lineTo(e.x,e.y);i.bezierCurveTo(s?t.cp1x:t.cp2x,s?t.cp1y:t.cp2y,s?e.cp2x:e.cp1x,s?e.cp2y:e.cp1y,e.x,e.y)}function Lc(i,t){t.translation&&i.translate(t.translation[0],t.translation[1]),F(t.rotation)||i.rotate(t.rotation),t.color&&(i.fillStyle=t.color),t.textAlign&&(i.textAlign=t.textAlign),t.textBaseline&&(i.textBaseline=t.textBaseline)}function Fc(i,t,e,s,n){if(n.strikethrough||n.underline){const o=i.measureText(s),r=t-o.actualBoundingBoxLeft,a=t+o.actualBoundingBoxRight,l=e-o.actualBoundingBoxAscent,c=e+o.actualBoundingBoxDescent,h=n.strikethrough?(l+c)/2:c;i.strokeStyle=i.fillStyle,i.beginPath(),i.lineWidth=n.decorationWidth||2,i.moveTo(r,h),i.lineTo(a,h),i.stroke()}}function Rc(i,t){const e=i.fillStyle;i.fillStyle=t.color,i.fillRect(t.left,t.top,t.width,t.height),i.fillStyle=e}function se(i,t,e,s,n,o={}){const r=j(t)?t:[t],a=o.strokeWidth>0&&o.strokeColor!=="";let l,c;for(i.save(),i.font=n.string,Lc(i,o),l=0;l<r.length;++l)c=r[l],o.backdrop&&Rc(i,o.backdrop),a&&(o.strokeColor&&(i.strokeStyle=o.strokeColor),F(o.strokeWidth)||(i.lineWidth=o.strokeWidth),i.strokeText(c,e,s,o.maxWidth)),i.fillText(c,e,s,o.maxWidth),Fc(i,e,s,c,o),s+=Number(n.lineHeight);i.restore()}function Ge(i,t){const{x:e,y:s,w:n,h:o,radius:r}=t;i.arc(e+r.topLeft,s+r.topLeft,r.topLeft,1.5*H,H,!0),i.lineTo(e,s+o-r.bottomLeft),i.arc(e+r.bottomLeft,s+o-r.bottomLeft,r.bottomLeft,H,K,!0),i.lineTo(e+n-r.bottomRight,s+o),i.arc(e+n-r.bottomRight,s+o-r.bottomRight,r.bottomRight,K,0,!0),i.lineTo(e+n,s+r.topRight),i.arc(e+n-r.topRight,s+r.topRight,r.topRight,0,-K,!0),i.lineTo(e+r.topLeft,s)}const Nc=/^(normal|(\d+(?:\.\d+)?)(px|em|%)?)$/,Vc=/^(normal|italic|initial|inherit|unset|(oblique( -?[0-9]?[0-9]deg)?))$/;function zc(i,t){const e=(""+i).match(Nc);if(!e||e[1]==="normal")return t*1.2;switch(i=+e[2],e[3]){case"px":return i;case"%":i/=100;break}return t*i}const Wc=i=>+i||0;function Ws(i,t){const e={},s=A(t),n=s?Object.keys(t):t,o=A(i)?s?r=>P(i[r],i[t[r]]):r=>i[r]:()=>i;for(const r of n)e[r]=Wc(o(r));return e}function po(i){return Ws(i,{top:"y",right:"x",bottom:"y",left:"x"})}function ne(i){return Ws(i,["topLeft","topRight","bottomLeft","bottomRight"])}function nt(i){const t=po(i);return t.width=t.left+t.right,t.height=t.top+t.bottom,t}function tt(i,t){i=i||{},t=t||q.font;let e=P(i.size,t.size);typeof e=="string"&&(e=parseInt(e,10));let s=P(i.style,t.style);s&&!(""+s).match(Vc)&&(console.warn('Invalid font style specified: "'+s+'"'),s=void 0);const n={family:P(i.family,t.family),lineHeight:zc(P(i.lineHeight,t.lineHeight),e),size:e,style:s,weight:P(i.weight,t.weight),string:""};return n.string=Ec(n),n}function Ke(i,t,e,s){let n,o,r;for(n=0,o=i.length;n<o;++n)if(r=i[n],r!==void 0&&r!==void 0)return r}function Bc(i,t,e){const{min:s,max:n}=i,o=Yn(t,(n-s)/2),r=(a,l)=>e&&a===0?0:a+l;return{min:r(s,-Math.abs(o)),max:r(n,o)}}function Yt(i,t){return Object.assign(Object.create(i),t)}function Bs(i,t=[""],e,s,n=()=>i[0]){const o=e||i;typeof s>"u"&&(s=wo("_fallback",i));const r={[Symbol.toStringTag]:"Object",_cacheable:!0,_scopes:i,_rootScopes:o,_fallback:s,_getTarget:n,override:a=>Bs([a,...i],t,o,s)};return new Proxy(r,{deleteProperty(a,l){return delete a[l],delete a._keys,delete i[0][l],!0},get(a,l){return yo(a,l,()=>Xc(l,t,i,a))},getOwnPropertyDescriptor(a,l){return Reflect.getOwnPropertyDescriptor(a._scopes[0],l)},getPrototypeOf(){return Reflect.getPrototypeOf(i[0])},has(a,l){return ko(a).includes(l)},ownKeys(a){return ko(a)},set(a,l,c){const h=a._storage||(a._storage=n());return a[l]=h[l]=c,delete a._keys,!0}})}function we(i,t,e,s){const n={_cacheable:!1,_proxy:i,_context:t,_subProxy:e,_stack:new Set,_descriptors:bo(i,s),setContext:o=>we(i,o,e,s),override:o=>we(i.override(o),t,e,s)};return new Proxy(n,{deleteProperty(o,r){return delete o[r],delete i[r],!0},get(o,r,a){return yo(o,r,()=>$c(o,r,a))},getOwnPropertyDescriptor(o,r){return o._descriptors.allKeys?Reflect.has(i,r)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(i,r)},getPrototypeOf(){return Reflect.getPrototypeOf(i)},has(o,r){return Reflect.has(i,r)},ownKeys(){return Reflect.ownKeys(i)},set(o,r,a){return i[r]=a,delete o[r],!0}})}function bo(i,t={scriptable:!0,indexable:!0}){const{_scriptable:e=t.scriptable,_indexable:s=t.indexable,_allKeys:n=t.allKeys}=i;return{allKeys:n,scriptable:e,indexable:s,isScriptable:jt(e)?e:()=>e,isIndexable:jt(s)?s:()=>s}}const Hc=(i,t)=>i?i+Es(t):t,Hs=(i,t)=>A(t)&&i!=="adapters"&&(Object.getPrototypeOf(t)===null||t.constructor===Object);function yo(i,t,e){if(Object.prototype.hasOwnProperty.call(i,t)||t==="constructor")return i[t];const s=e();return i[t]=s,s}function $c(i,t,e){const{_proxy:s,_context:n,_subProxy:o,_descriptors:r}=i;let a=s[t];return jt(a)&&r.isScriptable(t)&&(a=jc(t,a,i,e)),j(a)&&a.length&&(a=Uc(t,a,i,r.isIndexable)),Hs(t,a)&&(a=we(a,n,o&&o[t],r)),a}function jc(i,t,e,s){const{_proxy:n,_context:o,_subProxy:r,_stack:a}=e;if(a.has(i))throw new Error("Recursion detected: "+Array.from(a).join("->")+"->"+i);a.add(i);let l=t(o,r||s);return a.delete(i),Hs(i,l)&&(l=$s(n._scopes,n,i,l)),l}function Uc(i,t,e,s){const{_proxy:n,_context:o,_subProxy:r,_descriptors:a}=e;if(typeof o.index<"u"&&s(i))return t[o.index%t.length];if(A(t[0])){const l=t,c=n._scopes.filter(h=>h!==l);t=[];for(const h of l){const u=$s(c,n,i,h);t.push(we(u,o,r&&r[i],a))}}return t}function xo(i,t,e){return jt(i)?i(t,e):i}const Yc=(i,t)=>i===!0?t:typeof i=="string"?$t(t,i):void 0;function Zc(i,t,e,s,n){for(const o of t){const r=Yc(e,o);if(r){i.add(r);const a=xo(r._fallback,e,n);if(typeof a<"u"&&a!==e&&a!==s)return a}else if(r===!1&&typeof s<"u"&&e!==s)return null}return!1}function $s(i,t,e,s){const n=t._rootScopes,o=xo(t._fallback,e,s),r=[...i,...n],a=new Set;a.add(s);let l=_o(a,r,e,o||e,s);return l===null||typeof o<"u"&&o!==e&&(l=_o(a,r,o,l,s),l===null)?!1:Bs(Array.from(a),[""],n,o,()=>qc(t,e,s))}function _o(i,t,e,s,n){for(;e;)e=Zc(i,t,e,s,n);return e}function qc(i,t,e){const s=i._getTarget();t in s||(s[t]={});const n=s[t];return j(n)&&A(e)?e:n||{}}function Xc(i,t,e,s){let n;for(const o of t)if(n=wo(Hc(o,i),e),typeof n<"u")return Hs(i,n)?$s(e,s,i,n):n}function wo(i,t){for(const e of t){if(!e)continue;const s=e[i];if(typeof s<"u")return s}}function ko(i){let t=i._keys;return t||(t=i._keys=Gc(i._scopes)),t}function Gc(i){const t=new Set;for(const e of i)for(const s of Object.keys(e).filter(n=>!n.startsWith("_")))t.add(s);return Array.from(t)}function So(i,t,e,s){const{iScale:n}=i,{key:o="r"}=this._parsing,r=new Array(s);let a,l,c,h;for(a=0,l=s;a<l;++a)c=a+e,h=t[c],r[a]={r:n.parse($t(h,o),c)};return r}const Kc=Number.EPSILON||1e-14,ke=(i,t)=>t<i.length&&!i[t].skip&&i[t],vo=i=>i==="x"?"y":"x";function Jc(i,t,e,s){const n=i.skip?t:i,o=t,r=e.skip?t:e,a=Is(o,n),l=Is(r,o);let c=a/(a+l),h=l/(a+l);c=isNaN(c)?0:c,h=isNaN(h)?0:h;const u=s*c,d=s*h;return{previous:{x:o.x-u*(r.x-n.x),y:o.y-u*(r.y-n.y)},next:{x:o.x+d*(r.x-n.x),y:o.y+d*(r.y-n.y)}}}function Qc(i,t,e){const s=i.length;let n,o,r,a,l,c=ke(i,0);for(let h=0;h<s-1;++h)if(l=c,c=ke(i,h+1),!(!l||!c)){if(Ue(t[h],0,Kc)){e[h]=e[h+1]=0;continue}n=e[h]/t[h],o=e[h+1]/t[h],a=Math.pow(n,2)+Math.pow(o,2),!(a<=9)&&(r=3/Math.sqrt(a),e[h]=n*r*t[h],e[h+1]=o*r*t[h])}}function th(i,t,e="x"){const s=vo(e),n=i.length;let o,r,a,l=ke(i,0);for(let c=0;c<n;++c){if(r=a,a=l,l=ke(i,c+1),!a)continue;const h=a[e],u=a[s];r&&(o=(h-r[e])/3,a[`cp1${e}`]=h-o,a[`cp1${s}`]=u-o*t[c]),l&&(o=(l[e]-h)/3,a[`cp2${e}`]=h+o,a[`cp2${s}`]=u+o*t[c])}}function eh(i,t="x"){const e=vo(t),s=i.length,n=Array(s).fill(0),o=Array(s);let r,a,l,c=ke(i,0);for(r=0;r<s;++r)if(a=l,l=c,c=ke(i,r+1),!!l){if(c){const h=c[t]-l[t];n[r]=h!==0?(c[e]-l[e])/h:0}o[r]=a?c?Ct(n[r-1])!==Ct(n[r])?0:(n[r-1]+n[r])/2:n[r-1]:n[r]}Qc(i,n,o),th(i,o,t)}function Li(i,t,e){return Math.max(Math.min(i,e),t)}function ih(i,t){let e,s,n,o,r,a=Rt(i[0],t);for(e=0,s=i.length;e<s;++e)r=o,o=a,a=e<s-1&&Rt(i[e+1],t),o&&(n=i[e],r&&(n.cp1x=Li(n.cp1x,t.left,t.right),n.cp1y=Li(n.cp1y,t.top,t.bottom)),a&&(n.cp2x=Li(n.cp2x,t.left,t.right),n.cp2y=Li(n.cp2y,t.top,t.bottom)))}function sh(i,t,e,s,n){let o,r,a,l;if(t.spanGaps&&(i=i.filter(c=>!c.skip)),t.cubicInterpolationMode==="monotone")eh(i,n);else{let c=s?i[i.length-1]:i[0];for(o=0,r=i.length;o<r;++o)a=i[o],l=Jc(c,a,i[Math.min(o+1,r-(s?0:1))%r],t.tension),a.cp1x=l.previous.x,a.cp1y=l.previous.y,a.cp2x=l.next.x,a.cp2y=l.next.y,c=a}t.capBezierPoints&&ih(i,e)}function js(){return typeof window<"u"&&typeof document<"u"}function Us(i){let t=i.parentNode;return t&&t.toString()==="[object ShadowRoot]"&&(t=t.host),t}function Fi(i,t,e){let s;return typeof i=="string"?(s=parseInt(i,10),i.indexOf("%")!==-1&&(s=s/100*t.parentNode[e])):s=i,s}const Ri=i=>i.ownerDocument.defaultView.getComputedStyle(i,null);function nh(i,t){return Ri(i).getPropertyValue(t)}const oh=["top","right","bottom","left"];function oe(i,t,e){const s={};e=e?"-"+e:"";for(let n=0;n<4;n++){const o=oh[n];s[o]=parseFloat(i[t+"-"+o+e])||0}return s.width=s.left+s.right,s.height=s.top+s.bottom,s}const rh=(i,t,e)=>(i>0||t>0)&&(!e||!e.shadowRoot);function ah(i,t){const e=i.touches,s=e&&e.length?e[0]:i,{offsetX:n,offsetY:o}=s;let r=!1,a,l;if(rh(n,o,i.target))a=n,l=o;else{const c=t.getBoundingClientRect();a=s.clientX-c.left,l=s.clientY-c.top,r=!0}return{x:a,y:l,box:r}}function re(i,t){if("native"in i)return i;const{canvas:e,currentDevicePixelRatio:s}=t,n=Ri(e),o=n.boxSizing==="border-box",r=oe(n,"padding"),a=oe(n,"border","width"),{x:l,y:c,box:h}=ah(i,e),u=r.left+(h&&a.left),d=r.top+(h&&a.top);let{width:f,height:g}=t;return o&&(f-=r.width+a.width,g-=r.height+a.height),{x:Math.round((l-u)/f*e.width/s),y:Math.round((c-d)/g*e.height/s)}}function lh(i,t,e){let s,n;if(t===void 0||e===void 0){const o=i&&Us(i);if(!o)t=i.clientWidth,e=i.clientHeight;else{const r=o.getBoundingClientRect(),a=Ri(o),l=oe(a,"border","width"),c=oe(a,"padding");t=r.width-c.width-l.width,e=r.height-c.height-l.height,s=Fi(a.maxWidth,o,"clientWidth"),n=Fi(a.maxHeight,o,"clientHeight")}}return{width:t,height:e,maxWidth:s||Di,maxHeight:n||Di}}const Ni=i=>Math.round(i*10)/10;function ch(i,t,e,s){const n=Ri(i),o=oe(n,"margin"),r=Fi(n.maxWidth,i,"clientWidth")||Di,a=Fi(n.maxHeight,i,"clientHeight")||Di,l=lh(i,t,e);let{width:c,height:h}=l;if(n.boxSizing==="content-box"){const d=oe(n,"border","width"),f=oe(n,"padding");c-=f.width+d.width,h-=f.height+d.height}return c=Math.max(0,c-o.width),h=Math.max(0,s?c/s:h-o.height),c=Ni(Math.min(c,r,l.maxWidth)),h=Ni(Math.min(h,a,l.maxHeight)),c&&!h&&(h=Ni(c/2)),(t!==void 0||e!==void 0)&&s&&l.height&&h>l.height&&(h=l.height,c=Ni(Math.floor(h*s))),{width:c,height:h}}function Mo(i,t,e){const s=t||1,n=Math.floor(i.height*s),o=Math.floor(i.width*s);i.height=Math.floor(i.height),i.width=Math.floor(i.width);const r=i.canvas;return r.style&&(e||!r.style.height&&!r.style.width)&&(r.style.height=`${i.height}px`,r.style.width=`${i.width}px`),i.currentDevicePixelRatio!==s||r.height!==n||r.width!==o?(i.currentDevicePixelRatio=s,r.height=n,r.width=o,i.ctx.setTransform(s,0,0,s,0,0),!0):!1}const hh=function(){let i=!1;try{const t={get passive(){return i=!0,!1}};js()&&(window.addEventListener("test",null,t),window.removeEventListener("test",null,t))}catch{}return i}();function Oo(i,t){const e=nh(i,t),s=e&&e.match(/^(\d+)(\.\d+)?px$/);return s?+s[1]:void 0}function ae(i,t,e,s){return{x:i.x+e*(t.x-i.x),y:i.y+e*(t.y-i.y)}}function uh(i,t,e,s){return{x:i.x+e*(t.x-i.x),y:s==="middle"?e<.5?i.y:t.y:s==="after"?e<1?i.y:t.y:e>0?t.y:i.y}}function dh(i,t,e,s){const n={x:i.cp2x,y:i.cp2y},o={x:t.cp1x,y:t.cp1y},r=ae(i,n,e),a=ae(n,o,e),l=ae(o,t,e),c=ae(r,a,e),h=ae(a,l,e);return ae(c,h,e)}const fh=function(i,t){return{x(e){return i+i+t-e},setWidth(e){t=e},textAlign(e){return e==="center"?e:e==="right"?"left":"right"},xPlus(e,s){return e-s},leftForLtr(e,s){return e-s}}},gh=function(){return{x(i){return i},setWidth(i){},textAlign(i){return i},xPlus(i,t){return i+t},leftForLtr(i,t){return i}}};function Se(i,t,e){return i?fh(t,e):gh()}function To(i,t){let e,s;(t==="ltr"||t==="rtl")&&(e=i.canvas.style,s=[e.getPropertyValue("direction"),e.getPropertyPriority("direction")],e.setProperty("direction",t,"important"),i.prevTextDirection=s)}function Do(i,t){t!==void 0&&(delete i.prevTextDirection,i.canvas.style.setProperty("direction",t[0],t[1]))}function Co(i){return i==="angle"?{between:Ye,compare:mc,normalize:gt}:{between:Lt,compare:(t,e)=>t-e,normalize:t=>t}}function Eo({start:i,end:t,count:e,loop:s,style:n}){return{start:i%e,end:t%e,loop:s&&(t-i+1)%e===0,style:n}}function mh(i,t,e){const{property:s,start:n,end:o}=e,{between:r,normalize:a}=Co(s),l=t.length;let{start:c,end:h,loop:u}=i,d,f;if(u){for(c+=l,h+=l,d=0,f=l;d<f&&r(a(t[c%l][s]),n,o);++d)c--,h--;c%=l,h%=l}return h<c&&(h+=l),{start:c,end:h,loop:u,style:i.style}}function Po(i,t,e){if(!e)return[i];const{property:s,start:n,end:o}=e,r=t.length,{compare:a,between:l,normalize:c}=Co(s),{start:h,end:u,loop:d,style:f}=mh(i,t,e),g=[];let m=!1,p=null,b,y,_;const w=()=>l(n,_,b)&&a(n,_)!==0,x=()=>a(o,b)===0||l(o,_,b),S=()=>m||w(),v=()=>!m||x();for(let M=h,T=h;M<=u;++M)y=t[M%r],!y.skip&&(b=c(y[s]),b!==_&&(m=l(b,n,o),p===null&&S()&&(p=a(b,n)===0?M:T),p!==null&&v()&&(g.push(Eo({start:p,end:M,loop:d,count:r,style:f})),p=null),T=M,_=b));return p!==null&&g.push(Eo({start:p,end:u,loop:d,count:r,style:f})),g}function Io(i,t){const e=[],s=i.segments;for(let n=0;n<s.length;n++){const o=Po(s[n],i.points,t);o.length&&e.push(...o)}return e}function ph(i,t,e,s){let n=0,o=t-1;if(e&&!s)for(;n<t&&!i[n].skip;)n++;for(;n<t&&i[n].skip;)n++;for(n%=t,e&&(o+=n);o>n&&i[o%t].skip;)o--;return o%=t,{start:n,end:o}}function bh(i,t,e,s){const n=i.length,o=[];let r=t,a=i[t],l;for(l=t+1;l<=e;++l){const c=i[l%n];c.skip||c.stop?a.skip||(s=!1,o.push({start:t%n,end:(l-1)%n,loop:s}),t=r=c.stop?l:null):(r=l,a.skip&&(t=l)),a=c}return r!==null&&o.push({start:t%n,end:r%n,loop:s}),o}function yh(i,t){const e=i.points,s=i.options.spanGaps,n=e.length;if(!n)return[];const o=!!i._loop,{start:r,end:a}=ph(e,n,o,s);if(s===!0)return Ao(i,[{start:r,end:a,loop:o}],e,t);const l=a<r?a+n:a,c=!!i._fullLoop&&r===0&&a===n-1;return Ao(i,bh(e,r,l,c),e,t)}function Ao(i,t,e,s){return!s||!s.setContext||!e?t:xh(i,t,e,s)}function xh(i,t,e,s){const n=i._chart.getContext(),o=Lo(i.options),{_datasetIndex:r,options:{spanGaps:a}}=i,l=e.length,c=[];let h=o,u=t[0].start,d=u;function f(g,m,p,b){const y=a?-1:1;if(g!==m){for(g+=l;e[g%l].skip;)g-=y;for(;e[m%l].skip;)m+=y;g%l!==m%l&&(c.push({start:g%l,end:m%l,loop:p,style:b}),h=b,u=m%l)}}for(const g of t){u=a?u:g.start;let m=e[u%l],p;for(d=u+1;d<=g.end;d++){const b=e[d%l];p=Lo(s.setContext(Yt(n,{type:"segment",p0:m,p1:b,p0DataIndex:(d-1)%l,p1DataIndex:d%l,datasetIndex:r}))),_h(p,h)&&f(u,d-1,g.loop,h),m=b,h=p}u<d-1&&f(u,d-1,g.loop,h)}return c}function Lo(i){return{backgroundColor:i.backgroundColor,borderCapStyle:i.borderCapStyle,borderDash:i.borderDash,borderDashOffset:i.borderDashOffset,borderJoinStyle:i.borderJoinStyle,borderWidth:i.borderWidth,borderColor:i.borderColor}}function _h(i,t){if(!t)return!1;const e=[],s=function(n,o){return Fs(o)?(e.includes(o)||e.push(o),e.indexOf(o)):o};return JSON.stringify(i,s)!==JSON.stringify(t,s)}/*!
* Chart.js v4.4.4
* https://www.chartjs.org
* (c) 2024 Chart.js Contributors
* Released under the MIT License
*/class wh{constructor(){this._request=null,this._charts=new Map,this._running=!1,this._lastDate=void 0}_notify(t,e,s,n){const o=e.listeners[n],r=e.duration;o.forEach(a=>a({chart:t,initial:e.initial,numSteps:r,currentStep:Math.min(s-e.start,r)}))}_refresh(){this._request||(this._running=!0,this._request=no.call(window,()=>{this._update(),this._request=null,this._running&&this._refresh()}))}_update(t=Date.now()){let e=0;this._charts.forEach((s,n)=>{if(!s.running||!s.items.length)return;const o=s.items;let r=o.length-1,a=!1,l;for(;r>=0;--r)l=o[r],l._active?(l._total>s.duration&&(s.duration=l._total),l.tick(t),a=!0):(o[r]=o[o.length-1],o.pop());a&&(n.draw(),this._notify(n,s,t,"progress")),o.length||(s.running=!1,this._notify(n,s,t,"complete"),s.initial=!1),e+=o.length}),this._lastDate=t,e===0&&(this._running=!1)}_getAnims(t){const e=this._charts;let s=e.get(t);return s||(s={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},e.set(t,s)),s}listen(t,e,s){this._getAnims(t).listeners[e].push(s)}add(t,e){!e||!e.length||this._getAnims(t).items.push(...e)}has(t){return this._getAnims(t).items.length>0}start(t){const e=this._charts.get(t);e&&(e.running=!0,e.start=Date.now(),e.duration=e.items.reduce((s,n)=>Math.max(s,n._duration),0),this._refresh())}running(t){if(!this._running)return!1;const e=this._charts.get(t);return!(!e||!e.running||!e.items.length)}stop(t){const e=this._charts.get(t);if(!e||!e.items.length)return;const s=e.items;let n=s.length-1;for(;n>=0;--n)s[n].cancel();e.items=[],this._notify(t,e,Date.now(),"complete")}remove(t){return this._charts.delete(t)}}var Nt=new wh;const Fo="transparent",kh={boolean(i,t,e){return e>.5?t:i},color(i,t,e){const s=ho(i||Fo),n=s.valid&&ho(t||Fo);return n&&n.valid?n.mix(s,e).hexString():t},number(i,t,e){return i+(t-i)*e}};class Sh{constructor(t,e,s,n){const o=e[s];n=Ke([t.to,n,o,t.from]);const r=Ke([t.from,o,n]);this._active=!0,this._fn=t.fn||kh[t.type||typeof r],this._easing=Ze[t.easing]||Ze.linear,this._start=Math.floor(Date.now()+(t.delay||0)),this._duration=this._total=Math.floor(t.duration),this._loop=!!t.loop,this._target=e,this._prop=s,this._from=r,this._to=n,this._promises=void 0}active(){return this._active}update(t,e,s){if(this._active){this._notify(!1);const n=this._target[this._prop],o=s-this._start,r=this._duration-o;this._start=s,this._duration=Math.floor(Math.max(r,t.duration)),this._total+=o,this._loop=!!t.loop,this._to=Ke([t.to,e,n,t.from]),this._from=Ke([t.from,n,e])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(t){const e=t-this._start,s=this._duration,n=this._prop,o=this._from,r=this._loop,a=this._to;let l;if(this._active=o!==a&&(r||e<s),!this._active){this._target[n]=a,this._notify(!0);return}if(e<0){this._target[n]=o;return}l=e/s%2,l=r&&l>1?2-l:l,l=this._easing(Math.min(1,Math.max(0,l))),this._target[n]=this._fn(o,a,l)}wait(){const t=this._promises||(this._promises=[]);return new Promise((e,s)=>{t.push({res:e,rej:s})})}_notify(t){const e=t?"res":"rej",s=this._promises||[];for(let n=0;n<s.length;n++)s[n][e]()}}class Ro{constructor(t,e){this._chart=t,this._properties=new Map,this.configure(e)}configure(t){if(!A(t))return;const e=Object.keys(q.animation),s=this._properties;Object.getOwnPropertyNames(t).forEach(n=>{const o=t[n];if(!A(o))return;const r={};for(const a of e)r[a]=o[a];(j(o.properties)&&o.properties||[n]).forEach(a=>{(a===n||!s.has(a))&&s.set(a,r)})})}_animateOptions(t,e){const s=e.options,n=Mh(t,s);if(!n)return[];const o=this._createAnimations(n,s);return s.$shared&&vh(t.options.$animations,s).then(()=>{t.options=s},()=>{}),o}_createAnimations(t,e){const s=this._properties,n=[],o=t.$animations||(t.$animations={}),r=Object.keys(e),a=Date.now();let l;for(l=r.length-1;l>=0;--l){const c=r[l];if(c.charAt(0)==="$")continue;if(c==="options"){n.push(...this._animateOptions(t,e));continue}const h=e[c];let u=o[c];const d=s.get(c);if(u)if(d&&u.active()){u.update(d,h,a);continue}else u.cancel();if(!d||!d.duration){t[c]=h;continue}o[c]=u=new Sh(d,t,c,h),n.push(u)}return n}update(t,e){if(this._properties.size===0){Object.assign(t,e);return}const s=this._createAnimations(t,e);if(s.length)return Nt.add(this._chart,s),!0}}function vh(i,t){const e=[],s=Object.keys(t);for(let n=0;n<s.length;n++){const o=i[s[n]];o&&o.active()&&e.push(o.wait())}return Promise.all(e)}function Mh(i,t){if(!t)return;let e=i.options;if(!e){i.options=t;return}return e.$shared&&(i.options=e=Object.assign({},e,{$shared:!1,$animations:{}})),e}function No(i,t){const e=i&&i.options||{},s=e.reverse,n=e.min===void 0?t:0,o=e.max===void 0?t:0;return{start:s?o:n,end:s?n:o}}function Oh(i,t,e){if(e===!1)return!1;const s=No(i,e),n=No(t,e);return{top:n.end,right:s.end,bottom:n.start,left:s.start}}function Th(i){let t,e,s,n;return A(i)?(t=i.top,e=i.right,s=i.bottom,n=i.left):t=e=s=n=i,{top:t,right:e,bottom:s,left:n,disabled:i===!1}}function Vo(i,t){const e=[],s=i._getSortedDatasetMetas(t);let n,o;for(n=0,o=s.length;n<o;++n)e.push(s[n].index);return e}function zo(i,t,e,s={}){const n=i.keys,o=s.mode==="single";let r,a,l,c;if(t!==null){for(r=0,a=n.length;r<a;++r){if(l=+n[r],l===e){if(s.all)continue;break}c=i.values[l],Z(c)&&(o||t===0||Ct(t)===Ct(c))&&(t+=c)}return t}}function Dh(i,t){const{iScale:e,vScale:s}=t,n=e.axis==="x"?"x":"y",o=s.axis==="x"?"x":"y",r=Object.keys(i),a=new Array(r.length);let l,c,h;for(l=0,c=r.length;l<c;++l)h=r[l],a[l]={[n]:h,[o]:i[h]};return a}function Wo(i,t){const e=i&&i.options.stacked;return e||e===void 0&&t.stack!==void 0}function Ch(i,t,e){return`${i.id}.${t.id}.${e.stack||e.type}`}function Eh(i){const{min:t,max:e,minDefined:s,maxDefined:n}=i.getUserBounds();return{min:s?t:Number.NEGATIVE_INFINITY,max:n?e:Number.POSITIVE_INFINITY}}function Ph(i,t,e){const s=i[t]||(i[t]={});return s[e]||(s[e]={})}function Bo(i,t,e,s){for(const n of t.getMatchingVisibleMetas(s).reverse()){const o=i[n.index];if(e&&o>0||!e&&o<0)return n.index}return null}function Ho(i,t){const{chart:e,_cachedMeta:s}=i,n=e._stacks||(e._stacks={}),{iScale:o,vScale:r,index:a}=s,l=o.axis,c=r.axis,h=Ch(o,r,s),u=t.length;let d;for(let f=0;f<u;++f){const g=t[f],{[l]:m,[c]:p}=g,b=g._stacks||(g._stacks={});d=b[c]=Ph(n,h,m),d[a]=p,d._top=Bo(d,r,!0,s.type),d._bottom=Bo(d,r,!1,s.type);const y=d._visualValues||(d._visualValues={});y[a]=p}}function Ys(i,t){const e=i.scales;return Object.keys(e).filter(s=>e[s].axis===t).shift()}function Ih(i,t){return Yt(i,{active:!1,dataset:void 0,datasetIndex:t,index:t,mode:"default",type:"dataset"})}function Ah(i,t,e){return Yt(i,{active:!1,dataIndex:t,parsed:void 0,raw:void 0,element:e,index:t,mode:"default",type:"data"})}function Je(i,t){const e=i.controller.index,s=i.vScale&&i.vScale.axis;if(s){t=t||i._parsed;for(const n of t){const o=n._stacks;if(!o||o[s]===void 0||o[s][e]===void 0)return;delete o[s][e],o[s]._visualValues!==void 0&&o[s]._visualValues[e]!==void 0&&delete o[s]._visualValues[e]}}}const Zs=i=>i==="reset"||i==="none",$o=(i,t)=>t?i:Object.assign({},i),Lh=(i,t,e)=>i&&!t.hidden&&t._stacked&&{keys:Vo(e,!0),values:null};class kt{constructor(t,e){this.chart=t,this._ctx=t.ctx,this.index=e,this._cachedDataOpts={},this._cachedMeta=this.getMeta(),this._type=this._cachedMeta.type,this.options=void 0,this._parsing=!1,this._data=void 0,this._objectData=void 0,this._sharedOptions=void 0,this._drawStart=void 0,this._drawCount=void 0,this.enableOptionSharing=!1,this.supportsDecimation=!1,this.$context=void 0,this._syncList=[],this.datasetElementType=new.target.datasetElementType,this.dataElementType=new.target.dataElementType,this.initialize()}initialize(){const t=this._cachedMeta;this.configure(),this.linkScales(),t._stacked=Wo(t.vScale,t),this.addElements(),this.options.fill&&!this.chart.isPluginEnabled("filler")&&console.warn("Tried to use the 'fill' option without the 'Filler' plugin enabled. Please import and register the 'Filler' plugin and make sure it is not disabled in the options")}updateIndex(t){this.index!==t&&Je(this._cachedMeta),this.index=t}linkScales(){const t=this.chart,e=this._cachedMeta,s=this.getDataset(),n=(u,d,f,g)=>u==="x"?d:u==="r"?g:f,o=e.xAxisID=P(s.xAxisID,Ys(t,"x")),r=e.yAxisID=P(s.yAxisID,Ys(t,"y")),a=e.rAxisID=P(s.rAxisID,Ys(t,"r")),l=e.indexAxis,c=e.iAxisID=n(l,o,r,a),h=e.vAxisID=n(l,r,o,a);e.xScale=this.getScaleForId(o),e.yScale=this.getScaleForId(r),e.rScale=this.getScaleForId(a),e.iScale=this.getScaleForId(c),e.vScale=this.getScaleForId(h)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(t){return this.chart.scales[t]}_getOtherScale(t){const e=this._cachedMeta;return t===e.iScale?e.vScale:e.iScale}reset(){this._update("reset")}_destroy(){const t=this._cachedMeta;this._data&&io(this._data,this),t._stacked&&Je(t)}_dataCheck(){const t=this.getDataset(),e=t.data||(t.data=[]),s=this._data;if(A(e)){const n=this._cachedMeta;this._data=Dh(e,n)}else if(s!==e){if(s){io(s,this);const n=this._cachedMeta;Je(n),n._parsed=[]}e&&Object.isExtensible(e)&&xc(e,this),this._syncList=[],this._data=e}}addElements(){const t=this._cachedMeta;this._dataCheck(),this.datasetElementType&&(t.dataset=new this.datasetElementType)}buildOrUpdateElements(t){const e=this._cachedMeta,s=this.getDataset();let n=!1;this._dataCheck();const o=e._stacked;e._stacked=Wo(e.vScale,e),e.stack!==s.stack&&(n=!0,Je(e),e.stack=s.stack),this._resyncElements(t),(n||o!==e._stacked)&&Ho(this,e._parsed)}configure(){const t=this.chart.config,e=t.datasetScopeKeys(this._type),s=t.getOptionScopes(this.getDataset(),e,!0);this.options=t.createResolver(s,this.getContext()),this._parsing=this.options.parsing,this._cachedDataOpts={}}parse(t,e){const