@ambuj.bhaskar/react-component-library 0.24.4-alpha → 0.24.5-alpha
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/README.md +34 -34
- package/bin/cli.js +87 -87
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.js +50 -37
- package/dist/index.umd.js +1 -1
- package/package.json +102 -102
package/dist/index.cjs
CHANGED
|
@@ -353,7 +353,7 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
353
353
|
* Released under the MIT License
|
|
354
354
|
*/class r9e{constructor(){this._request=null,this._charts=new Map,this._running=!1,this._lastDate=void 0}_notify(t,n,r,o){const i=n.listeners[o],a=n.duration;i.forEach(s=>s({chart:t,initial:n.initial,numSteps:a,currentStep:Math.min(r-n.start,a)}))}_refresh(){this._request||(this._running=!0,this._request=AH.call(window,()=>{this._update(),this._request=null,this._running&&this._refresh()}))}_update(t=Date.now()){let n=0;this._charts.forEach((r,o)=>{if(!r.running||!r.items.length)return;const i=r.items;let a=i.length-1,s=!1,l;for(;a>=0;--a)l=i[a],l._active?(l._total>r.duration&&(r.duration=l._total),l.tick(t),s=!0):(i[a]=i[i.length-1],i.pop());s&&(o.draw(),this._notify(o,r,t,"progress")),i.length||(r.running=!1,this._notify(o,r,t,"complete"),r.initial=!1),n+=i.length}),this._lastDate=t,n===0&&(this._running=!1)}_getAnims(t){const n=this._charts;let r=n.get(t);return r||(r={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},n.set(t,r)),r}listen(t,n,r){this._getAnims(t).listeners[n].push(r)}add(t,n){!n||!n.length||this._getAnims(t).items.push(...n)}has(t){return this._getAnims(t).items.length>0}start(t){const n=this._charts.get(t);n&&(n.running=!0,n.start=Date.now(),n.duration=n.items.reduce((r,o)=>Math.max(r,o._duration),0),this._refresh())}running(t){if(!this._running)return!1;const n=this._charts.get(t);return!(!n||!n.running||!n.items.length)}stop(t){const n=this._charts.get(t);if(!n||!n.items.length)return;const r=n.items;let o=r.length-1;for(;o>=0;--o)r[o].cancel();n.items=[],this._notify(t,n,Date.now(),"complete")}remove(t){return this._charts.delete(t)}}var qi=new r9e;const Ay="transparent",o9e={boolean(e,t,n){return n>.5?t:e},color(e,t,n){const r=sy(e||Ay),o=r.valid&&sy(t||Ay);return o&&o.valid?o.mix(r,n).hexString():t},number(e,t,n){return e+(t-e)*n}};class i9e{constructor(t,n,r,o){const i=n[r];o=m6([t.to,o,i,t.from]);const a=m6([t.from,i,o]);this._active=!0,this._fn=t.fn||o9e[t.type||typeof a],this._easing=us[t.easing]||us.linear,this._start=Math.floor(Date.now()+(t.delay||0)),this._duration=this._total=Math.floor(t.duration),this._loop=!!t.loop,this._target=n,this._prop=r,this._from=a,this._to=o,this._promises=void 0}active(){return this._active}update(t,n,r){if(this._active){this._notify(!1);const o=this._target[this._prop],i=r-this._start,a=this._duration-i;this._start=r,this._duration=Math.floor(Math.max(a,t.duration)),this._total+=i,this._loop=!!t.loop,this._to=m6([t.to,n,o,t.from]),this._from=m6([t.from,o,n])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(t){const n=t-this._start,r=this._duration,o=this._prop,i=this._from,a=this._loop,s=this._to;let l;if(this._active=i!==s&&(a||n<r),!this._active){this._target[o]=s,this._notify(!0);return}if(n<0){this._target[o]=i;return}l=n/r%2,l=a&&l>1?2-l:l,l=this._easing(Math.min(1,Math.max(0,l))),this._target[o]=this._fn(i,s,l)}wait(){const t=this._promises||(this._promises=[]);return new Promise((n,r)=>{t.push({res:n,rej:r})})}_notify(t){const n=t?"res":"rej",r=this._promises||[];for(let o=0;o<r.length;o++)r[o][n]()}}class kH{constructor(t,n){this._chart=t,this._properties=new Map,this.configure(n)}configure(t){if(!y1(t))return;const n=Object.keys(N0.animation),r=this._properties;Object.getOwnPropertyNames(t).forEach(o=>{const i=t[o];if(!y1(i))return;const a={};for(const s of n)a[s]=i[s];(K0(i.properties)&&i.properties||[o]).forEach(s=>{(s===o||!r.has(s))&&r.set(s,a)})})}_animateOptions(t,n){const r=n.options,o=s9e(t,r);if(!o)return[];const i=this._createAnimations(o,r);return r.$shared&&a9e(t.options.$animations,r).then(()=>{t.options=r},()=>{}),i}_createAnimations(t,n){const r=this._properties,o=[],i=t.$animations||(t.$animations={}),a=Object.keys(n),s=Date.now();let l;for(l=a.length-1;l>=0;--l){const u=a[l];if(u.charAt(0)==="$")continue;if(u==="options"){o.push(...this._animateOptions(t,n));continue}const d=n[u];let h=i[u];const C=r.get(u);if(h)if(C&&h.active()){h.update(C,d,s);continue}else h.cancel();if(!C||!C.duration){t[u]=d;continue}i[u]=h=new i9e(C,t,u,d),o.push(h)}return o}update(t,n){if(this._properties.size===0){Object.assign(t,n);return}const r=this._createAnimations(t,n);if(r.length)return qi.add(this._chart,r),!0}}function a9e(e,t){const n=[],r=Object.keys(t);for(let o=0;o<r.length;o++){const i=e[r[o]];i&&i.active()&&n.push(i.wait())}return Promise.all(n)}function s9e(e,t){if(!t)return;let n=e.options;if(!n){e.options=t;return}return n.$shared&&(e.options=n=Object.assign({},n,{$shared:!1,$animations:{}})),n}function vy(e,t){const n=e&&e.options||{},r=n.reverse,o=n.min===void 0?t:0,i=n.max===void 0?t:0;return{start:r?i:o,end:r?o:i}}function l9e(e,t,n){if(n===!1)return!1;const r=vy(e,n),o=vy(t,n);return{top:o.end,right:r.end,bottom:o.start,left:r.start}}function c9e(e){let t,n,r,o;return y1(e)?(t=e.top,n=e.right,r=e.bottom,o=e.left):t=n=r=o=e,{top:t,right:n,bottom:r,left:o,disabled:e===!1}}function NH(e,t){const n=[],r=e._getSortedDatasetMetas(t);let o,i;for(o=0,i=r.length;o<i;++o)n.push(r[o].index);return n}function by(e,t,n,r={}){const o=e.keys,i=r.mode==="single";let a,s,l,u;if(t===null)return;let d=!1;for(a=0,s=o.length;a<s;++a){if(l=+o[a],l===n){if(d=!0,r.all)continue;break}u=e.values[l],P2(u)&&(i||t===0||bi(t)===bi(u))&&(t+=u)}return!d&&!r.all?0:t}function u9e(e,t){const{iScale:n,vScale:r}=t,o=n.axis==="x"?"x":"y",i=r.axis==="x"?"x":"y",a=Object.keys(e),s=new Array(a.length);let l,u,d;for(l=0,u=a.length;l<u;++l)d=a[l],s[l]={[o]:d,[i]:e[d]};return s}function Gd(e,t){const n=e&&e.options.stacked;return n||n===void 0&&t.stack!==void 0}function d9e(e,t,n){return`${e.id}.${t.id}.${n.stack||n.type}`}function f9e(e){const{min:t,max:n,minDefined:r,maxDefined:o}=e.getUserBounds();return{min:r?t:Number.NEGATIVE_INFINITY,max:o?n:Number.POSITIVE_INFINITY}}function h9e(e,t,n){const r=e[t]||(e[t]={});return r[n]||(r[n]={})}function yy(e,t,n,r){for(const o of t.getMatchingVisibleMetas(r).reverse()){const i=e[o.index];if(n&&i>0||!n&&i<0)return o.index}return null}function wy(e,t){const{chart:n,_cachedMeta:r}=e,o=n._stacks||(n._stacks={}),{iScale:i,vScale:a,index:s}=r,l=i.axis,u=a.axis,d=d9e(i,a,r),h=t.length;let C;for(let m=0;m<h;++m){const A=t[m],{[l]:v,[u]:p}=A,_=A._stacks||(A._stacks={});C=_[u]=h9e(o,d,v),C[s]=p,C._top=yy(C,a,!0,r.type),C._bottom=yy(C,a,!1,r.type);const w=C._visualValues||(C._visualValues={});w[s]=p}}function Yd(e,t){const n=e.scales;return Object.keys(n).filter(r=>n[r].axis===t).shift()}function C9e(e,t){return C3(e,{active:!1,dataset:void 0,datasetIndex:t,index:t,mode:"default",type:"dataset"})}function g9e(e,t,n){return C3(e,{active:!1,dataIndex:t,parsed:void 0,raw:void 0,element:n,index:t,mode:"default",type:"data"})}function M4(e,t){const n=e.controller.index,r=e.vScale&&e.vScale.axis;if(r){t=t||e._parsed;for(const o of t){const i=o._stacks;if(!i||i[r]===void 0||i[r][n]===void 0)return;delete i[r][n],i[r]._visualValues!==void 0&&i[r]._visualValues[n]!==void 0&&delete i[r]._visualValues[n]}}}const qd=e=>e==="reset"||e==="none",xy=(e,t)=>t?e:Object.assign({},e),m9e=(e,t,n)=>e&&!t.hidden&&t._stacked&&{keys:NH(n,!0),values:null};class X9{constructor(t,n){this.chart=t,this._ctx=t.ctx,this.index=n,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=Gd(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&&M4(this._cachedMeta),this.index=t}linkScales(){const t=this.chart,n=this._cachedMeta,r=this.getDataset(),o=(h,C,m,A)=>h==="x"?C:h==="r"?A:m,i=n.xAxisID=C1(r.xAxisID,Yd(t,"x")),a=n.yAxisID=C1(r.yAxisID,Yd(t,"y")),s=n.rAxisID=C1(r.rAxisID,Yd(t,"r")),l=n.indexAxis,u=n.iAxisID=o(l,i,a,s),d=n.vAxisID=o(l,a,i,s);n.xScale=this.getScaleForId(i),n.yScale=this.getScaleForId(a),n.rScale=this.getScaleForId(s),n.iScale=this.getScaleForId(u),n.vScale=this.getScaleForId(d)}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 n=this._cachedMeta;return t===n.iScale?n.vScale:n.iScale}reset(){this._update("reset")}_destroy(){const t=this._cachedMeta;this._data&&oy(this._data,this),t._stacked&&M4(t)}_dataCheck(){const t=this.getDataset(),n=t.data||(t.data=[]),r=this._data;if(y1(n)){const o=this._cachedMeta;this._data=u9e(n,o)}else if(r!==n){if(r){oy(r,this);const o=this._cachedMeta;M4(o),o._parsed=[]}n&&Object.isExtensible(n)&&Jie(n,this),this._syncList=[],this._data=n}}addElements(){const t=this._cachedMeta;this._dataCheck(),this.datasetElementType&&(t.dataset=new this.datasetElementType)}buildOrUpdateElements(t){const n=this._cachedMeta,r=this.getDataset();let o=!1;this._dataCheck();const i=n._stacked;n._stacked=Gd(n.vScale,n),n.stack!==r.stack&&(o=!0,M4(n),n.stack=r.stack),this._resyncElements(t),(o||i!==n._stacked)&&(wy(this,n._parsed),n._stacked=Gd(n.vScale,n))}configure(){const t=this.chart.config,n=t.datasetScopeKeys(this._type),r=t.getOptionScopes(this.getDataset(),n,!0);this.options=t.createResolver(r,this.getContext()),this._parsing=this.options.parsing,this._cachedDataOpts={}}parse(t,n){const{_cachedMeta:r,_data:o}=this,{iScale:i,_stacked:a}=r,s=i.axis;let l=t===0&&n===o.length?!0:r._sorted,u=t>0&&r._parsed[t-1],d,h,C;if(this._parsing===!1)r._parsed=o,r._sorted=!0,C=o;else{K0(o[t])?C=this.parseArrayData(r,o,t,n):y1(o[t])?C=this.parseObjectData(r,o,t,n):C=this.parsePrimitiveData(r,o,t,n);const m=()=>h[s]===null||u&&h[s]<u[s];for(d=0;d<n;++d)r._parsed[d+t]=h=C[d],l&&(m()&&(l=!1),u=h);r._sorted=l}a&&wy(this,C)}parsePrimitiveData(t,n,r,o){const{iScale:i,vScale:a}=t,s=i.axis,l=a.axis,u=i.getLabels(),d=i===a,h=new Array(o);let C,m,A;for(C=0,m=o;C<m;++C)A=C+r,h[C]={[s]:d||i.parse(u[A],A),[l]:a.parse(n[A],A)};return h}parseArrayData(t,n,r,o){const{xScale:i,yScale:a}=t,s=new Array(o);let l,u,d,h;for(l=0,u=o;l<u;++l)d=l+r,h=n[d],s[l]={x:i.parse(h[0],d),y:a.parse(h[1],d)};return s}parseObjectData(t,n,r,o){const{xScale:i,yScale:a}=t,{xAxisKey:s="x",yAxisKey:l="y"}=this._parsing,u=new Array(o);let d,h,C,m;for(d=0,h=o;d<h;++d)C=d+r,m=n[C],u[d]={x:i.parse(t3(m,s),C),y:a.parse(t3(m,l),C)};return u}getParsed(t){return this._cachedMeta._parsed[t]}getDataElement(t){return this._cachedMeta.data[t]}applyStack(t,n,r){const o=this.chart,i=this._cachedMeta,a=n[t.axis],s={keys:NH(o,!0),values:n._stacks[t.axis]._visualValues};return by(s,a,i.index,{mode:r})}updateRangeFromParsed(t,n,r,o){const i=r[n.axis];let a=i===null?NaN:i;const s=o&&r._stacks[n.axis];o&&s&&(o.values=s,a=by(o,i,this._cachedMeta.index)),t.min=Math.min(t.min,a),t.max=Math.max(t.max,a)}getMinMax(t,n){const r=this._cachedMeta,o=r._parsed,i=r._sorted&&t===r.iScale,a=o.length,s=this._getOtherScale(t),l=m9e(n,r,this.chart),u={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY},{min:d,max:h}=f9e(s);let C,m;function A(){m=o[C];const v=m[s.axis];return!P2(m[t.axis])||d>v||h<v}for(C=0;C<a&&!(!A()&&(this.updateRangeFromParsed(u,t,m,l),i));++C);if(i){for(C=a-1;C>=0;--C)if(!A()){this.updateRangeFromParsed(u,t,m,l);break}}return u}getAllParsedValues(t){const n=this._cachedMeta._parsed,r=[];let o,i,a;for(o=0,i=n.length;o<i;++o)a=n[o][t.axis],P2(a)&&r.push(a);return r}getMaxOverflow(){return!1}getLabelAndValue(t){const n=this._cachedMeta,r=n.iScale,o=n.vScale,i=this.getParsed(t);return{label:r?""+r.getLabelForValue(i[r.axis]):"",value:o?""+o.getLabelForValue(i[o.axis]):""}}_update(t){const n=this._cachedMeta;this.update(t||"default"),n._clip=c9e(C1(this.options.clip,l9e(n.xScale,n.yScale,this.getMaxOverflow())))}update(t){}draw(){const t=this._ctx,n=this.chart,r=this._cachedMeta,o=r.data||[],i=n.chartArea,a=[],s=this._drawStart||0,l=this._drawCount||o.length-s,u=this.options.drawActiveElementsOnTop;let d;for(r.dataset&&r.dataset.draw(t,i,s,l),d=s;d<s+l;++d){const h=o[d];h.hidden||(h.active&&u?a.push(h):h.draw(t,i))}for(d=0;d<a.length;++d)a[d].draw(t,i)}getStyle(t,n){const r=n?"active":"default";return t===void 0&&this._cachedMeta.dataset?this.resolveDatasetElementOptions(r):this.resolveDataElementOptions(t||0,r)}getContext(t,n,r){const o=this.getDataset();let i;if(t>=0&&t<this._cachedMeta.data.length){const a=this._cachedMeta.data[t];i=a.$context||(a.$context=g9e(this.getContext(),t,a)),i.parsed=this.getParsed(t),i.raw=o.data[t],i.index=i.dataIndex=t}else i=this.$context||(this.$context=C9e(this.chart.getContext(),this.index)),i.dataset=o,i.index=i.datasetIndex=this.index;return i.active=!!n,i.mode=r,i}resolveDatasetElementOptions(t){return this._resolveElementOptions(this.datasetElementType.id,t)}resolveDataElementOptions(t,n){return this._resolveElementOptions(this.dataElementType.id,n,t)}_resolveElementOptions(t,n="default",r){const o=n==="active",i=this._cachedDataOpts,a=t+"-"+n,s=i[a],l=this.enableOptionSharing&&Ms(r);if(s)return xy(s,l);const u=this.chart.config,d=u.datasetElementScopeKeys(this._type,t),h=o?[`${t}Hover`,"hover",t,""]:[t,""],C=u.getOptionScopes(this.getDataset(),d),m=Object.keys(N0.elements[t]),A=()=>this.getContext(r,o,n),v=u.resolveNamedOptions(C,m,A,h);return v.$shared&&(v.$shared=l,i[a]=Object.freeze(xy(v,l))),v}_resolveAnimations(t,n,r){const o=this.chart,i=this._cachedDataOpts,a=`animation-${n}`,s=i[a];if(s)return s;let l;if(o.options.animation!==!1){const d=this.chart.config,h=d.datasetAnimationScopeKeys(this._type,n),C=d.getOptionScopes(this.getDataset(),h);l=d.createResolver(C,this.getContext(t,r,n))}const u=new kH(o,l&&l.animations);return l&&l._cacheable&&(i[a]=Object.freeze(u)),u}getSharedOptions(t){if(t.$shared)return this._sharedOptions||(this._sharedOptions=Object.assign({},t))}includeOptions(t,n){return!n||qd(t)||this.chart._animationsDisabled}_getSharedOptions(t,n){const r=this.resolveDataElementOptions(t,n),o=this._sharedOptions,i=this.getSharedOptions(r),a=this.includeOptions(n,i)||i!==o;return this.updateSharedOptions(i,n,r),{sharedOptions:i,includeOptions:a}}updateElement(t,n,r,o){qd(o)?Object.assign(t,r):this._resolveAnimations(n,o).update(t,r)}updateSharedOptions(t,n,r){t&&!qd(n)&&this._resolveAnimations(void 0,n).update(t,r)}_setStyle(t,n,r,o){t.active=o;const i=this.getStyle(n,o);this._resolveAnimations(n,r,o).update(t,{options:!o&&this.getSharedOptions(i)||i})}removeHoverStyle(t,n,r){this._setStyle(t,r,"active",!1)}setHoverStyle(t,n,r){this._setStyle(t,r,"active",!0)}_removeDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!1)}_setDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!0)}_resyncElements(t){const n=this._data,r=this._cachedMeta.data;for(const[s,l,u]of this._syncList)this[s](l,u);this._syncList=[];const o=r.length,i=n.length,a=Math.min(i,o);a&&this.parse(0,a),i>o?this._insertElements(o,i-o,t):i<o&&this._removeElements(i,o-i)}_insertElements(t,n,r=!0){const o=this._cachedMeta,i=o.data,a=t+n;let s;const l=u=>{for(u.length+=n,s=u.length-1;s>=a;s--)u[s]=u[s-n]};for(l(i),s=t;s<a;++s)i[s]=new this.dataElementType;this._parsing&&l(o._parsed),this.parse(t,n),r&&this.updateElements(i,t,n,"reset")}updateElements(t,n,r,o){}_removeElements(t,n){const r=this._cachedMeta;if(this._parsing){const o=r._parsed.splice(t,n);r._stacked&&M4(r,o)}r.data.splice(t,n)}_sync(t){if(this._parsing)this._syncList.push(t);else{const[n,r,o]=t;this[n](r,o)}this.chart._dataChanges.push([this.index,...t])}_onDataPush(){const t=arguments.length;this._sync(["_insertElements",this.getDataset().data.length-t,t])}_onDataPop(){this._sync(["_removeElements",this._cachedMeta.data.length-1,1])}_onDataShift(){this._sync(["_removeElements",0,1])}_onDataSplice(t,n){n&&this._sync(["_removeElements",t,n]);const r=arguments.length-2;r&&this._sync(["_insertElements",t,r])}_onDataUnshift(){this._sync(["_insertElements",0,arguments.length])}}xn(X9,"defaults",{}),xn(X9,"datasetElementType",null),xn(X9,"dataElementType",null);function p9e(e,t){if(!e._cache.$bar){const n=e.getMatchingVisibleMetas(t);let r=[];for(let o=0,i=n.length;o<i;o++)r=r.concat(n[o].controller.getAllParsedValues(e));e._cache.$bar=pH(r.sort((o,i)=>o-i))}return e._cache.$bar}function A9e(e){const t=e.iScale,n=p9e(t,e.type);let r=t._length,o,i,a,s;const l=()=>{a===32767||a===-32768||(Ms(s)&&(r=Math.min(r,Math.abs(a-s)||r)),s=a)};for(o=0,i=n.length;o<i;++o)a=t.getPixelForValue(n[o]),l();for(s=void 0,o=0,i=t.ticks.length;o<i;++o)a=t.getPixelForTick(o),l();return r}function v9e(e,t,n,r){const o=n.barThickness;let i,a;return W1(o)?(i=t.min*n.categoryPercentage,a=n.barPercentage):(i=o*r,a=1),{chunk:i/r,ratio:a,start:t.pixels[e]-i/2}}function b9e(e,t,n,r){const o=t.pixels,i=o[e];let a=e>0?o[e-1]:null,s=e<o.length-1?o[e+1]:null;const l=n.categoryPercentage;a===null&&(a=i-(s===null?t.end-t.start:s-i)),s===null&&(s=i+i-a);const u=i-(i-Math.min(a,s))/2*l;return{chunk:Math.abs(s-a)/2*l/r,ratio:n.barPercentage,start:u}}function y9e(e,t,n,r){const o=n.parse(e[0],r),i=n.parse(e[1],r),a=Math.min(o,i),s=Math.max(o,i);let l=a,u=s;Math.abs(a)>Math.abs(s)&&(l=s,u=a),t[n.axis]=u,t._custom={barStart:l,barEnd:u,start:o,end:i,min:a,max:s}}function TH(e,t,n,r){return K0(e)?y9e(e,t,n,r):t[n.axis]=n.parse(e,r),t}function _y(e,t,n,r){const o=e.iScale,i=e.vScale,a=o.getLabels(),s=o===i,l=[];let u,d,h,C;for(u=n,d=n+r;u<d;++u)C=t[u],h={},h[o.axis]=s||o.parse(a[u],u),l.push(TH(C,h,i,u));return l}function Xd(e){return e&&e.barStart!==void 0&&e.barEnd!==void 0}function w9e(e,t,n){return e!==0?bi(e):(t.isHorizontal()?1:-1)*(t.min>=n?1:-1)}function x9e(e){let t,n,r,o,i;return e.horizontal?(t=e.base>e.x,n="left",r="right"):(t=e.base<e.y,n="bottom",r="top"),t?(o="end",i="start"):(o="start",i="end"),{start:n,end:r,reverse:t,top:o,bottom:i}}function _9e(e,t,n,r){let o=t.borderSkipped;const i={};if(!o){e.borderSkipped=i;return}if(o===!0){e.borderSkipped={top:!0,right:!0,bottom:!0,left:!0};return}const{start:a,end:s,reverse:l,top:u,bottom:d}=x9e(e);o==="middle"&&n&&(e.enableBorderRadius=!0,(n._top||0)===r?o=u:(n._bottom||0)===r?o=d:(i[Ey(d,a,s,l)]=!0,o=u)),i[Ey(o,a,s,l)]=!0,e.borderSkipped=i}function Ey(e,t,n,r){return r?(e=E9e(e,t,n),e=Sy(e,n,t)):e=Sy(e,t,n),e}function E9e(e,t,n){return e===t?n:e===n?t:e}function Sy(e,t,n){return e==="start"?t:e==="end"?n:e}function S9e(e,{inflateAmount:t},n){e.inflateAmount=t==="auto"?n===1?.33:0:t}class Vc extends X9{parsePrimitiveData(t,n,r,o){return _y(t,n,r,o)}parseArrayData(t,n,r,o){return _y(t,n,r,o)}parseObjectData(t,n,r,o){const{iScale:i,vScale:a}=t,{xAxisKey:s="x",yAxisKey:l="y"}=this._parsing,u=i.axis==="x"?s:l,d=a.axis==="x"?s:l,h=[];let C,m,A,v;for(C=r,m=r+o;C<m;++C)v=n[C],A={},A[i.axis]=i.parse(t3(v,u),C),h.push(TH(t3(v,d),A,a,C));return h}updateRangeFromParsed(t,n,r,o){super.updateRangeFromParsed(t,n,r,o);const i=r._custom;i&&n===this._cachedMeta.vScale&&(t.min=Math.min(t.min,i.min),t.max=Math.max(t.max,i.max))}getMaxOverflow(){return 0}getLabelAndValue(t){const n=this._cachedMeta,{iScale:r,vScale:o}=n,i=this.getParsed(t),a=i._custom,s=Xd(a)?"["+a.start+", "+a.end+"]":""+o.getLabelForValue(i[o.axis]);return{label:""+r.getLabelForValue(i[r.axis]),value:s}}initialize(){this.enableOptionSharing=!0,super.initialize();const t=this._cachedMeta;t.stack=this.getDataset().stack}update(t){const n=this._cachedMeta;this.updateElements(n.data,0,n.data.length,t)}updateElements(t,n,r,o){const i=o==="reset",{index:a,_cachedMeta:{vScale:s}}=this,l=s.getBasePixel(),u=s.isHorizontal(),d=this._getRuler(),{sharedOptions:h,includeOptions:C}=this._getSharedOptions(n,o);for(let m=n;m<n+r;m++){const A=this.getParsed(m),v=i||W1(A[s.axis])?{base:l,head:l}:this._calculateBarValuePixels(m),p=this._calculateBarIndexPixels(m,d),_=(A._stacks||{})[s.axis],w={horizontal:u,base:v.base,enableBorderRadius:!_||Xd(A._custom)||a===_._top||a===_._bottom,x:u?v.head:p.center,y:u?p.center:v.head,height:u?p.size:Math.abs(v.size),width:u?Math.abs(v.size):p.size};C&&(w.options=h||this.resolveDataElementOptions(m,t[m].active?"active":o));const x=w.options||t[m].options;_9e(w,x,_,a),S9e(w,x,d.ratio),this.updateElement(t[m],m,w,o)}}_getStacks(t,n){const{iScale:r}=this._cachedMeta,o=r.getMatchingVisibleMetas(this._type).filter(d=>d.controller.options.grouped),i=r.options.stacked,a=[],s=this._cachedMeta.controller.getParsed(n),l=s&&s[r.axis],u=d=>{const h=d._parsed.find(m=>m[r.axis]===l),C=h&&h[d.vScale.axis];if(W1(C)||isNaN(C))return!0};for(const d of o)if(!(n!==void 0&&u(d))&&((i===!1||a.indexOf(d.stack)===-1||i===void 0&&d.stack===void 0)&&a.push(d.stack),d.index===t))break;return a.length||a.push(void 0),a}_getStackCount(t){return this._getStacks(void 0,t).length}_getStackIndex(t,n,r){const o=this._getStacks(t,r),i=n!==void 0?o.indexOf(n):-1;return i===-1?o.length-1:i}_getRuler(){const t=this.options,n=this._cachedMeta,r=n.iScale,o=[];let i,a;for(i=0,a=n.data.length;i<a;++i)o.push(r.getPixelForValue(this.getParsed(i)[r.axis],i));const s=t.barThickness;return{min:s||A9e(n),pixels:o,start:r._startPixel,end:r._endPixel,stackCount:this._getStackCount(),scale:r,grouped:t.grouped,ratio:s?1:t.categoryPercentage*t.barPercentage}}_calculateBarValuePixels(t){const{_cachedMeta:{vScale:n,_stacked:r,index:o},options:{base:i,minBarLength:a}}=this,s=i||0,l=this.getParsed(t),u=l._custom,d=Xd(u);let h=l[n.axis],C=0,m=r?this.applyStack(n,l,r):h,A,v;m!==h&&(C=m-h,m=h),d&&(h=u.barStart,m=u.barEnd-u.barStart,h!==0&&bi(h)!==bi(u.barEnd)&&(C=0),C+=h);const p=!W1(i)&&!d?i:C;let _=n.getPixelForValue(p);if(this.chart.getDataVisibility(t)?A=n.getPixelForValue(C+m):A=_,v=A-_,Math.abs(v)<a){v=w9e(v,n,s)*a,h===s&&(_-=v/2);const w=n.getPixelForDecimal(0),x=n.getPixelForDecimal(1),E=Math.min(w,x),S=Math.max(w,x);_=Math.max(Math.min(_,S),E),A=_+v,r&&!d&&(l._stacks[n.axis]._visualValues[o]=n.getValueForPixel(A)-n.getValueForPixel(_))}if(_===n.getPixelForValue(s)){const w=bi(v)*n.getLineWidthForValue(s)/2;_+=w,v-=w}return{size:v,base:_,head:A,center:A+v/2}}_calculateBarIndexPixels(t,n){const r=n.scale,o=this.options,i=o.skipNull,a=C1(o.maxBarThickness,1/0);let s,l;if(n.grouped){const u=i?this._getStackCount(t):n.stackCount,d=o.barThickness==="flex"?b9e(t,n,o,u):v9e(t,n,o,u),h=this._getStackIndex(this.index,this._cachedMeta.stack,i?t:void 0);s=d.start+d.chunk*h+d.chunk/2,l=Math.min(a,d.chunk*d.ratio)}else s=r.getPixelForValue(this.getParsed(t)[r.axis],t),l=Math.min(a,n.min*n.ratio);return{base:s-l/2,head:s+l/2,center:s,size:l}}draw(){const t=this._cachedMeta,n=t.vScale,r=t.data,o=r.length;let i=0;for(;i<o;++i)this.getParsed(i)[n.axis]!==null&&!r[i].hidden&&r[i].draw(this._ctx)}}xn(Vc,"id","bar"),xn(Vc,"defaults",{datasetElementType:!1,dataElementType:"bar",categoryPercentage:.8,barPercentage:.9,grouped:!0,animations:{numbers:{type:"number",properties:["x","y","base","width","height"]}}}),xn(Vc,"overrides",{scales:{_index_:{type:"category",offset:!0,grid:{offset:!0}},_value_:{type:"linear",beginAtZero:!0}}});function M9e(e,t,n){let r=1,o=1,i=0,a=0;if(t<w0){const s=e,l=s+t,u=Math.cos(s),d=Math.sin(s),h=Math.cos(l),C=Math.sin(l),m=(x,E,S)=>Ls(x,s,l,!0)?1:Math.max(E,E*n,S,S*n),A=(x,E,S)=>Ls(x,s,l,!0)?-1:Math.min(E,E*n,S,S*n),v=m(0,u,h),p=m(Q0,d,C),_=A(z0,u,h),w=A(z0+Q0,d,C);r=(v-_)/2,o=(p-w)/2,i=-(v+_)/2,a=-(p+w)/2}return{ratioX:r,ratioY:o,offsetX:i,offsetY:a}}class o5 extends X9{constructor(t,n){super(t,n),this.enableOptionSharing=!0,this.innerRadius=void 0,this.outerRadius=void 0,this.offsetX=void 0,this.offsetY=void 0}linkScales(){}parse(t,n){const r=this.getDataset().data,o=this._cachedMeta;if(this._parsing===!1)o._parsed=r;else{let i=l=>+r[l];if(y1(r[t])){const{key:l="value"}=this._parsing;i=u=>+t3(r[u],l)}let a,s;for(a=t,s=t+n;a<s;++a)o._parsed[a]=i(a)}}_getRotation(){return aa(this.options.rotation-90)}_getCircumference(){return aa(this.options.circumference)}_getRotationExtents(){let t=w0,n=-w0;for(let r=0;r<this.chart.data.datasets.length;++r)if(this.chart.isDatasetVisible(r)&&this.chart.getDatasetMeta(r).type===this._type){const o=this.chart.getDatasetMeta(r).controller,i=o._getRotation(),a=o._getCircumference();t=Math.min(t,i),n=Math.max(n,i+a)}return{rotation:t,circumference:n-t}}update(t){const n=this.chart,{chartArea:r}=n,o=this._cachedMeta,i=o.data,a=this.getMaxBorderWidth()+this.getMaxOffset(i)+this.options.spacing,s=Math.max((Math.min(r.width,r.height)-a)/2,0),l=Math.min(kie(this.options.cutout,s),1),u=this._getRingWeight(this.index),{circumference:d,rotation:h}=this._getRotationExtents(),{ratioX:C,ratioY:m,offsetX:A,offsetY:v}=M9e(h,d,l),p=(r.width-a)/C,_=(r.height-a)/m,w=Math.max(Math.min(p,_)/2,0),x=hH(this.options.radius,w),E=Math.max(x*l,0),S=(x-E)/this._getVisibleDatasetWeightTotal();this.offsetX=A*x,this.offsetY=v*x,o.total=this.calculateTotal(),this.outerRadius=x-S*this._getRingWeightOffset(this.index),this.innerRadius=Math.max(this.outerRadius-S*u,0),this.updateElements(i,0,i.length,t)}_circumference(t,n){const r=this.options,o=this._cachedMeta,i=this._getCircumference();return n&&r.animation.animateRotate||!this.chart.getDataVisibility(t)||o._parsed[t]===null||o.data[t].hidden?0:this.calculateCircumference(o._parsed[t]*i/w0)}updateElements(t,n,r,o){const i=o==="reset",a=this.chart,s=a.chartArea,u=a.options.animation,d=(s.left+s.right)/2,h=(s.top+s.bottom)/2,C=i&&u.animateScale,m=C?0:this.innerRadius,A=C?0:this.outerRadius,{sharedOptions:v,includeOptions:p}=this._getSharedOptions(n,o);let _=this._getRotation(),w;for(w=0;w<n;++w)_+=this._circumference(w,i);for(w=n;w<n+r;++w){const x=this._circumference(w,i),E=t[w],S={x:d+this.offsetX,y:h+this.offsetY,startAngle:_,endAngle:_+x,circumference:x,outerRadius:A,innerRadius:m};p&&(S.options=v||this.resolveDataElementOptions(w,E.active?"active":o)),_+=x,this.updateElement(E,w,S,o)}}calculateTotal(){const t=this._cachedMeta,n=t.data;let r=0,o;for(o=0;o<n.length;o++){const i=t._parsed[o];i!==null&&!isNaN(i)&&this.chart.getDataVisibility(o)&&!n[o].hidden&&(r+=Math.abs(i))}return r}calculateCircumference(t){const n=this._cachedMeta.total;return n>0&&!isNaN(t)?w0*(Math.abs(t)/n):0}getLabelAndValue(t){const n=this._cachedMeta,r=this.chart,o=r.data.labels||[],i=kg(n._parsed[t],r.options.locale);return{label:o[t]||"",value:i}}getMaxBorderWidth(t){let n=0;const r=this.chart;let o,i,a,s,l;if(!t){for(o=0,i=r.data.datasets.length;o<i;++o)if(r.isDatasetVisible(o)){a=r.getDatasetMeta(o),t=a.data,s=a.controller;break}}if(!t)return 0;for(o=0,i=t.length;o<i;++o)l=s.resolveDataElementOptions(o),l.borderAlign!=="inner"&&(n=Math.max(n,l.borderWidth||0,l.hoverBorderWidth||0));return n}getMaxOffset(t){let n=0;for(let r=0,o=t.length;r<o;++r){const i=this.resolveDataElementOptions(r);n=Math.max(n,i.offset||0,i.hoverOffset||0)}return n}_getRingWeightOffset(t){let n=0;for(let r=0;r<t;++r)this.chart.isDatasetVisible(r)&&(n+=this._getRingWeight(r));return n}_getRingWeight(t){return Math.max(C1(this.chart.data.datasets[t].weight,1),0)}_getVisibleDatasetWeightTotal(){return this._getRingWeightOffset(this.chart.data.datasets.length)||1}}xn(o5,"id","doughnut"),xn(o5,"defaults",{datasetElementType:!1,dataElementType:"arc",animation:{animateRotate:!0,animateScale:!1},animations:{numbers:{type:"number",properties:["circumference","endAngle","innerRadius","outerRadius","startAngle","x","y","offset","borderWidth","spacing"]}},cutout:"50%",rotation:0,circumference:360,radius:"100%",spacing:0,indexAxis:"r"}),xn(o5,"descriptors",{_scriptable:t=>t!=="spacing",_indexable:t=>t!=="spacing"&&!t.startsWith("borderDash")&&!t.startsWith("hoverBorderDash")}),xn(o5,"overrides",{aspectRatio:1,plugins:{legend:{labels:{generateLabels(t){const n=t.data;if(n.labels.length&&n.datasets.length){const{labels:{pointStyle:r,color:o}}=t.legend.options;return n.labels.map((i,a)=>{const l=t.getDatasetMeta(0).controller.getStyle(a);return{text:i,fillStyle:l.backgroundColor,strokeStyle:l.borderColor,fontColor:o,lineWidth:l.borderWidth,pointStyle:r,hidden:!t.getDataVisibility(a),index:a}})}return[]}},onClick(t,n,r){r.chart.toggleDataVisibility(n.index),r.chart.update()}}}});class jc extends X9{initialize(){this.enableOptionSharing=!0,this.supportsDecimation=!0,super.initialize()}update(t){const n=this._cachedMeta,{dataset:r,data:o=[],_dataset:i}=n,a=this.chart._animationsDisabled;let{start:s,count:l}=nae(n,o,a);this._drawStart=s,this._drawCount=l,rae(n)&&(s=0,l=o.length),r._chart=this.chart,r._datasetIndex=this.index,r._decimated=!!i._decimated,r.points=o;const u=this.resolveDatasetElementOptions(t);this.options.showLine||(u.borderWidth=0),u.segment=this.options.segment,this.updateElement(r,void 0,{animated:!a,options:u},t),this.updateElements(o,s,l,t)}updateElements(t,n,r,o){const i=o==="reset",{iScale:a,vScale:s,_stacked:l,_dataset:u}=this._cachedMeta,{sharedOptions:d,includeOptions:h}=this._getSharedOptions(n,o),C=a.axis,m=s.axis,{spanGaps:A,segment:v}=this.options,p=Hs(A)?A:Number.POSITIVE_INFINITY,_=this.chart._animationsDisabled||i||o==="none",w=n+r,x=t.length;let E=n>0&&this.getParsed(n-1);for(let S=0;S<x;++S){const M=t[S],H=_?M:{};if(S<n||S>=w){H.skip=!0;continue}const O=this.getParsed(S),D=W1(O[m]),P=H[C]=a.getPixelForValue(O[C],S),k=H[m]=i||D?s.getBasePixel():s.getPixelForValue(l?this.applyStack(s,O,l):O[m],S);H.skip=isNaN(P)||isNaN(k)||D,H.stop=S>0&&Math.abs(O[C]-E[C])>p,v&&(H.parsed=O,H.raw=u.data[S]),h&&(H.options=d||this.resolveDataElementOptions(S,M.active?"active":o)),_||this.updateElement(M,S,H,o),E=O}}getMaxOverflow(){const t=this._cachedMeta,n=t.dataset,r=n.options&&n.options.borderWidth||0,o=t.data||[];if(!o.length)return r;const i=o[0].size(this.resolveDataElementOptions(0)),a=o[o.length-1].size(this.resolveDataElementOptions(o.length-1));return Math.max(r,i,a)/2}draw(){const t=this._cachedMeta;t.dataset.updateControlPoints(this.chart.chartArea,t.iScale.axis),super.draw()}}xn(jc,"id","line"),xn(jc,"defaults",{datasetElementType:"line",dataElementType:"point",showLine:!0,spanGaps:!1}),xn(jc,"overrides",{scales:{_index_:{type:"category"},_value_:{type:"linear"}}});class xh extends o5{}xn(xh,"id","pie"),xn(xh,"defaults",{cutout:0,rotation:0,circumference:360,radius:"100%"});function P9(){throw new Error("This method is not implemented: Check that a complete date adapter is provided.")}class Ug{constructor(t){xn(this,"options");this.options=t||{}}static override(t){Object.assign(Ug.prototype,t)}init(){}formats(){return P9()}parse(){return P9()}format(){return P9()}add(){return P9()}diff(){return P9()}startOf(){return P9()}endOf(){return P9()}}var H9e={_date:Ug};function L9e(e,t,n,r){const{controller:o,data:i,_sorted:a}=e,s=o._cachedMeta.iScale,l=e.dataset&&e.dataset.options?e.dataset.options.spanGaps:null;if(s&&t===s.axis&&t!=="r"&&a&&i.length){const u=s._reversePixels?qie:K9;if(r){if(o._sharedOptions){const d=i[0],h=typeof d.getRange=="function"&&d.getRange(t);if(h){const C=u(i,t,n-h),m=u(i,t,n+h);return{lo:C.lo,hi:m.hi}}}}else{const d=u(i,t,n);if(l){const{vScale:h}=o._cachedMeta,{_parsed:C}=e,m=C.slice(0,d.lo+1).reverse().findIndex(v=>!W1(v[h.axis]));d.lo-=Math.max(0,m);const A=C.slice(d.hi).findIndex(v=>!W1(v[h.axis]));d.hi+=Math.max(0,A)}return d}}return{lo:0,hi:i.length-1}}function cl(e,t,n,r,o){const i=e.getSortedVisibleDatasetMetas(),a=n[t];for(let s=0,l=i.length;s<l;++s){const{index:u,data:d}=i[s],{lo:h,hi:C}=L9e(i[s],t,a,o);for(let m=h;m<=C;++m){const A=d[m];A.skip||r(A,u,m)}}}function B9e(e){const t=e.indexOf("x")!==-1,n=e.indexOf("y")!==-1;return function(r,o){const i=t?Math.abs(r.x-o.x):0,a=n?Math.abs(r.y-o.y):0;return Math.sqrt(Math.pow(i,2)+Math.pow(a,2))}}function Jd(e,t,n,r,o){const i=[];return!o&&!e.isPointInArea(t)||cl(e,n,t,function(s,l,u){!o&&!Bs(s,e.chartArea,0)||s.inRange(t.x,t.y,r)&&i.push({element:s,datasetIndex:l,index:u})},!0),i}function O9e(e,t,n,r){let o=[];function i(a,s,l){const{startAngle:u,endAngle:d}=a.getProps(["startAngle","endAngle"],r),{angle:h}=gH(a,{x:t.x,y:t.y});Ls(h,u,d)&&o.push({element:a,datasetIndex:s,index:l})}return cl(e,n,t,i),o}function R9e(e,t,n,r,o,i){let a=[];const s=B9e(n);let l=Number.POSITIVE_INFINITY;function u(d,h,C){const m=d.inRange(t.x,t.y,o);if(r&&!m)return;const A=d.getCenterPoint(o);if(!(!!i||e.isPointInArea(A))&&!m)return;const p=s(t,A);p<l?(a=[{element:d,datasetIndex:h,index:C}],l=p):p===l&&a.push({element:d,datasetIndex:h,index:C})}return cl(e,n,t,u),a}function ef(e,t,n,r,o,i){return!i&&!e.isPointInArea(t)?[]:n==="r"&&!r?O9e(e,t,n,o):R9e(e,t,n,r,o,i)}function My(e,t,n,r,o){const i=[],a=n==="x"?"inXRange":"inYRange";let s=!1;return cl(e,n,t,(l,u,d)=>{l[a]&&l[a](t[n],o)&&(i.push({element:l,datasetIndex:u,index:d}),s=s||l.inRange(t.x,t.y,o))}),r&&!s?[]:i}var I9e={evaluateInteractionItems:cl,modes:{index(e,t,n,r){const o=V9(t,e),i=n.axis||"x",a=n.includeInvisible||!1,s=n.intersect?Jd(e,o,i,r,a):ef(e,o,i,!1,r,a),l=[];return s.length?(e.getSortedVisibleDatasetMetas().forEach(u=>{const d=s[0].index,h=u.data[d];h&&!h.skip&&l.push({element:h,datasetIndex:u.index,index:d})}),l):[]},dataset(e,t,n,r){const o=V9(t,e),i=n.axis||"xy",a=n.includeInvisible||!1;let s=n.intersect?Jd(e,o,i,r,a):ef(e,o,i,!1,r,a);if(s.length>0){const l=s[0].datasetIndex,u=e.getDatasetMeta(l).data;s=[];for(let d=0;d<u.length;++d)s.push({element:u[d],datasetIndex:l,index:d})}return s},point(e,t,n,r){const o=V9(t,e),i=n.axis||"xy",a=n.includeInvisible||!1;return Jd(e,o,i,r,a)},nearest(e,t,n,r){const o=V9(t,e),i=n.axis||"xy",a=n.includeInvisible||!1;return ef(e,o,i,n.intersect,r,a)},x(e,t,n,r){const o=V9(t,e);return My(e,o,"x",n.intersect,r)},y(e,t,n,r){const o=V9(t,e);return My(e,o,"y",n.intersect,r)}}};const FH=["left","top","right","bottom"];function H4(e,t){return e.filter(n=>n.pos===t)}function Hy(e,t){return e.filter(n=>FH.indexOf(n.pos)===-1&&n.box.axis===t)}function L4(e,t){return e.sort((n,r)=>{const o=t?r:n,i=t?n:r;return o.weight===i.weight?o.index-i.index:o.weight-i.weight})}function D9e(e){const t=[];let n,r,o,i,a,s;for(n=0,r=(e||[]).length;n<r;++n)o=e[n],{position:i,options:{stack:a,stackWeight:s=1}}=o,t.push({index:n,box:o,pos:i,horizontal:o.isHorizontal(),weight:o.weight,stack:a&&i+a,stackWeight:s});return t}function P9e(e){const t={};for(const n of e){const{stack:r,pos:o,stackWeight:i}=n;if(!r||!FH.includes(o))continue;const a=t[r]||(t[r]={count:0,placed:0,weight:0,size:0});a.count++,a.weight+=i}return t}function k9e(e,t){const n=P9e(e),{vBoxMaxWidth:r,hBoxMaxHeight:o}=t;let i,a,s;for(i=0,a=e.length;i<a;++i){s=e[i];const{fullSize:l}=s.box,u=n[s.stack],d=u&&s.stackWeight/u.weight;s.horizontal?(s.width=d?d*r:l&&t.availableWidth,s.height=o):(s.width=r,s.height=d?d*o:l&&t.availableHeight)}return n}function N9e(e){const t=D9e(e),n=L4(t.filter(u=>u.box.fullSize),!0),r=L4(H4(t,"left"),!0),o=L4(H4(t,"right")),i=L4(H4(t,"top"),!0),a=L4(H4(t,"bottom")),s=Hy(t,"x"),l=Hy(t,"y");return{fullSize:n,leftAndTop:r.concat(i),rightAndBottom:o.concat(l).concat(a).concat(s),chartArea:H4(t,"chartArea"),vertical:r.concat(o).concat(l),horizontal:i.concat(a).concat(s)}}function Ly(e,t,n,r){return Math.max(e[n],t[n])+Math.max(e[r],t[r])}function VH(e,t){e.top=Math.max(e.top,t.top),e.left=Math.max(e.left,t.left),e.bottom=Math.max(e.bottom,t.bottom),e.right=Math.max(e.right,t.right)}function T9e(e,t,n,r){const{pos:o,box:i}=n,a=e.maxPadding;if(!y1(o)){n.size&&(e[o]-=n.size);const h=r[n.stack]||{size:0,count:1};h.size=Math.max(h.size,n.horizontal?i.height:i.width),n.size=h.size/h.count,e[o]+=n.size}i.getPadding&&VH(a,i.getPadding());const s=Math.max(0,t.outerWidth-Ly(a,e,"left","right")),l=Math.max(0,t.outerHeight-Ly(a,e,"top","bottom")),u=s!==e.w,d=l!==e.h;return e.w=s,e.h=l,n.horizontal?{same:u,other:d}:{same:d,other:u}}function F9e(e){const t=e.maxPadding;function n(r){const o=Math.max(t[r]-e[r],0);return e[r]+=o,o}e.y+=n("top"),e.x+=n("left"),n("right"),n("bottom")}function V9e(e,t){const n=t.maxPadding;function r(o){const i={left:0,top:0,right:0,bottom:0};return o.forEach(a=>{i[a]=Math.max(t[a],n[a])}),i}return r(e?["left","right"]:["top","bottom"])}function W4(e,t,n,r){const o=[];let i,a,s,l,u,d;for(i=0,a=e.length,u=0;i<a;++i){s=e[i],l=s.box,l.update(s.width||t.w,s.height||t.h,V9e(s.horizontal,t));const{same:h,other:C}=T9e(t,n,s,r);u|=h&&o.length,d=d||C,l.fullSize||o.push(s)}return u&&W4(o,t,n,r)||d}function b6(e,t,n,r,o){e.top=n,e.left=t,e.right=t+r,e.bottom=n+o,e.width=r,e.height=o}function By(e,t,n,r){const o=n.padding;let{x:i,y:a}=t;for(const s of e){const l=s.box,u=r[s.stack]||{count:1,placed:0,weight:1},d=s.stackWeight/u.weight||1;if(s.horizontal){const h=t.w*d,C=u.size||l.height;Ms(u.start)&&(a=u.start),l.fullSize?b6(l,o.left,a,n.outerWidth-o.right-o.left,C):b6(l,t.left+u.placed,a,h,C),u.start=a,u.placed+=h,a=l.bottom}else{const h=t.h*d,C=u.size||l.width;Ms(u.start)&&(i=u.start),l.fullSize?b6(l,i,o.top,C,n.outerHeight-o.bottom-o.top):b6(l,i,t.top+u.placed,C,h),u.start=i,u.placed+=h,i=l.right}}t.x=i,t.y=a}var Ga={addBox(e,t){e.boxes||(e.boxes=[]),t.fullSize=t.fullSize||!1,t.position=t.position||"top",t.weight=t.weight||0,t._layers=t._layers||function(){return[{z:0,draw(n){t.draw(n)}}]},e.boxes.push(t)},removeBox(e,t){const n=e.boxes?e.boxes.indexOf(t):-1;n!==-1&&e.boxes.splice(n,1)},configure(e,t,n){t.fullSize=n.fullSize,t.position=n.position,t.weight=n.weight},update(e,t,n,r){if(!e)return;const o=ko(e.options.layout.padding),i=Math.max(t-o.width,0),a=Math.max(n-o.height,0),s=N9e(e.boxes),l=s.vertical,u=s.horizontal;J1(e.boxes,v=>{typeof v.beforeLayout=="function"&&v.beforeLayout()});const d=l.reduce((v,p)=>p.box.options&&p.box.options.display===!1?v:v+1,0)||1,h=Object.freeze({outerWidth:t,outerHeight:n,padding:o,availableWidth:i,availableHeight:a,vBoxMaxWidth:i/2/d,hBoxMaxHeight:a/2}),C=Object.assign({},o);VH(C,ko(r));const m=Object.assign({maxPadding:C,w:i,h:a,x:o.left,y:o.top},o),A=k9e(l.concat(u),h);W4(s.fullSize,m,h,A),W4(l,m,h,A),W4(u,m,h,A)&&W4(l,m,h,A),F9e(m),By(s.leftAndTop,m,h,A),m.x+=m.w,m.y+=m.h,By(s.rightAndBottom,m,h,A),e.chartArea={left:m.left,top:m.top,right:m.left+m.w,bottom:m.top+m.h,height:m.h,width:m.w},J1(s.chartArea,v=>{const p=v.box;Object.assign(p,e.chartArea),p.update(m.w,m.h,{left:0,top:0,right:0,bottom:0})})}};class jH{acquireContext(t,n){}releaseContext(t){return!1}addEventListener(t,n,r){}removeEventListener(t,n,r){}getDevicePixelRatio(){return 1}getMaximumSize(t,n,r,o){return n=Math.max(0,n||t.width),r=r||t.height,{width:n,height:Math.max(0,o?Math.floor(n/o):r)}}isAttached(t){return!0}updateConfig(t){}}class j9e extends jH{acquireContext(t){return t&&t.getContext&&t.getContext("2d")||null}updateConfig(t){t.options.animation=!1}}const zc="$chartjs",z9e={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},Oy=e=>e===null||e==="";function U9e(e,t){const n=e.style,r=e.getAttribute("height"),o=e.getAttribute("width");if(e[zc]={initial:{height:r,width:o,style:{display:n.display,height:n.height,width:n.width}}},n.display=n.display||"block",n.boxSizing=n.boxSizing||"border-box",Oy(o)){const i=Cy(e,"width");i!==void 0&&(e.width=i)}if(Oy(r))if(e.style.height==="")e.height=e.width/(t||2);else{const i=Cy(e,"height");i!==void 0&&(e.height=i)}return e}const zH=$ae?{passive:!0}:!1;function Z9e(e,t,n){e&&e.addEventListener(t,n,zH)}function $9e(e,t,n){e&&e.canvas&&e.canvas.removeEventListener(t,n,zH)}function K9e(e,t){const n=z9e[e.type]||e.type,{x:r,y:o}=V9(e,t);return{type:n,chart:t,native:e,x:r!==void 0?r:null,y:o!==void 0?o:null}}function k8(e,t){for(const n of e)if(n===t||n.contains(t))return!0}function Q9e(e,t,n){const r=e.canvas,o=new MutationObserver(i=>{let a=!1;for(const s of i)a=a||k8(s.addedNodes,r),a=a&&!k8(s.removedNodes,r);a&&n()});return o.observe(document,{childList:!0,subtree:!0}),o}function W9e(e,t,n){const r=e.canvas,o=new MutationObserver(i=>{let a=!1;for(const s of i)a=a||k8(s.removedNodes,r),a=a&&!k8(s.addedNodes,r);a&&n()});return o.observe(document,{childList:!0,subtree:!0}),o}const Os=new Map;let Ry=0;function UH(){const e=window.devicePixelRatio;e!==Ry&&(Ry=e,Os.forEach((t,n)=>{n.currentDevicePixelRatio!==e&&t()}))}function G9e(e,t){Os.size||window.addEventListener("resize",UH),Os.set(e,t)}function Y9e(e){Os.delete(e),Os.size||window.removeEventListener("resize",UH)}function q9e(e,t,n){const r=e.canvas,o=r&&zg(r);if(!o)return;const i=vH((s,l)=>{const u=o.clientWidth;n(s,l),u<o.clientWidth&&n()},window),a=new ResizeObserver(s=>{const l=s[0],u=l.contentRect.width,d=l.contentRect.height;u===0&&d===0||i(u,d)});return a.observe(o),G9e(e,i),a}function tf(e,t,n){n&&n.disconnect(),t==="resize"&&Y9e(e)}function X9e(e,t,n){const r=e.canvas,o=vH(i=>{e.ctx!==null&&n(K9e(i,e))},e);return Z9e(r,t,o),o}class J9e extends jH{acquireContext(t,n){const r=t&&t.getContext&&t.getContext("2d");return r&&r.canvas===t?(U9e(t,n),r):null}releaseContext(t){const n=t.canvas;if(!n[zc])return!1;const r=n[zc].initial;["height","width"].forEach(i=>{const a=r[i];W1(a)?n.removeAttribute(i):n.setAttribute(i,a)});const o=r.style||{};return Object.keys(o).forEach(i=>{n.style[i]=o[i]}),n.width=n.width,delete n[zc],!0}addEventListener(t,n,r){this.removeEventListener(t,n);const o=t.$proxies||(t.$proxies={}),a={attach:Q9e,detach:W9e,resize:q9e}[n]||X9e;o[n]=a(t,n,r)}removeEventListener(t,n){const r=t.$proxies||(t.$proxies={}),o=r[n];if(!o)return;({attach:tf,detach:tf,resize:tf}[n]||$9e)(t,n,o),r[n]=void 0}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(t,n,r,o){return Zae(t,n,r,o)}isAttached(t){const n=t&&zg(t);return!!(n&&n.isConnected)}}function e3e(e){return!jg()||typeof OffscreenCanvas<"u"&&e instanceof OffscreenCanvas?j9e:J9e}var q6;let g9=(q6=class{constructor(){xn(this,"x");xn(this,"y");xn(this,"active",!1);xn(this,"options");xn(this,"$animations")}tooltipPosition(t){const{x:n,y:r}=this.getProps(["x","y"],t);return{x:n,y:r}}hasValue(){return Hs(this.x)&&Hs(this.y)}getProps(t,n){const r=this.$animations;if(!n||!r)return this;const o={};return t.forEach(i=>{o[i]=r[i]&&r[i].active()?r[i]._to:this[i]}),o}},xn(q6,"defaults",{}),xn(q6,"defaultRoutes"),q6);function t3e(e,t){const n=e.options.ticks,r=n3e(e),o=Math.min(n.maxTicksLimit||r,r),i=n.major.enabled?o3e(t):[],a=i.length,s=i[0],l=i[a-1],u=[];if(a>o)return i3e(t,u,i,a/o),u;const d=r3e(i,t,o);if(a>0){let h,C;const m=a>1?Math.round((l-s)/(a-1)):null;for(y6(t,u,d,W1(m)?0:s-m,s),h=0,C=a-1;h<C;h++)y6(t,u,d,i[h],i[h+1]);return y6(t,u,d,l,W1(m)?t.length:l+m),u}return y6(t,u,d),u}function n3e(e){const t=e.options.offset,n=e._tickSize(),r=e._length/n+(t?0:1),o=e._maxLength/n;return Math.floor(Math.min(r,o))}function r3e(e,t,n){const r=a3e(e),o=t.length/n;if(!r)return Math.max(o,1);const i=Zie(r);for(let a=0,s=i.length-1;a<s;a++){const l=i[a];if(l>o)return l}return Math.max(o,1)}function o3e(e){const t=[];let n,r;for(n=0,r=e.length;n<r;n++)e[n].major&&t.push(n);return t}function i3e(e,t,n,r){let o=0,i=n[0],a;for(r=Math.ceil(r),a=0;a<e.length;a++)a===i&&(t.push(e[a]),o++,i=n[o*r])}function y6(e,t,n,r,o){const i=C1(r,0),a=Math.min(C1(o,e.length),e.length);let s=0,l,u,d;for(n=Math.ceil(n),o&&(l=o-r,n=l/Math.floor(l/n)),d=i;d<0;)s++,d=Math.round(i+s*n);for(u=Math.max(i,0);u<a;u++)u===d&&(t.push(e[u]),s++,d=Math.round(i+s*n))}function a3e(e){const t=e.length;let n,r;if(t<2)return!1;for(r=e[0],n=1;n<t;++n)if(e[n]-e[n-1]!==r)return!1;return r}const s3e=e=>e==="left"?"right":e==="right"?"left":e,Iy=(e,t,n)=>t==="top"||t==="left"?e[t]+n:e[t]-n,Dy=(e,t)=>Math.min(t||e,e);function Py(e,t){const n=[],r=e.length/t,o=e.length;let i=0;for(;i<o;i+=r)n.push(e[Math.floor(i)]);return n}function l3e(e,t,n){const r=e.ticks.length,o=Math.min(t,r-1),i=e._startPixel,a=e._endPixel,s=1e-6;let l=e.getPixelForTick(o),u;if(!(n&&(r===1?u=Math.max(l-i,a-l):t===0?u=(e.getPixelForTick(1)-l)/2:u=(l-e.getPixelForTick(o-1))/2,l+=o<t?u:-u,l<i-s||l>a+s)))return l}function c3e(e,t){J1(e,n=>{const r=n.gc,o=r.length/2;let i;if(o>t){for(i=0;i<o;++i)delete n.data[r[i]];r.splice(0,o)}})}function B4(e){return e.drawTicks?e.tickLength:0}function ky(e,t){if(!e.display)return 0;const n=dr(e.font,t),r=ko(e.padding);return(K0(e.text)?e.text.length:1)*n.lineHeight+r.height}function u3e(e,t){return C3(e,{scale:t,type:"scale"})}function d3e(e,t,n){return C3(e,{tick:n,index:t,type:"tick"})}function f3e(e,t,n){let r=bH(e);return(n&&t!=="right"||!n&&t==="right")&&(r=s3e(r)),r}function h3e(e,t,n,r){const{top:o,left:i,bottom:a,right:s,chart:l}=e,{chartArea:u,scales:d}=l;let h=0,C,m,A;const v=a-o,p=s-i;if(e.isHorizontal()){if(m=Hr(r,i,s),y1(n)){const _=Object.keys(n)[0],w=n[_];A=d[_].getPixelForValue(w)+v-t}else n==="center"?A=(u.bottom+u.top)/2+v-t:A=Iy(e,n,t);C=s-i}else{if(y1(n)){const _=Object.keys(n)[0],w=n[_];m=d[_].getPixelForValue(w)-p+t}else n==="center"?m=(u.left+u.right)/2-p+t:m=Iy(e,n,t);A=Hr(r,a,o),h=n==="left"?-Q0:Q0}return{titleX:m,titleY:A,maxWidth:C,rotation:h}}class U5 extends g9{constructor(t){super(),this.id=t.id,this.type=t.type,this.options=void 0,this.ctx=t.ctx,this.chart=t.chart,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this._margins={left:0,right:0,top:0,bottom:0},this.maxWidth=void 0,this.maxHeight=void 0,this.paddingTop=void 0,this.paddingBottom=void 0,this.paddingLeft=void 0,this.paddingRight=void 0,this.axis=void 0,this.labelRotation=void 0,this.min=void 0,this.max=void 0,this._range=void 0,this.ticks=[],this._gridLineItems=null,this._labelItems=null,this._labelSizes=null,this._length=0,this._maxLength=0,this._longestTextCache={},this._startPixel=void 0,this._endPixel=void 0,this._reversePixels=!1,this._userMax=void 0,this._userMin=void 0,this._suggestedMax=void 0,this._suggestedMin=void 0,this._ticksLength=0,this._borderValue=0,this._cache={},this._dataLimitsCached=!1,this.$context=void 0}init(t){this.options=t.setContext(this.getContext()),this.axis=t.axis,this._userMin=this.parse(t.min),this._userMax=this.parse(t.max),this._suggestedMin=this.parse(t.suggestedMin),this._suggestedMax=this.parse(t.suggestedMax)}parse(t,n){return t}getUserBounds(){let{_userMin:t,_userMax:n,_suggestedMin:r,_suggestedMax:o}=this;return t=ci(t,Number.POSITIVE_INFINITY),n=ci(n,Number.NEGATIVE_INFINITY),r=ci(r,Number.POSITIVE_INFINITY),o=ci(o,Number.NEGATIVE_INFINITY),{min:ci(t,r),max:ci(n,o),minDefined:P2(t),maxDefined:P2(n)}}getMinMax(t){let{min:n,max:r,minDefined:o,maxDefined:i}=this.getUserBounds(),a;if(o&&i)return{min:n,max:r};const s=this.getMatchingVisibleMetas();for(let l=0,u=s.length;l<u;++l)a=s[l].controller.getMinMax(this,t),o||(n=Math.min(n,a.min)),i||(r=Math.max(r,a.max));return n=i&&n>r?r:n,r=o&&n>r?n:r,{min:ci(n,ci(r,n)),max:ci(r,ci(n,r))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){const t=this.chart.data;return this.options.labels||(this.isHorizontal()?t.xLabels:t.yLabels)||t.labels||[]}getLabelItems(t=this.chart.chartArea){return this._labelItems||(this._labelItems=this._computeLabelItems(t))}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){C0(this.options.beforeUpdate,[this])}update(t,n,r){const{beginAtZero:o,grace:i,ticks:a}=this.options,s=a.sampleSize;this.beforeUpdate(),this.maxWidth=t,this.maxHeight=n,this._margins=r=Object.assign({left:0,right:0,top:0,bottom:0},r),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+r.left+r.right:this.height+r.top+r.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=wae(this,i,o),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();const l=s<this.ticks.length;this._convertTicksToLabels(l?Py(this.ticks,s):this.ticks),this.configure(),this.beforeCalculateLabelRotation(),this.calculateLabelRotation(),this.afterCalculateLabelRotation(),a.display&&(a.autoSkip||a.source==="auto")&&(this.ticks=t3e(this,this.ticks),this._labelSizes=null,this.afterAutoSkip()),l&&this._convertTicksToLabels(this.ticks),this.beforeFit(),this.fit(),this.afterFit(),this.afterUpdate()}configure(){let t=this.options.reverse,n,r;this.isHorizontal()?(n=this.left,r=this.right):(n=this.top,r=this.bottom,t=!t),this._startPixel=n,this._endPixel=r,this._reversePixels=t,this._length=r-n,this._alignToPixels=this.options.alignToPixels}afterUpdate(){C0(this.options.afterUpdate,[this])}beforeSetDimensions(){C0(this.options.beforeSetDimensions,[this])}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=0,this.right=this.width):(this.height=this.maxHeight,this.top=0,this.bottom=this.height),this.paddingLeft=0,this.paddingTop=0,this.paddingRight=0,this.paddingBottom=0}afterSetDimensions(){C0(this.options.afterSetDimensions,[this])}_callHooks(t){this.chart.notifyPlugins(t,this.getContext()),C0(this.options[t],[this])}beforeDataLimits(){this._callHooks("beforeDataLimits")}determineDataLimits(){}afterDataLimits(){this._callHooks("afterDataLimits")}beforeBuildTicks(){this._callHooks("beforeBuildTicks")}buildTicks(){return[]}afterBuildTicks(){this._callHooks("afterBuildTicks")}beforeTickToLabelConversion(){C0(this.options.beforeTickToLabelConversion,[this])}generateTickLabels(t){const n=this.options.ticks;let r,o,i;for(r=0,o=t.length;r<o;r++)i=t[r],i.label=C0(n.callback,[i.value,r,t],this)}afterTickToLabelConversion(){C0(this.options.afterTickToLabelConversion,[this])}beforeCalculateLabelRotation(){C0(this.options.beforeCalculateLabelRotation,[this])}calculateLabelRotation(){const t=this.options,n=t.ticks,r=Dy(this.ticks.length,t.ticks.maxTicksLimit),o=n.minRotation||0,i=n.maxRotation;let a=o,s,l,u;if(!this._isVisible()||!n.display||o>=i||r<=1||!this.isHorizontal()){this.labelRotation=o;return}const d=this._getLabelSizes(),h=d.widest.width,C=d.highest.height,m=R2(this.chart.width-h,0,this.maxWidth);s=t.offset?this.maxWidth/r:m/(r-1),h+6>s&&(s=m/(r-(t.offset?.5:1)),l=this.maxHeight-B4(t.grid)-n.padding-ky(t.title,this.chart.options.font),u=Math.sqrt(h*h+C*C),a=Wie(Math.min(Math.asin(R2((d.highest.height+6)/s,-1,1)),Math.asin(R2(l/u,-1,1))-Math.asin(R2(C/u,-1,1)))),a=Math.max(o,Math.min(i,a))),this.labelRotation=a}afterCalculateLabelRotation(){C0(this.options.afterCalculateLabelRotation,[this])}afterAutoSkip(){}beforeFit(){C0(this.options.beforeFit,[this])}fit(){const t={width:0,height:0},{chart:n,options:{ticks:r,title:o,grid:i}}=this,a=this._isVisible(),s=this.isHorizontal();if(a){const l=ky(o,n.options.font);if(s?(t.width=this.maxWidth,t.height=B4(i)+l):(t.height=this.maxHeight,t.width=B4(i)+l),r.display&&this.ticks.length){const{first:u,last:d,widest:h,highest:C}=this._getLabelSizes(),m=r.padding*2,A=aa(this.labelRotation),v=Math.cos(A),p=Math.sin(A);if(s){const _=r.mirror?0:p*h.width+v*C.height;t.height=Math.min(this.maxHeight,t.height+_+m)}else{const _=r.mirror?0:v*h.width+p*C.height;t.width=Math.min(this.maxWidth,t.width+_+m)}this._calculatePadding(u,d,p,v)}}this._handleMargins(),s?(this.width=this._length=n.width-this._margins.left-this._margins.right,this.height=t.height):(this.width=t.width,this.height=this._length=n.height-this._margins.top-this._margins.bottom)}_calculatePadding(t,n,r,o){const{ticks:{align:i,padding:a},position:s}=this.options,l=this.labelRotation!==0,u=s!=="top"&&this.axis==="x";if(this.isHorizontal()){const d=this.getPixelForTick(0)-this.left,h=this.right-this.getPixelForTick(this.ticks.length-1);let C=0,m=0;l?u?(C=o*t.width,m=r*n.height):(C=r*t.height,m=o*n.width):i==="start"?m=n.width:i==="end"?C=t.width:i!=="inner"&&(C=t.width/2,m=n.width/2),this.paddingLeft=Math.max((C-d+a)*this.width/(this.width-d),0),this.paddingRight=Math.max((m-h+a)*this.width/(this.width-h),0)}else{let d=n.height/2,h=t.height/2;i==="start"?(d=0,h=t.height):i==="end"&&(d=n.height,h=0),this.paddingTop=d+a,this.paddingBottom=h+a}}_handleMargins(){this._margins&&(this._margins.left=Math.max(this.paddingLeft,this._margins.left),this._margins.top=Math.max(this.paddingTop,this._margins.top),this._margins.right=Math.max(this.paddingRight,this._margins.right),this._margins.bottom=Math.max(this.paddingBottom,this._margins.bottom))}afterFit(){C0(this.options.afterFit,[this])}isHorizontal(){const{axis:t,position:n}=this.options;return n==="top"||n==="bottom"||t==="x"}isFullSize(){return this.options.fullSize}_convertTicksToLabels(t){this.beforeTickToLabelConversion(),this.generateTickLabels(t);let n,r;for(n=0,r=t.length;n<r;n++)W1(t[n].label)&&(t.splice(n,1),r--,n--);this.afterTickToLabelConversion()}_getLabelSizes(){let t=this._labelSizes;if(!t){const n=this.options.ticks.sampleSize;let r=this.ticks;n<r.length&&(r=Py(r,n)),this._labelSizes=t=this._computeLabelSizes(r,r.length,this.options.ticks.maxTicksLimit)}return t}_computeLabelSizes(t,n,r){const{ctx:o,_longestTextCache:i}=this,a=[],s=[],l=Math.floor(n/Dy(n,r));let u=0,d=0,h,C,m,A,v,p,_,w,x,E,S;for(h=0;h<n;h+=l){if(A=t[h].label,v=this._resolveTickFontOptions(h),o.font=p=v.string,_=i[p]=i[p]||{data:{},gc:[]},w=v.lineHeight,x=E=0,!W1(A)&&!K0(A))x=cy(o,_.data,_.gc,x,A),E=w;else if(K0(A))for(C=0,m=A.length;C<m;++C)S=A[C],!W1(S)&&!K0(S)&&(x=cy(o,_.data,_.gc,x,S),E+=w);a.push(x),s.push(E),u=Math.max(x,u),d=Math.max(E,d)}c3e(i,n);const M=a.indexOf(u),H=s.indexOf(d),O=D=>({width:a[D]||0,height:s[D]||0});return{first:O(0),last:O(n-1),widest:O(M),highest:O(H),widths:a,heights:s}}getLabelForValue(t){return t}getPixelForValue(t,n){return NaN}getValueForPixel(t){}getPixelForTick(t){const n=this.ticks;return t<0||t>n.length-1?null:this.getPixelForValue(n[t].value)}getPixelForDecimal(t){this._reversePixels&&(t=1-t);const n=this._startPixel+t*this._length;return Yie(this._alignToPixels?D9(this.chart,n,0):n)}getDecimalForPixel(t){const n=(t-this._startPixel)/this._length;return this._reversePixels?1-n:n}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){const{min:t,max:n}=this;return t<0&&n<0?n:t>0&&n>0?t:0}getContext(t){const n=this.ticks||[];if(t>=0&&t<n.length){const r=n[t];return r.$context||(r.$context=d3e(this.getContext(),t,r))}return this.$context||(this.$context=u3e(this.chart.getContext(),this))}_tickSize(){const t=this.options.ticks,n=aa(this.labelRotation),r=Math.abs(Math.cos(n)),o=Math.abs(Math.sin(n)),i=this._getLabelSizes(),a=t.autoSkipPadding||0,s=i?i.widest.width+a:0,l=i?i.highest.height+a:0;return this.isHorizontal()?l*r>s*o?s/r:l/o:l*o<s*r?l/r:s/o}_isVisible(){const t=this.options.display;return t!=="auto"?!!t:this.getMatchingVisibleMetas().length>0}_computeGridLineItems(t){const n=this.axis,r=this.chart,o=this.options,{grid:i,position:a,border:s}=o,l=i.offset,u=this.isHorizontal(),h=this.ticks.length+(l?1:0),C=B4(i),m=[],A=s.setContext(this.getContext()),v=A.display?A.width:0,p=v/2,_=function(F){return D9(r,F,v)};let w,x,E,S,M,H,O,D,P,k,N,V;if(a==="top")w=_(this.bottom),H=this.bottom-C,D=w-p,k=_(t.top)+p,V=t.bottom;else if(a==="bottom")w=_(this.top),k=t.top,V=_(t.bottom)-p,H=w+p,D=this.top+C;else if(a==="left")w=_(this.right),M=this.right-C,O=w-p,P=_(t.left)+p,N=t.right;else if(a==="right")w=_(this.left),P=t.left,N=_(t.right)-p,M=w+p,O=this.left+C;else if(n==="x"){if(a==="center")w=_((t.top+t.bottom)/2+.5);else if(y1(a)){const F=Object.keys(a)[0],$=a[F];w=_(this.chart.scales[F].getPixelForValue($))}k=t.top,V=t.bottom,H=w+p,D=H+C}else if(n==="y"){if(a==="center")w=_((t.left+t.right)/2);else if(y1(a)){const F=Object.keys(a)[0],$=a[F];w=_(this.chart.scales[F].getPixelForValue($))}M=w-p,O=M-C,P=t.left,N=t.right}const j=C1(o.ticks.maxTicksLimit,h),T=Math.max(1,Math.ceil(h/j));for(x=0;x<h;x+=T){const F=this.getContext(x),$=i.setContext(F),Z=s.setContext(F),q=$.lineWidth,K=$.color,U=Z.dash||[],G=Z.dashOffset,J=$.tickWidth,Y=$.tickColor,ee=$.tickBorderDash||[],re=$.tickBorderDashOffset;E=l3e(this,x,l),E!==void 0&&(S=D9(r,E,q),u?M=O=P=N=S:H=D=k=V=S,m.push({tx1:M,ty1:H,tx2:O,ty2:D,x1:P,y1:k,x2:N,y2:V,width:q,color:K,borderDash:U,borderDashOffset:G,tickWidth:J,tickColor:Y,tickBorderDash:ee,tickBorderDashOffset:re}))}return this._ticksLength=h,this._borderValue=w,m}_computeLabelItems(t){const n=this.axis,r=this.options,{position:o,ticks:i}=r,a=this.isHorizontal(),s=this.ticks,{align:l,crossAlign:u,padding:d,mirror:h}=i,C=B4(r.grid),m=C+d,A=h?-d:m,v=-aa(this.labelRotation),p=[];let _,w,x,E,S,M,H,O,D,P,k,N,V="middle";if(o==="top")M=this.bottom-A,H=this._getXAxisLabelAlignment();else if(o==="bottom")M=this.top+A,H=this._getXAxisLabelAlignment();else if(o==="left"){const T=this._getYAxisLabelAlignment(C);H=T.textAlign,S=T.x}else if(o==="right"){const T=this._getYAxisLabelAlignment(C);H=T.textAlign,S=T.x}else if(n==="x"){if(o==="center")M=(t.top+t.bottom)/2+m;else if(y1(o)){const T=Object.keys(o)[0],F=o[T];M=this.chart.scales[T].getPixelForValue(F)+m}H=this._getXAxisLabelAlignment()}else if(n==="y"){if(o==="center")S=(t.left+t.right)/2-m;else if(y1(o)){const T=Object.keys(o)[0],F=o[T];S=this.chart.scales[T].getPixelForValue(F)}H=this._getYAxisLabelAlignment(C).textAlign}n==="y"&&(l==="start"?V="top":l==="end"&&(V="bottom"));const j=this._getLabelSizes();for(_=0,w=s.length;_<w;++_){x=s[_],E=x.label;const T=i.setContext(this.getContext(_));O=this.getPixelForTick(_)+i.labelOffset,D=this._resolveTickFontOptions(_),P=D.lineHeight,k=K0(E)?E.length:1;const F=k/2,$=T.color,Z=T.textStrokeColor,q=T.textStrokeWidth;let K=H;a?(S=O,H==="inner"&&(_===w-1?K=this.options.reverse?"left":"right":_===0?K=this.options.reverse?"right":"left":K="center"),o==="top"?u==="near"||v!==0?N=-k*P+P/2:u==="center"?N=-j.highest.height/2-F*P+P:N=-j.highest.height+P/2:u==="near"||v!==0?N=P/2:u==="center"?N=j.highest.height/2-F*P:N=j.highest.height-k*P,h&&(N*=-1),v!==0&&!T.showLabelBackdrop&&(S+=P/2*Math.sin(v))):(M=O,N=(1-k)*P/2);let U;if(T.showLabelBackdrop){const G=ko(T.backdropPadding),J=j.heights[_],Y=j.widths[_];let ee=N-G.top,re=0-G.left;switch(V){case"middle":ee-=J/2;break;case"bottom":ee-=J;break}switch(H){case"center":re-=Y/2;break;case"right":re-=Y;break;case"inner":_===w-1?re-=Y:_>0&&(re-=Y/2);break}U={left:re,top:ee,width:Y+G.width,height:J+G.height,color:T.backdropColor}}p.push({label:E,font:D,textOffset:N,options:{rotation:v,color:$,strokeColor:Z,strokeWidth:q,textAlign:K,textBaseline:V,translation:[S,M],backdrop:U}})}return p}_getXAxisLabelAlignment(){const{position:t,ticks:n}=this.options;if(-aa(this.labelRotation))return t==="top"?"left":"right";let o="center";return n.align==="start"?o="left":n.align==="end"?o="right":n.align==="inner"&&(o="inner"),o}_getYAxisLabelAlignment(t){const{position:n,ticks:{crossAlign:r,mirror:o,padding:i}}=this.options,a=this._getLabelSizes(),s=t+i,l=a.widest.width;let u,d;return n==="left"?o?(d=this.right+i,r==="near"?u="left":r==="center"?(u="center",d+=l/2):(u="right",d+=l)):(d=this.right-s,r==="near"?u="right":r==="center"?(u="center",d-=l/2):(u="left",d=this.left)):n==="right"?o?(d=this.left+i,r==="near"?u="right":r==="center"?(u="center",d-=l/2):(u="left",d-=l)):(d=this.left+s,r==="near"?u="left":r==="center"?(u="center",d+=l/2):(u="right",d=this.right)):u="right",{textAlign:u,x:d}}_computeLabelArea(){if(this.options.ticks.mirror)return;const t=this.chart,n=this.options.position;if(n==="left"||n==="right")return{top:0,left:this.left,bottom:t.height,right:this.right};if(n==="top"||n==="bottom")return{top:this.top,left:0,bottom:this.bottom,right:t.width}}drawBackground(){const{ctx:t,options:{backgroundColor:n},left:r,top:o,width:i,height:a}=this;n&&(t.save(),t.fillStyle=n,t.fillRect(r,o,i,a),t.restore())}getLineWidthForValue(t){const n=this.options.grid;if(!this._isVisible()||!n.display)return 0;const o=this.ticks.findIndex(i=>i.value===t);return o>=0?n.setContext(this.getContext(o)).lineWidth:0}drawGrid(t){const n=this.options.grid,r=this.ctx,o=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(t));let i,a;const s=(l,u,d)=>{!d.width||!d.color||(r.save(),r.lineWidth=d.width,r.strokeStyle=d.color,r.setLineDash(d.borderDash||[]),r.lineDashOffset=d.borderDashOffset,r.beginPath(),r.moveTo(l.x,l.y),r.lineTo(u.x,u.y),r.stroke(),r.restore())};if(n.display)for(i=0,a=o.length;i<a;++i){const l=o[i];n.drawOnChartArea&&s({x:l.x1,y:l.y1},{x:l.x2,y:l.y2},l),n.drawTicks&&s({x:l.tx1,y:l.ty1},{x:l.tx2,y:l.ty2},{color:l.tickColor,width:l.tickWidth,borderDash:l.tickBorderDash,borderDashOffset:l.tickBorderDashOffset})}}drawBorder(){const{chart:t,ctx:n,options:{border:r,grid:o}}=this,i=r.setContext(this.getContext()),a=r.display?i.width:0;if(!a)return;const s=o.setContext(this.getContext(0)).lineWidth,l=this._borderValue;let u,d,h,C;this.isHorizontal()?(u=D9(t,this.left,a)-a/2,d=D9(t,this.right,s)+s/2,h=C=l):(h=D9(t,this.top,a)-a/2,C=D9(t,this.bottom,s)+s/2,u=d=l),n.save(),n.lineWidth=i.width,n.strokeStyle=i.color,n.beginPath(),n.moveTo(u,h),n.lineTo(d,C),n.stroke(),n.restore()}drawLabels(t){if(!this.options.ticks.display)return;const r=this.ctx,o=this._computeLabelArea();o&&H7(r,o);const i=this.getLabelItems(t);for(const a of i){const s=a.options,l=a.font,u=a.label,d=a.textOffset;I8(r,u,0,d,l,s)}o&&L7(r)}drawTitle(){const{ctx:t,options:{position:n,title:r,reverse:o}}=this;if(!r.display)return;const i=dr(r.font),a=ko(r.padding),s=r.align;let l=i.lineHeight/2;n==="bottom"||n==="center"||y1(n)?(l+=a.bottom,K0(r.text)&&(l+=i.lineHeight*(r.text.length-1))):l+=a.top;const{titleX:u,titleY:d,maxWidth:h,rotation:C}=h3e(this,l,n,s);I8(t,r.text,0,0,i,{color:r.color,maxWidth:h,rotation:C,textAlign:f3e(s,n,o),textBaseline:"middle",translation:[u,d]})}draw(t){this._isVisible()&&(this.drawBackground(),this.drawGrid(t),this.drawBorder(),this.drawTitle(),this.drawLabels(t))}_layers(){const t=this.options,n=t.ticks&&t.ticks.z||0,r=C1(t.grid&&t.grid.z,-1),o=C1(t.border&&t.border.z,0);return!this._isVisible()||this.draw!==U5.prototype.draw?[{z:n,draw:i=>{this.draw(i)}}]:[{z:r,draw:i=>{this.drawBackground(),this.drawGrid(i),this.drawTitle()}},{z:o,draw:()=>{this.drawBorder()}},{z:n,draw:i=>{this.drawLabels(i)}}]}getMatchingVisibleMetas(t){const n=this.chart.getSortedVisibleDatasetMetas(),r=this.axis+"AxisID",o=[];let i,a;for(i=0,a=n.length;i<a;++i){const s=n[i];s[r]===this.id&&(!t||s.type===t)&&o.push(s)}return o}_resolveTickFontOptions(t){const n=this.options.ticks.setContext(this.getContext(t));return dr(n.font)}_maxDigits(){const t=this._resolveTickFontOptions(0).lineHeight;return(this.isHorizontal()?this.width:this.height)/t}}class w6{constructor(t,n,r){this.type=t,this.scope=n,this.override=r,this.items=Object.create(null)}isForType(t){return Object.prototype.isPrototypeOf.call(this.type.prototype,t.prototype)}register(t){const n=Object.getPrototypeOf(t);let r;m3e(n)&&(r=this.register(n));const o=this.items,i=t.id,a=this.scope+"."+i;if(!i)throw new Error("class does not have id: "+t);return i in o||(o[i]=t,C3e(t,a,r),this.override&&N0.override(t.id,t.overrides)),a}get(t){return this.items[t]}unregister(t){const n=this.items,r=t.id,o=this.scope;r in n&&delete n[r],o&&r in N0[o]&&(delete N0[o][r],this.override&&delete n3[r])}}function C3e(e,t,n){const r=Ss(Object.create(null),[n?N0.get(n):{},N0.get(t),e.defaults]);N0.set(t,r),e.defaultRoutes&&g3e(t,e.defaultRoutes),e.descriptors&&N0.describe(t,e.descriptors)}function g3e(e,t){Object.keys(t).forEach(n=>{const r=n.split("."),o=r.pop(),i=[e].concat(r).join("."),a=t[n].split("."),s=a.pop(),l=a.join(".");N0.route(i,o,l,s)})}function m3e(e){return"id"in e&&"defaults"in e}class p3e{constructor(){this.controllers=new w6(X9,"datasets",!0),this.elements=new w6(g9,"elements"),this.plugins=new w6(Object,"plugins"),this.scales=new w6(U5,"scales"),this._typedRegistries=[this.controllers,this.scales,this.elements]}add(...t){this._each("register",t)}remove(...t){this._each("unregister",t)}addControllers(...t){this._each("register",t,this.controllers)}addElements(...t){this._each("register",t,this.elements)}addPlugins(...t){this._each("register",t,this.plugins)}addScales(...t){this._each("register",t,this.scales)}getController(t){return this._get(t,this.controllers,"controller")}getElement(t){return this._get(t,this.elements,"element")}getPlugin(t){return this._get(t,this.plugins,"plugin")}getScale(t){return this._get(t,this.scales,"scale")}removeControllers(...t){this._each("unregister",t,this.controllers)}removeElements(...t){this._each("unregister",t,this.elements)}removePlugins(...t){this._each("unregister",t,this.plugins)}removeScales(...t){this._each("unregister",t,this.scales)}_each(t,n,r){[...n].forEach(o=>{const i=r||this._getRegistryForType(o);r||i.isForType(o)||i===this.plugins&&o.id?this._exec(t,i,o):J1(o,a=>{const s=r||this._getRegistryForType(a);this._exec(t,s,a)})})}_exec(t,n,r){const o=Ig(t);C0(r["before"+o],[],r),n[t](r),C0(r["after"+o],[],r)}_getRegistryForType(t){for(let n=0;n<this._typedRegistries.length;n++){const r=this._typedRegistries[n];if(r.isForType(t))return r}return this.plugins}_get(t,n,r){const o=n.get(t);if(o===void 0)throw new Error('"'+t+'" is not a registered '+r+".");return o}}var hi=new p3e;class A3e{constructor(){this._init=[]}notify(t,n,r,o){n==="beforeInit"&&(this._init=this._createDescriptors(t,!0),this._notify(this._init,t,"install"));const i=o?this._descriptors(t).filter(o):this._descriptors(t),a=this._notify(i,t,n,r);return n==="afterDestroy"&&(this._notify(i,t,"stop"),this._notify(this._init,t,"uninstall")),a}_notify(t,n,r,o){o=o||{};for(const i of t){const a=i.plugin,s=a[r],l=[n,o,i.options];if(C0(s,l,a)===!1&&o.cancelable)return!1}return!0}invalidate(){W1(this._cache)||(this._oldCache=this._cache,this._cache=void 0)}_descriptors(t){if(this._cache)return this._cache;const n=this._cache=this._createDescriptors(t);return this._notifyStateChanges(t),n}_createDescriptors(t,n){const r=t&&t.config,o=C1(r.options&&r.options.plugins,{}),i=v3e(r);return o===!1&&!n?[]:y3e(t,i,o,n)}_notifyStateChanges(t){const n=this._oldCache||[],r=this._cache,o=(i,a)=>i.filter(s=>!a.some(l=>s.plugin.id===l.plugin.id));this._notify(o(n,r),t,"stop"),this._notify(o(r,n),t,"start")}}function v3e(e){const t={},n=[],r=Object.keys(hi.plugins.items);for(let i=0;i<r.length;i++)n.push(hi.getPlugin(r[i]));const o=e.plugins||[];for(let i=0;i<o.length;i++){const a=o[i];n.indexOf(a)===-1&&(n.push(a),t[a.id]=!0)}return{plugins:n,localIds:t}}function b3e(e,t){return!t&&e===!1?null:e===!0?{}:e}function y3e(e,{plugins:t,localIds:n},r,o){const i=[],a=e.getContext();for(const s of t){const l=s.id,u=b3e(r[l],o);u!==null&&i.push({plugin:s,options:w3e(e.config,{plugin:s,local:n[l]},u,a)})}return i}function w3e(e,{plugin:t,local:n},r,o){const i=e.pluginScopeKeys(t),a=e.getOptionScopes(r,i);return n&&t.defaults&&a.push(t.defaults),e.createResolver(a,o,[""],{scriptable:!1,indexable:!1,allKeys:!0})}function _h(e,t){const n=N0.datasets[e]||{};return((t.datasets||{})[e]||{}).indexAxis||t.indexAxis||n.indexAxis||"x"}function x3e(e,t){let n=e;return e==="_index_"?n=t:e==="_value_"&&(n=t==="x"?"y":"x"),n}function _3e(e,t){return e===t?"_index_":"_value_"}function Ny(e){if(e==="x"||e==="y"||e==="r")return e}function E3e(e){if(e==="top"||e==="bottom")return"x";if(e==="left"||e==="right")return"y"}function Eh(e,...t){if(Ny(e))return e;for(const n of t){const r=n.axis||E3e(n.position)||e.length>1&&Ny(e[0].toLowerCase());if(r)return r}throw new Error(`Cannot determine type of '${e}' axis. Please provide 'axis' or 'position' option.`)}function Ty(e,t,n){if(n[t+"AxisID"]===e)return{axis:t}}function S3e(e,t){if(t.data&&t.data.datasets){const n=t.data.datasets.filter(r=>r.xAxisID===e||r.yAxisID===e);if(n.length)return Ty(e,"x",n[0])||Ty(e,"y",n[0])}return{}}function M3e(e,t){const n=n3[e.type]||{scales:{}},r=t.scales||{},o=_h(e.type,t),i=Object.create(null);return Object.keys(r).forEach(a=>{const s=r[a];if(!y1(s))return console.error(`Invalid scale configuration for scale: ${a}`);if(s._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${a}`);const l=Eh(a,s,S3e(a,e),N0.scales[s.type]),u=_3e(l,o),d=n.scales||{};i[a]=ls(Object.create(null),[{axis:l},s,d[l],d[u]])}),e.data.datasets.forEach(a=>{const s=a.type||e.type,l=a.indexAxis||_h(s,t),d=(n3[s]||{}).scales||{};Object.keys(d).forEach(h=>{const C=x3e(h,l),m=a[C+"AxisID"]||C;i[m]=i[m]||Object.create(null),ls(i[m],[{axis:C},r[m],d[h]])})}),Object.keys(i).forEach(a=>{const s=i[a];ls(s,[N0.scales[s.type],N0.scale])}),i}function ZH(e){const t=e.options||(e.options={});t.plugins=C1(t.plugins,{}),t.scales=M3e(e,t)}function $H(e){return e=e||{},e.datasets=e.datasets||[],e.labels=e.labels||[],e}function H3e(e){return e=e||{},e.data=$H(e.data),ZH(e),e}const Fy=new Map,KH=new Set;function x6(e,t){let n=Fy.get(e);return n||(n=t(),Fy.set(e,n),KH.add(n)),n}const O4=(e,t,n)=>{const r=t3(t,n);r!==void 0&&e.add(r)};class L3e{constructor(t){this._config=H3e(t),this._scopeCache=new Map,this._resolverCache=new Map}get platform(){return this._config.platform}get type(){return this._config.type}set type(t){this._config.type=t}get data(){return this._config.data}set data(t){this._config.data=$H(t)}get options(){return this._config.options}set options(t){this._config.options=t}get plugins(){return this._config.plugins}update(){const t=this._config;this.clearCache(),ZH(t)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(t){return x6(t,()=>[[`datasets.${t}`,""]])}datasetAnimationScopeKeys(t,n){return x6(`${t}.transition.${n}`,()=>[[`datasets.${t}.transitions.${n}`,`transitions.${n}`],[`datasets.${t}`,""]])}datasetElementScopeKeys(t,n){return x6(`${t}-${n}`,()=>[[`datasets.${t}.elements.${n}`,`datasets.${t}`,`elements.${n}`,""]])}pluginScopeKeys(t){const n=t.id,r=this.type;return x6(`${r}-plugin-${n}`,()=>[[`plugins.${n}`,...t.additionalOptionScopes||[]]])}_cachedScopes(t,n){const r=this._scopeCache;let o=r.get(t);return(!o||n)&&(o=new Map,r.set(t,o)),o}getOptionScopes(t,n,r){const{options:o,type:i}=this,a=this._cachedScopes(t,r),s=a.get(n);if(s)return s;const l=new Set;n.forEach(d=>{t&&(l.add(t),d.forEach(h=>O4(l,t,h))),d.forEach(h=>O4(l,o,h)),d.forEach(h=>O4(l,n3[i]||{},h)),d.forEach(h=>O4(l,N0,h)),d.forEach(h=>O4(l,yh,h))});const u=Array.from(l);return u.length===0&&u.push(Object.create(null)),KH.has(n)&&a.set(n,u),u}chartOptionScopes(){const{options:t,type:n}=this;return[t,n3[n]||{},N0.datasets[n]||{},{type:n},N0,yh]}resolveNamedOptions(t,n,r,o=[""]){const i={$shared:!0},{resolver:a,subPrefixes:s}=Vy(this._resolverCache,t,o);let l=a;if(O3e(a,n)){i.$shared=!1,r=o9(r)?r():r;const u=this.createResolver(t,r,s);l=x5(a,r,u)}for(const u of n)i[u]=l[u];return i}createResolver(t,n,r=[""],o){const{resolver:i}=Vy(this._resolverCache,t,r);return y1(n)?x5(i,n,void 0,o):i}}function Vy(e,t,n){let r=e.get(t);r||(r=new Map,e.set(t,r));const o=n.join();let i=r.get(o);return i||(i={resolver:Tg(t,n),subPrefixes:n.filter(s=>!s.toLowerCase().includes("hover"))},r.set(o,i)),i}const B3e=e=>y1(e)&&Object.getOwnPropertyNames(e).some(t=>o9(e[t]));function O3e(e,t){const{isScriptable:n,isIndexable:r}=EH(e);for(const o of t){const i=n(o),a=r(o),s=(a||i)&&e[o];if(i&&(o9(s)||B3e(s))||a&&K0(s))return!0}return!1}var R3e="4.4.9";const I3e=["top","bottom","left","right","chartArea"];function jy(e,t){return e==="top"||e==="bottom"||I3e.indexOf(e)===-1&&t==="x"}function zy(e,t){return function(n,r){return n[e]===r[e]?n[t]-r[t]:n[e]-r[e]}}function Uy(e){const t=e.chart,n=t.options.animation;t.notifyPlugins("afterRender"),C0(n&&n.onComplete,[e],t)}function D3e(e){const t=e.chart,n=t.options.animation;C0(n&&n.onProgress,[e],t)}function QH(e){return jg()&&typeof e=="string"?e=document.getElementById(e):e&&e.length&&(e=e[0]),e&&e.canvas&&(e=e.canvas),e}const Uc={},Zy=e=>{const t=QH(e);return Object.values(Uc).filter(n=>n.canvas===t).pop()};function P3e(e,t,n){const r=Object.keys(e);for(const o of r){const i=+o;if(i>=t){const a=e[o];delete e[o],(n>0||i>t)&&(e[i+n]=a)}}}function k3e(e,t,n,r){return!n||e.type==="mouseout"?null:r?t:e}var ja;let Z5=(ja=class{static register(...t){hi.add(...t),$y()}static unregister(...t){hi.remove(...t),$y()}constructor(t,n){const r=this.config=new L3e(n),o=QH(t),i=Zy(o);if(i)throw new Error("Canvas is already in use. Chart with ID '"+i.id+"' must be destroyed before the canvas with ID '"+i.canvas.id+"' can be reused.");const a=r.createResolver(r.chartOptionScopes(),this.getContext());this.platform=new(r.platform||e3e(o)),this.platform.updateConfig(r);const s=this.platform.acquireContext(o,a.aspectRatio),l=s&&s.canvas,u=l&&l.height,d=l&&l.width;if(this.id=Pie(),this.ctx=s,this.canvas=l,this.width=d,this.height=u,this._options=a,this._aspectRatio=this.aspectRatio,this._layers=[],this._metasets=[],this._stacks=void 0,this.boxes=[],this.currentDevicePixelRatio=void 0,this.chartArea=void 0,this._active=[],this._lastEvent=void 0,this._listeners={},this._responsiveListeners=void 0,this._sortedMetasets=[],this.scales={},this._plugins=new A3e,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=eae(h=>this.update(h),a.resizeDelay||0),this._dataChanges=[],Uc[this.id]=this,!s||!l){console.error("Failed to create chart: can't acquire context from the given item");return}qi.listen(this,"complete",Uy),qi.listen(this,"progress",D3e),this._initialize(),this.attached&&this.update()}get aspectRatio(){const{options:{aspectRatio:t,maintainAspectRatio:n},width:r,height:o,_aspectRatio:i}=this;return W1(t)?n&&i?i:o?r/o:null:t}get data(){return this.config.data}set data(t){this.config.data=t}get options(){return this._options}set options(t){this.config.options=t}get registry(){return hi}_initialize(){return this.notifyPlugins("beforeInit"),this.options.responsive?this.resize():hy(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return uy(this.canvas,this.ctx),this}stop(){return qi.stop(this),this}resize(t,n){qi.running(this)?this._resizeBeforeDraw={width:t,height:n}:this._resize(t,n)}_resize(t,n){const r=this.options,o=this.canvas,i=r.maintainAspectRatio&&this.aspectRatio,a=this.platform.getMaximumSize(o,t,n,i),s=r.devicePixelRatio||this.platform.getDevicePixelRatio(),l=this.width?"resize":"attach";this.width=a.width,this.height=a.height,this._aspectRatio=this.aspectRatio,hy(this,s,!0)&&(this.notifyPlugins("resize",{size:a}),C0(r.onResize,[this,a],this),this.attached&&this._doResize(l)&&this.render())}ensureScalesHaveIDs(){const n=this.options.scales||{};J1(n,(r,o)=>{r.id=o})}buildOrUpdateScales(){const t=this.options,n=t.scales,r=this.scales,o=Object.keys(r).reduce((a,s)=>(a[s]=!1,a),{});let i=[];n&&(i=i.concat(Object.keys(n).map(a=>{const s=n[a],l=Eh(a,s),u=l==="r",d=l==="x";return{options:s,dposition:u?"chartArea":d?"bottom":"left",dtype:u?"radialLinear":d?"category":"linear"}}))),J1(i,a=>{const s=a.options,l=s.id,u=Eh(l,s),d=C1(s.type,a.dtype);(s.position===void 0||jy(s.position,u)!==jy(a.dposition))&&(s.position=a.dposition),o[l]=!0;let h=null;if(l in r&&r[l].type===d)h=r[l];else{const C=hi.getScale(d);h=new C({id:l,type:d,ctx:this.ctx,chart:this}),r[h.id]=h}h.init(s,t)}),J1(o,(a,s)=>{a||delete r[s]}),J1(r,a=>{Ga.configure(this,a,a.options),Ga.addBox(this,a)})}_updateMetasets(){const t=this._metasets,n=this.data.datasets.length,r=t.length;if(t.sort((o,i)=>o.index-i.index),r>n){for(let o=n;o<r;++o)this._destroyDatasetMeta(o);t.splice(n,r-n)}this._sortedMetasets=t.slice(0).sort(zy("order","index"))}_removeUnreferencedMetasets(){const{_metasets:t,data:{datasets:n}}=this;t.length>n.length&&delete this._stacks,t.forEach((r,o)=>{n.filter(i=>i===r._dataset).length===0&&this._destroyDatasetMeta(o)})}buildOrUpdateControllers(){const t=[],n=this.data.datasets;let r,o;for(this._removeUnreferencedMetasets(),r=0,o=n.length;r<o;r++){const i=n[r];let a=this.getDatasetMeta(r);const s=i.type||this.config.type;if(a.type&&a.type!==s&&(this._destroyDatasetMeta(r),a=this.getDatasetMeta(r)),a.type=s,a.indexAxis=i.indexAxis||_h(s,this.options),a.order=i.order||0,a.index=r,a.label=""+i.label,a.visible=this.isDatasetVisible(r),a.controller)a.controller.updateIndex(r),a.controller.linkScales();else{const l=hi.getController(s),{datasetElementType:u,dataElementType:d}=N0.datasets[s];Object.assign(l,{dataElementType:hi.getElement(d),datasetElementType:u&&hi.getElement(u)}),a.controller=new l(this,r),t.push(a.controller)}}return this._updateMetasets(),t}_resetElements(){J1(this.data.datasets,(t,n)=>{this.getDatasetMeta(n).controller.reset()},this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(t){const n=this.config;n.update();const r=this._options=n.createResolver(n.chartOptionScopes(),this.getContext()),o=this._animationsDisabled=!r.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),this.notifyPlugins("beforeUpdate",{mode:t,cancelable:!0})===!1)return;const i=this.buildOrUpdateControllers();this.notifyPlugins("beforeElementsUpdate");let a=0;for(let u=0,d=this.data.datasets.length;u<d;u++){const{controller:h}=this.getDatasetMeta(u),C=!o&&i.indexOf(h)===-1;h.buildOrUpdateElements(C),a=Math.max(+h.getMaxOverflow(),a)}a=this._minPadding=r.layout.autoPadding?a:0,this._updateLayout(a),o||J1(i,u=>{u.reset()}),this._updateDatasets(t),this.notifyPlugins("afterUpdate",{mode:t}),this._layers.sort(zy("z","_idx"));const{_active:s,_lastEvent:l}=this;l?this._eventHandler(l,!0):s.length&&this._updateHoverStyles(s,s,!0),this.render()}_updateScales(){J1(this.scales,t=>{Ga.removeBox(this,t)}),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){const t=this.options,n=new Set(Object.keys(this._listeners)),r=new Set(t.events);(!ey(n,r)||!!this._responsiveListeners!==t.responsive)&&(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){const{_hiddenIndices:t}=this,n=this._getUniformDataChanges()||[];for(const{method:r,start:o,count:i}of n){const a=r==="_removeElements"?-i:i;P3e(t,o,a)}}_getUniformDataChanges(){const t=this._dataChanges;if(!t||!t.length)return;this._dataChanges=[];const n=this.data.datasets.length,r=i=>new Set(t.filter(a=>a[0]===i).map((a,s)=>s+","+a.splice(1).join(","))),o=r(0);for(let i=1;i<n;i++)if(!ey(o,r(i)))return;return Array.from(o).map(i=>i.split(",")).map(i=>({method:i[1],start:+i[2],count:+i[3]}))}_updateLayout(t){if(this.notifyPlugins("beforeLayout",{cancelable:!0})===!1)return;Ga.update(this,this.width,this.height,t);const n=this.chartArea,r=n.width<=0||n.height<=0;this._layers=[],J1(this.boxes,o=>{r&&o.position==="chartArea"||(o.configure&&o.configure(),this._layers.push(...o._layers()))},this),this._layers.forEach((o,i)=>{o._idx=i}),this.notifyPlugins("afterLayout")}_updateDatasets(t){if(this.notifyPlugins("beforeDatasetsUpdate",{mode:t,cancelable:!0})!==!1){for(let n=0,r=this.data.datasets.length;n<r;++n)this.getDatasetMeta(n).controller.configure();for(let n=0,r=this.data.datasets.length;n<r;++n)this._updateDataset(n,o9(t)?t({datasetIndex:n}):t);this.notifyPlugins("afterDatasetsUpdate",{mode:t})}}_updateDataset(t,n){const r=this.getDatasetMeta(t),o={meta:r,index:t,mode:n,cancelable:!0};this.notifyPlugins("beforeDatasetUpdate",o)!==!1&&(r.controller._update(n),o.cancelable=!1,this.notifyPlugins("afterDatasetUpdate",o))}render(){this.notifyPlugins("beforeRender",{cancelable:!0})!==!1&&(qi.has(this)?this.attached&&!qi.running(this)&&qi.start(this):(this.draw(),Uy({chart:this})))}draw(){let t;if(this._resizeBeforeDraw){const{width:r,height:o}=this._resizeBeforeDraw;this._resizeBeforeDraw=null,this._resize(r,o)}if(this.clear(),this.width<=0||this.height<=0||this.notifyPlugins("beforeDraw",{cancelable:!0})===!1)return;const n=this._layers;for(t=0;t<n.length&&n[t].z<=0;++t)n[t].draw(this.chartArea);for(this._drawDatasets();t<n.length;++t)n[t].draw(this.chartArea);this.notifyPlugins("afterDraw")}_getSortedDatasetMetas(t){const n=this._sortedMetasets,r=[];let o,i;for(o=0,i=n.length;o<i;++o){const a=n[o];(!t||a.visible)&&r.push(a)}return r}getSortedVisibleDatasetMetas(){return this._getSortedDatasetMetas(!0)}_drawDatasets(){if(this.notifyPlugins("beforeDatasetsDraw",{cancelable:!0})===!1)return;const t=this.getSortedVisibleDatasetMetas();for(let n=t.length-1;n>=0;--n)this._drawDataset(t[n]);this.notifyPlugins("afterDatasetsDraw")}_drawDataset(t){const n=this.ctx,r={meta:t,index:t.index,cancelable:!0},o=PH(this,t);this.notifyPlugins("beforeDatasetDraw",r)!==!1&&(o&&H7(n,o),t.controller.draw(),o&&L7(n),r.cancelable=!1,this.notifyPlugins("afterDatasetDraw",r))}isPointInArea(t){return Bs(t,this.chartArea,this._minPadding)}getElementsAtEventForMode(t,n,r,o){const i=I9e.modes[n];return typeof i=="function"?i(this,t,r,o):[]}getDatasetMeta(t){const n=this.data.datasets[t],r=this._metasets;let o=r.filter(i=>i&&i._dataset===n).pop();return o||(o={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:n&&n.order||0,index:t,_dataset:n,_parsed:[],_sorted:!1},r.push(o)),o}getContext(){return this.$context||(this.$context=C3(null,{chart:this,type:"chart"}))}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(t){const n=this.data.datasets[t];if(!n)return!1;const r=this.getDatasetMeta(t);return typeof r.hidden=="boolean"?!r.hidden:!n.hidden}setDatasetVisibility(t,n){const r=this.getDatasetMeta(t);r.hidden=!n}toggleDataVisibility(t){this._hiddenIndices[t]=!this._hiddenIndices[t]}getDataVisibility(t){return!this._hiddenIndices[t]}_updateVisibility(t,n,r){const o=r?"show":"hide",i=this.getDatasetMeta(t),a=i.controller._resolveAnimations(void 0,o);Ms(n)?(i.data[n].hidden=!r,this.update()):(this.setDatasetVisibility(t,r),a.update(i,{visible:r}),this.update(s=>s.datasetIndex===t?o:void 0))}hide(t,n){this._updateVisibility(t,n,!1)}show(t,n){this._updateVisibility(t,n,!0)}_destroyDatasetMeta(t){const n=this._metasets[t];n&&n.controller&&n.controller._destroy(),delete this._metasets[t]}_stop(){let t,n;for(this.stop(),qi.remove(this),t=0,n=this.data.datasets.length;t<n;++t)this._destroyDatasetMeta(t)}destroy(){this.notifyPlugins("beforeDestroy");const{canvas:t,ctx:n}=this;this._stop(),this.config.clearCache(),t&&(this.unbindEvents(),uy(t,n),this.platform.releaseContext(n),this.canvas=null,this.ctx=null),delete Uc[this.id],this.notifyPlugins("afterDestroy")}toBase64Image(...t){return this.canvas.toDataURL(...t)}bindEvents(){this.bindUserEvents(),this.options.responsive?this.bindResponsiveEvents():this.attached=!0}bindUserEvents(){const t=this._listeners,n=this.platform,r=(i,a)=>{n.addEventListener(this,i,a),t[i]=a},o=(i,a,s)=>{i.offsetX=a,i.offsetY=s,this._eventHandler(i)};J1(this.options.events,i=>r(i,o))}bindResponsiveEvents(){this._responsiveListeners||(this._responsiveListeners={});const t=this._responsiveListeners,n=this.platform,r=(l,u)=>{n.addEventListener(this,l,u),t[l]=u},o=(l,u)=>{t[l]&&(n.removeEventListener(this,l,u),delete t[l])},i=(l,u)=>{this.canvas&&this.resize(l,u)};let a;const s=()=>{o("attach",s),this.attached=!0,this.resize(),r("resize",i),r("detach",a)};a=()=>{this.attached=!1,o("resize",i),this._stop(),this._resize(0,0),r("attach",s)},n.isAttached(this.canvas)?s():a()}unbindEvents(){J1(this._listeners,(t,n)=>{this.platform.removeEventListener(this,n,t)}),this._listeners={},J1(this._responsiveListeners,(t,n)=>{this.platform.removeEventListener(this,n,t)}),this._responsiveListeners=void 0}updateHoverStyle(t,n,r){const o=r?"set":"remove";let i,a,s,l;for(n==="dataset"&&(i=this.getDatasetMeta(t[0].datasetIndex),i.controller["_"+o+"DatasetHoverStyle"]()),s=0,l=t.length;s<l;++s){a=t[s];const u=a&&this.getDatasetMeta(a.datasetIndex).controller;u&&u[o+"HoverStyle"](a.element,a.datasetIndex,a.index)}}getActiveElements(){return this._active||[]}setActiveElements(t){const n=this._active||[],r=t.map(({datasetIndex:i,index:a})=>{const s=this.getDatasetMeta(i);if(!s)throw new Error("No dataset found at index "+i);return{datasetIndex:i,element:s.data[a],index:a}});!B8(r,n)&&(this._active=r,this._lastEvent=null,this._updateHoverStyles(r,n))}notifyPlugins(t,n,r){return this._plugins.notify(this,t,n,r)}isPluginEnabled(t){return this._plugins._cache.filter(n=>n.plugin.id===t).length===1}_updateHoverStyles(t,n,r){const o=this.options.hover,i=(l,u)=>l.filter(d=>!u.some(h=>d.datasetIndex===h.datasetIndex&&d.index===h.index)),a=i(n,t),s=r?t:i(t,n);a.length&&this.updateHoverStyle(a,o.mode,!1),s.length&&o.mode&&this.updateHoverStyle(s,o.mode,!0)}_eventHandler(t,n){const r={event:t,replay:n,cancelable:!0,inChartArea:this.isPointInArea(t)},o=a=>(a.options.events||this.options.events).includes(t.native.type);if(this.notifyPlugins("beforeEvent",r,o)===!1)return;const i=this._handleEvent(t,n,r.inChartArea);return r.cancelable=!1,this.notifyPlugins("afterEvent",r,o),(i||r.changed)&&this.render(),this}_handleEvent(t,n,r){const{_active:o=[],options:i}=this,a=n,s=this._getActiveElements(t,o,r,a),l=jie(t),u=k3e(t,this._lastEvent,r,l);r&&(this._lastEvent=null,C0(i.onHover,[t,s,this],this),l&&C0(i.onClick,[t,s,this],this));const d=!B8(s,o);return(d||n)&&(this._active=s,this._updateHoverStyles(s,o,n)),this._lastEvent=u,d}_getActiveElements(t,n,r,o){if(t.type==="mouseout")return[];if(!r)return n;const i=this.options.hover;return this.getElementsAtEventForMode(t,i.mode,i,o)}},xn(ja,"defaults",N0),xn(ja,"instances",Uc),xn(ja,"overrides",n3),xn(ja,"registry",hi),xn(ja,"version",R3e),xn(ja,"getChart",Zy),ja);function $y(){return J1(Z5.instances,e=>e._plugins.invalidate())}function N3e(e,t,n){const{startAngle:r,pixelMargin:o,x:i,y:a,outerRadius:s,innerRadius:l}=t;let u=o/s;e.beginPath(),e.arc(i,a,s,r-u,n+u),l>o?(u=o/l,e.arc(i,a,l,n+u,r-u,!0)):e.arc(i,a,o,n+Q0,r-Q0),e.closePath(),e.clip()}function T3e(e){return Ng(e,["outerStart","outerEnd","innerStart","innerEnd"])}function F3e(e,t,n,r){const o=T3e(e.options.borderRadius),i=(n-t)/2,a=Math.min(i,r*t/2),s=l=>{const u=(n-Math.min(i,l))*r/2;return R2(l,0,Math.min(i,u))};return{outerStart:s(o.outerStart),outerEnd:s(o.outerEnd),innerStart:R2(o.innerStart,0,a),innerEnd:R2(o.innerEnd,0,a)}}function $3(e,t,n,r){return{x:n+e*Math.cos(t),y:r+e*Math.sin(t)}}function N8(e,t,n,r,o,i){const{x:a,y:s,startAngle:l,pixelMargin:u,innerRadius:d}=t,h=Math.max(t.outerRadius+r+n-u,0),C=d>0?d+r+n+u:0;let m=0;const A=o-l;if(r){const T=d>0?d-r:0,F=h>0?h-r:0,$=(T+F)/2,Z=$!==0?A*$/($+r):A;m=(A-Z)/2}const v=Math.max(.001,A*h-n/z0)/h,p=(A-v)/2,_=l+p+m,w=o-p-m,{outerStart:x,outerEnd:E,innerStart:S,innerEnd:M}=F3e(t,C,h,w-_),H=h-x,O=h-E,D=_+x/H,P=w-E/O,k=C+S,N=C+M,V=_+S/k,j=w-M/N;if(e.beginPath(),i){const T=(D+P)/2;if(e.arc(a,s,h,D,T),e.arc(a,s,h,T,P),E>0){const q=$3(O,P,a,s);e.arc(q.x,q.y,E,P,w+Q0)}const F=$3(N,w,a,s);if(e.lineTo(F.x,F.y),M>0){const q=$3(N,j,a,s);e.arc(q.x,q.y,M,w+Q0,j+Math.PI)}const $=(w-M/C+(_+S/C))/2;if(e.arc(a,s,C,w-M/C,$,!0),e.arc(a,s,C,$,_+S/C,!0),S>0){const q=$3(k,V,a,s);e.arc(q.x,q.y,S,V+Math.PI,_-Q0)}const Z=$3(H,_,a,s);if(e.lineTo(Z.x,Z.y),x>0){const q=$3(H,D,a,s);e.arc(q.x,q.y,x,_-Q0,D)}}else{e.moveTo(a,s);const T=Math.cos(D)*h+a,F=Math.sin(D)*h+s;e.lineTo(T,F);const $=Math.cos(P)*h+a,Z=Math.sin(P)*h+s;e.lineTo($,Z)}e.closePath()}function V3e(e,t,n,r,o){const{fullCircles:i,startAngle:a,circumference:s}=t;let l=t.endAngle;if(i){N8(e,t,n,r,l,o);for(let u=0;u<i;++u)e.fill();isNaN(s)||(l=a+(s%w0||w0))}return N8(e,t,n,r,l,o),e.fill(),l}function j3e(e,t,n,r,o){const{fullCircles:i,startAngle:a,circumference:s,options:l}=t,{borderWidth:u,borderJoinStyle:d,borderDash:h,borderDashOffset:C}=l,m=l.borderAlign==="inner";if(!u)return;e.setLineDash(h||[]),e.lineDashOffset=C,m?(e.lineWidth=u*2,e.lineJoin=d||"round"):(e.lineWidth=u,e.lineJoin=d||"bevel");let A=t.endAngle;if(i){N8(e,t,n,r,A,o);for(let v=0;v<i;++v)e.stroke();isNaN(s)||(A=a+(s%w0||w0))}m&&N3e(e,t,A),i||(N8(e,t,n,r,A,o),e.stroke())}class G4 extends g9{constructor(n){super();xn(this,"circumference");xn(this,"endAngle");xn(this,"fullCircles");xn(this,"innerRadius");xn(this,"outerRadius");xn(this,"pixelMargin");xn(this,"startAngle");this.options=void 0,this.circumference=void 0,this.startAngle=void 0,this.endAngle=void 0,this.innerRadius=void 0,this.outerRadius=void 0,this.pixelMargin=0,this.fullCircles=0,n&&Object.assign(this,n)}inRange(n,r,o){const i=this.getProps(["x","y"],o),{angle:a,distance:s}=gH(i,{x:n,y:r}),{startAngle:l,endAngle:u,innerRadius:d,outerRadius:h,circumference:C}=this.getProps(["startAngle","endAngle","innerRadius","outerRadius","circumference"],o),m=(this.options.spacing+this.options.borderWidth)/2,A=C1(C,u-l),v=Ls(a,l,u)&&l!==u,p=A>=w0||v,_=sa(s,d+m,h+m);return p&&_}getCenterPoint(n){const{x:r,y:o,startAngle:i,endAngle:a,innerRadius:s,outerRadius:l}=this.getProps(["x","y","startAngle","endAngle","innerRadius","outerRadius"],n),{offset:u,spacing:d}=this.options,h=(i+a)/2,C=(s+l+d+u)/2;return{x:r+Math.cos(h)*C,y:o+Math.sin(h)*C}}tooltipPosition(n){return this.getCenterPoint(n)}draw(n){const{options:r,circumference:o}=this,i=(r.offset||0)/4,a=(r.spacing||0)/2,s=r.circular;if(this.pixelMargin=r.borderAlign==="inner"?.33:0,this.fullCircles=o>w0?Math.floor(o/w0):0,o===0||this.innerRadius<0||this.outerRadius<0)return;n.save();const l=(this.startAngle+this.endAngle)/2;n.translate(Math.cos(l)*i,Math.sin(l)*i);const u=1-Math.sin(Math.min(z0,o||0)),d=i*u;n.fillStyle=r.backgroundColor,n.strokeStyle=r.borderColor,V3e(n,this,d,a,s),j3e(n,this,d,a,s),n.restore()}}xn(G4,"id","arc"),xn(G4,"defaults",{borderAlign:"center",borderColor:"#fff",borderDash:[],borderDashOffset:0,borderJoinStyle:void 0,borderRadius:0,borderWidth:2,offset:0,spacing:0,angle:void 0,circular:!0}),xn(G4,"defaultRoutes",{backgroundColor:"backgroundColor"}),xn(G4,"descriptors",{_scriptable:!0,_indexable:n=>n!=="borderDash"});function WH(e,t,n=t){e.lineCap=C1(n.borderCapStyle,t.borderCapStyle),e.setLineDash(C1(n.borderDash,t.borderDash)),e.lineDashOffset=C1(n.borderDashOffset,t.borderDashOffset),e.lineJoin=C1(n.borderJoinStyle,t.borderJoinStyle),e.lineWidth=C1(n.borderWidth,t.borderWidth),e.strokeStyle=C1(n.borderColor,t.borderColor)}function z3e(e,t,n){e.lineTo(n.x,n.y)}function U3e(e){return e.stepped?hae:e.tension||e.cubicInterpolationMode==="monotone"?Cae:z3e}function GH(e,t,n={}){const r=e.length,{start:o=0,end:i=r-1}=n,{start:a,end:s}=t,l=Math.max(o,a),u=Math.min(i,s),d=o<a&&i<a||o>s&&i>s;return{count:r,start:l,loop:t.loop,ilen:u<l&&!d?r+u-l:u-l}}function Z3e(e,t,n,r){const{points:o,options:i}=t,{count:a,start:s,loop:l,ilen:u}=GH(o,n,r),d=U3e(i);let{move:h=!0,reverse:C}=r||{},m,A,v;for(m=0;m<=u;++m)A=o[(s+(C?u-m:m))%a],!A.skip&&(h?(e.moveTo(A.x,A.y),h=!1):d(e,v,A,C,i.stepped),v=A);return l&&(A=o[(s+(C?u:0))%a],d(e,v,A,C,i.stepped)),!!l}function $3e(e,t,n,r){const o=t.points,{count:i,start:a,ilen:s}=GH(o,n,r),{move:l=!0,reverse:u}=r||{};let d=0,h=0,C,m,A,v,p,_;const w=E=>(a+(u?s-E:E))%i,x=()=>{v!==p&&(e.lineTo(d,p),e.lineTo(d,v),e.lineTo(d,_))};for(l&&(m=o[w(0)],e.moveTo(m.x,m.y)),C=0;C<=s;++C){if(m=o[w(C)],m.skip)continue;const E=m.x,S=m.y,M=E|0;M===A?(S<v?v=S:S>p&&(p=S),d=(h*d+E)/++h):(x(),e.lineTo(E,S),A=M,h=0,v=p=S),_=S}x()}function Sh(e){const t=e.options,n=t.borderDash&&t.borderDash.length;return!e._decimated&&!e._loop&&!t.tension&&t.cubicInterpolationMode!=="monotone"&&!t.stepped&&!n?$3e:Z3e}function K3e(e){return e.stepped?Kae:e.tension||e.cubicInterpolationMode==="monotone"?Qae:j9}function Q3e(e,t,n,r){let o=t._path;o||(o=t._path=new Path2D,t.path(o,n,r)&&o.closePath()),WH(e,t.options),e.stroke(o)}function W3e(e,t,n,r){const{segments:o,options:i}=t,a=Sh(t);for(const s of o)WH(e,i,s.style),e.beginPath(),a(e,t,s,{start:n,end:n+r-1})&&e.closePath(),e.stroke()}const G3e=typeof Path2D=="function";function Y3e(e,t,n,r){G3e&&!t.options.segment?Q3e(e,t,n,r):W3e(e,t,n,r)}class Ya extends g9{constructor(t){super(),this.animated=!0,this.options=void 0,this._chart=void 0,this._loop=void 0,this._fullLoop=void 0,this._path=void 0,this._points=void 0,this._segments=void 0,this._decimated=!1,this._pointsUpdated=!1,this._datasetIndex=void 0,t&&Object.assign(this,t)}updateControlPoints(t,n){const r=this.options;if((r.tension||r.cubicInterpolationMode==="monotone")&&!r.stepped&&!this._pointsUpdated){const o=r.spanGaps?this._loop:this._fullLoop;Tae(this._points,r,t,o,n),this._pointsUpdated=!0}}set points(t){this._points=t,delete this._segments,delete this._path,this._pointsUpdated=!1}get points(){return this._points}get segments(){return this._segments||(this._segments=Jae(this,this.options.segment))}first(){const t=this.segments,n=this.points;return t.length&&n[t[0].start]}last(){const t=this.segments,n=this.points,r=t.length;return r&&n[t[r-1].end]}interpolate(t,n){const r=this.options,o=t[n],i=this.points,a=DH(this,{property:n,start:o,end:o});if(!a.length)return;const s=[],l=K3e(r);let u,d;for(u=0,d=a.length;u<d;++u){const{start:h,end:C}=a[u],m=i[h],A=i[C];if(m===A){s.push(m);continue}const v=Math.abs((o-m[n])/(A[n]-m[n])),p=l(m,A,v,r.stepped);p[n]=t[n],s.push(p)}return s.length===1?s[0]:s}pathSegment(t,n,r){return Sh(this)(t,this,n,r)}path(t,n,r){const o=this.segments,i=Sh(this);let a=this._loop;n=n||0,r=r||this.points.length-n;for(const s of o)a&=i(t,this,s,{start:n,end:n+r-1});return!!a}draw(t,n,r,o){const i=this.options||{};(this.points||[]).length&&i.borderWidth&&(t.save(),Y3e(t,this,r,o),t.restore()),this.animated&&(this._pointsUpdated=!1,this._path=void 0)}}xn(Ya,"id","line"),xn(Ya,"defaults",{borderCapStyle:"butt",borderDash:[],borderDashOffset:0,borderJoinStyle:"miter",borderWidth:3,capBezierPoints:!0,cubicInterpolationMode:"default",fill:!1,spanGaps:!1,stepped:!1,tension:0}),xn(Ya,"defaultRoutes",{backgroundColor:"backgroundColor",borderColor:"borderColor"}),xn(Ya,"descriptors",{_scriptable:!0,_indexable:t=>t!=="borderDash"&&t!=="fill"});function Ky(e,t,n,r){const o=e.options,{[n]:i}=e.getProps([n],r);return Math.abs(t-i)<o.radius+o.hitRadius}class Zc extends g9{constructor(n){super();xn(this,"parsed");xn(this,"skip");xn(this,"stop");this.options=void 0,this.parsed=void 0,this.skip=void 0,this.stop=void 0,n&&Object.assign(this,n)}inRange(n,r,o){const i=this.options,{x:a,y:s}=this.getProps(["x","y"],o);return Math.pow(n-a,2)+Math.pow(r-s,2)<Math.pow(i.hitRadius+i.radius,2)}inXRange(n,r){return Ky(this,n,"x",r)}inYRange(n,r){return Ky(this,n,"y",r)}getCenterPoint(n){const{x:r,y:o}=this.getProps(["x","y"],n);return{x:r,y:o}}size(n){n=n||this.options||{};let r=n.radius||0;r=Math.max(r,r&&n.hoverRadius||0);const o=r&&n.borderWidth||0;return(r+o)*2}draw(n,r){const o=this.options;this.skip||o.radius<.1||!Bs(this,r,this.size(o)/2)||(n.strokeStyle=o.borderColor,n.lineWidth=o.borderWidth,n.fillStyle=o.backgroundColor,wh(n,o,this.x,this.y))}getRange(){const n=this.options||{};return n.radius+n.hitRadius}}xn(Zc,"id","point"),xn(Zc,"defaults",{borderWidth:1,hitRadius:1,hoverBorderWidth:1,hoverRadius:4,pointStyle:"circle",radius:3,rotation:0}),xn(Zc,"defaultRoutes",{backgroundColor:"backgroundColor",borderColor:"borderColor"});function YH(e,t){const{x:n,y:r,base:o,width:i,height:a}=e.getProps(["x","y","base","width","height"],t);let s,l,u,d,h;return e.horizontal?(h=a/2,s=Math.min(n,o),l=Math.max(n,o),u=r-h,d=r+h):(h=i/2,s=n-h,l=n+h,u=Math.min(r,o),d=Math.max(r,o)),{left:s,top:u,right:l,bottom:d}}function qa(e,t,n,r){return e?0:R2(t,n,r)}function q3e(e,t,n){const r=e.options.borderWidth,o=e.borderSkipped,i=_H(r);return{t:qa(o.top,i.top,0,n),r:qa(o.right,i.right,0,t),b:qa(o.bottom,i.bottom,0,n),l:qa(o.left,i.left,0,t)}}function X3e(e,t,n){const{enableBorderRadius:r}=e.getProps(["enableBorderRadius"]),o=e.options.borderRadius,i=u5(o),a=Math.min(t,n),s=e.borderSkipped,l=r||y1(o);return{topLeft:qa(!l||s.top||s.left,i.topLeft,0,a),topRight:qa(!l||s.top||s.right,i.topRight,0,a),bottomLeft:qa(!l||s.bottom||s.left,i.bottomLeft,0,a),bottomRight:qa(!l||s.bottom||s.right,i.bottomRight,0,a)}}function J3e(e){const t=YH(e),n=t.right-t.left,r=t.bottom-t.top,o=q3e(e,n/2,r/2),i=X3e(e,n/2,r/2);return{outer:{x:t.left,y:t.top,w:n,h:r,radius:i},inner:{x:t.left+o.l,y:t.top+o.t,w:n-o.l-o.r,h:r-o.t-o.b,radius:{topLeft:Math.max(0,i.topLeft-Math.max(o.t,o.l)),topRight:Math.max(0,i.topRight-Math.max(o.t,o.r)),bottomLeft:Math.max(0,i.bottomLeft-Math.max(o.b,o.l)),bottomRight:Math.max(0,i.bottomRight-Math.max(o.b,o.r))}}}}function nf(e,t,n,r){const o=t===null,i=n===null,s=e&&!(o&&i)&&YH(e,r);return s&&(o||sa(t,s.left,s.right))&&(i||sa(n,s.top,s.bottom))}function e5e(e){return e.topLeft||e.topRight||e.bottomLeft||e.bottomRight}function t5e(e,t){e.rect(t.x,t.y,t.w,t.h)}function rf(e,t,n={}){const r=e.x!==n.x?-t:0,o=e.y!==n.y?-t:0,i=(e.x+e.w!==n.x+n.w?t:0)-r,a=(e.y+e.h!==n.y+n.h?t:0)-o;return{x:e.x+r,y:e.y+o,w:e.w+i,h:e.h+a,radius:e.radius}}class $c extends g9{constructor(t){super(),this.options=void 0,this.horizontal=void 0,this.base=void 0,this.width=void 0,this.height=void 0,this.inflateAmount=void 0,t&&Object.assign(this,t)}draw(t){const{inflateAmount:n,options:{borderColor:r,backgroundColor:o}}=this,{inner:i,outer:a}=J3e(this),s=e5e(a.radius)?D8:t5e;t.save(),(a.w!==i.w||a.h!==i.h)&&(t.beginPath(),s(t,rf(a,n,i)),t.clip(),s(t,rf(i,-n,a)),t.fillStyle=r,t.fill("evenodd")),t.beginPath(),s(t,rf(i,n)),t.fillStyle=o,t.fill(),t.restore()}inRange(t,n,r){return nf(this,t,n,r)}inXRange(t,n){return nf(this,t,null,n)}inYRange(t,n){return nf(this,null,t,n)}getCenterPoint(t){const{x:n,y:r,base:o,horizontal:i}=this.getProps(["x","y","base","horizontal"],t);return{x:i?(n+o)/2:n,y:i?r:(r+o)/2}}getRange(t){return t==="x"?this.width/2:this.height/2}}xn($c,"id","bar"),xn($c,"defaults",{borderSkipped:"start",borderWidth:0,borderRadius:0,inflateAmount:"auto",pointStyle:void 0}),xn($c,"defaultRoutes",{backgroundColor:"backgroundColor",borderColor:"borderColor"});function n5e(e,t,n){const r=e.segments,o=e.points,i=t.points,a=[];for(const s of r){let{start:l,end:u}=s;u=Zg(l,u,o);const d=Mh(n,o[l],o[u],s.loop);if(!t.segments){a.push({source:s,target:d,start:o[l],end:o[u]});continue}const h=DH(t,d);for(const C of h){const m=Mh(n,i[C.start],i[C.end],C.loop),A=IH(s,o,m);for(const v of A)a.push({source:v,target:C,start:{[n]:Qy(d,m,"start",Math.max)},end:{[n]:Qy(d,m,"end",Math.min)}})}}return a}function Mh(e,t,n,r){if(r)return;let o=t[e],i=n[e];return e==="angle"&&(o=gi(o),i=gi(i)),{property:e,start:o,end:i}}function r5e(e,t){const{x:n=null,y:r=null}=e||{},o=t.points,i=[];return t.segments.forEach(({start:a,end:s})=>{s=Zg(a,s,o);const l=o[a],u=o[s];r!==null?(i.push({x:l.x,y:r}),i.push({x:u.x,y:r})):n!==null&&(i.push({x:n,y:l.y}),i.push({x:n,y:u.y}))}),i}function Zg(e,t,n){for(;t>e;t--){const r=n[t];if(!isNaN(r.x)&&!isNaN(r.y))break}return t}function Qy(e,t,n,r){return e&&t?r(e[n],t[n]):e?e[n]:t?t[n]:0}function qH(e,t){let n=[],r=!1;return K0(e)?(r=!0,n=e):n=r5e(e,t),n.length?new Ya({points:n,options:{tension:0},_loop:r,_fullLoop:r}):null}function Wy(e){return e&&e.fill!==!1}function o5e(e,t,n){let o=e[t].fill;const i=[t];let a;if(!n)return o;for(;o!==!1&&i.indexOf(o)===-1;){if(!P2(o))return o;if(a=e[o],!a)return!1;if(a.visible)return o;i.push(o),o=a.fill}return!1}function i5e(e,t,n){const r=c5e(e);if(y1(r))return isNaN(r.value)?!1:r;let o=parseFloat(r);return P2(o)&&Math.floor(o)===o?a5e(r[0],t,o,n):["origin","start","end","stack","shape"].indexOf(r)>=0&&r}function a5e(e,t,n,r){return(e==="-"||e==="+")&&(n=t+n),n===t||n<0||n>=r?!1:n}function s5e(e,t){let n=null;return e==="start"?n=t.bottom:e==="end"?n=t.top:y1(e)?n=t.getPixelForValue(e.value):t.getBasePixel&&(n=t.getBasePixel()),n}function l5e(e,t,n){let r;return e==="start"?r=n:e==="end"?r=t.options.reverse?t.min:t.max:y1(e)?r=e.value:r=t.getBaseValue(),r}function c5e(e){const t=e.options,n=t.fill;let r=C1(n&&n.target,n);return r===void 0&&(r=!!t.backgroundColor),r===!1||r===null?!1:r===!0?"origin":r}function u5e(e){const{scale:t,index:n,line:r}=e,o=[],i=r.segments,a=r.points,s=d5e(t,n);s.push(qH({x:null,y:t.bottom},r));for(let l=0;l<i.length;l++){const u=i[l];for(let d=u.start;d<=u.end;d++)f5e(o,a[d],s)}return new Ya({points:o,options:{}})}function d5e(e,t){const n=[],r=e.getMatchingVisibleMetas("line");for(let o=0;o<r.length;o++){const i=r[o];if(i.index===t)break;i.hidden||n.unshift(i.dataset)}return n}function f5e(e,t,n){const r=[];for(let o=0;o<n.length;o++){const i=n[o],{first:a,last:s,point:l}=h5e(i,t,"x");if(!(!l||a&&s)){if(a)r.unshift(l);else if(e.push(l),!s)break}}e.push(...r)}function h5e(e,t,n){const r=e.interpolate(t,n);if(!r)return{};const o=r[n],i=e.segments,a=e.points;let s=!1,l=!1;for(let u=0;u<i.length;u++){const d=i[u],h=a[d.start][n],C=a[d.end][n];if(sa(o,h,C)){s=o===h,l=o===C;break}}return{first:s,last:l,point:r}}class XH{constructor(t){this.x=t.x,this.y=t.y,this.radius=t.radius}pathSegment(t,n,r){const{x:o,y:i,radius:a}=this;return n=n||{start:0,end:w0},t.arc(o,i,a,n.end,n.start,!0),!r.bounds}interpolate(t){const{x:n,y:r,radius:o}=this,i=t.angle;return{x:n+Math.cos(i)*o,y:r+Math.sin(i)*o,angle:i}}}function C5e(e){const{chart:t,fill:n,line:r}=e;if(P2(n))return g5e(t,n);if(n==="stack")return u5e(e);if(n==="shape")return!0;const o=m5e(e);return o instanceof XH?o:qH(o,r)}function g5e(e,t){const n=e.getDatasetMeta(t);return n&&e.isDatasetVisible(t)?n.dataset:null}function m5e(e){return(e.scale||{}).getPointPositionForValue?A5e(e):p5e(e)}function p5e(e){const{scale:t={},fill:n}=e,r=s5e(n,t);if(P2(r)){const o=t.isHorizontal();return{x:o?r:null,y:o?null:r}}return null}function A5e(e){const{scale:t,fill:n}=e,r=t.options,o=t.getLabels().length,i=r.reverse?t.max:t.min,a=l5e(n,t,i),s=[];if(r.grid.circular){const l=t.getPointPositionForValue(0,i);return new XH({x:l.x,y:l.y,radius:t.getDistanceFromCenterForValue(a)})}for(let l=0;l<o;++l)s.push(t.getPointPositionForValue(l,a));return s}function of(e,t,n){const r=C5e(t),{chart:o,index:i,line:a,scale:s,axis:l}=t,u=a.options,d=u.fill,h=u.backgroundColor,{above:C=h,below:m=h}=d||{},A=o.getDatasetMeta(i),v=PH(o,A);r&&a.points.length&&(H7(e,n),v5e(e,{line:a,target:r,above:C,below:m,area:n,scale:s,axis:l,clip:v}),L7(e))}function v5e(e,t){const{line:n,target:r,above:o,below:i,area:a,scale:s,clip:l}=t,u=n._loop?"angle":t.axis;e.save(),u==="x"&&i!==o&&(Gy(e,r,a.top),Yy(e,{line:n,target:r,color:o,scale:s,property:u,clip:l}),e.restore(),e.save(),Gy(e,r,a.bottom)),Yy(e,{line:n,target:r,color:i,scale:s,property:u,clip:l}),e.restore()}function Gy(e,t,n){const{segments:r,points:o}=t;let i=!0,a=!1;e.beginPath();for(const s of r){const{start:l,end:u}=s,d=o[l],h=o[Zg(l,u,o)];i?(e.moveTo(d.x,d.y),i=!1):(e.lineTo(d.x,n),e.lineTo(d.x,d.y)),a=!!t.pathSegment(e,s,{move:a}),a?e.closePath():e.lineTo(h.x,n)}e.lineTo(t.first().x,n),e.closePath(),e.clip()}function Yy(e,t){const{line:n,target:r,property:o,color:i,scale:a,clip:s}=t,l=n5e(n,r,o);for(const{source:u,target:d,start:h,end:C}of l){const{style:{backgroundColor:m=i}={}}=u,A=r!==!0;e.save(),e.fillStyle=m,b5e(e,a,s,A&&Mh(o,h,C)),e.beginPath();const v=!!n.pathSegment(e,u);let p;if(A){v?e.closePath():qy(e,r,C,o);const _=!!r.pathSegment(e,d,{move:v,reverse:!0});p=v&&_,p||qy(e,r,h,o)}e.closePath(),e.fill(p?"evenodd":"nonzero"),e.restore()}}function b5e(e,t,n,r){const o=t.chart.chartArea,{property:i,start:a,end:s}=r||{};if(i==="x"||i==="y"){let l,u,d,h;i==="x"?(l=a,u=o.top,d=s,h=o.bottom):(l=o.left,u=a,d=o.right,h=s),e.beginPath(),n&&(l=Math.max(l,n.left),d=Math.min(d,n.right),u=Math.max(u,n.top),h=Math.min(h,n.bottom)),e.rect(l,u,d-l,h-u),e.clip()}}function qy(e,t,n,r){const o=t.interpolate(n,r);o&&e.lineTo(o.x,o.y)}var y5e={id:"filler",afterDatasetsUpdate(e,t,n){const r=(e.data.datasets||[]).length,o=[];let i,a,s,l;for(a=0;a<r;++a)i=e.getDatasetMeta(a),s=i.dataset,l=null,s&&s.options&&s instanceof Ya&&(l={visible:e.isDatasetVisible(a),index:a,fill:i5e(s,a,r),chart:e,axis:i.controller.options.indexAxis,scale:i.vScale,line:s}),i.$filler=l,o.push(l);for(a=0;a<r;++a)l=o[a],!(!l||l.fill===!1)&&(l.fill=o5e(o,a,n.propagate))},beforeDraw(e,t,n){const r=n.drawTime==="beforeDraw",o=e.getSortedVisibleDatasetMetas(),i=e.chartArea;for(let a=o.length-1;a>=0;--a){const s=o[a].$filler;s&&(s.line.updateControlPoints(i,s.axis),r&&s.fill&&of(e.ctx,s,i))}},beforeDatasetsDraw(e,t,n){if(n.drawTime!=="beforeDatasetsDraw")return;const r=e.getSortedVisibleDatasetMetas();for(let o=r.length-1;o>=0;--o){const i=r[o].$filler;Wy(i)&&of(e.ctx,i,e.chartArea)}},beforeDatasetDraw(e,t,n){const r=t.meta.$filler;!Wy(r)||n.drawTime!=="beforeDatasetDraw"||of(e.ctx,r,e.chartArea)},defaults:{propagate:!0,drawTime:"beforeDatasetDraw"}};const Xy=(e,t)=>{let{boxHeight:n=t,boxWidth:r=t}=e;return e.usePointStyle&&(n=Math.min(n,t),r=e.pointStyleWidth||Math.min(r,t)),{boxWidth:r,boxHeight:n,itemHeight:Math.max(t,n)}},w5e=(e,t)=>e!==null&&t!==null&&e.datasetIndex===t.datasetIndex&&e.index===t.index;class Jy extends g9{constructor(t){super(),this._added=!1,this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1,this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this.legendItems=void 0,this.columnSizes=void 0,this.lineWidths=void 0,this.maxHeight=void 0,this.maxWidth=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.height=void 0,this.width=void 0,this._margins=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,n,r){this.maxWidth=t,this.maxHeight=n,this._margins=r,this.setDimensions(),this.buildLabels(),this.fit()}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=this._margins.left,this.right=this.width):(this.height=this.maxHeight,this.top=this._margins.top,this.bottom=this.height)}buildLabels(){const t=this.options.labels||{};let n=C0(t.generateLabels,[this.chart],this)||[];t.filter&&(n=n.filter(r=>t.filter(r,this.chart.data))),t.sort&&(n=n.sort((r,o)=>t.sort(r,o,this.chart.data))),this.options.reverse&&n.reverse(),this.legendItems=n}fit(){const{options:t,ctx:n}=this;if(!t.display){this.width=this.height=0;return}const r=t.labels,o=dr(r.font),i=o.size,a=this._computeTitleHeight(),{boxWidth:s,itemHeight:l}=Xy(r,i);let u,d;n.font=o.string,this.isHorizontal()?(u=this.maxWidth,d=this._fitRows(a,i,s,l)+10):(d=this.maxHeight,u=this._fitCols(a,o,s,l)+10),this.width=Math.min(u,t.maxWidth||this.maxWidth),this.height=Math.min(d,t.maxHeight||this.maxHeight)}_fitRows(t,n,r,o){const{ctx:i,maxWidth:a,options:{labels:{padding:s}}}=this,l=this.legendHitBoxes=[],u=this.lineWidths=[0],d=o+s;let h=t;i.textAlign="left",i.textBaseline="middle";let C=-1,m=-d;return this.legendItems.forEach((A,v)=>{const p=r+n/2+i.measureText(A.text).width;(v===0||u[u.length-1]+p+2*s>a)&&(h+=d,u[u.length-(v>0?0:1)]=0,m+=d,C++),l[v]={left:0,top:m,row:C,width:p,height:o},u[u.length-1]+=p+s}),h}_fitCols(t,n,r,o){const{ctx:i,maxHeight:a,options:{labels:{padding:s}}}=this,l=this.legendHitBoxes=[],u=this.columnSizes=[],d=a-t;let h=s,C=0,m=0,A=0,v=0;return this.legendItems.forEach((p,_)=>{const{itemWidth:w,itemHeight:x}=x5e(r,n,i,p,o);_>0&&m+x+2*s>d&&(h+=C+s,u.push({width:C,height:m}),A+=C+s,v++,C=m=0),l[_]={left:A,top:m,col:v,width:w,height:x},C=Math.max(C,w),m+=x+s}),h+=C,u.push({width:C,height:m}),h}adjustHitBoxes(){if(!this.options.display)return;const t=this._computeTitleHeight(),{legendHitBoxes:n,options:{align:r,labels:{padding:o},rtl:i}}=this,a=d5(i,this.left,this.width);if(this.isHorizontal()){let s=0,l=Hr(r,this.left+o,this.right-this.lineWidths[s]);for(const u of n)s!==u.row&&(s=u.row,l=Hr(r,this.left+o,this.right-this.lineWidths[s])),u.top+=this.top+t+o,u.left=a.leftForLtr(a.x(l),u.width),l+=u.width+o}else{let s=0,l=Hr(r,this.top+t+o,this.bottom-this.columnSizes[s].height);for(const u of n)u.col!==s&&(s=u.col,l=Hr(r,this.top+t+o,this.bottom-this.columnSizes[s].height)),u.top=l,u.left+=this.left+o,u.left=a.leftForLtr(a.x(u.left),u.width),l+=u.height+o}}isHorizontal(){return this.options.position==="top"||this.options.position==="bottom"}draw(){if(this.options.display){const t=this.ctx;H7(t,this),this._draw(),L7(t)}}_draw(){const{options:t,columnSizes:n,lineWidths:r,ctx:o}=this,{align:i,labels:a}=t,s=N0.color,l=d5(t.rtl,this.left,this.width),u=dr(a.font),{padding:d}=a,h=u.size,C=h/2;let m;this.drawTitle(),o.textAlign=l.textAlign("left"),o.textBaseline="middle",o.lineWidth=.5,o.font=u.string;const{boxWidth:A,boxHeight:v,itemHeight:p}=Xy(a,h),_=function(M,H,O){if(isNaN(A)||A<=0||isNaN(v)||v<0)return;o.save();const D=C1(O.lineWidth,1);if(o.fillStyle=C1(O.fillStyle,s),o.lineCap=C1(O.lineCap,"butt"),o.lineDashOffset=C1(O.lineDashOffset,0),o.lineJoin=C1(O.lineJoin,"miter"),o.lineWidth=D,o.strokeStyle=C1(O.strokeStyle,s),o.setLineDash(C1(O.lineDash,[])),a.usePointStyle){const P={radius:v*Math.SQRT2/2,pointStyle:O.pointStyle,rotation:O.rotation,borderWidth:D},k=l.xPlus(M,A/2),N=H+C;xH(o,P,k,N,a.pointStyleWidth&&A)}else{const P=H+Math.max((h-v)/2,0),k=l.leftForLtr(M,A),N=u5(O.borderRadius);o.beginPath(),Object.values(N).some(V=>V!==0)?D8(o,{x:k,y:P,w:A,h:v,radius:N}):o.rect(k,P,A,v),o.fill(),D!==0&&o.stroke()}o.restore()},w=function(M,H,O){I8(o,O.text,M,H+p/2,u,{strikethrough:O.hidden,textAlign:l.textAlign(O.textAlign)})},x=this.isHorizontal(),E=this._computeTitleHeight();x?m={x:Hr(i,this.left+d,this.right-r[0]),y:this.top+d+E,line:0}:m={x:this.left+d,y:Hr(i,this.top+E+d,this.bottom-n[0].height),line:0},BH(this.ctx,t.textDirection);const S=p+d;this.legendItems.forEach((M,H)=>{o.strokeStyle=M.fontColor,o.fillStyle=M.fontColor;const O=o.measureText(M.text).width,D=l.textAlign(M.textAlign||(M.textAlign=a.textAlign)),P=A+C+O;let k=m.x,N=m.y;l.setWidth(this.width),x?H>0&&k+P+d>this.right&&(N=m.y+=S,m.line++,k=m.x=Hr(i,this.left+d,this.right-r[m.line])):H>0&&N+S>this.bottom&&(k=m.x=k+n[m.line].width+d,m.line++,N=m.y=Hr(i,this.top+E+d,this.bottom-n[m.line].height));const V=l.x(k);if(_(V,N,M),k=tae(D,k+A+C,x?k+P:this.right,t.rtl),w(l.x(k),N,M),x)m.x+=P+d;else if(typeof M.text!="string"){const j=u.lineHeight;m.y+=JH(M,j)+d}else m.y+=S}),OH(this.ctx,t.textDirection)}drawTitle(){const t=this.options,n=t.title,r=dr(n.font),o=ko(n.padding);if(!n.display)return;const i=d5(t.rtl,this.left,this.width),a=this.ctx,s=n.position,l=r.size/2,u=o.top+l;let d,h=this.left,C=this.width;if(this.isHorizontal())C=Math.max(...this.lineWidths),d=this.top+u,h=Hr(t.align,h,this.right-C);else{const A=this.columnSizes.reduce((v,p)=>Math.max(v,p.height),0);d=u+Hr(t.align,this.top,this.bottom-A-t.labels.padding-this._computeTitleHeight())}const m=Hr(s,h,h+C);a.textAlign=i.textAlign(bH(s)),a.textBaseline="middle",a.strokeStyle=n.color,a.fillStyle=n.color,a.font=r.string,I8(a,n.text,m,d,r)}_computeTitleHeight(){const t=this.options.title,n=dr(t.font),r=ko(t.padding);return t.display?n.lineHeight+r.height:0}_getLegendItemAt(t,n){let r,o,i;if(sa(t,this.left,this.right)&&sa(n,this.top,this.bottom)){for(i=this.legendHitBoxes,r=0;r<i.length;++r)if(o=i[r],sa(t,o.left,o.left+o.width)&&sa(n,o.top,o.top+o.height))return this.legendItems[r]}return null}handleEvent(t){const n=this.options;if(!S5e(t.type,n))return;const r=this._getLegendItemAt(t.x,t.y);if(t.type==="mousemove"||t.type==="mouseout"){const o=this._hoveredItem,i=w5e(o,r);o&&!i&&C0(n.onLeave,[t,o,this],this),this._hoveredItem=r,r&&!i&&C0(n.onHover,[t,r,this],this)}else r&&C0(n.onClick,[t,r,this],this)}}function x5e(e,t,n,r,o){const i=_5e(r,e,t,n),a=E5e(o,r,t.lineHeight);return{itemWidth:i,itemHeight:a}}function _5e(e,t,n,r){let o=e.text;return o&&typeof o!="string"&&(o=o.reduce((i,a)=>i.length>a.length?i:a)),t+n.size/2+r.measureText(o).width}function E5e(e,t,n){let r=e;return typeof t.text!="string"&&(r=JH(t,n)),r}function JH(e,t){const n=e.text?e.text.length:0;return t*n}function S5e(e,t){return!!((e==="mousemove"||e==="mouseout")&&(t.onHover||t.onLeave)||t.onClick&&(e==="click"||e==="mouseup"))}var $g={id:"legend",_element:Jy,start(e,t,n){const r=e.legend=new Jy({ctx:e.ctx,options:n,chart:e});Ga.configure(e,r,n),Ga.addBox(e,r)},stop(e){Ga.removeBox(e,e.legend),delete e.legend},beforeUpdate(e,t,n){const r=e.legend;Ga.configure(e,r,n),r.options=n},afterUpdate(e){const t=e.legend;t.buildLabels(),t.adjustHitBoxes()},afterEvent(e,t){t.replay||e.legend.handleEvent(t.event)},defaults:{display:!0,position:"top",align:"center",fullSize:!0,reverse:!1,weight:1e3,onClick(e,t,n){const r=t.datasetIndex,o=n.chart;o.isDatasetVisible(r)?(o.hide(r),t.hidden=!0):(o.show(r),t.hidden=!1)},onHover:null,onLeave:null,labels:{color:e=>e.chart.options.color,boxWidth:40,padding:10,generateLabels(e){const t=e.data.datasets,{labels:{usePointStyle:n,pointStyle:r,textAlign:o,color:i,useBorderRadius:a,borderRadius:s}}=e.legend.options;return e._getSortedDatasetMetas().map(l=>{const u=l.controller.getStyle(n?0:void 0),d=ko(u.borderWidth);return{text:t[l.index].label,fillStyle:u.backgroundColor,fontColor:i,hidden:!l.visible,lineCap:u.borderCapStyle,lineDash:u.borderDash,lineDashOffset:u.borderDashOffset,lineJoin:u.borderJoinStyle,lineWidth:(d.width+d.height)/4,strokeStyle:u.borderColor,pointStyle:r||u.pointStyle,rotation:u.rotation,textAlign:o||u.textAlign,borderRadius:a&&(s||u.borderRadius),datasetIndex:l.index}},this)}},title:{color:e=>e.chart.options.color,display:!1,position:"center",text:""}},descriptors:{_scriptable:e=>!e.startsWith("on"),labels:{_scriptable:e=>!["generateLabels","filter","sort"].includes(e)}}};const Y4={average(e){if(!e.length)return!1;let t,n,r=new Set,o=0,i=0;for(t=0,n=e.length;t<n;++t){const s=e[t].element;if(s&&s.hasValue()){const l=s.tooltipPosition();r.add(l.x),o+=l.y,++i}}return i===0||r.size===0?!1:{x:[...r].reduce((s,l)=>s+l)/r.size,y:o/i}},nearest(e,t){if(!e.length)return!1;let n=t.x,r=t.y,o=Number.POSITIVE_INFINITY,i,a,s;for(i=0,a=e.length;i<a;++i){const l=e[i].element;if(l&&l.hasValue()){const u=l.getCenterPoint(),d=bh(t,u);d<o&&(o=d,s=l)}}if(s){const l=s.tooltipPosition();n=l.x,r=l.y}return{x:n,y:r}}};function ui(e,t){return t&&(K0(t)?Array.prototype.push.apply(e,t):e.push(t)),e}function Xi(e){return(typeof e=="string"||e instanceof String)&&e.indexOf(`
|
|
355
355
|
`)>-1?e.split(`
|
|
356
|
-
`):e}function M5e(e,t){const{element:n,datasetIndex:r,index:o}=t,i=e.getDatasetMeta(r).controller,{label:a,value:s}=i.getLabelAndValue(o);return{chart:e,label:a,parsed:i.getParsed(o),raw:e.data.datasets[r].data[o],formattedValue:s,dataset:i.getDataset(),dataIndex:o,datasetIndex:r,element:n}}function ew(e,t){const n=e.chart.ctx,{body:r,footer:o,title:i}=e,{boxWidth:a,boxHeight:s}=t,l=dr(t.bodyFont),u=dr(t.titleFont),d=dr(t.footerFont),h=i.length,C=o.length,m=r.length,A=ko(t.padding);let v=A.height,p=0,_=r.reduce((E,S)=>E+S.before.length+S.lines.length+S.after.length,0);if(_+=e.beforeBody.length+e.afterBody.length,h&&(v+=h*u.lineHeight+(h-1)*t.titleSpacing+t.titleMarginBottom),_){const E=t.displayColors?Math.max(s,l.lineHeight):l.lineHeight;v+=m*E+(_-m)*l.lineHeight+(_-1)*t.bodySpacing}C&&(v+=t.footerMarginTop+C*d.lineHeight+(C-1)*t.footerSpacing);let w=0;const x=function(E){p=Math.max(p,n.measureText(E).width+w)};return n.save(),n.font=u.string,J1(e.title,x),n.font=l.string,J1(e.beforeBody.concat(e.afterBody),x),w=t.displayColors?a+2+t.boxPadding:0,J1(r,E=>{J1(E.before,x),J1(E.lines,x),J1(E.after,x)}),w=0,n.font=d.string,J1(e.footer,x),n.restore(),p+=A.width,{width:p,height:v}}function H5e(e,t){const{y:n,height:r}=t;return n<r/2?"top":n>e.height-r/2?"bottom":"center"}function L5e(e,t,n,r){const{x:o,width:i}=r,a=n.caretSize+n.caretPadding;if(e==="left"&&o+i+a>t.width||e==="right"&&o-i-a<0)return!0}function B5e(e,t,n,r){const{x:o,width:i}=n,{width:a,chartArea:{left:s,right:l}}=e;let u="center";return r==="center"?u=o<=(s+l)/2?"left":"right":o<=i/2?u="left":o>=a-i/2&&(u="right"),L5e(u,e,t,n)&&(u="center"),u}function tw(e,t,n){const r=n.yAlign||t.yAlign||H5e(e,n);return{xAlign:n.xAlign||t.xAlign||B5e(e,t,n,r),yAlign:r}}function O5e(e,t){let{x:n,width:r}=e;return t==="right"?n-=r:t==="center"&&(n-=r/2),n}function R5e(e,t,n){let{y:r,height:o}=e;return t==="top"?r+=n:t==="bottom"?r-=o+n:r-=o/2,r}function nw(e,t,n,r){const{caretSize:o,caretPadding:i,cornerRadius:a}=e,{xAlign:s,yAlign:l}=n,u=o+i,{topLeft:d,topRight:h,bottomLeft:C,bottomRight:m}=u5(a);let A=O5e(t,s);const v=R5e(t,l,u);return l==="center"?s==="left"?A+=u:s==="right"&&(A-=u):s==="left"?A-=Math.max(d,C)+o:s==="right"&&(A+=Math.max(h,m)+o),{x:R2(A,0,r.width-t.width),y:R2(v,0,r.height-t.height)}}function _6(e,t,n){const r=ko(n.padding);return t==="center"?e.x+e.width/2:t==="right"?e.x+e.width-r.right:e.x+r.left}function rw(e){return ui([],Xi(e))}function I5e(e,t,n){return C3(e,{tooltip:t,tooltipItems:n,type:"tooltip"})}function ow(e,t){const n=t&&t.dataset&&t.dataset.tooltip&&t.dataset.tooltip.callbacks;return n?e.override(n):e}const eL={beforeTitle:Wi,title(e){if(e.length>0){const t=e[0],n=t.chart.data.labels,r=n?n.length:0;if(this&&this.options&&this.options.mode==="dataset")return t.dataset.label||"";if(t.label)return t.label;if(r>0&&t.dataIndex<r)return n[t.dataIndex]}return""},afterTitle:Wi,beforeBody:Wi,beforeLabel:Wi,label(e){if(this&&this.options&&this.options.mode==="dataset")return e.label+": "+e.formattedValue||e.formattedValue;let t=e.dataset.label||"";t&&(t+=": ");const n=e.formattedValue;return W1(n)||(t+=n),t},labelColor(e){const n=e.chart.getDatasetMeta(e.datasetIndex).controller.getStyle(e.dataIndex);return{borderColor:n.borderColor,backgroundColor:n.backgroundColor,borderWidth:n.borderWidth,borderDash:n.borderDash,borderDashOffset:n.borderDashOffset,borderRadius:0}},labelTextColor(){return this.options.bodyColor},labelPointStyle(e){const n=e.chart.getDatasetMeta(e.datasetIndex).controller.getStyle(e.dataIndex);return{pointStyle:n.pointStyle,rotation:n.rotation}},afterLabel:Wi,afterBody:Wi,beforeFooter:Wi,footer:Wi,afterFooter:Wi};function sr(e,t,n,r){const o=e[t].call(n,r);return typeof o>"u"?eL[t].call(n,r):o}var ah;let iw=(ah=class extends g9{constructor(t){super(),this.opacity=0,this._active=[],this._eventPosition=void 0,this._size=void 0,this._cachedAnimations=void 0,this._tooltipItems=[],this.$animations=void 0,this.$context=void 0,this.chart=t.chart,this.options=t.options,this.dataPoints=void 0,this.title=void 0,this.beforeBody=void 0,this.body=void 0,this.afterBody=void 0,this.footer=void 0,this.xAlign=void 0,this.yAlign=void 0,this.x=void 0,this.y=void 0,this.height=void 0,this.width=void 0,this.caretX=void 0,this.caretY=void 0,this.labelColors=void 0,this.labelPointStyles=void 0,this.labelTextColors=void 0}initialize(t){this.options=t,this._cachedAnimations=void 0,this.$context=void 0}_resolveAnimations(){const t=this._cachedAnimations;if(t)return t;const n=this.chart,r=this.options.setContext(this.getContext()),o=r.enabled&&n.options.animation&&r.animations,i=new kH(this.chart,o);return o._cacheable&&(this._cachedAnimations=Object.freeze(i)),i}getContext(){return this.$context||(this.$context=I5e(this.chart.getContext(),this,this._tooltipItems))}getTitle(t,n){const{callbacks:r}=n,o=sr(r,"beforeTitle",this,t),i=sr(r,"title",this,t),a=sr(r,"afterTitle",this,t);let s=[];return s=ui(s,Xi(o)),s=ui(s,Xi(i)),s=ui(s,Xi(a)),s}getBeforeBody(t,n){return rw(sr(n.callbacks,"beforeBody",this,t))}getBody(t,n){const{callbacks:r}=n,o=[];return J1(t,i=>{const a={before:[],lines:[],after:[]},s=ow(r,i);ui(a.before,Xi(sr(s,"beforeLabel",this,i))),ui(a.lines,sr(s,"label",this,i)),ui(a.after,Xi(sr(s,"afterLabel",this,i))),o.push(a)}),o}getAfterBody(t,n){return rw(sr(n.callbacks,"afterBody",this,t))}getFooter(t,n){const{callbacks:r}=n,o=sr(r,"beforeFooter",this,t),i=sr(r,"footer",this,t),a=sr(r,"afterFooter",this,t);let s=[];return s=ui(s,Xi(o)),s=ui(s,Xi(i)),s=ui(s,Xi(a)),s}_createItems(t){const n=this._active,r=this.chart.data,o=[],i=[],a=[];let s=[],l,u;for(l=0,u=n.length;l<u;++l)s.push(M5e(this.chart,n[l]));return t.filter&&(s=s.filter((d,h,C)=>t.filter(d,h,C,r))),t.itemSort&&(s=s.sort((d,h)=>t.itemSort(d,h,r))),J1(s,d=>{const h=ow(t.callbacks,d);o.push(sr(h,"labelColor",this,d)),i.push(sr(h,"labelPointStyle",this,d)),a.push(sr(h,"labelTextColor",this,d))}),this.labelColors=o,this.labelPointStyles=i,this.labelTextColors=a,this.dataPoints=s,s}update(t,n){const r=this.options.setContext(this.getContext()),o=this._active;let i,a=[];if(!o.length)this.opacity!==0&&(i={opacity:0});else{const s=Y4[r.position].call(this,o,this._eventPosition);a=this._createItems(r),this.title=this.getTitle(a,r),this.beforeBody=this.getBeforeBody(a,r),this.body=this.getBody(a,r),this.afterBody=this.getAfterBody(a,r),this.footer=this.getFooter(a,r);const l=this._size=ew(this,r),u=Object.assign({},s,l),d=tw(this.chart,r,u),h=nw(r,u,d,this.chart);this.xAlign=d.xAlign,this.yAlign=d.yAlign,i={opacity:1,x:h.x,y:h.y,width:l.width,height:l.height,caretX:s.x,caretY:s.y}}this._tooltipItems=a,this.$context=void 0,i&&this._resolveAnimations().update(this,i),t&&r.external&&r.external.call(this,{chart:this.chart,tooltip:this,replay:n})}drawCaret(t,n,r,o){const i=this.getCaretPosition(t,r,o);n.lineTo(i.x1,i.y1),n.lineTo(i.x2,i.y2),n.lineTo(i.x3,i.y3)}getCaretPosition(t,n,r){const{xAlign:o,yAlign:i}=this,{caretSize:a,cornerRadius:s}=r,{topLeft:l,topRight:u,bottomLeft:d,bottomRight:h}=u5(s),{x:C,y:m}=t,{width:A,height:v}=n;let p,_,w,x,E,S;return i==="center"?(E=m+v/2,o==="left"?(p=C,_=p-a,x=E+a,S=E-a):(p=C+A,_=p+a,x=E-a,S=E+a),w=p):(o==="left"?_=C+Math.max(l,d)+a:o==="right"?_=C+A-Math.max(u,h)-a:_=this.caretX,i==="top"?(x=m,E=x-a,p=_-a,w=_+a):(x=m+v,E=x+a,p=_+a,w=_-a),S=x),{x1:p,x2:_,x3:w,y1:x,y2:E,y3:S}}drawTitle(t,n,r){const o=this.title,i=o.length;let a,s,l;if(i){const u=d5(r.rtl,this.x,this.width);for(t.x=_6(this,r.titleAlign,r),n.textAlign=u.textAlign(r.titleAlign),n.textBaseline="middle",a=dr(r.titleFont),s=r.titleSpacing,n.fillStyle=r.titleColor,n.font=a.string,l=0;l<i;++l)n.fillText(o[l],u.x(t.x),t.y+a.lineHeight/2),t.y+=a.lineHeight+s,l+1===i&&(t.y+=r.titleMarginBottom-s)}}_drawColorBox(t,n,r,o,i){const a=this.labelColors[r],s=this.labelPointStyles[r],{boxHeight:l,boxWidth:u}=i,d=dr(i.bodyFont),h=_6(this,"left",i),C=o.x(h),m=l<d.lineHeight?(d.lineHeight-l)/2:0,A=n.y+m;if(i.usePointStyle){const v={radius:Math.min(u,l)/2,pointStyle:s.pointStyle,rotation:s.rotation,borderWidth:1},p=o.leftForLtr(C,u)+u/2,_=A+l/2;t.strokeStyle=i.multiKeyBackground,t.fillStyle=i.multiKeyBackground,wh(t,v,p,_),t.strokeStyle=a.borderColor,t.fillStyle=a.backgroundColor,wh(t,v,p,_)}else{t.lineWidth=y1(a.borderWidth)?Math.max(...Object.values(a.borderWidth)):a.borderWidth||1,t.strokeStyle=a.borderColor,t.setLineDash(a.borderDash||[]),t.lineDashOffset=a.borderDashOffset||0;const v=o.leftForLtr(C,u),p=o.leftForLtr(o.xPlus(C,1),u-2),_=u5(a.borderRadius);Object.values(_).some(w=>w!==0)?(t.beginPath(),t.fillStyle=i.multiKeyBackground,D8(t,{x:v,y:A,w:u,h:l,radius:_}),t.fill(),t.stroke(),t.fillStyle=a.backgroundColor,t.beginPath(),D8(t,{x:p,y:A+1,w:u-2,h:l-2,radius:_}),t.fill()):(t.fillStyle=i.multiKeyBackground,t.fillRect(v,A,u,l),t.strokeRect(v,A,u,l),t.fillStyle=a.backgroundColor,t.fillRect(p,A+1,u-2,l-2))}t.fillStyle=this.labelTextColors[r]}drawBody(t,n,r){const{body:o}=this,{bodySpacing:i,bodyAlign:a,displayColors:s,boxHeight:l,boxWidth:u,boxPadding:d}=r,h=dr(r.bodyFont);let C=h.lineHeight,m=0;const A=d5(r.rtl,this.x,this.width),v=function(O){n.fillText(O,A.x(t.x+m),t.y+C/2),t.y+=C+i},p=A.textAlign(a);let _,w,x,E,S,M,H;for(n.textAlign=a,n.textBaseline="middle",n.font=h.string,t.x=_6(this,p,r),n.fillStyle=r.bodyColor,J1(this.beforeBody,v),m=s&&p!=="right"?a==="center"?u/2+d:u+2+d:0,E=0,M=o.length;E<M;++E){for(_=o[E],w=this.labelTextColors[E],n.fillStyle=w,J1(_.before,v),x=_.lines,s&&x.length&&(this._drawColorBox(n,t,E,A,r),C=Math.max(h.lineHeight,l)),S=0,H=x.length;S<H;++S)v(x[S]),C=h.lineHeight;J1(_.after,v)}m=0,C=h.lineHeight,J1(this.afterBody,v),t.y-=i}drawFooter(t,n,r){const o=this.footer,i=o.length;let a,s;if(i){const l=d5(r.rtl,this.x,this.width);for(t.x=_6(this,r.footerAlign,r),t.y+=r.footerMarginTop,n.textAlign=l.textAlign(r.footerAlign),n.textBaseline="middle",a=dr(r.footerFont),n.fillStyle=r.footerColor,n.font=a.string,s=0;s<i;++s)n.fillText(o[s],l.x(t.x),t.y+a.lineHeight/2),t.y+=a.lineHeight+r.footerSpacing}}drawBackground(t,n,r,o){const{xAlign:i,yAlign:a}=this,{x:s,y:l}=t,{width:u,height:d}=r,{topLeft:h,topRight:C,bottomLeft:m,bottomRight:A}=u5(o.cornerRadius);n.fillStyle=o.backgroundColor,n.strokeStyle=o.borderColor,n.lineWidth=o.borderWidth,n.beginPath(),n.moveTo(s+h,l),a==="top"&&this.drawCaret(t,n,r,o),n.lineTo(s+u-C,l),n.quadraticCurveTo(s+u,l,s+u,l+C),a==="center"&&i==="right"&&this.drawCaret(t,n,r,o),n.lineTo(s+u,l+d-A),n.quadraticCurveTo(s+u,l+d,s+u-A,l+d),a==="bottom"&&this.drawCaret(t,n,r,o),n.lineTo(s+m,l+d),n.quadraticCurveTo(s,l+d,s,l+d-m),a==="center"&&i==="left"&&this.drawCaret(t,n,r,o),n.lineTo(s,l+h),n.quadraticCurveTo(s,l,s+h,l),n.closePath(),n.fill(),o.borderWidth>0&&n.stroke()}_updateAnimationTarget(t){const n=this.chart,r=this.$animations,o=r&&r.x,i=r&&r.y;if(o||i){const a=Y4[t.position].call(this,this._active,this._eventPosition);if(!a)return;const s=this._size=ew(this,t),l=Object.assign({},a,this._size),u=tw(n,t,l),d=nw(t,l,u,n);(o._to!==d.x||i._to!==d.y)&&(this.xAlign=u.xAlign,this.yAlign=u.yAlign,this.width=s.width,this.height=s.height,this.caretX=a.x,this.caretY=a.y,this._resolveAnimations().update(this,d))}}_willRender(){return!!this.opacity}draw(t){const n=this.options.setContext(this.getContext());let r=this.opacity;if(!r)return;this._updateAnimationTarget(n);const o={width:this.width,height:this.height},i={x:this.x,y:this.y};r=Math.abs(r)<.001?0:r;const a=ko(n.padding),s=this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length;n.enabled&&s&&(t.save(),t.globalAlpha=r,this.drawBackground(i,t,o,n),BH(t,n.textDirection),i.y+=a.top,this.drawTitle(i,t,n),this.drawBody(i,t,n),this.drawFooter(i,t,n),OH(t,n.textDirection),t.restore())}getActiveElements(){return this._active||[]}setActiveElements(t,n){const r=this._active,o=t.map(({datasetIndex:s,index:l})=>{const u=this.chart.getDatasetMeta(s);if(!u)throw new Error("Cannot find a dataset at index "+s);return{datasetIndex:s,element:u.data[l],index:l}}),i=!B8(r,o),a=this._positionChanged(o,n);(i||a)&&(this._active=o,this._eventPosition=n,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(t,n,r=!0){if(n&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;const o=this.options,i=this._active||[],a=this._getActiveElements(t,i,n,r),s=this._positionChanged(a,t),l=n||!B8(a,i)||s;return l&&(this._active=a,(o.enabled||o.external)&&(this._eventPosition={x:t.x,y:t.y},this.update(!0,n))),l}_getActiveElements(t,n,r,o){const i=this.options;if(t.type==="mouseout")return[];if(!o)return n.filter(s=>this.chart.data.datasets[s.datasetIndex]&&this.chart.getDatasetMeta(s.datasetIndex).controller.getParsed(s.index)!==void 0);const a=this.chart.getElementsAtEventForMode(t,i.mode,i,r);return i.reverse&&a.reverse(),a}_positionChanged(t,n){const{caretX:r,caretY:o,options:i}=this,a=Y4[i.position].call(this,t,n);return a!==!1&&(r!==a.x||o!==a.y)}},xn(ah,"positioners",Y4),ah);var Kg={id:"tooltip",_element:iw,positioners:Y4,afterInit(e,t,n){n&&(e.tooltip=new iw({chart:e,options:n}))},beforeUpdate(e,t,n){e.tooltip&&e.tooltip.initialize(n)},reset(e,t,n){e.tooltip&&e.tooltip.initialize(n)},afterDraw(e){const t=e.tooltip;if(t&&t._willRender()){const n={tooltip:t};if(e.notifyPlugins("beforeTooltipDraw",{...n,cancelable:!0})===!1)return;t.draw(e.ctx),e.notifyPlugins("afterTooltipDraw",n)}},afterEvent(e,t){if(e.tooltip){const n=t.replay;e.tooltip.handleEvent(t.event,n,t.inChartArea)&&(t.changed=!0)}},defaults:{enabled:!0,external:null,position:"average",backgroundColor:"rgba(0,0,0,0.8)",titleColor:"#fff",titleFont:{weight:"bold"},titleSpacing:2,titleMarginBottom:6,titleAlign:"left",bodyColor:"#fff",bodySpacing:2,bodyFont:{},bodyAlign:"left",footerColor:"#fff",footerSpacing:2,footerMarginTop:6,footerFont:{weight:"bold"},footerAlign:"left",padding:6,caretPadding:2,caretSize:5,cornerRadius:6,boxHeight:(e,t)=>t.bodyFont.size,boxWidth:(e,t)=>t.bodyFont.size,multiKeyBackground:"#fff",displayColors:!0,boxPadding:0,borderColor:"rgba(0,0,0,0)",borderWidth:0,animation:{duration:400,easing:"easeOutQuart"},animations:{numbers:{type:"number",properties:["x","y","width","height","caretX","caretY"]},opacity:{easing:"linear",duration:200}},callbacks:eL},defaultRoutes:{bodyFont:"font",footerFont:"font",titleFont:"font"},descriptors:{_scriptable:e=>e!=="filter"&&e!=="itemSort"&&e!=="external",_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:"animation"}},additionalOptionScopes:["interaction"]};const D5e=(e,t,n,r)=>(typeof t=="string"?(n=e.push(t)-1,r.unshift({index:n,label:t})):isNaN(t)&&(n=null),n);function P5e(e,t,n,r){const o=e.indexOf(t);if(o===-1)return D5e(e,t,n,r);const i=e.lastIndexOf(t);return o!==i?n:o}const k5e=(e,t)=>e===null?null:R2(Math.round(e),0,t);function aw(e){const t=this.getLabels();return e>=0&&e<t.length?t[e]:e}class Rs extends U5{constructor(t){super(t),this._startValue=void 0,this._valueRange=0,this._addedLabels=[]}init(t){const n=this._addedLabels;if(n.length){const r=this.getLabels();for(const{index:o,label:i}of n)r[o]===i&&r.splice(o,1);this._addedLabels=[]}super.init(t)}parse(t,n){if(W1(t))return null;const r=this.getLabels();return n=isFinite(n)&&r[n]===t?n:P5e(r,t,C1(n,t),this._addedLabels),k5e(n,r.length-1)}determineDataLimits(){const{minDefined:t,maxDefined:n}=this.getUserBounds();let{min:r,max:o}=this.getMinMax(!0);this.options.bounds==="ticks"&&(t||(r=0),n||(o=this.getLabels().length-1)),this.min=r,this.max=o}buildTicks(){const t=this.min,n=this.max,r=this.options.offset,o=[];let i=this.getLabels();i=t===0&&n===i.length-1?i:i.slice(t,n+1),this._valueRange=Math.max(i.length-(r?0:1),1),this._startValue=this.min-(r?.5:0);for(let a=t;a<=n;a++)o.push({value:a});return o}getLabelForValue(t){return aw.call(this,t)}configure(){super.configure(),this.isHorizontal()||(this._reversePixels=!this._reversePixels)}getPixelForValue(t){return typeof t!="number"&&(t=this.parse(t)),t===null?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getPixelForTick(t){const n=this.ticks;return t<0||t>n.length-1?null:this.getPixelForValue(n[t].value)}getValueForPixel(t){return Math.round(this._startValue+this.getDecimalForPixel(t)*this._valueRange)}getBasePixel(){return this.bottom}}xn(Rs,"id","category"),xn(Rs,"defaults",{ticks:{callback:aw}});function N5e(e,t){const n=[],{bounds:o,step:i,min:a,max:s,precision:l,count:u,maxTicks:d,maxDigits:h,includeBounds:C}=e,m=i||1,A=d-1,{min:v,max:p}=t,_=!W1(a),w=!W1(s),x=!W1(u),E=(p-v)/(h+1);let S=ny((p-v)/A/m)*m,M,H,O,D;if(S<1e-14&&!_&&!w)return[{value:v},{value:p}];D=Math.ceil(p/S)-Math.floor(v/S),D>A&&(S=ny(D*S/A/m)*m),W1(l)||(M=Math.pow(10,l),S=Math.ceil(S*M)/M),o==="ticks"?(H=Math.floor(v/S)*S,O=Math.ceil(p/S)*S):(H=v,O=p),_&&w&&i&&Kie((s-a)/i,S/1e3)?(D=Math.round(Math.min((s-a)/S,d)),S=(s-a)/D,H=a,O=s):x?(H=_?a:H,O=w?s:O,D=u-1,S=(O-H)/D):(D=(O-H)/S,cs(D,Math.round(D),S/1e3)?D=Math.round(D):D=Math.ceil(D));const P=Math.max(ry(S),ry(H));M=Math.pow(10,W1(l)?P:l),H=Math.round(H*M)/M,O=Math.round(O*M)/M;let k=0;for(_&&(C&&H!==a?(n.push({value:a}),H<a&&k++,cs(Math.round((H+k*S)*M)/M,a,sw(a,E,e))&&k++):H<a&&k++);k<D;++k){const N=Math.round((H+k*S)*M)/M;if(w&&N>s)break;n.push({value:N})}return w&&C&&O!==s?n.length&&cs(n[n.length-1].value,s,sw(s,E,e))?n[n.length-1].value=s:n.push({value:s}):(!w||O===s)&&n.push({value:O}),n}function sw(e,t,{horizontal:n,minRotation:r}){const o=aa(r),i=(n?Math.sin(o):Math.cos(o))||.001,a=.75*t*(""+e).length;return Math.min(t/i,a)}class T5e extends U5{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._endValue=void 0,this._valueRange=0}parse(t,n){return W1(t)||(typeof t=="number"||t instanceof Number)&&!isFinite(+t)?null:+t}handleTickRangeOptions(){const{beginAtZero:t}=this.options,{minDefined:n,maxDefined:r}=this.getUserBounds();let{min:o,max:i}=this;const a=l=>o=n?o:l,s=l=>i=r?i:l;if(t){const l=bi(o),u=bi(i);l<0&&u<0?s(0):l>0&&u>0&&a(0)}if(o===i){let l=i===0?1:Math.abs(i*.05);s(i+l),t||a(o-l)}this.min=o,this.max=i}getTickLimit(){const t=this.options.ticks;let{maxTicksLimit:n,stepSize:r}=t,o;return r?(o=Math.ceil(this.max/r)-Math.floor(this.min/r)+1,o>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${r} would result generating up to ${o} ticks. Limiting to 1000.`),o=1e3)):(o=this.computeTickLimit(),n=n||11),n&&(o=Math.min(n,o)),o}computeTickLimit(){return Number.POSITIVE_INFINITY}buildTicks(){const t=this.options,n=t.ticks;let r=this.getTickLimit();r=Math.max(2,r);const o={maxTicks:r,bounds:t.bounds,min:t.min,max:t.max,precision:n.precision,step:n.stepSize,count:n.count,maxDigits:this._maxDigits(),horizontal:this.isHorizontal(),minRotation:n.minRotation||0,includeBounds:n.includeBounds!==!1},i=this._range||this,a=N5e(o,i);return t.bounds==="ticks"&&Qie(a,this,"value"),t.reverse?(a.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),a}configure(){const t=this.ticks;let n=this.min,r=this.max;if(super.configure(),this.options.offset&&t.length){const o=(r-n)/Math.max(t.length-1,1)/2;n-=o,r+=o}this._startValue=n,this._endValue=r,this._valueRange=r-n}getLabelForValue(t){return kg(t,this.chart.options.locale,this.options.ticks.format)}}class Is extends T5e{determineDataLimits(){const{min:t,max:n}=this.getMinMax(!0);this.min=P2(t)?t:0,this.max=P2(n)?n:1,this.handleTickRangeOptions()}computeTickLimit(){const t=this.isHorizontal(),n=t?this.width:this.height,r=aa(this.options.ticks.minRotation),o=(t?Math.sin(r):Math.cos(r))||.001,i=this._resolveTickFontOptions(0);return Math.ceil(n/Math.min(40,i.lineHeight/o))}getPixelForValue(t){return t===null?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getValueForPixel(t){return this._startValue+this.getDecimalForPixel(t)*this._valueRange}}xn(Is,"id","linear"),xn(Is,"defaults",{ticks:{callback:wH.formatters.numeric}});const O7={millisecond:{common:!0,size:1,steps:1e3},second:{common:!0,size:1e3,steps:60},minute:{common:!0,size:6e4,steps:60},hour:{common:!0,size:36e5,steps:24},day:{common:!0,size:864e5,steps:30},week:{common:!1,size:6048e5,steps:4},month:{common:!0,size:2628e6,steps:12},quarter:{common:!1,size:7884e6,steps:4},year:{common:!0,size:3154e7}},ur=Object.keys(O7);function lw(e,t){return e-t}function cw(e,t){if(W1(t))return null;const n=e._adapter,{parser:r,round:o,isoWeekday:i}=e._parseOpts;let a=t;return typeof r=="function"&&(a=r(a)),P2(a)||(a=typeof r=="string"?n.parse(a,r):n.parse(a)),a===null?null:(o&&(a=o==="week"&&(Hs(i)||i===!0)?n.startOf(a,"isoWeek",i):n.startOf(a,o)),+a)}function uw(e,t,n,r){const o=ur.length;for(let i=ur.indexOf(e);i<o-1;++i){const a=O7[ur[i]],s=a.steps?a.steps:Number.MAX_SAFE_INTEGER;if(a.common&&Math.ceil((n-t)/(s*a.size))<=r)return ur[i]}return ur[o-1]}function F5e(e,t,n,r,o){for(let i=ur.length-1;i>=ur.indexOf(n);i--){const a=ur[i];if(O7[a].common&&e._adapter.diff(o,r,a)>=t-1)return a}return ur[n?ur.indexOf(n):0]}function V5e(e){for(let t=ur.indexOf(e)+1,n=ur.length;t<n;++t)if(O7[ur[t]].common)return ur[t]}function dw(e,t,n){if(!n)e[t]=!0;else if(n.length){const{lo:r,hi:o}=Dg(n,t),i=n[r]>=t?n[r]:n[o];e[i]=!0}}function j5e(e,t,n,r){const o=e._adapter,i=+o.startOf(t[0].value,r),a=t[t.length-1].value;let s,l;for(s=i;s<=a;s=+o.add(s,1,r))l=n[s],l>=0&&(t[l].major=!0);return t}function fw(e,t,n){const r=[],o={},i=t.length;let a,s;for(a=0;a<i;++a)s=t[a],o[s]=a,r.push({value:s,major:!1});return i===0||!n?r:j5e(e,r,o,n)}class T8 extends U5{constructor(t){super(t),this._cache={data:[],labels:[],all:[]},this._unit="day",this._majorUnit=void 0,this._offsets={},this._normalized=!1,this._parseOpts=void 0}init(t,n={}){const r=t.time||(t.time={}),o=this._adapter=new H9e._date(t.adapters.date);o.init(n),ls(r.displayFormats,o.formats()),this._parseOpts={parser:r.parser,round:r.round,isoWeekday:r.isoWeekday},super.init(t),this._normalized=n.normalized}parse(t,n){return t===void 0?null:cw(this,t)}beforeLayout(){super.beforeLayout(),this._cache={data:[],labels:[],all:[]}}determineDataLimits(){const t=this.options,n=this._adapter,r=t.time.unit||"day";let{min:o,max:i,minDefined:a,maxDefined:s}=this.getUserBounds();function l(u){!a&&!isNaN(u.min)&&(o=Math.min(o,u.min)),!s&&!isNaN(u.max)&&(i=Math.max(i,u.max))}(!a||!s)&&(l(this._getLabelBounds()),(t.bounds!=="ticks"||t.ticks.source!=="labels")&&l(this.getMinMax(!1))),o=P2(o)&&!isNaN(o)?o:+n.startOf(Date.now(),r),i=P2(i)&&!isNaN(i)?i:+n.endOf(Date.now(),r)+1,this.min=Math.min(o,i-1),this.max=Math.max(o+1,i)}_getLabelBounds(){const t=this.getLabelTimestamps();let n=Number.POSITIVE_INFINITY,r=Number.NEGATIVE_INFINITY;return t.length&&(n=t[0],r=t[t.length-1]),{min:n,max:r}}buildTicks(){const t=this.options,n=t.time,r=t.ticks,o=r.source==="labels"?this.getLabelTimestamps():this._generate();t.bounds==="ticks"&&o.length&&(this.min=this._userMin||o[0],this.max=this._userMax||o[o.length-1]);const i=this.min,a=this.max,s=Xie(o,i,a);return this._unit=n.unit||(r.autoSkip?uw(n.minUnit,this.min,this.max,this._getLabelCapacity(i)):F5e(this,s.length,n.minUnit,this.min,this.max)),this._majorUnit=!r.major.enabled||this._unit==="year"?void 0:V5e(this._unit),this.initOffsets(o),t.reverse&&s.reverse(),fw(this,s,this._majorUnit)}afterAutoSkip(){this.options.offsetAfterAutoskip&&this.initOffsets(this.ticks.map(t=>+t.value))}initOffsets(t=[]){let n=0,r=0,o,i;this.options.offset&&t.length&&(o=this.getDecimalForValue(t[0]),t.length===1?n=1-o:n=(this.getDecimalForValue(t[1])-o)/2,i=this.getDecimalForValue(t[t.length-1]),t.length===1?r=i:r=(i-this.getDecimalForValue(t[t.length-2]))/2);const a=t.length<3?.5:.25;n=R2(n,0,a),r=R2(r,0,a),this._offsets={start:n,end:r,factor:1/(n+1+r)}}_generate(){const t=this._adapter,n=this.min,r=this.max,o=this.options,i=o.time,a=i.unit||uw(i.minUnit,n,r,this._getLabelCapacity(n)),s=C1(o.ticks.stepSize,1),l=a==="week"?i.isoWeekday:!1,u=Hs(l)||l===!0,d={};let h=n,C,m;if(u&&(h=+t.startOf(h,"isoWeek",l)),h=+t.startOf(h,u?"day":a),t.diff(r,n,a)>1e5*s)throw new Error(n+" and "+r+" are too far apart with stepSize of "+s+" "+a);const A=o.ticks.source==="data"&&this.getDataTimestamps();for(C=h,m=0;C<r;C=+t.add(C,s,a),m++)dw(d,C,A);return(C===r||o.bounds==="ticks"||m===1)&&dw(d,C,A),Object.keys(d).sort(lw).map(v=>+v)}getLabelForValue(t){const n=this._adapter,r=this.options.time;return r.tooltipFormat?n.format(t,r.tooltipFormat):n.format(t,r.displayFormats.datetime)}format(t,n){const o=this.options.time.displayFormats,i=this._unit,a=n||o[i];return this._adapter.format(t,a)}_tickFormatFunction(t,n,r,o){const i=this.options,a=i.ticks.callback;if(a)return C0(a,[t,n,r],this);const s=i.time.displayFormats,l=this._unit,u=this._majorUnit,d=l&&s[l],h=u&&s[u],C=r[n],m=u&&h&&C&&C.major;return this._adapter.format(t,o||(m?h:d))}generateTickLabels(t){let n,r,o;for(n=0,r=t.length;n<r;++n)o=t[n],o.label=this._tickFormatFunction(o.value,n,t)}getDecimalForValue(t){return t===null?NaN:(t-this.min)/(this.max-this.min)}getPixelForValue(t){const n=this._offsets,r=this.getDecimalForValue(t);return this.getPixelForDecimal((n.start+r)*n.factor)}getValueForPixel(t){const n=this._offsets,r=this.getDecimalForPixel(t)/n.factor-n.end;return this.min+r*(this.max-this.min)}_getLabelSize(t){const n=this.options.ticks,r=this.ctx.measureText(t).width,o=aa(this.isHorizontal()?n.maxRotation:n.minRotation),i=Math.cos(o),a=Math.sin(o),s=this._resolveTickFontOptions(0).size;return{w:r*i+s*a,h:r*a+s*i}}_getLabelCapacity(t){const n=this.options.time,r=n.displayFormats,o=r[n.unit]||r.millisecond,i=this._tickFormatFunction(t,0,fw(this,[t],this._majorUnit),o),a=this._getLabelSize(i),s=Math.floor(this.isHorizontal()?this.width/a.w:this.height/a.h)-1;return s>0?s:1}getDataTimestamps(){let t=this._cache.data||[],n,r;if(t.length)return t;const o=this.getMatchingVisibleMetas();if(this._normalized&&o.length)return this._cache.data=o[0].controller.getAllParsedValues(this);for(n=0,r=o.length;n<r;++n)t=t.concat(o[n].controller.getAllParsedValues(this));return this._cache.data=this.normalize(t)}getLabelTimestamps(){const t=this._cache.labels||[];let n,r;if(t.length)return t;const o=this.getLabels();for(n=0,r=o.length;n<r;++n)t.push(cw(this,o[n]));return this._cache.labels=this._normalized?t:this.normalize(t)}normalize(t){return pH(t.sort(lw))}}xn(T8,"id","time"),xn(T8,"defaults",{bounds:"data",adapters:{},time:{parser:!1,unit:!1,round:!1,isoWeekday:!1,minUnit:"millisecond",displayFormats:{}},ticks:{source:"auto",callback:!1,major:{enabled:!1}}});function E6(e,t,n){let r=0,o=e.length-1,i,a,s,l;n?(t>=e[r].pos&&t<=e[o].pos&&({lo:r,hi:o}=K9(e,"pos",t)),{pos:i,time:s}=e[r],{pos:a,time:l}=e[o]):(t>=e[r].time&&t<=e[o].time&&({lo:r,hi:o}=K9(e,"time",t)),{time:i,pos:s}=e[r],{time:a,pos:l}=e[o]);const u=a-i;return u?s+(l-s)*(t-i)/u:s}class hw extends T8{constructor(t){super(t),this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){const t=this._getTimestampsForTable(),n=this._table=this.buildLookupTable(t);this._minPos=E6(n,this.min),this._tableRange=E6(n,this.max)-this._minPos,super.initOffsets(t)}buildLookupTable(t){const{min:n,max:r}=this,o=[],i=[];let a,s,l,u,d;for(a=0,s=t.length;a<s;++a)u=t[a],u>=n&&u<=r&&o.push(u);if(o.length<2)return[{time:n,pos:0},{time:r,pos:1}];for(a=0,s=o.length;a<s;++a)d=o[a+1],l=o[a-1],u=o[a],Math.round((d+l)/2)!==u&&i.push({time:u,pos:a/(s-1)});return i}_generate(){const t=this.min,n=this.max;let r=super.getDataTimestamps();return(!r.includes(t)||!r.length)&&r.splice(0,0,t),(!r.includes(n)||r.length===1)&&r.push(n),r.sort((o,i)=>o-i)}_getTimestampsForTable(){let t=this._cache.all||[];if(t.length)return t;const n=this.getDataTimestamps(),r=this.getLabelTimestamps();return n.length&&r.length?t=this.normalize(n.concat(r)):t=n.length?n:r,t=this._cache.all=t,t}getDecimalForValue(t){return(E6(this._table,t)-this._minPos)/this._tableRange}getValueForPixel(t){const n=this._offsets,r=this.getDecimalForPixel(t)/n.factor-n.end;return E6(this._table,r*this._tableRange+this._minPos,!0)}}xn(hw,"id","timeseries"),xn(hw,"defaults",T8.defaults);const tL="label";function Cw(e,t){typeof e=="function"?e(t):e&&(e.current=t)}function z5e(e,t){const n=e.options;n&&t&&Object.assign(n,t)}function nL(e,t){e.labels=t}function rL(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:tL;const r=[];e.datasets=t.map(o=>{const i=e.datasets.find(a=>a[n]===o[n]);return!i||!o.data||r.includes(i)?{...o}:(r.push(i),Object.assign(i,o),i)})}function U5e(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:tL;const n={labels:[],datasets:[]};return nL(n,e.labels),rL(n,e.datasets,t),n}function Z5e(e,t){const{height:n=150,width:r=300,redraw:o=!1,datasetIdKey:i,type:a,data:s,options:l,plugins:u=[],fallbackContent:d,updateMode:h,...C}=e,m=R.useRef(null),A=R.useRef(null),v=()=>{m.current&&(A.current=new Z5(m.current,{type:a,data:U5e(s,i),options:l&&{...l},plugins:u}),Cw(t,A.current))},p=()=>{Cw(t,null),A.current&&(A.current.destroy(),A.current=null)};return R.useEffect(()=>{!o&&A.current&&l&&z5e(A.current,l)},[o,l]),R.useEffect(()=>{!o&&A.current&&nL(A.current.config.data,s.labels)},[o,s.labels]),R.useEffect(()=>{!o&&A.current&&s.datasets&&rL(A.current.config.data,s.datasets,i)},[o,s.datasets]),R.useEffect(()=>{A.current&&(o?(p(),setTimeout(v)):A.current.update(h))},[o,l,s.labels,s.datasets,h]),R.useEffect(()=>{A.current&&(p(),setTimeout(v))},[a]),R.useEffect(()=>(v(),()=>p()),[]),R.createElement("canvas",{ref:m,role:"img",height:n,width:r,...C},d)}const $5e=R.forwardRef(Z5e);function R7(e,t){return Z5.register(t),R.forwardRef((n,r)=>R.createElement($5e,{...n,ref:r,type:e}))}const K5e=R7("line",jc),Q5e=R7("bar",Vc),W5e=R7("doughnut",o5),G5e=R7("pie",xh);function Y5e({input:e,type:t,lineVariant:n,lineTension:r}){const o=["#4e79a7","#f28e2b","#e15759","#76b7b2"],i=t==="doughnut"||t==="pie";return{labels:e.labels,datasets:e.datasets.map((a,s)=>{var l;return i?{label:a.label,data:a.data,backgroundColor:a.colors&&a.colors.length===a.data.length?(l=a.colors)==null?void 0:l.map(u=>af(u)):a.data.map((u,d)=>af(o[d%o.length])),borderColor:a.colors&&a.colors.length===a.data.length?a.colors:a.data.map((u,d)=>o[d%o.length]),borderWidth:2}:{label:a.label,data:a.data,backgroundColor:af(a.color||o[s%o.length]),borderColor:a.color||o[s%o.length],borderWidth:t==="line"?2:1,fill:n=="fill",tension:r??.4}})}}function q5e({barVariant:e,type:t}){const r={responsive:!0,plugins:{legend:{position:"bottom",labels:{font:{family:"Inter"},usePointStyle:!0,pointStyle:"circle",textAlign:"center"}},tooltip:{bodyFont:{family:"Inter"},titleFont:{family:"Inter"}}},scales:t==="doughnut"||t==="pie"?{}:{x:{ticks:{font:{family:"DM Mono"}},title:{font:{size:12,family:"Inter"}}},y:{ticks:{font:{family:"DM Mono"}},title:{font:{size:12,family:"Inter"}}}}};return t==="bar"&&e=="stacked"?al.merge({},r,{scales:{x:{stacked:!0},y:{stacked:!0}}}):r}function af(e){if(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/.test(e)){const n=e.substring(1),r=parseInt(n.substring(0,2),16),o=parseInt(n.substring(2,4),16),i=parseInt(n.substring(4,6),16);return`rgba(${r}, ${o}, ${i}, 0.1)`}else if(e.startsWith("rgba")){const[n,r,o,i]=e.substring(5,e.length-1).split(",");return`rgba(${n}, ${r}, ${o}, 0.1)`}else if(e.startsWith("rgb")){const[n,r,o]=e.substring(4,e.length-1).split(",");return`rgba(${n}, ${r}, ${o}, 0.1)`}else throw new Error(`Unsupported color format: ${e}`)}let gw=!1;function X5e(){gw||(Z5.register(Rs,Is,$c,Kg,$g),gw=!0)}let mw=!1;function J5e(){mw||(Z5.register(G4,Kg,$g,Rs,Is),mw=!0)}let pw=!1;function e4e(){pw||(Z5.register(Rs,Is,Zc,Ya,Kg,$g,y5e),pw=!0)}const t4e=({type:e,data:t,options:n,barVariant:r,lineVariant:o,lineTension:i,width:a,height:s,backgroundColor:l,className:u=""})=>{e==="line"?e4e():e==="bar"?X5e():(e==="doughnut"||e==="pie")&&J5e();const d=Y5e({input:t,type:e,lineVariant:o,lineTension:i}),h=al.merge({maintainAspectRatio:!1},q5e({type:e,barVariant:r}),n),m={line:K5e,bar:Q5e,doughnut:W5e,pie:G5e}[e];return Q.jsx(m,{data:d,options:h,style:{width:a,height:s,backgroundColor:l},className:`awi-chart ${u}`})},S6=(e,t)=>{const n=e;return isNaN(n.getTime())?"":t==="date"?n.toLocaleDateString(void 0,{day:"2-digit",month:"short",year:"numeric"}):n.toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!0})},oL=({data:e,className:t,isFocused:n=!1,borderColor:r="#eaebee",focusedBorderColor:o="#ffcc00",focusedBorderThickness:i="2px",width:a="100%",height:s="100%"})=>{const l=n?`${i} solid ${o}`:`1px solid ${r}`;return Q.jsxs("div",{className:"compact_event_card "+(t||"")+" "+(n?"focused":""),style:{width:a,height:s,border:l},children:[Q.jsx("img",{src:e==null?void 0:e.frameUrl,alt:"Alert"}),Q.jsxs("span",{className:"compact_event_card_content",children:[Q.jsx("header",{children:Q.jsx("h6",{children:e.appName})}),Q.jsxs("section",{className:"compact_event_card_details",children:[Q.jsx("h6",{children:e.location}),Q.jsxs("span",{children:[Q.jsx("p",{children:"Date"}),Q.jsx("h6",{title:S6(e==null?void 0:e.timeStamp,"date"),children:S6(e==null?void 0:e.timeStamp,"date")})]}),Q.jsxs("span",{children:[Q.jsx("p",{children:"Time"}),Q.jsx("h6",{title:S6(e==null?void 0:e.timeStamp,"time"),className:"font_secondary",children:S6(e==null?void 0:e.timeStamp,"time")})]})]}),Q.jsxs("footer",{children:[Q.jsx("span",{className:"status_indicator",style:{background:`linear-gradient(90deg, rgba(0,0,0,0), ${e==null?void 0:e.color})`}}),Q.jsx("p",{className:"font_secondary",children:e==null?void 0:e.severity})]})]})]})},n4e={s:"18.75rem",m:"25rem",l:"31.25rem"},E5=({className:e="",value:t=void 0,height:n="m",width:r="24rem",placement:o="flex-start",icon:i,backgroundColor:a,textColor:s,borderColor:l,disabledColor:u,iconPosition:d="after",iconColor:h="#292929",disabled:C=!1,onChange:m=()=>{},...A})=>(r=r||n4e[n],Q.jsxs("div",{className:`input_wrapper h_${n} ${C?"disabled":""} icon_${d}`,style:{width:r,minWidth:r,justifyContent:o,"--c_input_text":s,"--c_input_border":l,"--c_input_background":a,"--c_input_background_disabled":u},children:[i&&Q.jsx(ca,{name:i,color:h}),Q.jsx("input",{disabled:C,className:`input ${e}`,value:t,onChange:m,...A})]}));var sf={exports:{}};/*!
|
|
356
|
+
`):e}function M5e(e,t){const{element:n,datasetIndex:r,index:o}=t,i=e.getDatasetMeta(r).controller,{label:a,value:s}=i.getLabelAndValue(o);return{chart:e,label:a,parsed:i.getParsed(o),raw:e.data.datasets[r].data[o],formattedValue:s,dataset:i.getDataset(),dataIndex:o,datasetIndex:r,element:n}}function ew(e,t){const n=e.chart.ctx,{body:r,footer:o,title:i}=e,{boxWidth:a,boxHeight:s}=t,l=dr(t.bodyFont),u=dr(t.titleFont),d=dr(t.footerFont),h=i.length,C=o.length,m=r.length,A=ko(t.padding);let v=A.height,p=0,_=r.reduce((E,S)=>E+S.before.length+S.lines.length+S.after.length,0);if(_+=e.beforeBody.length+e.afterBody.length,h&&(v+=h*u.lineHeight+(h-1)*t.titleSpacing+t.titleMarginBottom),_){const E=t.displayColors?Math.max(s,l.lineHeight):l.lineHeight;v+=m*E+(_-m)*l.lineHeight+(_-1)*t.bodySpacing}C&&(v+=t.footerMarginTop+C*d.lineHeight+(C-1)*t.footerSpacing);let w=0;const x=function(E){p=Math.max(p,n.measureText(E).width+w)};return n.save(),n.font=u.string,J1(e.title,x),n.font=l.string,J1(e.beforeBody.concat(e.afterBody),x),w=t.displayColors?a+2+t.boxPadding:0,J1(r,E=>{J1(E.before,x),J1(E.lines,x),J1(E.after,x)}),w=0,n.font=d.string,J1(e.footer,x),n.restore(),p+=A.width,{width:p,height:v}}function H5e(e,t){const{y:n,height:r}=t;return n<r/2?"top":n>e.height-r/2?"bottom":"center"}function L5e(e,t,n,r){const{x:o,width:i}=r,a=n.caretSize+n.caretPadding;if(e==="left"&&o+i+a>t.width||e==="right"&&o-i-a<0)return!0}function B5e(e,t,n,r){const{x:o,width:i}=n,{width:a,chartArea:{left:s,right:l}}=e;let u="center";return r==="center"?u=o<=(s+l)/2?"left":"right":o<=i/2?u="left":o>=a-i/2&&(u="right"),L5e(u,e,t,n)&&(u="center"),u}function tw(e,t,n){const r=n.yAlign||t.yAlign||H5e(e,n);return{xAlign:n.xAlign||t.xAlign||B5e(e,t,n,r),yAlign:r}}function O5e(e,t){let{x:n,width:r}=e;return t==="right"?n-=r:t==="center"&&(n-=r/2),n}function R5e(e,t,n){let{y:r,height:o}=e;return t==="top"?r+=n:t==="bottom"?r-=o+n:r-=o/2,r}function nw(e,t,n,r){const{caretSize:o,caretPadding:i,cornerRadius:a}=e,{xAlign:s,yAlign:l}=n,u=o+i,{topLeft:d,topRight:h,bottomLeft:C,bottomRight:m}=u5(a);let A=O5e(t,s);const v=R5e(t,l,u);return l==="center"?s==="left"?A+=u:s==="right"&&(A-=u):s==="left"?A-=Math.max(d,C)+o:s==="right"&&(A+=Math.max(h,m)+o),{x:R2(A,0,r.width-t.width),y:R2(v,0,r.height-t.height)}}function _6(e,t,n){const r=ko(n.padding);return t==="center"?e.x+e.width/2:t==="right"?e.x+e.width-r.right:e.x+r.left}function rw(e){return ui([],Xi(e))}function I5e(e,t,n){return C3(e,{tooltip:t,tooltipItems:n,type:"tooltip"})}function ow(e,t){const n=t&&t.dataset&&t.dataset.tooltip&&t.dataset.tooltip.callbacks;return n?e.override(n):e}const eL={beforeTitle:Wi,title(e){if(e.length>0){const t=e[0],n=t.chart.data.labels,r=n?n.length:0;if(this&&this.options&&this.options.mode==="dataset")return t.dataset.label||"";if(t.label)return t.label;if(r>0&&t.dataIndex<r)return n[t.dataIndex]}return""},afterTitle:Wi,beforeBody:Wi,beforeLabel:Wi,label(e){if(this&&this.options&&this.options.mode==="dataset")return e.label+": "+e.formattedValue||e.formattedValue;let t=e.dataset.label||"";t&&(t+=": ");const n=e.formattedValue;return W1(n)||(t+=n),t},labelColor(e){const n=e.chart.getDatasetMeta(e.datasetIndex).controller.getStyle(e.dataIndex);return{borderColor:n.borderColor,backgroundColor:n.backgroundColor,borderWidth:n.borderWidth,borderDash:n.borderDash,borderDashOffset:n.borderDashOffset,borderRadius:0}},labelTextColor(){return this.options.bodyColor},labelPointStyle(e){const n=e.chart.getDatasetMeta(e.datasetIndex).controller.getStyle(e.dataIndex);return{pointStyle:n.pointStyle,rotation:n.rotation}},afterLabel:Wi,afterBody:Wi,beforeFooter:Wi,footer:Wi,afterFooter:Wi};function sr(e,t,n,r){const o=e[t].call(n,r);return typeof o>"u"?eL[t].call(n,r):o}var ah;let iw=(ah=class extends g9{constructor(t){super(),this.opacity=0,this._active=[],this._eventPosition=void 0,this._size=void 0,this._cachedAnimations=void 0,this._tooltipItems=[],this.$animations=void 0,this.$context=void 0,this.chart=t.chart,this.options=t.options,this.dataPoints=void 0,this.title=void 0,this.beforeBody=void 0,this.body=void 0,this.afterBody=void 0,this.footer=void 0,this.xAlign=void 0,this.yAlign=void 0,this.x=void 0,this.y=void 0,this.height=void 0,this.width=void 0,this.caretX=void 0,this.caretY=void 0,this.labelColors=void 0,this.labelPointStyles=void 0,this.labelTextColors=void 0}initialize(t){this.options=t,this._cachedAnimations=void 0,this.$context=void 0}_resolveAnimations(){const t=this._cachedAnimations;if(t)return t;const n=this.chart,r=this.options.setContext(this.getContext()),o=r.enabled&&n.options.animation&&r.animations,i=new kH(this.chart,o);return o._cacheable&&(this._cachedAnimations=Object.freeze(i)),i}getContext(){return this.$context||(this.$context=I5e(this.chart.getContext(),this,this._tooltipItems))}getTitle(t,n){const{callbacks:r}=n,o=sr(r,"beforeTitle",this,t),i=sr(r,"title",this,t),a=sr(r,"afterTitle",this,t);let s=[];return s=ui(s,Xi(o)),s=ui(s,Xi(i)),s=ui(s,Xi(a)),s}getBeforeBody(t,n){return rw(sr(n.callbacks,"beforeBody",this,t))}getBody(t,n){const{callbacks:r}=n,o=[];return J1(t,i=>{const a={before:[],lines:[],after:[]},s=ow(r,i);ui(a.before,Xi(sr(s,"beforeLabel",this,i))),ui(a.lines,sr(s,"label",this,i)),ui(a.after,Xi(sr(s,"afterLabel",this,i))),o.push(a)}),o}getAfterBody(t,n){return rw(sr(n.callbacks,"afterBody",this,t))}getFooter(t,n){const{callbacks:r}=n,o=sr(r,"beforeFooter",this,t),i=sr(r,"footer",this,t),a=sr(r,"afterFooter",this,t);let s=[];return s=ui(s,Xi(o)),s=ui(s,Xi(i)),s=ui(s,Xi(a)),s}_createItems(t){const n=this._active,r=this.chart.data,o=[],i=[],a=[];let s=[],l,u;for(l=0,u=n.length;l<u;++l)s.push(M5e(this.chart,n[l]));return t.filter&&(s=s.filter((d,h,C)=>t.filter(d,h,C,r))),t.itemSort&&(s=s.sort((d,h)=>t.itemSort(d,h,r))),J1(s,d=>{const h=ow(t.callbacks,d);o.push(sr(h,"labelColor",this,d)),i.push(sr(h,"labelPointStyle",this,d)),a.push(sr(h,"labelTextColor",this,d))}),this.labelColors=o,this.labelPointStyles=i,this.labelTextColors=a,this.dataPoints=s,s}update(t,n){const r=this.options.setContext(this.getContext()),o=this._active;let i,a=[];if(!o.length)this.opacity!==0&&(i={opacity:0});else{const s=Y4[r.position].call(this,o,this._eventPosition);a=this._createItems(r),this.title=this.getTitle(a,r),this.beforeBody=this.getBeforeBody(a,r),this.body=this.getBody(a,r),this.afterBody=this.getAfterBody(a,r),this.footer=this.getFooter(a,r);const l=this._size=ew(this,r),u=Object.assign({},s,l),d=tw(this.chart,r,u),h=nw(r,u,d,this.chart);this.xAlign=d.xAlign,this.yAlign=d.yAlign,i={opacity:1,x:h.x,y:h.y,width:l.width,height:l.height,caretX:s.x,caretY:s.y}}this._tooltipItems=a,this.$context=void 0,i&&this._resolveAnimations().update(this,i),t&&r.external&&r.external.call(this,{chart:this.chart,tooltip:this,replay:n})}drawCaret(t,n,r,o){const i=this.getCaretPosition(t,r,o);n.lineTo(i.x1,i.y1),n.lineTo(i.x2,i.y2),n.lineTo(i.x3,i.y3)}getCaretPosition(t,n,r){const{xAlign:o,yAlign:i}=this,{caretSize:a,cornerRadius:s}=r,{topLeft:l,topRight:u,bottomLeft:d,bottomRight:h}=u5(s),{x:C,y:m}=t,{width:A,height:v}=n;let p,_,w,x,E,S;return i==="center"?(E=m+v/2,o==="left"?(p=C,_=p-a,x=E+a,S=E-a):(p=C+A,_=p+a,x=E-a,S=E+a),w=p):(o==="left"?_=C+Math.max(l,d)+a:o==="right"?_=C+A-Math.max(u,h)-a:_=this.caretX,i==="top"?(x=m,E=x-a,p=_-a,w=_+a):(x=m+v,E=x+a,p=_+a,w=_-a),S=x),{x1:p,x2:_,x3:w,y1:x,y2:E,y3:S}}drawTitle(t,n,r){const o=this.title,i=o.length;let a,s,l;if(i){const u=d5(r.rtl,this.x,this.width);for(t.x=_6(this,r.titleAlign,r),n.textAlign=u.textAlign(r.titleAlign),n.textBaseline="middle",a=dr(r.titleFont),s=r.titleSpacing,n.fillStyle=r.titleColor,n.font=a.string,l=0;l<i;++l)n.fillText(o[l],u.x(t.x),t.y+a.lineHeight/2),t.y+=a.lineHeight+s,l+1===i&&(t.y+=r.titleMarginBottom-s)}}_drawColorBox(t,n,r,o,i){const a=this.labelColors[r],s=this.labelPointStyles[r],{boxHeight:l,boxWidth:u}=i,d=dr(i.bodyFont),h=_6(this,"left",i),C=o.x(h),m=l<d.lineHeight?(d.lineHeight-l)/2:0,A=n.y+m;if(i.usePointStyle){const v={radius:Math.min(u,l)/2,pointStyle:s.pointStyle,rotation:s.rotation,borderWidth:1},p=o.leftForLtr(C,u)+u/2,_=A+l/2;t.strokeStyle=i.multiKeyBackground,t.fillStyle=i.multiKeyBackground,wh(t,v,p,_),t.strokeStyle=a.borderColor,t.fillStyle=a.backgroundColor,wh(t,v,p,_)}else{t.lineWidth=y1(a.borderWidth)?Math.max(...Object.values(a.borderWidth)):a.borderWidth||1,t.strokeStyle=a.borderColor,t.setLineDash(a.borderDash||[]),t.lineDashOffset=a.borderDashOffset||0;const v=o.leftForLtr(C,u),p=o.leftForLtr(o.xPlus(C,1),u-2),_=u5(a.borderRadius);Object.values(_).some(w=>w!==0)?(t.beginPath(),t.fillStyle=i.multiKeyBackground,D8(t,{x:v,y:A,w:u,h:l,radius:_}),t.fill(),t.stroke(),t.fillStyle=a.backgroundColor,t.beginPath(),D8(t,{x:p,y:A+1,w:u-2,h:l-2,radius:_}),t.fill()):(t.fillStyle=i.multiKeyBackground,t.fillRect(v,A,u,l),t.strokeRect(v,A,u,l),t.fillStyle=a.backgroundColor,t.fillRect(p,A+1,u-2,l-2))}t.fillStyle=this.labelTextColors[r]}drawBody(t,n,r){const{body:o}=this,{bodySpacing:i,bodyAlign:a,displayColors:s,boxHeight:l,boxWidth:u,boxPadding:d}=r,h=dr(r.bodyFont);let C=h.lineHeight,m=0;const A=d5(r.rtl,this.x,this.width),v=function(O){n.fillText(O,A.x(t.x+m),t.y+C/2),t.y+=C+i},p=A.textAlign(a);let _,w,x,E,S,M,H;for(n.textAlign=a,n.textBaseline="middle",n.font=h.string,t.x=_6(this,p,r),n.fillStyle=r.bodyColor,J1(this.beforeBody,v),m=s&&p!=="right"?a==="center"?u/2+d:u+2+d:0,E=0,M=o.length;E<M;++E){for(_=o[E],w=this.labelTextColors[E],n.fillStyle=w,J1(_.before,v),x=_.lines,s&&x.length&&(this._drawColorBox(n,t,E,A,r),C=Math.max(h.lineHeight,l)),S=0,H=x.length;S<H;++S)v(x[S]),C=h.lineHeight;J1(_.after,v)}m=0,C=h.lineHeight,J1(this.afterBody,v),t.y-=i}drawFooter(t,n,r){const o=this.footer,i=o.length;let a,s;if(i){const l=d5(r.rtl,this.x,this.width);for(t.x=_6(this,r.footerAlign,r),t.y+=r.footerMarginTop,n.textAlign=l.textAlign(r.footerAlign),n.textBaseline="middle",a=dr(r.footerFont),n.fillStyle=r.footerColor,n.font=a.string,s=0;s<i;++s)n.fillText(o[s],l.x(t.x),t.y+a.lineHeight/2),t.y+=a.lineHeight+r.footerSpacing}}drawBackground(t,n,r,o){const{xAlign:i,yAlign:a}=this,{x:s,y:l}=t,{width:u,height:d}=r,{topLeft:h,topRight:C,bottomLeft:m,bottomRight:A}=u5(o.cornerRadius);n.fillStyle=o.backgroundColor,n.strokeStyle=o.borderColor,n.lineWidth=o.borderWidth,n.beginPath(),n.moveTo(s+h,l),a==="top"&&this.drawCaret(t,n,r,o),n.lineTo(s+u-C,l),n.quadraticCurveTo(s+u,l,s+u,l+C),a==="center"&&i==="right"&&this.drawCaret(t,n,r,o),n.lineTo(s+u,l+d-A),n.quadraticCurveTo(s+u,l+d,s+u-A,l+d),a==="bottom"&&this.drawCaret(t,n,r,o),n.lineTo(s+m,l+d),n.quadraticCurveTo(s,l+d,s,l+d-m),a==="center"&&i==="left"&&this.drawCaret(t,n,r,o),n.lineTo(s,l+h),n.quadraticCurveTo(s,l,s+h,l),n.closePath(),n.fill(),o.borderWidth>0&&n.stroke()}_updateAnimationTarget(t){const n=this.chart,r=this.$animations,o=r&&r.x,i=r&&r.y;if(o||i){const a=Y4[t.position].call(this,this._active,this._eventPosition);if(!a)return;const s=this._size=ew(this,t),l=Object.assign({},a,this._size),u=tw(n,t,l),d=nw(t,l,u,n);(o._to!==d.x||i._to!==d.y)&&(this.xAlign=u.xAlign,this.yAlign=u.yAlign,this.width=s.width,this.height=s.height,this.caretX=a.x,this.caretY=a.y,this._resolveAnimations().update(this,d))}}_willRender(){return!!this.opacity}draw(t){const n=this.options.setContext(this.getContext());let r=this.opacity;if(!r)return;this._updateAnimationTarget(n);const o={width:this.width,height:this.height},i={x:this.x,y:this.y};r=Math.abs(r)<.001?0:r;const a=ko(n.padding),s=this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length;n.enabled&&s&&(t.save(),t.globalAlpha=r,this.drawBackground(i,t,o,n),BH(t,n.textDirection),i.y+=a.top,this.drawTitle(i,t,n),this.drawBody(i,t,n),this.drawFooter(i,t,n),OH(t,n.textDirection),t.restore())}getActiveElements(){return this._active||[]}setActiveElements(t,n){const r=this._active,o=t.map(({datasetIndex:s,index:l})=>{const u=this.chart.getDatasetMeta(s);if(!u)throw new Error("Cannot find a dataset at index "+s);return{datasetIndex:s,element:u.data[l],index:l}}),i=!B8(r,o),a=this._positionChanged(o,n);(i||a)&&(this._active=o,this._eventPosition=n,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(t,n,r=!0){if(n&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;const o=this.options,i=this._active||[],a=this._getActiveElements(t,i,n,r),s=this._positionChanged(a,t),l=n||!B8(a,i)||s;return l&&(this._active=a,(o.enabled||o.external)&&(this._eventPosition={x:t.x,y:t.y},this.update(!0,n))),l}_getActiveElements(t,n,r,o){const i=this.options;if(t.type==="mouseout")return[];if(!o)return n.filter(s=>this.chart.data.datasets[s.datasetIndex]&&this.chart.getDatasetMeta(s.datasetIndex).controller.getParsed(s.index)!==void 0);const a=this.chart.getElementsAtEventForMode(t,i.mode,i,r);return i.reverse&&a.reverse(),a}_positionChanged(t,n){const{caretX:r,caretY:o,options:i}=this,a=Y4[i.position].call(this,t,n);return a!==!1&&(r!==a.x||o!==a.y)}},xn(ah,"positioners",Y4),ah);var Kg={id:"tooltip",_element:iw,positioners:Y4,afterInit(e,t,n){n&&(e.tooltip=new iw({chart:e,options:n}))},beforeUpdate(e,t,n){e.tooltip&&e.tooltip.initialize(n)},reset(e,t,n){e.tooltip&&e.tooltip.initialize(n)},afterDraw(e){const t=e.tooltip;if(t&&t._willRender()){const n={tooltip:t};if(e.notifyPlugins("beforeTooltipDraw",{...n,cancelable:!0})===!1)return;t.draw(e.ctx),e.notifyPlugins("afterTooltipDraw",n)}},afterEvent(e,t){if(e.tooltip){const n=t.replay;e.tooltip.handleEvent(t.event,n,t.inChartArea)&&(t.changed=!0)}},defaults:{enabled:!0,external:null,position:"average",backgroundColor:"rgba(0,0,0,0.8)",titleColor:"#fff",titleFont:{weight:"bold"},titleSpacing:2,titleMarginBottom:6,titleAlign:"left",bodyColor:"#fff",bodySpacing:2,bodyFont:{},bodyAlign:"left",footerColor:"#fff",footerSpacing:2,footerMarginTop:6,footerFont:{weight:"bold"},footerAlign:"left",padding:6,caretPadding:2,caretSize:5,cornerRadius:6,boxHeight:(e,t)=>t.bodyFont.size,boxWidth:(e,t)=>t.bodyFont.size,multiKeyBackground:"#fff",displayColors:!0,boxPadding:0,borderColor:"rgba(0,0,0,0)",borderWidth:0,animation:{duration:400,easing:"easeOutQuart"},animations:{numbers:{type:"number",properties:["x","y","width","height","caretX","caretY"]},opacity:{easing:"linear",duration:200}},callbacks:eL},defaultRoutes:{bodyFont:"font",footerFont:"font",titleFont:"font"},descriptors:{_scriptable:e=>e!=="filter"&&e!=="itemSort"&&e!=="external",_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:"animation"}},additionalOptionScopes:["interaction"]};const D5e=(e,t,n,r)=>(typeof t=="string"?(n=e.push(t)-1,r.unshift({index:n,label:t})):isNaN(t)&&(n=null),n);function P5e(e,t,n,r){const o=e.indexOf(t);if(o===-1)return D5e(e,t,n,r);const i=e.lastIndexOf(t);return o!==i?n:o}const k5e=(e,t)=>e===null?null:R2(Math.round(e),0,t);function aw(e){const t=this.getLabels();return e>=0&&e<t.length?t[e]:e}class Rs extends U5{constructor(t){super(t),this._startValue=void 0,this._valueRange=0,this._addedLabels=[]}init(t){const n=this._addedLabels;if(n.length){const r=this.getLabels();for(const{index:o,label:i}of n)r[o]===i&&r.splice(o,1);this._addedLabels=[]}super.init(t)}parse(t,n){if(W1(t))return null;const r=this.getLabels();return n=isFinite(n)&&r[n]===t?n:P5e(r,t,C1(n,t),this._addedLabels),k5e(n,r.length-1)}determineDataLimits(){const{minDefined:t,maxDefined:n}=this.getUserBounds();let{min:r,max:o}=this.getMinMax(!0);this.options.bounds==="ticks"&&(t||(r=0),n||(o=this.getLabels().length-1)),this.min=r,this.max=o}buildTicks(){const t=this.min,n=this.max,r=this.options.offset,o=[];let i=this.getLabels();i=t===0&&n===i.length-1?i:i.slice(t,n+1),this._valueRange=Math.max(i.length-(r?0:1),1),this._startValue=this.min-(r?.5:0);for(let a=t;a<=n;a++)o.push({value:a});return o}getLabelForValue(t){return aw.call(this,t)}configure(){super.configure(),this.isHorizontal()||(this._reversePixels=!this._reversePixels)}getPixelForValue(t){return typeof t!="number"&&(t=this.parse(t)),t===null?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getPixelForTick(t){const n=this.ticks;return t<0||t>n.length-1?null:this.getPixelForValue(n[t].value)}getValueForPixel(t){return Math.round(this._startValue+this.getDecimalForPixel(t)*this._valueRange)}getBasePixel(){return this.bottom}}xn(Rs,"id","category"),xn(Rs,"defaults",{ticks:{callback:aw}});function N5e(e,t){const n=[],{bounds:o,step:i,min:a,max:s,precision:l,count:u,maxTicks:d,maxDigits:h,includeBounds:C}=e,m=i||1,A=d-1,{min:v,max:p}=t,_=!W1(a),w=!W1(s),x=!W1(u),E=(p-v)/(h+1);let S=ny((p-v)/A/m)*m,M,H,O,D;if(S<1e-14&&!_&&!w)return[{value:v},{value:p}];D=Math.ceil(p/S)-Math.floor(v/S),D>A&&(S=ny(D*S/A/m)*m),W1(l)||(M=Math.pow(10,l),S=Math.ceil(S*M)/M),o==="ticks"?(H=Math.floor(v/S)*S,O=Math.ceil(p/S)*S):(H=v,O=p),_&&w&&i&&Kie((s-a)/i,S/1e3)?(D=Math.round(Math.min((s-a)/S,d)),S=(s-a)/D,H=a,O=s):x?(H=_?a:H,O=w?s:O,D=u-1,S=(O-H)/D):(D=(O-H)/S,cs(D,Math.round(D),S/1e3)?D=Math.round(D):D=Math.ceil(D));const P=Math.max(ry(S),ry(H));M=Math.pow(10,W1(l)?P:l),H=Math.round(H*M)/M,O=Math.round(O*M)/M;let k=0;for(_&&(C&&H!==a?(n.push({value:a}),H<a&&k++,cs(Math.round((H+k*S)*M)/M,a,sw(a,E,e))&&k++):H<a&&k++);k<D;++k){const N=Math.round((H+k*S)*M)/M;if(w&&N>s)break;n.push({value:N})}return w&&C&&O!==s?n.length&&cs(n[n.length-1].value,s,sw(s,E,e))?n[n.length-1].value=s:n.push({value:s}):(!w||O===s)&&n.push({value:O}),n}function sw(e,t,{horizontal:n,minRotation:r}){const o=aa(r),i=(n?Math.sin(o):Math.cos(o))||.001,a=.75*t*(""+e).length;return Math.min(t/i,a)}class T5e extends U5{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._endValue=void 0,this._valueRange=0}parse(t,n){return W1(t)||(typeof t=="number"||t instanceof Number)&&!isFinite(+t)?null:+t}handleTickRangeOptions(){const{beginAtZero:t}=this.options,{minDefined:n,maxDefined:r}=this.getUserBounds();let{min:o,max:i}=this;const a=l=>o=n?o:l,s=l=>i=r?i:l;if(t){const l=bi(o),u=bi(i);l<0&&u<0?s(0):l>0&&u>0&&a(0)}if(o===i){let l=i===0?1:Math.abs(i*.05);s(i+l),t||a(o-l)}this.min=o,this.max=i}getTickLimit(){const t=this.options.ticks;let{maxTicksLimit:n,stepSize:r}=t,o;return r?(o=Math.ceil(this.max/r)-Math.floor(this.min/r)+1,o>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${r} would result generating up to ${o} ticks. Limiting to 1000.`),o=1e3)):(o=this.computeTickLimit(),n=n||11),n&&(o=Math.min(n,o)),o}computeTickLimit(){return Number.POSITIVE_INFINITY}buildTicks(){const t=this.options,n=t.ticks;let r=this.getTickLimit();r=Math.max(2,r);const o={maxTicks:r,bounds:t.bounds,min:t.min,max:t.max,precision:n.precision,step:n.stepSize,count:n.count,maxDigits:this._maxDigits(),horizontal:this.isHorizontal(),minRotation:n.minRotation||0,includeBounds:n.includeBounds!==!1},i=this._range||this,a=N5e(o,i);return t.bounds==="ticks"&&Qie(a,this,"value"),t.reverse?(a.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),a}configure(){const t=this.ticks;let n=this.min,r=this.max;if(super.configure(),this.options.offset&&t.length){const o=(r-n)/Math.max(t.length-1,1)/2;n-=o,r+=o}this._startValue=n,this._endValue=r,this._valueRange=r-n}getLabelForValue(t){return kg(t,this.chart.options.locale,this.options.ticks.format)}}class Is extends T5e{determineDataLimits(){const{min:t,max:n}=this.getMinMax(!0);this.min=P2(t)?t:0,this.max=P2(n)?n:1,this.handleTickRangeOptions()}computeTickLimit(){const t=this.isHorizontal(),n=t?this.width:this.height,r=aa(this.options.ticks.minRotation),o=(t?Math.sin(r):Math.cos(r))||.001,i=this._resolveTickFontOptions(0);return Math.ceil(n/Math.min(40,i.lineHeight/o))}getPixelForValue(t){return t===null?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getValueForPixel(t){return this._startValue+this.getDecimalForPixel(t)*this._valueRange}}xn(Is,"id","linear"),xn(Is,"defaults",{ticks:{callback:wH.formatters.numeric}});const O7={millisecond:{common:!0,size:1,steps:1e3},second:{common:!0,size:1e3,steps:60},minute:{common:!0,size:6e4,steps:60},hour:{common:!0,size:36e5,steps:24},day:{common:!0,size:864e5,steps:30},week:{common:!1,size:6048e5,steps:4},month:{common:!0,size:2628e6,steps:12},quarter:{common:!1,size:7884e6,steps:4},year:{common:!0,size:3154e7}},ur=Object.keys(O7);function lw(e,t){return e-t}function cw(e,t){if(W1(t))return null;const n=e._adapter,{parser:r,round:o,isoWeekday:i}=e._parseOpts;let a=t;return typeof r=="function"&&(a=r(a)),P2(a)||(a=typeof r=="string"?n.parse(a,r):n.parse(a)),a===null?null:(o&&(a=o==="week"&&(Hs(i)||i===!0)?n.startOf(a,"isoWeek",i):n.startOf(a,o)),+a)}function uw(e,t,n,r){const o=ur.length;for(let i=ur.indexOf(e);i<o-1;++i){const a=O7[ur[i]],s=a.steps?a.steps:Number.MAX_SAFE_INTEGER;if(a.common&&Math.ceil((n-t)/(s*a.size))<=r)return ur[i]}return ur[o-1]}function F5e(e,t,n,r,o){for(let i=ur.length-1;i>=ur.indexOf(n);i--){const a=ur[i];if(O7[a].common&&e._adapter.diff(o,r,a)>=t-1)return a}return ur[n?ur.indexOf(n):0]}function V5e(e){for(let t=ur.indexOf(e)+1,n=ur.length;t<n;++t)if(O7[ur[t]].common)return ur[t]}function dw(e,t,n){if(!n)e[t]=!0;else if(n.length){const{lo:r,hi:o}=Dg(n,t),i=n[r]>=t?n[r]:n[o];e[i]=!0}}function j5e(e,t,n,r){const o=e._adapter,i=+o.startOf(t[0].value,r),a=t[t.length-1].value;let s,l;for(s=i;s<=a;s=+o.add(s,1,r))l=n[s],l>=0&&(t[l].major=!0);return t}function fw(e,t,n){const r=[],o={},i=t.length;let a,s;for(a=0;a<i;++a)s=t[a],o[s]=a,r.push({value:s,major:!1});return i===0||!n?r:j5e(e,r,o,n)}class T8 extends U5{constructor(t){super(t),this._cache={data:[],labels:[],all:[]},this._unit="day",this._majorUnit=void 0,this._offsets={},this._normalized=!1,this._parseOpts=void 0}init(t,n={}){const r=t.time||(t.time={}),o=this._adapter=new H9e._date(t.adapters.date);o.init(n),ls(r.displayFormats,o.formats()),this._parseOpts={parser:r.parser,round:r.round,isoWeekday:r.isoWeekday},super.init(t),this._normalized=n.normalized}parse(t,n){return t===void 0?null:cw(this,t)}beforeLayout(){super.beforeLayout(),this._cache={data:[],labels:[],all:[]}}determineDataLimits(){const t=this.options,n=this._adapter,r=t.time.unit||"day";let{min:o,max:i,minDefined:a,maxDefined:s}=this.getUserBounds();function l(u){!a&&!isNaN(u.min)&&(o=Math.min(o,u.min)),!s&&!isNaN(u.max)&&(i=Math.max(i,u.max))}(!a||!s)&&(l(this._getLabelBounds()),(t.bounds!=="ticks"||t.ticks.source!=="labels")&&l(this.getMinMax(!1))),o=P2(o)&&!isNaN(o)?o:+n.startOf(Date.now(),r),i=P2(i)&&!isNaN(i)?i:+n.endOf(Date.now(),r)+1,this.min=Math.min(o,i-1),this.max=Math.max(o+1,i)}_getLabelBounds(){const t=this.getLabelTimestamps();let n=Number.POSITIVE_INFINITY,r=Number.NEGATIVE_INFINITY;return t.length&&(n=t[0],r=t[t.length-1]),{min:n,max:r}}buildTicks(){const t=this.options,n=t.time,r=t.ticks,o=r.source==="labels"?this.getLabelTimestamps():this._generate();t.bounds==="ticks"&&o.length&&(this.min=this._userMin||o[0],this.max=this._userMax||o[o.length-1]);const i=this.min,a=this.max,s=Xie(o,i,a);return this._unit=n.unit||(r.autoSkip?uw(n.minUnit,this.min,this.max,this._getLabelCapacity(i)):F5e(this,s.length,n.minUnit,this.min,this.max)),this._majorUnit=!r.major.enabled||this._unit==="year"?void 0:V5e(this._unit),this.initOffsets(o),t.reverse&&s.reverse(),fw(this,s,this._majorUnit)}afterAutoSkip(){this.options.offsetAfterAutoskip&&this.initOffsets(this.ticks.map(t=>+t.value))}initOffsets(t=[]){let n=0,r=0,o,i;this.options.offset&&t.length&&(o=this.getDecimalForValue(t[0]),t.length===1?n=1-o:n=(this.getDecimalForValue(t[1])-o)/2,i=this.getDecimalForValue(t[t.length-1]),t.length===1?r=i:r=(i-this.getDecimalForValue(t[t.length-2]))/2);const a=t.length<3?.5:.25;n=R2(n,0,a),r=R2(r,0,a),this._offsets={start:n,end:r,factor:1/(n+1+r)}}_generate(){const t=this._adapter,n=this.min,r=this.max,o=this.options,i=o.time,a=i.unit||uw(i.minUnit,n,r,this._getLabelCapacity(n)),s=C1(o.ticks.stepSize,1),l=a==="week"?i.isoWeekday:!1,u=Hs(l)||l===!0,d={};let h=n,C,m;if(u&&(h=+t.startOf(h,"isoWeek",l)),h=+t.startOf(h,u?"day":a),t.diff(r,n,a)>1e5*s)throw new Error(n+" and "+r+" are too far apart with stepSize of "+s+" "+a);const A=o.ticks.source==="data"&&this.getDataTimestamps();for(C=h,m=0;C<r;C=+t.add(C,s,a),m++)dw(d,C,A);return(C===r||o.bounds==="ticks"||m===1)&&dw(d,C,A),Object.keys(d).sort(lw).map(v=>+v)}getLabelForValue(t){const n=this._adapter,r=this.options.time;return r.tooltipFormat?n.format(t,r.tooltipFormat):n.format(t,r.displayFormats.datetime)}format(t,n){const o=this.options.time.displayFormats,i=this._unit,a=n||o[i];return this._adapter.format(t,a)}_tickFormatFunction(t,n,r,o){const i=this.options,a=i.ticks.callback;if(a)return C0(a,[t,n,r],this);const s=i.time.displayFormats,l=this._unit,u=this._majorUnit,d=l&&s[l],h=u&&s[u],C=r[n],m=u&&h&&C&&C.major;return this._adapter.format(t,o||(m?h:d))}generateTickLabels(t){let n,r,o;for(n=0,r=t.length;n<r;++n)o=t[n],o.label=this._tickFormatFunction(o.value,n,t)}getDecimalForValue(t){return t===null?NaN:(t-this.min)/(this.max-this.min)}getPixelForValue(t){const n=this._offsets,r=this.getDecimalForValue(t);return this.getPixelForDecimal((n.start+r)*n.factor)}getValueForPixel(t){const n=this._offsets,r=this.getDecimalForPixel(t)/n.factor-n.end;return this.min+r*(this.max-this.min)}_getLabelSize(t){const n=this.options.ticks,r=this.ctx.measureText(t).width,o=aa(this.isHorizontal()?n.maxRotation:n.minRotation),i=Math.cos(o),a=Math.sin(o),s=this._resolveTickFontOptions(0).size;return{w:r*i+s*a,h:r*a+s*i}}_getLabelCapacity(t){const n=this.options.time,r=n.displayFormats,o=r[n.unit]||r.millisecond,i=this._tickFormatFunction(t,0,fw(this,[t],this._majorUnit),o),a=this._getLabelSize(i),s=Math.floor(this.isHorizontal()?this.width/a.w:this.height/a.h)-1;return s>0?s:1}getDataTimestamps(){let t=this._cache.data||[],n,r;if(t.length)return t;const o=this.getMatchingVisibleMetas();if(this._normalized&&o.length)return this._cache.data=o[0].controller.getAllParsedValues(this);for(n=0,r=o.length;n<r;++n)t=t.concat(o[n].controller.getAllParsedValues(this));return this._cache.data=this.normalize(t)}getLabelTimestamps(){const t=this._cache.labels||[];let n,r;if(t.length)return t;const o=this.getLabels();for(n=0,r=o.length;n<r;++n)t.push(cw(this,o[n]));return this._cache.labels=this._normalized?t:this.normalize(t)}normalize(t){return pH(t.sort(lw))}}xn(T8,"id","time"),xn(T8,"defaults",{bounds:"data",adapters:{},time:{parser:!1,unit:!1,round:!1,isoWeekday:!1,minUnit:"millisecond",displayFormats:{}},ticks:{source:"auto",callback:!1,major:{enabled:!1}}});function E6(e,t,n){let r=0,o=e.length-1,i,a,s,l;n?(t>=e[r].pos&&t<=e[o].pos&&({lo:r,hi:o}=K9(e,"pos",t)),{pos:i,time:s}=e[r],{pos:a,time:l}=e[o]):(t>=e[r].time&&t<=e[o].time&&({lo:r,hi:o}=K9(e,"time",t)),{time:i,pos:s}=e[r],{time:a,pos:l}=e[o]);const u=a-i;return u?s+(l-s)*(t-i)/u:s}class hw extends T8{constructor(t){super(t),this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){const t=this._getTimestampsForTable(),n=this._table=this.buildLookupTable(t);this._minPos=E6(n,this.min),this._tableRange=E6(n,this.max)-this._minPos,super.initOffsets(t)}buildLookupTable(t){const{min:n,max:r}=this,o=[],i=[];let a,s,l,u,d;for(a=0,s=t.length;a<s;++a)u=t[a],u>=n&&u<=r&&o.push(u);if(o.length<2)return[{time:n,pos:0},{time:r,pos:1}];for(a=0,s=o.length;a<s;++a)d=o[a+1],l=o[a-1],u=o[a],Math.round((d+l)/2)!==u&&i.push({time:u,pos:a/(s-1)});return i}_generate(){const t=this.min,n=this.max;let r=super.getDataTimestamps();return(!r.includes(t)||!r.length)&&r.splice(0,0,t),(!r.includes(n)||r.length===1)&&r.push(n),r.sort((o,i)=>o-i)}_getTimestampsForTable(){let t=this._cache.all||[];if(t.length)return t;const n=this.getDataTimestamps(),r=this.getLabelTimestamps();return n.length&&r.length?t=this.normalize(n.concat(r)):t=n.length?n:r,t=this._cache.all=t,t}getDecimalForValue(t){return(E6(this._table,t)-this._minPos)/this._tableRange}getValueForPixel(t){const n=this._offsets,r=this.getDecimalForPixel(t)/n.factor-n.end;return E6(this._table,r*this._tableRange+this._minPos,!0)}}xn(hw,"id","timeseries"),xn(hw,"defaults",T8.defaults);const tL="label";function Cw(e,t){typeof e=="function"?e(t):e&&(e.current=t)}function z5e(e,t){const n=e.options;n&&t&&Object.assign(n,t)}function nL(e,t){e.labels=t}function rL(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:tL;const r=[];e.datasets=t.map(o=>{const i=e.datasets.find(a=>a[n]===o[n]);return!i||!o.data||r.includes(i)?{...o}:(r.push(i),Object.assign(i,o),i)})}function U5e(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:tL;const n={labels:[],datasets:[]};return nL(n,e.labels),rL(n,e.datasets,t),n}function Z5e(e,t){const{height:n=150,width:r=300,redraw:o=!1,datasetIdKey:i,type:a,data:s,options:l,plugins:u=[],fallbackContent:d,updateMode:h,...C}=e,m=R.useRef(null),A=R.useRef(null),v=()=>{m.current&&(A.current=new Z5(m.current,{type:a,data:U5e(s,i),options:l&&{...l},plugins:u}),Cw(t,A.current))},p=()=>{Cw(t,null),A.current&&(A.current.destroy(),A.current=null)};return R.useEffect(()=>{!o&&A.current&&l&&z5e(A.current,l)},[o,l]),R.useEffect(()=>{!o&&A.current&&nL(A.current.config.data,s.labels)},[o,s.labels]),R.useEffect(()=>{!o&&A.current&&s.datasets&&rL(A.current.config.data,s.datasets,i)},[o,s.datasets]),R.useEffect(()=>{A.current&&(o?(p(),setTimeout(v)):A.current.update(h))},[o,l,s.labels,s.datasets,h]),R.useEffect(()=>{A.current&&(p(),setTimeout(v))},[a]),R.useEffect(()=>(v(),()=>p()),[]),R.createElement("canvas",{ref:m,role:"img",height:n,width:r,...C},d)}const $5e=R.forwardRef(Z5e);function R7(e,t){return Z5.register(t),R.forwardRef((n,r)=>R.createElement($5e,{...n,ref:r,type:e}))}const K5e=R7("line",jc),Q5e=R7("bar",Vc),W5e=R7("doughnut",o5),G5e=R7("pie",xh);function Y5e({input:e,type:t,lineVariant:n,lineTension:r,opacity:o,lineStroke:i,colors:a}){const s=a,l=t==="doughnut"||t==="pie";return{labels:e.labels,datasets:e.datasets.map((u,d)=>{var h;return l?{label:u.label,data:u.data,backgroundColor:u.colors&&u.colors.length===u.data.length?(h=u.colors)==null?void 0:h.map(C=>af(C,o)):u.data.map((C,m)=>af(s[m%s.length],o)),borderColor:u.colors&&u.colors.length===u.data.length?u.colors:u.data.map((C,m)=>s[m%s.length]),borderWidth:2}:{label:u.label,data:u.data,backgroundColor:af(u.color||s[d%s.length],o),borderColor:u.color||s[d%s.length],borderWidth:t==="line"?i:1,fill:n=="fill",tension:r??.4}})}}function q5e({barVariant:e,type:t}){const r={responsive:!0,plugins:{legend:{position:"bottom",labels:{font:{family:"Inter"},usePointStyle:!0,pointStyle:"circle",textAlign:"center"}},tooltip:{bodyFont:{family:"Inter"},titleFont:{family:"Inter"}}},scales:t==="doughnut"||t==="pie"?{}:{x:{ticks:{font:{family:"DM Mono"}},title:{font:{size:12,family:"Inter"}}},y:{ticks:{font:{family:"DM Mono"}},title:{font:{size:12,family:"Inter"}}}}};return t==="bar"&&e=="stacked"?al.merge({},r,{scales:{x:{stacked:!0},y:{stacked:!0}}}):r}function af(e,t=.1){if(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/.test(e)){let r=e.substring(1);r.length===3&&(r=r.split("").map(s=>s+s).join(""));const o=parseInt(r.substring(0,2),16),i=parseInt(r.substring(2,4),16),a=parseInt(r.substring(4,6),16);return`rgba(${o}, ${i}, ${a}, ${t})`}else if(e.startsWith("rgba")){const[r,o,i]=e.substring(5,e.length-1).split(",").map(a=>a.trim()).slice(0,3);return`rgba(${r}, ${o}, ${i}, ${t})`}else if(e.startsWith("rgb")){const[r,o,i]=e.substring(4,e.length-1).split(",").map(a=>a.trim());return`rgba(${r}, ${o}, ${i}, ${t})`}else throw new Error(`Unsupported color format: ${e}`)}let gw=!1;function X5e(){gw||(Z5.register(Rs,Is,$c,Kg,$g),gw=!0)}let mw=!1;function J5e(){mw||(Z5.register(G4,Kg,$g,Rs,Is),mw=!0)}let pw=!1;function e4e(){pw||(Z5.register(Rs,Is,Zc,Ya,Kg,$g,y5e),pw=!0)}const t4e=({type:e,data:t,options:n,barVariant:r,lineVariant:o,lineTension:i,opacity:a=.1,lineStroke:s,width:l,height:u,backgroundColor:d,className:h="",colors:C=["#4e79a7","#f28e2b","#e15759","#76b7b2"]})=>{e==="line"?e4e():e==="bar"?X5e():(e==="doughnut"||e==="pie")&&J5e();const m=Y5e({input:t,type:e,lineVariant:o,lineTension:i,opacity:a,lineStroke:s,colors:C}),A=al.merge({maintainAspectRatio:!1},q5e({type:e,barVariant:r}),n),p={line:K5e,bar:Q5e,doughnut:W5e,pie:G5e}[e];return Q.jsx(p,{data:m,options:A,style:{width:l,height:u,backgroundColor:d},className:`awi-chart ${h}`})},S6=(e,t)=>{const n=e;return isNaN(n.getTime())?"":t==="date"?n.toLocaleDateString(void 0,{day:"2-digit",month:"short",year:"numeric"}):n.toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!0})},oL=({data:e,className:t,isFocused:n=!1,borderColor:r="#eaebee",focusedBorderColor:o="#ffcc00",focusedBorderThickness:i="2px",width:a="100%",height:s="100%"})=>{const l=n?`${i} solid ${o}`:`1px solid ${r}`;return Q.jsxs("div",{className:"compact_event_card "+(t||"")+" "+(n?"focused":""),style:{width:a,height:s,border:l},children:[Q.jsx("img",{src:e==null?void 0:e.frameUrl,alt:"Alert"}),Q.jsxs("span",{className:"compact_event_card_content",children:[Q.jsx("header",{children:Q.jsx("h6",{children:e.appName})}),Q.jsxs("section",{className:"compact_event_card_details",children:[Q.jsx("h6",{children:e.location}),Q.jsxs("span",{children:[Q.jsx("p",{children:"Date"}),Q.jsx("h6",{title:S6(e==null?void 0:e.timeStamp,"date"),children:S6(e==null?void 0:e.timeStamp,"date")})]}),Q.jsxs("span",{children:[Q.jsx("p",{children:"Time"}),Q.jsx("h6",{title:S6(e==null?void 0:e.timeStamp,"time"),className:"font_secondary",children:S6(e==null?void 0:e.timeStamp,"time")})]})]}),Q.jsxs("footer",{children:[Q.jsx("span",{className:"status_indicator",style:{background:`linear-gradient(90deg, rgba(0,0,0,0), ${e==null?void 0:e.color})`}}),Q.jsx("p",{className:"font_secondary",children:e==null?void 0:e.severity})]})]})]})},n4e={s:"18.75rem",m:"25rem",l:"31.25rem"},E5=({className:e="",value:t=void 0,height:n="m",width:r="24rem",placement:o="flex-start",icon:i,backgroundColor:a,textColor:s,borderColor:l,disabledColor:u,iconPosition:d="after",iconColor:h="#292929",disabled:C=!1,onChange:m=()=>{},...A})=>(r=r||n4e[n],Q.jsxs("div",{className:`input_wrapper h_${n} ${C?"disabled":""} icon_${d}`,style:{width:r,minWidth:r,justifyContent:o,"--c_input_text":s,"--c_input_border":l,"--c_input_background":a,"--c_input_background_disabled":u},children:[i&&Q.jsx(ca,{name:i,color:h}),Q.jsx("input",{disabled:C,className:`input ${e}`,value:t,onChange:m,...A})]}));var sf={exports:{}};/*!
|
|
357
357
|
Copyright (c) 2018 Jed Watson.
|
|
358
358
|
Licensed under the MIT License (MIT), see
|
|
359
359
|
http://jedwatson.github.io/classnames
|
package/dist/index.d.ts
CHANGED
|
@@ -722,12 +722,15 @@ export declare type ChartProps = {
|
|
|
722
722
|
barVariant?: BarChartVariant;
|
|
723
723
|
lineVariant?: LineVariant;
|
|
724
724
|
lineTension?: number;
|
|
725
|
+
opacity?: number;
|
|
726
|
+
lineStroke?: number;
|
|
725
727
|
data: ChartData;
|
|
726
728
|
options?: any;
|
|
727
729
|
width?: string;
|
|
728
730
|
height?: string;
|
|
729
731
|
backgroundColor?: Color;
|
|
730
732
|
className?: string;
|
|
733
|
+
colors?: Color[];
|
|
731
734
|
};
|
|
732
735
|
|
|
733
736
|
declare type ChartType = "line" | "bar" | "doughnut" | "pie";
|